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

Posts - Page 2

Posts - Page 2

What I learned building the 'Mastering Git from Scratch' course

What I learned building the 'Mastering Git from Scratch' course

Nine years of migrations, a method I didn't know I had, and a Git course I started without knowing enough Git. It all makes sense in hindsight.

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.

Prompts for Code Generation with AI10AI for Developers

Prompts for Code Generation with AI

Learn to specify before you ask: scaffold approach, TDD with AI, and how to review generated code before trusting it.

Advanced function parameters in Python: defaults, *args, and **kwargs12Learn to code from scratch with Python

Advanced function parameters in Python: defaults, *args, and **kwargs

Default parameters, keyword arguments, *args, and **kwargs make your functions flexible. One of them has a trap Python doesn't warn you about before springing it.

Git configuration and optimization: settings that actually matter38Mastering Git from scratch

Git configuration and optimization: settings that actually matter

git config does a lot more than store your name and email. The right options cut daily friction, improve your diffs, and make Git behave the way you actually want it to.

Git LFS: managing large files without breaking your repository35Mastering Git from scratch

Git LFS: managing large files without breaking your repository

Git was not designed for binary files that weigh hundreds of megabytes. Git LFS solves the problem by storing pointers in your repository and keeping the actual files elsewhere.

Git Worktrees: multiple working directories from a single repository34Mastering Git from scratch

Git Worktrees: multiple working directories from a single repository

Work on multiple branches simultaneously without switching directories or stashing. Git worktree lets you have as many working environments as you need, all connected to the same repository.

Docker image optimization: from 1.2 GB to 85 MB12Mastering Docker from Scratch

Docker image optimization: from 1.2 GB to 85 MB

How to go from Docker images that weigh hundreds of MB to production images that contain exactly what they need: minimal base images, distroless, dive, and layer optimization.

BuildKit in Docker: build secrets, dependency caching, and multi-platform images11Mastering Docker from Scratch

BuildKit in Docker: build secrets, dependency caching, and multi-platform images

BuildKit, Docker's modern build engine: pass secrets safely without leaking them into image layers, cache package downloads between builds, and build for ARM and x86 from one machine.

Git hooks: automating what nobody remembers to do33Mastering Git from scratch

Git hooks: automating what nobody remembers to do

Learn how Git hooks work, which ones actually matter, and how to share them with the team using Husky, pre-commit, or lefthook.

Git submodules: repositories inside repositories without losing your mind32Mastering Git from scratch

Git submodules: repositories inside repositories without losing your mind

Learn what Git submodules are, how to add, clone, update, and remove them, and when to avoid creating a tiny .gitmodules-shaped monster.