张子阳的博客

首页 读书 技术 店铺 关于
张子阳的博客 首页 读书 技术 店铺 关于

最新内容

文章: 242

阅读: 305927

今日阅读: 223

今日访客: 166

从零开始学架构

忘了从哪儿看到过这本书,因为自己也在做架构方面的工作,架构方面的书自然是多多益善,于是就买来读了。这本书的难度适中,基本上是从一个比较高的角度,把互联网系统采用的架构总结和梳理了一遍。这本书并没有深入到每一个技术的细节,因为很多细节都需要专门的一本书去讲解,而是讲解了每项技术用来解决的问题,以及应用该技术所可能产生的附加影响。

全书分为了20个章节,每个章节涉及一个技术点。全书330页,所以每章只有15页左右,比较短小精悍。在实际工作中,可以作为解决方案的参考,然后再根据选择的方案,进一步研究和实施。

阅读: 510 发表: 2019-03-29 推荐:

知日知日:这次彻底了解日本2

这是知日系列的第2本,和上本一样,这本书依旧是一本大杂烩,包含了关于日本的很多方面:神道教、民族性格、日本建筑、六大财团、太平洋战争、靖国神社、世袭政治、歌舞伎町、打官司、学校教育、日语和“日式英语”。

日本推崇神道教和集体主义,“义理人情”经常作为一个固定词组出现,总体上指日本社交中的人情世故。“义理”指各种上下关系、对等关系里某一方需要遵守的道德标准。神道对应佛法,追求万物都能幸福安定地相处的境界,站在这个立场上思考的人,会在任何时刻都努力维持和谐的人际关系。

为了避免称为别人眼中“污秽的人”,日本人非常在意别人怎么想、怎么说,随时注意自己的行为给别人带来的影响。

阅读: 197 发表: 2019-03-17 推荐:

知日知日:这次彻底了解日本1

因为今年计划去日本旅行,去一个地方之前,我一般都会做一点攻略,提前做一些了解,这样去游览的时候才更有“代入感”。于是买了这套书,一共有4本。后来我才知道,“知日”系列一共有三四十本。我买的这4本,应该是属于“基础款”。这本书是由苏静主编,在出版领域,“著”和“编”有很大区别,著基本上是作者原创内容,编则通常是收集很多的资料,再进行整合加工,加入自己的理解等。在京东图书,“知日”的其他书籍,我也看到了“知日团队”这样的字眼,所以这系列书应当是群策群力,每人编写一部分,最后再由主编整合而成。

因为这本书是由多人合著,所以各个章节几乎相互独立,章节之间也没有严格的时间线。全书一共分为了13章,除了少数几章在讲同一个主题以外,其他章都在讲各自的故事,有点像专栏文章。所以可以看到一会儿讲天皇史和日本史,一会儿讲战后经济萧条,一会儿讲国民教育,一会儿讲倒幕运动。但是在整体上,除了结构稍显凌乱以外,读起来还是很顺畅的。

阅读: 192 发表: 2019-03-13 推荐:

月亮与六便士

《月亮与六便士》,月亮代表理想,六便士代表现实,月亮与六便士即理想与现实的冲突。这本书写于1919年,却在最近两年火了起来,比如 “2017 豆瓣阅读总榜销量冠军”、“2018 京东年度小说总销量冠军”。一本书的流行总有其原因,我不想错过当下广受关注或广受好评的书,所以就买来一读了。我承认也会有很多“小众”、不那么流行的杰作,但找出这样的书需要花费更多的精力,所以先将已知的流行书读一下。

这本书以第一人称的口吻,以一个故事参与者的旁观视角,讲述了故事的主角--斯特里克兰,的后半生。这个第一人称的身份,也是一个作家。整个故事,好似一篇回忆录。因为在小说的开篇,已阐明了此时斯特里克兰已经去世了至少4年,其声名远播,遗留的画作均价值不菲。然后,作家以倒叙的方式,从23岁初识斯特里克兰讲起。起初,因为作家圈的聚会,在伦敦认识了斯特里克兰夫人,进而第一次见到了斯特里克兰。此时的他,是一个四十岁左右、普通且无趣的证券经纪人。和这个年纪大多数中产阶层的人生活相似,稳定而平淡。(约27年前,此时斯特里克兰夫人37岁,故事末尾斯特里克兰刚去世,作家再次见到她时60岁,而开篇时斯特里克兰已去世至少4年)

阅读: 320 发表: 2019-03-10 推荐:

恶意

这是我读的第3本东野圭吾的小说了,另两本是《解忧杂货铺》和《嫌疑人X的献身》。在选择这本书之前,也是作了点功课,我看的小说不多,于是就想看看评价最好的小说。这本书和《白夜行》的评价都极高,本书更被誉为作者挑战悬疑小说写作的巅峰。

