Francisco Javier Palacios PérezFco. Javier Palacios Pérez
Software Developer

Tutorials

Tutorials

Iteration and refinement: the AI dialogue11AI for Developers

Iteration and refinement: the AI dialogue

Learn how to refine AI responses without losing the goal: when to iterate, when to start fresh, and how to keep long conversations under control.

Scope and namespaces in Python: where your variables live13Learn to code from scratch with Python

Scope and namespaces in Python: where your variables live

Understand local scope, global scope, nested functions, global, nonlocal, and why Python sometimes seems to hide your variables for sport.

Why We Need Databases1SQL: From Zero to DBA

Why We Need Databases

Before writing your first query, understand what problem databases solve: persistence, relationships, concurrency, querying, and real guarantees.

Docker Compose networking: networks, services, and isolation16Mastering Docker from Scratch

Docker Compose networking: networks, services, and isolation

Learn Docker Compose networking: default networks, service names, ports, custom networks, external networks, and aliases without chasing changing IPs.

Docker Compose volumes and data persistence15Mastering Docker from Scratch

Docker Compose volumes and data persistence

Learn Docker Compose volumes: named volumes, bind mounts, database persistence, development workflows, and backups without praying to the container gods.

Setting up your DevOps work environment: Linux, terminal, and essential tools2DevOps, SRE and Platform Engineering from Scratch

Setting up your DevOps work environment: Linux, terminal, and essential tools

Set up a usable DevOps environment from day one: Linux, WSL, cloud, SSH, terminal, and essential tools without turning your laptop into a weird experiment.

Introduction to the DevOps world: culture, automation, and feedback1DevOps, SRE and Platform Engineering from Scratch

Introduction to the DevOps world: culture, automation, and feedback

Start the DevOps, SRE, and Platform Engineering course by understanding what problem DevOps solves, why it is not just a role, and how the roadmap fits together.

Marks and jumps in Vim: navigate without losing the thread8Mastering Vim from Scratch

Marks and jumps in Vim: navigate without losing the thread

Learn how to use marks, the jump list, and the changelist in Vim to move between positions without losing your place, and how to get real mileage out of gf, gd, and %.

Docker Compose file structure: health checks, environment variables, and restart14Mastering Docker from Scratch

Docker Compose file structure: health checks, environment variables, and restart

Real health checks with condition: service_healthy, environment variables from .env, restart policies, and a complete working stack that behaves the same on your laptop and in production.

Introduction to Docker Compose: one file, one command13Mastering Docker from Scratch

Introduction to Docker Compose: one file, one command

Docker Compose turns four `docker run` commands you run from memory into a single declarative file and one command. This is where Docker starts feeling useful on a daily basis.

Git in CI/CD pipelines: from commit to automated deploy40Mastering Git from scratch

Git in CI/CD pipelines: from commit to automated deploy

A CI/CD pipeline starts with a git push. This lesson covers how to configure Git correctly in GitHub Actions and GitLab CI: shallow clones, caching, permissions, and the practices that actually make a difference.

git switch and git restore: the end of the all-purpose checkout39Mastering Git from scratch

git switch and git restore: the end of the all-purpose checkout

git checkout has been doing too many things for too long. git switch and git restore arrived in 2019 to fix that design. They've been stable for years — time to use them.