Code lab
- Google Tag Manager
- Google Analytics
- Kissmetrics
- Mixpanel
- Keen IO
- https://www.getlocalization.com
- https://www.oneskyapp.com
- https://phraseapp.com/en
- https://www.transifex.com/
- Project Week
- Meetups: KopiJS
- https://css-tricks.com/almanac/properties/a/animation/
- https://developer.mozilla.org/en-US/docs/Web/CSS/animation-fill-mode
- Semantic HTML
- CSS Selectors
- Styling text and
input
/textarea
/button
elements
@ongmin
- Javascript inheritance
Data science introduction
Qiyu & Min
Shadow DOM & Custom Elements
- Overview
- History API:
pushState
,popState
- Client side routing
Project
@shawnlimws
- Aspect Oriented Programming (AOP)
@lanbau
- Node.js Debugging with Visual Studio Code
- HTML Templates with EJS/Jade
ABC: Always Be Coding
Jesstern talks about JS call stack, heap, event loop, and queue
- Git
- Hour of Code
- Talk.js
https://github.com/node-inspector/node-inspector
Always be coding.
- Projects: feasibility assessment, design iterations
Git
SingaporeJS Talk.js 15 Dec 2015 all-lightning talks
- Team formation
- Hack away!
Sails & Meteor
Hackathon demos!
Client side API calls
Databases et al
Socialising with the people below
- Big Data
- PFNP Live & Gopher it!
- Tonight: Fancy Pants DataSci meetup
- MongoDB DIY vs SaaS
- Call stack vs Recursion
Let's build something fun, now!
- Book Club
- Flat file storage
- Code review and analysis https://github.com/caalberts/express-json-api/pull/7/files
- DevOps
- Persistent storage: Flat file database
- Problem: Heroku ephemeral storage
- MongoDB (NSFW language 😁)
- DB SaaS:
- Mongoose
- Geek Brunch
- Sunday Gathering
- RESTful JSON API w/ Express
- CRUD app
- Heroku
- forever
- PM2
- Keymetrics
bluebird.promisify
babel-cli
- Multi-stage async:
app.get
,fs.readFile
orfetch
w/res.json()
- Express middleware: Re-use code, don't reinvent the wheel.
- URL structure
- HTTP headers
- HTTP methods
- MIME types
Inspect and repeat HTTP requests
Create - Read - Update - Delete
A pattern found in most data-handling applications.
-
URL structure
/scores
/scores/:playerId
?sortBy=:sortable&sortOrder=:direction
?match=:query
-
HTTP methods
- Create: POST
- Read: GET
- Update: PUT
- Delete: DELETE
Testing the classroom API (see 2015-11-26)
- Server
- should return a list of high scores
- should allow adding a player's score
- should allow removing a player's score
- should allow changing a player's name
- Web Components status updates from Mozilla and Microsoft (via Web Components Weekly #31)
- From callbacks to Promises to
async
/await
- Server
- should respond with JSON data
- should provide a list of all class participants
- should allow searching by name
- should allow sorting alphabetically by name
- should allow whitelisting specific fields
DNF, see 2015-11-27
- The Art of Node (Tian/Shawn)
- Money TDD (Albert/Yongjun)
- Middleware for
http
- Getting Started
- Reinventing Education with Cognitive Science
Continue from yesterday
Testing with Mocha, Chai, and Sinon
- Meetups over the weekend?
- Singapore CSS
🌟 Congratulations to everyone for making huge progress over the past 3 weeks. 🌟
Learn You The Node.js For Much Win!
- Node Weekly
- NodeBots Sumo Bots: Show & Tell?
- JSConf.Asia (Day 1)
- Globals in ESLint & Standard linter
- Cheap prototyping: Sketch on paper and do 5 iterations before writing a single line of code.
- Object Oriented Programming (OOP): Classes to encapsulate behaviour.
- Multi-tier cache invalidation with domain names: Namecheap (registrar), CloudFlare (nameserver), DNS, OS, browser
Working hard
- CSSConf.Asia (After Party)
- Haskell.SG
- Extracting data with object and array destructuring
- demo
- 👷 WIP
- Demonstrate progress
- Today at The Working Capital: Sumo Bot Battles
- Try to infiltrate the event? 🙈 🙉 🙊
- What did we learn from Alon Bar?
- Talk.js, Hacking UX, PyData
- Refactor with confidence: TicTacToe demo
- All day code reviews & pairing
- Mid-week one-on-one review with Seb & Cheryl
- iOS Dev Scout
- FEDS TL;DR
- The
...
spread operator
-
Steve Jobs' Vision of the World: "You can change it. You can build your own things."
-
Planning and documenting with GitHub Issues
Free for all
- NodeSchool IV SG
- DevCareer
Feuer Frei!
- Git branches -> GitHub PR -> Travis -> Heroku Review Apps -> Comment on code -> Push more commits -> Merge & delete branch
- Exercise: Work on a branch, create a PR, tag your neighbour to have them review.
- Refactor TicTacToe into separate file
- Write unit test with Mocha & Chai
- Reporting and Workflow with Codecov
- Added lesson for Browserify–Babelify workflow
- The Front-End Spectrum
- Front-end Handbook: Part III: Tools
- Stackshare
- Heroku
- Surge
- GitHub Pages
- What is it? Why do we need it? How does it work? How do we set it up?
- Akamai, Cloudflare, AWS Cloudfront, etc.
- Responsive CSS Techniques
- Creative coding demos
- Code reviews
- Workshops: Functional Programming
See Build Tools lesson
Set up a stack for Tic Tac Toe
- TicTacToe
Try the javascripting workshop from Nodeschool.
- setTimeout
- setInterval
- requestAnimationFrame
- static
- fixed
- absolute
- relative
- JS
- CSS
- Creative coding
- Game: Pong
-
IMG cropping hacks & elegant solution (@caalbert)
-
Translate @calvintan's from HTML to Markdown
- HTMLElement properties and methods
- Finding elements:
- ID as global variable (eww..)
- getElementById/Class/...
- querySelector/QSA
- query/queryAll
- attachEventListener, detachEventListener, dispatchEvent
- Event types: click, submit, change, ...
- Event objects
Exercise: Game on! Let's build Tic Tac Toe.