1
+ <!DOCTYPE html>
2
+ < html lang ="en ">
3
+
4
+ < head >
5
+ < meta charset ="utf-8 ">
6
+ < meta name ="viewport " content ="width=device-width, initial-scale=1 ">
7
+ < meta name ="author " content ="Harry Percival and Bob Gregory ">
8
+ < meta name ="description " content ="">
9
+ < link rel ="stylesheet " href ="//fonts.googleapis.com/css?family=Roboto:300,300italic,700,700italic ">
10
+ < link rel ="stylesheet " href ="//cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.css ">
11
+ < link rel ="stylesheet " href ="//cdnjs.cloudflare.com/ajax/libs/milligram/1.3.0/milligram.css ">
12
+ < link rel ="
stylesheet "
href ="
https://cdn.jsdelivr.net/npm/[email protected] /friendly.css "
>
13
+ </ head >
14
+
15
+ < body >
16
+ < main class ="wrapper ">
17
+
18
+ < nav class ="navigation ">
19
+ < section class ="container ">
20
+ < a class ="navigation-title " href ="/ ">
21
+ < h1 class ="title "> Cosmic Python</ h1 >
22
+ </ a >
23
+ </ section >
24
+ </ nav >
25
+
26
+ < section class ="container ">
27
+
28
+ < div class ="row ">
29
+ < div class ="column ">
30
+ < img src ="https://www.jpl.nasa.gov/spaceimages/images/largesize/PIA13111_hires.jpg " />
31
+ </ div >
32
+ </ div >
33
+ < h1 > Cosmic Python</ h1 >
34
+ < h2 > Simple patterns for building complex applications</ h2 >
35
+ < p >
36
+ < em >
37
+ (Because "Cosmos" is the
38
+ < a href ="https://www.goodreads.com/quotes/604655-cosmos-is-a-greek-word-for-the-order-of-the "> opposite of Chaos</ a > ,
39
+ you see)
40
+ </ em >
41
+ </ p >
42
+
43
+ < h1 > The Book</ h1 >
44
+ < ul >
45
+ < li >
46
+ Read for free from the sources using Github previews:
47
+ < a href ="https://github.com/cosmicpython/book#table-of-contents "> github.com/cosmicpython/book</ a >
48
+ </ li >
49
+
50
+ < li >
51
+ Read in online on O'Reilly Learning (aka Safari)
52
+ < a href ="https://learning.oreilly.com/library/view/architecture-patterns-with/9781492052197/ "> learning.oreilly.com</ a >
53
+ </ li >
54
+
55
+ < li >
56
+ Preorder print books on
57
+ < a href ="https://amzn.to/37pR2DH "> Amazon.com</ a >
58
+ or
59
+ < a href ="https://amzn.to/38CmFu1 "> Amazon.co.uk</ a > .
60
+ </ li >
61
+ < li >
62
+ Buy a DRM-free ebook at
63
+ < a href ="https://www.ebooks.com/en-us/book/209971850/architecture-patterns-with-python/harry-percival/ "> ebooks.com</ a >
64
+ </ li >
65
+ </ ul >
66
+
67
+ < h1 > Blog</ h1 >
68
+
69
+ < h3 > Recent posts</ h3 >
70
+
71
+ < ul >
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+
82
+ < li >
83
+ < a href ="posts/2020-01-25-testing_external_api_calls.html "> 2020-01-25 Writing tests for external API calls</ a >
84
+ </ li >
85
+
86
+
87
+ </ ul >
88
+
89
+ < h3 > Classic 2017 Episodes on Ports & Adapters, by Bob</ h3 >
90
+
91
+
92
+ < ul >
93
+
94
+
95
+ < li >
96
+ < a href ="posts/2017-09-07-introducing-command-handler.html "> 2017-09-07 Introducing Command Handler</ a >
97
+ </ li >
98
+
99
+
100
+
101
+ < li >
102
+ < a href ="posts/2017-09-08-repository-and-unit-of-work-pattern-in-python.html "> 2017-09-08 Repository and Unit of Work Pattern</ a >
103
+ </ li >
104
+
105
+
106
+
107
+ < li >
108
+ < a href ="posts/2017-09-13-commands-and-queries-handlers-and-views.html "> 2017-09-13 Commands, Handlers, Queries and Views</ a >
109
+ </ li >
110
+
111
+
112
+
113
+ < li >
114
+ < a href ="posts/2017-09-19-why-use-domain-events.html "> 2017-09-19 Why use domain events?</ a >
115
+ </ li >
116
+
117
+
118
+
119
+
120
+ </ ul >
121
+
122
+
123
+ </ section >
124
+ </ main >
125
+ </ body >
126
+ </ html >
0 commit comments