最新 | 最热门 | 最高评价

+0  多吹牛,少写代码

Tag: Thoughts on Coding | TDD | 思考 | 程序员 | 编码
四火 发于 2021年06月28日 03:36 | 点击: 304 | 展开摘要
来,说点大逆不道的。

代码是程序员的基础能力,毫无疑问。Linus 说,“Talk is cheap, show me the code.”。软件工程师,归根到底是要做工程的,代码写不好,就谈不上把工程做出来。

可是我觉得,越来越多勤奋的程序员,是写代码写得太多了,而不是太少了。

胡扯!读书百遍,其义自见。书山有路勤为径!代码也是如此,没有足够的积累,怎么能写得好代码?

可是,写代码真的需要那么勤奋地练习,那么大量的积累吗?

我想说一个现象,那就是很多公司每年都会举

查看全文: http://www.udpwork.com/item/17918.html

+0  Multi-Master-Paxos: 3

Tag: algo | distributed | replication | paxos | multi-master | multi-leader | active-active | 分布式 | 多活 | 多主
张炎泼(xp) 发于 2021年06月14日 08:00 | 点击: 204 | 展开摘要
Background

200行代码实现paxos-kv
中介绍了一款非常简洁的分布式kv存储实现, 它是基于 classic-paxos
实现分布式一致性. 在 paxos的直观解释 中我们提到, 每次写入, 也就是每个 paxos 实例需要2轮 RPC 完成, 效率低.

一个常见的优化就是 mutli-paxos(或raft), 用一次 RPC 对多个实例运行 phase-1;
再对每个实例分别运行 phase-2, 这样均摊开销是一次 RPC 完成一次写入.
它通过

查看全文: http://www.udpwork.com/item/17943.html

+0  TiDB 在 Raft 成员变更上踩的坑

Tag: distributed | raft | paxos | consensus | membership | tidb
张炎泼(xp) 发于 2021年01月05日 08:00 | 点击: 261 | 展开摘要
问题

上次跟好基 黄东旭 在咖啡厅撩天的时候谈笑风生地探讨了一个 TiDB 使用 Raft 时遇到的问题:

TiKV 层的 Raft 实现, 使用的是 Raft 单步变更 算法(每次添加或删除一个节点),
例如副本由 abc 变成 bcd 过程中,
先加入 d, 变成 abcd , 再去掉 a 变成最终配置 bcd.

这中间经历的4节点的状态 abcd, 有可能在出现二分的网络割裂(ad | bc)时导致整个集群无法选出leader.
这种网络割裂在跨机房部署时容易出现

查看全文: http://www.udpwork.com/item/17475.html

+0  200行代码实现基于paxos的kv存储

Tag: algo | distributed | replication | paxos | kv | 分布式 | 存储
张炎泼(xp) 发于 2020年10月28日 08:00 | 点击: 279 | 展开摘要
前言

