Take away: Test-Driven Development: By Example – Kent Beck

I’ve just finished reading “Test-Driven Development: By Example” written by Kent Beck. It’s a second time when I read this book, a few years ago on the Kindle, today as a paper-book.

If you need the recommendation to read it, you have mine. I could say that book is perfect for:

  • entry-level developers,
  • highly experienced developers who are afraid to write tests.

I’m sharing with you my notes, which I wrote during reading.

Continue reading “Take away: Test-Driven Development: By Example – Kent Beck”

[Newsletter] You don’t need server to run PHP website

I know you’re swamped, so I’ll be brief. Three amazing articles to read while drinking a coffee.

https://pilsniak.com/aws-serverless-php – You don’t need any server to run PHP, it’s possible on AWS’s serverless infrastructure, for free!

https://pilsniak.com/aws-fargate-and-symfony – You will find here how to deploy Symfony to AWS Fargete. Docker inside!

https://pilsniak.com/aws-pattern-laravel – Protect your microservices from accidental internal DDOS.

If you have any questions or thoughts feel free to reach me anytime.

[Newsletter] Save money on AWS and speed up your PHP websites

I have two links for you, both of them make PHP much faster (and cheaper) on AWS.

https://pilsniak.com/aws-speedup-php – Did you know that Amazon/AWS contributes to PHP source code? Look this: “WordPress provides up to 34% better price/performance” – they do that.

https://pilsniak.com/async-aws – Async doesn’t stop your application during connection to AWS services. You can do much more operations in one sec!

If you have any questions or thoughts feel free to reach me anytime.

Brew on macOS Explained In 1 Post

What is a brew/homebrew?

If you used a Linux before, you had to meet apt-get on Debian/Ubuntu system or yum on Centos/Red Hat. Brew as well as these tools is a package manager that allows you to install (most of) Linux ‘s libs and tools on your Mac! You can also create your own packages to easily install them on other Macs.

Continue reading “Brew on macOS Explained In 1 Post”

[UML][PHP] The game of Life [WIP]

A few days ago John Horton Conway passed away, it inspired me to take a look at his Game of Life. I have it in my mind for years, since I heard about this cellular automaton on conferences. They were talking, it’s as a good challenge for Software Developers. Something like Kata to practice your skills using different approaches, libraries, toolsets.

I wanted to use it, to practice my UML skillset and the PlantUML tool. As an addition, I wrote PHP 7.3 code to demonstrate implantation. It’s far away from perfection. I didn’t use Composer, no Unit Tests, no framework, just vanilla PHP. Today, I wanted to make UML diagrams.

Continue reading “[UML][PHP] The game of Life [WIP]”

Composer – Things you (I) didn’t know

If we try to look at tools that change the PHP environment and community, for sure we will find there the Composer. It’s the tool that allows us to manage dependencies in our projects. We don’t have to download zip files and store vendors in our repositories. We got two files (composer.json and composer.lock), which describe what is needed to run our software and the Composer manages fetching and installing dependencies for us.

When I look at my experience with the Composer, I use it every day. But, my using it usually finish to use composer require or composer update. If you are not familiar with the Composer, the first command allows you to add a (dev)dependency to your project, the second one allows you to update a dependency when maintainers release the newest version of their library.

Continue reading “Composer – Things you (I) didn’t know”

Prooph: CQRS+ES in PHP. How to use.

Pattern CQRS and Event Sourcing become more and more popular every day in PHP community. You can easily find lot libraries to store events, to execute commands, to manage repositories, etc. The leader there doesn’t exist yet, but prooph as the most complex solution is close to that position. They have only one problem, documentation.

Ok, they have two problems. Documentation and many not to updated examples in their GitHub repository. Because of that and because prooph is de facto five not related components running everything out-of-the-box is really a pain. Even if some examples contain Docker on board or especially then because a tree of dependencies grows fast.

Continue reading “Prooph: CQRS+ES in PHP. How to use.”

GraphQL vs. REST vs. SOAP

Ladies and Gentlemen, let me introduce you GraphQL. Dragons’ and gnomes’ slayer. I will be honest, GraphQL is in my opinion much better than REST and SOAP. Usually, I don’t follow trends I’m waiting when a technology grow up and solidify. I won’t be tester the newest solutions, especially when it’s related to JavaScript. As you know, frameworks in JavaScript are published every hour. I have no time for it.

GraphQL was published two years ago, Wikipedia said. I didn’t hear about it until I was looking through the agenda 4Developers, polish conference. Few speakers made presentations about it. I wasn’t on any. Just the organizer published videos on YouTube I had a chance to see them.

Continue reading “GraphQL vs. REST vs. SOAP”

100% Code Coverage with phpspec


Can you imagine a big project that has 100% code coverage? Me neither. It doesn’t mean that we should ignore this measurement. Today, I would like to describe my adventures with code coverage in the Financier project. There will be phpspec, Travis, coveralls.io and bit of dragons. Just kidding, dragons another day.

100% code coverage what does it mean? Well, you have tests for each class, method, and conditions (if, while, for), literally. Everything is testable and tested.

Continue reading “100% Code Coverage with phpspec”