解析一个简单的分布式事务Case (www.felix021.com)
我注意到过去几个月有些同学还在踩一个简单的分布式事务Case的坑,而这个坑我们在两年以前就已经有同学踩过了,这里简单解析一下这个case和合适的处理方案,供各位参考。
by @技术头条 2018-06-28 12:32 查看详情
Python多线程与多进程 (www.biaodianfu.com)
先前在学习Python的过程中,有接触到多线程编程相关的知识点,先前一直都没有彻底的搞明白。今天转杯花一些时间,把里面的细节尽可能的梳理清楚。
The post Python多线程与多进程 appeared first on 标点符.
by @技术头条 2018-06-28 12:32 查看详情
面向 Linux 和开源爱好者的书单 (linux.cn)
看看我们现在在读什么?

最近我在作者社区征集分享大家正在读的书。大家生活阅历和工作岗位各不相同,共同点是每天都与 Linux 和开源打交道。

享受这份不可思议的书单吧,其中大部分是免费的,可以下载。

在书单中,你可能发现一直想读的书、完全陌生的书以及像老朋友一样的已经读过的书。
by @技术头条 2018-06-28 12:32 查看详情
为什么云计算服务是亚马逊先做出来? (www.raychase.net)
最近看了一个知乎的帖子,大家讨论为什么是Amazon先把云计算服务做出来,而不是Google。类似的问题我遇到过好几次了,之前还在亚马逊的时候,我觉得利益相关等等原因,自己不太适合回答这个问题;而现在,又看到各路人马大神已经把这个问题从各个角度分析得底朝天了,于是觉得似乎又没有太大必要了。

不过现在,回头看到这个帖子的时候,我还想再从我的视角总结总结,不只是为什么Amazon先把云服务做出来,还有为什么现在它可以一路领先。虽然说Google也是云服务的三驾马车之一(另两驾是Amazon和微软),但如今许多方面它都和另两驾还有不少的差距。我记得刚加入Oracle的时候,但凡听说我从Amazon来,就理所当然地assume我来自AWS,足见其在业界AWS的影响力之巨。

而事实上,Amazon的范畴远比AWS大,而且AWS也是这些年才火起来的。
by @技术头条 2018-06-28 12:31 查看详情
使用Redis单实例实现分布式锁 (ifeve.com)
在同一个jvm进程中时,可以使用JUC提供的一些锁来解决多个线程竞争同一个共享资源时候的线程安全问题,但是当多个不同机器上的不同jvm进程共同竞争同一个共享资源时候,juc包的锁就无能无力了,这时候就需要分布式锁了。常见的有使用zk的最小版本,redis的set函数,数据库锁来实现,本节我们谈谈Redis单实例情况下使用set函数来实现分布式锁。
by @技术头条 2018-06-28 12:30 查看详情
CSS3 animation属性中的steps功能符深入介绍 (www.zhangxinxu.com)
steps()有一定的学习难度,很多概念总是搞不清楚,所以本文算是个自我挑战,看看能不能说清楚steps()中的相关概念,方便大家理解与学习。本文有些篇幅,有些深入,如果您时间较紧,可以先马后看。总之,希望本文的内容能够对您的学习有所帮助。
by @技术头条 2018-06-28 12:30 查看详情
PacVim:一个学习 vim 命令的命令行游戏 (linux.cn)
你好,Vim用户!今天,我偶然发现了一个很酷的程序来提高 Vim 的使用技巧。Vim 是编写和编辑代码的绝佳编辑器。然而,你们中的一些人(包括我)仍在陡峭的学习曲线中挣扎。再也不用了!来看看PacVim,一款可帮助你学习 Vim 命令的命令行游戏。PacVim 的灵感来源于经典游戏 PacMan,它以一种好玩有趣的方式为你提供了大量的 Vim 命令练习。简而言之,PacVim 是一种深入了解 vim 命令的有趣而自由的方式。请不要将 PacMan 与 pacman (arch Linux 包管理器)混淆。 PacMan 是 20 世纪 80 年代发布的经典流行街机游戏。

