Weekend's bookshelf: coding en-US Wed, 27 Dec 2023 09:20:09 -0800 60 Weekend's bookshelf: coding 144 41 /images/layout/goodreads_logo_144.jpg Scala with Cats 50275121 Noel Welsh Weekend 5 coding 4.32 Scala with Cats
author: Noel Welsh
name: Weekend
average rating: 4.32
book published:
rating: 5
read at: 2023/01/01
date added: 2023/12/27
shelves: coding
review:

]]>
<![CDATA[The Staff Engineer's Path: A Guide for Individual Contributors Navigating Growth and Change]]> 61058107
This in-depth book shows you how to understand your role, manage your time, master strategic thinking, and set the standard for technical work. You'll read about how to be a leader without direct authority, how to plan ahead to make the right technical decisions, and how to make everyone around you better, while still growing as an expert in your domain.

By exploring the three pillars of a staff engineer's job, Tanya Reilly, a veteran of the staff engineer track, shows you how to:

-- Take a broad, strategic view when thinking about your work
-- Dive into practical tactics for making projects succeed
-- Determine what "good engineering" means in your organization]]>
335 Tanya Reilly 1098118731 Weekend 4 coding
Worthwhile reading if you are not afraid to skip whole chapters the moment it starts to feel off.]]>
4.37 2022 The Staff Engineer's Path: A Guide for Individual Contributors Navigating Growth and Change
author: Tanya Reilly
name: Weekend
average rating: 4.37
book published: 2022
rating: 4
read at: 2023/11/09
date added: 2023/11/09
shelves: coding
review:
This is a pretty good book with some solid advice that in the middle turns into a self-help "do good, don't do bad" kind of a thing, but then recovers at the last chapter.

Worthwhile reading if you are not afraid to skip whole chapters the moment it starts to feel off.
]]>
<![CDATA[Domain-Driven Design: Tackling Complexity in the Heart of Software]]> 179133 Ralph Johnson, author of Design Patterns "If you don't think you are getting value from your investment in object-oriented programming, this book will tell you what you've forgotten to do. "Eric Evans convincingly argues for the importance of domain modeling as the central focus of development and provides a solid framework and set of techniques for accomplishing it. This is timeless wisdom, and will hold up long after the methodologies du jour have gone out of fashion." --Dave Collins, author of Designing Object-Oriented User Interfaces "Eric weaves real-world experience modeling--and building--business applications into a practical, useful book. Written from the perspective of a trusted practitioner, Eric's descriptions of ubiquitous language, the benefits of sharing models with users, object life-cycle management, logical and physical application structuring, and the process and results of deep refactoring are major contributions to our field." --Luke Hohmann, author of Beyond Software Architecture "This book belongs on the shelf of every thoughtful software developer." --Kent Beck "What Eric has managed to capture is a part of the design process that experienced object designers have always used, but that we have been singularly unsuccessful as a group in conveying to the rest of the industry. We've given away bits and pieces of this knowledge...but we've never organized and systematized the principles of building domain logic. This book is important." --Kyle Brown, author of Enterprise Java(TM) Programming with IBM(R) WebSphere(R) The software development community widely acknowledges that domain modeling is central to software design. Through domain models, software developers are able to express rich functionality and translate it into a software implementation that truly serves the needs of its users. But despite its obvious importance, there are few practical resources that explain how to incorporate effective domain modeling into the software development process. Domain-Driven Design fills that need. This is not a book about specific technologies. It offers readers a systematic approach to domain-driven design, presenting an extensive set of design best practices, experience-based techniques, and fundamental principles that facilitate the development of software projects facing complex domains. Intertwining design and development practice, this book incorporates numerous examples based on actual projects to illustrate the application of domain-driven design to real-world software development. Readers learn how to use a domain model to make a complex development effort more focused and dynamic. A core of best practices and standard patterns provides a common language for the development team. A shift in emphasis--refactoring not just the code but the model underlying the code--in combination with the frequent iterations of Agile development leads to deeper insight into domains and enhanced communication between domain expert and programmer. Domain-Driven Design then builds on this foundation, and addresses modeling and design for complex systems and larger organizations.Specific topics covered include:
Getting all team members to speak the same language Connecting model and implementation more deeply Sharpening key distinctions in a model Managing the lifecycle of a domain object Writing domain code that is safe to combine in elaborate ways Making complex code obvious and predictable Formulating a domain vision statement Distilling the core of a complex domain Digging out implicit concepts needed in the model Applying analysis patterns Relating design patterns to the model Maintaining model integrity in a large system Dealing with coexisting models on the same project Organizing systems with large-scale structures Recognizing and responding to modeling breakthroughs With this book in hand, object-oriented developers, system analysts, and designers will have the guidance they need to organize and focus their work, create rich and useful domain models, and leverage those models into quality, long-lasting software implementations.]]>
560 Eric Evans 0321125215 Weekend 2 coding
While the ideas described here survived and evolved into one of the primary architecture styles, the book is terrible. It is very high level, always talks about how something should be done, without giving any practical advice outside of "do good and don't do bad".

Overall, I'd say that this is the architecture self-help book. Which is a disapointment, because while reading you do see that the author is a very smart person and the ideas conveyed here survived decades...

