Home

文本文件和二进制文件读写

探究这个的起因是我在序列化一个数据结构,用二进制写到文件之后用vim打开发现后面居然多了一个值。 所以总结一下文件的两种不同写入方式。(当然上面是vim里面xxd显示的问题) 我们用如下代码测试: int main(int argc, const char *argv[]) { FILE * fp = fopen("output.txt", "w"); fputc(10, fp); fputc(13, fp); fputc('\n', fp); fclose(fp); fp = fopen("output.bin", "wb"); int32_t length[] ={0x0a, 0x12345678}; fwrite(&leng...

Read more

sublime根据markdown引用生成参考文献的插件

写这个的目的主要是每次写博客需要生成以下版权声明,免得引用了别人的文章被人说盗版。markdown里面支持通过列表组织引用的url,如下所示: [1]: http://www.baidu.com "百度" [2]: http:://www.google.com "谷歌" [3]: http://www.facebook.com "404 Not Found" 我们可以通过这个形式来生成如下的代码 效果如下:

Read more

octopress支持markdown表格

pandoc支持扩展的markdown,也就是支持类似于如下的表格: ----------------------------------------------------------------------------------------------------------------- 测量指标 低程度中心性 低亲近中心性 低居间中心性 -------------------- ------------------- ----------------------------- ------------------------------------- 高程度中心...

Read more

octopress的缩进插件

我们写中文的时候通常有首行缩进的需求,markdown默认是不支持的,octopress和wordpress也没有缩进的css。这里我们通过加个插件的方式完成。 首先,处理markdown的渲染。我们建立如下插件: module Jekyll module IndentFilter def indent(content) content.gsub(/<p>\s\s/, '<p class="indent">') end end end Liquid::Template.register_filter(Jekyll::IndentFilter) 这个就是做了个替换。会把行首的两...

Read more

oceanbase设计中的注意事项

没有情况什么是不可能发生的 RPC或者其他网络调用是不一定能够返回结果的。也就是有三种可能,正确,失败,超时。 开发文档是需要一边写一边改最后再补的。 自顶向下,逐步求精还是有效的办法。方便解决很多设计上想不到的地方,细节永远最后再做,毕竟之前想的可能过一段时间决定不做了。 复杂任务要分成多个可测试的阶段完成,每个阶段保证能单独测试。为此多写一些代码也是值得的。 我们不是业务驱动,也不是技术驱动,而是测试驱动的….. 做好单测 做好单测…

Read more

成像入门

其实我只是感性的解释一下一些基本的原理。 成像同一个点发出的所有光线在焦平面汇聚的结果。从原理上讲,小孔成像是更优的成像方式,因为小孔过滤了光线,让每个像点发出的光只有一束能参与成像,但是这样容易导致亮度偏低,同时小孔也不能像理论上说的足够小。 如果胶片/CCD刚好位于焦平面上,那么成像最清晰,焦平面前后的一段距离里面,成像虽然不够清晰但是也能接受,出了这个区域就认为不再能够成像。这个区域就是弥散斑所在的区域。对应的物体距离范围叫景深。 镜片如果折光度高的话,那么成像位置靠前,像小,同时光线聚焦点密度增加导致景深增加(算相等的物距,如果两个点聚焦之后的焦深不大的话,那么把底片移动到其中一个点上,另一个点的弥散圈也不大)。这就是短...

Read more

Nginx 安装配置总结

具体的可以看参考文献里面的三篇博客,中间遇到一个问题,nignx提示无法找到php文件。主要有两个原因: 确定nginx工作线程的启动用户有权限访问www-root,需要修改nginx.conf的这里: user www-data; 确定www-root配置正确,需要修改这里: fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 参考文献: [1] nginx配置入门, http://www.nginx.cn/591.html [2] Nginx安装, http://www.nginx.cn/install...

Read more

总结STL的通用算法基本形式

stl的通用算法基本有如下四种形式: alg(beg, end, params):使用源输入作为输出 alg(beg, end, dest, params) :使用dest作为输出,需要保证有足够的空间,所以往往使用inserter alg(beg, end, beg2, other params):beg2作为输出,假定beg2开始的范围至少跟beg和end指定的范围一样大。 alg(beg, end, beg2, end2, params):beg2 end2作为输出 举例: 第一种比如: find(beg, end, search_value); sort(beg, end); accumulate(beg, end, original_value...

Read more