JavaScript & NodeJS
Part II

November 19, 2016
About Me
Organizer of CODE Norman
twitter: @bchirgwin
linkedin: linkedin.com/in/bchirgwin
Senior Software Engineer at Iteris


Workshop Expectations
- Pragmatic Approach
- Get out of it what you put into it
- Workshop
- Homework
- Available for additional help
- Most Thursday evenings
- Other times on request
Workshops
Git & GitHub - September 17NodeJS & Javascript - October 8- NodeJS & Javascript Part II November 19
- Meeting Dec 17?
- Database & Data Storage - January
- AngularJS Front-end Development - February
- End to End Testing - March
- Review open source projects - April
- Code Norman Open Source Project Kickoff - May
News

-
Tulsa, not remote, 50K - 60K
-
Frontend Web Developer with applied experience building responsive web applications.
-
Required skills include: HTML5, CSS, responsive design, JavaScript or CoffeeScript Angular.js or Backbone
-
Successful candidate would know CoffeeScript & Backbone, or could apply their JavaScript & Angular.js experience to learning these technologies.
-
An ideal candidate would have at least passing familiarity with at least some of the following backend technologies: Node.js, Redis, Postgres, Java
Entry Level Position
Ariana Petrella
Recruiter
JoCo
918.398.7593*108 | Office
apetrella@joco.com
www.joco.com
Don't be afraid to fail
Experiment
- Wright Brothers
- Thomas Edison
- Albert Einstein



Practice, Practice, Practice
- Programming Katas
- Short exercise of about 30 minutes
- Repeat with several ideas
- CodeKata
- Project Euler
- CodeWars
- CodeKatas.org
Numbers Every Programmer Should Know
RESTful
- REpresentational State Transfer
- www.domain.com/resource/{id}?q
- HTTP Methods
- GET
- PUT
- POST
- DELETE
GET example
- reply with a list of users
- method: GET
- Url: www.domain.com/users
- GET method does not accept a body
GET {id} example
- reply: user with id = 123
- method: GET
- Url: www.domain.com/users/123
POST example
- adds user & reply: user including id
- method: POST
- Url: www.domain.com/users/
- body: {
firstname: 'Brian',
lastname: 'Chirgwin'
}
PUT example
- Updates user with id 123
- method: PUT
- Url: www.domain.com/users/123
- body: {
firstname: 'Brian',
lastname: 'Chirgwin',
middleInitial: 'T'
}
Node Project Part 1
- npm - node package manager
- third-party libraries
- hapi - web server framework
- lodash - utility library
- joi - validation library
- boom - easy html errors (404, etc...)
- Create a RESTful service for a resource
- Use browser and postman to send requests
Node Project Part 2
- third-party libraries
- Lout - create documentation
- Jasmine - test framework
- RESTful POST, PUT endpoints for service
- Use browser and Postman to send requests
Raffle
- JetBrains IDE

WebStorm
PhpStorm
PyCharm
RubyMine
AppCode
CLion
DataGrip
Rider
IntelliJ IDEA
JavaScript & NodeJS: Part 2
By Brian Chirgwin
JavaScript & NodeJS: Part 2
- 881