But as a book, this is too long, unreadable and mostly useless. 2/5]]>
4.14 2003 Domain-Driven Design: Tackling Complexity in the Heart of Software
author: Eric Evans
name: Weekend
average rating: 4.14
book published: 2003
rating: 2
read at: 2023/06/21
date added: 2023/06/21
shelves: coding
review:
A prime example of why even smart people need an editor.

While the ideas described here survived and evolved into one of the primary architecture styles, the book is terrible. It is very high level, always talks about how something should be done, without giving any practical advice outside of "do good and don't do bad".

Overall, I'd say that this is the architecture self-help book. Which is a disapointment, because while reading you do see that the author is a very smart person and the ideas conveyed here survived decades...

But as a book, this is too long, unreadable and mostly useless. 2/5
]]>
<![CDATA[Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures]]> 58153482 459 Neal Ford 1492086894 Weekend 5 coding 4.25 2021 Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures
author: Neal Ford
name: Weekend
average rating: 4.25
book published: 2021
rating: 5
read at: 2023/05/26
date added: 2023/05/26
shelves: coding
review:
Amazing book to read after their previous "Software Architecture for Beginners" that focuses on transition to a microservice architecture.
]]>
Essential Scala 29354072 372 Noel Welsh Weekend 5 coding 4.52 Essential Scala
author: Noel Welsh
name: Weekend
average rating: 4.52
book published:
rating: 5
read at: 2023/05/17
date added: 2023/05/17
shelves: coding
review:
The best book on Scala I've read so far. Not for the beginners, but perfect for those who read through some other beginner book and tried some things, and now want to advance their knowledge of the language.
]]>
<![CDATA[Fundamentals of Software Architecture: An Engineering Approach]]> 44144493
Authors Neal Ford and Mark Richards help you learn through examples in a variety of popular programming languages, such as Java, C#, JavaScript, and others. You'll focus on architecture principles with examples that apply across all technology stacks.]]>
422 Mark Richards 1492043451 Weekend 5 coding ]]> 4.25 2020 Fundamentals of Software Architecture: An Engineering Approach
author: Mark Richards
name: Weekend
average rating: 4.25
book published: 2020
rating: 5
read at: 2023/03/21
date added: 2023/03/21
shelves: coding
review:
Amazing book for everyone trying to get into architecture after years of coding.

]]>
<![CDATA[Programming in Scala Fifth Edition: Updated for Scala 3.0]]> 58439072 Programming in Scala is the definitive book on Scala, the new language for the Java Platform that blends object-oriented and functional programming concepts into a unique and powerful tool for developers.



Coauthored by the designer of the Scala language, this authoritative book will teach you, one step at a time, the Scala language and the ideas behind it.



The book is carefully crafted to help you learn. The first few chapters will give you enough of the basics that you can already start using Scala for simple tasks. The entire book is organized so that each new concept builds on concepts that came before - a series of steps that promises to help you master the Scala language and the important ideas about programming that Scala embodies.



A comprehensive tutorial and reference for Scala, this book covers the entire language and important libraries.

]]>
898 Martin Odersky Weekend 5 coding 4.21 2008 Programming in Scala Fifth Edition: Updated for Scala 3.0
author: Martin Odersky
name: Weekend
average rating: 4.21
book published: 2008
rating: 5
read at: 2023/01/31
date added: 2023/01/31
shelves: coding
review:

]]>
Get Programming with Scala 39318466 The perfect starting point for your journey into Scala and functional programming.

Summary
In Get Programming in Scala you will learn:

    Object-oriented principles in Scala
    Express program designs in functions
    Use types to enforce program requirements
    Use abstractions to avoid code duplication
    Write meaningful tests and recognize code smells

Scala is a multi-style programming language for the JVM that supports both object-oriented and functional programming. Master Scala, and you'll be well-equipped to match your programming approach to the type of problem you're dealing with. Packed with examples and exercises, Get Programming with Scala is the perfect starting point for developers with some OO knowledge who want to learn Scala and pick up a few FP skills along the way.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the technology
Scala developers are in high demand. This flexible language blends object-oriented and functional programming styles so you can write flexible, easy-to-maintain code. Because Scala runs on the JVM, your programs can interact seamlessly with Java libraries and tools. If you’re comfortable writing Java, this easy-to-read book will get you programming with Scala fast.

About the book
Get Programming with Scala is a fast-paced introduction to the Scala language, covering both Scala 2 and Scala 3. You’ll learn through lessons, quizzes, and hands-on projects that bring your new skills to life. Clear explanations make Scala’s features and abstractions easy to understand. As you go, you’ll learn to write familiar object-oriented code in Scala and also discover the possibilities of functional programming.

What's inside

    Apply object-oriented principles in Scala
    Learn the core concepts of functional programming
    Use types to enforce program requirements
    Use abstractions to avoid code duplication
    Write meaningful tests and recognize code smells

About the reader
For developers who know an OOP language like Java, Python, or C#. No experience with Scala or functional programming required.

About the author
Daniela Sfregola is a Senior Software Engineer and a Scala user since 2013. She is an active contributor to the Scala Community, a public speaker at Scala conferences and meetups, and a maintainer of open-source projects.

Table of Contents

