Skip to content

Commit 97c7ee1

Browse files
committed
add a ton of new testing and nosql resources across the site
1 parent 86a70ef commit 97c7ee1

File tree

6 files changed

+46
-4
lines changed

6 files changed

+46
-4
lines changed

content/pages/03-data/10-no-sql-datastore.markdown

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,9 @@ representing a person could have a property of "female" or "male".
168168
covers trends in NoSQL data stores and compares graph databases to other
169169
data store types.
170170

171+
* [Graph search algorithm basics](https://neo4j.com/blog/graph-search-algorithm-basics/)
172+
explains the methods for searching nodes for data in a graph database.
173+
171174

172175
## NoSQL third-party services
173176
* [Compose](https://www.compose.com/) provides MongoDB as a service. It's

content/pages/03-data/11-redis.markdown

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,10 @@ with your Python code.
5757
version of Redis' in-memory data store with Python. It's a good article
5858
to understand more about how NoSQL data stores can work under the covers.
5959

60+
* [Introduction to Redis streams with Python](http://charlesleifer.com/blog/redis-streams-with-python/)
61+
shows how to use the new (as of Redis version 5.0) append-only streams
62+
functionality via Python code.
63+
6064

6165
### Redis examples
6266
Redis' wide applicability can be a downside if you don't know what to start

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,7 @@ is a data structures and analysis library.
3838
explains how the author grabbed a bunch of Flickr data using the
3939
[flickr-api](https://github.com/alexis-mignon/python-flickr-api) library
4040
then analyzed the EXIF data in the photos using pandas.
41-
41+
42+
* [Pandas Crosstab Explained](http://pbpython.com/pandas-crosstab.html)
43+
shows how to use the `crosstab` function in pandas so you can summarize
44+
and group data.

content/pages/04-web-development/15-web-design.markdown

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ using CSS and JavaScript.
1616
You wouldn’t use a web application that looked like the following screenshot,
1717
would you?
1818

19-
<img src="/img/visuals/no-style-webpage.png" width="100%" alt="HTML with no CSS or JavaScript." class="technical-diagram" />
19+
<img src="/img/visuals/no-style-webpage.png" width="100%" alt="HTML with no CSS or JavaScript." class="shot rnd outl">
2020

2121
Creating web pages with their own style and interactivity so users can easily
2222
accomplish their tasks is a major part of building modern web applications.
@@ -39,7 +39,11 @@ shows that navigation bar relocation scenario when you resize the browser
3939
width.
4040

4141

42-
## Design resources
42+
## Fantastic design resources
43+
There are way too many design resources on the web, so I picked out
44+
this short list as my absolute favorites that help developers become
45+
(hopefully much) better with design.
46+
4347
* [Clean up your mess: A Guide to Visual Design for Everyone](http://www.visualmess.com/index.html)
4448
walks through the basic principles for clean and effective design. You
4549
can make a website go from terrible to well-designed often by following
@@ -89,3 +93,6 @@ width.
8993
thought out clear explanation for how to think about design according to
9094
specific rules such as axis, symmetry, hierarchy and rhythm.
9195

96+
* [Front-end performance checklist](https://github.com/thedaviddias/Front-End-Performance-Checklist)
97+
is a comprehensive checklist useful when you are implementing a
98+
web application's client side code.

content/pages/04-web-development/35-testing.markdown

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ test runners, coverage reports and related libraries.
5656
Requests library with Selenium to make it easier to run automated
5757
browser tests.
5858

59+
* [coverage.py](https://coverage.readthedocs.io/) is a tool for
60+
measuring code coverage when running tests.
5961

6062

6163
### Testing resources
@@ -95,19 +97,32 @@ test runners, coverage reports and related libraries.
9597
[top answer on Stack Overflow](http://stackoverflow.com/questions/4904096/whats-the-difference-between-unit-functional-acceptance-and-integration-test)
9698
to that very question.
9799

100+
* [The cleaning hand of Pytest](https://blog.daftcode.pl/the-cleaning-hand-of-pytest-28f434f4b684)
101+
provides a couple of case studies for how companies set up their testing
102+
systems. It then gives the boilerplate code the author uses for Pytest
103+
and goes through a bunch of code samples for common situations.
104+
98105
* [Using pytest with Django](http://engineroom.trackmaven.com/blog/using-pytest-with-django/)
99106
shows how to get a basic [pytest](http://pytest.org/latest/) test
100107
running for a Django project and explains why the author prefers pytest
101108
over standard unittest testing.
102109

103-
* [Distributed Testing with Selenium Grid and Docker](https://testdriven.io/distributed-testing-with-selenium-grid) shows how to distribute automated, browser tests with Selenium Grid and Docker Swarm. It also looks at how to run tests against a number of browsers and automate the provisioning and deprovisioning of machines to keep costs down.
110+
* [Distributed Testing with Selenium Grid and Docker](https://testdriven.io/distributed-testing-with-selenium-grid)
111+
shows how to distribute automated, browser tests with Selenium Grid and
112+
Docker Swarm. It also looks at how to run tests against a number of
113+
browsers and automate the provisioning and deprovisioning of machines to
114+
keep costs down.
104115

105116
* [Principles of Automated Testing](http://www.lihaoyi.com/post/PrinciplesofAutomatedTesting.html)
106117
explains how to prioritize what to test, goes through some levels of
107118
testing from [unit](/unit-testing.html) to
108119
[integration](/integration-testing.html) and examines when to use example
109120
and bulk tests.
110121

122+
* [Pytest leaking](https://nvbn.github.io/2017/02/02/pytest-leaking/)
123+
examines situations where tests leak memory and can cause abnormal
124+
results if they are not fixed.
125+
111126

112127
### Mocking resources
113128
Mocking allows you to isolate parts of your code under test and avoid
@@ -142,3 +157,4 @@ use mocks in your test cases.
142157
[Redis](/redis.html)-dependent code but prefer to mock it rather than
143158
ensure an installation and connection are present whenever you run
144159
your tests.
160+

content/pages/04-web-development/37-integration-testing.markdown

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,3 +51,12 @@ during development so they can be addressed immediately.
5151
and other tests. There is also some practical advice like "It’s not
5252
important what you call it, but what it does" which as a pragmatic
5353
programmer I am keen to agree on.
54+
55+
* [Consistent Selenium Testing in Python](https://chrxs.net/articles/2017/09/01/consistent-selenium-testing/)
56+
gives a spectacular code-driven walkthrough for setting up Selenium
57+
along with SauceLabs for continuous browser-based testing.
58+
59+
* [Where do our flaky tests come from?](https://testing.googleblog.com/2017/04/where-do-our-flaky-tests-come-from.html)
60+
presents Google's data on where their integration tests fail and how
61+
the tools you use can sometimes lead to higher incidents of failed
62+
tests than other testing tools.

0 commit comments

Comments
 (0)