Code Life

boris1993的个人博客

有的小伙伴,在公司需要使用公司的 Git 来干活,同时自己也有些托管在 GitHub 等其他仓库的代码,在这种情况下会有一个烦恼,就是怎么样在多个仓库之间使用不同的配置。比如在公司仓库和个人仓库之间使用不同的身份信息,或者在公司仓库和个人仓库之间,使用不同的 GPG 签名。

2.13 版本之前,大概你就只能单独为每一个仓库单独设定这些信息了,但是,在 2.13 这个版本中,Git 引入了一个名为 “按条件引入”(Conditional includes) 的功能。这个功能允许用户通过指定一定的条件,来使 Git 从不同的配置文件中取得配置项。

阅读全文 »

在使用 MyBatis 查询数据库时,偶尔会出现短时间高频查询的情况。或者,会被短时间高频率查询的数据需要通过另一个微服务的接口来获取。显而易见,高频率的查询数据库,或者高频率的调用微服务的接口,是会对性能产生一定影响的。

在这种情况下,或许可以考虑将相关的数据一次性全部查询出来,然后根据某一列作为 key,将其存放在一个 Map 中,把这个 Map 当成一个临时的缓存。

阅读全文 »

最近项目开发时遇到了一个错误,内容是
Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '='
经查是关联查询时两个表的排序规则 (collation) 不同导致的。

阅读全文 »

使用如下 SQL 语句即可更新一张表的字符集 (character set) 和排序规则 (collation):

1
2
-- 此处假设使用utf8字符集,以及使用utf8_unicode_ci排序规则
ALTER TABLE `table_name` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;

然后可以使用如下 SQL 查询表和列的字符集和排序规则是否修改成功:

1
2
3
4
5
6
7
8
9
-- 查询表的信息
SELECT `TABLE_SCHEMA`, `TABLE_NAME`, `TABLE_COLLATION`
FROM `information_schema`.`TABLES`
WHERE `TABLE_NAME` = 'table_name';

-- 查询表中每个列的信息
SELECT `TABLE_SCHEMA`, `TABLE_NAME`, `COLUMN_NAME`, `COLLATION_NAME`
FROM `information_schema`.`COLUMNS`
WHERE `TABLE_NAME` = 'table_name';

刚才久违的暴哭了一场。

嘛,其实也没暴走多久,满打满算,也就暴走了一个刘强东那么久。

无奈,最近一段时间里,发生了太多闹心的事。

有多闹心呢?你想想,能让一个网瘾少年连游戏都不想玩了,你就想这是有多闹心吧。

已经不记得上次哭是什么时候了,甚至,已经忘了该怎么哭了。

我说我连该怎么引导自己哭出来,都是查的知乎,你信吗。

当然也不是没来由的就哭了,主要还是最近心力交瘁,最后因为一件屁事情绪爆发了。

您要是想看个来龙去脉呢,那就继续往下,看我这个祥林嫂的絮叨吧。

阅读全文 »

这篇文章主要介绍如何使用 Docker 在本机搭建一个带有主从复制功能的 Redis 环境,内容包括涉及的目录结构、docker-compose.yml 的编写,以及结果的验证。

阅读全文 »

栈帧是支持 JVM 进行方法调用和执行的数据结构,它是 JVM 运行时的数据区域的栈元素,其中包含了方法的局部变量表、操作数栈、动态链接方法,和返回地址等信息。

阅读全文 »

JVM 在运行时,会按照程序执行的需要来创建一系列的运行时数据区域。有的区域只会随 JVM 起停而被创建和销毁,有的区域则会独立分配给各个线程,并随线程的起停而创建和销毁。这些运行时区域,按照功能和性质不同,会分成如下几部分:

阅读全文 »
0%