代码改变世界

博客转移

2014-03-20 10:10 by Ryan_Liu, 159 阅读, 0 推荐, 收藏, 编辑
摘要:开始用github pages了,此博客关闭 阅读全文

准确率与召回率

2014-03-12 10:00 by Ryan_Liu, 195 阅读, 0 推荐, 收藏, 编辑
摘要:周一我开始Recall这周做过的事情,我想起了5件事情去问朋友,这5件事只有4件是我真正做过的,故准确率是 4/5 = 80%后来我翻阅自己日记,发现自己其实做过8件事,故Recall率是4/8 = 50% 阅读全文

TCP连接的问题以及TIME_OUT状态

2014-02-22 13:05 by Ryan_Liu, 3174 阅读, 0 推荐, 收藏, 编辑
摘要:本文主要讨论两个问题1、为什么TCP链接设计为三次握手(为什么不是两次或者四次)2、TIME_OUT状态的一些问题首先第一个,先看一个所谓Two Generals' Problem两个将军想要攻打同一个敌人,必须他们同时攻打才可能胜利。他们的通信方式,接设是信鸽传递。信鸽可能被其他人捕获从而达不到另一个将军的地方。模拟过程如下:A给B发信息,我们明天进攻如何?假设B收到了,B给A回复信息:可以。这时候B是不敢明天进攻的,因为他不确定自己的消息是否被A接到。假设A接到,A回复:收到你统一的消息。这时A也是不敢明天进攻的,因为他不确定自己这条信息是否被B收到。假设B又收到这条消息,B回复。 阅读全文

gcc 使用说明

2014-02-21 09:34 by Ryan_Liu, 308 阅读, 0 推荐, 收藏, 编辑
摘要:gccis the "GNU" C Compiler, andg++is the "GNU C++ compiler, whileccandCCare the Sun C and C++ compilers also available on Sun workstations. Below are several examples that show how to use g++ to compile C++ programs, although much of the information applies to C programs as well as co 阅读全文

C++中的 extern "C" 的作用

2014-02-21 09:16 by Ryan_Liu, 389 阅读, 0 推荐, 收藏, 编辑
摘要:先举个简单的例子,把如下代码保存为test.cppextern "C" { int foo() { return 1; }}int bar() { return 1;}然后如下编译为obj文件,g++ -c test.cpp -o test.o然后运行如下命令 nm test.o (查看obj文件中的symbols names)得到如下结果00000000 T foo0000000a T _Z3barv这里可以看出区别,如果一个c++文件函数的定义加上了 extern "C" 那么它生成obj文件时,用于链接用的名字会按照c语言obj形式来生成,而不进行 阅读全文

每天早起,每天写博

2014-02-21 08:35 by Ryan_Liu, 207 阅读, 0 推荐, 收藏, 编辑
摘要:马上要找工作了,自己还是弱到不解释,在网上随便搜索笔经面经,感觉他们都太强大了,和我都不是一个数量级的。唉,也是,从小到大没有一件事自己认真对待过,凭借着自己的小聪明也算读了大学。然而贪玩的本性让我失去太多。想要弥补也已经措手不及。别想太多,做好自己手头的东西,如果没有事情做,就好好的静下心来学习一样东西。每天早起,每天写博,加油 阅读全文

Python中的函数默认参数

2014-01-17 21:23 by Ryan_Liu, 7006 阅读, 0 推荐, 收藏, 编辑
摘要:今天想编写个Trie树的小东西,没想到居然遇到python中的一个很知名的坑,看似没毛病的代码,就是得不到正确结果,最后在stackoverflow上才寻得大牛解释。故记录如下。大致是这样一个问题def fun(a=[]): a.append(1) print a#执行3次fun() 预料结果应该是[1] [1] [1] 实际结果如下fun() #[1]fun() #[1,1]fun() #[1,1,1]...这个问题叫做default mutable parameter values,为何会发生这样的结果呢?不急,举个简单的例子def fun1(a): a.append(1) pri... 阅读全文

C++中的#pragma pack效果

2014-01-15 23:25 by Ryan_Liu, 855 阅读, 0 推荐, 收藏, 编辑
摘要:先说pragma,参考msdn,A "pragma" instructs the compiler to perform a particular action at compile time. Pragmas vary from compiler to compiler.再来说pragma pack这个制定字节对其的指令,如果制定了字节对齐,那么编译器将按照指定好的指令来生成代码,对性能将会造成一定影响。编译器的默认优化,有点空间换取时间的感觉。。#pragma packinstructs the compiler to pack structure members wi 阅读全文

Linux小工具bc使用

2014-01-08 09:16 by Ryan_Liu, 1060 阅读, 0 推荐, 收藏, 编辑
摘要:现在才知道bc竟然是可以编程的,不得不佩服linux各种工具的博大精深(推荐一本书,software toolsman bc,bc可加的参数有bc [ -hlwsqv ],其中我们常用的也就是-l了,它的意思是定义一些常用的数学库,比如log,sin之类的,所以一般打开bc的命令为bc -l常用的数学运算的书写方式s (x) The sine of x, x is in radians.c (x) The cosine of x, x is in radians.a (x) The arctangent of x, arctangent returns radians.l (x) The na 阅读全文