Skip to content

Commit 8379cfb

Browse files
committed
Updating intro, WSGI, and CDN sections.
1 parent 0d57ddd commit 8379cfb

14 files changed

+144
-56
lines changed

feeds/all.atom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<feed xmlns="http://www.w3.org/2005/Atom"><title>Matt Makai</title><link href="http://www.fullstackpython.com/" rel="alternate"></link><link href="http://www.fullstackpython.com/feeds/all.atom.xml" rel="self"></link><id>http://www.fullstackpython.com/</id><updated>2012-12-28T07:53:45Z</updated></feed>
2+
<feed xmlns="http://www.w3.org/2005/Atom"><title>Matt Makai</title><link href="http://www.fullstackpython.com/" rel="alternate"></link><link href="http://www.fullstackpython.com/feeds/all.atom.xml" rel="self"></link><id>http://www.fullstackpython.com/</id><updated>2012-12-30T12:50:45Z</updated></feed>

index.html

Lines changed: 46 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -63,29 +63,29 @@ <h1>Introduction</h1>
6363
programming language. The syntax is beginning to make sense. The first
6464
few &quot;AHA!&quot; moments are hitting you. Now you are excited for direction to learn
6565
more.</p>
66-
<p>So now what? Definitely read Kenneth Reitz's
66+
<p>Now what? Definitely read Kenneth Reitz's
6767
<a class="reference external" href="http://docs.python-guide.org/en/latest/">The Hitchhiker’s Guide to Python</a>
68-
if you have not already. If you're not coming from a non development
69-
background, I wrote a
68+
if you have not already. If you're not coming from a development
69+
background, you may find this post on
7070
<a class="reference external" href="http://www.mattmakai.com/learning-python-for-non-developers.html">Learning Python</a>
71-
blog post you may find useful.</p>
71+
useful.</p>
7272
<p>This guide has a different focus from the above resources. Here I
7373
focus on explaining several ways of setting up a Python <em>web application</em>
7474
stack from server infrastructure through JavaScript execution on a user's
7575
browser.</p>
7676
<div class="section" id="about-the-author">
7777
<h2>About the Author</h2>
7878
<p>I'm <a class="reference external" href="http://www.mattmakai.com/">Matt Makai</a> and I solve problems by
79-
developing software. I most often use Python and occasionally work with
79+
developing software. I often use Python and occasionally work with
8080
languages in the Java Virtual Machine (JVM) stack.</p>
8181
<p>In 2013 I will be traveling to 30 cities in the United States to visit with
82-
tech companies, speak at tech meetups, and blog from an experienced
82+
tech companies, attend and speak at tech meetups, and blog from an experienced
8383
software developer's perspective about the current state of technology in the
84-
United States. If you're reading this guide, I'd love to meet with you
85-
during my trip from March through August, so send me an email at
84+
United States. If you're reading this guide then you're likely someone I'm
85+
interested in meeting during my trip. Send me an email at
8686
<a class="reference external" href="mailto:matthew.makai&#64;gmail.com">matthew.makai&#64;gmail.com</a> or
8787
<a class="reference external" href="https://twitter.com/makaimc">message me on Twitter</a>. Read more about
88-
my upcoming trip at
88+
my upcoming trip that will take place between March 9 and August 15, 2013 at
8989
<a class="reference external" href="http://www.codingacrossamerica.com/about.html">Coding Across America</a>.</p>
9090
<p>If there are typos, inaccurate statements, or general areas for improvement
9191
that you see in this guide, please issue a
@@ -95,7 +95,7 @@ <h2>About the Author</h2>
9595
</section>
9696
<section id="servers" class="tech-section">
9797
<h1>Servers</h1>
98-
<p>There are several options for setting up infrastructure to serve your
98+
<p>There are several options for setting up infrastructure to serve a
9999
web application:</p>
100100
<ol class="arabic simple">
101101
<li>&quot;Bare metal&quot; servers</li>
@@ -172,8 +172,8 @@ <h2>Server Monitoring</h2>
172172
<li>Network bandwidth and latency</li>
173173
</ol>
174174
</div>
175-
<div class="section" id="further-server-resources">
176-
<h2>Further Server Resources</h2>
175+
<div class="section" id="server-resources">
176+
<h2>Server Resources</h2>
177177
<p><a class="reference external" href="http://arstechnica.com/gadgets/2012/11/how-to-set-up-a-safe-and-secure-web-server/">How to set up a safe and secure Web server</a> (Ars Technica)</p>
178178
<p><a class="reference external" href="http://www.kalzumeus.com/2010/12/12/staging-servers-source-control-deploy-workflows-and-other-stuff-nobody-teaches-you/">Staging Servers, Source Control &amp; Deploy Workflows, And Other Stuff Nobody Teaches You</a> (Patrick McKenzie)</p>
179179
<p><a class="reference external" href="http://blog.redfern.me/choosing-a-low-cost-vps/">Choosing a low cost VPS</a>
@@ -258,24 +258,52 @@ <h1>Web Framework</h1>
258258
<a class="reference external" href="http://www.mongodb.org/">MongoDB</a> and <a class="reference external" href="http://docs.basho.com/">Riak</a>.
259259
Other web frameworks such as Flask and Pyramid are generally easier to
260260
use with non-relational databases by incorporating external Python libraries.</p>
261+
<div class="section" id="web-framework-resources">
262+
<h2>Web Framework Resources</h2>
263+
<p><a class="reference external" href="http://www.djangoproject.com/">Django</a></p>
264+
<p><a class="reference external" href="http://flask.pocoo.org/">Flask</a></p>
265+
<p><a class="reference external" href="http://bottlepy.org/docs/dev/">Bottle</a></p>
266+
<p><a class="reference external" href="http://www.pylonsproject.org/">Pyramid</a></p>
267+
</div>
261268

