-
Notifications
You must be signed in to change notification settings - Fork 175
Expand file tree
/
Copy pathappendix_github_links.asciidoc
More file actions
160 lines (108 loc) · 5.78 KB
/
Copy pathappendix_github_links.asciidoc
File metadata and controls
160 lines (108 loc) · 5.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
[[appendix_github_links]]
[appendix]
== Source Code Examples
((("code examples, obtaining and using")))
All
of the code examples I've used in the book are available in
https://github.com/hjwp/book-example/[my repo on GitHub].
So, if you ever want to compare your code against mine,
you can take a look at it there.
Each chapter has its own branch named after it, like so:
https://github.com/hjwp/book-example/tree/chapter_01.
Be aware that each branch contains all of the commits for that chapter,
so its state represents the code at the 'end' of the chapter.
=== Full List of Links for Each Chapter
|===
| Chapter | GitHub branch name & hyperlink
| <<chapter_01>>
| https://github.com/hjwp/book-example/tree/chapter_01[chapter_01]
| <<chapter_02_unittest>>
| https://github.com/hjwp/book-example/tree/chapter_02_unittest[chapter_02_unittest]
| <<chapter_03_unit_test_first_view>>
| https://github.com/hjwp/book-example/tree/chapter_03_unit_test_first_view[chapter_03_unit_test_first_view]
| <<chapter_04_philosophy_and_refactoring>>
| https://github.com/hjwp/book-example/tree/chapter_04_philosophy_and_refactoring[chapter_04_philosophy_and_refactoring]
| <<chapter_05_post_and_database>>
| https://github.com/hjwp/book-example/tree/chapter_05_post_and_database[chapter_05_post_and_database]
| <<chapter_06_explicit_waits_1>>
| https://github.com/hjwp/book-example/tree/chapter_06_explicit_waits_1[chapter_06_explicit_waits_1]
| <<chapter_07_working_incrementally>>
| https://github.com/hjwp/book-example/tree/chapter_07_working_incrementally[chapter_07_working_incrementally]
| <<chapter_08_prettification>>
| https://github.com/hjwp/book-example/tree/chapter_08_prettification[chapter_08_prettification]
| <<chapter_09_docker>>
| https://github.com/hjwp/book-example/tree/chapter_09_docker[chapter_09_docker]
| <<chapter_10_production_readiness>>
| https://github.com/hjwp/book-example/tree/chapter_10_production_readiness[chapter_10_production_readiness]
| <<chapter_11_server_prep>>
| https://github.com/hjwp/book-example/tree/chapter_11_server_prep[chapter_11_server_prep]
| <<chapter_13_organising_test_files>>
| https://github.com/hjwp/book-example/tree/chapter_13_organising_test_files[chapter_13_organising_test_files]
| <<chapter_14_database_layer_validation>>
| https://github.com/hjwp/book-example/tree/chapter_14_database_layer_validation[chapter_14_database_layer_validation]
| <<chapter_15_simple_form>>
| https://github.com/hjwp/book-example/tree/chapter_15_simple_form[chapter_15_simple_form]
| <<chapter_16_advanced_forms>>
| https://github.com/hjwp/book-example/tree/chapter_16_advanced_forms[chapter_16_advanced_forms]
| <<chapter_17_javascript>>
| https://github.com/hjwp/book-example/tree/chapter_17_javascript[chapter_17_javascript]
| <<chapter_18_second_deploy>>
| https://github.com/hjwp/book-example/tree/chapter_18_second_deploy[chapter_18_second_deploy]
| <<chapter_19_spiking_custom_auth>>
| https://github.com/hjwp/book-example/tree/chapter_19_spiking_custom_auth[chapter_19_spiking_custom_auth]
| <<chapter_20_mocking_1>>
| https://github.com/hjwp/book-example/tree/chapter_20_mocking_1[chapter_20_mocking_1]
| <<chapter_21_mocking_2>>
| https://github.com/hjwp/book-example/tree/chapter_21_mocking_2[chapter_21_mocking_2]
| <<chapter_22_fixtures_and_wait_decorator>>
| https://github.com/hjwp/book-example/tree/chapter_22_fixtures_and_wait_decorator[chapter_22_fixtures_and_wait_decorator]
| <<chapter_23_debugging_prod>>
| https://github.com/hjwp/book-example/tree/chapter_23_debugging_prod[chapter_23_debugging_prod]
| <<chapter_24_outside_in>>
| https://github.com/hjwp/book-example/tree/chapter_24_outside_in[chapter_24_outside_in]
| <<chapter_25_CI>>
| https://github.com/hjwp/book-example/tree/chapter_25_CI[chapter_25_CI]
| <<chapter_26_page_pattern>>
| https://github.com/hjwp/book-example/tree/chapter_26_page_pattern[chapter_26_page_pattern]
| Online Appendix: Test Isolation, and Listening to Your Tests
| https://github.com/hjwp/book-example/tree/appendix_purist_unit_tests[appendix_purist_unit_tests]
| Online Appendix: BDD
| https://github.com/hjwp/book-example/tree/appendix_bdd[appendix_bdd]
| Online Apendix: Building a REST API
| https://github.com/hjwp/book-example/tree/appendix_rest_api[appendix_rest_api]
|===
=== Using Git to Check Your Progress
If you feel like developing your Git-Fu a little further, you can add
my repo as a 'remote':
[role="skipme"]
-----
git remote add harry https://github.com/hjwp/book-example.git
git fetch harry
-----
And then, to check your difference from the 'end' of <<chapter_04_philosophy_and_refactoring>>:
[role="skipme"]
----
git diff harry/chapter_04_philosophy_and_refactoring
----
Git can handle multiple remotes, so you can still do this even if you're
already pushing your code up to GitHub or Bitbucket.
Be aware that the precise order of, say, methods in a class may differ
between your version and mine. It may make diffs hard to read.
=== Downloading a ZIP File for a Chapter
If, for whatever reason, you want to "start from scratch" for a chapter,
or skip ahead,footnote:[
I don't recommend skipping ahead.
I haven't designed the chapters to stand on their own;
each relies on the previous ones, so it may be more confusing than anything else...]
and/or you're just not comfortable with Git,
you can download a version of my code as a ZIP file,
from URLs following this pattern:
https://github.com/hjwp/book-example/archive/chapter_01.zip
https://github.com/hjwp/book-example/archive/chapter_04_philosophy_and_refactoring.zip
=== Don't Let it Become a Crutch!
Try not to sneak a peek at the answers unless you're really, really stuck.
Like I said at the beginning of <<chapter_03_unit_test_first_view>>,
there's a lot of value in debugging errors all by yourself,
and in real life, there's no "harrys repo" to check against
and find all the answers.
Happy coding!