Skip to content

Commit 286ff19

Browse files
committed
adding new sentry exception handling blog post
1 parent 7da83e7 commit 286ff19

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+7609
-93
lines changed

content/pages/02-development-environments/06-jupyter-notebook.markdown

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,10 @@ your own productive workflow.
8181
examines the growth of the Jupyter ecosystem and the jump from exploratory
8282
analysis notebooks to production notebooks.
8383

84+
* [Jupyter Notebook Best Practices](https://levelup.gitconnected.com/jupyter-notebook-best-practices-fc326eb5cd22)
85+
contains tips for beginners such as learning shortcuts and properly
86+
documenting the analysis you work on.
87+
8488
* [How to Version Control Jupyter Notebooks](https://nextjournal.com/schmudde/how-to-version-control-jupyter)
8589
explains how Jupyter Notebooks are stored in JSON, the issues with that
8690
format for [source control](/source-control.html) and how to get

content/pages/02-development-environments/10-powershell.markdown

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,3 +55,9 @@ of a Python programmer's
5555
* [Invoke-Build](https://github.com/nightroman/Invoke-Build) is a build
5656
automation tool. There is also extensive documentation on their
5757
[wiki](https://github.com/nightroman/Invoke-Build/wiki).
58+
59+
* [Two months with Powershell on a UNIX](https://code.joejag.com/2020/a-month-with-powershell.html)
60+
examines one developer's experience using PowerShell not on Windows
61+
but on a \*nix [operating system](/operating-systems.html). The author
62+
covers the advantages and disadvantages he found during his experience
63+
and some of the bugs he hopes are fixed in PowerShell 7.

content/pages/02-development-environments/17-localhost-tunnels.markdown

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,11 @@ experience with to the ones I have not used.
2323

2424
* [ngrok](https://ngrok.com/) is the service I use most often. It is
2525
easy and worth the small fee to upgrade your account with a few
26-
extra features such as fixed, customizable subdomains.
26+
extra features such as fixed, customizable subdomains. There is
27+
also a
28+
[Python wrapper for ngrok called pyngrok](https://github.com/alexdlaird/pyngrok)
29+
that makes it easy to programmatically access the ngrok client
30+
from Python applications.
2731

2832
* [Localtunnel](https://localtunnel.github.io/www/) is a localhost
2933
tunnel written in Node.js.

content/pages/03-data/00-data.markdown

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,3 +163,7 @@ sets.
163163
[Jupyter Notebook](/jupyter-notebook.html) that [Stripe](/stripe.html)
164164
for their data analysis across the company.
165165

166+
* [The Definitive Data Scientist Environment Setup](https://davidadrian.cc/definitive-data-scientist-setup/)
167+
explains how to set up both a hardware and software configuration that
168+
is conducive to data science research and analysis.
169+

content/pages/03-data/02-postgresql.markdown

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,9 +175,21 @@ for properly handling your data.
175175
past five years. It's amazing to see how far this project has come and
176176
how it continues to evolve.
177177

178+
* [The Internals of PostgreSQL](http://www.interdb.jp/pg/) is a book
179+
that goes into how PostgreSQL works, including core topics such as
180+
[query processing](http://www.interdb.jp/pg/pgsql03.html),
181+
[concurrency control](http://www.interdb.jp/pg/pgsql05.html) and the
182+
[layout of heap table files](http://www.interdb.jp/pg/pgsql01.html).
183+
178184
* [PostgreSQL Weekly](http://postgresweekly.com/) is a weekly newsletter of
179185
PostgreSQL content from around the web.
180186

187+
* [My Favorite PostgreSQL Extensions - Part One](https://severalnines.com/database-blog/my-favorite-postgresql-extensions-part-one)
188+
and
189+
[part two](https://severalnines.com/database-blog/my-favorite-postgresql-extensions-part-two)
190+
are roundups of useful PostgreSQL extensions that augment the
191+
standard PostgreSQL functionality.
192+
181193
* [An introduction to PostgreSQL physical storage](http://rachbelaid.com/introduction-to-postgres-physical-storage/)
182194
provides a solid walkthrough of where PostgreSQL files are located on
183195
disk, how the files store your data and what mappings are important for

content/pages/03-data/03-mysql.markdown

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,10 @@ A handful of the best of these tutorials are listed below.
133133
goes into details for why the company Userlike migrated from their MySQL
134134
database setup to PostgreSQL.
135135

136+
* [MySQL sharding at Quora](https://www.quora.com/q/quoraengineering/MySQL-sharding-at-Quora)
137+
provides details behind Quora's at-scale infrastructure and
138+
how their MySQL sharding evolved over time.
139+
136140
* [Growing up with MySQL](https://nylas.com/blog/growing-up-with-mysql/) is
137141
a story about how one company went through dramatic growth and had to keep
138142
up with it by quickly scaling their MySQL database.

content/pages/03-data/16-pandas.markdown

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@ is a data structures and analysis library.
4949
shows how to use the `crosstab` function in pandas so you can summarize
5050
and group data.
5151

52+
* [Calculating streaks in pandas](https://joshdevlin.com/blog/calculate-streaks-in-pandas/)
53+
shows how to measure and report on streaks in data, which is where
54+
several events happen in a row consecutively.
55+
5256
* [How to Convert a Python Dictionary to a Pandas DataFrame](https://www.marsja.se/how-to-convert-a-python-dictionary-to-a-pandas-dataframe/)
5357
is a straightforward tutorial with example code for loading and adding
5458
data stored in a typical Python dictionary into a DataFrame.
@@ -118,3 +122,7 @@ is a data structures and analysis library.
118122
* [How to use Pandas read_html to Scrape Data from HTML Tables](https://www.marsja.se/how-to-use-pandas-read_html-to-scrape-data-from-html-tables/)
119123
has a bunch of great code examples that show how to load
120124
data from HTML directly into your DataFrames.
125+
126+
* [How to download fundamentals data with Python](http://theautomatic.net/2020/05/05/how-to-download-fundamentals-data-with-python/)
127+
shows how to obtain and use financial data, such as balance sheets,
128+
stock prices, and various ratios to perform your own analysis on.

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ in [1989](http://home.cern/topics/birth-web). Web development is the concept
2121
that encompasses all the activities involved with websites and web
2222
applications.
2323

24+
2425
## How does Python fit into web development?
2526
Python can be used to build server-side web applications. While a
2627
[web framework](/web-frameworks.html) is not required to build web apps,
@@ -76,6 +77,11 @@ world.
7677
that the visualization unfortunately stops around the beginning of 2013 but
7778
it's a good way to explore what happened in the first 24 years.
7879

80+
* [What happens when?](https://github.com/alex/what-happens-when) is an
81+
incredibly detailed answer to the questions "What happens when you
82+
type google.com into your browser's address box and press enter?" that
83+
seems straightforward on the surface until you really dig in.
84+
7985
* [How browsers work](https://www.html5rocks.com/en/tutorials/internals/howbrowserswork/)
8086
provides an overview with solid detail on how browsers take the HTML,
8187
CSS, JavaScript, images and other files as input and render webpages as

content/pages/04-web-development/02-django.markdown

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,12 +135,21 @@ the framework.
135135
order to build and deploy a RESTful API powered by Python, Django,
136136
and Django REST Framework.
137137

138+
* [User Interaction With Forms](https://www.mattlayman.com/understand-django/user-interaction-forms/)
139+
explains general web form input, how Django handles forms via POST requests,
140+
different types of input such as CharFields, DateFields and EmailFields,
141+
and validating that input.
142+
138143
* This 3-part Django project optimization guide covers a wide range of
139144
advanced topics such as
140145
[Profiling and Django settings](https://dizballanze.com/django-project-optimization-part-1/),
141146
[working with databases](https://dizballanze.com/django-project-optimization-part-2/)
142147
and [caching](https://dizballanze.com/django-project-optimization-part-3/).
143148

149+
* [Caching in Django](https://testdriven.io/blog/django-caching/) is a detailed
150+
look at the configuration required for caching and how to measure the
151+
performance improvements once you have it in place.
152+
144153
* [Mental Models for Class Based Views](https://djangodeconstructed.com/2020/01/03/mental-models-for-class-based-views/)
145154
provides some comparison points between class based views (CBVs) and
146155
function based views and the author's opinions for how you can better
@@ -257,6 +266,11 @@ based on [WebSockets](/websockets.html).
257266
is a good post to read for figuring out how to use [Gulp](http://gulpjs.com/)
258267
for handling front end tools in development and production Django sites.
259268

269+
* [Django Testing Cheat Sheet](https://www.valentinog.com/blog/testing-django/)
270+
covers many common scenarios for Django applications such as testing
271+
POST requests, request headers, authentication, and large numbers of
272+
model fields in the [Django ORM](/django-orm.html).
273+
260274
* [Getting Started with Django Testing](http://howchoo.com/g/mjkwmtu5zdl/getting-started-with-django-testing)
261275
will help you stop procrastinating on testing your Django projects if you're
262276
uncertain where to begin.

content/pages/04-web-development/03-flask.markdown

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,11 @@ combined with the example real-world projects listed in the next section.
181181
[Docker](/docker.html). It shows how to [deploy](/deployment.html) it to an
182182
Amazon EC2 instance then scale the services on Amazon EC2 Container Service (ECS).
183183

184+
* [Build a Video Chat Application with Python, JavaScript and Twilio Programmable Video](https://www.twilio.com/blog/build-video-chat-application-python-javascript-twilio-programmable-video)
185+
shows how to use [Twilio](/twilio.html)
186+
[Programmable Video](https://www.twilio.com/video) to build cross-platform
187+
(web, iOS and Android) video into Flask applications.
188+
184189
* [Why and how to handle exceptions in Python Flask](https://opensource.com/article/17/3/python-flask-exceptions)
185190
has some great example code and reasons why you should code defensively
186191
by anticipating and handling the unhappy path exceptions in your Flask

0 commit comments

Comments
 (0)