写完 paxos的直观解释 之后,
网友都说疗效甚好, 但是也会对这篇教程中一些环节提出疑问(有疑问说明真的看懂了

查看全文: http://www.udpwork.com/item/17478.html

+0  后分布式时代: 多数派读写的’少数派’实现

Tag: algo | distributed | quorum | majority | replication | paxos | raft | 分布式 | 多数派
张炎泼(xp) 发于 2020年10月18日 08:00 | 点击: 243 | 展开摘要
前言

paxos可以看做是2次 多数派读写 完成一次强一致读写. 多数派要求半数以上的参与者(paxos中的Acceptor)接受某笔操作. 但 多数派读写 并不一定需要多于半数的参与者, 分布式系统中某些场合的优化, 可以通过减少参与者数量来完成的.

多数派读写:分布式系统的基础

分布式系统中, 其中一个基础的问题是如何在不可靠硬件(低可用性)基础上构建可靠(高可用性)的服务,
要达成这个目标, 核心的手段就是复制(例如一份数据存3个副本).
而复制过程中的一致性

查看全文: http://www.udpwork.com/item/17479.html

+0  可靠分布式系统-paxos的直观解释

Tag: algo | distributed | consensus | fault-tolerant | quorum | replication | paxos | 分布式 | 一致性 | 容错 | 多数派
张炎泼(xp) 发于 2020年06月01日 08:00 | 点击: 199 | 展开摘要
前言

paxos是什么?

在分布式系统中保证多副本数据强一致的算法.

paxos有啥用?

没有paxos的一堆机器, 叫做分布式;

有paxos协同的一堆机器, 叫分布式系统.

Google Chubby的作者Mike Burrows说过:

这个世界上只有一种一致性算法,那就是Paxos …

其他一致性算法, 都可以看做paxos在实现中的变体和扩展.

另外一个经常被提及的分布式算法是raft, raft的贡献在于把一致性算法落地.
因为 Leslie

查看全文: http://www.udpwork.com/item/17480.html

+0  你好黑暗,我的老朋友 —— 为网站添加用户友好的深色模式支持

Tag: 技术向 | JavaScript | CSS | Media Query | 深色模式
skk 发于 2020年05月26日 14:05 | 点击: 181 | 展开摘要
随着越来越多的操作系统、浏览器开始支持 Dark Mode、支持相应的 Media Queries Level 5,越来越多的网站开始添加深色模式。当然我的博客也不甘落下,趁着新的主题完工不到一个月、还看得懂自己写的代码,也加上了深色模式。
什么是「深色模式」
很多操作系统在日落后会自动切换到「深色模式」、并不意味着「深色模式」就是「夜间模式」。「夜间模式」用于夜晚的弱光环境,主要目的是保护眼睛、减少强光刺激、避免影响睡眠,不难理解为什么 macOS 的 Night Shif

查看全文: http://www.udpwork.com/item/17961.html

+0  软件定义Radio

Tag: 工具介绍 | 杂七杂八 | radio
Yu Feng 发于 2020年03月09日 00:41 | 点击: 198 | 展开摘要
原创文章,转载请注明: 转载自系统技术非业余研究
本文链接地址: 软件定义Radio

SDRplay RSPdx 1KHz-2GHz
Post Footer automatically generated by wp-posturl plugin for wordpress.

The post 软件定义Radio first appeared on 系统技术非业余研究.

查看全文: http://www.udpwork.com/item/17611.html

+0  Erasure-Code-擦除码-3-极限篇

Tag: storage | ec | erasure-code | distributed | replication | 擦除码 | 纠删码 | 伽罗瓦 | | 伽罗瓦域 | GF256
张炎泼(xp) 发于 2020年02月07日 08:00 | 点击: 198 | 展开摘要
书接上回

上一篇 第二篇:实现 中, 我们介绍完了基于GF(2⁸)伽罗瓦域的标准实现以及做了正确性分析,
我们也提到:

在EC的计算中, 编解码是一个比较耗时的过程,
因此业界也在不断寻找优化的方法, 不论从理论算法上还是从计算机指令的优化上,
于是下一篇我们将介绍如何把EC实现为一个高效的实现.

本文我们来介绍, 在实际生产环境使用时还需做哪些优化,
来将EC打造成一个高效的实现.

第一篇:原理 再上一篇

查看全文: http://www.udpwork.com/item/17482.html

+0  Erasure-Code-擦除码-2-实现篇

Tag: storage | ec | erasure-code | distributed | replication | 擦除码 | 纠删码 | 伽罗瓦 | | 伽罗瓦域 | GF256
张炎泼(xp) 发于 2020年02月04日 08:00 | 点击: 210 | 展开摘要
书接上回

上一篇 第一篇:原理 中, 我们介绍了EC的基本原理,
实际上EC的存储跟恢复过程可以理解为:
一条k-1次曲线可以通过k个系数或曲线上的点来确定.

我们也提到:

但这套理论还不能直接应用到线上产品中.
因为计算机中还要考虑数字大小限制, 例如k个32位整数作为数据,
通过Vandermonde矩阵生成校验块, 那校验块的数值几乎确定会溢出.

本文我们来解决这个问题, 看如何将EC的理论应用到计算机中, 保证计算不会溢出.

第一篇:原理 上一篇

查看全文: http://www.udpwork.com/item/17483.html

+0  Career Coaching 小组交流群

Tag: discord | discussion | group | patreon
Cat Chen 发于 2019年10月19日 08:06 | 点击: 156 | 展开摘要
我在做 career coaching 的过程中听到了大家的建议,希望能建立小组帮助目标一致的学生沟通。在我的学生当中,有两个主流的目标群体,为此我专门在我的 Discord 服务器上开了两个 channel 用作交流:
第一个是求职小组(#students-job-seeking),主要针对想要找 Software Engineer 职位的在校学生,有计划换工作的 Software Engineer 也可以加入讨论。这个小组主要用来讨论笔试题目、面试题目、公司招聘流程、寻

查看全文: http://www.udpwork.com/item/17646.html

+0  Using keras.layers.Embedding instead of python dictionary

Tag: Uncategorized | Keras | Word Embedding
Robin Dong 发于 2019年01月17日 13:22 | 点击: 1541 | 展开摘要
Firstly, I use a function to transform words into word-embedding:

def text_to_array(text, embeddings_index):
empty_embed = np.zeros(EMBEDDING_LENGTH, dtype = np.float32)
text = text[:-1].split()[:MAX_TEXT_LENGTH]
embeds = []

查看全文: http://www.udpwork.com/item/17289.html
|<<<1234567>>>| 一共25页, 292条记录