Skip to content

Commit ab39720

Browse files
committed
TR overview comments
1 parent 056168e commit ab39720

4 files changed

+103
-0
lines changed

chapter_23_debugging_prod.asciidoc

+35
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,41 @@ Oh yes, waiting to be logged in. And why was that?
1818
Ah yes, we had just built a way of pre-authenticating a user.
1919
Let's see how that works against our staging server and Docker.
2020

21+
////
22+
23+
CSANAD:
24+
Later in the chapter, where we are deploying to the staging environment, I got
25+
stuck: test_my_lists failed by telling me it could not find #id_logout. Since
26+
the test ran fine just previously against the local docker, and the deployment
27+
is a .tar archive, and there may not be sqlite3 client installed by default, it
28+
may not be very straightforward to investigate if the reader believes there is
29+
a discrepancy between their local docker deployment and the staging.
30+
31+
This got me thinking: maybe we could add a few hints for what to do in case the
32+
reader believes there is a bug on staging: trying to reproduce it on the local
33+
docker environment and manually checking sqlite (e.g. by doing SELECT * FROM
34+
account_token; or SELECT * FROM account_users;...), add logging.info() or
35+
logging.debug() so that it shows up in the logs, etc). I think it would fit the
36+
scope of the chapter, as it's titled Debugging And Testing Production Issues.
37+
38+
SEBASTIAN:
39+
It's worth reiterating the testing strategy in the real world. The chapter is
40+
called "Debugging And Testing Production Issues" yet it focuses on running
41+
tests against another non-production environment. It uses methods which I find
42+
a bit controversial because they don't treat the staging environment as a black
43+
box.
44+
45+
46+
DAVID:
47+
Nice one. I particularly liked the discussion of when to choose not to test
48+
something, in this case email.
49+
50+
I do think we should talk a little more about security here - readers should
51+
adopt a security mindset when doing things like this and make sure they think
52+
things through.
53+
54+
////
55+
2156

2257

2358
=== The Proof Is in the Pudding: Using Docker to Catch Final Bugs

chapter_24_outside_in.asciidoc

+21
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,27 @@ So let me know what you think of the chapter, via [email protected]
1313
*******************************************************************************
1414

1515

16+
////
17+
18+
19+
SEBASTIAN
20+
This chapter is not the easiest one to read and follow.
21+
I suggested adding some diagrams to visualize layers that we are crossing while doing outside-in TDD.
22+
I would consider removing a part about @property or at least discourage readers from doing DB calls inside it.
23+
24+
25+
DAVID
26+
I really like the outside-in focus of this chapter.
27+
28+
Something occurred to me about the implementation that I don't mention in the
29+
comments (not specifically related to this chapter). We are using the email in
30+
the URL, but email addresses aren't guaranteed to be valid URL components - we
31+
should probably urlencode them, right?
32+
33+
34+
////
35+
36+
1637
((("Test-Driven Development (TDD)", "outside-in technique", id="TTDoutside22")))
1738
In this chapter I'd like to talk about a technique called Outside-In TDD.
1839
It's pretty much what we've been doing all along.

chapter_25_CI.asciidoc

+34
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,40 @@ Let me know how you get on :)
1212
1313
*******************************************************************************
1414

15+
////
16+
SEBASTIAN
17+
A crucial chapter.
18+
I miss some introduction to what CI actually is and what is its role in today's
19+
modern development. Like some sales pitch why readers should care if they are
20+
strangers to the concept. Some mentions of team work in a contemporary working
21+
environment would be great 👌
22+
23+
What I noticed is that somewhere in the middle pace changes from quickly
24+
getting up to speed with Gitlab CI to tedious debugging.
25+
26+
I think it might use a refreshing perspective AFTER the debugging part to zoom
27+
out, sum up what was done, how this could've been avoided and how it works in a
28+
modern working environment. Being able to run all or as many tests as possible
29+
locally is great, but normally (my experience, so might be biased) ppl build
30+
things from the start to make sure that CI will pass.
31+
32+
DAVID
33+
Well worth including this chapter!
34+
35+
Quite a bit of tweaking needed but it's a good one.
36+
37+
I think we should be mentioning LLMs more as a debugging tool these days.
38+
39+
In one comment I mention that setting up a project looks different if you're signing up for a free trial, here's a screenshot:
40+
Side question, not specifically relevant to this chapter, but the requirements pinning seems a bit off to me - I only had Django in my requirements file, also the versions in the Dockerfile are defined separately. Possibly this has been addressed since I reviewed earlier chapters.
41+
Another few things maybe worth mentioning for additional context:
42+
43+
Precommit hooks - maybe don't need to get into them here, but they do address some of the things that CI also addresses.
44+
Perhaps worth talking about how CI really comes into its own when working in teams, especially with open source. At the moment this is oriented around solo projects.
45+
Could mention linting too!
46+
47+
////
48+
1549

1650
((("Continuous Integration (CI)", id="CI24")))
1751
((("Continuous Integration (CI)", "benefits of")))

chapter_26_page_pattern.asciidoc

+13
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,17 @@ Still, it's a fun chapter, give it a go,
1111
and let me know how you enjoy it!
1212
1313
*******************************************************************************
14+
////
15+
DAVID
16+
17+
18+
The format of this chapter works really well!
19+
20+
I wonder if there is a way of introducing some of this earlier in the book in
21+
two or three places, maybe in smaller ways. They could commit beforehand and
22+
then try to solve certain problems on their own, then undoing their work
23+
afterwards and replacing it with how you did it.
24+
////
1425

1526
// DAVID: What proportion of readers will know the meaning of the word 'copacetic'?
1627

@@ -22,6 +33,8 @@ and they're positively prehistoric now.
2233
Regardless, let's say lists are often better shared.
2334
We should allow our users to collaborate on their lists with other users.
2435

36+
// HARRY: restore Irregardless here somehow?
37+
2538
Along the way we'll improve our FTs
2639
by starting to implement something called the Page object pattern.
2740

0 commit comments

Comments
 (0)