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

Tutorials

Tutorials

Advanced Dockerfile instructions: ARG, ENV, ENTRYPOINT and more 10 Mastering Docker from Scratch

Advanced Dockerfile instructions: ARG, ENV, ENTRYPOINT and more

Understand once and for all the difference between ARG and ENV, ENTRYPOINT and CMD, and what HEALTHCHECK, VOLUME and EXPOSE actually do in your Dockerfiles.

Pull Requests and code review: how to make your code easy to review 30 Mastering Git from scratch

Pull Requests and code review: how to make your code easy to review

A Pull Request is not just the mechanism to merge code — it's a conversation. Learn to write PRs that people actually want to review and give feedback that builds instead of blocks.

GitHub Flow: the workflow for teams that ship continuously 29 Mastering Git from scratch

GitHub Flow: the workflow for teams that ship continuously

GitHub Flow strips branching down to the essentials: one stable branch, short-lived feature branches, Pull Requests for review, and deploy after every merge.

The art of the prompt: core principles 7 AI for Developers

The art of the prompt: core principles

Same model, same day, thirty seconds apart — two completely different answers depending on how you frame the question. Here's the RCTF framework and why it changes everything.

List methods in Python: append, remove, and list comprehensions 10 Learn to code from scratch with Python

List methods in Python: append, remove, and list comprehensions

A list you can't modify is just a tuple with extra steps. Learn to add, remove, and transform elements with the most important list methods — and write your first list comprehensions.

Multi-stage builds in Docker: smaller, cleaner images 9 Mastering Docker from Scratch

Multi-stage builds in Docker: smaller, cleaner images

Learn to use multi-stage builds in Docker to separate the build environment from the runtime environment, with real Go and Node.js examples that shrink images from hundreds of megabytes down to a handful.

Dockerfile Best Practices: Security 8 Mastering Docker from Scratch

Dockerfile Best Practices: Security

Build secure Docker images: avoid running as root, scan for vulnerabilities with Trivy, pin versions the right way, and manage secrets without baking them into your image.

Git Flow: a workflow for managing releases 28 Mastering Git from scratch

Git Flow: a workflow for managing releases

Git Flow formalizes the branch prefixes you already know into a structured process: permanent main and develop branches, plus temporary branches for features, releases, and hotfixes.

Branch naming conventions in Git 27 Mastering Git from scratch

Branch naming conventions in Git

How to name branches so your team understands at a glance what they contain, which ticket they map to, and when it's safe to delete them.

Visual mode in Vim: select, operate, own it 6 Mastering Vim from Scratch

Visual mode in Vim: select, operate, own it

Visual mode isn't 'using the keyboard like a mouse'. It's a three-variant tool with direct operations and a block mode that simulates multiple cursors with zero plugins.

Lists in Python: your first data structure 9 Learn to code from scratch with Python

Lists in Python: your first data structure

A single variable can only hold one value. Lists hold as many as you need — and let you access, slice, and iterate over them with almost no ceremony.

Dockerfile Best Practices: Layer Caching and Efficiency 7 Mastering Docker from Scratch

Dockerfile Best Practices: Layer Caching and Efficiency

Learn how Docker's layer caching system works, how to order Dockerfile instructions for fast builds, and which base image to choose for lean, efficient images.