代码改变世界

SIGPIPE

2015-05-20 20:40 by 放作夥, 406 阅读, 0 推荐, 收藏, 编辑
摘要:看到很多网络程序都有一段忽略SIGPIPE信号的处理,故总结一下。第一次对其disconnected socket调用write方法时, 如果发送缓冲没问题, 会返回正确写入(发送). 但发送的报文会导致对端发送RST报文, 因为对端的socket已经调用了close, 完全关闭, 既不发送, 也不... 阅读全文

(转)Signal handling in Linux

2015-05-20 13:17 by 放作夥, 290 阅读, 0 推荐, 收藏, 编辑
摘要:IntroductionPerhaps any engineer developing for Linux encounters this problem. What’s is the right way to terminate the program? What are the ways to ... 阅读全文

向Github提交一次错误的commit后该怎么办

2015-05-20 12:18 by 放作夥, 507 阅读, 0 推荐, 收藏, 编辑
摘要:方法一采用git reset结合git push -f的方法。方法二采用git revert的方法。git revert HEAD 阅读全文

求互粉用户

2015-05-18 20:29 by 放作夥, 254 阅读, 0 推荐, 收藏, 编辑
摘要:2G的文件,里面有两列,一列是用户id,另一列是该用户的粉丝id,如12345 56321就是说56321是12345的粉丝,求互粉的用户。解法:1.脑子要马上反应到两列都是数字,既然是数字就有50%的几率要用到排序。 2.把文件拷贝一份,列互换,然后两个文件都排序(外排序),然后类似于双指... 阅读全文

图总结

2015-05-17 22:12 by 放作夥, 209 阅读, 0 推荐, 收藏, 编辑
摘要:基础概念1.带权重的图叫网络2.邻接矩阵的对角线为0,无向图的邻接矩阵关于对角线对称。3.无向图沿着行或列扫描即可得到某顶点的度(邻接点),有向图沿着行扫描得到出度,沿着列扫描得到入度。4.邻接矩阵对于存储稀疏图(边数很少)很浪费资源。5.连通图即各个点都是连通的无向图,强连通图即各个点强连通的有向... 阅读全文

http服务器怪事

2015-05-03 21:03 by 放作夥, 177 阅读, 0 推荐, 收藏, 编辑
摘要:上网见到有个人说他的http服务器会莫名crash,下载下来后调了下发现是因为忘记了检测非正常的请求的情况。什么是正常的请求什么又是非正常的呢。正常的就是一个连接请求过来然后下载网页,但是我发现浏览器会同时有很多个连接过来,然后只有一个用来传数据。其他几个建立连接之后就不动了。因为网友的http服务... 阅读全文

TCP再次总结

2015-04-30 10:28 by 放作夥, 185 阅读, 0 推荐, 收藏, 编辑
摘要:网络编程是个深水区,远没有看起来那么简单,接触他的人才会深有体会。tcp是个字节流的概念,所以会有更好的传输控制,不同于ip层只有包交换的概念。tcp包最大传输单元叫MSS,链路层的叫MTU,不是一个概念,不要混淆。接收端一般就是这样的动作 while (read(........... 阅读全文

TCP是可靠传输,为什么应用层还要做校验

2015-04-25 21:55 by 放作夥, 1578 阅读, 0 推荐, 收藏, 编辑
摘要:之前一直有过这个困惑。目前我看到的一个比较好的解释是对于TCP层来说,只是数据流的概念,数据的逻辑语义没有保障,像数据的正确性则没有保证,比如说数据有没有被篡改,算是对应用层的一种保护吧。还有一点我自己想到的是,比方说你有一个文件服务器,tcp确实保证了每一个tcp封包到达,但是你的应用程序的正确性... 阅读全文

c++的坑

2015-04-23 21:55 by 放作夥, 189 阅读, 0 推荐, 收藏, 编辑
摘要:碰到两个坑,记录一下。1.class A{public: void test(){}};int main(){ A a(); //本意是定义一个A对象,实际结果是声明一个返回值为A类型的函数,导致下一句编译失败 a.test(); return... 阅读全文

设计模式六大原则之五:迪米特法则

2015-04-12 21:22 by 放作夥, 166 阅读, 0 推荐, 收藏, 编辑
摘要:定义:一个对象应该对其他对象保持最少的了解。问题由来:类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大。解决方案:尽量降低类与类之间的耦合。自从我们接触编程开始,就知道了软件编程的总的原则:低耦合,高内聚。无论是面向过程编程还是面向对象编程,只有使各个模块之间的耦合尽量... 阅读全文
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 13 下一页