Consuming APIs,
Client Routing
HTTP protocol
IP protocol
DNS
CDNs
Networking
We mostly rely on existing infrastructure here. Our programs leverage this section, but we have little control over how it behaves.
Request Routing,
Asset Delivery,
Creating APIs,
Databases,
Data Processing
1. Browser requests your website.
2. Server responds with HTML.
3. Browser renders HTML. Boom, you’re done.
Browsing the internet used to be very simple.
1. Browser requests your website.
2. Server responds with HTML.
3. Browser renders HTML, <script> and <link> tags trigger an extra asynchronous requests to the server for each tag.
4. Server responds with the requested “assets”
5. Browser finishes rendering with the new CSS and JS assets. JavaScript files begin running.
1. Browser requests your website.
2. Server responds with HTML.
4. <script> and <link requests>
5. Server responds with the requested “assets”
6. Browser finishes rendering.
3. Web server makes database request.
1. Browser requests your website.
2. Server responds with HTML.
4. <script> and <link requests>
5. Server responds with the requested “assets”
6. Browser renders. Javascript begins running, and triggers “AJAX” requests.
3 & 7. Web server makes database request.
8. Web server responds with data for the AJAX request.
CONTENT
DELIVERY
NETWORK
BD "Master Instance"
BD
"Slave Instance"
BD
"Slave Instance"
BD
"Slave Instance"
Server Instance
Server Instance
Server Instance
Load Balancer
The Command Line
Gain greater control over your computer, interact with it on a deeper level.
Understand more accurately what a computer is doing.
Programming Languages: Variables, functions, and control flow.
All of programs share these fundamental concepts, from systems to web.
Algorithms, Data Structures, and Computer Science
We're standing on the shoulders of giants.
"Pre-baked" solutions and what's happening "under the hood"
Industrial Programming Best Practices
Testing, Workflows, Git, and working with large codebases.