262269
</section>
263270
<section id="wsgi-server" class="tech-section">
264271
<h1>WSGI Server</h1>
265-
<p>WSGI server lorem ipsum.</p>
266-
<p>Vice fingerstache pickled pour-over high life nihil, cliche enim placeat aliquip laborum artisan pitchfork lomo. Do dreamcatcher nihil gastropub non, 90's fashion axe small batch sed echo park selfies art party single-origin coffee esse. Adipisicing mlkshk craft beer laboris, mumblecore cosby sweater elit mixtape street art DIY art party pickled put a bird on it. Flexitarian fixie pug, sartorial culpa sustainable nisi hoodie. Blue bottle put a bird on it meh terry richardson cardigan. American apparel exercitation velit echo park beard aute you probably haven't heard of them letterpress, esse excepteur williamsburg nesciunt food truck in lo-fi. Dolore ullamco meh high life, raw denim flexitarian Austin consectetur non sed irure banksy salvia.</p>
267-
<p>Occaecat before they sold out squid ut disrupt. Et elit exercitation small batch quis, letterpress dolor chillwave flannel jean shorts swag. Consectetur chambray ex magna, eu bicycle rights next level proident placeat. Cliche marfa fugiat, fixie bespoke echo park odd future thundercats chambray intelligentsia officia cillum exercitation. Enim YOLO pug swag. Cardigan id ullamco, fingerstache do nihil culpa narwhal intelligentsia leggings. Skateboard cillum DIY tousled velit fap.</p>
268-
<p>Hashtag dolor fashion axe ea mustache jean shorts. Banksy ennui tumblr wolf trust fund four loko, sunt 3 wolf moon fixie fugiat cardigan. Fap single-origin coffee plaid, blue bottle cillum commodo scenester semiotics assumenda quinoa. Craft beer gastropub truffaut, quis vegan gentrify quinoa lomo enim sartorial salvia messenger bag incididunt odio sunt. Magna letterpress officia, retro trust fund narwhal sint put a bird on it mixtape occupy minim you probably haven't heard of them american apparel next level. Williamsburg wayfarers quinoa keytar commodo fingerstache 8-bit street art. Do art party four loko raw denim, food truck vice fanny pack excepteur occaecat enim tumblr leggings plaid.</p>
272+
<p>A <a class="reference external" href="http://wsgi.readthedocs.org/en/latest/">Web Server Gateway Interface</a>
273+
(WSGI) server implements the web server side of the WSGI interface for
274+
running Python web applications. The WSGI standard v1.0 is specified in
275+
<a class="reference external" href="http://www.python.org/dev/peps/pep-0333/">PEP 0333</a>. As of September 2010,
276+
WSGI v1.0 is superseded by
277+
<a class="reference external" href="http://www.python.org/dev/peps/pep-3333/">PEP 3333</a>, which defines the
278+
v1.0.1 WSGI standard.</p>
269279