Unit 0 HELLO SCALA!
Unit 1 THE BASICS
Unit 2 OBJECT-ORIENTED FUNDAMENTALS
Unit 3 HTTP SERVER
Unit 4 IMMUTABLE DATA AND STRUCTURES
Unit 5 LIST
Unit 6 OTHER COLLECTIONS AND ERROR HANDLING
Unit 7 CONCURRENCY
Unit 8 JSON (DE)SERIALIZATION]]>
560 Daniela Sfregola 1617295272 Weekend 2 coding
Key negative points:
- The book goes in-depth and repeats itself on easier topics. On topics that are almost copy paste of Scala docs. There are probably 150 pages total spent on map, flatten and flatMap concepts for each type. Yet, when it comes to complex fundamental topics the book just literally flies through them, at best uses them without explanation, at worst just implies that reader knows a lot about FP or OOP.
- The book spends roughly 1/3 of its volumes on libraries. When, again, not explaining some core concepts in depth. Libraries that rely on complex Scala topics (that are not explained in the book) are thrown in as is in the very beginning of the book.
- The book spends pages on syntax/examples/descriptions of random tasks that are hard to follow. It can define a class and then use it after 20 or so pages. It can spend a whole page on just a copy paste of a code example, of which you are really only interested in 2-3 lines of code.
- The book can have a chapter on a core concept of the language that is not present in other languages. Which is good. And then 3-4 chapters later use some feature of it that was not explained in the original chapter. Literally pointing an arrow at it with 1-2 sentence paragraph about what it is.
- The capstone projects are... weird. 3rd or so capstone project makes you write a REST API using a library that heavily relies on Streams, Encoders and Decoders. And the NEXT chapter after that teaches you what List is (and yes, List is also used in capstone project before it is even introduced)

Overall this is either editorial mistake or the author could not focus on the kind of audience they expected. A book for beginners? Then don't fly over complex fundamental topics. And explain why map methods are so important. No need to copy paste docs for each type even for beginners. A book for experienced engineers? Then go in-depth on complex Scala specific features and don't repeat the syntax of map and flatMap.

The only thing this book can teach is how to solve specific artificial problems given in the book itself. And this is hardly 'teaching' Scala. I rarely give such negative reviews but whether you are a beginner or an experienced engineer I would say avoid this book and don't waste your time.]]>
3.78 Get Programming with Scala
author: Daniela Sfregola
name: Weekend
average rating: 3.78
book published:
rating: 2
read at: 2021/10/26
date added: 2021/10/26
shelves: coding
review:
This is not a great book about Scala. It is 500-something pages after which you will have to read another book. It also has almost all of the major flaws of programming books. Feels like someone was playing Bingo.

Key negative points:
- The book goes in-depth and repeats itself on easier topics. On topics that are almost copy paste of Scala docs. There are probably 150 pages total spent on map, flatten and flatMap concepts for each type. Yet, when it comes to complex fundamental topics the book just literally flies through them, at best uses them without explanation, at worst just implies that reader knows a lot about FP or OOP.
- The book spends roughly 1/3 of its volumes on libraries. When, again, not explaining some core concepts in depth. Libraries that rely on complex Scala topics (that are not explained in the book) are thrown in as is in the very beginning of the book.
- The book spends pages on syntax/examples/descriptions of random tasks that are hard to follow. It can define a class and then use it after 20 or so pages. It can spend a whole page on just a copy paste of a code example, of which you are really only interested in 2-3 lines of code.
- The book can have a chapter on a core concept of the language that is not present in other languages. Which is good. And then 3-4 chapters later use some feature of it that was not explained in the original chapter. Literally pointing an arrow at it with 1-2 sentence paragraph about what it is.
- The capstone projects are... weird. 3rd or so capstone project makes you write a REST API using a library that heavily relies on Streams, Encoders and Decoders. And the NEXT chapter after that teaches you what List is (and yes, List is also used in capstone project before it is even introduced)

Overall this is either editorial mistake or the author could not focus on the kind of audience they expected. A book for beginners? Then don't fly over complex fundamental topics. And explain why map methods are so important. No need to copy paste docs for each type even for beginners. A book for experienced engineers? Then go in-depth on complex Scala specific features and don't repeat the syntax of map and flatMap.

The only thing this book can teach is how to solve specific artificial problems given in the book itself. And this is hardly 'teaching' Scala. I rarely give such negative reviews but whether you are a beginner or an experienced engineer I would say avoid this book and don't waste your time.
]]>
Well-Grounded Rubyist 40656217 The Well-Grounded Rubyist takes you from interested novice to proficient practitioner. It's a beautifully written tutorial that begins with the basic steps to get your first Ruby program up and running and goes on to explore sophisticated topics like callable objects, reflection, and threading. Whether the topic is simple or tough, the book's easy-to-follow examples and explanations will give you immediate confidence as you build your Ruby programming skills.

The Well-Grounded Rubyist is a thoroughly revised and updated edition of the best-selling Ruby for Rails. In this new book, expert author David A. Black moves beyond Rails and presents a broader view of Ruby. It covers Ruby 1.9, and keeps the same sharp focus and clear writing that made Ruby for Rails stand out.

Starting with the basics, The Well-Grounded Rubyist explains Ruby objects and their interactions from the ground up. In the middle chapters, the book turns to an examination of Ruby's built-in, core classes, showing the reader how to manipulate strings, numbers, arrays, ranges, hashes, sets, and more. Regular expressions get attention, as do file and other I/O operations.