可惜,因为我看的小说太少,不太好作对比。如果说《嫌疑人X的献身》是将谜底在最后一刻才揭露,那么这本书看到1/3的时候以为已经要结束了,看到1/3的时候又以为要结束了,直到全书看完,才发现自己处于一个巨大的骗局当中,前面自以为是的真相全是谎言。

阅读: 200 发表: 2019-03-04 推荐:

薛兆丰经济学讲义

这本书最早在逛书店的时候看到,那时没有细看。后来在京东图书的畅销榜上,赫然看到本书占据着第一名的位置,就买来读一下。

这是一本非常有意思的书,它不像其他经济学书那样各个章节之间泾渭分明,而是每篇讲述一个身边的和经济相关的故事,然后再用经济学的知识予以解释。每一篇之间的过渡又非常自然,有时候几篇讲同一个故事,有时候又会过渡到另一个故事。全书一共有118讲,涵盖了经济学的很多概念和方面,例如稀缺性、需求和供给、价格对资源的调节作用、分工和合作等。

阅读: 467 发表: 2019-02-28 推荐:

变量:看见中国社会小趋势

这本书是2019年的新书,我无意中在京东畅销榜上看到,2019年1月经管类的销量前5名。本来因为还积压了很多之前买的书没来得及看,打算很长时间都不买新书了。然而冲着副标题的“看见中国社会小趋势”,以为全书会对未来几年或者十几年的社会发展趋势做一个预测,还是有点兴趣的,于是买来读了。

作者认为现在以及未来几十年都处于中国发展的关键时期,因此计划每年出一本,一共出30年,来记录这些变化。有点类似于《光荣与梦想》,该书记录了1932-1972年这段时期的美国历史。和《光荣与梦想》不同的是:这本书并没有一一记录2018年发生的重要事件,而是用微观的视角,介绍了当下社会不同人群的生活状况。从他们的生活状况,来窥见社会的一些变化。而后者则更像是一本历史书,主要记录了每一时期的重要事件,例如镇压老兵的救济金事件、罗斯福新政等。

阅读: 172 发表: 2019-02-14 推荐:

写给大家的西方美术史

因为比较喜欢摄影,时间久了发现摄影也看了不少,相片也拍了不少,各个焦段的镜头也配齐了,然而摄影技术却并没有高到哪里去。就好像代码写久了发现水平瓶颈了,然后重新看基础的算法、操作系统一样。摄影源于美术,那么多看一些美术作品应该可以稍微提升一下美学功底,从而有助于拍出更好的相片,出于这样的想法便买了这本书。

之前也看过一本《小顾聊绘画》,相对那本书的诙谐幽默,这本书更加平实朴素一点。除此以外,书名中的“美术史”相较于“绘画”范畴也更广一些。因为,绘画仅是美术的一个大的分类,而美术还包括了壁画、雕塑、建筑以及几乎所有的外形设计。书名中的“西方”,主要是指西欧地中海沿岸地区,因此并未涉及东方及其他地区的作品。

阅读: 253 发表: 2019-01-30 推荐:

技巧:快速求并集交集和差集

在做一个文件同步工具的时候,有这样一个需求:假设有source和target两个文件夹,确保两个文件夹中的文件一致。即当source中添加了新文件时,自动拷贝到target; 当source文件夹删除某个文件时,target中的文件也要删除。(实际上文件改动也要进行同步,但和这个例子没有关系)。这样就需要求两个集合的差集,这篇文章演示如何快速实现这一过程。

阅读: 528 发表: 2019-01-30

Hadoop 使用SecondaryNameNode进行故障恢复

SecondaryNameNode的作用不是做高可用,它是NameNode的一个辅助进程,用来合并fsimage和edits日志文件。但是,因为它保存了NameNode上元数据的副本(fsimage和edits),所以当NameNode出现故障时,可以使用它来做临时的NameNode,从而实现NameNode的故障恢复。这篇文章将记录如何实现这一过程。

阅读: 770 发表: 2019-01-29

MSSQL ChangeTracking的不一致问题

在使用Change Tracking进行同步的过程中,当对数据量比较大的表进行同步时,发现了隐藏的BUG:重复插入(或者更新丢失)。这篇文章记录下这个问题的产生原因以及解决的方案。假设我们将从主库同步数据到从库,5分钟同步一次,初始版本号都是1,从库由主库还原而来。

阅读: 263 发表: 2019-01-25

MSSQL 使用Change Tracking(更改跟踪)同步数据

很多时候,系统的瓶颈都在数据库的读写方面。一般解决方案都是分库、分表,但是分库分表也有自己的问题:1、连接查询(Join操作)效率降低;2、往往需要修改代码。此时,另一个常用的方法就是读写分离,主库进行增删改,从库只进行读。这样就涉及到主从数据库同步的问题。不同的数据库有不同的解决方案,对于MS SQL Server有日志传送、Always On等方案。

