Scrapy
Scrapy
Scrapy is an open source and collaborative framework for extracting the data you need from websites.
In a fast, simple, yet extensible way.
安装实战
更新 pip
$ sudo pip install --upgrade pi...
2018-05-25 13:49:10 |
Python
Redisson 入门教程
Redisson
Redisson - distributed Java objects and services (Set, Multimap, SortedSet,
Map, List, Queue, BlockingQueue, Deque, BlockingDeque, Semaphore, Lock, AtomicLong,
Map Reduce, Publish / Sub...
2018-05-24 15:03:04 |
Cache
NodeJs-08-database access js 如何直接访问数据库实战
Q1-js 可以直接和数据库交互吗?
JavaScript 本身不能直接与数据库交互,但在 Web 应用程序中,可以使用 JavaScript 操作数据库。
通常情况下,JavaScript 通过 AJAX 请求从服务器获取数据,然后将数据呈现给用户。
在服务器端,可以使用 Node.js 运行 JavaScript 代码,并使用 Node.js 提供的模块来连接数据库。
例如,可以...
2018-05-02 12:35:38 |
NodeJs
NodeJs-07 Do Not Block Event Loop
TL; DR
Node.js在事件循环(初始化和回调)中运行JavaScript代码,并提供一个工作池来处理像文件I/O这样的昂贵任务。
节点伸缩性好,有时比像Apache这样的重量级方法要好。
Node的可伸缩性的秘密在于它使用少量的线程来处理许多客户机。
如果Node可以使用更少的线程,那么它可以花费更多的系统时间和内存来处理客户机,而不是为线程(内存、上下文切换)支付空间和时间开销。...
2018-05-02 12:35:38 |
NodeJs
NodeJs-06 Event Loop
Event Loop
Event Loop 可以让 Node.js 实现非阻塞的 IO 操作,尽管 Node.js 本身是单线程的。
Node.js 通过将自身的操作卸载到操作系统中,现在的操作系统大多数是多核的,
可以再后台处理多个操作,并且当操作完成之后,会在合适的时间通知 Node.js,让 Node.js 拿到真正的执行结果。
Event Loop 解释
Node.js 启...
2018-04-27 10:07:14 |
NodeJs
NodeJs-05 Blocking vs Non-Blocking
阻塞(Blocking)
Blocking
是在节点中执行额外的JavaScript时。js进程必须等待非javascript操作完成。这是因为在发生阻塞操作时,事件循环无法继续运行JavaScript。
在 Node.js,由于CPU密集型而不是等待非JavaScript操作(比如I/O)而表现不佳的JavaScript,通常不被称为阻塞。
节点中的同步方法。使用 libuv 的js...
2018-04-26 03:17:51 |
NodeJs
NodeJs-04 Profile, Docker
Profile
NodeJS 调优 的方式有多种。
使用 profiler inside V8 可以让程序执行期间定期对栈进行采样。
启用
执行命令如下:
node --prof ${js_file_name}
log
执行这个命令之后,会在 js 同级目录下生成一个 isolate-0x102802400-v8.log 文件。
里面记录的内容比较多,节选部分
v8-ve...
2018-04-25 06:05:12 |
NodeJs
NPM-05-npm publish 发布与 CDN
npm 初始化
cnpm init
一个项目,首先初始化,然后填写对应的基本信息。
属性
接着就依次填写, 不想填写的话也可以一路Enter
name: 模块名,之后发布之后就可以让用户npm install xxxx来引用你的开源模块了 version:
版本号,语义版本号分为X.Y.Z三位,分别代表主版本号、次版本号和补丁版本号。当代码变更时,版本号按...
2018-04-24 14:22:23 |
NPM