🌓

Linux软硬链接使用心得

ln命令,涉及到的软硬链接的核心概念已经被阐述的很多了。但是用的时候,到底用软链接,还是用硬链接,有时候还是会让人摸不着头绪。所以我尝试总结几点:

  1. 软硬链接都能起到原始文件只占用一份磁盘资源的目的
  2. 硬链接不能针对文件夹,软链接无此限制

阅读全文

PostgreSQL删除数据库时提示other session using the database

PostgreSQL中,如果想drop一个正在被人连接的数据库,是不可以的。提示如下:

postgres=# drop database ka;
ERROR: database "ka" is being accessed by other users
DETAIL: There is 1 other session using the database

阅读全文

Cordova插件中定制build.gradle的方法

编写cordova插件的时候,有时候要有进一步设置build.gradle文件的需求,比如追加个依赖什么的。这中问题,可以通过设置cordovaplugin.xml来解决的。分为如下几个步骤:

阅读全文

基于Geb的京东抢券

前面介绍过Geb是个好东西,可以用它实现web前端的自动化测试,自然用来解放双手,抢个券什么的不在话下。
这次我们主要瞄准京东。最佳的实验场所是京东的移动web版,即https://m.jd.com/,大概分为以下几个步骤:

阅读全文

JVM下最好用的前端自动化测试工具Geb

接触了Angular才知道前端有个端到端测试的说法,然后了解到有WebDriver这种神奇的存在,瞬间打开了新世纪的大门。后来几经寻觅,终于发现一个运行在JVM中的前端测试工具,那就是Geb
来段代码:

阅读全文

PostgreSQL中的几中常见索引及应用场景

B-tree

B-tree是关系型数据库中,最常见的索引,也是PostgreSQL中经常采用的默认索引。主要应对场景:

阅读全文

PostgreSQL中varchar类型like前置%查询命中索引的方法

上一篇中,我们学习了PostgreSQL中想要让varchar类型支持like查询能够命中索引,需要注意的地方。但是即便是创建索引时,指定了操作符类varchar_pattern_ops,在使用like查询的时候,还是只能保证sometext%这种查询能够命中索引,但是%sometext这种是无能为力的,见下图。


所以如果需要支持%sometext方式的索引查询,还需要再做点工作:

阅读全文

PostgreSQL中varchar类型支持like查询索引

之前在使用PostgreSQL中的varchar类型时想当然的以为用最基本的索引创建语句创建的索引,就支持like查询的。
类似这句:

CREATE INDEX log_action_v_uri_index ON log_action (v_uri);

阅读全文

IntelliJ IDEA中的SQL Explain

善于利用SQLexplainSQL调整优化的必经之路。但是遇到复杂的SQL,查看explain结果也是有点困难的。比如这样的:

好在很多数据库的客户端都提供了图形化的表现形式,比如PostgreSQLpgAdmin4就能看到如下效果:

不过如果有个工具,能够hold住所有主流的关系型数据库的话,就更嗨皮了。答案就是IntelliJ IDEA。如果你还没有尝试过其自带的Database功能的话,推荐现在就试一下。在屏幕右侧应该能找到。

只需要按照向导添加相应的数据库连接就好了。不过这个功能免费的社区版是没有的。
创建完数据库链接后,通过此按钮打开SQL Console窗口

然后在里面就可以愉快的编写SQL了。
先来一段:

现在我们可以尝试通过IntelliJ IDEA执行一次explain了。

阅读全文

启动Docker容器后要注意的时区问题

对于中国用户来说,一般的docker容器启动后,如果执行docker exec -it xxxx date会发现打印出来的时间,比当前北京时间早八个小时。所以需要调整容器的时区,主要有两个命令(要在容器内部执行):

  • cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

阅读全文