[返回] [最新] [最热门] [最高评价]

Raft 为什么不能直接 commit 前任的日志?

有一些文章, 包括 Raft 协议的论文, 已经从反例的角度解释了为什么不允许 Leader 直接 commit 前任的日志, 而是必须追加本任期的一条日志, 以达到隐式地 commit 前任的日志. 我想从 Raft 的几项原则的角度, 在逻辑上解释这个问题.

Raft 策略1: 节点的日志一旦 commit 便不可撤销

某个节点的一条日志, 一旦 commit 它, 那么就会对状态机造成不
...

ideawu 2021-05-21 23:07 | 查看: 186

浅谈NATS消息系统

我用过很多消息系统,比如:简单的 Redis Streams;高效的 Kafaka 等等,不过自从我把编程语言切换到 Golang 以后,总觉得必须找个用 Golang 开发的消息系统才配得上门当户对,原本我已经和小家碧玉的 NSQ 厮守终生,不过当我认识了上流社会 CNCF 钦定的大家闺秀 NATS 后,刹那间就仿佛徐志摩遇到了林徽因,扭头就给结发妻子写了休书。

INSTALLATION


...

老王 2021-05-21 19:07 | 查看: 176

科技爱好者周刊(第 159 期):游戏开发者的年薪

这里记录每周值得分享的科技内容,周五发布。

本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐科技内容。

周刊讨论区的帖子《谁在招人?》,提供大量程序员就业信息,欢迎访问或发布工作/实习岗位。

封面图

重庆市很多山地,地形复杂,产生了特有的奇观:被高架道路团团围住的楼盘。(via)

本周话题:游戏开发者的年薪

最近,推特上面有很多欧美的游戏开发者
...

阮一峰 2021-05-21 08:17 | 查看: 160

ANSI escape code 及 Lua 封装

这两天想给一个想法做个简单的原型,因为涉及人机交互,需要在屏幕上绘制一些简单的交互元素。当然,现在有很多工具可供利用。过去遇到这种事情,我会尝试用已有的各种开源游戏引擎(我尤其推荐 PICO-8),或是直接在浏览器中用 css/javascript 写等等。

最近几年我玩了大量 RogueLike ,想尝试一下在 console 下用 ascii 字符来拼凑画面。这很有趣,能让我回忆起小时候 A
...

云风 2021-05-20 17:05 | 查看: 146

曼联,索尔斯克亚,2020-2021 赛季

好久没有写一点关于曼联的文字了,上次已经是 2019 年年初了,作为一名铁杆曼联球迷,这期间倒是一场比赛都没有落下过。我看比赛已经过了十多年前那样尽量看直播的阶段了,如今虽说一场不落,每一场却只看录播。老实说,对我来说这很舒服,我可以跳过那些没有营养的赛前、中场休息等等环节。

这过去的一年里面,大家的目光和注意力都被疫情打击得面目全非的英超比赛形式给吸引了,譬如反复的延期,疯狂的赛程,以及缺失的
...

四火 2021-05-19 21:42 | 查看: 142

中国经济的数字逻辑

重庆市前市长黄奇帆退休以后,受聘担任复旦大学特聘教授,定期给师生做讲座,介绍他对中国经济的看法。

他的12次讲座,去年汇集成书出版了,书名叫做《分析与思考:黄奇帆的复旦经济课》。

我最近读了以后,发现他在讲座中经常引用各种数字,而且会解释了背后的经济逻辑。怎么理解各种经济指标,怎么用它们指导经济政策,讲得深入浅出,我觉得很有价值。

下面就是我从书中摘录的一些片段,相信可以帮大家更好地看懂中国
...

阮一峰 2021-05-19 20:54 | 查看: 170

Coobox 之 App 前后台状态变化通知

前言:Coobox 是我们团队开源的 Android 开发工具库,https://github.com/secoo-android/coobox 欢迎大家 Star 和 Fork,以及集成使用。

在 Android 应用日常开发中,我们有时候需要判断应用处于前台还是后台,来进行一些状态更新或者资源处理等操作。而 Android 并未直接提供对应的检测方法,需要我们来实现。而实用的 CooBox
...

技术小黑屋 2021-05-18 12:12 | 查看: 63

MacOS下配置neovim的nvim-lspconfig + clangd

配置nvim-lspconfig和clangd的注意事项 clangd可以通过homebrew安装 brew install llvm clangd一定要在PATH环境变量下,否则neovim找不到它,LSP也就不能生效。在Apple M1安装llvm后,它的路径在/opt/homebrew/opt/llvm/bin,需要手动把这个路径加到PATH路径。因为系统自带了一个clang,homebre
...

Volcano 2021-05-18 11:33 | 查看: 63

PasteNow 1.5:完善多屏幕支持+撤消删除功能+清空剪贴板支持

继 4 月 23 日发布了 PasteNow 1.3 版本后(见《PasteNow 1.3:完善快捷键体验+未来计划》),过去三周, PasteNow 又迭代了三个版本,目前最新版本是 1.5.1。过去几个版本,PasteNow 按之前的所计划的那样,完善了多屏幕方面的支持,同时也带来了其他未在计划中的不少新特性。就让我在本篇中详细介绍一下吧!

多屏幕下的体验完善

PasteNow 刚刚发布
...

图拉鼎 2021-05-17 21:45 | 查看: 64

完成了第二针新冠病毒疫苗

免责声明 本人无医学相关专业背景,撰写本文主要是记录自己目前了解到的一些信息,
对于这些信息的准确性不承担任何责任,对于医疗、相关法规的任何问题,请咨询专业人士。

上次 打疫苗的同时就预约了本周四(5月12日)
在同一地点的疫苗,时间比上次略早一些,我吃完饭就开车过去了。

携带的资料包括上次获得的 CDC 疫苗记录卡,以及上次填写的初筛状况表格(并不需要),
大致流程与上次类似。略有不同的是本
...

Xin LI 2021-05-16 13:11 | 查看: 72

实现无限缓存的channel

Go语言的channel有两种类型,一种是无缓存的channel,一种是有缓存的buffer,这两种类型的channel大家都比较熟悉了,但是对于有缓存的channel,它的缓存长度在创建channel的时候就已经确定了,中间不能扩缩容,这导致在一些场景下使用有问题,或者说不太适合特定的场景。

我为什么突然谈起这个无限缓存的channel呢?主要是我最近在review公司一位同事的代码时,我的某
...

鸟窝 2021-05-15 21:42 | 查看: 81

《蝇王》&《太空异旅》 书影搭配服用尤佳

​友情提示:本文就这一书一电影有着严重甚至过分的剧透。不仅描写了故事梗概,还揭示了大结局。



《蝇王》是一本架空名著,作者戈尔丁因此书而获得诺贝尔奖。

它虚构了一次空难后,一帮孩童荒岛求生的故事。故事的内核,其实是在拷问我们人类是如何组织起来的,政治宗教经济以及由此而引发的纷争,是从何而来的。

这帮英国孩童抵达荒岛后,第一时间,很自然地,选出了一个领导人。这种自然并不是因为什么打小对民主
...

魏武挥 2021-05-14 20:34 | 查看: 58

...更多...