🌓

基于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

阅读全文

tomcat中URL中文乱码问题

找到

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" />

阅读全文

被忽略的IntelliJ IDEA常用快捷键

  • 跳转到方法声明处 (Go to declaration) ⌘B
  • 快速查看声明(Open quick definition lookup)⇧⌘I
  • 快速查看文档(Quick documentation lookup)^J
  • 块级注释(Comment/uncomment with block comment)^⇧/

阅读全文

制作macOS启动U盘命令

sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/Sierra --applicationpath /Applications/Install\ macOS\ High\ Sierra.app --nointeraction

阅读全文