@@ -53,6 +53,11 @@ world. | |||
| 53 | 53 | static HTML files into the complex JavaScript client-side applications | |
| 54 | 54 | produced today. | |
| 55 | 55 | ||
| 56 | + * [The Browser Hacker's Guide to Instantly Loading Everything](https://www.youtube.com/watch?v=7vUs5yOuv-o) | ||
| 57 | + is a spectacular technical talk given by Addy Osmani at JSConf EU 2017 | ||
| 58 | + that has great bits of developer knowledge for both beginner and | ||
| 59 | + experienced web developers alike. | ||
| 60 | + | ||
| 56 | 61 | * [Build a web application from scratch](https://defn.io/2018/02/25/web-app-from-scratch-01/) | |
| 57 | 62 | and its follow on posts for | |
| 58 | 63 | [request handling](https://defn.io/2018/03/04/web-app-from-scratch-02/) | |
@@ -82,6 +87,13 @@ world. | |||
| 82 | 87 | this article on | |
| 83 | 88 | [what's in a web browser](https://medium.com/@camaelon/what-s-in-a-web-browser-83793b51df6c). | |
| 84 | 89 | ||
| 90 | + * [Ping at the speed of light](http://blog.wesleyac.com/posts/ping-lightspeed) | ||
| 91 | + dives into the computer networking weeds with how fast packets travel through | ||
| 92 | + the internet plumbing. The author created a | ||
| 93 | + [Python script that scrapes network speeds](https://github.com/WesleyAC/toybox/blob/42262bf81ac226ca83addea2c340017f8ea0e60f/misc/scrape_network_speeds.py) | ||
| 94 | + from disparate locations to see what the network speed is in fiber optic | ||
| 95 | + cables as a percentage of the speed of light. | ||
| 96 | + | ||
| 85 | 97 | * [Three takeaways for web developers after two weeks of painfully slow Internet](https://medium.com/@zengabor/three-takeaways-for-web-developers-after-two-weeks-of-painfully-slow-internet-9e7f6d47726e) | |
| 86 | 98 | is a must-read for every web developer. Not everyone has fast Internet | |
| 87 | 99 | service, whether because they are in a remote part of the world or they're | |
@@ -53,6 +53,14 @@ Jökull Sólberg wrote a great piece articulating to this effect in his | |||
| 53 | 53 | <div class="well see-also">Flask is an implementation of the <a href="/web-frameworks.html">web frameworks</a> concept. Learn how these parts fit together in the <a href="/web-development.html">web development</a> chapter or <a href="/table-of-contents.html">view all topics</a>.</div> | |
| 54 | 54 | ||
| 55 | 55 | ||
| 56 | + ### How does Flask relate to the Pallets Projects? | ||
| 57 | + Flask was originally designed and developed by Armin Ronacher as an | ||
| 58 | + [April Fool's Day joke in 2010](http://lucumr.pocoo.org/2010/4/3/april-1st-post-mortem/). | ||
| 59 | + Despite the origin as a joke, the Flask framework became wildly popular as | ||
| 60 | + an alternative to Django projects with their monolithic structure and | ||
| 61 | + dependencies. | ||
| 62 | + | ||
| 63 | + | ||
| 56 | 64 | ### Flask Tutorials | |
| 57 | 65 | * The Flask mega tutorial by | |
| 58 | 66 | [Miguel Grinberg](https://twitter.com/miguelgrinberg) is a perfect | |
@@ -17,6 +17,8 @@ on GitHub. | |||
| 17 | 17 | ||
| 18 | 18 | ## 2018 | |
| 19 | 19 | ### April | |
| 20 | + * Reworking [web development](/web-development.html) page with new | ||
| 21 | + descriptions and resources. | ||
| 20 | 22 | * Major updates to [Flask](/flask.html) resources, example code and | |
| 21 | 23 | descriptions. | |
| 22 | 24 | * More broken or expired link clean up. | |
@@ -7,5 +7,5 @@ | |||
| 7 | 7 | <a href="/table-of-contents.html">on all topics</a>. | |
| 8 | 8 | </div> | |
| 9 | 9 | </div> | |
| 10 | - {% include "dual.html" %} | ||
| 10 | + {% include "sponsor/dual-premium.html" %} | ||
| 11 | 11 | </div> | |
@@ -1,9 +1,13 @@ | |||
| 1 | - {% if page.slug == 'introduction' or page.slug == 'django' or page.slug == 'flask' or page.slug == 'bottle' or page.slug == 'web-development' or page.slug == 'web-frameworks' or page.slug =='morepath' or page.slug == 'python-programming-language' or page.slug == 'comprehensions' or page.slug == 'generators' or page.slug == 'best-python-resources' or page.slug == 'best-python-videos' or page.slug == 'learning-programming' or page.slug == 'why-use-python' or page.slug == 'best-python-podcasts' or page.slug == 'development-environments' or page.slug == 'vim' or page.slug == 'emacs' or page.slug == 'shells' %} | ||
| 2 | - {% include "rp-advert.html" %} | ||
| 3 | - {% endif %} | ||
| 4 | - {% if page.sortorder[0:2] == "04" or page.sortorder[0:2] == "05" or page.sortorder[0:2] == "06" %} | ||
| 5 | - {% include "rollbar.html" %} | ||
| 6 | - {% endif %} | ||
| 7 | - {% if page.sortorder[0:2] == "01" or page.sortorder[0:2] == "02" or page.sortorder[0:2] == "03" or page.sortorder[0:2] == "04" %} | ||
| 8 | - {% include "mapbox.html" %} | ||
| 1 | + {% if page.sortorder[0:2] == "01" or page.sortorder[0:2] == "02" %} | ||
| 2 | + {% include "sponsor/dual-premium-standard.html" %} | ||
| 3 | + {% elif page.sortorder[0:2] == "03" %} | ||
| 4 | + {% include "sponsor/begin-sponsor-panel.html" %} | ||
| 5 | + {% include "sponsor/mapbox.html" %} | ||
| 6 | + {% include "sponsor/end-sponsor-panel.html" %} | ||
| 7 | + {% elif page.sortorder[0:2] == "04" %} | ||
| 8 | + {% include "sponsor/all-sponsor.html" %} | ||
| 9 | + {% elif page.sortorder[0:2] == "05" or page.sortorder == "06" %} | ||
| 10 | + {% include "sponsor/begin-sponsor-panel.html" %} | ||
| 11 | + {% include "sponsor/rollbar.html" %} | ||
| 12 | + {% include "sponsor/end-sponsor-panel.html" %} | ||
| 9 | 13 | {% endif %} | |
@@ -0,0 +1,10 @@ | |||
| 1 | + <div class="pn"> | ||
| 2 | + <div class="pnh"><h3>Sponsored By</h3></div> | ||
| 3 | + <div class="pnb"> | ||
| 4 | + {% include "sponsor/rollbar.html" %} | ||
| 5 | + <hr> | ||
| 6 | + {% include "sponsor/mapbox.html" %} | ||
| 7 | + <hr> | ||
| 8 | + {% include "sponsor/realpython.html" %} | ||
| 9 | + </div> | ||
| 10 | + </div> | ||
@@ -0,0 +1,3 @@ | |||
| 1 | + <div class="pn"> | ||
| 2 | + <div class="pnh"><h3>Sponsored By</h3></div> | ||
| 3 | + <div class="pnb"> | ||
0 commit comments