在本简要指南中,我们将看到如何在 Linux 中安装和使用 PacVim。
by @技术头条 2018-06-28 12:29 查看详情
如何在 RHEL 中使用订阅管理器启用软件仓库 (linux.cn)
了解如何在 RHEL 中使用订阅管理器来启用软件仓库。 这篇文章还包括了将系统注册到 Red Hat 的步骤、添加订阅和发生错误时的解决方案。

在本文中,我们将逐步介绍如何在刚安装的 RHEL 服务器中启用 Red Hat 软件仓库。
by @技术头条 2018-06-28 12:29 查看详情
炮打TCP – 关于一而再再而三的粘包拆包问题的大字报 (www.ideawu.net)
TCP 所谓的粘包和拆包问题,是技术圈里最奇葩的问题之一!

一而再,再而三,就跟傻逼的中国球迷支持中国足球队一样,前赴后继。有时候同一个人多次在犯同一个错误,有时候是前脚一个犯错了后脚又来一个还犯同样的错。即使是最优秀的程序员,也会在这个问题上面栽跟头,思维甚至很难转过弯,很久才能意识到自己的错误。而低水平的程序员就更不用说了,很多人到死都没有理解这个错误并解决掉,只是逃掉了而已。

我们固然可以认为原因是某些人学艺不精,但那么多的人,其中包括无数的优秀程序员在 TCP 粘包和拆包问题在犯错误,难道我们不能说,这其实是 TCP 自身的原因吗?

在我看来,这个问题的出现,原因就在于 TCP 协议是有原罪的 -- 也就是 TCP 协议所谓的“流式”协议。所以,我要炮轰 TCP!

经过几十年的验证,除了几数几个网络协议会用到 TCP 所谓的流式特性之外,没有任何应用协议使用流式特性。我们必须承认,
by @技术头条 2018-06-28 12:19 查看详情
Stratis 从 ZFS、Btrfs 和 LVM 学到哪些 (linux.cn)
深入了解这个强大而不繁琐的 Linux 存储管理系统。

在本系列第一部分中提到,Stratis 是一个卷管理文件系统volume-managing filesystem(VMF),功能特性类似于 ZFS 和 Btrfs。在设计 Stratis 过程中,我们研究了已有解决方案开发者做出的取舍。
by @技术头条 2018-06-28 12:19 查看详情
尾调用、优化和 ES6 (linux.cn)
在探秘“栈”的倒数第二篇文章中,我们提到了尾调用tail call、编译优化、以及新发布的 JavaScript 上合理尾调用proper tail call。

当一个函数 F 调用另一个函数作为它的结束动作时,就发生了一个尾调用。在那个时间点,函数 F 绝对不会有多余的工作:函数 F 将“球”传给被它调用的任意函数之后,它自己就“消失”了。这就是关键点,因为它打开了尾调用优化的“可能之门”:我们可以简单地重用函数 F 的栈帧,而不是为函数调用 创建一个新的栈帧,因此节省了栈空间并且避免了新建一个栈帧所需要的工作量。下面是一个用 C 写的简单示例,然后使用 mild 优化 来编译它的结果。
by @技术头条 2018-06-28 12:18 查看详情
JavaScript 实现密码可见性切换(显示和隐藏) (www.css88.com)
介绍前端密码可见性切换(显示和隐藏)效果的实现。
by @技术头条 2018-06-28 12:18 查看详情
Linux vi/vim编辑器常用命令 (www.css88.com)
最近做区块链路由器矿机项目,需要用到一些Linux vi/vim编辑器常用命令,以前不怎么用不熟悉所以网上的资料整理了一下。

