Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Introduction to NodeJs
Search
Anthony Pipkin
July 24, 2014
Technology
0
74
Introduction to NodeJs
High level overview of what NodeJs is and how it can do cool things.
Anthony Pipkin
July 24, 2014
Tweet
Share
More Decks by Anthony Pipkin
See All by Anthony Pipkin
Introduction to ReactJs
apipkin
2
110
Introduction to AngularJs
apipkin
1
160
Building for the new Gallery
apipkin
1
200
Other Decks in Technology
See All in Technology
Building Products in the LLM Era
ymatsuwitter
10
5k
Platform Engineeringは自由のめまい
nwiizo
4
2k
『衛星データ利用の方々にとって近いようで触れる機会のなさそうな小話 ~ 衛星搭載ソフトウェアと衛星運用ソフトウェア (実物) を動かしながらわいわいする編 ~』 @日本衛星データコミニティ勉強会
meltingrabbit
0
140
Postman Flowsの基本 / Postman Flows Basics
yokawasa
1
100
君も受託系GISエンジニアにならないか
sudataka
2
410
2024.02.19 W&B AIエージェントLT会 / AIエージェントが業務を代行するための計画と実行 / Algomatic 宮脇
smiyawaki0820
10
1.5k
アジャイル開発とスクラム
araihara
0
170
関東Kaggler会LT: 人狼コンペとLLM量子化について
nejumi
3
540
PL900試験から学ぶ Power Platform 基礎知識講座
kumikeyy
0
120
Googleマップ/Earthが一般化した 地図タイルのイマ
mapconcierge4agu
1
200
CZII - CryoET Object Identification 参加振り返り・解法共有
tattaka
0
310
Culture Deck
optfit
0
390
Featured
See All Featured
Producing Creativity
orderedlist
PRO
343
39k
Git: the NoSQL Database
bkeepers
PRO
427
64k
What's in a price? How to price your products and services
michaelherold
244
12k
A Philosophy of Restraint
colly
203
16k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
99
18k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Navigating Team Friction
lara
183
15k
Building Your Own Lightsaber
phodgson
104
6.2k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Transcript
Hello, my name is node.js but you may call me
"node"
Before We Start
We need: Knowledge of JavaScript Web Browser Terminal
What about help? nodejs.org docs #node.js on Freenode IRC StackOverflow
General searching for javascript, node.js, or npm
What is Node?
According to Node Node's goal is to provide an easy
way to build scalable network programs
According to me NodeJs is a super awesome tool that
allows me to take over the world.
But seriously... JavaScript ECMAScript 5 No ugly DOM! Built on
top of V8 Single threaded Asynchronous, non-blocking I/O Windows, Mac, Linux
Let's get started!
Step 1 Go to http://nodejs.org Click the `install` button. Follow
the instructions.
Step 2 Gain an understanding of: Prototypal Inheritance Closures Event
Loop
Step 2a JavaScript the Good Parts - Douglas Crockford http://livestre.am/JC3U
or http://amzn.com/B002AWX8BO Eloquent JavaScript - Marijn Haverbeke http://eloquentjavascript.net/ JavaScript Design Patterns - Addy Osmani http://addyosmani.com/resources/essentialjsdesignpatterns/book
Step 3
Step 4 Profit Global Domination You get the point
Doing Good with NodeJs Event Driven Promises Callbacks
Event Driven require('events') Extend with EventEmitter Simple API on once
removeListener removeAllListeners emit
Promises Relatively new to JavaScript promisejs.org npm packages q promised-io
deferred promise.then(successFn, errorFn, progressFn)
Callbacks `(err, data)` pattern `.bind` to maintain scope ( )
maintains variables where defined http://www.digital-web.com/articles/scope_in_javascript/ More on JavaScript patterns in the online book(s).
Package Management npm 85,000+ packages Packages can be global or
isolated to project
Building Packages npm init package.json configuration for node module dependency
information command line load point (`bin`) npm install module npm install module --save Saved in ./node_modules/
Usage require('mod') core or npm require('./mod') relative to app require('/home/mod')
absolute from drive
Command Line which node HashBang (#!) path +x the js
file to it's executable make it installable via npm
Demo!
Web Server & Apps http clusters, PM2 ExpressJs, HapiJs, Restify
Socket.io ( ) nodemon database MongoDb MySQL Postgres http://caniuse.com/websockets
Demo!
Don't Use Node for... Number Crunching (IEEE 754 "Double") 0.1
+ 0.2 === 0.3 // false Synchronous I/O calls Shell Scripting * Making toast ? ( ) http://youtu.be/MqHDDtVYJRI http://survivejs.com/current_state/might_run_on_toaster.html
Thanks! Me: Anthony Pipkin @apipkin http://a.pipk.in http://github.com/apipkin http://linkedin.com/in/apipkin Questions?
Interesting Links http://www.toptal.com/javascript/guide-to-full-stack- javascript-initjs http://www.toptal.com/nodejs/why-the-hell-would-i-use- node-js http://wintellect.com/blogs/dbanister/stop-fighting-node.js- in-the-enterprise