一本小书:《病毒星球》

疫情期间阅读量陡增,除了书架上陈封已久的技术书籍,还有一本“蹭热点”的小书:《病毒星球》。趁着还有记忆,记录一下阅读后的启发和感想。 Virus 这个词的双重含义 Virus 在拉丁文中同时具有蛇的毒液、人的精液两重意思。古罗马人让这个词同时具备了毁灭与创造的含义。 巧合的是,病毒学的研究表明,Virus 是 DNA 不断演化的动力,但同时也具有毁灭某些物种的破坏力,恰好与这个词的原本含义相响应。 关于病毒预防的成本与策略 此次疫情,精于商业计算的英国人在疫情早期提出的“群体免疫”,并不是毫无道理,只是当代价是上万人生命的时候,需要更仔细地掂量掂量,是不是所有代价都能用经济指标、用货币来衡量。 关于病毒/疾病的命名

Java

使用 EntityManager 取消 JPA 一级缓存

JPA 默认开启一级缓存(底层实现是在 EntityManager 层)。 当不同的查询结果映射到同样的 entity 时,一级缓存可能会导致返回数据不符合预期(只查询了一次,后续查询直接返回第一次查询的结果)。 一个例子 一个展示系统的后台,需要分别查询不同指标的月度趋势,查询结果复用同一个 Entity。 @Entity public class MonthlyTrendEntity implements Serializable { private long id; // @Id private Integer year; private Integer month; private

《浪潮之巅》读书笔记

内容基于《浪潮之巅》第二版 AT&T 兴:领先的电话通信技术。进入道琼斯指数。贝尔实验室,充足的研发投入,保持在通信领域的先进地位。 衰 1. 因为反垄断法而拆分(不是衰落的根本原因。此时的拆分没有伤筋动骨)。 2. 管理层、股东追求经济利益而进一步拆分。(内因。拆分后的子公司缺乏研发能力,最终导致衰败。个别高管意识到了这个问题,但是在拆分与否上没有决定权。) 3. 互联网对传统电信行业的冲击(外因。互联网的兴起导致贝尔实验室最强的语音技术失去了价值,文本、图片的处理技术开始兴起)。 亡:朗讯(

关于格调

2018年4月,“内涵段子” App 因为没有格调,被广电强制下架。想起了王小波的一篇旧文。 最近我出版了一本小说《黄金时代》,有人说它格调不高,引起了我对格调问题的兴趣。各种作品、各种人,尤其是各种事件,既然有高有低,就有了尺度问题。众所周知,一般人都希望自己格调高,但总免不了要干些格调低的事。这就使得格调问题带有了一定的复杂性。 当年有人问孟子,既然男女授受不亲,嫂子掉到水里,要不要伸手去拉。这涉及了一个带根本性的问题,假如“礼”是那么重要,人命就不要了吗?孟子的回答是:用手去拉嫂子是非礼,不去救嫂子则“是豺狼也”,所以只好从权,

Reading

最寒冷的冬天

最近秋风四起,恰好朝鲜又新闻不断,一副凛冬将至的架势。于是翻出书架上这本尘封已久的老书——《最寒冷的冬天》,看看美国人眼中的朝鲜战争。 牢不可破的朝中友谊? 朝鲜、中国、苏联因为历史原因,并不是牢固的盟友,反而相互猜忌、提防。 在战前筹备的过程中,中国的外交人员,以及政府里的“亲中派”,都被刻意排斥在外,通知中国外交官的消息,也只是一些连公共广播里都有的内容。最终,朝鲜正式出兵开战后,才通知中国方面。 麦克阿瑟:伟大的恶人 年少成名,却活在自己营造的小世界中,被奉承了五十年。 表演型人格。 和《高卢战纪》中的凯撒大帝一样,麦克阿瑟喜欢用第三人称指代自己,

OpenLayers 3

OpenLayers 3 动态更新 VectorLayer 中的数据

通过一个小例子,展示如何改变 VectorLayer 中的要素,并刷新地图。 源代码:qianyanseu/openlayers3-vectorlayer-source-update 关键代码 在 OpenLayers 3 中,更新矢量图层中的内容,可通过修改该图层的 DataSource 来实现。 下面这段代码实现了每5秒更新一次数据。更新时,首先将现有的要素集清空,再批量将获取到的要素集添加到图层中。对 addFeatures() 的调用会自动触发 changed 事件,导致图层重绘,因次不需要再专门调用地图重绘的方法。 var refreshInteval = 5000; // refresh every