*==== @channel Resources for Today's Concepts/Activities: =====================*
*Sending Form Data* (more a conceptual discussion): https://developer.mozilla.org/en-US/docs/Learn/HTML/Forms/Sending_and_retrieving_form_data
*Node's `response.writeHead()`:* https://nodejs.org/api/http.html#http_response_writehead_statuscode_statusmessage_headers
*Node's `response.end()`:* https://nodejs.org/api/http.html#http_response_end_data_encoding_callback
*Node `__dirname`* (you'll use this often!): https://nodejs.org/docs/latest/api/modules.html#modules_dirname
*Ports Database* (find out what processes run on certain ports): https://www.speedguide.net/ports.php
*Express terminal response methods* (`res.send()`, `res.end()`, `res.json()`, etc etc): https://expressjs.com/en/guide/routing.html#response-methods
*Status Cats:* https://http.cat/
*Status Dogs:* https://httpstatusdogs.com/
*Status Comics* (status codes explained): https://moz.com/blog/response-codes-explained-with-pictures
*==== @channel A Few Express Resources, Star Wars Video Walkthrough, and Middleware Chaining Example: ==================*
*What is Middleware? A Simple Explanation:* https://medium.com/@jamischarles/what-is-middleware-a-simple-explanation-bb22d6b41d01
*Use Express.js to Get URL and POST params:* https://scotch.io/tutorials/use-expressjs-to-get-url-and-post-parameters
*Building a RESTful API w/Node and Express:* https://scotch.io/tutorials/build-a-restful-api-using-node-and-express-4
*Middleware Chaining Example:* https://du.bootcampcontent.com/denver-coding-bootcamp/DU-DEN-FSF-FT-08-2019-U-C/blob/master/Resources/Express/middleware-chaining-examples.js
*Star Wars Activity Video Walkthrough:* https://www.youtube.com/watch?v=ygk-kNstqK0
*==== @channel Hot Restaurant Video Walkthrough, Console Tips and Tricks, and a Few Express and Handlebars Resources: =======================*
*10 Tips for Javascript Debugging Like a PRO with Console:* https://medium.com/appsflyer/10-tips-for-javascript-debugging-like-a-pro-with-console-7140027eb5f6
*List of All Express `res.` Methods:* https://expressjs.com/en/guide/routing.html#response-methods
*A Simple Explanation of Express Middleware:* https://medium.com/@agoiabeladeyemi/a-simple-explanation-of-express-middleware-c68ea839f498
*Settings Different Layouts in Express Handlebars:* https://www.npmjs.com/package/express-handlebars#layouts
_(ie `res.render('home', {layout: 'holiday', day: 'Monday' });`)_
*Handlebars Basics:* http://handlebarsjs.com/
*Hot Restaurant Video Walkthrough:* https://www.youtube.com/watch?v=G7RvQMW2DOg
*==== @channel Video Walkthroughs and a Few Express/Handlebars/REST/Filter/Hoisting Resources: =======================*
*List of All Express `res.` Methods:* https://expressjs.com/en/guide/routing.html#response-methods
*A Simple Explanation of Express Middleware:* https://medium.com/@jamischarles/what-is-middleware-a-simple-explanation-bb22d6b41d01
*Settings Different Layouts in Express Handlebars:* https://www.npmjs.com/package/express-handlebars#layouts
_(ie `res.render('home', {layout: 'holiday', day: 'Monday' });`)_
*Handlebars Basics:* http://handlebarsjs.com/
*What is REST?* https://www.restapitutorial.com/lessons/whatisrest.html
*A Beginner’s Tutorial for Understanding RESTful API:* https://mlsdev.com/blog/81-a-beginner-s-tutorial-for-understanding-restful-api
*Array `.map()`, `.filter()`, `.reduce()`:* https://atendesigngroup.com/blog/array-map-filter-and-reduce-js
_(array magic… learn em and use em religiously!)_
*Ben & Jerry’s Activity Video Walkthrough:* https://www.youtube.com/watch?v=cMAIbAJcvZo
*Watch List Activity Video Walkthrough:* https://www.youtube.com/watch?v=qwUbsg95TbI
*==== @channel A Video Walkthrough and a Few Resources from Today’s Lesson: =======================*
*Watch List Activity Video Walkthrough:* https://www.youtube.com/watch?v=qwUbsg95TbI
*Serving Static Files in Express (`app.use(express.static("public")`):* https://expressjs.com/en/starter/static-files.html
*ORM Explanation:* https://searchwindevelopment.techtarget.com/definition/object-relational-mapping
*535 Different Ways to Reload the Page Using JavaScript:* http://www.phpied.com/files/location-location/location-location.html
*JavaScript Callbacks Explained Using Minions:* https://www.freecodecamp.org/news/javascript-callbacks-explained-using-minions-da272f4d9bcd/
*Understand JavaScript Callback Functions and Use Them:* http://javascriptissexy.com/understand-javascript-callback-functions-and-use-them/
*What is MVC, and how is it like a sandwich shop?* https://www.freecodecamp.org/news/simplified-explanation-to-mvc-5d307796df30/
*The Model-View-Controller (MVC) Design Pattern:* https://www.dummies.com/web-design-development/mobile-apps/the-model-view-controller-mvc-design-pattern/
*The MVC Design Pattern in Vanilla JavaScript:* https://www.sitepoint.com/mvc-design-pattern-javascript/
*Express Router:* https://expressjs.com/en/api.html#router
*Handlebars Helpers:* https://handlebarsjs.com/builtin_helpers.html
*Cats App Video Walkthrough:* https://www.youtube.com/watch?v=ZooUVmp_t4s
==== @channel A Few Express/Handlebars/REST Resources and a Handlebars Video Walkthrough: =======================
List of All Express ‘res.’ Methods: https://expressjs.com/en/guide/routing.html#response-methods
Handlebars Basics: http://handlebarsjs.com/
HTML Escaping in Handlebars: https://handlebarsjs.com/guide/#html-escaping
Handlebars Built-In Helpers (like {{#each}}): https://handlebarsjs.com/guide/builtin-helpers.html#if
How to Comment in Handlebars: https://handlebarsjs.com/guide/#template-comments
Example of setting a different layout in Handlebars: res.render('home', {layout: 'holiday', day: 'Monday' });
Example of setting a dynamic title in Handlebars: <title>{{#if title}}{{title}}{{else}}Default title{{/if}}</title>
What is REST? https://www.restapitutorial.com/lessons/whatisrest.html
A Beginner’s Tutorial for Understanding RESTful APIs: https://mlsdev.com/blog/81-a-beginner-s-tutorial-for-understanding-restful-api
Our Custom Solution for ‘06-HandlebarsAnimals’: https://du.bootcampcontent.com/denver-coding-bootcamp/DU-DEN-FSF-FT-12-2019-U-C/blob/master/Class-Content/13-MVC/01-Activities/06-HandlebarsAnimals/our-solution.js
(note the use of .find() and the dynamic routing for ‘/:animal’; also note the reordered routes)
Ben & Jerry’s Activity Video Walkthrough: https://www.youtube.com/watch?v=cMAIbAJcvZo
==== @channel A Video Walkthrough and a Few Resources from Today’s Lesson: =======================
Watch List Activity Video Walkthrough: https://www.youtube.com/watch?v=qwUbsg95TbI
Serving Static Files in Express (we’ll discuss this more tomorrow): https://expressjs.com/en/starter/static-files.html
ORM Explanation: https://searchwindevelopment.techtarget.com/definition/object-relational-mapping
535 Different Ways to Reload the Page Using JavaScript: http://www.phpied.com/files/location-location/location-location.html
result.affectedRows vs result.changedRows in the mysql package: https://www.npmjs.com/package/mysql#getting-the-number-of-affected-rows
ORM Example from Today with Comments: https://du.bootcampcontent.com/denver-coding-bootcamp/DU-DEN-FSF-FT-12-2019-U-C/blob/master/Class-Content/13-MVC/01-Activities/12-OrmExample/orm-demo-explained.js
==== @channel Resources for Today’s Activities: ==============
Express Router (goodbye, app.get(), hello router.get()!): https://expressjs.com/en/api.html#router
Serving Static Files in Express (use this for images, CSS, front-end JS, etc): https://expressjs.com/en/starter/static-files.html
The Model-View-Controller (MVC) Design Pattern: https://www.dummies.com/web-design-development/mobile-apps/the-model-view-controller-mvc-design-pattern/
The MVC Design Pattern in Vanilla JavaScript: https://www.sitepoint.com/mvc-design-pattern-javascript/
Database Connection Pools: https://en.wikipedia.org/wiki/Connection_pool
Sequelize Model Definition: https://sequelize.org/master/manual/model-basics.html#model-definition
Sequelize DataTypes: https://sequelize.org/master/manual/model-basics.html#data-types
Sequelize ‘WHERE’ Clause: https://sequelize.org/master/manual/model-querying-basics.html#applying-where-clauses
Sequelize Operators (greater than, less than, like, not like, contains, not, and, or, etc…): https://sequelize.org/master/variable/index.html#static-variable-Op
Sequelize Querying Basics: https://sequelize.org/master/manual/model-querying-basics.html
‘Finder’ Querying in Sequelize (different types of find methods): https://sequelize.org/master/manual/model-querying-finders.html
Cats App Hints (these may help you wire up your Burger HW; also refer to this week’s review recording): https://du.bootcampcontent.com/denver-coding-bootcamp/DU-DEN-FSF-FT-12-2019-U-C/blob/master/Class-Content/13-MVC/01-Activities/17-CatsApp/hint.js
==== @channel Resources for Today’s Activities: ==============
Sequelize Model Definition: https://sequelize.org/master/manual/model-basics.html#model-definition
Sequelize DataTypes: https://sequelize.org/master/manual/model-basics.html#data-types
Sequelize ‘WHERE’ Clause: https://sequelize.org/master/manual/model-querying-basics.html#applying-where-clauses
Sequelize Operators (greater than, less than, like, not like, contains, not, and, or, etc…): https://sequelize.org/master/variable/index.html#static-variable-Op
Sequelize Querying Basics: https://sequelize.org/master/manual/model-querying-basics.html
Sequelize Validations & Constraints: https://sequelize.org/master/manual/validations-and-constraints.html
‘Finder’ Querying in Sequelize (different types of find methods): https://sequelize.org/master/manual/model-querying-finders.html
Symbol-Based Operators [Op.gte] vs String-Based Operators $gte example: https://du.bootcampcontent.com/denver-coding-bootcamp/DU-DEN-FSF-FT-12-2019-U-C/blob/master/Resources/Sequelize/sequelize-operators-example.js
Sequelize Library Video Walkthrough: https://www.youtube.com/watch?v=dt9mXaEEAkM
I’m also attaching the Sequelize CLI Quick Start Guide (you’ll use it for Tuesday’s HW), the Sequelize CRUD Actions Cheat Sheet, and the Sequelize Heroku Deployment Guide!
==== @channel Sequelize Resources and Video Walkthroughs: ================
Sequelize Validations and Constraints: https://sequelize.org/master/manual/validations-and-constraints.html
Sequelize CRUD Actions Cheat Sheet: https://du.bootcampcontent.com/denver-coding-bootcamp/DU-DEN-FSF-FT-12-2019-U-C/blob/master/Resources/Sequelize/SequelizeCRUDActionsCheatSheet.pdf
Sequelize Associations: https://sequelize.org/master/manual/assocs.html
Sequelize Associations and Foreign Keys: https://medium.com/@sherryhsu/sequelize-associations-and-foreign-keys-c2d70f7134e9
Sequelize Eager Loading (this will be part two of today’s activity): https://sequelize.org/master/manual/eager-loading.html
Example hasMany and belongsTo Associations: https://du.bootcampcontent.com/denver-coding-bootcamp/DU-DEN-FSF-FT-12-2019-U-C/blob/master/Resources/Sequelize/exampleAssociations.js
Example Many to Many Association: https://du.bootcampcontent.com/denver-coding-bootcamp/DU-DEN-FSF-FT-12-2019-U-C/tree/master/Resources/Sequelize/many-to-many_example
Sequelize + Handlebars Review (3 hours long, FYI): https://www.youtube.com/watch?v=EDgpYNqItmc&index=1&list=PLgJ8UgkiorCnbVc-ZiCqgm3dw7Cvrewq2
Blogger with Authors Activity Video Walkthrough: https://www.youtube.com/watch?v=mrLerceH-tk
==== Project-Related Links: ================
Project #2 Requirements: https://du.bootcampcontent.com/denver-coding-bootcamp/DU-DEN-FSF-FT-12-2019-U-C/blob/master/Class-Content/15-Project-2/04-Supplemental/ProjectRequirements.md
Project #2 Resources (potential new techs, Git collab guide, etc): https://du.bootcampcontent.com/denver-coding-bootcamp/DU-DEN-FSF-FT-12-2019-U-C/blob/master/Project-Resources/Project-2-Resources.md
Protecting API Keys Using Node: https://du.bootcampcontent.com/denver-coding-bootcamp/DU-DEN-FSF-FT-12-2019-U-C/blob/master/Resources/Protecting-API-Keys-In-Node/Protecting-API-Keys-In-Node.md