Skip to content

Instantly share code, notes, and snippets.

View t-laird's full-sized avatar
🙃
🔥 🤓 ✅

Thomas Laird t-laird

🙃
🔥 🤓 ✅
View GitHub Profile

Thomas Laird - Outreach & Networking

Meetups/Networking Events: Identify 1 meetup and/or other networking event that you'll attend between now and the end of Module 3. Answer these questions:

  1. Why will you attend this particular event?

Code for Denver. I will attend this event because of my interest in civic tech and because Code for Denver provides an opportunity to work with the broader tech community in Denver.

  1. Who do you hope to connect with at this event?

Thomas Laird - M2 Portfolio

Areas of Emphasis

My goal for this module was to build comfort in javascript and develop my ability to solve problems quickly and efficiently especially as the complexity of problems increased.

Rubric Scores

  • A: End-of-Module Assessment: Pass
  • B: Individual Work & Projects: Pass
# Blog Post Outline - Building a Backend using Node, Express and Knex with OAuth
### Introduction
* Topic being discussed. What this backend will be able to do.
* Prerequesites
* resources to get up to speed if not familiar with some of the topics.
#### Background of technology or service
* Background on node & express
* Background on postgres

Homework Submissions

Add a label of the homework with a link to the gist/repo/..etc for each homework assignment you have completed

List of Assignments

Week 1 (Prework)

  • Node Server Tutorial - Link to completed Node tutorial with completed additional functionality
  • Express Tutorial - Link to completed Express tutorial with a note about which of the 3 problems in the "Further Challenges" section that you worked on

Thomas Laird - Mod 4 Prework

Promises Practice Problems: Promises Practice

Questions:

  1. .then is used to handle the next action after a promise is resolved. .catch will fire as a result of a promise in the chain rejecting or erroring.
  2. Promises are useful when for handling asynchronous actions, especially when several asynchronous actions are chained together. The .then and .catch attached methods help with appropriately handling for successfully resolved or rejected promises. Other
  3. There are a number of libraries that extend upon the default functionality provided to promises like bluebird and promisfy. Other libraries like jQuery and React make use of promises in various places to handle asynchronous actions.
<section class="accordian">
<div class="accordian__header">
<h4>ACCORDIAN TABS</h4>
<div class="accordian__header__seperator"></div>
</div>
<div class="accordian__box">
<div tabNum="1" class="accordian__tab__selection accordian__tab__selection1 active">Tab 1 <div class="accordian__expand__collapse minus" alt="+/-"></div></div>
<div tabNum="2" class="accordian__tab__selection accordian__tab__selection2">Tab 2 <div class="accordian__expand__collapse plus" alt="+/-"></div></div>
<div tabNum="3" class="accordian__tab__selection accordian__tab__selection3">Tab 3 <div class="accordian__expand__collapse plus" alt="+/-"></div></div>
@import url('https://fonts.googleapis.com/css?family=Open+Sans:300,600');
//colors
$accentPrimary: #34D1D1;
$background1: #2f2235;
$background2: #3f3244;
$accentSecondary: #f2f2f2;
$accentTertiary: #d1d2d3;
$background3: #666666;
$black: #000000;
const selectTab = (event) => {
if (window.innerWidth > 500) {
return selectTabDesktop(event);
} else {
return selectTabMobile(event);
}
};
const selectTabDesktop = (event) => {
if ($(event.target).hasClass('active')) { return; }
//from GitPoint's color helper https://github.com/gitpoint/git-point/blob/master/src/utils/color-helpers.js
export const getFontColorByBackground = bgColor => {
const r = parseInt(bgColor.substr(0, 2), 16);
const g = parseInt(bgColor.substr(2, 2), 16);
const b = parseInt(bgColor.substr(4, 2), 16);
const yiq = (r * 299 + g * 587 + b * 114) / 1000;
return yiq >= 128 ? colors.black : colors.white;
};
//from GitPoint's fontsize helper https://github.com/gitpoint/git-point/blob/master/src/config/normalize-text.js
export const normalize = size => {
if (pixelRatio === 2) {
if (deviceWidth < 360) {
return size * 0.95;
}
if (deviceHeight < 667) {
return size;
} else if (deviceHeight >= 667 && deviceHeight <= 735) {