Along the way, the reader is introduced to numerous tools included in the standard Ruby distribution--tools like the task manager Rake and the interactive Ruby console-based interpreter Irb--that facilitate Ruby development and make it an integrated and pleasant experience.

The book encompasses advanced topics, like the design of Ruby's class and module system, and the use of Ruby threads, taking even the new Rubyist deep into the language and giving every reader the foundations necessary to use, explore, and enjoy this unusually popular and versatile language.

It's no wonder one reader commented: "The technical depth is just right to not distract beginners, yet detailed enough for more advanced readers."

]]>
584 David A. Black 1617295213 Weekend 4 coding 4.42 2008 Well-Grounded Rubyist
author: David A. Black
name: Weekend
average rating: 4.42
book published: 2008
rating: 4
read at: 2021/10/01
date added: 2021/10/01
shelves: coding
review:

]]>
<![CDATA[Elastic Leadership: Growing self-organizing teams]]> 27751552 Summary

Elastic leadership is a framework and philosophy that can help you as you manage day-to-day and long-term challenges and strive to create the elusive self-organizing team. It is about understanding that your leadership needs to change based on which phase you discover that your team is in. This book provides you with a set of values, techniques, and practices to use in your leadership role.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the Technology

Your team looks to you for guidance. You have to mediate heated debates. The team is constantly putting out fires instead of doing the right things, the right way. Everyone seems to want to do things correctly, but nobody seems to be doing so. This is where leaders get stuck. It's time to get unstuck! Elastic leadership is a novel approach that helps you adapt your leadership style to the phase your team is in, so you can stay in step as things change.

About the Book

Elastic Leadership is a practical, experience-driven guide to team leadership. In it, you'll discover a set of values, techniques, and practices to lead your team to success. First, you'll learn what elastic leadership is and explore the phases of this results-oriented framework. Then, you'll see it in practice through stories, anecdotes, and advice provided by successful leaders in a variety of disciplines, all annotated by author and experienced team leader, Roy Osherove.

What's Inside




Understanding why people do what they do
Effective coaching
Influencing team members and managers
Advice from industry leaders
About the Reader

This book is for anyone with a year or more of experience working on a team as a lead or team member.

About the Author

Roy Osherove is the DevOps process lead for the West Coast at EMC, based in California. He is also the author of The Art of Unit Testing (Manning, 2013) and Enterprise DevOps. He consults and trains teams worldwide on the gentle art of leadership, unit testing, test-driven development, and continuous-delivery automation. He frequently speaks at international conferences on these topics and others.

Table of Contents



PART 1 - UNDERSTANDING ELASTIC LEADERSHIPStriving toward a Team Leader Manifesto
Matching leadership styles to team phases
Dealing with bus factorsPART 2 - SURVIVAL MODEDealing with survival modePART 3 - LEARNING MODELearning to learn
Commitment language
Growing peoplePART 4 - SELF-ORGANIZATION MODEUsing clearing meetings to advance self-organization
Influence patterns
The Line Manager ManifestoPART 5 - NOTES TO A SOFTWARE TEAM LEADERFeeding back
Channel conflict into learning
It's probably not a technical problem
Review the code
Document your air, food, and water
Appraisals and agile don't play nicely
Leading through learning: the responsibilities of a team leader
Introduction to the Core Protocols
Change your mind: your product is your team
Leadership and the mature team
Spread your workload
Making your team manage their own work
Go see, ask why, show respect
Keep developers happy, reap high-quality work
Stop doing their work
Write code, but not too much
Evolving from manager to leader
Affecting the pace of change
Proximity management
Babel Fish
You're the lead, not the know-it-all
Actions speak louder than words]]>
238 Roy Osherove 1617293083 Weekend 2 coding
Ok, where do I start. This book is disjointed reiteration of the same (in my opinion questionable and idealistic) idea that there are survival, learning and self-management phases in software teams lifecycle.

Normally I'd give this book 3 stars because there are some sound ideas here and there and there was a very good part about the commitment language. However after reading it I can say that it has one major flaw that makes this book downright dangerous. Let me reiterate, if you are 'new' to the management of software teams do not take everything in this book for granted and do not follow everything you will find here. Take this read as any other self-help book: pick what you like, forget the rest.

The biggest downside of this book is same as it is in mediocre self help books: it is good at highlighting the issue, it is bad at providing any solution to it in many cases (yes, 'do good things to get good results' is not revolutionary enough to write a book about it).

However sometimes when it does provide a solution it can be downright harmful.

To focus on the last part, the author of the book misses the point that management is about dealing with people, up down and horizontally it is all people, who in their majority are very emotional. Author's suggestion of pushing your agenda on people until they agree and if they don't, and they hate you as a result of this, it is their problem, and you should leave the company and 'try' it again in the next one is terrible.

Second major flaw is the assumption that every single software engineer comes to work to learn something and everyone is super excited to get out of their comfort zones. Best case scenario if you follow this book you get a team where few people will learn some skills not very related to their job. (That is only possible if your team members were interested to begin with in their professional growth) Worst case scenario following advices in this book you will make enemies with your upper management and with developers who (surprise!) are adults and might (surprise!) have their own lives, world views, goals, moods and agendas that might not align with your desires for them to learn.]]>
3.68 2012 Elastic Leadership: Growing self-organizing teams
author: Roy Osherove
name: Weekend
average rating: 3.68
book published: 2012
rating: 2
read at: 2021/04/25
date added: 2021/09/21
shelves: coding
review:
2 stars - 'It was ok'

