此坑消耗我好久时间,mark一下。
1.需求描述
最近项目需要,要做一个根据鼠标事件位置显示popover的功能效果。要在鼠标点击位置之上,居中显示一个template的div,
因此我需要获得这个div的长宽。
Tech
angularjs, jquery, js
Word Count: 15k(words)
Read Count: 55 mins.(minutes)
用python实现了一个简易的线程池
对于线程池的不用应用场景对如下几个feature作了分类
1.按工作总量分
需要计算的工作在threadpool启动之前就已经定了,对于threadpool
只需要指定线程数量就好了,此类threadpool的工作流程如下,在启动前
设置好线程池的大小,分割好子工作放入workers列表中,每个线程每次
循环从列表中取出一个工作去做,如果列表已空,该线程退出。
这类线程池是最容易实现的一种,只需用一个_互斥锁_对workers队列做一个
互斥访问即可
Tech
python, threadpool, 并发
Word Count: 9.8k(words)
Read Count: 36 mins.(minutes)
标题
一级标题
二级标题
三级标题
四级标题
五级标题
六级标题
大标题
Tech
markdown
Word Count: 8.1k(words)
Read Count: 29 mins.(minutes)
nodejs小练习
直接上源码,ps(他的集群可以共享连接,共享端口,这点很赞)
Tech
nodejs
Word Count: 4.4k(words)
Read Count: 16 mins.(minutes)
应朋友需求,帮他写一个这样的工具,时间挺久了,出于各方面自身及其它的原因,一直没有能够帮他去做,也挺内疚的。这次辞职了,有几天时间,从今天起,打算帮他做一下,期间的困难和突破会持续更新在这篇文章里面,看看自己会花多久。
刚上来就给我出了一个题:
Tech
http, nodejs, 爬虫
Word Count: 774(words)
Read Count: 3 mins.(minutes)
上周遇到了digital ocean服务器厂商主机崩溃的事情。当时我只是单点部署了mongodb,数据全在美国服务器。这下直接导致数据库不能用,如果主机就此起不来或者是其它原因导致数据丢失的话,哭也来不及了。
为了防止下次遇到类似的事情,决定为数据库部署一个副本集架构(replica set)
Tech
mongodb
Word Count: 1.1k(words)
Read Count: 4 mins.(minutes)
产生一个数列的全排列,自己想了一个实现算法,和stl里面的实现算法一样,具体的思路都在注释中。
代码中还实现了一种递归的做法,参考了网上的资料,递归的做法代码简短很多,但可操作性而言,没有next方式好。因为实际应用中需要针对每个permutation作相应的操作。用递归的话需要把操作写在permutation的实现中,耦合性很高。
另外,递归的方式受限于系统栈空间的大小,N只能在一定范围内处理。理论上,next的方式N可以无限大。
Tech
c++, 算法
Word Count: 8.8k(words)
Read Count: 32 mins.(minutes)
做一道google code jam的题目来试试看我的线程池构想,看看速度会不会快很多。
其实这题我的算法并不是最优的,所以才会导致10分钟还出不了答案,要是真在code jam上比赛的话妥妥的跪了。
但就算算法不好,我如果充分利用CPU的资源,使用多线程框架,会不会出结果时间快很多呢?试试看吧!
这个纯粹是玩玩的,如果要提高算法能力的话,不建议这么搞
code jam 原题地址戳这里
注:需要翻墙的哦
Tech
c++, gcj, threadpool, 并发, 算法
Word Count: 29k(words)
Read Count: 1:46(minutes)
继上一篇:
这篇将会对C++用户模块以及js用户模块的加载流程作一个简单的分析。
3.js用户模块
只要是用户自己写的js模块,都归在这一类,包括通过npm install得到的模块也属于这个部分。
在_load()接口中,会首先判断要加载的模块是不是js核心模块,在这里逻辑就不走进去了,而是直接新建一个模块对象,并且把它放进缓存中,以加快下次加载的速度。
Tech
nodejs
Word Count: 12k(words)
Read Count: 45 mins.(minutes)
模块加载原理
nodejs中,一共有四种类型的模块,C++核心模块(内建模块),js核心模块,C++用户模块,js用户模块。这部分来分别探讨下这些模块的编译加载流程。
问题:
1.require、exports、module这些对象用户没有声明过,但用户还是可以直接用require(),exports,这是为什么?
2.引入别的模块的流程如何?
1.js核心模块加载原理
每个js模块都是一个文件,一个文件一个模块,在js代码中就是一个Module对象。至于那些整个包构成的模块,也是有一个对外的文件,如果没有指定默认是index.js作为出口文件,该文件内部又会使用require去包含其它的文件。
Tech
nodejs
Word Count: 16k(words)
Read Count: 57 mins.(minutes)