270280
</section>
271281
<section id="content-delivery-network" class="tech-section">
272282
<h1>Content Delivery Network</h1>
273-
<p>CDN lorem ipsum.</p>
283+
<p>A content delivery network (CDN) serves static file assets.
284+
<a class="reference external" href="http://aws.amazon.com/cloudfront/">Amazon CloudFront</a>,
285+
<a class="reference external" href="http://www.akamai.com/">Akamai</a>, and
286+
<a class="reference external" href="http://www.rackspace.com/cloud/public/files/">Rackspace Cloud Files</a>
287+
are examples of CDNs. The purpose of a CDN is to remove the load of static
288+
file requests from web servers that are handling dynamic web content. For
289+
example, if you have an nginx server that handles both static files and
290+
acts as a front for a Green Unicorn WSGI server on a 512 megabyte
291+
virtual private server, the nginx server will run into resource
292+
constraints under heavy traffic. A CDN can remove the need to serve static
293+
assets from that nginx server so it can purely act as a pass through for
294+
requests to the Green Unicorn WSGI server.</p>
295+
<p>CDNs distribute request load globally by using data centers in different
296+
locations.</p>
297+
<div class="section" id="cdn-resources">
298+
<h2>CDN Resources</h2>
299+
<p><a class="reference external" href="http://blog.doismellburning.co.uk/2012/07/14/using-amazon-s3-to-host-your-django-static-files/">Using Amazon S3 to host your Django static files</a></p>
300+
</div>
274301

275302
</section>
276303
<section id="change-log" class="tech-section">
277304
<h1>Change Log</h1>
278-
<p>2012.12.27: Added beginning of section on Python web frameworks. Added stub for content delivery network.</p>
305+
<p>2012.12.30: Updated introduction with improved wording. Working on CDN section.</p>
306+
<p>2012.12.27: Added beginning of section on Python web frameworks. Added stub for content delivery network.</p>
279307
<p>2012.12.25: Initial incomplete release on fullstackpython.com.</p>
280308

281309
</section>

pages/change-log.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@
4545
<h1>Change Log</h1>
4646

4747

48-
<p>2012.12.27: Added beginning of section on Python web frameworks. Added stub for content delivery network.</p>
48+
<p>2012.12.30: Updated introduction with improved wording. Working on CDN section.</p>
49+
<p>2012.12.27: Added beginning of section on Python web frameworks. Added stub for content delivery network.</p>
4950
<p>2012.12.25: Initial incomplete release on fullstackpython.com.</p>
5051

5152
<hr/>

pages/content-delivery-network.html

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,24 @@
4545
<h1>Content Delivery Network</h1>
4646

4747

48-
<p>CDN lorem ipsum.</p>
48+
<p>A content delivery network (CDN) serves static file assets.
49+
<a class="reference external" href="http://aws.amazon.com/cloudfront/">Amazon CloudFront</a>,
50+
<a class="reference external" href="http://www.akamai.com/">Akamai</a>, and
51+
<a class="reference external" href="http://www.rackspace.com/cloud/public/files/">Rackspace Cloud Files</a>
52+
are examples of CDNs. The purpose of a CDN is to remove the load of static
53+
file requests from web servers that are handling dynamic web content. For
54+
example, if you have an nginx server that handles both static files and
55+
acts as a front for a Green Unicorn WSGI server on a 512 megabyte
56+
virtual private server, the nginx server will run into resource
57+
constraints under heavy traffic. A CDN can remove the need to serve static
58+
assets from that nginx server so it can purely act as a pass through for
59+
requests to the Green Unicorn WSGI server.</p>
60+
<p>CDNs distribute request load globally by using data centers in different
61+
locations.</p>
62+
<div class="section" id="cdn-resources">
63+
<h2>CDN Resources</h2>
64+
<p><a class="reference external" href="http://blog.doismellburning.co.uk/2012/07/14/using-amazon-s3-to-host-your-django-static-files/">Using Amazon S3 to host your Django static files</a></p>
65+
</div>
4966

