Skip to content

Commit b8a01a4

Browse files
committed
clean up all broken links
1 parent 11137cd commit b8a01a4

12 files changed

+8
-44
lines changed

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

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -196,9 +196,6 @@ The post is an inside look at the evolution of Braintree's usage of the database
196196
provides a fascinating look into the internal workings of PostgreSQL
197197
during a query.
198198

199-
* If you're just getting started with PostgreSQL here are
200-
[10 beginner tasks you should know how to execute](https://eye.raze.mx/10-beginner-postgresql-tasks-you-should-know/).
201-
202199
* [Locating the recovery point just before a dropped table](https://blog.hagander.net/locating-the-recovery-point-just-before-a-dropped-table-230/)
203200
and
204201
[logging transactions that dropped tables](https://blog.hagander.net/logging-transactions-that-dropped-tables-236/)
@@ -207,9 +204,6 @@ The post is an inside look at the evolution of Braintree's usage of the database
207204
recovery points while the second post shows how to put logging in place
208205
to assist in future recoveries.
209206

210-
* The title's a bit presumptuous but here's a useful list of
211-
[7 PostgreSQL data migration hacks you should be using, but aren't](http://engineering.tilt.com/7-postgresql-data-migration-hacks/).
212-
213207
* [awesome-postgres](https://github.com/dhamaniasad/awesome-postgres)
214208
is a list of code libraries, tutorials and newsletters focused
215209
specifically on PostgreSQL.
@@ -241,10 +235,6 @@ The post is an inside look at the evolution of Braintree's usage of the database
241235
explains how to store and query JSON data, similar to how
242236
[NoSQL data stores](/no-sql-datastore.html) operate.
243237

244-
* [PostgreSQL Indexes: First Principles](http://eftimov.net/postgresql-indexes-first-principles)
245-
is a detailed look at what indexes are, what they are good for and
246-
how to use them in PostgreSQL.
247-
248238
* This [slideshow on high availability for web applications](http://thebuild.com/presentations/pgha-fosdem-2016.pdf)
249239
has a good overview of various database setups common in production
250240
web applications.

content/pages/09-data/04-mysql.markdown

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ With that driver support context in mind, it's absolutely possible to build
4949
a Python 3 web application with MySQL as a backend. Here is a list of
5050
drivers along with whether it supports Python 2, 3 or both.
5151

52-
* [mysqlclient](https://mysqlclient.readthedocs.io/en/latest/) is a fork
52+
* [mysqlclient](https://pypi.python.org/pypi/mysqlclient) is a fork
5353
of MySQLdb that supports Python 2 and 3.
5454

5555
* [MySQL Connector](http://dev.mysql.com/doc/connector-python/en/)
@@ -113,8 +113,6 @@ developers learn PostgreSQL if they do not already know MySQL.
113113
* [28 Beginner's Tutorials for Learning about MySQL Databases](http://designm.ag/tutorials/28-beginners-tutorials-for-learning-about-mysql-databases/)
114114
is a curated collection on various introductory MySQL topics.
115115

116-
* This tutorial shows how to install [MySQL on Ubuntu](http://www.cs.wcupa.edu/rkline/index/mysql-lin.html).
117-
118116
* [A Basic MySQL Tutorial](https://www.digitalocean.com/community/tutorials/a-basic-mysql-tutorial)
119117
doesn't have the most original title but it's a good walkthrough of your
120118
first few steps in MySQL for creating users and working with tables.

content/pages/09-data/05-sqlite.markdown

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,6 @@ access a SQLite database from within Python applications.
3434
[great design document on the SQLite site](http://sqlite.org/src4/doc/trunk/www/design.wiki)
3535
that covers many of these principles.
3636

37-
* [Getting the Most out of Sqlite3 with Python](https://remusao.github.io/posts/2017-10-21-few-tips-sqlite-perf.html)
38-
has a bunch of useful tips for working with SQLite such as how to use
39-
the connection object, favoring the `executemany` call instead of `execute`
40-
for bulk inserts and delaying index creation until bulk inserts are
41-
completed.
42-
4337
* [My list of SQLite resources](http://charlesleifer.com/blog/my-list-of-python-and-sqlite-resources/)
4438
is a nice roundup of useful tools to use with SQLite and tutorials for
4539
learning more about the database.

content/pages/09-data/07-sqlalchemy.markdown

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -142,12 +142,6 @@ edge cases.
142142
post makes some good points about the quality of SQLAlchemy's
143143
documentation and what a pleasure it can be to use it in a Python project.
144144

145-
* [Large web apps in Python: A good architecture](http://nando.oui.com.br/2014/04/01/large_apps_with_sqlalchemy__architecture.html)
146-
goes into issues that expanding codebases face, such as where to put
147-
business logic and how to automate database testing. Each of the topics
148-
in the article are discussed in the context of a recent project the
149-
author worked on that heavily relied on SQLAlchemy.
150-
151145
* [SQLAlchemy and Django](https://engineering.betterworks.com/2015/09/03/sqlalchemy-and-django/)
152146
explains how one development team uses the Django ORM for most of their
153147
standard queries but relies on SQLAlchemy for really advanced queries.

content/pages/09-data/11-pony-orm.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ meta: Pony is an object-relational mapper (ORM) library for Python applications.
1111
[Pony](https://ponyorm.com/)
1212
([source code](https://github.com/ponyorm/pony)) is
1313
a Python
14-
[object-relational mapper (ORM) library](/object-relational-mapper-orms.html)
14+
[object-relational mapper (ORM) library](/object-relational-mappers-orms.html)
1515
([database module source code](https://github.com/django/django/tree/master/django/db)).
1616
Pony can be used to interact and manipulate data in
1717
[relational databases](/databases.html), including

content/pages/09-data/13-redis.markdown

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -78,11 +78,6 @@ some advice on Reids security and guarding against data breaches.
7878
[cracks its security](http://www.antirez.com/news/96) to show the tradeoffs
7979
purposely made between ease of use and security in the default settings.
8080

81-
* [Is your Redis server safe?](https://www.isredisallsafe.com/) is a tool
82-
to test that your Redis instances are locked down. The tool is based on
83-
the blog post
84-
[a few things about Redis security](http://www.antirez.com/news/96).
85-
8681
* [For God’s sake, secure your Mongo/Redis/etc!](https://medium.com/@shahinism/for-gods-sake-secure-your-mongo-redis-etc-4f310cf1bed2)
8782
digs into the unfortunate default security settings that come with many
8883
NoSQL databases which can be used to compromise your systems. Make sure

content/pages/09-data/23-bokeh.markdown

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,6 @@ these sites:
4343
* [Bokeh Applications](https://demo.bokehplots.com/) hosts numerous
4444
data visualizations built with Bokeh.
4545

46-
* [bokeh-notebooks](https://github.com/bokeh/bokeh-notebooks/tree/master/gallery)
47-
has a nice collection of Bokeh visualizations within
48-
[Jupyter Noteboks](/jupyter-notebook.html).
49-
5046

5147
### Bokeh resources
5248
Bokeh is under heavy development ahead of the upcoming 1.0 release. Note that

content/pages/10-web-apis/08-api-creation.markdown

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -136,9 +136,6 @@ equivalent of browser testing in the web application world.
136136
has their recommendations list for building an API based on their recent
137137
experiences.
138138

139-
* [Some REST Best Practices](https://bourgeois.me/rest/) is a high level
140-
summary of rules to follow while creating your API.
141-
142139
* Hacker News had a discussion on
143140
[what's the best way to write an API spec?](https://news.ycombinator.com/item?id=8912897)
144141
that provides a few different viewpoints on this topic.

content/pages/12-meta/01-change-log.markdown

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ on GitHub.
1717

1818
## 2017
1919
### December
20-
* Cleaned up broken and redirected links in first chapter.
20+
* Cleaned up broken and redirected links on all pages including blog posts.
2121
* Merged [PR#147](https://github.com/mattmakai/fullstackpython.com/pull/147) to
2222
fix an issue installing [MySQL](/mysql.html) server package.
2323
* Major performance improvements by reducing all page sizes by 15-20%. Split apart
@@ -35,7 +35,7 @@ on GitHub.
3535
Ubuntu 18.04 LTS releases).
3636
* Crossed the 120k words mark for content, thanks to a slew of new tutorials
3737
and pages.
38-
* New [serverless](/serverless-architectures.html) and
38+
* New [serverless](/serverless.html) and
3939
[AWS Lambda](/aws-lambda.html) resources.
4040
* Merged [PR#144](https://github.com/mattmakai/fullstackpython.com/pull/144)
4141
which fixes an issue with the wrong `psql` command in the blog post on

content/posts/160513-bottle-gunicorn-ubuntu-1604.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ as of April 2017 are:
3030
[3.5.1](https://docs.python.org/3/whatsnew/3.5.html)
3131
(default in Ubuntu 16.04.2)
3232
* [Bottle](/bottle.html) web framework version
33-
[0.13](http://bottlepy.org/docs/0.13/)
33+
[0.13](http://bottlepy.org/docs/stable/)
3434
* [Green Unicorn (Gunicorn)](/green-unicorn-gunicorn.html) version
3535
[19.7.1](http://docs.gunicorn.org/en/stable/news.html)
3636

0 commit comments

Comments
 (0)