From f9c5174614ea95824276518618738c8817b7d522 Mon Sep 17 00:00:00 2001 From: Charles-Axel Dein Date: Thu, 19 Oct 2017 14:27:36 +0200 Subject: [PATCH] Add diversity and DDD --- README.md | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 2dca3fd..8dfe7db 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,7 @@ - [Design (visual, UX, UI)](#design-visual-ux-ui) - [Design (OO modeling, patterns, anti-patterns, etc.)](#design-oo-modeling-patterns-anti-patterns-etc) - [Dev environment & tools](#dev-environment--tools) + - [Diversity & inclusion](#diversity--inclusion) - [Documentation](#documentation) - [Dotfiles](#dotfiles) - [Editors & IDE](#editors--ide) @@ -86,7 +87,7 @@ There are some free books available, including: ## Other general material and list of resources * [The Imposter's Handbook](https://bigmachine.io/products/the-imposters-handbook) - $30. From the author: "Don't have a CS Degree? Neither do I - That's why I wrote this book." -* [mr-mig/every-programmer-should-know: a collection of (mostly) technical things every software developer should know](https://github.com/mr-mig/every-programmer-should-know) +* [mr-mig/every-programmer-should-know: a collection of (mostly) technical things every software developer should know](https://github.com/mr-mig/every-programmer-should-know) ## Topics @@ -171,6 +172,7 @@ Here's a list of good books: * [Design Patterns: Elements of Reusable Object-Oriented Software](http://www.amazon.com/dp/0201633612/): dubbed "the gang of four", this is almost a required reading for any developer. A lot of those are a bit overkill for Python (because everything is an object, and dynamic typing), but the main idea (composition is better than inheritance) definitely is a good philosophy. * [Patterns of Enterprise Application Architecture](http://www.amazon.com/dp/0321127420/?tag=stackoverfl08-20): learn about how database are used in real world applications. Mike Bayer's SQLAlchemy has been heavily influenced by this book. +* [Domain-Driven Design: Tackling Complexity in the Heart of Software](https://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215), Eric Evans Articles: @@ -180,6 +182,7 @@ Articles: * O'Reilly's [How to make mistakes in Python](http://www.oreilly.com/programming/free/files/how-to-make-mistakes-in-python.pdf) * [Education of a Programmer](https://hackernoon.com/education-of-a-programmer-aaecf2d35312): a developer's thoughts after 35 years in the industry. There's a particularly good section about design & complexity (see "the end to end argument", "layering and componentization"). * Google's [API Design Guide](https://cloud.google.com/apis/design/): a general guide to design networked API. +* [Domain-driven design](https://en.wikipedia.org/wiki/Domain-driven_design), Wikipedia. I maintain a [list of antipatterns](https://github.com/charlax/antipatterns) on another repo. This is a highly recommended read. @@ -201,6 +204,11 @@ Tools * [tmux: terminal multiplexer](http://tmux.github.io/) * [htop: an interactive process viewer for Linux](http://hisham.hm/htop/) +### Diversity & inclusion + +Checkout my [list of management +resources](https://github.com/charlax/engineering-management). + ### Documentation * [Documentation-Driven Development](https://gist.github.com/zsup/9434452) @@ -306,7 +314,7 @@ A bit more reading: * [Penetration Testing Tools Cheat Sheet](https://highon.coffee/blog/penetration-testing-tools-cheat-sheet/#http--https-webserver-enumeration) * [My First 10 Minutes On a Server - Primer for Securing Ubuntu](http://www.codelitt.com/blog/my-first-10-minutes-on-a-server-primer-for-securing-ubuntu/) * [A practical guide to securing macOS](https://github.com/drduh/macOS-Security-and-Privacy-Guide) -* [Web Developer Security Checklist](https://simplesecurity.sensedeep.com/web-developer-security-checklist-f2e4f43c9c56) +* [Web Developer Security Checklist](https://simplesecurity.sensedeep.com/web-developer-security-checklist-f2e4f43c9c56) * [Reckon you've seen some stupid security things?](https://www.troyhunt.com/reckon-youve-seen-some-stupid-security-things-here-hold-my-beer/): everything *not* to do. ### Shell @@ -382,7 +390,7 @@ Resources * [Numbers Everyone Should Know](https://everythingisdata.wordpress.com/2009/10/17/numbers-everyone-should-know/) * [Latency numbers every programmer should know](https://gist.github.com/hellerbarde/2843375) -* [Rob Pike's 5 Rules of Programming](http://users.ece.utexas.edu/~adnan/pike.html) +* [Rob Pike's 5 Rules of Programming](http://users.ece.utexas.edu/~adnan/pike.html) ## Concepts @@ -398,4 +406,4 @@ Resources * [KISS](https://en.wikipedia.org/wiki/KISS_principle) * [SOLID](https://en.wikipedia.org/wiki/SOLID_(object-oriented_design)) * [GRASP](https://en.wikipedia.org/wiki/GRASP_(object-oriented_design)) -* [Make it run, make it right, make it fast](http://c2.com/cgi/wiki?MakeItWorkMakeItRightMakeItFast) \ No newline at end of file +* [Make it run, make it right, make it fast](http://c2.com/cgi/wiki?MakeItWorkMakeItRightMakeItFast)