Skip to content

Commit 47a1748

Browse files
committed
new blog post ddia review
1 parent 8fa9fd0 commit 47a1748

11 files changed

+201
-7
lines changed

Diff for: blog/2017-09-07-introducing-command-handler.html

+4-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,10 @@ <h1> Introducing Command Handler</h1>
4040
<div class="column">
4141
<img src="/images/tarantula_nebula.jpg" />
4242

43-
<p class="float-right"><em><small><a href="https://www.nasa.gov/image-feature/spitzers-view-of-the-tarantula-nebula">find out more about this image</a></small></em></p>
43+
<p class="float-right">
44+
<em><small><a href="https://www.nasa.gov/image-feature/spitzers-view-of-the-tarantula-nebula">
45+
find out more about this image
46+
</a></small></em></p>
4447

4548
</div>
4649
</div>

Diff for: blog/2017-09-08-repository-and-unit-of-work-pattern-in-python.html

+4-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,10 @@ <h1> Repository and Unit of Work Pattern</h1>
4040
<div class="column">
4141
<img src="/images/spider_nebula.jpg" />
4242

43-
<p class="float-right"><em><small><a href="https://www.nasa.gov/image-feature/jpl/pia20357/the-spider-nebula">find out more about this image</a></small></em></p>
43+
<p class="float-right">
44+
<em><small><a href="https://www.nasa.gov/image-feature/jpl/pia20357/the-spider-nebula">
45+
find out more about this image
46+
</a></small></em></p>
4447

4548
</div>
4649
</div>

Diff for: blog/2017-09-13-commands-and-queries-handlers-and-views.html

+4-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,10 @@ <h1> Commands, Handlers, Queries and Views</h1>
4040
<div class="column">
4141
<img src="/images/crab_nebula.png" />
4242

43-
<p class="float-right"><em><small><a href="https://www.nasa.gov/image-feature/new-view-of-the-crab-nebula">find out more about this image</a></small></em></p>
43+
<p class="float-right">
44+
<em><small><a href="https://www.nasa.gov/image-feature/new-view-of-the-crab-nebula">
45+
find out more about this image
46+
</a></small></em></p>
4447

4548
</div>
4649
</div>

Diff for: blog/2017-09-19-why-use-domain-events.html

+4-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,10 @@ <h1> Why use domain events?</h1>
4040
<div class="column">
4141
<img src="/images/red_spider_nebula.jpg" />
4242

43-
<p class="float-right"><em><small><a href="https://www.nasa.gov/image-feature/goddard/2016/hubble-spins-a-web-into-a-giant-red-spider-nebula">find out more about this image</a></small></em></p>
43+
<p class="float-right">
44+
<em><small><a href="https://www.nasa.gov/image-feature/goddard/2016/hubble-spins-a-web-into-a-giant-red-spider-nebula">
45+
find out more about this image
46+
</a></small></em></p>
4447

4548
</div>
4649
</div>

Diff for: blog/2020-01-25-testing_external_api_calls.html

+4-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,10 @@ <h1> Writing tests for external API calls</h1>
4040
<div class="column">
4141
<img src="/images/veil_nebula.jpg" />
4242

43-
<p class="float-right"><em><small><a href="https://en.wikipedia.org/wiki/Veil_Nebula">find out more about this image</a></small></em></p>
43+
<p class="float-right">
44+
<em><small><a href="https://en.wikipedia.org/wiki/Veil_Nebula">
45+
find out more about this image
46+
</a></small></em></p>
4447

4548
</div>
4649
</div>

Diff for: blog/2020-05-12-ddia-review.html

