background preloader

Creationix/nvm - GitHub

Creationix/nvm - GitHub

Staying up with Node.JS To many beginner Node.JS users, a fundamental and immediate apparent disadvantage of writing their web applications with Node.JS lies in the inability to save a file, refresh the browser and see their changes live. This “problem” is rooted of course in significantly different architectures. In the case of, for example, PHP applications we traditionally separate the role of the web server and request handler. In most setups, the web server is mostly limited to inspecting two pieces of a HTTP request: the resource (like /test.php) and the Host header (like www.mydomain.com) for virtual hosts (vhosts) support. GET /test.php HTTP/1.1Host: www.mydomain.com With this in place, it’s up to the execution of the “test.php” file to handle the work and produce the response. In Node.JS, this separation is not part of the core design. ^ The web server ^ The request handler The up solution Over at LearnBoost, we’ve solved these problems with two small projects: distribute and up. The power to distribute

Mixu's Node book - Table of Contents joyent/node - GitHub anode@microsoft My Node.js Linksheet - Progstr Filer Recently I have been looking around the internet for various info about Node.js. At first, my intent was to make some sort of infographic on the topic, but later I have changed my mind. I like infographics a lot, but they have an important limitation - their links aren't clickable. Some companies, using Node.js 37Signals.com use Node.js to write Pow, zero configuration Rack server for OS/X. academia.edu uses Node for background data processing. appendto.com Dow Jones - The WSJ Social front-end is written completely in node, using Express, ejs, and many other modules. duckduckgo.com uses it for XMPP bot im@ddg.gg. ebay.com uses Node.js in ql.io An HTTP gateway. ge.tt is a file sharing service. heroku.com use Node for internal tools. joyent.com is the basic supporter of Node.js. klout.com livechat.com gomockingbird.com is using Node.js and operational transformations to do real-time, collaborative wireframing. Palm/HP powers all the services in the new WebOS platform for mobile devices with Node.js.

Update on my Node.js Memory and GC Benchmark - Hannes Wallnöfer Posted on 29 September 2010 I was lucky enough to have a short chat with Ryan at JSConf.eu last weekend in Berlin about the memory allocation comparison between Node.js and RingoJS I had done. He didn’t have any suggestion for tuning Node.js or V8 for higher memory and garbage collector throughput, but thought it was possible that Node’s lackluster performance in the benchmark had to do with binary buffers and getting data in and out of them. Thinking about a memory and garbage collection benchmark that didn’t involve buffers quickly led me to JSON. Parsing JSON is a fairly frequent task for a web application, and it can put a considerable load on the garbage collector. Here’s the source code of the JSON parsing benchmark I wrote. The results I got confirmed those of the other benchmarks, with Node.js scoring 613 requests per second and RingoJS 1123 (this result was updated from the original post, see notes below). Notes

Max Ogden Blogotronz Description of and notes on the node.js Stream API There is also a screencast version of this article. node bills itself as JavaScript evented I/O. In a nutshell that means if you are trying to solve a problem that is I/O bound (the limiting factor is reading/writing to relatively slow interfaces) then node can provide some useful abstractions to you. An example is if you are writing an application that has to talk to multiple databases, a caching layer, a load balancer, external web services, mobile clients, third party auth providers and serve web applications then node acts as a nice glue between all of the things. "Streams in node are one of the rare occasions when doing something the fast way is actually easier. -@dominictarr in his high level node style guide The main tool in node's evented toolbox is the Stream. Readable Readable streams can also be paused and resumed, and it's up to the Stream implementer to write the pause() and resume() methods. Writable Simplified writable stream

Felix's Node.js Convincing the boss guide « Home / All Guides Now that you're all hyped up about using node.js, it's time to convince your boss. Well, maybe. I have had the pleasure of consulting for different businesses on whether node.js is the right technology, and sometimes the answer is simply no. So this guide is my opinionated collection of advice for those of you that want to explore whether node.js makes sense for their business, and if so, how to convince the management. Bad Use Cases CPU heavy apps Even though I love node.js, there are several use cases where it simply doesn't make sense. That being said, node.js allows you to easily write C++ addons, so you could certainly use it as a scripting engine on top of your super-secret algorithms. Simple CRUD / HTML apps While node.js will eventually be a fun tool for writing all kinds of web applications, you shouldn't expect it to provide you with more benefits than PHP, Ruby or Python at this point. NoSQL + Node.js + Buzzword Bullshit Good Use Cases JSON APIs Single page apps

Getting into Node | On the JVM Updated 2011-04-27: forgot to add Backbone.js Most of the net is abuzz about Node , so it’s hard to miss it. I’ve been sitting on the sidelines for several months now, but after attending a TechTalksTO talk on Node given by James Duncan of Joyent, I’m convinced I should dive in. tl;dr version Like C, Javascript is here to stay. What is Node? Node is a server side Javascript implementation. To make full use of this fast underpinning, Node follows a non-blocking, fully asynchronous programming mode, and encourages libraries to follow its example. Why Node and Not Another Server Side Javascript? The best known server side Javascript implementation is Rhino. Are there any fast alternatives to Rhino on JVM? Most of the server side Javascript implementations didn’t grasp the importance of non-blocking, asynchronous I/O. Why Asynchronous? Asynchronous programming is usually associated with GUI development where everything is event driven and asynchronous. That’s why you want non-blocking I/O. Then run

Related: