Skip to content

Instantly share code, notes, and snippets.

View Renddslow's full-sized avatar
👀

Matt McElwee Renddslow

👀
View GitHub Profile

Keybase proof

I hereby claim:

  • I am renddslow on github.
  • I am renddslow (https://keybase.io/renddslow) on keybase.
  • I have a public key ASC_ddxKU2GyNNNFdmGuyuFJTtMkDextXTqLlfFCp3AX0wo

To claim this, I am signing this object:

### Keybase proof
I hereby claim:
* I am renddslow on github.
* I am renddslow (https://keybase.io/renddslow) on keybase.
* I have a public key ASD-U99hs2JC4M2_R-9SAn_KemcNyOALVj0CssD5g62Dcwo
To claim this, I am signing this object:

Intro

A key part of the Agility to the Web architecture is our middleware layer. Our middleware is build on top of a number of technologies including GraphQL, Golang, Node.js, and Docker. In order to get a high-level understanding of the full middleware architecture, we're going to follow a request to the middleware and make pitstops at points of interest along the way. There are a few terms I want to high-level before we get in. I assume most of you have heard of or used GraphQL at this point?

GraphQL is first and foremost a query language for APIs. Below that, they provide a system for interpreting and fulfilling those queries. Like any query language, GraphQL allows us to ask for what ever we need and return exactly that. In addition, it is able to manage multiple queries at a shot, dropping the number of requests we have to make from the frontend. In addition GraphQL provides a powerful type system which also helps to power its self-documentations.

We won't spend a ton of time on the ins-and-outs of

<?xml version="1.0"?>
<RVPresentationDocument CCLIArtistCredits="" CCLIAuthor="" CCLICopyrightYear="" CCLIDisplay="false" CCLIPublisher="" CCLISongNumber="" CCLISongTitle="" backgroundColor="1 1 1 1" buildNumber="16156" category="PowerPoint" chordChartPath="" docType="0" drawingBackgroundColor="true" height="1080" lastDateUsed="2019-06-02T09:59:06-05:00" notes="" os="2" resourcesDirectory="/Users/Shared/Renewed Vision Media/ImportedImages/E7251702-154B-424F-A16D-AF06C0BB6A02/EC4237AC-34E4-4182-BD00-9476D79916B3" selectedArrangementID="" usedCount="0" uuid="5568190E-4F5D-4422-82F2-2F88B2BB66DA" versionNumber="600" width="1920">
<RVTimeline duration="0.000000" loop="false" playBackRate="1.000000" rvXMLIvarName="timeline" selectedMediaTrackIndex="0" timeOffset="0.000000">
<array rvXMLIvarName="timeCues"/>
<array rvXMLIvarName="mediaTracks"/>
</RVTimeline>
<array rvXMLIvarName="groups">
<RVSlideGrouping color="0.3333333333333333 0.3333333333333333 0.3333333333333333 1" name="Group" uuid="126A084
Anonymous UUID: B99FB14C-A8ED-05AD-CA1E-EE601911DAE4
Tue Jun 11 08:45:41 2019
*** Panic Report ***
panic(cpu 2 caller 0xffffff8015803925): "zfree: double free of 0xffffff805443f680 to zone kalloc.16\n"@/BuildRoot/Library/Caches/com.apple.xbs/Sources/xnu/xnu-4903.251.3/osfmk/kern/zalloc.c:1304
Backtrace (CPU 2), Frame : Return Address
0xffffff923ff23930 : 0xffffff80157af82d
0xffffff923ff23980 : 0xffffff80158eb795
0xffffff923ff239c0 : 0xffffff80158dcf4a
@Renddslow
Renddslow / Grid.md
Created June 24, 2019 16:42
A brief description of the WedgeKit Grid

Grid

Base Unit 4px
Column Gap (Row) 8px (2 base units) This is for the space between related components horizontally. For instance, the distance between an email address input and a "send" button
Row Gap (Gutter) 4px top and bottom (1 base unit) This is for the space between related components vertically. For instance, an email address input below a name input.
@Renddslow
Renddslow / cards-v-panels.md
Created August 2, 2019 20:02
The difference between WedgeKit Cards and Panels

Cards

Cards are dynamic, contain content, and CAN BE interactive (clickable, draggable, etc)

Panels

Panels are content/layout areas and should always be present and in the same place on a given page

@Renddslow
Renddslow / README.md
Last active September 1, 2019 22:02
TCA Code Fall 2019 Software

TCA Code Software List/Website Whitelist

Software

Software Name Link Description
Git git-scm.com Git is a tool for keeping track of various versions of your code. We will use this tool at its most basic for submitting projects. The instructions link includes a link to the download for both Mac and Windows as well as instructions on setting it up.
GitHub Desktop desktop.github.com Git is known as a command-line tooling, meaning you have to use your Terminal or Command Prompt to use it. To make thing simpler, there is a desktop version with a graphical user interface. Download and instructions for set up are available at the link. You will likely be prompted to login to GitHub.com when you open it for the first time, this will be necessary for the class. Jump down to setting up a GitHub account for details.
Python 3 (Windows) [pyt
@Renddslow
Renddslow / tca_1_toc.md
Last active January 31, 2020 18:02
TCA Code Handouts

The web changes a lot. It used to be that you could write up some good-ole fashioned HTML, plop it on a server, and call it a website.

Now-a-days, people are making things a lot more complicated. We've got CSS, JavaScript, JavaScript frameworks, CSS inside of JavaScript, HTML/XML inside of JavaScript. We've got JavaScript on the server, JavaScript on the phone, JavaScript in your browser, and JavaScript in your refrigerator. Why can't I just put my HTML on a server anymore? When do I need all those tools, and when can I keep it simple?

In this talk we'll cover what a web app is, why we build them the way we do, when its needed, and what implications that has on how you build applications in the browser.

If you have any interest in building web apps, security, or JavaScript, this is a talk for you.