+115
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
4+
<head>
5+
<title>cosmic_python</title>
6+
<meta charset="utf-8">
7+
<meta name="viewport" content="width=device-width, initial-scale=1">
8+
<meta name="author" content="Harry Percival and Bob Gregory">
9+
<meta name="description" content="">
10+
<meta property="og:title" content="cosmic_python" />
11+
<meta property="og:type" content="website" />
12+
<meta property="og:url" content="https://www.cosmicpython.com/blog/2020-05-12-ddia-review.html" />
13+
<meta property="og:image" content="https://www.cosmicpython.com/images/lobster_nebula.jpg" />
14+
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:300,300italic,700,700italic">
15+
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.css">
16+
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/milligram/1.3.0/milligram.css">
17+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/friendly.css">
18+
<link rel="stylesheet" href="/styles.css">
19+
20+
</head>
21+
22+
<body>
23+
<main class="wrapper">
24+
25+
<nav class="navigation">
26+
<section class="container">
27+
<a class="navigation-title" href="/">
28+
<h1 class="title">Cosmic Python</h1>
29+
</a>
30+
</section>
31+
</nav>
32+
33+
<section class="container">
34+
35+
<h1> Book review: Designing Data-Intensive Applications, by Martin Kleppmann</h1>
36+
<p>by Harry, 2020-05-12</p>
37+
38+
39+
<div class="row">
40+
<div class="column">
41+
<img src="/images/ddia_map.png" />
42+
43+
<p class="float-right">
44+
<em><small><a href="https://dataintensive.net/">
45+
image credit: one of the awesome chapter illustrations from Kleppmann's book
46+
</a></small></em></p>
47+
48+
</div>
49+
</div>
50+
51+
52+
<div class="content">
53+
<p>I bought this book on the strength of its reviews, and I am very happy to add
54+
my own to the long list of five-stars.</p>
55+
<p>The book&rsquo;s aim is to help people to choose the right database technology for
56+
their problem. It does so by explaining, at quite a decent level of detail:</p>
57+
<ul>
58+
<li>How various databases, algorithms and data structures work.</li>
59+
<li>What guarantees they can give and what they cannot.</li>
60+
<li>Examples of edge cases and unexpected behaviours.</li>
61+
</ul>
62+
<p>It certainly has the potential to be <em>unbelievably</em> dry. But there are two
63+
things, I think, that mean it actually turns out to be quite a page-turner The
64+
first is if the reader is actually interested in the subject matter.
65+
I certainly was; it filled a lot of gaps in my knowledge. But the second is
66+
the quality of the writing. Somehow Kleppmann manages to give the whole thing
67+
the feeling of the old <a href="https://www.youtube.com/watch?v=UqW_6amFMHM">“but wait, there’s more!”</a>
68+
comedy sketch trope.</p>
69+
<p>Each chapter starts with a problem (eg “how do we manage concurrent access to
70+
the database?” and then presents some seemingly straightforward solutions
71+
(“transactions!”), then it goes on to explain them in detail, and along the way
72+
we learn all sorts of horrible gotchas, and new, thornier, more subtle problems
73+
that have been thrown up. And that leads us on to the next chapter, like an
74+
unbelievably nerdy cliffhanger. I couldn&rsquo;t put it down.</p>
75+
<p>It’s really well balanced between academic and practical engineering concerns,
76+
it’s extensively footnoted, it’s really well explained with good examples, and
77+
it ends on a thoughtful, philosophical note. If any of this sounds appealing
78+
at all, go read it no!</p>
79+
<p>Plus he’s quite a fan of the event-driven approach ;-)</p>
80+
<ul>
81+
<li><a href="https://amzn.to/3dJl7Rz">link to amazon.com</a> / <a href="https://amzn.to/2SWYpNC">amazon.co.uk</a></li>
82+
</ul>
83+
</div>
84+
85+
<div id="disqus_thread" style="margin: 10px"></div>
86+
<script>
87+
88+
var disqus_config = function () {
89+
this.page.url = 'https://www.cosmicpython.com/blog/2020-05-12-ddia-review.html';
90+
this.page.identifier = 'cosmic-python--blog-2020-05-12-ddia-review';
91+
};
92+
93+
(function() { // DON'T EDIT BELOW THIS LINE
94+
var d = document, s = d.createElement('script');
95+
s.src = 'https://cosmic-python.disqus.com/embed.js';
96+
s.setAttribute('data-timestamp', +new Date());
97+
(d.head || d.body).appendChild(s);
98+
})();
99+
</script>
100+
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
101+
102+
<!-- Global site tag (gtag.js) - Google Analytics -->
103+
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-40928035-3"></script>
104+
<script>
105+
window.dataLayer = window.dataLayer || [];
106+
function gtag(){dataLayer.push(arguments);}
107+
gtag('js', new Date());
108+
109+
gtag('config', 'UA-40928035-3');
110+
</script>
111+
112+
</section>
113+
</main>
114+
</body>
115+
</html>

Diff for: images/ddia_map.png

245 KB
Loading

Diff for: index.html

+10
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,12 @@ <h3>Recent posts</h3>
106106
</li>
107107

108108

109+
110+
<li>
111+
<a href="/blog/2020-05-12-ddia-review.html">2020-05-12 Book review: Designing Data-Intensive Applications, by Martin Kleppmann</a>
112+
</li>
113+
114+
109115
</ul>
110116