5067
<hr/>
5168
<div class="footer pull-right">

pages/introduction.html

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -49,29 +49,29 @@ <h1>Introduction</h1>
4949
programming language. The syntax is beginning to make sense. The first
5050
few &quot;AHA!&quot; moments are hitting you. Now you are excited for direction to learn
5151
more.</p>
52-
<p>So now what? Definitely read Kenneth Reitz's
52+
<p>Now what? Definitely read Kenneth Reitz's
5353
<a class="reference external" href="http://docs.python-guide.org/en/latest/">The Hitchhiker’s Guide to Python</a>
54-
if you have not already. If you're not coming from a non development
55-
background, I wrote a
54+
if you have not already. If you're not coming from a development
55+
background, you may find this post on
5656
<a class="reference external" href="http://www.mattmakai.com/learning-python-for-non-developers.html">Learning Python</a>
57-
blog post you may find useful.</p>
57+
useful.</p>
5858
<p>This guide has a different focus from the above resources. Here I
5959
focus on explaining several ways of setting up a Python <em>web application</em>
6060
stack from server infrastructure through JavaScript execution on a user's
6161
browser.</p>
6262
<div class="section" id="about-the-author">
6363
<h2>About the Author</h2>
6464
<p>I'm <a class="reference external" href="http://www.mattmakai.com/">Matt Makai</a> and I solve problems by
65-
developing software. I most often use Python and occasionally work with
65+
developing software. I often use Python and occasionally work with
6666
languages in the Java Virtual Machine (JVM) stack.</p>
6767
<p>In 2013 I will be traveling to 30 cities in the United States to visit with
68-
tech companies, speak at tech meetups, and blog from an experienced
68+
tech companies, attend and speak at tech meetups, and blog from an experienced
6969
software developer's perspective about the current state of technology in the
70-
United States. If you're reading this guide, I'd love to meet with you
71-
during my trip from March through August, so send me an email at
70+
United States. If you're reading this guide then you're likely someone I'm
71+
interested in meeting during my trip. Send me an email at
7272
<a class="reference external" href="mailto:matthew.makai&#64;gmail.com">matthew.makai&#64;gmail.com</a> or
7373
<a class="reference external" href="https://twitter.com/makaimc">message me on Twitter</a>. Read more about
74-
my upcoming trip at
74+
my upcoming trip that will take place between March 9 and August 15, 2013 at
7575
<a class="reference external" href="http://www.codingacrossamerica.com/about.html">Coding Across America</a>.</p>
7676
<p>If there are typos, inaccurate statements, or general areas for improvement
7777
that you see in this guide, please issue a

pages/servers.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
<h1>Servers</h1>
4646

4747

48-
<p>There are several options for setting up infrastructure to serve your
48+
<p>There are several options for setting up infrastructure to serve a
4949
web application:</p>
5050
<ol class="arabic simple">
5151
<li>&quot;Bare metal&quot; servers</li>
@@ -122,8 +122,8 @@ <h2>Server Monitoring</h2>
122122
<li>Network bandwidth and latency</li>
123123
</ol>
124124
</div>
125-
<div class="section" id="further-server-resources">
126-
<h2>Further Server Resources</h2>
125+
<div class="section" id="server-resources">
126+
<h2>Server Resources</h2>
127127
<p><a class="reference external" href="http://arstechnica.com/gadgets/2012/11/how-to-set-up-a-safe-and-secure-web-server/">How to set up a safe and secure Web server</a> (Ars Technica)</p>
128128
<p><a class="reference external" href="http://www.kalzumeus.com/2010/12/12/staging-servers-source-control-deploy-workflows-and-other-stuff-nobody-teaches-you/">Staging Servers, Source Control &amp; Deploy Workflows, And Other Stuff Nobody Teaches You</a> (Patrick McKenzie)</p>
129129
<p><a class="reference external" href="http://blog.redfern.me/choosing-a-low-cost-vps/">Choosing a low cost VPS</a>

