Skip to content

Commit a2066fa

Browse files
committed
added a ton of new resources across many pages
1 parent d4e2e71 commit a2066fa

File tree

9 files changed

+131
-20
lines changed

9 files changed

+131
-20
lines changed

content/pages/03-data/22-markup-languages.markdown

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,11 @@ parser and then transformed into HTML output.
2222
argues for the simplicity of Markdown versus the steep learning curve and
2323
less easily adopted LaTeX for creating documents.
2424

25-
25+
* [Yet Another Markup LOL?](https://urcomputeringpal.com/2018/09/09/yaml)
26+
explains the virtues and the significant downsides of tooling for the
27+
[YAML markup language](http://yaml.org/). Mistakes in configuration files
28+
that use YAML or any markup language often fly past
29+
[testing](/testing.html) and
30+
[continuous integration](/continuous-integration.html) services that
31+
catch errors in regular code. The post also introduces a couple of tools
32+
that can help with specific YAML issues, especially when using Kubernetes.

content/pages/04-web-development/00-web-development.markdown

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,12 +58,24 @@ world.
5858
succinctly explains the origins of the web starting from Tim Berners-Lee's
5959
origin vision and release at CERN.
6060

61+
* [Web Architecture 101](https://engineering.videoblocks.com/web-architecture-101-a3224e126947)
62+
is a great high-level overview of the technologies that run the modern
63+
web, such as DNS, load balancers, web application servers (for Python
64+
that equates to [WSGI servers](/wsgi-servers.html)),
65+
[data bases](/databases.html), [task queues](/task-queues.html),
66+
[caching](/caching.html) and several other critical concepts.
67+
6168
* The [Evolution of the Web](http://www.evolutionoftheweb.com/) visualizes
6269
how web browsers and related technologies have changed over time as well as
6370
the overall growth of the Internet in the amount of data transferred. Note
6471
that the visualization unfortunately stops around the beginning of 2013 but
6572
it's a good way to explore what happened in the first 24 years.
6673

74+
* [How browsers work](https://www.html5rocks.com/en/tutorials/internals/howbrowserswork/)
75+
provides an overview with solid detail on how browsers take the HTML,
76+
CSS, JavaScript, images and other files as input and render webpages as
77+
output. It is well worth your time to know this stuff as a web developer.
78+
6779
* [Web app checklist](http://dhilipsiva.com/webapp-checklist/) presents
6880
good practices that developers building and [deploying](/deployment.html)
6981
web applications should follow. Don't worry about having every single

content/pages/04-web-development/01-web-frameworks.markdown

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,10 @@ with Flask? Check out
9696
[this Django web application tutorial](https://www.twilio.com/docs/sms/tutorials/appointment-reminders-python-django)
9797
and then view [the same application built with Flask](https://www.twilio.com/docs/sms/tutorials/appointment-reminders-python-flask).
9898

99+
[Talk Python to Me had a podcast episode](https://talkpython.fm/episodes/show/149/4-python-web-frameworks-compared)
100+
with a detailed comparison of the [Django](/django.html),
101+
[Flask](/flask.html), Tornado and [Pyramid](/pyramid.html) frameworks.
102+
99103
There is also a repository called
100104
[compare-python-web-frameworks](https://github.com/mattmakai/compare-python-web-frameworks)
101105
where the same web application is being coded with varying Python web
@@ -118,6 +122,13 @@ frameworks, templating engines and
118122
"[What is a web framework and how does it compare to LAMP?](http://stackoverflow.com/questions/4507506/what-is-a-web-framework-how-does-it-compare-with-lamp)"
119123
question on Stack Overflow.
120124

125+
* Another great series that digs behind the web framework magic is
126+
"Web Application from Scratch". The four parts are:
127+
* [part 1: handling HTTP requests and responses](https://defn.io/2018/02/25/web-app-from-scratch-01/)
128+
* [part 2: abstracting Requests, Responses and Servers](https://defn.io/2018/03/04/web-app-from-scratch-02/)
129+
* [part 3: request handlers and middleware](https://defn.io/2018/03/20/web-app-from-scratch-03/)
130+
* [part 4: abstracting applications](https://defn.io/2018/05/12/web-app-from-scratch-04/)
131+
121132
* [Frameworks](http://youtu.be/W6KCPXl6Zuc) is a really well done short video
122133
that explains how to choose between web frameworks. The author has some
123134
particular opinions about what should be in a framework. For the most part
@@ -151,6 +162,13 @@ frameworks, templating engines and
151162
The votes aren't as important as the list of the many frameworks
152163
that are available to Python developers.
153164

165+
* [Not Your Father’s Python: Amazing Powerful Frameworks](https://blog.signifai.io/not-your-fathers-python-amazing-powerful-frameworks/)
166+
covers the rise of web frameworks, such as [Sanic](/sanic.html), that
167+
are built on Python's
168+
[asyncio](https://docs.python.org/3/library/asyncio.html)
169+
functionality that was built into the standard library starting with
170+
Python 3.4.
171+
154172

155173
### Web frameworks learning checklist
156174
1. Choose a major Python web framework ([Django](/django.html) or

content/pages/04-web-development/06-turbogears.markdown

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,3 +166,7 @@ as arguments.
166166
An article showcasing how to create web applications relying on React
167167
without the need to have NodeJS installed at all. The article
168168
uses TurboGears as the web framework to develop the example application.
169+
170+
* [Turbogears and the future of Python web frameworks](https://talkpython.fm/episodes/show/35/turbogears-and-the-future-of-python-web-frameworks)
171+
is a Talk Python to Me podcast episode featuring an interview with one
172+
of the TurboGears core developers.

content/pages/04-web-development/10-other-web-frameworks.markdown

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,17 @@ authentication and protecting against malicious clients.
7070

7171

7272
## Vibora
73-
* [Vibora](https://vibora.io/) is an asynchronous model framework similar to
74-
[Sanic](/sanic.html) that was inspired by [Flask](/flask.html)'s syntax.
75-
However, the framework's author rewrote many parts like the template engine
76-
to maximize performance.
73+
[Vibora](https://vibora.io/) is an asynchronous model framework similar to
74+
[Sanic](/sanic.html) that was inspired by [Flask](/flask.html)'s syntax.
75+
However, the framework's author rewrote many parts like the template engine
76+
to maximize performance.
77+
78+
79+
## Pecan
80+
[Pecan](https://pecan.readthedocs.io/en/latest/index.html) is inspired by
81+
CherryPy and [TurboGears](/turbogears.html). It purely focuses on HTTP
82+
requests and responses via Python objects and does not integrate session
83+
handling or [database](/databases.html) access.
7784

7885

7986
### Other web framework resources
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
title: Webhooks
2+
category: page
3+
slug: webhooks
4+
sortorder: 0446
5+
toc: False
6+
sidebartitle: Webhooks
7+
meta: Webhooks are user-defined HTTP callbacks that allow interactions between otherwise independent web applications.
8+
9+
10+
# Webhooks
11+
Webhooks are user-defined HTTP callbacks that allow interactions between
12+
otherwise independent web applications.
13+
14+
15+
### Webhooks projects
16+
* [Thorn](https://thorn.readthedocs.io/en/stable/) is a Python framework for
17+
building webhooks and event-driven applications. There is also an
18+
[introduction post with more information on using Thorn](https://robinhood.engineering/thorn-easy-webhooks-for-python-82a78e170bdb).
19+
20+
* [PyWebhooks](http://pywebhooks.io/) is a proof-of-concept library for
21+
building webhooks-based services.
22+
23+
* [Webhook Tester](https://webhook.site)
24+
25+
26+
### Webhook resources
27+
* [Should you build a webhooks API?](https://brandur.org/webhooks)
28+
29+
* [Webhooks do’s and dont’s: what we learned after integrating +100 APIs](https://restful.io/webhooks-dos-and-dont-s-what-we-learned-after-integrating-100-apis-d567405a3671)
30+
31+
* [Why Are Webhooks Better Than Serverless Extensibility?](https://developer.okta.com/blog/2017/10/11/why-are-webhooks-better-than-serverless-extensibility)
32+
33+
* [Webhooks Provide an Efficient Alternative to API Polling](https://thenewstack.io/wonderful-world-webhooks/)
34+
is a high-level overview of the advantages of webhooks over
35+
alternatives such as constant polling for updates.
36+
37+
* [Webhooks: the devil in the details](https://techblog.commercetools.com/webhooks-the-devil-in-the-details-ca7f7982c24f)
38+
39+
* [How to use webhooks for recovering customers](https://blog.recurly.com/how-to-use-webhooks-to-recover-customers)

content/pages/05-deployment/38-serverless.markdown

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,12 @@ out how to structure and operate serverless applications.
118118
serverless for large production applications and how they deal with
119119
the limitations of the platforms.
120120

121+
* [Serverless cold start war](https://mikhail.io/2018/08/serverless-cold-start-war/)
122+
compares startup times of serverless function instances across Google
123+
Cloud, AWS and Azure. This is only one way to measure the results the
124+
author did a great job presenting the data and elaborating on potential
125+
reasons why the results appeared as shown.
126+
121127
* [What's this serverless thing, anyway?](https://read.acloud.guru/whats-this-serverless-thing-anyway-b101cb72c7e6)
122128

123129
* [Serverless architectures - let's ditch the servers?](https://codeahoy.com/2016/06/25/serverless-architectures-lets-ditch-the-servers/)
Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
<h3>What's next after building an API for your project?</h3>
22
<div class="row">
3-
<div class="c4">
4-
<div class="well select-next">
5-
{% include "choices/buttons/application-programming-interfaces.html" %}
6-
</div>
7-
</div>
8-
<div class="c4">
9-
<div class="well select-next">
10-
{% include "choices/buttons/api-integration.html" %}
11-
</div>
12-
</div>
13-
<div class="c4">
14-
<div class="well select-next">
15-
{% include "choices/buttons/best-python-resources.html" %}
16-
</div>
17-
</div>
3+
<div class="c4">
4+
<div class="well select-next">
5+
{% include "choices/buttons/application-programming-interfaces.html" %}
6+
</div>
7+
</div>
8+
<div class="c4">
9+
<div class="well select-next">
10+
{% include "choices/buttons/api-integration.html" %}
11+
</div>
12+
</div>
13+
<div class="c4">
14+
<div class="well select-next">
15+
{% include "choices/buttons/best-python-resources.html" %}
16+
</div>
17+
</div>
1818
</div>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<h3>What's next for your project after webhooks?</h3>
2+
<div class="row">
3+
<div class="c4">
4+
<div class="well select-next">
5+
{% include "choices/buttons/application-programming-interfaces.html" %}
6+
</div>
7+
</div>
8+
<div class="c4">
9+
<div class="well select-next">
10+
{% include "choices/buttons/best-python-resources.html" %}
11+
</div>
12+
</div>
13+
<div class="c4">
14+
<div class="well select-next">
15+
{% include "choices/buttons/api-integration.html" %}
16+
</div>
17+
</div>
18+
</div>

0 commit comments

Comments
 (0)