Category: book review

The Clean Coder: A Code of Conduct for Professional Programmers, book review

beginning_serverless_computing-Book_Cover

Published on: 15.10.2018

Number of pages: 211
Written by: Robert C. Martin (Uncle Bob)
Publish by: Prentice Hall

Conclusion
Read this book if you plan to make money by writing code for others.

Review
This is an interesting book.

It is not a soft skill book, but it is also not a technical book, it is something in between.

The book has valuable advices on how to behave as a professional programmer.

The author is writing software professionally since 1970, so there are a lot of stories about how the software was made back then. I liked those stories a lot.

Chapters titles are: Professionalism, Saying No, Saying Yes, Coding, Test Driven Development, Practicing, Acceptance Testing, Testing Strategies, Time Management, Estimation, Pressure, Collaboration, Teams and Projects, Mentoring, Apprenticeship and Craftsmanship, Tooling.

Learning Python design patterns Second Edition, book review

learning_python_design_patterns_se-Book_Cover

Published on: 15.08.2018

Number of pages: 141
Written by: Chetan Giridhar
Publish by: PACKT Publishing

Conclusion
This is the first book that I have read regarding software design patterns in Python language, for me it is useful as the code implementation reference.

Review

Book explains and implements some(singleton, factory, facade, proxy, observer, command, template method, MVC, state design) software design patterns in Python language.

It also gives the general overview of design patterns and antipatterns.

What I do not like is that book first does an explanation of code and then shows the code that has been already explained.

For me, it is better first to see the code and then to read the explanation of it.

The best approach for explaining code so far I have seen in Fluent Python.

In that book, the first code is shown and then it is explained.

And the best part, in Fluent Python, not the whole code is explained but just concepts that you have not seen in the book before.

My experience with learning software design patterns from books is generally unsuccessful.

I learn things when I need to use them, so generally only when I had the unmaintainable code and when I wanted to make it more manageable I usually end up reinventing some pattern.

Then I was able to understand some design patterns, from standpoint of why to use it (what is the benefit).

But I do recommend reading books about design patterns, even if you do not understand it completely because probably you will remember it when you need it in practice and then you can open it, read it and implement it.

Believe me, it is easier than reinventing patterns from scratch.

I think that book would be better is first there was code written without design patterns because than the reader could see what kind of mess it is and how hard is it to maintain it.

But that kind of book would probably be even 3-5 time longer.

Subnetting, book review

subnetting-Book_Cover

Published on: 15.07.2018

Number of pages: 52
Written by: Todd Lammle
Publish by: Sybex

Conclusion
This book will teach you how to do subnetting of the IPv4 network.

Review
It is easy to read because the book is only 52 pages, what is more than enough to explain subnetting of the IPv4 network.

Has a lot of examples so it is easy to follow.

The first chapter is subnetting basics, and then there are 3 chapters for A, B and C class.

Beginning serverless computing, book review

beginning_serverless_computing-Book_Cover

Published on: 01.07.2018

Number of pages: 199
Written by: Maddie Stigler
Publish by: Apress

Conclusion
Interesting read, it shows the current state of AWS, Azure, and Google Cloud.

Review

Chapter 1 is explaining what is serverless computing.

The second chapter gives an overview of the current market.

Next three chapter give example how to implement it in AWS, Azure, and Google Cloud.

The last chapter is demonstrating the agnostic approach.

Serverless computing is the topic that interests me a lot.

I see more advantages than disadvantages with serverless setup, especially cost (if I am charged by used resources and not by subscription) and scaling.

Exercises for Programmers, book review

exercises-for-programmers-Book_Cover

Published on: 15.06.2018

Number of pages: 118
Written by: Brian P. Hogan
Publish by: The Pragmatic Bookshelf

Conclusion
Book has good (real life) exercises that can be applied to learn a programing language.

Review
This book will not teach you programming but have 57 exercises that you can do in any language.

Each exercise has few additional challenges, so there is enough material for practice.