pages/web-framework.html

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,13 @@ <h1>Web Framework</h1>
6565
<a class="reference external" href="http://www.mongodb.org/">MongoDB</a> and <a class="reference external" href="http://docs.basho.com/">Riak</a>.
6666
Other web frameworks such as Flask and Pyramid are generally easier to
6767
use with non-relational databases by incorporating external Python libraries.</p>
68+
<div class="section" id="web-framework-resources">
69+
<h2>Web Framework Resources</h2>
70+
<p><a class="reference external" href="http://www.djangoproject.com/">Django</a></p>
71+
<p><a class="reference external" href="http://flask.pocoo.org/">Flask</a></p>
72+
<p><a class="reference external" href="http://bottlepy.org/docs/dev/">Bottle</a></p>
73+
<p><a class="reference external" href="http://www.pylonsproject.org/">Pyramid</a></p>
74+
</div>
6875

6976
<hr/>
7077
<div class="footer pull-right">

pages/wsgi-server.html

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,13 @@
4545
<h1>WSGI Server</h1>
4646

4747

48-
<p>WSGI server lorem ipsum.</p>
49-
<p>Vice fingerstache pickled pour-over high life nihil, cliche enim placeat aliquip laborum artisan pitchfork lomo. Do dreamcatcher nihil gastropub non, 90's fashion axe small batch sed echo park selfies art party single-origin coffee esse. Adipisicing mlkshk craft beer laboris, mumblecore cosby sweater elit mixtape street art DIY art party pickled put a bird on it. Flexitarian fixie pug, sartorial culpa sustainable nisi hoodie. Blue bottle put a bird on it meh terry richardson cardigan. American apparel exercitation velit echo park beard aute you probably haven't heard of them letterpress, esse excepteur williamsburg nesciunt food truck in lo-fi. Dolore ullamco meh high life, raw denim flexitarian Austin consectetur non sed irure banksy salvia.</p>
50-
<p>Occaecat before they sold out squid ut disrupt. Et elit exercitation small batch quis, letterpress dolor chillwave flannel jean shorts swag. Consectetur chambray ex magna, eu bicycle rights next level proident placeat. Cliche marfa fugiat, fixie bespoke echo park odd future thundercats chambray intelligentsia officia cillum exercitation. Enim YOLO pug swag. Cardigan id ullamco, fingerstache do nihil culpa narwhal intelligentsia leggings. Skateboard cillum DIY tousled velit fap.</p>
51-
<p>Hashtag dolor fashion axe ea mustache jean shorts. Banksy ennui tumblr wolf trust fund four loko, sunt 3 wolf moon fixie fugiat cardigan. Fap single-origin coffee plaid, blue bottle cillum commodo scenester semiotics assumenda quinoa. Craft beer gastropub truffaut, quis vegan gentrify quinoa lomo enim sartorial salvia messenger bag incididunt odio sunt. Magna letterpress officia, retro trust fund narwhal sint put a bird on it mixtape occupy minim you probably haven't heard of them american apparel next level. Williamsburg wayfarers quinoa keytar commodo fingerstache 8-bit street art. Do art party four loko raw denim, food truck vice fanny pack excepteur occaecat enim tumblr leggings plaid.</p>
48+
<p>A <a class="reference external" href="http://wsgi.readthedocs.org/en/latest/">Web Server Gateway Interface</a>
49+
(WSGI) server implements the web server side of the WSGI interface for
50+
running Python web applications. The WSGI standard v1.0 is specified in
51+
<a class="reference external" href="http://www.python.org/dev/peps/pep-0333/">PEP 0333</a>. As of September 2010,
52+
WSGI v1.0 is superseded by
53+
<a class="reference external" href="http://www.python.org/dev/peps/pep-3333/">PEP 3333</a>, which defines the
54+
v1.0.1 WSGI standard.</p>
5255

5356
<hr/>
5457
<div class="footer pull-right">

source/content/pages/change-log.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ Change Log
55
:slug: change-log
66
:sort-order: 9
77

8+
2012.12.30: Updated introduction with improved wording. Working on CDN section.
9+
810
2012.12.27: Added beginning of section on Python web frameworks. Added stub for content delivery network.
911

1012
2012.12.25: Initial incomplete release on fullstackpython.com.

0 commit comments

Comments
 (0)