Ok, where do I start. This book is disjointed reiteration of the same (in my opinion questionable and idealistic) idea that there are survival, learning and self-management phases in software teams lifecycle.

Normally I'd give this book 3 stars because there are some sound ideas here and there and there was a very good part about the commitment language. However after reading it I can say that it has one major flaw that makes this book downright dangerous. Let me reiterate, if you are 'new' to the management of software teams do not take everything in this book for granted and do not follow everything you will find here. Take this read as any other self-help book: pick what you like, forget the rest.

The biggest downside of this book is same as it is in mediocre self help books: it is good at highlighting the issue, it is bad at providing any solution to it in many cases (yes, 'do good things to get good results' is not revolutionary enough to write a book about it).

However sometimes when it does provide a solution it can be downright harmful.

To focus on the last part, the author of the book misses the point that management is about dealing with people, up down and horizontally it is all people, who in their majority are very emotional. Author's suggestion of pushing your agenda on people until they agree and if they don't, and they hate you as a result of this, it is their problem, and you should leave the company and 'try' it again in the next one is terrible.

Second major flaw is the assumption that every single software engineer comes to work to learn something and everyone is super excited to get out of their comfort zones. Best case scenario if you follow this book you get a team where few people will learn some skills not very related to their job. (That is only possible if your team members were interested to begin with in their professional growth) Worst case scenario following advices in this book you will make enemies with your upper management and with developers who (surprise!) are adults and might (surprise!) have their own lives, world views, goals, moods and agendas that might not align with your desires for them to learn.
]]>
<![CDATA[Learn Kubernetes in a Month of Lunches]]> 54968075
Summary
In Learn Kubernetes in a Month of Lunches you'll go from "what’s a Pod?" to automatically scaling clusters of containers and components in just 22 hands-on lessons, each short enough to fit into a lunch break. Every lesson is task-focused and covers an essential skill on the road to Kubernetes mastery. You'll learn how to smooth container management with Kubernetes, including securing your clusters, and upgrades and rollbacks with zero downtime. No development stack, platform, or background is assumed. Author Elton Stoneman describes all patterns generically, so you can easily apply them to your applications and port them to other projects!

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the technology
Create apps that perform identically on your laptop, data center, and cloud! Kubernetes provides a consistent method for deploying applications on any platform, making it easy to grow. By efficiently orchestrating Docker containers, Kubernetes simplifies tasks like rolling upgrades, scaling, and self-healing.

About the book
Learn Kubernetes in a Month of Lunches is your guide to getting up and running with Kubernetes. You'll progress from Kubernetes basics to essential skills, learning to model, deploy, and manage applications in production. Exercises demonstrate how Kubernetes works with multiple languages and frameworks. You'll also practice with new apps, legacy code, and serverless functions.

What's inside

Deploying applications on Kubernetes clusters
Understanding the Kubernetes app lifecycle, from packaging to rollbacks
Self-healing and scalable apps
Using Kubernetes as a platform for new technologies

About the reader
For readers familiar with Docker and containerization.

About the author
Elton Stoneman is a Docker Captain, a 11-time Microsoft MVP, and the author of Learn Docker in a Month of Lunches .

Table of Contents

PART 1 - FAST TRACK TO KUBERNETES

1 Before you begin

2 Running containers in Kubernetes with Pods and Deployments

3 Connecting Pods over the network with Services

4 Configuring applications with ConfigMaps and Secrets

5 Storing data with volumes, mounts, and claims

6 Scaling applications across multiple Pods with controllers

PART 2 - KUBERNETES IN THE REAL WORLD

7 Extending applications with multicontainer Pods

8 Running data-heavy apps with StatefulSets and Jobs

9 Managing app releases with rollouts and rollbacks

10 Packaging and managing apps with Helm

11 App development—Developer workflows and CI/CD

PART 3 - PREPARING FOR PRODUCTION

12 Empowering self-healing apps

13 Centralizing logs with Fluentd and Elasticsearch

14 Monitoring applications with Kubernetes with Prometheus

15 Managing incoming traffic with Ingress

16 Securing applications with policies, contexts, and admission control

PART 4 - PURE AND APPLIED KUBERNETES

17 Securing resources with role-based access control

18 Deploying Multinode and multiarchitecture clusters

19 Controlling workload placement and automatic scaling

20 Extending Kubernetes with custom resources and Operators

21 Running serverless functions in Kubernetes

22 Never the end]]>
592 Elton Stoneman 1617297984 Weekend 5 coding 4.55 Learn Kubernetes in a Month of Lunches
author: Elton Stoneman
name: Weekend
average rating: 4.55
book published:
rating: 5
read at: 2021/09/13
date added: 2021/09/15
shelves: coding
review:
A superb zero to intermediate book for k8s. It might not cover everything you need to DevOps Kubernetes, but if you are an engineer that works or wants to work in a Kubernetes environment - this book is for you!
]]>
<![CDATA[Bootstrapping Microservices with Docker, Kubernetes, and Terraform: A project-based guide]]> 52962223 The best way to learn microservices development is to build something! Bootstrapping Microservices with Docker, Kubernetes, and Terraform guides you from zero through to a complete microservices project, including fast prototyping, development, and deployment. You’ll get your feet wet using industry-standard tools as you learn and practice the practical skills you’ll use for every microservices application. Following a true bootstrapping approach, you’ll begin with a simple, familiar application and build up your knowledge and skills as you create and deploy a real microservices project.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the technology
Taking microservices from proof of concept to production is a complex, multi-step operation relying on tools like Docker, Terraform, and Kubernetes for packaging and deployment. The best way to learn the process is to build a project from the ground up, and that’s exactly what you’ll do with this book!