The only way to learn new programming langue(or your fist) is to make something concrete and this book can provide that.

Flowcharts are also shown in the book, I think that is cool.
Today flowcharts are mostly forgotten but are useful to know.

If you are not experienced programme (I do have 15+ years of development) my suggestion is to first solve an exercise by any means necessary and after you can do it with constraints and lastly also challenges from the book.

If some exercise is too hard (you have spent few hours and still no progress) just go to next one.
You will have more motivation to learn if it is fun and not dreadful.
After you finish some other exercises and get more experience, you can come back to old ones.

The best part about exercises in this book is that they are pretty close to real life programming, so you are not wasting your time (like on Codility) solving some problems that you will never encounter in real life software development.

My solutions can be found at https://github.com/sasa-buklijas/57-challenges-to-develop-your-coding-skills/.

Python Testing with pytest, book review

python_testing_with_pytest-Book_Cover

Published on: 15.05.2018

Number of pages: 220
Written by: Brian Okken
Publish by: The Pragmatic Bookshelf

Conclusion
The only book about pytest.

Review
If you want to learn how to use pytest for testing Python programs, this book will be useful to you.

I did not know much about pytest, before reading this book, except that it was related to unit testing in Python.

So, I was very surprised to learn that it much more (fixtures, plugins, configuration, etc) than just better unit testing for Python.

Fluent Python, book review

Fluent_Python-Book_Cover

Published on: 01.04.2018

Number of pages: 792
Written by: Luciano Ramalho
Publish by: O’Reilly Media

Conclusion
The book is good for advanced Python, it covers a lot of and in details.

Review
This book is for developers who want to get their Python skills to advance level.

It is not for beginners, for beginners in Python I recommend Automate The Boring Stuff With Python.

Book Effective Python also covers advanced topics, but this one covers in more details.

Both books are good, I would recommend this one because it describes topics in more details, but that is why this book has much more pages.

Hackers and Painters, book review

hackers_and_painters-Book_Cover

Published on: 01.03.2018

Number of pages: 272
Written by: Paul Graham
Publish by: O’Reilly Media

Conclusion
One of the classics book for hackers (software developers).

If you are just in the business of software, I recommend that you read it.

Review
The book is composed of 15 essays:

Why Nerds Are Unpopular
Hackers and Painters
What You Can’t Say
Good Bad Attitude
The Other Road Ahead
How to Make Wealth
Mind the Gap
A Plan for Spam
Taste for Makers
Programming Languages Explained
The Hundred-Year Language
Beating the Averages
Revenge of the Nerds
The Dream Language
Design and Research

Most of them are available on Paul Graham blog.

My personal favorites are Mind the Gap and How to Make Wealth.

Full Stack Python Guide to Deployments, book review

full_stack_python_guide_to_deployments-Book_Cover

Published on: 01.10.2017

Number of pages: 262 with code example, 185 without
Written by: Matthew Makai
Publish by: Self-publish

Conclusion
Useful to read, if you want to learn/see how to deploy python web application.

Review
Topic of book is described in its subject, full stack python deployments.

In appendix C of book is full source code of Flask application that you are deploying.

Topic of book is not source code from Flask application, but just how to deploy that code.

Deployment is done on virtual server on Linode (Ubuntu).

Deployment process is automated with Fabric and Ansible.

I liked this automation because you can use it for your own project also.

Other technologies used are: Nginx, Git, PostgreSQL, Redis, Green Unicorn, Celery and Jenkins

Grokking Algorithms, book review

Grokking_Algorithms-Book_Cover

Published on: 01.07.2017

Number of pages: 256
Written by: Aditya Bhargava
Publish by: Manning

Conclusion
Interesting book, visualizations are very helpful.

Review
When I saw this book first time I was not interested.
Book cover was too childish for me.

But after listening podcast about it, I changed my mind.

Illustrations in book are used to explain concepts, and they are very useful.
All code is in python, that was bonus point for me.

Here is video example of illustration:

I do recommend this book for reading, you can understand Big O notation from it and algorithms.