初识KtormKtorm是什么?一个基于纯JDBC的轻量级ORM框架
kotlin
强类型
SqlDSL
序列化API 使用 filter、map、sortedBy 等序列函数进行查询,就像使用 Kotlin 中的原生集合一样方便
无配置文件无xml,没有注解,没有其他第三方依赖
易扩展的设计,可以灵活编写扩展,支持更多运算符、数据类型、 SQL 函数、数据库方言等
Installbuild.gradle.kts:
12345implementation("org.ktorm:ktorm-core:3.4.1")//可选implementation("o...
NUXTJS的多环境配置借助cross-env配置环境参数package.json:
1234567891011121314{ "scripts": { "dev": "nuxt", "build": "cross-env PORT=3000 ROUTE_BASE=/ BASE_BROWSER_URL=/ BASE_SERVER_URL=http://172.17.0.1:9998/ NODE_ENV=production nuxt build&...
NuxtJS非根目录下部署nuxt start命令12345678910111213141516171819202122232425Usage: nuxt start <dir> [options] Start the application in production mode (the application should be compiled with nuxt build first) Options: --spa, -s Launch in SPA mode --universal, -u Launch in Univer...
使用vue-sfc-rollup创建自己的NPM库vue-sfc-rollup是一个CLI 工具,用于生成单文件组件(SFC)或者多个单文件组件组成的库并发布到npm所需的最少配置,据说是最快生成NPM-vue库的方式。
安装全局安装vue-sfc-rollup库npm i -g vue-sfc-rollup全局使用:sfc-init
或者使用npx
npx vue-sfc-rollup
cli将会提示你选择vue2、vue3,库类型:Library或者SFC,仓库名称,项目存放目录等信息
生成文件
包含:
rollup配置文件rollup.config.js
package.json...
Certbot生成Https证书
在您的服务器上运行此命令生成Diffie-Hellman keys:
1openssl dhparam -out /etc/nginx/dhparam.pem 2048
创建一个通用的ACME-challenge目录(用于 Let’s Encrypt):
1mkdir -p /var/www/_letsencrypt
1chown www-data /var/www/_letsencrypt
注释掉配置中的SSL相关指令:
1sed -i -r 's/(listen .*443)/\1; #/g; s/(ssl_(certi...
删除原有sudo apt-get autoremove --purge mysql-server-5.0
sudo apt-get remove mysql-server
sudo apt-get autoremove mysql-server
sudo apt-get remove mysql-common
清理残留数据
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
安装sudo apt-get install mysql-server
sudo apt-get install mysq...
返回键拦截Activity中默认的返回键拦截方式是override Activity.onBackPressed(),当我们使用Navigation库或者其他一些全部使用Fragment作为主要View组件的情况下,我需要Fragment自己拦截返回键,典型的使用案例就是使用Jetpack-Navigation库的一个WebView页面,WebView包含在一个Fragment之内,我们需要在用户按下返回键时判断:webview是否可以goBack,可以的话就goBack,否则调用默认的back时间处理方法.
来自androidx库的解决方案ComponentActivity(相信现在大...
缘起之前项目一直在用的国际化库flutter_i18n作者跑路不维护了,idea插件也只支持到192.x,只好自己再找个类似的库,然后就发现了Flutter Intl插件
使用默认情况下,Flutter仅提供美国英语本地化。要添加对其他语言的支持,应用程序必须指定其他MaterialApp属性,并包含一个名为的单独包-“flutter_localizations”。
在pubspec.yaml中添加flutter_localizations依赖并执行packages get
123# 国际化flutter_localizations: sdk: flutter
然后在Androi...
Vue项目动态路由实践(实现动态权限)问题来源管理端项目经常有需要根据账号角色、权限动态地修改菜单显示的需求,首先是登录时从服务端获取账号对应的角色、权限、菜单等信息,还有一个是在切换账号、切换角色的时候动态改变菜单权限
其他参考Vue项目大多集成了vue-router,用于管理路由信息,用一个VueRouter对象来描述项目的所有路由关系,通过标签来形成多层次的路由关系(单页面应用),但是VueRouter描述的routes是固定的,改变路由的API只有addRoutes,只能新增不能移除,会导致菜单权限多的账号切换到菜单权限少的账号时还是可以通过地址访问无权限的地址,只能通过前端页面...
问题来源在计算一些商品规格的时候经常遇到这样的问题:比如一个商品有7个规格键值对 比如 【尺寸:S】 【尺寸 M】【尺寸 L】 【颜色 :白】【颜色 黑】【套餐:A】【套餐 B】,我们需要计算出所有可能的规格组合,其中规格名称相同的分为一组,可以得到三个数组,用于表示各个规格代表的值:
12345let array = [ ['S', 'M', 'L'], ['白', '黑'], ['A', 'B'],]
分治思想:
分治,字面上的...