🌓

能力的四个阶段

能力的四个阶段,这是我在读《程序员的38堂成长课》里看到的。有意思的是,这段理论也非该书作者皮特·古德利夫的原创。而是作者引用了心理学家亚伯拉罕·马斯洛在20世纪40年代提出来的。

都是大白话。但是这样简单的模型,却有着惊人的概括能力。它对于我们找准自己的象限非常有用。一旦明确了自己的象限,就能知道自己的潜在瓶颈,进而有利于明确下一步的努力方向。下面就一起来看一下吧。

阅读全文

《社会契约论》读后小记

BookTime-w400

受友人推荐,我读了卢梭的这本书。正如书的名字所表述出来的那样,这是一本社会学的书。我这个程序员读起来,还是有点力不从心。毕竟作者渊博的知识积淀都源于欧洲,书中的例子、典故也都出自于那里。对于一个没有系统的接受过西方文化熏陶的工科生来说,很难从作者的旁征博引中产生共鸣。

阅读全文

PostGIS 初体验

一 安装

PostGIS的安装及本是无障碍的。不管是Red Hat系的YUM还是Ubuntu系的APT都可以轻松安装。以Ubuntu为例的话,只需要轻松执行下面的明令即可:

阅读全文

maupassant主题在Apple M1上不能用的问题

我这个博客是用hexo 搭建的,说实话node的技术栈真是很烦,各种依赖非常重,借用一位朋友的话说”天下苦node久矣”。

不过对我来说,平时开发也不用node了,现在就用用blog嘛,也不是不能忍。

阅读全文

PostgreSQL频繁更新数据的大表查询计划可能会搞错的应对方案

当表的数据比较多(大概百万级以上)的时候,对表的使用是重度依赖analyze采集的数据的。尤其是当表处于被频繁的update、insert操作下,之前analyze的数据如果不及时更新,极有可能让查询计划走歪,然后导致一个查询可能要付出10倍以上的时间——我遇到过好几次,每次都是通过手动vaccum解决。
本来pg是有autovacuum的,这里之所以没有触发,还是因为表比较大,百万行的数据,update个几万行,变更率才百分之几,而调度autovacuum_analyze的默认阈值是百分之十。
这就比较尴尬了,好在pg支持针对单表做详细的定制。这里给出一个参考SQL:

阅读全文

找出Postgres中占用磁盘最多的表

SELECT schemaname,
relname,
pg_size_pretty(pg_table_size(relid))
from pg_stat_user_tables
order by pg_table_size(relid) desc ,schemaname;

阅读全文

利用pg_stat_statements排查PostgreSQL中的慢SQL

  1. 编辑postgresql.conf
    • shared_preload_libraries = 'pg_stat_statements'
    • track_activity_query_size = 16384

阅读全文

几个较新的Vert.x例子

阅读全文

PostgreSQL中执行即时代码段(匿名存储过程)

某些时候需要执行过程化的逻辑,单纯靠组织SQL语句已经完成不了了,这个时候一般需要引入存储过程用以实现。但是如果只是单纯执行一段逻辑,而不是要封装一个函数,用来接收参数复用,完全可以通过DO语句执行一个匿名代码段。这样就可以避免:创建存储过程 -> 调用存储过程 -> 删除存储过程的窘境。
这里给出一个简短的SQL演示:

阅读全文

PortgreSQL中找到那些被大量顺序扫表没走索引的表

select schemaname,
relname,
seq_scan,
seq_tup_read,
seq_tup_read / seq_scan as avg,
idx_scan
from pg_stat_user_tables
where seq_scan > 0
order by seq_tup_read desc
limit 20

阅读全文