About the book
In Bootstrapping Microservices with Docker, Kubernetes, and Terraform , author Ashley Davis lays out a comprehensive approach to building microservices. You’ll start with a simple design and work layer-by-layer until you’ve created your own video streaming application. As you go, you’ll learn to configure cloud infrastructure with Terraform, package microservices using Docker, and deploy your finished project to a Kubernetes cluster.

What's inside

Developing and testing microservices applications
Working with cloud providers
Applying automated testing
Implementing infrastructure as code and setting up a continuous delivery pipeline
Monitoring, managing, and troubleshooting

About the reader
Examples are in JavaScript. No experience with microservices, Kubernetes, Terraform, or Docker required.

About the author
Ashley Davis is a software developer, entrepreneur, stock trader, and the author of Manning’s Data Wrangling with JavaScript .

Table of Contents

1 Why microservices?

2 Creating your first microservice

3 Publishing your first microservice

4 Data management for microservices

5 Communication between microservices

6 Creating your production environment

7 Getting to continuous delivery

8 Automated testing for microservices

9 Exploring FlixTube

10 Healthy microservices

11 Pathways to scalability]]>
440 Ashley Davis 1617297216 Weekend 4 coding
This book is more of a 400 page-long tutorial rather than a book. However a tutorial that shows you end to end development and deployment of modern web technologies, so it is very useful to read through, pick up a few tricks and commands and have as a reference book on the shelf.

The only downside is that author tends to repeat themselves a lot and there are whole pages of 'introduction and retrospective' that can be skipped without missing anything of importance.]]>
3.97 Bootstrapping Microservices with Docker, Kubernetes, and Terraform: A project-based guide
author: Ashley Davis
name: Weekend
average rating: 3.97
book published:
rating: 4
read at: 2021/07/11
date added: 2021/07/11
shelves: coding
review:
4 stars - "really liked it"

This book is more of a 400 page-long tutorial rather than a book. However a tutorial that shows you end to end development and deployment of modern web technologies, so it is very useful to read through, pick up a few tricks and commands and have as a reference book on the shelf.

The only downside is that author tends to repeat themselves a lot and there are whole pages of 'introduction and retrospective' that can be skipped without missing anything of importance.
]]>
Micro Frontends in Action 51959230
Summary

Browser-based software can quickly become complex and difficult to maintain, especially when it’s implemented as a large single-page application. By adopting the micro frontends approach and designing your web apps as systems of features, you can deliver faster feature development, easier upgrades, and pick and choose the technology you use in your stack. Micro Frontends in Action is your guide to simplifying unwieldy frontends by composing them from small, well-defined units.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the Technology

Micro frontends deliver the same flexibility and maintainability to browser-based applications that microservices provide for backend systems. You design your project as a set of standalone components that include their own interfaces, logic, and storage. Then you develop these mini-applications independently and compose them in the browser.

About the Book

Micro Frontends in Action teaches you to apply the microservices approach to the frontend. You’ll start with the core micro frontend design ideas. Then, you’ll build an e-commerce application, working through practical issues like server-side and client-side composition, routing, and maintaining a consistent look and feel. Finally, you’ll explore team workflow patterns that maximize the benefit of developing application components independently.

What’s Inside

- Create a unified frontend from independent applications
- Combine JavaScript code from multiple frameworks
- Browser and server-side composition and routing
- Implement effective dev teams and project workflow

About the Reader

For web developers, software architects, and team leaders.

About the Author

Michael Geers is a software developer specializing in building user interfaces.

Table of Contents

PART 1 - GETTING STARTED WITH MICRO FRONTENDS

1 What are micro frontends?

2 My first micro frontends project

PART 2 - ROUTING, COMPOSITION, AND COMMUNICATION

3 Composition with Ajax and server-side routing

4 Server-side composition

5 Client-side composition

6 Communication patterns

7 Client-side routing and the application shell

8 Composition and universal rendering

9 Which architecture fits my project?

PART 3 - HOW TO BE FAST, CONSISTENT, AND EFFECTIVE

10 Asset loading

11 Performance is key

12 User interface and design system

13 Teams and boundaries

14 Migration, local development, and testing]]>
296 Michael Geers 1617296872 Weekend 5 coding, best 4.40 Micro Frontends in Action
author: Michael Geers
name: Weekend
average rating: 4.40
book published:
rating: 5
read at: 2021/06/07
date added: 2021/06/08
shelves: coding, best
review:
Interesting topics. Clear, concise explanation with examples and links. Talks over very broad, hard to master from documentations topics. A must read book for anyone who's interested in topics beyond act of writing code. Even if you've never heard of micro frontends.
]]>
The Joy of JavaScript 52729898 325 Luis Atencio 1617295868 Weekend 4 coding
Is it useful? Absolutely, if you are mid+ level writing JS for money that other people need to interact with it is a very good read.

