01 2017 档案

摘要:今天有人推荐了这个网站,可以看看: http://tech.meituan.com/ 阅读全文
posted @ 2017-01-28 23:33 blcblc 阅读(523) 评论(0) 推荐(0) 编辑
摘要:https://zhuanlan.zhihu.com/p/21334234 阅读全文
posted @ 2017-01-25 01:49 blcblc 阅读(264) 评论(0) 推荐(0) 编辑
摘要:以前只知道链表做插入(朴素、非二分)排序挺方便的。现在知道了(单)链表进行快速排序也是很好的(只是跟一般的快排的方式不一样)。 参考: http://blog.csdn.net/otuhacker/article/details/10366563 我们只需要两个指针p和q,这两个指针均往next方向 阅读全文
posted @ 2017-01-25 00:30 blcblc 阅读(1642) 评论(0) 推荐(0) 编辑
摘要:《计算广告学》 http://study.163.com/course/courseMain.htm?courseId=321007 书籍已下载,位置在: /Users/baidu/Documents/Data/Interview/计算广告/ 阅读全文
posted @ 2017-01-24 16:08 blcblc 阅读(604) 评论(0) 推荐(0) 编辑
摘要:数学上最漂亮的办法是最大熵(maximum entropy)模型,它相当于行星运动的椭圆模型。 "最大熵"这个名词听起来很深奥,但是它的原理很简单,我们每天都在用。说白了,就是要保留全部的不确定性,将风险降到最小。让我们来看一个实际例子。 有 一次,我去 AT&T 实验室作关于最大熵模型的报告,我带 阅读全文
posted @ 2017-01-24 12:12 blcblc 阅读(164) 评论(0) 推荐(0) 编辑
摘要:http://blog.chinaunix.net/uid-16723279-id-3803058.html 《两阶段提交协议与paxos投票算法》 点评:2PC绝对是CP的死党,是分布式情况下强一致性算法,因此缺点也是很明显的, 单点coordinator是个严重问题: 没有热备机制,coordi 阅读全文
posted @ 2017-01-24 00:03 blcblc 阅读(1627) 评论(0) 推荐(0) 编辑
摘要:https://hit-scir.gitbooks.io/neural-networks-and-deep-learning-zh_cn/ 阅读全文
posted @ 2017-01-23 20:56 blcblc 阅读(151) 评论(0) 推荐(0) 编辑
摘要:协程诞生解决的是低速IO和高速的CPU的协调问题,解决这类问题主要有三个有效途径: 异步非阻塞网络编程(libevent、libev、redis、Nginx、memcached这类) 协程(golang、gevent) “轻量级线程”,相当于是在语言层面做抽象(Erlang) 对比之下协程的编程难度 阅读全文
posted @ 2017-01-22 23:05 blcblc 阅读(300) 评论(0) 推荐(0) 编辑
摘要:参考 https://zhuanlan.zhihu.com/p/20768200?refer=auxten 而成本很多时候的体现就是对计算资源的消耗,其中最重要的一个资源就是CPU资源。 Sendfile(2)在这个时代背景下于2003年前后被加入Linux Kernel,陆续在各大UNIX、Lin 阅读全文
posted @ 2017-01-22 22:58 blcblc 阅读(2767) 评论(0) 推荐(0) 编辑
摘要:第七篇 CAP https://zhuanlan.zhihu.com/p/20399316?refer=auxten CAP定理(CAP theorem),又被称作布鲁尔定理(Brewer’s theorem),它指出对于一个分布式计算系统来说,不可能同时满足以下三点: 一致性 (Consisten 阅读全文
posted @ 2017-01-22 22:05 blcblc 阅读(692) 评论(0) 推荐(0) 编辑
摘要:http://www.cnblogs.com/charlesblc/p/6341265.html 其中的一篇。 参考 https://zhuanlan.zhihu.com/p/20336461?refer=auxten 网络编程(四):互联网中TCP Socket服务器的实现过程需要考虑哪些安全问 阅读全文
posted @ 2017-01-22 20:38 blcblc 阅读(539) 评论(0) 推荐(0) 编辑
摘要:参考: http://blog.csdn.net/w616589292/article/details/46475555 libuv 和 libev ,两个名字相当相近的 I/O Library,最近有幸用两个 Library 都写了一些东西,下面就来说一说我本人对两者共同与不同点的主观表述。 高性 阅读全文
posted @ 2017-01-22 19:41 blcblc 阅读(4326) 评论(0) 推荐(0) 编辑
摘要:接上一篇 http://www.cnblogs.com/charlesblc/p/6241926.html 来源: https://zhuanlan.zhihu.com/p/20204159 (一):演进——从Apache到Nginx 网上关于Apache和Nginx性能比较的文章非常多,基本上有如 阅读全文
posted @ 2017-01-22 19:24 blcblc 阅读(1524) 评论(0) 推荐(0) 编辑
摘要:文档位置: /Users/baidu/Documents/Data/Interview/机器学习-数据挖掘/Kafka 据说是目前见到的最好的 Kafka 中文文章 。 Kafka 是一个消息系统,原本开发自 LinkedIn,用作 LinkedIn 的活劢流(activity stream) 和运 阅读全文
posted @ 2017-01-22 17:14 blcblc 阅读(1179) 评论(0) 推荐(0) 编辑
摘要:参考这篇文章: http://www.cnblogs.com/CheeseZH/p/5112946.html 题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? class Solution { public: 阅读全文
posted @ 2017-01-21 23:39 blcblc 阅读(1168) 评论(0) 推荐(0) 编辑
摘要:参考这里: http://www.cnblogs.com/CheeseZH/p/5113000.html 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 用位的方式去做。 阅读全文
posted @ 2017-01-21 23:07 blcblc 阅读(213) 评论(0) 推荐(0) 编辑
摘要:这道题目还是很不错的 《【字符串排序】n个数连接得到最小或最大的多位整数》 题目 描述:设有n个正整数,将它们依次连成在一排,组成一个多位数,现在要求可能组成的多位数中最大的多位数是什么? 例如:n=3时,3个整数13,312,343连成的最大多位数为:343-312-13。 例如:n=4时,4个证 阅读全文
posted @ 2017-01-21 00:26 blcblc 阅读(521) 评论(0) 推荐(0) 编辑
摘要:这篇文章写的不错: http://www.cnblogs.com/CheeseZH/p/5169498.html 关注Linux的系统状态,主要从两个角度出发,一个角度是系统正在运行什么服务(ps命令);另外一个就是有什么连接或服务可用(netstat命令)。 netstat还可以显示ps无法显示的 阅读全文
posted @ 2017-01-20 00:44 blcblc 阅读(3894) 评论(0) 推荐(0) 编辑
摘要:一次完整的http事务 https://www.processon.com/view/link/56c6679ce4b0f0c4285e69c0 规范把 HTTP 请求分为三个部分:状态行、请求头、消息主体。类似于下面这样: 方法有: GET: 请求指定的页面信息,并返回实体主体。 HEAD: 只请 阅读全文
posted @ 2017-01-19 22:28 blcblc 阅读(295) 评论(0) 推荐(0) 编辑
摘要:精简版 Apache:出名比较早,09年左右是最流行的时期,功能强大,可以根据需求配置为基于进程,基于线程或者基于事件的,但是消耗内存较多,对硬件需求较高,内存是影响服务器性能的最关键因素,在VPS上不能很好的支持。 Nginx:属于后起之秀,近年来应用越来越广泛,主要特点是低内存消耗,可以很好的运 阅读全文
posted @ 2017-01-19 21:06 blcblc 阅读(249) 评论(0) 推荐(0) 编辑
摘要:简单来说,generator是一个能够返回迭代器对象的函数. yield的使用: 在python中,当你定义一个函数,使用了yield关键字时,这个函数就是一个生成器,它的执行会和其他普通的函数有很多不同,函数返回的是一个对象,而不是你平常 所用return语句那样,能得到结果值。如果想取得值,那得 阅读全文
posted @ 2017-01-19 19:35 blcblc 阅读(193) 评论(0) 推荐(0) 编辑
摘要:下面这篇对装饰器讲的很好,懂了。 http://python.jobbole.com/85056/ 《简单 12 步理解 Python 装饰器》 使用装饰器非常简单(见步骤10),但是写装饰器却很复杂。 2. 作用域 在 Python 函数中会创建一个新的作用域。Python 高手也称函数有自己的命 阅读全文
posted @ 2017-01-19 19:28 blcblc 阅读(441) 评论(0) 推荐(0) 编辑
摘要:之前有一篇关于共享内存的System V和Posix的对比: http://www.cnblogs.com/charlesblc/p/6261469.html POSIX(Portable Operating System Interface)可移植操作系统接口,这样的简写完全是为了和UNIX读起来 阅读全文
posted @ 2017-01-19 18:59 blcblc 阅读(4530) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2017-01-19 11:16 blcblc 阅读(90) 评论(0) 推荐(0) 编辑
摘要:http://www.cnblogs.com/CheeseZH/category/362370.html 阅读全文
posted @ 2017-01-19 11:10 blcblc 阅读(153) 评论(0) 推荐(0) 编辑
摘要:http://blog.csdn.net/dark_scope/article/details/14103983 据说在Deep Learning出来之前,SVM和Adaboost是效果最好的 两个算法,而Adaboost是提升树(boosting tree),所谓“提升树”就是把“弱学习算法”提升 阅读全文
posted @ 2017-01-19 11:08 blcblc 阅读(307) 评论(0) 推荐(0) 编辑
摘要:写的不错。 http://www.cnblogs.com/CheeseZH/p/5264465.html IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进程IPC。 一、管道 1、特 阅读全文
posted @ 2017-01-19 02:11 blcblc 阅读(486) 评论(0) 推荐(0) 编辑
摘要:看了这篇文章 http://blog.csdn.net/zouxy09/article/details/24971995/ 还是没怎么看懂。但是感觉蛮在理的。需要再看。 阅读全文
posted @ 2017-01-19 00:59 blcblc 阅读(214) 评论(0) 推荐(0) 编辑
摘要:http://www.cnblogs.com/CheeseZH/p/4096546.html 写的还不错。里面还引申了好几个概念,包括AdaBoost,L1/L2正则(范数)等。 提纲列一下: 1. 使用模型默认的损失函数 例如我在珍爱网做付费用户预测时,由于付费用户本身数量级就不大,所以我宁可误判 阅读全文
posted @ 2017-01-18 22:16 blcblc 阅读(329) 评论(0) 推荐(0) 编辑
摘要:http://www.cnblogs.com/CheeseZH/p/5283390.html 这个思路还是正确的: 首先处理大数据的面试题,有些基本概念要清楚: (1)1Gb = 109bytes(1Gb = 10亿字节):1Gb = 1024Mb,1Mb = 1024Kb,1Kb = 1024by 阅读全文
posted @ 2017-01-18 01:32 blcblc 阅读(220) 评论(0) 推荐(0) 编辑
摘要:参考这篇文章: http://blog.csdn.net/hackbuteer1/article/details/7971328 《海量数据随机抽样问题(蓄水池问题)》 随机抽样问题表示如下:要求从N个元素中随机的抽取k个元素,其中N无法确定。 解决方案: 程序的开始就是把前k个元素都放到水库中,然 阅读全文
posted @ 2017-01-17 23:43 blcblc 阅读(474) 评论(0) 推荐(0) 编辑
摘要:之前有一篇文章总结了一些字符串类的算法题目。 http://www.cnblogs.com/charlesblc/p/5987936.html 这里接着看。 下面这篇文章介绍了两道题目:最长重复子串,和最长不重复子串。分别用到了精妙的方法。 http://blog.csdn.net/hackbute 阅读全文
posted @ 2017-01-17 22:23 blcblc 阅读(596) 评论(0) 推荐(0) 编辑
摘要:之前有一篇文章,说了RPC的内容: http://www.cnblogs.com/charlesblc/p/6214391.html 如果有一种方式能让我们像调用本地服务一样调用远程服务,而让调用者对网络通信这些细节透明,那么将大大提高生产力,比如服务消费方在执行helloWorldService. 阅读全文
posted @ 2017-01-16 17:18 blcblc 阅读(258) 评论(0) 推荐(0) 编辑
摘要:看了这篇文章:http://www.cnblogs.com/LBSer/p/4753112.html 《如何健壮你的后端服务?》 觉得写得蛮好的。 把提纲摘录一下。具体的内容可以去看原文。 “怀疑第三方,防备使用方,做好自己”。 1 怀疑第三方 1.1 有兜底,制定好业务降级方案 我自己的例子:数据 阅读全文
posted @ 2017-01-16 15:04 blcblc 阅读(401) 评论(0) 推荐(0) 编辑
摘要:可以参考这篇文章: http://blog.csdn.net/whycold/article/details/47702133 两阶段提交保证了分布式事务的原子性,这些子事务要么都做,要么都不做。 而数据库的一致性是由数据库的完整性约束实现的,持久性则是通过commit日志来实现的,不是由两阶段提交 阅读全文
posted @ 2017-01-16 13:51 blcblc 阅读(1385) 评论(1) 推荐(1) 编辑
摘要:参考这篇文章,写的不错。 http://www.cnblogs.com/heaad/archive/2010/12/23/1914725.html 另外上一篇文章说了模拟退火算法。 遗传算法 ( GA , Genetic Algorithm ) ,也称进化算法 。 遗传算法是受达尔文的进化论的启发, 阅读全文
posted @ 2017-01-16 13:11 blcblc 阅读(260) 评论(0) 推荐(0) 编辑
摘要:这篇文章写的不错: http://www.cnblogs.com/heaad/archive/2010/12/20/1911614.html 今天感觉写文章和学东西,有点发散,东一块西一块,呵呵。要逐渐收敛。 一. 爬山算法 ( Hill Climbing ) 爬山算法实现很简单,其主要缺点是会陷入 阅读全文
posted @ 2017-01-16 11:54 blcblc 阅读(256) 评论(0) 推荐(0) 编辑
摘要:参考了这篇文章:http://www.cnblogs.com/LBSer/p/5183300.html 《mysql死锁问题分析》 写的不错。 如果Mysql死锁,会报出: 1.1 死锁成因&&检测方法 我们mysql用的存储引擎是innodb,从日志来看,innodb主动探知到死锁,并回滚了某一苦 阅读全文
posted @ 2017-01-16 00:00 blcblc 阅读(1690) 评论(0) 推荐(0) 编辑
摘要:参考 http://www.jb51.net/article/50047.htm 《MySQL行级锁、表级锁、页级锁详细介绍》 页级:引擎 BDB。表级:引擎 MyISAM , 理解为锁住整个表,可以同时读,写不行行级:引擎 INNODB , 单独的一行记录加锁 (更详细的行锁、表锁,可以参考:ht 阅读全文
posted @ 2017-01-15 23:43 blcblc 阅读(1613) 评论(0) 推荐(0) 编辑
摘要:参考 linux中fcntl()、lockf、flock的区别 这三个函数的作用都是给文件加锁,那它们有什么区别呢? 首先flock和fcntl是系统调用,而lockf是库函数。lockf实际上是fcntl的封装,所以lockf和fcntl的底层实现是一样的,对文件加锁的效果也是一样的。后面分析不同 阅读全文
posted @ 2017-01-15 19:20 blcblc 阅读(23945) 评论(3) 推荐(4) 编辑
摘要:先看了这篇: http://www.cppblog.com/thisisbin/archive/2010/02/07/107444.html 里面说了会维护两个队列,established 和 syn_rcvd的。而back_log指定的长度是两个队列之和(乘以一个系数) 当客户端的第一个SYN到达 阅读全文
posted @ 2017-01-15 17:44 blcblc 阅读(2696) 评论(0) 推荐(0) 编辑
摘要:这个网站非常好: http://www.rabbitmq.com/getstarted.html 把AMQP的各种用法都讲了,还带上了各种语言: 第一篇 http://www.rabbitmq.com/tutorials/tutorial-one-python.html 看到了no_ack=true 阅读全文
posted @ 2017-01-15 12:21 blcblc 阅读(445) 评论(0) 推荐(0) 编辑
摘要:参考这个:http://kb.cnblogs.com/page/73759/ 写的挺好 AMQP协议是一种二进制协议,提供客户端应用与消息中间件之间异步、安全、高效地交互。从整体来看,AMQP协议可划分为三层: 这种分层架构类似于OSI网络协议,可替换各层实现而不影响与其它层的交互。AMQP定义了合 阅读全文
posted @ 2017-01-15 12:05 blcblc 阅读(970) 评论(0) 推荐(0) 编辑
摘要:Memcached用了libevent,但是Redis没有用libevent。Redis的代码还没有libevent的三分之一。 libevent有下面几大部分组成: * 事件管理包括各种IO(socket)、定时器、信号等事件,也是libevent应用最广的模块; * 缓存管理是指evbuffer 阅读全文
posted @ 2017-01-15 10:15 blcblc 阅读(516) 评论(1) 推荐(0) 编辑
摘要:之前有一篇文章描述过一些对比: http://www.cnblogs.com/charlesblc/p/6078029.html 这里在代码和应用方面再说一下。 看一下两边的Helloworld基本就了解个大概。 libevent的hello world 上面Libevent最基本的事件驱动器是 e 阅读全文
posted @ 2017-01-15 09:55 blcblc 阅读(2212) 评论(0) 推荐(0) 编辑
摘要:参考 http://www.infoq.com/cn/articles/netty-high-performance 高性能的三个主题 1) 传输:用什么样的通道将数据发送给对方,BIO、NIO或者AIO,IO模型在很大程度上决定了框架的性能。 2) 协议:采用什么样的通信协议,HTTP或者内部私有 阅读全文
posted @ 2017-01-15 01:19 blcblc 阅读(268) 评论(0) 推荐(0) 编辑
摘要:这个里面讲了区块链的内容: http://www.cnblogs.com/charlesblc/p/6272785.html 今天和老婆讨论的时候,发现了一些细节需要进一步了解,所以看了些文章。下面几篇讲的很好: 《比特币私钥、公钥、钱包地址之间的关系》 讲了比特币交易的过程,基本就懂了(尤其是防止 阅读全文
posted @ 2017-01-14 23:36 blcblc 阅读(1478) 评论(0) 推荐(0) 编辑
摘要:设计模式六大原则(1):单一职责原则 原则(2) Liskov替换原则 里氏替换原则 任何基类出现的地方都应该可以无差别的使用子类替换。这样大大约束了继承的滥用。 设计模式六大原则(3):依赖倒置原则 高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。 解决方案 阅读全文
posted @ 2017-01-14 22:05 blcblc 阅读(217) 评论(0) 推荐(0) 编辑
摘要:http://hihocoder.com/problemset 阅读全文
posted @ 2017-01-14 21:58 blcblc 阅读(157) 评论(0) 推荐(0) 编辑
摘要:http://www.2cto.com/os/201205/130125.html find -perm,根据文件的权限来查找文件,有三种形式: find -perm mode find -perm -mode find -perm +mode find -perm mode , 表示严格匹配 fi 阅读全文
posted @ 2017-01-14 10:18 blcblc 阅读(835) 评论(0) 推荐(0) 编辑
摘要:SUID, SGID, sticky位可以参考: http://onlyzq.blog.51cto.com/1228/527247/ SUID属性只能运用在可执行文件上,当用户执行该执行文件时,会临时拥有该执行文件所有者的权限。 如果可执行文件所有者权限的第三位是一个小写的“s”就表明该执行文件拥有 阅读全文
posted @ 2017-01-14 10:17 blcblc 阅读(1015) 评论(0) 推荐(0) 编辑
摘要:先过一下Hard模式的题目吧。 Valid Number Word Ladder II Max Points on a Line LRU Cache Text Justification LFU Cache Wildcard Matching Range Sum Query 2D - Mutable 阅读全文
posted @ 2017-01-13 16:00 blcblc 阅读(668) 评论(0) 推荐(0) 编辑
摘要:参考 http://www.yiibai.com/java/util/java_util_treeset.html 另,用Java的TreeSet的ceiling可以模拟upper_bound(获得更大范围里面最小的数),floor可以模拟 lower_bound(获得更小范围内最大的数)。 阅读全文
posted @ 2017-01-12 15:36 blcblc 阅读(1289) 评论(0) 推荐(0) 编辑
摘要:参考这篇文章: http://www.cnblogs.com/mickole/p/3191832.html 《linux系统编程之信号(七):被信号中断的系统调用和库函数处理方式》 一些IO系统调用执行时, 如 read 等待输入期间, 如果收到一个信号,系统将中断read, 转而执行信号处理函数. 阅读全文
posted @ 2017-01-12 13:51 blcblc 阅读(2351) 评论(0) 推荐(0) 编辑
摘要:注意,sleep是会被信号唤醒的。 sleep函数:#include <unistd.h>unsigned int sleep(unsigned int seconds);此函数使调用进程被挂起,直到满足以下条件之一:1)已经过了seconds所指定的墙上时钟时间2)调用进程捕捉到一个信号并从信号处 阅读全文
posted @ 2017-01-12 13:32 blcblc 阅读(3559) 评论(0) 推荐(0) 编辑
摘要:概念太多了,信号,软中断,中断等等。试着做总结。 下面这个里面主要讲了硬件中断: http://www.cnblogs.com/charlesblc/p/6261741.html 下面这个里面主要讲了软中断,硬中断: http://www.cnblogs.com/charlesblc/p/62632 阅读全文
posted @ 2017-01-12 13:24 blcblc 阅读(7030) 评论(0) 推荐(2) 编辑
摘要:今天看到这道题目:http://www.cnblogs.com/charlesblc/p/5930311.html 题目地址:https://leetcode.com/problems/split-array-largest-sum/ 很好,也很难。开拓了思路,用二分法来查找结果备选,然后直接划分原 阅读全文
posted @ 2017-01-12 00:56 blcblc 阅读(629) 评论(0) 推荐(0) 编辑
摘要:唉,要开始好好准备面试了。 今天看到一道题目: 一个字符串,删除其中部分字母,能够组成的最长的回文串,是多长? 这道经典的题目,我居然开始的时候没想出来!虽然想到了动态规划,但是居然想到了首尾不同的话,尾部还要遍历,平白增加了非常多的编程复杂度。。。。。而实际上,只要简单的首尾比较然后动态规划就可以 阅读全文
posted @ 2017-01-11 17:52 blcblc 阅读(301) 评论(0) 推荐(0) 编辑
摘要:上一篇讲了拜占庭将军问题,讲的比较清晰: http://www.cnblogs.com/charlesblc/p/6271472.html 而上一篇也提到了,区块链技术比较好的解决了这个问题,而比特币就是基于区块链的。 先用这一篇科普:http://blog.sina.com.cn/s/blog_6 阅读全文
posted @ 2017-01-11 11:04 blcblc 阅读(6060) 评论(3) 推荐(0) 编辑
摘要:下面这篇文章,感觉讲的非常好: http://www.8btc.com/baizhantingjiangjun 拜占庭将军问题是一个共识问题: 首先由Leslie Lamport与另外两人在1982年提出,被称为The Byzantine Generals Problem或者Byzantine Fa 阅读全文
posted @ 2017-01-11 00:29 blcblc 阅读(14125) 评论(2) 推荐(1) 编辑
摘要:看这一个系列里面的文章(写的不好,语言太晦涩了,不要看了): http://ifeve.com/getting-started-with-stom-index/ 下面这个系列很不错: http://www.cnblogs.com/xia520pi/category/735194.html http: 阅读全文
posted @ 2017-01-10 00:25 blcblc 阅读(132) 评论(0) 推荐(0) 编辑
摘要:http://www.spongeliu.com/123.html 第一题,计算下面代码理论上总共打印了多少行:(网易2011笔试题) #include #include #include int main(){ int i; for(i = 0; i<5; i++){ fork(); printf 阅读全文
posted @ 2017-01-09 14:58 blcblc 阅读(181) 评论(0) 推荐(0) 编辑
摘要:参考这篇文章:http://blog.csdn.net/shuizhilan/article/details/6642040 PCB(process control block),进程控制块,是我们学习操作系统后遇到的第一个数据结构描述,它是对系统的进程进行管理的重要依据,和进程管理相关的操作无一不 阅读全文
posted @ 2017-01-09 01:57 blcblc 阅读(445) 评论(0) 推荐(0) 编辑
摘要:参考这篇 http://blog.csdn.net/pyjfoot/article/details/7989097 ipcs -m -s -q 分别对应集中ipc ipcs -l 显示limits: # ipcs -l Shared Memory Limits max number of segme 阅读全文
posted @ 2017-01-09 01:46 blcblc 阅读(602) 评论(0) 推荐(0) 编辑
摘要:参考 http://www.cnblogs.com/huxiao-tee/p/4660352.html 对linux文件系统不了解的朋友,请参阅我之前写的博文《从内核文件系统看文件读写过程》,我们首先简单的回顾一下常规文件系统操作(调用read/fread等类函数)中,函数的调用过程: 1、进程发起 阅读全文
posted @ 2017-01-09 01:44 blcblc 阅读(17188) 评论(3) 推荐(2) 编辑
摘要:参考 http://www.cnblogs.com/hnrainll/archive/2011/08/17/2142001.html 在Linux中进程退出分为了正常退出和异常退出两种。 1>正常退出 a. 在main()函数中执行return 。 b.调用exit()函数 c.调用_exit()函 阅读全文
posted @ 2017-01-09 01:06 blcblc 阅读(1317) 评论(0) 推荐(0) 编辑
摘要:参考这篇文章 http://blog.chinaunix.net/uid-27761170-id-5050258.html 代码如下: 这段代码将使myfun线程在所有cpu中依次执行一段时间,在我的四核cpu上,执行结果为 : system has 4 processor(s) thread 10 阅读全文
posted @ 2017-01-09 00:50 blcblc 阅读(1788) 评论(0) 推荐(0) 编辑
摘要:参考了这篇文章:http://blog.csdn.net/zhangskd/article/details/21992933 从本质上来讲,中断是一种电信号,当设备有某种事件发生时,它就会产生中断,通过总线把电信号发送给中断控制器(如 8259A)。 如果中断的线是激活的,中断控制器就把电信号发送给 阅读全文
posted @ 2017-01-08 23:32 blcblc 阅读(9050) 评论(0) 推荐(2) 编辑
摘要:参考这篇文章: http://www.cnblogs.com/coding-my-life/p/4782529.html 在linux下,每个进程都有自己的signal mask,这个信号掩码指定哪个信号被阻塞,哪个不会被阻塞,通常用调用sigmask来处理。同时每个进程还有自己的signal ac 阅读全文
posted @ 2017-01-08 23:16 blcblc 阅读(653) 评论(0) 推荐(0) 编辑
摘要:内核信号处理参考: http://www.spongeliu.com/165.html 信号本质上是在软件层次上对中断机制的一种模拟(注意区分中断、异常、信号),其主要有以下几种来源: 目前Linux支持64种信号。信号分为非实时信号(不可靠信号)和实时信号(可靠信号)两种类型,对应于 Linux 阅读全文
posted @ 2017-01-08 23:06 blcblc 阅读(1702) 评论(0) 推荐(0) 编辑
摘要:参考这篇文章: http://blog.chinaunix.net/uid-24599332-id-2122898.html SIGBUS和SIGSEGV也许是我们在平时遇到的次数最多的两个内存错误信号。内存问题一直是最令我们头疼的事情,弄清楚两个信号的发生缘由对我们很好的理解程序的运行是大有裨益的 阅读全文
posted @ 2017-01-08 21:31 blcblc 阅读(9126) 评论(0) 推荐(2) 编辑
摘要:Linux使用两级保护机制:0级供内核使用,3级供用户程序使用。从图中可以看出,每个进程有各自的私有用户空间(0~3G),这个空间对系统中的其他进程是不可见的。最高的1GB字节虚拟内核空间则为所有进程以及内核所共享。 http://developer.51cto.com/art/201110/299 阅读全文
posted @ 2017-01-08 13:57 blcblc 阅读(3478) 评论(0) 推荐(0) 编辑
摘要:http://www.cnblogs.com/bakari/p/5520860.html 内核从本质上看是一种软件——控制计算机的硬件资源,并提供上层应用程序运行的环境。 系统调用是操作系统的最小功能单位,这些系统调用根据不同的应用场景可以进行扩展和裁剪,现在各种版本的Unix实现都提供了不同数量的 阅读全文
posted @ 2017-01-08 13:57 blcblc 阅读(3530) 评论(0) 推荐(0) 编辑
摘要:参考 http://www.360doc.com/content/13/0817/11/7377734_307777806.shtml 我的理解,这里指的是用户进程的用户态空间和内核空间,也就是那个3G和1G的?当然,也可能指的是socket的发送接收,文件的发送接收等,都需要系统在内核态来实际的写 阅读全文
posted @ 2017-01-08 13:56 blcblc 阅读(1557) 评论(0) 推荐(1) 编辑
摘要:在这五个功能部件中,系统调用是用户程序或操作调用核心所提供的功能的接口;也是分析Linux内核源码几个很好的入口点之一。 http://www.yesky.com/20010813/192117_3.shtml 与系统调用相关的内容主要有:系统调用总控程序,系统调用向量表sys_call_table 阅读全文
posted @ 2017-01-08 13:49 blcblc 阅读(1644) 评论(0) 推荐(0) 编辑
摘要:参考 http://www.yesky.com/20010813/192117.shtml 结构化程序设计思想认为:程序 = 数据结构 + 算法。数据结构体现了整个系统的构架,所以数据结构通常都是代码分析的很好的着手点,对Linux内核分析尤其如此。 比如,把进程控制块结构分析清楚了,就对进程有了基 阅读全文
posted @ 2017-01-08 11:49 blcblc 阅读(5543) 评论(0) 推荐(0) 编辑
摘要:参考 http://www.startos.com/linux/tips/2011012822078.html 1)Linux和所有的UNIX操作系统都允许通过共享内存在应用程序之间共享存储空间. 2)有两类基本的API函数用于在进程间共享内存:System v和POSIX. (当然,还有mmap, 阅读全文
posted @ 2017-01-08 10:02 blcblc 阅读(9462) 评论(1) 推荐(1) 编辑
摘要:今天看到有文章说epoll里面用了mmap,还说进程不需要从内核读数据,只需要从用户态buffer读数据就可以。觉得很神奇,就查了一下,发现完全不是描述的那样。实际上,只是把要传递的fd通过mmap来传递的,而需要读fd里面的数据的话,还是要程序通过read fd来读的。如下: 这点实际上涉及到ep 阅读全文
posted @ 2017-01-07 22:23 blcblc 阅读(6276) 评论(3) 推荐(2) 编辑
摘要:1. 异步化, 以epoll为代表。libevent也是基于epoll而实现的。 2. 消息驱动, 是跟异步化相结合,reactor模式。另有Scala的Actor模式,是完全的消息交互。 3. 一些TCP参数, 比如禁掉Nagle选项,不要打开CORK算法,使得发包和ack不要延迟太多。 4. S 阅读全文
posted @ 2017-01-07 21:31 blcblc 阅读(760) 评论(0) 推荐(0) 编辑
摘要:总的来说,信息爆炸,产生了信息过载。解决的方法主要有两类:检索和推荐。检索是主动的有目的的、意图明确,推荐是非主动的、意图不明确。 推荐方面最经典的,就是协同过滤推荐了。我博客这里有两篇,一篇偏理论,一篇讲ALS实战。 《协同过滤 CF & ALS 及在Spark上的实现》 《协同过滤 & Spar 阅读全文
posted @ 2017-01-06 23:05 blcblc 阅读(492) 评论(0) 推荐(0) 编辑
摘要:说的通俗一点啊,最大似然估计,就是利用已知的样本结果,反推最有可能(最大概率)导致这样结果的参数值。例如:一个麻袋里有白球与黑球,但是我不知道它们之间的比例,那我就有放回的抽取10次,结果我发现我抽到了8次黑球2次白球,我要求最有可能的黑白球之间的比例时,就采取最大似然估计法: 我假设我抽到黑球的概 阅读全文
posted @ 2017-01-06 22:00 blcblc 阅读(12159) 评论(0) 推荐(0) 编辑
摘要:gdb thread apply all bt 如果你发现有那么几个栈停在 pthread_wait 或者类似调用上,大致就可以得出结论:就是它们几个儿女情长,耽误了整个进程。 注意gdb的版本要高于7.0,之前使用过gdb6.3调试多线程是不行的。 从上图可以看出两个线程都阻塞在wait上,而且还 阅读全文
posted @ 2017-01-06 16:47 blcblc 阅读(7210) 评论(0) 推荐(2) 编辑
摘要:Memory Barrier http://www.wowotech.net/kernel_synchronization/memory-barrier.html 这里面讲了Memory Barrier 对于一个c程序员,我们的编写的代码能所见即所得吗?我们看到的c程序的逻辑是否就是最后CPU运行的 阅读全文
posted @ 2017-01-06 12:47 blcblc 阅读(4030) 评论(0) 推荐(0) 编辑
摘要:spinlock在上一篇文章有提到:http://www.cnblogs.com/charlesblc/p/6254437.html 通过锁数据总线来实现。 而看了这篇文章说明:mutex内部也用到了spinlock http://blog.chinaunix.net/uid-21918657-id 阅读全文
posted @ 2017-01-06 12:35 blcblc 阅读(3079) 评论(0) 推荐(0) 编辑
摘要:bottom-half http://bbs.csdn.net/topics/60226240 在中断,异常和系统调用里看Linux中断服务一般都是在关闭中断的情况下执行的,以避免嵌套而是控制复杂化Linux将一些中断处理分成两部分,第一部分是在关中断的条件下执行的,具有"原子"性,而且是中断发生以 阅读全文
posted @ 2017-01-06 12:09 blcblc 阅读(2143) 评论(0) 推荐(0) 编辑
摘要:今天看wiki,看到一个提到什么什么会陷入 race condition & ABA problem。丫的我没听过ABA呀,那么我去搜了一下,如下: http://www.bubuko.com/infodetail-317006.html 《SpinLock 自旋锁, CAS操作(Compare & 阅读全文
posted @ 2017-01-05 23:30 blcblc 阅读(1465) 评论(0) 推荐(0) 编辑
摘要:作为机器学习重要的评价指标,标题中的三个内容,在下面读书笔记里面都有讲: http://www.cnblogs.com/charlesblc/p/6188562.html 但是讲的不细,不太懂。今天又理解了一下。看了这篇文章: https://www.douban.com/note/24727114 阅读全文
posted @ 2017-01-05 16:10 blcblc 阅读(18792) 评论(0) 推荐(1) 编辑
摘要:http://www.cnblogs.com/peileyuan/p/4775453.html <浅谈机器学习的职业发展方向> http://blog.sina.com.cn/s/blog_a7c41f530102uxda.html 设计过程中该收集什么数据如何从登陆日志中挖掘尽可能多的信息 bay 阅读全文
posted @ 2017-01-05 14:53 blcblc 阅读(341) 评论(0) 推荐(0) 编辑
摘要:csdn上面有一篇ppt,但是下载分太贵了。里面东西看起来讲的还可以。看看能不能嵌入。 http://download.csdn.net/detail/u012289698/9371461 <iframe width='738' height='523' class='preview-iframe' 阅读全文
posted @ 2017-01-05 14:44 blcblc 阅读(371) 评论(0) 推荐(0) 编辑
摘要:eventloop的基本概念可以参考:http://www.ruanyifeng.com/blog/2013/10/event_loop.html Eventloop指的是独立于主线程的一条线程,专门用来处理IO事件,而如果Eventloop一个不够用,可以开多个。 Eventloop底层也要基于异 阅读全文
posted @ 2017-01-04 12:14 blcblc 阅读(4367) 评论(1) 推荐(0) 编辑
摘要:SVM的文章可以看:http://www.cnblogs.com/charlesblc/p/6193867.html 有写的最好的文章来自:http://www.blogjava.net/zhenandaci/category/31868.html 这里面貌似也有一些机器学习文章:http://le 阅读全文
posted @ 2017-01-03 01:42 blcblc 阅读(3461) 评论(0) 推荐(0) 编辑
摘要:使用Spark进行ALS编程的例子可以看:http://www.cnblogs.com/charlesblc/p/6165201.html ALS:alternating least squares 关于协同过滤ALS原理的可以看这篇文章:http://www.docin.com/p-9388977 阅读全文
posted @ 2017-01-02 22:12 blcblc 阅读(3955) 评论(0) 推荐(0) 编辑
摘要:今天先是看到多线程级别的内容,然后又看到协程的内容。 基本的领会是,协程是对异步回调方式的一种变换,同样是在一个线程内,协程通过主动放弃时间片交由其他协程执行来协作,故名协程。 而协程很早就有了,那时候因为协程不够公平,很可能不会主要交出执行权;现在卷土重来。 跟异步一样,为了减少线程间切换,而尽量 阅读全文
posted @ 2017-01-02 15:23 blcblc 阅读(1337) 评论(0) 推荐(0) 编辑
摘要:另,线程的资源占用可见:http://www.cnblogs.com/charlesblc/p/6242111.html 进程 & 线程的很多知识可以看这里:http://www.cnblogs.com/charlesblc/p/6135666.html 线程一直是分系统级线程和用户级线程,也就是所 阅读全文
posted @ 2017-01-02 15:22 blcblc 阅读(4469) 评论(0) 推荐(3) 编辑
摘要:epoll是Linux高效网络的基础,比如event poll(例如nodejs),是使用libev,而libev的底层就是epoll(只不过不同的平台可能用epoll,可能用kqueue)。 epoll能够高效支持百万级别的句柄监听。 epoll高效,是因为内部用了一个红黑树记录添加的socket 阅读全文
posted @ 2017-01-02 14:59 blcblc 阅读(14214) 评论(2) 推荐(5) 编辑
摘要:另,进程 & 线程的很多知识可以看这里:http://www.cnblogs.com/charlesblc/p/6135666.html 今天查了一下进程和线程的资源占用。 比如问:栈和堆的大小? 答:栈是线程的概念,堆是进程的概念。 线程栈的大小,通过 ulimit -s 来设定。Linux默认是 阅读全文
posted @ 2017-01-02 10:43 blcblc 阅读(2493) 评论(0) 推荐(0) 编辑
摘要:https://zhuanlan.zhihu.com/p/20204159 这个系列真的非常好,好好领会学习一下 学习笔记在这里:http://www.cnblogs.com/charlesblc/p/6341265.html 阅读全文
posted @ 2017-01-02 01:02 blcblc 阅读(339) 评论(0) 推荐(0) 编辑
摘要:首先开宗明义,离开业务单独讨论并发,都是扯淡。 就像 https://www.zhihu.com/question/20493166/answer/15998053 这里面说的 谈并发必然要谈业务,空对空地就是扯淡,甭管说得多头头是道。 我们用某银行ATM取款为例:假设一个人从插卡到取完款平均需要2 阅读全文
posted @ 2017-01-01 12:24 blcblc 阅读(2694) 评论(0) 推荐(0) 编辑
摘要:这篇文章还是讲的不错的: http://www.cocoachina.com/game/20150924/13545.html 《开发者详解:端游及手游服务端的常用架构》 整理自知乎,文/韦易笑 开始的部分讲的比较简略。讲到后面大型MMO以及战网游戏,就比较入流了。 开宗明义,手游页游和端游的服务端 阅读全文
posted @ 2017-01-01 11:24 blcblc 阅读(10170) 评论(0) 推荐(0) 编辑
摘要:2016年就那么过去啦!2017年我们来啦!Hello 2017年! 2016年做了很多事情,学了很多东西,自己思考了很多,也成长了很多! 就像莎士比亚说的:“一切过往,皆成为序章。” 2016年,我理清了自己的技术方向:大并发服务器(C++)、机器学习、大型网络服务(Java)。 2017年我会继 阅读全文
posted @ 2017-01-01 10:08 blcblc 阅读(198) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示