10 2018 档案

摘要:开放封闭原则 (The Open Closed Principle) 软件实体应该对扩展开放,对修改封闭。一般不要直接修改类库源码(即使你有源代码),通过继承等方式扩展。 依赖倒置原则 (The Dependency Inversion Principle) 高层模块不应该依赖于底层模块,二者都应该 阅读全文
posted @ 2018-10-25 21:31 linyx 阅读(150) 评论(0) 推荐(0)
摘要:这里有个问题,父进程退出了,子进程还没退出。解决方案是在RunChild中调用: 可以查看下man 2 prctl。 https://stackoverflow.com/questions/284325/how-to-make-child-process-die-after-parent-exits 阅读全文
posted @ 2018-10-19 15:20 linyx 阅读(268) 评论(0) 推荐(0)
摘要:目前有用到的用法如下: 通过from+size来实现分页,但是有个限制,from+size不能超过index.max_result_window。 https://www.elastic.co/guide/en/elasticsearch/reference/current/search-reque 阅读全文
posted @ 2018-10-19 11:33 linyx 阅读(971) 评论(0) 推荐(0)
摘要:http://web.archive.org/web/20160430022340/http://google.github.io/styleguide/cppguide.html 主要注意几点: 阅读全文
posted @ 2018-10-18 20:13 linyx 阅读(259) 评论(0) 推荐(0)
摘要:https://coolshell.cn/articles/8239.html 主要讲的是《Implementing Lock-Free Queues》的论点,具体直接看论文最好。这里总结些要点。 CAS就是Compare And Swap。gcc可以调用: 这段代码讲出无锁的两个关键手段: 一个就 阅读全文
posted @ 2018-10-15 20:53 linyx 阅读(372) 评论(0) 推荐(0)
摘要:gzip几乎在在所有平台上都有支持,并且也已经成为一个行业标准,压缩率、压缩速度、解压速度都比较均衡; bzip2是基于BWT变换的一种压缩,本质是上对输入分块,每个块单独压缩,优点是压缩率很高,但压缩和解压速度都比较慢; Snappy是Google出品,优点是压缩和解压都很快,缺点是压缩率比较低, 阅读全文
posted @ 2018-10-10 20:53 linyx 阅读(1000) 评论(0) 推荐(0)
摘要:mongo术语: https://docs.mongodb.com/manual/reference/glossary/ 构建mongo集群可参考: https://docs.mongodb.com/manual/tutorial/deploy-shard-cluster/ mongo的shard机 阅读全文
posted @ 2018-10-10 15:41 linyx 阅读(753) 评论(0) 推荐(0)
摘要:USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND 可以看到RSS,也就是物理内存占用,单位是KB。RSS是常驻内存集(Resident Set Size),表示该进程分配的内存大小。RSS不包括进入交换分区的内存。RSS包括共享库占用的内存 阅读全文
posted @ 2018-10-10 14:34 linyx 阅读(10349) 评论(0) 推荐(1)
摘要:us, user: 运行(未调整优先级的) 用户进程的CPU时间 sy,system: 运行内核进程的CPU时间 ni,niced:运行已调整优先级的用户进程的CPU时间 wa,IO wait: 用于等待IO完成的CPU时间 hi:处理硬件中断的CPU时间 si: 处理软件中断的CPU时间 st:这 阅读全文
posted @ 2018-10-10 11:55 linyx 阅读(242) 评论(0) 推荐(0)
摘要:将进程与cpu绑定,最直观的好处就是减少cpu之间的cache同步和切换,提高了cpu cache的命中率,提高代码的效率。从cpu架构上,NUMA拥有独立的本地内存,节点之间可以通过互换模块做连接和信息交互,因此每个CPU可以访问整个系统的内存,但是访问远地内存访问效率大大降低,绑定cpu操作对此 阅读全文
posted @ 2018-10-10 11:13 linyx 阅读(1252) 评论(0) 推荐(0)
摘要:OLTP与OLAP 数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易 阅读全文
posted @ 2018-10-09 15:35 linyx 阅读(478) 评论(0) 推荐(0)