background preloader

Novatze

Facebook Twitter

浏览器的工作原理:现代网络浏览器幕后揭秘. 网络浏览器很可能是使用最广的软件。

浏览器的工作原理:现代网络浏览器幕后揭秘

在这篇入门文章中,我将会介绍它们的幕后工作原理。 我们会了解到,从您在地址栏输入 google.com 直到您在浏览器屏幕上看到 Google 首页的整个过程中都发生了些什么。 我们要讨论的浏览器 目前使用的主流浏览器有五个:Internet Explorer、Firefox、Safari、Chrome 浏览器和 Opera。 本文中以开放源代码浏览器为例,即 Firefox、Chrome 浏览器和 Safari(部分开源)。 Auto Complete with Redis. Hello!

Auto Complete with Redis

This isn't just a blog post, it is actually the Redis weekly update number eight, but we can't tell this to Google: naming posts like Redis Weekly update #... will not play well with Google indexing, so I'm starting to use blog post titles more predictive of what people will actually type into a search engine, in this specific case autocomplete redis, probably. Too bad that I'm forced to play the game of the SE0 L00z3r, but it's for a good reason. Felix's Node.js Style Guide. Opinionated (RPC) APIs vs RESTful APIs « PerfectAPI Blog PerfectAPI Blog. If you are not already aware, a few years ago there was some debate on the Internet as to when it was ok to call an API “RESTful”.

Opinionated (RPC) APIs vs RESTful APIs « PerfectAPI Blog PerfectAPI Blog

I won’t go into all the details, but suffice it to say that the well-respected originator of the term REST did not agree with the way his ideas were being implemented. One outcome of this debate was that we (the loose community of API developers) now use the ugly acronym HATEOAS to refer to the style of REST which its creator envisioned, and the purists don’t freak out too much when people call their “other” APIs RESTful. Part 1: Understanding event loops and writing great code for Node.js. As usual JSConf.eu was one of the best conferences I've been to this year.

Part 1: Understanding event loops and writing great code for Node.js

How does IO concurrency work in node.js despite the whole app running in a single thread. Linux Epoll介绍和程序实例 - sparkliang的专栏. Linux Epoll介绍和程序实例 1.

Linux Epoll介绍和程序实例 - sparkliang的专栏

Epoll是何方神圣? Epoll可是当前在Linux下开发大规模并发网络程序的热门人选,Epoll 在Linux2.6内核中正式引入,和select相似,其实都I/O多路复用技术而已,并没有什么神秘的。 其实在Linux下设计并发网络程序,向来不缺少方法,比如典型的Apache模型(Process Per Connection,简称PPC),TPC(Thread PerConnection)模型,以及select模型和poll模型,那为何还要再引入Epoll这个东东呢? 那还是有得说说的… 2. 如果不摆出来其他模型的缺点,怎么能对比出Epoll的优点呢。 2.1 PPC/TPC模型 这两种模型思想类似,就是让每一个到来的连接一边自己做事去,别再来烦我。 Design of Web Workers for NodeJS. The node-webworker module aims to implement as much of the HTML5 Web Workers API as is practical and useful in the context of NodeJS .

Design of Web Workers for NodeJS

Understanding the node.js event loop. So the largest waste with current programming technologies comes from waiting for I/O to complete.

Understanding the node.js event loop

There are several ways in which one can deal with the performance impact (from Sam Rushing): Managing Node.js Dependencies with Shrinkwrap. Photo by Luc Viatour (flickr) Managing dependencies is a fundamental problem in building complex software.

Managing Node.js Dependencies with Shrinkwrap

The terrific success of github and npm have made code reuse especially easy in the Node world, where packages don't exist in isolation but rather as nodes in a large graph. The software is constantly changing (releasing new versions), and each package has its own constraints about what other packages it requires to run (dependencies). npm keeps track of these constraints, and authors express what kind of changes are compatible using semantic versioning, allowing authors to specify that their package will work with even future versions of its dependencies as long as the semantic versions are assigned properly. This does mean that when you "npm install" a package with dependencies, there's no guarantee that you'll get the same set of code now that you would have gotten an hour ago, or that you would get if you were to run it again an hour later.

Shrinkwrapping packages. API Guide. Semantic Versioning 2.0.0-rc.1. SilkJS - Getting Started. The asynchronous programming model provides only one real advantage over the synchronous programming model.

SilkJS - Getting Started

If you have a very large number of clients connecting to the server and the server is not required to respond as quickly as possible, then asynchronous is the way to go. A good example of a use case for asynchronous programming is serving large media files (e.g. movies) that stream over a long period of time. Otherwise, the synchronous programming model is the way to go. Processes In the Unix environment a process is an individual memory protected address space running some program.

Coffee Perspective. Node.js. Socketstream/socketstream. Modules · joyent/node Wiki. Scaling Realtime. AR Drones actually sound the same in real life as the flying drones in Hollywood movies, a high pitched spinning squeal that spits a little when it changes course.

Scaling Realtime

The sound echoes against a dark wood floor covering a former public pool floor of the Stadtbad Oderberger Straße. The muffled noise serves as sound insulation between groups of programmers, some huddled together around tables above the turquoise tiled pool walls and others sitting cross legged on the wood floor. Nodejs-code.

Deployment

Mongoose Quick Start v3.5.4. First be sure you have MongoDB and Node.js installed. Next install Mongoose from the command line using npm: $ npm install mongoose Now say we like fuzzy kittens and want to record every kitten we ever meet in MongoDB. The first thing we need to do is include mongoose in our project and open a connection to the test database on our locally running instance of MongoDB. var mongoose = require('mongoose'); mongoose.connect(' We have a pending connection to the test database running on localhost.