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 17
  • NodeJS & 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

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

Made with Slides.com