Linux发行版系统上都会默认内置vi编辑器,非常通用。很多软件的编辑接口都会默认调用vi;vi具有程序编辑的能力;vi程序简单,编辑速度相当快速。
by @技术头条 2018-06-28 12:18 查看详情
底层 Linux 容器运行时之发展史 (linux.cn)
在 Red Hat,我们乐意这么说,“容器即 Linux,Linux 即容器”。下面解释一下这种说法。传统的容器是操作系统中的进程,通常具有如下 3 个特性:资源限制、 安全性配置、 虚拟隔离。
by @技术头条 2018-06-28 12:17 查看详情
使用数据库悲观锁实现不可重入的分布式锁 (ifeve.com)
在同一个jvm进程中时,可以使用JUC提供的一些锁来解决多个线程竞争同一个共享资源时候的线程安全问题,但是当多个不同机器上的不同jvm进程共同竞争同一个共享资源时候,juc包的锁就无能无力了,这时候就需要分布式锁了。常见的有使用zk的最小版本,redis的set函数,数据库锁来实现,本节我们谈谈使用数据库悲观锁机制来实现一个分布式锁。
by @技术头条 2018-06-28 12:16 查看详情
HTTP请求方法:GET、HEAD、POST、PUT、DELETE、CONNECT、OPTIONS、TRACE 说明 (www.css88.com)
超文本传输协议(HTTP, HyperText Transfer Protocol)是一种无状态的协议,它位于OSI七层模型的传输层。HTTP客户端会根据需要构建合适的HTTP请求方法,而HTTP服务器会根据不同的HTTP请求方法做出不同的响应。
by @技术头条 2018-06-28 12:13 查看详情
如何在 Linux 中不安装软测试一个软件包 (linux.cn)
出于某种原因,你可能需要在将软件包安装到你的 Linux 系统之前对其进行测试。如果是这样,你很幸运!今天,我将向你展示如何在 Linux 中使用 Nix 包管理器来实现。Nix 包管理器的一个显著特性是它允许用户测试软件包而无需先安装它们。当你想要临时使用特定的程序时,这会很有帮助。
by @技术头条 2018-06-28 12:13 查看详情
使用 Stratis 从命令行管理 Linux 存储 (linux.cn)
通过从命令行运行它,得到这个易于使用的 Linux 存储工具的主要用途。

正如本系列的第一部分和第二部分中所讨论的,Stratis 是一个具有与 ZFS 和 Btrfs 相似功能的卷管理文件系统。在本文中,我们将介绍如何在命令行上使用 Stratis。
by @技术头条 2018-06-28 12:12 查看详情
什么是 Linux 服务器,你的业务为什么需要它? (linux.cn)
想寻找一个稳定、安全的基础来为您的企业应用程序的未来提供动力?Linux 服务器可能是答案。

IT 组织力求通过提高生产力和提供更快速的服务来提供商业价值,同时保持足够的灵活性,将云、容器和配置自动化等创新融入其中。现代的工作任务,无论是裸机、虚拟机、容器,还是私有云或公共云,都需要是可移植且可扩展的。支持所有的这些需要一个现代且安全的平台。

通往创新最直接的途径并不总是一条直线。随着私有云和公共云、多种体系架构和虚拟化的日益普及,当今的数据中心就像一个球一样,基础设施的选择各不相同,从而带来了维度和深度。就像飞行员依赖空中交通管制员提供持续更新一样,数字化转型之旅应该由像 Linux 这样可信赖的操作系统来指引,以提供持续更新的技术,以及对云、容器和配置自动化等创新的最有效和安全的访问。
by @技术头条 2018-06-28 12:12 查看详情
对可互换通证(ERC-20 系列)的通证 ERC 的比较 (linux.cn)
“对于标准来说,最好的事情莫过于大量的人都去选择使用它。“
—— Andrew S. Tanenbaum


通证标准的现状
在以太坊平台上,通证标准的现状出奇的简单:ERC-20 通证token标准是通证接口中唯一被采用( EIP-20)和接受的通证标准。
它在 2015 年被提出,最终接受是在 2017 年末。
在此期间,提出了许多解决 ERC-20 缺点的以太坊意见征集Ethereum Requests for Comments(ERC),其中的一部分是因为以太坊平台自身变更所导致的,比如,由 EIP-150 修复的重入re-entrancy bug。其它 ERC 提出的对 ERC-20 通证模型的强化。这些强化是通过收集大量的以太坊区块链和 ERC-20 通证标准的使用经验所确定的。ERC-20 通证接口的实际应用产生了新的要求和需
by @技术头条 2018-06-28 12:11 查看详情