浅析区块链

从去年开始,区块链突然如火如荼起来,相关的新闻席卷微博、朋友圈、科技论坛、门户网站等各大媒体。业界大佬们更是频频发言,有宣称不做区块链就会被时代淘汰的,有说坚决不碰区块链的。国家队也是频频出手,管制、定性、做应用,央行更是默默地把区块链专利数量做到了世界前列。面对众多纷杂的信息、众多的技术分析文章,很容易让人脑袋嗡嗡,怕不懂,更怕懂了啥也都做不了。于是决定梳理一下相关的信息,看看这区块链到底是什么东西。

开篇之前,先抛出笔者的一个观点:区块链最合适的应用场景只有虚拟资产,除了虚拟资产的其他场景都是在蹭概念或者不是真正意义上的区块链,而且只要有人参与的业务流程都无法满足区块链设计的初衷。

正则表达式简明指南

公司使用的markdown解析类库一直有一些解析上的问题,最近给fix了。而markdown解析主要是对正则表达式的使用。中间恶补了一下相关知识,在此梳理一下。

什么是正则表达式

正则表达式就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。简单的一个例子:用字符串"a"来验证字符串s是否是"a",形如s.match(“a”)。概括来说有以下作用:

  • 验证字符串是否符合指定特征,比如验证是否是合法的邮件地址。
  • 查找字符串,从一个长的文本中查找符合指定特征的字符串,比查找固定字符串更加灵活。
  • 替换字符串,比普通的基于字符串的替换更灵活。

2017年读过的书

2017年一共阅读了九本书,包括技术和管理,并且参加了一次“高价值管理人”的管理培训课程,在技术和管理方面都有了一定的学习,得到了一些进步。

如何快速尝出毒酒?- 用bit解决问题

问题

国王有一百桶酒,比自己的生命还重要。结果有一天其中一桶被投了慢性毒药,喝了以后半个小时以后就会死掉。国王大怒,命令玩忽职守的侍卫去试毒。酒不能被混合,一个侍卫可以喝多桶酒,一桶酒也可以由多个侍卫喝,怎么样才能用最少的侍卫、在最短的时间知道哪桶是毒酒。侍卫可以理解为线程,即怎么样用最少的线程用最快的速度完成这个工作。

Spring注解概览

从Java5.0开始,Java开始支持注解。Spring做为Java生态中的领军框架,从2.5版本后也开始支持注解。相比起之前使用xml来配置Spring框架,使用注解提供了更多的控制Spring框架的方式。

现在越来越多的项目也都在使用注解做相关的配置,但Spring的注解非常多,相信很多注解大家都没有使用过。本文就尽量全面地概括介绍一下Spring中常用的注解。

有效解决问题

来自于内部的一次培训,主要讲述了如何有效地解决问题,包括识别问题、描述问题、分析问题、找出方案、决策问题等。

Java9来了

2017.9.21,Java9终于正式发布。其带来了诸如模块化、REPL环境、集合工厂方法等一系列有用的新特性。本文列出一些链接,可以通过阅读相关的内容来了解学习Java9。

官方资料

第三方资料

[译]Java中9个处理Exception的最佳实践

在Java中处理异常并不是一个简单的事情。不仅仅初学者很难理解,即使一些有经验的开发者也需要花费很多时间来思考如何处理异常,包括需要处理哪些异常,怎样处理等等。这也是绝大多数开发团队都会制定一些规则来规范对异常的处理的原因。而团队之间的这些规范往往是截然不同的。

本文给出几个被很多团队使用的异常处理最佳实践。