Archive: 2015

python调用C++ —— ctypes库尝试

python调用c++有很多种方法,今天我就来整理使用一下python中ctypes模块的用法。 网上可以找到很多关于ctypes的使用资料,但都不全:1.类型介绍不完整2.只有python传入c++参数3.只有python接收c++返回我就针对以上的问题,作一个比较全面的使用介绍吧。 使用很简单,各种拼拼凑凑,看代码就可以懂,就不多说了。

js获取dom元素长宽之坑

此坑消耗我好久时间,mark一下。 1.需求描述最近项目需要,要做一个根据鼠标事件位置显示popover的功能效果。要在鼠标点击位置之上,居中显示一个template的div,因此我需要获得这个div的长宽。

threadpool in python

用python实现了一个简易的线程池对于线程池的不用应用场景对如下几个feature作了分类1.按工作总量分 工作总量已知: 需要计算的工作在threadpool启动之前就已经定了,对于threadpool只需要指定线程数量就好了,此类threadpool的工作流程如下,在启动前设置好线程池的大小,分割好子工作放入workers列表中,每个线程每次循环从列表中取出一个工作去做,如果列表已空,该线程退出。 这类线程池是最容易实现的一种,只需用一个互斥锁对workers队列做一个互斥访问即可

play with Markdown

标题 一级标题二级标题三级标题四级标题五级标题六级标题大标题

nodejs work in cluster

nodejs小练习直接上源码,ps(他的集群可以共享连接,共享端口,这点很赞)

Nodejs 豆瓣自动顶贴工具

应朋友需求,帮他写一个这样的工具,时间挺久了,出于各方面自身及其它的原因,一直没有能够帮他去做,也挺内疚的。这次辞职了,有几天时间,从今天起,打算帮他做一下,期间的困难和突破会持续更新在这篇文章里面,看看自己会花多久。 刚上来就给我出了一个题:

mongodb 构建 replset 实现高可用

上周遇到了digital ocean服务器厂商主机崩溃的事情。当时我只是单点部署了mongodb,数据全在美国服务器。这下直接导致数据库不能用,如果主机就此起不来或者是其它原因导致数据丢失的话,哭也来不及了。为了防止下次遇到类似的事情,决定为数据库部署一个副本集架构(replica set)

next_permutation

产生一个数列的全排列,自己想了一个实现算法,和stl里面的实现算法一样,具体的思路都在注释中。代码中还实现了一种递归的做法,参考了网上的资料,递归的做法代码简短很多,但可操作性而言,没有next方式好。因为实际应用中需要针对每个permutation作相应的操作。用递归的话需要把操作写在permutation的实现中,耦合性很高。另外,递归的方式受限于系统栈空间的大小,N只能在一定范围内处理。理论上,next的方式N可以无限大。

Just for fun.用线程池并行处理ACM多组输入加快运算速度(对于算法提高不推荐)

做一道google code jam的题目来试试看我的线程池构想,看看速度会不会快很多。 其实这题我的算法并不是最优的,所以才会导致10分钟还出不了答案,要是真在code jam上比赛的话妥妥的跪了。但就算算法不好,我如果充分利用CPU的资源,使用多线程框架,会不会出结果时间快很多呢?试试看吧! 这个纯粹是玩玩的,如果要提高算法能力的话,不建议这么搞 code jam 原题地址戳这里注:需要翻墙的哦

nodejs 源码浅析(三)——用户模块编译加载原理

继上一篇:这篇将会对C++用户模块以及js用户模块的加载流程作一个简单的分析。 3.js用户模块只要是用户自己写的js模块,都归在这一类,包括通过npm install得到的模块也属于这个部分。在_load()接口中,会首先判断要加载的模块是不是js核心模块,在这里逻辑就不走进去了,而是直接新建一个模块对象,并且把它放进缓存中,以加快下次加载的速度。