-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsoftware-architecture-books.html
60 lines (55 loc) · 8.45 KB
/
software-architecture-books.html
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
<!DOCTYPE html>
<html lang="en" class="light-mode">
<head>
<meta charset="utf-8" />
<link rel="icon" href="./favicon.png" />
<link rel="stylesheet" type="text/css" href="./site.css" />
<meta name="viewport" content="width=device-width" />
<link href="./_app/immutable/assets/3.84abd576.css" rel="stylesheet">
<link href="./_app/immutable/assets/sterling.ba12fde9.css" rel="stylesheet">
<link href="./_app/immutable/assets/Header.9b742ac5.css" rel="stylesheet">
<link href="./_app/immutable/assets/9.b28aacdf.css" rel="stylesheet">
<link href="./_app/immutable/assets/Post.a1c147c5.css" rel="stylesheet">
<link rel="modulepreload" href="./_app/immutable/entry/start.2c55a661.js">
<link rel="modulepreload" href="./_app/immutable/chunks/scheduler.75f5293f.js">
<link rel="modulepreload" href="./_app/immutable/chunks/singletons.74c6a932.js">
<link rel="modulepreload" href="./_app/immutable/chunks/paths.21152387.js">
<link rel="modulepreload" href="./_app/immutable/entry/app.4df5770f.js">
<link rel="modulepreload" href="./_app/immutable/chunks/index.36074062.js">
<link rel="modulepreload" href="./_app/immutable/nodes/0.1375ff03.js">
<link rel="modulepreload" href="./_app/immutable/nodes/3.b744dd68.js">
<link rel="modulepreload" href="./_app/immutable/chunks/each.e59479a4.js">
<link rel="modulepreload" href="./_app/immutable/chunks/spread.8a54911c.js">
<link rel="modulepreload" href="./_app/immutable/chunks/Button.fb729d6d.js">
<link rel="modulepreload" href="./_app/immutable/chunks/Header.5ff96dfd.js">
<link rel="modulepreload" href="./_app/immutable/nodes/9.a4796c7f.js">
<link rel="modulepreload" href="./_app/immutable/chunks/Post.19bcd7ab.js">
</head>
<body data-sveltekit-preload-data="hover">
<div style="display: contents"> <div class="root"><div class="header svelte-7d51k5"><a href="/" class="svelte-7d51k5" data-svelte-h="svelte-bk6u5r">geoffcox.github.io</a><span class="logo svelte-7d51k5" role="button" tabindex="-1"><svg fill="#000000" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 394.167 394.167" xml:space="preserve" width="60px" height="60px" class="rooster"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"><g><path d="M370.214,78.172c5.23-3.363,11.121-7.194,18.146-7.194c1.951,0,3.879,0.294,5.807,0.898 c-1.267-6.119-6.497-10.701-11.589-15.159c-4.354-3.819-8.474-7.41-10.305-11.953l-0.192-0.492h0.006 c0,0,16.939-17.831,7.867-33.161c-9.074-15.327-12.953-7.341-14.25,0c-1.291,7.344-15.456-12.661-17.702-0.646 c-2.252,12.016-25.7,2.969-19.647,17.138c0,0,1.405,3.485,5.254,6.677c-22.115,3.414-34.461,13.13-46.604,32.744 c-3.387,5.471-8.538,18.126-12.165,27.412c-17.282,44.111-30.715,49.239-53.953,49.239c-10.73,0-21.474-2.939-31.958-7.521 c-4.894-2.835-42.532-25.271-52.365-49.615C126.05,60.487,79.458,11.38,31.363,32.926c-48.099,21.548-38.881,37.8,14.024,52.611 c50.101,14.027-48.594,15.531-13.021,47.6c35.569,32.06-3.015,31.062,45.09,68.644c44.486,34.75,27.031,52.062,49.449,67.29 c-0.018,0.029-0.039,0.06-0.057,0.096c0.426,0.276,0.928,0.492,1.372,0.769c1.489,0.942,3.123,1.886,4.957,2.811 c0,0,0.117,0.012,0.141,0.012c6.29,2.967,13.543,5.128,21.053,7.302c7.938,2.318,24.167,6.924,24.167,6.924 c20.746,2.24,51.296-22.284,63.251-40.19c18.478-28.858,4.876-52.025-5.146-82.881l4.623-1.468 c9.542,29.802,24.698,55.604,4.582,87.003c-11.739,17.624-39.199,40.185-61.279,42.346c0.724,0.444,9.704,6.215,17.579,10.497 c7.467,4.059,12.913,11.078,14.991,19.323c1.705,6.785,3.975,13.402,6.989,19.623c1.615,3.339,1.67,7.224,0.126,10.593 c-1.537,3.375-4.491,5.908-8.076,6.869c-6.347,1.718-12.994,4.126-18.125,8.6c-1.58,1.398-2.387,3.459-2.159,5.548 c0.234,2.09,1.466,3.939,3.309,4.948c2.769,1.507,6.173,1.219,8.647-0.744c6.461-5.141,18.38-5.621,28.564-9.548 c3.627-1.394,7.729-0.937,10.953,1.219c1.152,0.769,2.359,1.501,3.74,2.216c5.284,2.727,9.758,6.617,13.211,11.457 c0.973,1.357,1.783,2.666,2.396,3.903c1.502,3.038,4.528,5.044,7.915,5.254l4.341,0.252c0.763,0.048,1.501-0.239,2.03-0.792 c0.522-0.559,0.78-1.31,0.696-2.066c-0.259-2.468-1.009-4.953-2.09-7.379c-0.384-0.865-0.3-1.85,0.21-2.637 c0.511-0.787,1.388-1.255,2.33-1.255c16.129,0.03,27.058,3.976,32.702,6.714c2.984,1.453,6.533,1.141,9.212-0.799l1.068-0.781 c1.405-1.009,2.21-2.648,2.168-4.377c-0.036-1.729-0.931-3.327-2.378-4.27c-14.94-9.74-40.305-10.49-52.729-13.745 c-20.134-5.356-30.186-29.952-28.937-45.967c0.012,0.013,0.018,0.013,0.029,0.013l-0.006-0.091l2.45-0.138 c16.23-0.889,26.331-15.522,35.656-29.971c16.453-25.49,24.296-25.784,24.296-25.784c42.736-4.371,66.73-39.866,73.312-108.477 c1.951-20.248-4.035-32.275-10.383-45.021c-2.93-5.909-5.98-12.009-8.383-19.152l-0.799-2.387l2.402-0.727 C364.39,81.958,367.229,80.114,370.214,78.172z M345.384,58.434c-3.309,0-5.98-2.687-5.98-5.983c0-3.303,2.684-5.978,5.98-5.978 c3.291,0,5.969,2.681,5.969,5.978S348.687,58.434,345.384,58.434z"></path></g></g></svg></span> </div> <div class="content-container svelte-5oz901"> <div class="split svelte-5oz901"><div class="nav svelte-5oz901"><div class="nav-header svelte-5oz901" role="separator"></div> <a href="./resume" class="svelte-5oz901">Geoff's Resume</a><div class="nav-header svelte-5oz901" role="separator">Open Source</div> <a href="./binary-search" class="svelte-5oz901">binary-search</a><a href="./recoil-examples" class="svelte-5oz901">recoil-examples</a><a href="./splitters" class="svelte-5oz901">react-splitter / svelte-splitter</a><a href="./sterling-svelte" class="svelte-5oz901">sterling-svelte</a><a href="./trie-search" class="svelte-5oz901">trie-search</a><div class="nav-header svelte-5oz901" role="separator">Opinion</div> <a href="./why-i-love-svelte" class="svelte-5oz901">Why I love Svelte</a><div class="nav-header svelte-5oz901" role="separator">Stories</div> <a href="./unpredictable-users" class="svelte-5oz901">Unpredictable users</a><a href="./speed-estimation" class="svelte-5oz901">Speed Estimation</a><div class="nav-header svelte-5oz901" role="separator">Bookshelf</div> <a href="./software-architecture-books" class="svelte-5oz901">Software Architecture Books</a></div> <div class="content svelte-5oz901"><div class="post svelte-nmvp7s"><div class="category svelte-nmvp7s">Bookshelf</div> <div class="headline svelte-nmvp7s"><a href="software-architecture-books" class="svelte-nmvp7s">Software Architecture Books</a></div> <div class="content-section svelte-nmvp7s"><div class="container svelte-nmvp7s"><div class="content"><p data-svelte-h="svelte-6r18i5">I've been studying software architecture throughout my career. I highly recommend these books. I
reference them to solve tough problems or when I sense something is not quite right with
existing code.</p> <div class="links svelte-1l7jmjk" data-svelte-h="svelte-fqm3km"><img src="/images/CleanArchitecture.jpg" width="46px" height="60px" alt="Clean Architecture book cover"> <a href="https://isbndb.com/book/9780134494166" target="_blank">Clean Architecture: A Craftsman's Guide to Software Structure and Design</a> <img src="/images/DesignPatterns.jpg" width="46px" height="60px" alt="Design Patterns book cover"> <a href="https://isbndb.com/book/9788178081359" target="_blank">Design Patterns: Elements of Reusable Object-Oriented Software</a> <img src="/images/EnterprisePatterns.jpg" width="46px" height="60px" alt="Entterprise Patterns book cover"> <a href="https://isbndb.com/book/9788131794029" target="_blank">Patterns of Enterprise Application Architecture</a> <img src="/images/Refactoring.jpg" width="46px" height="60px" alt="Refactoring book cover"> <a href="https://isbndb.com/book/9780201485677" target="_blank">Refactoring: Improving the Design of Existing Code</a> <img src="/images/AntiPatterns.jpg" width="46px" height="60px" alt="Anit-patterns book cover"> <a href="https://isbndb.com/book/9780471197133" target="_blank">AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis</a></div></div></div> </div> </div></div></div></div> </div>
<script>
{
__sveltekit_1cy0fcu = {
base: new URL(".", location).pathname.slice(0, -1),
env: {}
};
const element = document.currentScript.parentElement;
const data = [null,null,null];
Promise.all([
import("./_app/immutable/entry/start.2c55a661.js"),
import("./_app/immutable/entry/app.4df5770f.js")
]).then(([kit, app]) => {
kit.start(app, element, {
node_ids: [0, 3, 9],
data,
form: null,
error: null
});
});
}
</script>
</div>
</body>
</html>