Library
Books and Articles
- Burns (2018) - Designing distributed systems
- Burns, Hightower, Beda (2019) - Kubernetes: up and running
- Butcher (2021) - Learning Helm
- Chollet (2018) - Deep Learning with Python
- Evans (2013) - The well-grounded Java developer
- George (2011) - HBase : the definitive guide
- Goetz (2006) - Java concurrency in practice
- Gonzalez (2017) - Java 9 concurrency cookbook
- Gonzalez (2016) - Mastering concurrency programming with Java 8
- Gupta (2017) - Kubernetes for Java developers
- Horstmann (2017) - Scala for the impatient
- Hunt (2000) - The pragmatic programmer
- Ibryam, Hub (2019) - Kubernetes Patterns
- Kleppmann (2017) - Designing data-intensive applications
- Krochmalski (2017) - Docker and Kubernetes for Java Developers
- Lewis (2015) - A guide to graph colouring
- Lewis (2014) - Irresistible Apps
- Linn (2014) - Functional programming patterns in Scala and Clojure
- Martin (2009) - Clean code : a handbook of agile software craftsmanship
- Matthew Skelton (2019) - Team Topologies
- McConnell (2004) - Code complete
- McDowell (2008) - Cracking the Coding Interview
- McDowell (2013) - Cracking the PM interview
- Moraes (2020) - Jakarta EE Cookbook, 2nd Edition
- Narkhede (2017) - Kafka : the definitive guide
- Newman (2015) - Building microservices
- Petrov (2019) - Database internals
- Pilone (2008) - Head first software development
- Prokopec (2017) - Learning concurrent programming in Scala
- Rashid (2016) - Make Your Own Neural Network
- Richardson (2019) - Microservices patterns: with examples in Java
- Sedgewick (2011) - Algorithms
- Subramaniam (2011) - Programming concurrency on the JVM
- Theron (2016) - Scala high performance programming
- Tidwell (2011) - Designing interfaces
- Tulach (2012) - Practical API design
- Urma, Fusco, Mycroft (2015) - Java 8 in action : lambdas, streams, and functional-style programming
- Wlaschin (2018) - Domain Modeling Made Functional
- Xu (2017) - System Design Interview
Blogs and Vlogs
- Oracle Linux Container Services for use with Kubernetes User’s Guide link
- Cache replacement policies link
- Entropy (Information Theory) link
- Hazelcast Custom Serialization link
- Direct Information link
- (2017) - Comparing Spring AOP and AspectJ link
- Cloud Design Patterns link
- Azad (2015) - Calculus, better explained link
- Bloch - How To Design A Good API and Why it Matters link
- Braginsky, Hillel, Bortnikov - Accordion: HBase Breathes with In-Memory Compaction link
- Chandrakant (2020) - CQRS and Event Sourcing in Java link
- Dimiduk (2014) - HBase BlockCache 101 link
- Dinesh (2018) - Kubernetes Best Practices link
- Fatin - Scala Collections Tips and Tricks link
- Fatin - Design Patterns in Scala link
- Fedosov - Distributed systems cheat sheet link
- Fowler - Event Sourcing link
- Jenkov (2014) - Semaphores link
- Juneau (2020) - Get started with concurrency in Jakarta EE link
- Kilden-Pedersen (2016) - Enumerable Ways to Serialize in Hazelcast link
- Leiva (2018) - The Kelly Criterion link
- Leszko (2019) - Where Is My Cache? Architectural Patterns for Caching Microservices link
- Marks - Optional - The Mother of All Bikesheds link
- Minkowski - Piotr’s TechBlog link
- Raol (2019) - The ABCs of Building IMDGs link
- Richardson (2016) - Developing microservices with aggregates link
- Rivers (2017) - Best Practices for Tracing and Debugging Microservices link
- Schwarz (2020) - Scala 3 by example, part 2 link
- Schwarz (2020) - Scala 3 by example, part 1 link
- Servienti (2018) - Talk Session: All Our Aggregates Are Wrong link
- Sinclair (2019) - Things I wish someone had explaind about functional programming link
- Sinisa - Sinisa Blog link
- Smith (2016) - Implicits and type classes in Scala link
- Starmer - StatQuest! link
- Sundararaju (2019) - Introduction to SPF4J link
- Talbot (2015) - What are Bloom filters? link
- Thompson (2011) - Mechanical Sympathy: Memory Barriers/Fences link
- Venners (2009) - Scala’s Stackable Trait Pattern link
- Willems (2019) - SQL Tutorial: How to write better queries link