计算机性能分析需要知道记住的数字(2016年最新版)

计算机系统性能分析需要记住各个硬件或架构层次的大致性能指标,早先G家的大神jeff deans给过一个版本,但是存储方面发展近来越发的突飞猛进,因此就有了这个2016年新年最新版数据。           Latency Bandwidth Capacity / IOPS Register    (1)   0.25ns L1 cache    (1)   1ns L2 cache    (1) …

阅读全文

Zookeeper系统设计的优点

Zookeeper系统应用越来越广泛,在同一领域内开源软件方面基本处于垄断地位。(最近有个etcd借了微服务的东风而异军突起)但是实际用过的人都会觉得这个软件属于可用但又不那么好用的类型。本文是本人结合自己的实际使用经验与思考,同时参考真正业界大牛对这个系统的分析与评价进行的总结,归纳一下关于Zookeeper真正的使用需求,并思考这个系统有哪些设计与实现上的优点,从而能获得如此成功。 1.常见应 …

阅读全文

TCP/IP网络栈实现

参考 翻译:理解TCP/IP网络栈&编写网络应用一文内容。 1. TCP/IP的特性 面向连接 这里的连接用什么结构管理? 双向字节流 字节流是什么意思? 顺序投递 能够完全遵循时间顺序投递? ACK实现可靠性 怎么可靠? 流量控制、阻塞控制 2. 数据传输流程 网络栈很多层 image 内核层使用socket(因为抽象成文件,会走VFS路径)来管理从用户区拷贝过来的接收与发送的数据缓冲区 …

阅读全文

创建你的hexo博客

WordPress没法使用markdown写文章,总要登陆网站后台写文章也颇为麻烦,所以利用github搭建了一个技术博客,http://chaozh.github.io 这样有些技术小知识点也方便记录一下,欢迎访问。

目前由于hexo的升级。在github上搭建hexo博客的过程与网络上的文章指导内容会有少许变化。

第一步当然还是安装hexo,接着在本地创建自己的hexo博客目录

$ npm install hexo -g
$ hexo init <YOU_BLOG_DIR_NAME>

然后切换到那个目录下面,安装必备的node插件

$ cd <YOU_BLOG_DIR_NAME>
$ npm install 
$ npm install hexo-deployer-git --save

这时你的博客已经准备就绪啦,接着按照自己的需求修改配置文件,需要注意的是deploy部分

deploy:
  type: git
  repo: <YOUR_GITHUB_REPO_URL>

万事大吉,可以使用hexo new <POST_NAME>来创建新文章,写完后使用

$ hexo server #本地查看博客效果
$ hexo generate #生成静态文件用于部署
$ hexo deploy #部署同步到Github的项目上

有些遗憾的是这个git的deploy插件有点傻,仅把博客的静态文件提交到了远程仓库的master分支,而没有提交原始配置文件。没办法,只能自己动手进行分支同步。

$ cd <YOU_BLOG_DIR_NAME>
$ git init
$ git add remote origin <YOUR_GITHUB_REPO_URL>
$ git commit -a
$ git push origin master:<YOUR_REMOTE_BRANCHNAME>

好啦,以后任何位置都可以利用Github同步文章写博客啦

JavaScript实用代码片段

最近抽空在忙小项目,总结了下一些项目中碰到的常见问题,搜集对应的实用JS代码片段,跟大家分享。 1.产生限定范围内不重复的随机数 在深js也碰到了完全相同的问题,即抽奖程序的核心算法,结果是bug频出。这里给出js抽奖程序,大家去鄙视一下。 一种思路是在给定大小数组中每次抽取一个随机位置的数进行剔除,这个程序的问题是必须始终维护抽取的数组,好处是不会重复抽取: var originalArray= …

阅读全文