Chemaclass
All Tags
software-design

33 posts

Bitcoin with Rigor

Bitcoin with Rigor

Bitcoin with Rigor goes beyond a basic explanation of Bitcoin, offering a detailed analysis of how Bitcoin works. It bre…

Bitcoin: A Work in Progress

Bitcoin: A Work in Progress

With thousands of 'crypto' projects out there, they say Bitcoin is old and boring, but nothing could be further from the…

What is Waterfall?

What is Waterfall?

Waterfall is like following a straight path where you move from one step to the next in a defined order — like water flo…

Mastering Bitcoin

Mastering Bitcoin

This book covers everything from the basics to the most profound technical aspects of how Bitcoin works. It is an excell…

Learning concurrency in Golang

Learning concurrency in Golang

I wanted to learn a new programming language, so after trying some, I ended up with Golang as one of my favorites for it…

Great engineering

Great engineering

Coding is not just another job. In the right environment, writing software can be really fun and, even more, it can be y…

How to test private methods?

How to test private methods?

From time to time I have had to face this question: how to test private methods? I have put together in an article the t…

Introducing a new tech stack

Introducing a new tech stack

To introduce a new tech stack for the entire team, it's important to bring "why?" and a strategy to make it happen among…

Accelerate

Accelerate

The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations

Recipes for Decoupling

Recipes for Decoupling

What is coupling, and why is it bad? What is decoupling, and how to do it efficiently? This book is a compilation of str…

Modern Software Engineering

Modern Software Engineering

This book presents software development as an engineering practice at every level. To master software engineering, we mu…

Modern CTO

Modern CTO

In Modern CTO, Joel Beasley provides readers with an in-depth road map on how to successfully navigate the unexplored an…

London vs Chicago

London vs Chicago

There are two known schools in TDD: the mockist school (aka Outside-in) and the classicist school (aka Inside-out).

TDD vs BDD

TDD vs BDD

These are two different techniques. The key to each of them is about the mindset and context of what you want to achieve…

Test-Driven (Development)

Test-Driven (Development)

The complexity here is not about writing tests itself, but the habits that we have to change to create software that is …

Phel: the Lisp that compiles to PHP

Phel: the Lisp that compiles to PHP

The new Functional Programming language build-in for PHP.

To mock or not to mock

To mock or not to mock

Mocking is useful, but 'what to mock' usually turns out to be a more complicated than expected if you don't treat this c…

Principles of package design

Principles of package design

Apply design principles to your classes, preparing them for reuse. You will use package design principles to create pack…

Typed arrays in PHP

Typed arrays in PHP

Argument unpacking, function variable argument list, and variadics function.

Object design style guide

Object design style guide

Domain-Driven Design Distilled

Domain-Driven Design Distilled

Domain-Driven Design Distilled brings DDD to life. Whether you're a developer, consultant, or customer, it will help you…

Advanced Web Application Architecture

Advanced Web Application Architecture

The best guide that brings your coding and architecture skills a level up. All the modern PHP features combined with the…

Strict Types in PHP

Strict Types in PHP

`strict_types=1` is more for the reader than for the writer

The art of refactoring

The art of refactoring

If you see something, in the scope of your current task, that can be easily improved, improve it. And if you have any qu…

Final classes in PHP | Java | Any

Final classes in PHP | Java | Any

Clear contracts, isolated side effects, testability, low complexity and cognitive load, code fluidity, and confidence in…

7 languages in 7 weeks

7 languages in 7 weeks

Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages

The art of testing: where design meets quality

The art of testing: where design meets quality

Why you should consider testing as part of your daily development habit and how it's directly linked to the software qua…

Clean Agile

Clean Agile

This book is about Agile. What it was, what it is, and what it will be. This is a back-to-basics talk that covers the hi…

Working Effectively with Legacy Code

Working Effectively with Legacy Code

This book offers start-to-finish strategies for working more effectively with large, untested legacy code bases.

Clean Architecture

Clean Architecture

A Craftsman's Guide to Software Structure and Design

The Pragmatic Programmer

The Pragmatic Programmer

The journey to mastery

97 Things Every Programmer Should Know

97 Things Every Programmer Should Know

Tap into the wisdom of experts to learn what every programmer should know, no matter what language you use. With the 97 …

Clean Code

Clean Code

Even bad code can function. But if code isn't clean, it can bring a development organization to its knees. Every year, c…