第663页

  • 区块链入门教程

    区块链入门教程

    区块链(blockchain)是眼下的大热门,新闻媒体大量报道,宣称它将创造未来。 可是,简单易懂的入门文章却很少。区块链到底是什么,有何特别之处,很少有解释。 下面,我就来尝试,写一篇最好懂的区块链教程。毕竟它也不是很难的东西,核心概念非常简单,几句话就能说清楚。我希望读完本文,你不仅可以理解区块链,还会明白什么是挖矿、为什么挖矿越来越难等问题。 需要说明的是,我并非这方面的专家。虽然很早就关注,但是仔细地了解区块链,还是从今年初开始。文中的错误和不准确的地方,欢迎大家指正。 一、区块链的本质...

    期权知识 2020-08-18 646 0
  • 全文搜索引擎 Elasticsearch 入门教程

    全文搜索引擎 Elasticsearch 入门教程

    全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选。 它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。 Elastic 的底层是开源库 Lucene。但是,你没法直接用 Lucene,必须自己写代码去调用它的接口。Elastic 是 Lucene 的封装,提供了 REST API 的操作接口,开箱即用。 本文从零开始,讲解如何使用 Elastic 搭建自己的全文搜索引擎。每一步都有详细的...

    期权知识 2020-08-18 564 0
  • 比特币入门教程

    比特币入门教程

    比特币(bitcoin)诞生于2008年的一篇论文。 一个署名为中本聪的人,提出了革命性的构想:让我们创造一种不受政府或其他任何人控制的货币!这个想法堪称疯狂:一串数字,背后没有任何资产支持,也没有任何人负责,你把它当作钱付给对方,怎么会有人愿意接受? 但是,狂想居然变成了现实。随后的几年,在全世界无数爱好者的支持下,比特币网络运行起来了,越来越多的人和资本参与,星星之火,终成燎原。刚刚过去的2017年,比特币迎来了爆发式的增长,从年初的1000美元,最高涨到了2万美元,全世界都为之震动,上到政府,下到普...

    期权知识 2020-08-18 512 0
  • 如何使用 Issue 管理软件项目?

    如何使用 Issue 管理软件项目?

    软件开发(尤其是商业软件)离不开项目管理,Issue 是最通用的管理工具之一。 本文介绍 Issue 的基本用法。 一、Issue 是什么? Issue 指的是一项待完成的工作,通常与系统的改进相关,中文可以译为"问题"或"事务"。下面这些都是 Issue 的例子。 一个软件的 bug 一项功能建议 一项待完成的任务 文档缺失的报告 每个 Issue 应该包含该问题的所有信息和历史,使得后来的人只看这个 Issue,就能了解问题的所有方面和过程。 历史上,Issue 起...

    期权知识 2020-08-18 616 0
  • 加密货币的本质

    加密货币的本质

    现在,各种加密货币(cryptocurrency)不计其数。 很多人都在问,加密货币的时代,真的来临了吗?将来会不会人类不再使用美元、人民币,改用加密货币?那么多品种,我应该使用哪一种币?要不要现在就去投资一些? 这些问题的答案,我也想知道,就花了很多时间查阅资料、研究协议。前两篇文章《区块链入门教程》和《比特币入门教程》是我的学习心得,主要介绍基本概念、探讨协议的可行性,没回答一个根本的问题:加密货币到底是什么? 下面就是我对这个问题的思考。阅读之前,如果你已经了解区块链和比特币,那很好;如果不了解,...

    期权知识 2020-08-18 541 0
  • 如何读懂火焰图?

    如何读懂火焰图?

    软件的性能分析,往往需要查看 CPU 耗时,了解瓶颈在哪里。 火焰图(flame graph)是性能分析的利器。本文介绍它的基本用法。 一、perf 命令 让我们从 perf 命令(performance 的缩写)讲起,它是 Linux 系统原生提供的性能分析工具,会返回 CPU 正在执行的函数名以及调用栈(stack)。 通常,它的执行频率是 99Hz(每秒99次),如果99次都返回同一个函数名,那就说明 CPU 这一秒钟都在执行同一个函数,可能存在性能问题。 $ sudo perf reco...

    期权知识 2020-08-18 460 0
  • 汇编语言入门教程

    汇编语言入门教程

    学习编程其实就是学高级语言,即那些为人类设计的计算机语言。 但是,计算机不理解高级语言,必须通过编译器转成二进制代码,才能运行。学会高级语言,并不等于理解计算机实际的运行步骤。 计算机真正能够理解的是低级语言,它专门用来控制硬件。汇编语言就是低级语言,直接描述/控制 CPU 的运行。如果你想了解 CPU 到底干了些什么,以及代码的运行步骤,就一定要学习汇编语言。 汇编语言不容易学习,就连简明扼要的介绍都很难找到。下面我尝试写一篇最好懂的汇编语言教程,解释 CPU 如何执行代码。 一、汇编语言是什么...

    期权知识 2020-08-18 528 0
  • 开源许可证教程

    开源许可证教程

    作为一个开发者,如果你打算开源自己的代码,千万不要忘记,选择一种开源许可证(license)。 许多开发者对开源许可证了解很少,不清楚有哪些许可证,应该怎么选择。本文介绍开源许可证的基本知识,主要参考了 OpenSource.com (1,2)。 一、什么是开源许可证 开源许可证是一种法律许可。通过它,版权拥有人明确允许,用户可以免费地使用、修改、共享版权软件。 版权法默认禁止共享,也就是说,没有许可证的软件,就等同于保留版权,虽然开源了,用户只能看看源码,不能用,一用就会侵犯版权。所以软件开源的话...

    期权知识 2020-08-18 600 0
  • 根域名的知识

    根域名的知识

    域名是互联网的基础设施,只要上网就会用到。 它还是一门利润丰厚的生意,所有域名每年都必须交注册费,这是很大的一笔钱。 这些钱交到了哪里?到底谁控制域名的价格?为什么有的域名注册费很贵,有的便宜?......今天,我就来谈谈这些与根域名(root domain)相关的知识。 一、ICANN 全世界域名的最高管理机构,是一个叫做 ICANN (Internet Corporation for Assigned Names and Numbers)的组织。它的总部在美国加州。 它原来是美国商务部下面...

    期权知识 2020-08-18 554 0
  • CAP 定理的含义

    CAP 定理的含义

    分布式系统(distributed system)正变得越来越重要,大型网站几乎都是分布式的。 分布式系统的最大难点,就是各个节点的状态如何同步。CAP 定理是这方面的基本定理,也是理解分布式系统的起点。 本文介绍该定理。它其实很好懂,而且是显而易见的。下面的内容主要参考了 Michael Whittaker 的文章。 一、分布式系统的三个指标 1998年,加州大学的计算机科学家 Eric Brewer 提出,分布式系统有三个指标。 Consistency Availability...

    期权知识 2020-08-18 529 0