About the Book
Python 3 Combat Guide
Is a practical guide, to setup projects from zero, or to improve existing ones.
V. 1.08 (108 - 2022-05-11) across 403 pages DIN A4, in PDF format DRM-free, provides comprehensive explanations with code samples, tips and trick, nice to do and don't-do-this.
Is a very practical guide, covering many aspects, talking superficially about many things interesting things to know like using Docker, Jenkins, Puppet, Infrastructure as code, Blue/green, canary deployment, git... and going in deep to some good practices, with a lot of source code samples.
Explain how to setup Unit Testing with pytest from the scratch, PyCharm and does some practical TDD with examples.
Make easy to use Virtual Environments and how to create your own PIP Packages.
What is it?
A very practical hands on manual for companies working with Python 3.6 or greater (and moving from Python 2.7 to Python 3).
I explain my experience working in several actual projects, different sizes and teach good practices.
Like the title suggest is a Combat Guide: read it and start crushing it!.
Is the Master Class that your best friend working in a multinational will teach you to help to improve how you and your Team work.
Having in consideration Operations Engineers, SRE and SysAdmins, it explains how to move from Procedural code to OOP, and how and why to use Interfaces and Base classes (Parent) and children (subclasses).
I use practical examples, and compare Bash and Python for different scenarios, and I show pytest Unit Testing from the scratch.
Probably you'll love it if you know Java or PHP cause in 5 hours will enable you to write code in Python.
I also provide a very simple Flask Web Application, so you see how easy it is, a mini OOP application working against MySQL in Docker, a simple SQLITE3 example, a simple GUI TKinter LDAP application, Cron Jobs that send email, Sorting Data Structures using .sort(), sorted() and lambdas, Docker samples...
When possible instructions are provided for Ubuntu Linux, Mac Os X and Windows.
I reduced the price suggested to $15 with a minimum of $11.
You may still benefit from offers handled from LeanPub, and bundles.
I released this guide during coronavirus quarantine, in Ireland, in early 2020.
This is a technical guide, intended to serve to all level of Medium-Senior Developers and to SDMs (SDM - Software Development Managers).
Also useful for Team Leads and Project Managers..
It is not a basic manual, however I want to give a chance to non-tech people to learn how to program in Python, so they can get a good life or in the case of the scientists and academics that lost their jobs in the universities and need to go back to the market. Many of them use tools like Jupyter Notebook with Python, so they only need a Master Class and examples to empower them to work in modern projects, with Git, Unit Testing, nice good practices, Team work...
What is not?
A typical manual to learn Python for beginners.
If you're looking for this, this is not your book.
Is focused on writing CLI programs, Crons, Unit Testing and shows some Flask but does not cover Django.
It is not a manual to learn specific Python language features in deep.
Code is based in Python 3.6.
Does not cover new features on Python 3.7, 3.8, 3.9 or 3.10 as the code I write tries to work across many different versions of Python deployed in Servers running them.
It is not specialized in Performance. I mention some tricks for performance, but I don't explain functools.
Neither explain Architecture Patterns like Event Queues or Microservices. Or how to write API's, there are many books for that.
It just go for pointing the effective way to build CMD Line applications, Crons, use Dependency Injection, and Unit Testing in a very professional way.
Also cover certain common sense aspects for working in Team, good practices, and some Scaling tricks.
So basically allowing SRE, DevOps and Managers to improve the way they run Command Line Applications, Server side scripting, Server Monitoring...
Currently I don't cover Google Cloud Python Engine or Amazon AWS lambda with Python, although I have plans to do it.
I think you will learn many useful things, but if you buy it and you are not satisfied, please feel free to return it. When you buy it you have a period of time to return it, which at the moment of this writing is 45 days. I only had one return, and it was a professional editorial that wanted to sell the book in the States and world wide. But honestly, I like to keep all the rights and to be able to communicate with you and to update the book often. ;)
Is the code in gitlab?
Yes, most of the code is in gitlab, so you can download and just run it.
However is better to follow the book, as there are some errors intended, in order to show what not to do, and without reading the book you'll not understand it.
Even if you didn't buy the book, feel free to download the source code in gitlab:
The Python with MySQL in Docker sample application can be downloaded from here:
Updates to this version 1.08 2022-05-11:
- Added an example of .copy() for Arrays and mention to deepcopy
- Example on how to sort a dictionary of key/counter
- Improvements to MT Notation updated
- Added packages recommended: colorama, pynput, bisect
- Added Personal WebServer examples.
- Added examples of Python misbehaving with Floats.
- Explanations about redefining reserved keywords like print or exit as a variable.
- Style modification to add lines over the line number and over the Footnote.
About the Author
I’m Carles Mateo, since January 2020 working as Operations Engineer for Blizzard Entertainment in Cork, Ireland.
Previously worked as Cloud Architect and SDM for Sanmina, in Ireland and United States, where I created and I did lead a Python and C project for a Storage Manager for our 4U Cold Storage Servers 1PB and 2U SSD and 1U NVMe with NICs up to 2x100Gbps, which will restore redundancy in the RAID when a drive dies, very quickly, using ZFS and DRAID.
I helped several multinationals:
- Volkswagen IT (gedas) where I got promoted to head of department of Reusability and Code Components and previously I lead the SEAT's Intranet project, I solved TCP/Ip transmission problems in project PortIc for Barcelona's port (EDI Transfer), I created a project to transfer warranty documents over Web and TCP/IP instead of X.25 expensive lines, and worked for CaixaBank (formerly "la caixa") creating a Documentum solution programing the GUI and DLL's.
- Winterthur Insurance (Axa) where I was Senior PM and I lead both technically and in functionally, the project to deploy a new Contact Center Software, the e-Commerce web platform and the insurance of health policies (special Data treatment)
- BBVA Tickets where I was responsible of the platform (Sun Solaris and Oracle)
I worked a lot for CSP (Cloud Service Providers) and ISP, in Linux.
Also I helped many Start ups, e-Commerces, Online travel agencies... as CTO or in hands on positions leading teams and coding myself, in Software Development, SRE and Operation roles.
I was one of the 5 Senior BackEnds that wrote Privalia's new multi-country Website, from the scratch, with inheritance, and I lead a KPI Dashboards for CEO, really learning the internals of all the areas of the company through the data.
The last company I was CTO for, in Barcelona, was sold to airbnb for 45 million euros.
My friends say that everything I touch turns into gold, and my very good friend Jaume (R.I.P.) used to say that I was the most brutal technical guy, solving all the difficult technical issues easily, that he ever met. I've very grateful thoughts and memories for all the people that did speak up how well they considered me, and that were fair Other people tried to take advantage by never telling me how good and helpful I was, so they could pay me less. What they didn't know is that I always had offers paying me double, and I was choosing to help them.
Now I only accept fair agreements. I know my value.
I started programming when I was 5 years old, at 10 I won a contest at Spanish State level, getting a Pc with a green phosphorescent monitor and a floppy drive, and I've lived the times of the BBS, much before Internet.
I've coded many Freeware Software, and Open Source Software, and I created the first system in Europe to sell Tickets for musical events, in 1995, for Tick Tack Ticket. I created this e-Commerce engine, with render template system completely in C, cgi-bin, HTML.
I love Software and Hardware.
I've worked with C, Java, PHP, Python... and my knowledge of PHP Unit Testing really reached its best when I was working for a bank.
I've invented the CSort algorithm.
In my free time I teach some students to get pro in coding. Most of my time now I work with Python 3, Docker Containers and Linux.
You can find information about me in my blog.