111117
<h3>Guest Posts By David</h3>
@@ -134,6 +140,8 @@ <h3>Guest Posts By David</h3>
134140

135141

136142

143+
144+
137145
</ul>
138146

139147
<h3>Classic 2017 Episodes on Ports & Adapters, by Bob</h3>
@@ -171,6 +179,8 @@ <h3>Classic 2017 Episodes on Ports & Adapters, by Bob</h3>
171179

172180

173181

182+
183+
174184
</ul>
175185

176186

Diff for: posts/2020-05-12-ddia-review.md

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
title: Book review: Designing Data-Intensive Applications, by Martin Kleppmann
2+
author: Harry
3+
image: ddia_map.png
4+
image_credit: https://dataintensive.net/
5+
image_credit_words: image credit: one of the awesome chapter illustrations from Kleppmann's book
6+
7+
8+
I bought this book on the strength of its reviews, and I am very happy to add
9+
my own to the long list of five-stars.
10+
11+
The book's aim is to help people to choose the right database technology for
12+
their problem. It does so by explaining, at quite a decent level of detail:
13+
14+
* How various databases, algorithms and data structures work.
15+
* What guarantees they can give and what they cannot.
16+
* Examples of edge cases and unexpected behaviours.
17+
18+
It certainly has the potential to be _unbelievably_ dry. But there are two
19+
things, I think, that mean it actually turns out to be quite a page-turner The
20+
first is if the reader is actually interested in the subject matter.
21+
I certainly was; it filled a lot of gaps in my knowledge. But the second is
22+
the quality of the writing. Somehow Kleppmann manages to give the whole thing
23+
the feeling of the old [“but wait, there’s more!”](https://www.youtube.com/watch?v=UqW_6amFMHM)
24+
comedy sketch trope.
25+
26+
Each chapter starts with a problem (eg “how do we manage concurrent access to
27+
the database?” and then presents some seemingly straightforward solutions
28+
(“transactions!”), then it goes on to explain them in detail, and along the way
29+
we learn all sorts of horrible gotchas, and new, thornier, more subtle problems
30+
that have been thrown up. And that leads us on to the next chapter, like an
31+
unbelievably nerdy cliffhanger. I couldn't put it down.
32+
33+
It’s really well balanced between academic and practical engineering concerns,
34+
it’s extensively footnoted, it’s really well explained with good examples, and
35+
it ends on a thoughtful, philosophical note. If any of this sounds appealing
36+
at all, go read it no!
37+
38+
Plus he’s quite a fan of the event-driven approach ;-)
39+
40+
* [link to amazon.com](https://amzn.to/3dJl7Rz) / [amazon.co.uk](https://amzn.to/2SWYpNC)

Diff for: rss.xml

+12-1
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,21 @@
77
Simple patterns for building complex apps
88
</description>
99
<link>https://cosmicpython.com</link>
10-
<lastBuildDate>Fri, 08 May 2020 18:55:15 -0000</lastBuildDate>
10+
<lastBuildDate>Tue, 12 May 2020 19:23:37 -0000</lastBuildDate>
1111
<pubDate>Sat, 4 Jan 2020 19:15:54 -0500</pubDate>
1212
<atom:link href="https://cosmicpython.com/rss.xml" rel="self" type="application/rss+xml" />
1313

14+
<item>
15+
<title>Book review: Designing Data-Intensive Applications, by Martin Kleppmann</title>
16+
<description>
17+
18+
</description>
19+
<link></link>
20+
<pubDate></pubDate>
21+
<dc:creator>Harry</dc:creator>
22+
<guid></guid>
23+
</item>
24+
1425
<item>
1526
<title>Writing tests for external API calls</title>
1627
<description>

Diff for: templates/blog_post_template.html

+4-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@ <h1> {{ post.title }}</h1>
1111
<div class="column">
1212
<img src="/images/{{ image[0] }}" />
1313
{% if image_credit %}
14-
<p class="float-right"><em><small><a href="{{ image_credit[0] }}">find out more about this image</a></small></em></p>
14+
<p class="float-right">
15+
<em><small><a href="{{ image_credit[0] }}">
16+
{{ image_credit_words[0] if image_credit_words else "find out more about this image" }}
17+
</a></small></em></p>
1518
{% endif %}
1619
</div>
1720
</div>

0 commit comments

Comments
 (0)