Do you have to read it? No. About 50% of the technologies and APIs discussed are for library contributors and framework developers and probably can be even harmful if you start using them in day to day development without very solid understanding of what you are doing. (Not the book's fault, engineers tend to over engineer and the problems that require complex advanced solutions are not very common in day-to-day dev work. And if you are using them, you need to be good enough to abstract them and simplify for the consumption so that rest of the code is still maintainable by the rest of your team. Otherwise you can end up with very complex and opinionated codebase.)

Could this book be better? Yes. Using blockchain as an example app might have been a mistake since it creates a lot of additional cognitive overhead that takes away the recourses that are very needed to actually understand JS topics in this book.

4 stars - 'I really liked it']]>
4.50 The Joy of JavaScript
author: Luis Atencio
name: Weekend
average rating: 4.50
book published:
rating: 4
read at: 2021/05/27
date added: 2021/05/27
shelves: coding
review:
This is a very complex book that explains advanced topic in a complex programming language using complex example of a blockchain application.

Is it useful? Absolutely, if you are mid+ level writing JS for money that other people need to interact with it is a very good read.

Do you have to read it? No. About 50% of the technologies and APIs discussed are for library contributors and framework developers and probably can be even harmful if you start using them in day to day development without very solid understanding of what you are doing. (Not the book's fault, engineers tend to over engineer and the problems that require complex advanced solutions are not very common in day-to-day dev work. And if you are using them, you need to be good enough to abstract them and simplify for the consumption so that rest of the code is still maintainable by the rest of your team. Otherwise you can end up with very complex and opinionated codebase.)

Could this book be better? Yes. Using blockchain as an example app might have been a mistake since it creates a lot of additional cognitive overhead that takes away the recourses that are very needed to actually understand JS topics in this book.

4 stars - 'I really liked it'
]]>
<![CDATA[React Hooks in Action: With Suspense and Concurrent Mode]]> 52962224
Summary
Build stylish, slick, and speedy-to-load user interfaces in React without writing custom classes. React Hooks are a new category of functions that help you to manage state, lifecycle, and side effects within functional components. React Hooks in Action teaches you to use pre-built hooks like useState, useReducer and useEffect to build your own hooks. Your code will be more reusable, require less boilerplate, and you’ll instantly be a more effective React developer.

About the technology
Get started with React Hooks and you’ll soon have code that’s better organized and easier to maintain. React Hooks are targeted JavaScript functions that let you reuse and share functionality across components. Use them to split components into smaller functions, manage state and side effects, and access React features without classes—all without having to rearrange your component hierarchy.

About the book
React Hooks in Action teaches you to write fast and reusable React components using Hooks. You’ll start by learning to create component code with Hooks. Next, you’ll implement a resource booking application that demonstrates managing local state, application state, and side effects like fetching data. Code samples and illustrations make learning Hooks easy.

What's inside

Build function components that access React features
Manage local, shared, and application state
Explore built-in, custom, and third-party hooks
Load, update, and cache data with React Query
Improve page and data loading with code-splitting and React Suspense

About the reader
For beginning to intermediate React developers.

About the author
John Larsen has been a teacher and web developer for over 20 years, creating apps for education and helping students learn to code. He is the author of Get Programming with JavaScript.

Table of Contents

PART 1

1 React is evolving

2 Managing component state with useState hook

3 Managing component state with useReducer hook

4 Working with side effects

5 Managing component state with useRef hook

6 Managing application state

7 Managing performance with useMemo

8 Managing state with the Context API

9 Creating your own hooks

10 Using third party hooks

PART 2

11 Code splitting with Suspense

12 Integrating data-fetching with Suspense

13 Experimenting with useTransition, useDeferredValue and SuspenseList]]>
376 John Larsen 1617297631 Weekend 3 coding
Book claims to be written for advanced level, but stops and explains everything a lot. Which is again not a bad thing, but why claim it is written for experienced engineers?

Overall I do not regret buying and reading this book but wouldn't recommend it either. React React documentation instead. And then if you still have some topics you didn't understand buy and read this book, and code on your own.]]>
3.81 React Hooks in Action: With Suspense and Concurrent Mode
author: John Larsen
name: Weekend
average rating: 3.81
book published:
rating: 3
read at: 2021/04/09
date added: 2021/04/09
shelves: coding
review:
Not a bad book, however for the most part it is just react docs littered with a lot of code examples from the same tutorial app that spans the whole book. In my opinion such approach only distracts from learning and understanding the concepts and the theory behind them.

Book claims to be written for advanced level, but stops and explains everything a lot. Which is again not a bad thing, but why claim it is written for experienced engineers?

