background preloader

Node.JS

Facebook Twitter

Introduction - Chrome V8. Welcome to the developer documentation for V8.

Introduction - Chrome V8

V8 is Google's open source, high performance JavaScript engine. It is written in C++ and is used in Google Chrome, Google's open source browser. This documentation is aimed at C++ developers who want to use V8 in their applications, as well as anyone interested in V8's design and performance. This document introduces you to V8, while the remaining documentation shows you how to use V8 in your code and describes some of its design details, as well as providing a set of JavaScript benchmarks for measuring V8's performance.

About V8 V8 implements ECMAScript as specified in ECMA-262, 5th edition, and runs on Windows (XP or newer), Mac OS X (10.5 or newer), and Linux systems that use IA-32, x64, or ARM processors. V8 compiles and executes JavaScript source code, handles memory allocation for objects, and garbage collects objects it no longer needs. 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): The second basis thesis is that thread-per-connection is memory-expensive: [e.g. that graph everyone showns about Apache sucking up memory compared to Nginx] Apache is multithreaded: it spawns a thread per request (or process, it depends on the conf). You can see how that overhead eats up memory as the number of concurrent connections increases and more threads are needed to serve multiple simulataneous clients. Performance web Node.JS. Benchmarking Node.js - basic performance tests against Apache + PHP. Several days ago I have done few very basic performance tests to see how node.js server behaves compared to Apache when serving very simple pages.

Benchmarking Node.js - basic performance tests against Apache + PHP

All tests were executed on dual-core Intel T4200 2 GHZ machine with 4 GB RAM running Ubuntu 10.04 Lucid (with X). Node.js. Node.js : le livre du débutant. JavaScript et vous▲ Avant de rentrer dans les détails techniques, prenons un moment pour parler de vous et de votre rapport avec JavaScript.

Node.js : le livre du débutant

Ce chapitre va vous servir à déterminer s'il vous est utile de continuer la lecture de ce livre. Si vous êtes comme moi, vous avez commencé le développement Web il y a quelques années en écrivant des pages HTML. Vous avez commencé à utiliser cette chose étrange appelée JavaScript, mais juste pour ajouter un peu d'interactivité ici ou là. Ce que vous vouliez était surtout apprendre à créer des pages Web complexes ; vous avez donc appris des langages comme PHP, Ruby, Java pour écrire du code serveur.

Malgré tout, vous avez gardé un œil sur JavaScript et avez découvert, avec l'apparition de jQuery, Prototype ou autres bibliothèques, que JavaScript pouvait réaliser des choses avancées, bien au-delà de simples window.open(). Une introduction à node.js. Node.js est un framework implémentant, coté serveur, la version 8 du moteur Javascript de Google (pour une présentation rapide, je vous conseille de parcourir ces quelques slides).

Une introduction à node.js

L'objectif de ce billet est d'installer Node.js sur votre machine GNU/Linux et d'exécuter votre premier programme (hello.js). Il n'existe pas, à l'heure à laquelle je rédige ce billet, de "package" officiel de Node.js pour Debian/Ubuntu (voir le chapitre suivant pour une installation depuis un PPA). L'installation est cependant assez simple. Pour installer la dernière version (stable) depuis le dépôt officiel GIT, il suffit de saisir les commandes suivantes: Node.js partie 1 - Tout ce que vous devez savoir sur Node.js. Parmi les nombreuses technologies qui me passionnent actuellement, Node.js tient une place importante.

Node.js partie 1 - Tout ce que vous devez savoir sur Node.js

Et pour plusieurs raisons : développement Javascript côté serveur, gestion des entrées/sorties de manières non bloquantes, communauté très présente avec de nombreux modules comme Socket.IO et bien d’autres choses encore. C’est pour toutes ces raisons, et aussi parce que la nouvelle version 0.4.0 vient de sortir, que Web Tambouille vous propose une série de 4 billets consacrée exclusivement à votre futur serveur préféré : Node !

Et cela commence dès aujourd’hui avec une petite introduction générale du serveur, ses concepts, les interviews et autres vidéos à ne pas manquer, les liens à connaître… bref un condensé de tout ce que vous devez absolument savoir sur Node ! Présentation Node s’appuie sur V8, le moteur Javascript de Google utilisé dans Chrome, qui fait partie des moteurs Javascript les plus puissants du marché actuellement. Introduction à node.js - Damien MATHIEU. Node.JS, Performances, WebSocket, et clustering. Slide - Socket.IO. Node.JS - nodejs.org Un exécutable: node Un moteur performant: v8 Un cœur minimal: KISS Une API filesystem & network: HTTP/1.1 Mais surtout une API asynchrone et un single-thread event loop En tous cas c'est plus facile qu'Erlang, et vachement plus puissant que PHP.

Slide - Socket.IO

Slide - Performances. Node.JS - nodejs.org Un exécutable: node Un moteur performant: v8 Un cœur minimal: KISS Une API filesystem & network: HTTP/1.1 Mais surtout une API asynchrone et un single-thread event loop En tous cas c'est plus facile qu'Erlang, et vachement plus puissant que PHP.

Slide - Performances

Slide - Cluster. Node.JS - nodejs.org Un exécutable: node Un moteur performant: v8 Un cœur minimal: KISS Une API filesystem & network: HTTP/1.1 Mais surtout une API asynchrone et un single-thread event loop En tous cas c'est plus facile qu'Erlang, et vachement plus puissant que PHP Node.JS - Installation Node.JS - HTTP/1.1 Les navigateurs supportent tous partiellement HTTP/1.1.

Slide - Cluster

Un nouveau verbe: UPGRADE Le cache: ETag, If-Modified-Since Réseau: Connexions persistantes, Pipelining, Chunk Transfer Encoding... Node.js. Package.json dependencies done rightblog. This is part one of a three part post on npm Dependency management.

Package.json dependencies done rightblog

Need I say more? Entire developer ecosystems live and die by how dependency management works. Ask a Ruby developer what they would do without RubyGems, or ask (most) Java developers how to get things done without Maven. Express - node web framework. Écrire un module pour Node.js. $ mkdir sleep-sort $ cd sleep-sort $ git init Parfait, je viens d'initialiser un dépôt et je n'ai plus qu'à le remplir. J'aime beaucoup le concept de Readme Driven Development, dans cet esprit, je vais donc commencer par créer un fichier Readme. $ vi Readme.md $ cat Readme.md `sleep-sort` works by creating a task for every number to be sorted. The task will "sleep" n number of milliseconds and then push the number onto an array. When all tasks are done, the array is returned sorted. $ git add . $ git commit -m 'Added Readme' J'ai donc mis en place un dépôt local et fait un commit du fichier Readme.

. $ gh create-from-local Counting objects: 3, done. Le code ci-dessus a créé le dépôt distant, envoyé les modifications locales et affecté l'origine. Même si dans cet exemple le module sera relativement simple, je vais créer des répertoires pour y placer les différents fichiers que je vais utiliser. EJS - Templating for Node.JS.