Skip to content

Instantly share code, notes, and snippets.

View DanielEFrampton's full-sized avatar

Daniel Frampton DanielEFrampton

View GitHub Profile
@DanielEFrampton
DanielEFrampton / backenders_guide_to_react_redux.md
Last active February 26, 2020 17:47
Explain It Like I'm a Back-Ender: React & Redux

Explain It Like I'm a Back-Ender: React & Redux

I'm a back-end engineering student at the Turing School of Software & Design, and I recently took on a brownfield project which has given me the opportunity to dive into React and Redux. I have no idea what I'm doing. Come along with me while I try to articulate React and Redux concepts and relate them to analagous concepts in Ruby on Rails.

React

React is a client-side JavaScript (i.e., in the browser, not on the server) development framework. In a similar way to how Rails provides conventions and convenient structures for how to design and configure models, views, and controllers, React provides conventions and structures for creating UI components in order to render HTML pages in a dynamic and more object-oriented fashion.

Components

@DanielEFrampton
DanielEFrampton / inception_notes.md
Created February 18, 2020 17:49
Landslide Inception Notes

Problem Statement

  • People are not getting notified
  • Mentor is not asked to confirm appointment
  • App lacks basic CRUD functionality (especially UD)
  • No stats or record keeping on previous sessions
  • Additional functionality to manage rock-and-pebble relationships which currently are managed by hand
  • No calendar sync so availability becomes incorrect quickly and leads to canceled sessions
  • Requires manual updating of profile every mod and there's no automated remind to do that
@DanielEFrampton
DanielEFrampton / setting_up_paired_env.md
Last active February 23, 2020 23:15
Setting Up Paired Development Environment

Setting Up Paired Development Environment

OS-Level Setup

Install or Update the Xcode application:

  • Open the Mac OSX App Store, search for Xcode, and install it, or update it if that option is shown. It is a > 9GB download so expect some time.
  • Once it's downloaded, open the Xcode app, agreed to the end-user license agreement, enter your password as prompted, and allow the components to download.

Repo Setup

@DanielEFrampton
DanielEFrampton / api_project_start_to_finish.md
Last active September 19, 2020 21:36
An API Project from Start to Finish

An API Project from Start to Finish

I'm a back-end software engineer in training (and in fact!) at Turing School of Software & Design. In the third of four modules in our program we were assigned a project of creating an API using the Rails framework. For your benefit and amusement, I've documented the entire process and the resources that helped me along the way.

1. Create a New Rails App

Creating a new Rails project from scratch is something that happens so infrequently that it's perpetually been something I google. My mentor (through Turing's network of mentors) who is a Rails developer in the Denver area agreed, saying that he's never once created a new Rails app from scratch in his current position. That being said, I've been enjoying creating new greenfield (i.e., brand new) projects for hobby coding or for side projects, and wanted to use this opportu

@DanielEFrampton
DanielEFrampton / peer_mentoring_overview.md
Last active January 27, 2020 19:13
Peer Mentoring Overview

Landslide: Rock-and-Pebble Peer Mentoring @ Turing

Why Peer Mentoring?

In the Back-End Engineering program at Turing School of Software & Design, we've been using a student-developed tool called Paired to facilitate one-off tutoring sessions between upper-module (i.e., students farther along in the program) and lower-module students. This has been a great resource, and has been embraced by the back-end program (to the extent that it appears on the front page of the curriculum). We also have access to a wide pool of mentors, made up of alumni and other developers in the Denver area, who volunteer to be paired with Turing students and available for several hours a week to mentees.

Our observation while using these resources was that there's room for an additional resource between one-off peer tutoring and ongoing alumni mentoring: peer mentoring, longer-term mentoring re

@DanielEFrampton
DanielEFrampton / sql_oddities.md
Last active January 23, 2020 20:27
SQL Oddities

SQL Oddities

SQL Oddities by David Bowie

Think you're hot stuff, huh? You can write a query, eh? Well, try these concepts on for size. SQL is stranger than you think.

These are lessons I learned while completing Turing's Intermediate SQL Exercises 1 and 2. See my previous guide for introductory SQL concepts. (I recommend listening to David Bowie while reading. And just generally, I suppose.)

Aggregate Functions

@DanielEFrampton
DanielEFrampton / apis_for_beginners.md
Last active October 5, 2020 14:42
APIs for Beginners

APIs for Beginners

I'm a software developer in training (and in fact) at Turing School of Software & Design. You might not know it, but teaching others is one of the best ways to learn something yourself--and you bring people along with you in the process. Towards that end, as I'm learning about APIs I'll write this guide. I hope it benefits you and inspires you to share your own learning in some way with others!

What Is an API?

API stands for Application Programming Interface, but that's not very helpful. In practice, an API is an outward-facing layer surrounding an application that receives a request, processes it internally, and sends back a response. Any API has certain expectations about the format of the request which need to be followed for it to be able to process it and respond.

In the context of web development, most APIs are on remote servers (computers running elsewhere that you can communicate with through the internet using your browser), which means the requests and responses will be

@DanielEFrampton
DanielEFrampton / stand_up_agenda
Created October 21, 2019 23:03
Futbol Project Team Stand-Up Agenda
1) What are we working on?
2) What's the status of that, and estimated completion time?
3) Code review on-demand
4) Kanban check-in

Template for DTR Memo Project: BattleShip

Group Member Names: Daniel Frampton, Ana Pérez Santos

Goals and Expectations for the Project (What does each group member hope to get out of this project? What do we want to achieve as a team? How will we know that we're successful?):

  • Top priority is learn
  • Learn how to collaborate at our own pace as a team, and stay in sync
  • Make parallel contributions
  • Finish iteration 3

Session 3 Practice Tasks

The assignments listed here should take you between 1.5 and 2 total hours.

To start this assignment:

  1. Click the button in the upper right-hand corner that says Fork. This is now your copy of the document.
  2. Click the Edit button when you're ready to start adding your answers.
  3. To save your work, click the green button in the bottom right-hand corner. You can always come back and re-edit your gist.