Hosted by Koustuv Sinha along with Prof Ee Kian Wong
In association with Nodeschool
Institute of Engineering & Management, Kolkata / 31st Aug, 2015
Before starting this workshop, please connect to the following wifi :
SSID : **** / Password : **********
Proxy IP : ***.***.**.* / Port : ****
Whats that?
Script running in browser?
Code to Run webpages?
HTML CSS and something... ?
Full Stack Development Language
JavaScript is no longer a client side language
Works on server as well with Node.js
Used to build web servers and services
Immense applications!
Trend?
Powerful functional language
Full Stack Development
Lots of jobs! (Startups & Big Companies)
Easy to learn, hard to master!
"use strict"
// turns on JS strict mode to catch more errors
//sample function
function sampleFn() {
var prompt = "Hello, " + name + "!";
// Inner functions are put in the local scope by default, as if they were
// declared with `var`.
function inner(){
alert(prompt);
}
setTimeout(inner, 5000);
}
sampleFn();
JavaScript runtime (Chrome V8)
Can run JavaScript locally
Can develop server side code
Can develop desktop applications
Full blown package manager : npm
Its just simple JavaScript!
"use strict"
// turns on JS strict mode to catch more errors
// import other nodejs libraries
var asm = require('awesome-module')
var fs = require('fs')
//sample function
function sampleFn() {
var prompt = "Hello, " + name + "!";
function inner(){
asm(prompt);
// read from file system
fs.readFileSync('file.txt');
}
setTimeout(inner, 5000);
}
sampleFn();
Eloquent JavaScript : Free book online
"JavaScript Garden" tutorial and notes
MDN : A re-introduction to JavaScript
And the list goes on and on ...
Check internet connectivity is on.
Install Node.js from their website, download your respective installation binaries
If internet is not connecting, don't panic! Offline installation is available!
Grab the binaries, install
Also, get the Nodeschool Worshop packages, extract, and run within them :
npm link
Open Terminal (Command Prompt.. sheesh!)
Make terminal fullscreen & Type ...
npm install -g javascripting
Run the workshopper module :
javascripting
For any workshop, after you run the workshop (just type in the name), you will find the following interface :
Choose which module you want to attempt by arrow keys, and press enter!
You will find a detailed set of description on the terminal. For that, it helps to put your terminal or command prompt in full screen
Windows users, if you find it hard to view the instructions in the command prompt, you can also save them in a text file :
javascripting print > instructions.txt
For every challenge, you need to pass the tests. To run the test on your program file, type
javascripting run program.js
To verify and pass your program, run :
javascripting verify program.js
This format is valid for all Nodeschool workshops
Complete all challenges to be the Master!
Rejoice / Yell after completing every challenge!
If you are stuck, no shame, feel free to ask!
If you are done, help your peers!
Have a Break!
After the break, lets learn the most essential tool for any developer : Git
Created by Linus Torvalds (yes,creator of Linux)
Saves every version of the file(s)
Facilitates parallel development (in teams)
Social coding & Collaboration : Github
Navigate to your past! (oooh!)
Hope internet is working.. :P
Install Git ; Ubuntu users as easy as :
apt-get install git
Make terminal fullscreen & Type ...
npm install -g git-it
Run the workshopper module :
git-it
Dont forget to rejoice / yell after completing every challenge! :D
You ROCK in JavaScript & Git!
If we have time, lets run some more awesome worshops!
npm install -g learnyounode
npm install -g stream-adventure
npm install -g how-to-npm
npm install -g scope-chains-closures
Code and Contribute in Open Source!
Some tips ...
Watch Github Trends
Read code!
Clone any project you like
Build it, run it locally and hack it
Got issues? create issues!
Code, and send Pull Requests!
Enhance your profile!
Create projects, be a dev-ninja
Max Ogden, JS Guru, Top Node.JS Developer
Mathias Buus, Top JS Ninja, creator of Nodeschool
Paul Irish, Lead Developer of Google Chrome, Google
Addy Osmani, Top UI Developer of Google, creator of Yeoman
Pete Hunt, JS Developer & Speaker, Facebook
Sindre Sorhus, Top JS Developer & creator of Awesome Lists
Brian Ford, AngularJS Developer, Google
Feross Aboukhadijeh, JS Developer & creator of Webtorrent, Feross/Standard
Hemanth.HM, Full Stack Developer, Cisco, India
Brendan Eich, creator of JavaScript Language!!
Douglas Crockford, co-creator of JavaScript Language!!
John Resig, creator of Jquery Library
Linus Torvalds, creator of Linux Kernel & Git _/\_
Richard Stallman, pioneer of Open Source Movement, Creator of GNU, gcc, Emacs _/\_ _/\_
Be in touch : Facebook, Github, LinkedIn
Email : [email protected]
Join IEM JS Developers Group Mailing List
Or whatever, join our very own irc channel #iemjsdevs and hang out!
Play with more workshops from NodeSchool
Slides created by reveal.js
Super thanks to Prof Ee Kian Wong for setting this up!
Okay.. Thanks to IEM Management to provide wifi! :P