但是,上面的方案都是在同质的数据存储之间进行同步,简单来说,从MSSQL同步到另一台MSSQL。如果从MSSQL同步到MySql数据库,或者从MSSQL同步到消息队列或者缓存,则需要采用其他方法。不同的数据库提供了不同的解决方案,MSSQL提供了两个方案,Change TrackingChange Data Capture。我在Kafka Connect 实时读取MSSQL数据到Kafka 中也做了简单的介绍。这篇文章将更详细介绍如何使用Change Tracking来实现数据同步。

阅读: 619 发表: 2019-01-23

.Net Core 在Windows上后台运行Console控制台程序

有时候,我们需要在后台运行程序。通常,在Linux上,可以做成系统服务,使用systemctl命令来管理程序的启动和运行;也可以使用 nohup [应用程序] & 来后台运行。在Windows上,想要后台执行程序,通常只能做成Windows服务。有时候,做成Windows服务比较麻烦,而当使用.Net Core时,则需要将程序托管在服务中。但是,可以使用一个间接的方法,让.Net Core控制台程序后台运行。

阅读: 1241 发表: 2019-01-18

十字军的故事:上

很早前看过一部电影,叫做《天国王朝》,讲的就是十字军东征的故事。当时觉得蛮震撼的,一方面震撼的是十字军大军出场时的宏大场面,至今还记得那句“耶城主军已到”,以及充满魄力的 “Withdraw,or we all die here”的台词。另一方面,也震撼于战争的残酷和十字军的暴虐,在东征时期残杀了那么多穆斯林。有时候也在想,当下穆斯林世界和西方社会的矛盾和冲突,是否和源于中世纪的十字军东征是否有所联系呢。现在西欧的穆斯林移民的大量涌入,以及欧洲西方人生育率低,而穆斯林普遍生好几个,甚至又有“西方和穆斯林必有一战”的言论出现。

阅读: 267 发表: 2018-12-31 推荐:

Consul 注册服务和健康检查(http检查) - Part.5

在前面两篇文章中,我们对控制台类型的程序进行了服务注册,并以script脚本的方式进行了健康检查。这篇文章将介绍如何对Web类型的服务进行服务注册,并进行健康检查。

本文依然是采用配置文件的方式进行服务注册,以Http API进行注册的方式会在以后的文章中说明。

阅读: 419 发表: 2018-12-27

Consul 健康检查(检查节点) - Part.4

在上一节 Consul 注册服务和健康检查(script检查) - Part.3 定义的两个健康检查中,chk_service1和chk_service2分别和服务datacollect.server1和datacollect.server2关联起来了。健康检查也可以不关联任何服务独立运行。例如,我们可以写一个健康检查的脚本,检查节点的内存,当内存占用低于70%时返回 通过,介于70%~90%之间时返回 警告,高于90%时返回失败。

阅读: 308 发表: 2018-12-27

Consul 注册服务和健康检查(script检查) - Part.3

Consul提供的一个主要功能就是提供一个可用服务的列表,进行服务注册和发现。这在服务做负载均衡时非常有用,因为前端应用不再直接访问服务(可能访问到不可用的节点,例如节点宕机或者服务应用异常退出),而是先请求consul获取可用的服务列表,然后再访问服务。Consul则负责维护这个服务列表,并对列表中的服务进行健康检查。

阅读: 520 发表: 2018-12-26

Consul 运行和查看Client - Part.2

Consul 安装和配置Server.html中,配置了3节点的server集群。接下来,这篇文章将部署一台Client,并查看它的运行状态。

阅读: 419 发表: 2018-12-26

Consul 安装和配置Server - Part.1

在实践微服务的过程中,通常使用Consul来进行服务发现和健康检查。这篇文章简单介绍在Linux(CentOS 7)下安装和配置一个3节点的Consul集群。

阅读: 1117 发表: 2018-12-25

Go Tips: 定时更新日志的输出位置

Go语言自带的log package非常简单和易用,只要在启动程序的时候调用log.SetOutput配置日志文件的路径,然后通过调用log.Printf()、log.Panic() 等方法就可以将日志输出到文件了。然而,对于一些服务程序而言,当操作系统启动时就开始运行,那么所有日志都会输出到启动时配置的那个文件当中。实际应用中,为了查看方便,我们经常需要按时间来生成日志,比如每天生成一个日志。那么可以通过单独运行一个goroutine,定时检查日志的最后创建时间来重新调用log.SetOutput方法,从而设置新的日志输出路径。

阅读: 408 发表: 2018-12-22
1 2 3 4 5 6 7 8 9 10 > >>
242 条记录 当前显示 81-100