Overall I do not regret buying and reading this book but wouldn't recommend it either. React React documentation instead. And then if you still have some topics you didn't understand buy and read this book, and code on your own.
]]>
Linux in Action 41541515 384 David Clinton 1617294934 Weekend 5 coding But still a great introduction into Linux ecosystem. Highly recommend for beginners or developers who want to learn a bit more about Linux.]]> 3.79 Linux in Action
author: David Clinton
name: Weekend
average rating: 3.79
book published:
rating: 5
read at: 2021/04/04
date added: 2021/04/04
shelves: coding
review:
Very good beginner introduction. Focuses a bit more on IT-level administration than DevOps.
But still a great introduction into Linux ecosystem. Highly recommend for beginners or developers who want to learn a bit more about Linux.
]]>
<![CDATA[Professor Frisby's Mostly Adequate Guide to Functional Programming]]> 25847352
You likely use it every day at work.

This makes it possible to practice and apply your acquired knowledge each day on real world programs rather than pet projects on nights and weekends in an esoteric FP language.

We don't have to learn everything up front to start writing programs.

In a pure functional language, you cannot log a variable or read a DOM node without using monads. Here we can cheat a little as we learn to purify our codebase. It's also easier to get started in this language since it's mixed paradigm and you can fall back on your current practices while there are gaps in your knowledge.

The language is fully capable of writing top notch functional code.

We have all the features we need to mimic a language like Scala or Haskell with the help of a tiny library or two. Object-oriented programming currently dominates the industry, but it's clearly awkward in JavaScript. It's akin to camping off of a highway or tap dancing in galoshes. We have to bind all over the place lest this change out from under us, we don't have classes[^Yet], we have various work arounds for the quirky behavior when the new keyword is forgotten, private members are only available via closures. To a lot of us, FP feels more natural anyways.

That said, typed functional languages will, without a doubt, be the best place to code in the style presented by this book. JavaScript will be our means of learning a paradigm, where you apply it is up to you. Luckily, the interfaces are mathematical and, as such, ubiquitous. You'll find yourself at home with swiftz, scalaz, haskell, purescript, and other mathematically inclined environments.]]>
146 Brian Lonsdorf Weekend 5 coding Just as any other book on FP the moment it gets to Category Theory or Monoids it does get complex, so beware, especially if you are a newcomer to software engineering.]]> 4.32 Professor Frisby's Mostly Adequate Guide to Functional Programming
author: Brian Lonsdorf
name: Weekend
average rating: 4.32
book published:
rating: 5
read at: 2021/03/20
date added: 2021/03/20
shelves: coding
review:
Amazing book on FP in JS. Might be the best one there is.
Just as any other book on FP the moment it gets to Category Theory or Monoids it does get complex, so beware, especially if you are a newcomer to software engineering.
]]>
<![CDATA[Functional Programming in JavaScript]]> 27876180
About the technology
As web developers build increasingly complex applications in JavaScript, the code base for these projects can become exponentially larger and harder to maintain. The result? Application performance suffers, and readability and extensibility are severely compromised. For applications like these, Functional Programming provides a saner approach, allowing you to write elegant, readable code that raises the level of abstraction while being less prone to errors. Although not a "pure" functional language, JavaScript's native functional capabilities unlock access to proven functional programming techniques and practices.

What's inside
Foundations of functional programming and design
Explore JavaScript's functional programming capabilities and the functional library ecosystem
Create more reliable code by embracing immutability
Learn to write code that's easier to reason about
Separate core logic from program structure to write extensible code
Adopt a new approach to error handling and testing
Apply functional programming to solve real-world problems
About the reader
Readers need to be comfortable with JavaScript programming and object-oriented design. No previous experience with functional programming is required.

About the author
Luis Atencio is a Staff Software Engineer for Citrix Systems in Ft. Lauderdale, FL. He develops and architects applications leveraging Java, PHP, and JavaScript platforms. Luis is very involved in the community and has presented at local meet-ups. He blogs about software engineering at luisatencio.net and writes articles for PHP magazines and DZone. Follow Luis on twitter at @luijar.]]>
272 Luis Atencio Weekend 3 coding Some topics are not explained very well. Some are explained via libraries that became largely obsolete in 2021. I would probably say that THIS IS NOT A BOOK FOR BEGINNERS, but honestly so is the whole topic of declarative functional programming.

Overall I would probably not recommend this book in 2021, however it was very good and useful in 2016.]]>
4.21 Functional Programming in JavaScript
author: Luis Atencio
name: Weekend
average rating: 4.21
book published:
rating: 3
read at: 2021/03/15
date added: 2021/03/15
shelves: coding
review:
A good introduction on the subjects of functional programming.
Some topics are not explained very well. Some are explained via libraries that became largely obsolete in 2021. I would probably say that THIS IS NOT A BOOK FOR BEGINNERS, but honestly so is the whole topic of declarative functional programming.

Overall I would probably not recommend this book in 2021, however it was very good and useful in 2016.
]]>
<![CDATA[Unit Testing: Principles, Practices, and Patterns]]> 48927138 304 Vladimir Khorikov 1617296279 Weekend 5 coding, best
Otherwise great, a must read for anyone who writes code that will be interacted with or used by other people.]]>
4.57 Unit Testing: Principles, Practices, and Patterns
author: Vladimir Khorikov
name: Weekend
average rating: 4.57
book published:
rating: 5
read at: 2021/02/04
date added: 2021/02/04
shelves: coding, best
review:
The worst part in this book is its title. I really think that this book should be called 'How to write maintainable and scalable software'. It touches so many great points around software architecture and design, being honest about pros and cons of each approach. It is also a bit repeating itself too much and no, each chapter probably doesn't need a full page of explanation about what am I going to read in it, just get to the chapter itself.

Otherwise great, a must read for anyone who writes code that will be interacted with or used by other people.
]]>