使用go module且生成vendor,想要(临时)修改用到的第三方包的代码,go run/go build时改动的代码是无效的..

当确实需要修改第三方的包,这个问题该怎样较好解决的?


在2019-09-24 19:09:10 说:

最近在看『一致性算法』,主要是Raft,事实上其已取代过去十年几乎是分布式领域一致性协议代名词的Paxos。后者以晦涩艰深出名,而Raft在设计之初,就是要解决Paxos难于理解的痛点,故而其以『Understandable』自居。

其核心为『leader election』和『log replication』(safety勉强也算)。前者是有一个时间不等的倒计时,后者则类似两阶段提交(2PC)…

具体细节可见

基于这两种协议实现的最知名产品,即ZooKeeper和etcd名字取得都非常有意思—-像“动物园饲养员”一样有条不紊并行不悖,被三只猫折腾得天翻地覆的我,表示这个期许实在不低;

而“etcd”表示分布式的 etc 目录,我用它来在分布式系统中做配置中心,而至于etc目录—-/etc:系统主要的配置文件几乎都放置到这个目录内,例如人员的账号密码文件、各种服务的起始文件等。一般来说,这个目录下的各文件属性是可以让一般用户用户查阅的,但是只有root有权利修改。FHS(绝大多数linux采用的文件组织形式)建议不要放置可执行文件(binary)在这个目录中。比较重要的文件有:

  • /etc/inittab,
  • /etc/init.d/,/
  • etc/modprobe.conf,
  • /etc/x11,
  • /etc/fstab,
  • /etc/sysconfig/等。

http://thesecretlivesofdata.com/raft/

个人笔记



在2019-08-07 23:09:10说:

<小议使用英文词汇的准确性>

下午分享讲到NFV和SDN,瞥了眼其英文全称,中规中矩不过如此。在讲到主干网络和分支网络拓扑时,又扫了眼ppt,一时在极速思考:此处的“主干”,用哪个单词更为贴切形象?main吗?作为go或java等开发者恐怕已经不想用这个烂大街的词汇。当图像翻到下页,看到结果是“spine”,脊椎,脊柱之意,大呼生动准确。

在我最近几年的职业生涯中,还曾有两次这样的“被
惊艳瞬间”:

1.有道云笔记之前某个版本,可以观看广告视频,完毕后弹出三个礼盒,你可选其中一个,获取1-10M空间。某天我突发奇想,这三个盒子里的空间数量,会不会早已经算好放在里面,只待你“拆开”?虽然换位思考,我不会这样设计,而会采用更合理的点击时服务端依据随机算法即时生成。抱着试试看看心态,抓包查验。果不其然,无法通过此伎俩,提前获悉哪个盒子里的空间数最大。但意外之喜,是好奇弹出礼盒的这个接口,如无记错叫做“Cerberus”,是希腊神话里的一只三头怪物。换成我,大概率会用“threebox”。

2.之前遇到一个“分润”bug,此前我一直不清楚何为“分润”。搜索到对应词是distribution,但该词更多用作“分配,分布,分销”。原代码中用到的词是refund,即退款,返还款,貌似已较贴切。直到某天无意看到支付宝的接口文档,叫做distribute_royalty。

这感觉,似是“初极狭才通人,复行数十步豁然开朗”。更像出恭中的阎公,听闻“落霞与孤鹜”句拍腿叫绝。

于2019-09-21 21:05:12修正:

之前全网寻找上图不得,现在又出现该功能,果断抓包查看接口名称。

实际上不是叫『Cerberus』,而为『Gorgon』。是三个姐妹,通常情况头生毒蛇,睹其真颜者将会石化。

除去历史上赫赫有名的符(彦卿)家三姐妹,独孤(信)家三姐妹,近现代的宋(嘉树)家三姐妹,以及文学史上的夏洛蒂三姐妹,又get到神话里的福耳库斯三姐妹,且有一个专属词汇“Gorgon”