sh脚本执行完毕按任意键退出
人事关系在社会上是一种资本,若要它经久,就不得不节用。——列夫·托尔斯泰 只需要在sh脚本后面添加这一行: 1read -n 1 例如: 1234567891011121314151617nvm use 14cd ./node_modules/hexo-generator-json-content# 卸载新版本cnpm uni hexo-util# 安装 2.7版本cnpm i hexo-util@2.7cd ../../hexo cleangit add .git commit -m ":trollface:"git branch --set-upstream-to=origin/master mastergit pull --allow-unrelated-historiesgit pushhexo ghexo dread -n 1 效果:
neutrino-proxy
千万别先给人一番赞美,再立刻给他一顿批评——马克·吐温 分享一个内网穿透项目neutrino-proxy 中微子代理(neutrino-proxy)是一个基于netty的、开源的java内网穿透项目。遵循MIT许可,因此您可以对它进行复制、修改、传播并用于任何个人或商业行为。 演示:
hsqldb
平平静静地吃粗茶淡饭,胜于提心吊胆地吃大鱼大肉——伊索 分享一个数据库hsqldb 全名HyperSQL,官网:http://hsqldb.org/ HSQLDB - 100% Java Database,其最大特点是百分百Java的数据库 这里是它的文档:http://hsqldb.org/web/hsqlDocsFrame.html 当然我们spring-boot已有其依赖: 引入即可使用 12345<dependency> <groupId>org.hsqldb</groupId> <artifactId>hsqldb</artifactId> <scope>runtime</scope></dependency> 无序配置,直接在resources下新建schema.sql 123456789101112131415161718192021222324252627282930drop table if exists user_info;create t...
jackson序列化时区问题
念人之过必忘人之功——佚名 今天发现返回给前端的Date和数据库中查到的时间对不上 排查发现是Jackson指定时区问题,原先用的GMT+8,但数据库是Asia/Shanghai 123ObjectMapper shanghaiObjectMapper = new ObjectMapper() .setTimeZone(TimeZone.getTimeZone("Asia/Shanghai")) .setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); 引用:https://alphahinex.github.io/2021/10/31/difference-between-gmt-plus-8-and-asia-shanghai/ 里面提到的 GMT+8 和 Asia/Shanghai 的区别 GMT+8 因为没有位置信息,所以无法使用夏令时 Asia/Shanghai 使用夏令时 时间戳字符串中不包含时区...
spring-batch批量处理
没有一个人能真正理解另一个人的烦恼或喜悦——舒伯特 按照文档:https://spring.io/guides/gs/batch-processing/ 新建一个项目 勾选Spring Batch以及HyperSQL Database 点击create 在resources下面新建我们的数据文件 sample-data.csv 12345Jill,DoeJoe,DoeJustin,DoeJane,DoeJohn,Doe schema-all.sql 1234567DROP TABLE people IF EXISTS;CREATE TABLE people ( person_id BIGINT IDENTITY NOT NULL PRIMARY KEY, first_name VARCHAR(20), last_name VARCHAR(20)); 然后新建一个Person业务类 12345678910111213141516171819202122232425262728293031323334353637package com.example....
electron-egg
醉过才知酒浓,爱过才知情重。你不能做我的诗,正如我不能做你的梦。——胡适 分享一个入门简单、跨平台、企业级桌面软件开发框架。 https://gitee.com/dromara/electron-egg 📦 特性 🍄 跨平台:一套代码,可以打包成windows版、Mac版、Linux版、国产UOS、Deepin、麒麟等 🌹 简单高效:只需学习 js 语言 🌱 前端独立:理论上支持任何前端技术,如:vue、react、html等等 🌴 工程化:可以用前端、服务端的开发思维,来编写桌面软件 🍁 高性能:事件驱动、非阻塞式IO 🌷 功能丰富:配置、通信、插件、数据库、升级、打包、工具… 应有尽有 🌰 安全:支持字节码加密、压缩混淆加密 💐 功能demo:桌面软件常见功能,框架集成或提供demo 🌻 更多功能请看文档 官方文档:https://www.yuque.com/u34495/mivcfg
spring cache使用redis
乐观意味着不对无可奈何的事情怨天尤人。怨天尤人是那些失去自我信赖的人的接口——雷音 首先引入redis、json依赖 12345678<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-json</artifactId></dependency> 然后进行配置 123456789101112131415161718192021222324252627282930313233package com.ruben.simplecache;impo...
Cacheable CacheEvict CachePut
看书和学习是思想的经常营养,是思想的无穷发展——冈察洛夫 昨天写了spring caching简单入门 今天把省下俩注解也说了 一共是 @Cacheable加缓存(缓存获取不到就调用方法获取结果再放入缓存) @CachePut更新缓存,我下方的用法有误,应该和其余俩注解应用的方法参数保持一致,见后续博客 @CacheEvict删缓存 我们在Repository实现类加上这几个缓存注解 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950package com.ruben.simplecache;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.cache.annotation.CacheEvict;import org.springframework.cache.annotation.CachePut;import org.spring...
spring caching
凡事必须要有统一和决断,因此,胜利不站在智慧的一方,而站在自信的一方。——拿破仑 官方文档:https://spring.io/guides/gs/caching/ 引入依赖: 1234<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId></dependency> 准备一个Book类 12345678910111213141516171819202122232425262728293031323334package com.example.caching;public class Book { private String isbn; private String title; public Book(String isbn, String title) { this.isbn = isbn; ...
mybatis SQL类
对于不屈不挠的人来说,没有。——俾斯麦 分享一个mybatis在代码里编写sql的方法 官方文档:https://mybatis.org/mybatis-3/zh/statement-builders.html SQL 语句构建器问题Java 程序员面对的最痛苦的事情之一就是在 Java 代码中嵌入 SQL 语句。这通常是因为需要动态生成 SQL 语句,不然我们可以将它们放到外部文件或者存储过程中。如你所见,MyBatis 在 XML 映射中具备强大的 SQL 动态生成能力。但有时,我们还是需要在 Java 代码里构建 SQL 语句。此时,MyBatis 有另外一个特性可以帮到你,让你从处理典型问题中解放出来,比如加号、引号、换行、格式化问题、嵌入条件的逗号管理及 AND 连接。确实,在 Java 代码中动态生成 SQL 代码真的就是一场噩梦。例如: 1234567891011String sql = "SELECT P.ID, P.USERNAME, P.PASSWORD, P.FULL_NAME, ""P.LAST_NAME,P.CREAT...
