41554 blogs · [ { "id": "01a0d1ca-6faf-72dc-a60a-c1447343b4cc", "title": "Optimizing Frontend Tables: Why Client-Side Processing Is Not a Strategy – Part 1", "url": "https://sergiolema.dev/2026/09/21/optimizing-frontend-tables-why-client-side-processing-is-not-a-strategy-part-1/", "published_at": "2026-09-21T05:00:00+00:00" }, { "id": "01a0d1ca-6faf-72dc-a60a-c14473d74cec", "title": "Optimizing Your Context Window: How to Stop Burning Tokens in Python Projects", "url": "https://sergiolema.dev/2026/09/14/optimizing-your-context-window-how-to-stop-burning-tokens-in-python-projects/", "published_at": "2026-09-14T05:00:00+00:00" }, { "id": "01a087de-4b3a-70c4-87bf-efada8f0df19", "title": "How to Synchronize Read and Write Databases in a CQRS Architecture", "url": "https://sergiolema.dev/2026/09/07/how-to-synchronize-read-and-write-databases-in-a-cqrs-architecture/", "published_at": "2026-09-07T05:00:00+00:00" }, { "id": "01a087de-4b3a-70c4-87bf-efada9827cf3", "title": "Stop Being an AI Babysitter: How to Use LLMs Without Losing Code Ownership", "url": "https://sergiolema.dev/2026/08/03/stop-being-an-ai-babysitter-how-to-use-llms-without-losing-code-ownership/", "published_at": "2026-08-03T05:00:00+00:00" }, { "id": "01a087de-4b3a-70c4-87bf-efadaa7e1199", "title": "Centralizing Pricing Logic: Stop Scattering Your Business Rules", "url": "https://sergiolema.dev/2026/07/27/centralizing-pricing-logic-stop-scattering-your-business-rules/", "published_at": "2026-07-27T05:00:00+00:00" }, { "id": "01a087de-4b3a-70c4-87bf-efadab79e1a5", "title": "Why AI Won’t Replace Developers Who Lead the Tool", "url": "https://sergiolema.dev/2026/07/20/why-ai-wont-replace-developers-who-lead-the-tool/", "published_at": "2026-07-20T05:00:00+00:00" }, { "id": "01a087de-4b3a-70c4-87bf-efadac4618b1", "title": "Modern State Management in React: Stop Using Redux for Server Data", "url": "https://sergiolema.dev/2026/07/13/modern-state-management-in-react-stop-using-redux-for-server-data/", "published_at": "2026-07-13T05:00:00+00:00" }, { "id": "01a087de-4b3a-70c4-87bf-efadac6dc865", "title": "Structured Logging in Java Microservices: SLF4J, MDC, and Distributed Tracing in Practice", "url": "https://sergiolema.dev/2026/07/06/structured-logging-in-java-microservices/", "published_at": "2026-07-06T07:09:47+00:00" }, { "id": "01a087de-4b3a-70c4-87bf-efadad147347", "title": "Why I Stopped Calling Myself a Full-Stack Developer", "url": "https://sergiolema.dev/2026/06/29/why-i-stopped-calling-myself-a-full-stack-developer/", "published_at": "2026-06-29T05:00:00+00:00" }, { "id": "01a087de-4b3a-70c4-87bf-efadade60587", "title": "The Saga Pattern: Managing Distributed Transactions Without Losing Your Mind", "url": "https://sergiolema.dev/2026/06/22/the-saga-pattern-managing-distributed-transactions-without-losing-your-mind/", "published_at": "2026-06-22T05:00:00+00:00" }, { "id": "01a087de-4b3a-70c4-87bf-efadae8201a2", "title": "Why AI is Replacing Junior Developers and How Mid-Level Engineers Can Survive", "url": "https://sergiolema.dev/2026/06/15/why-ai-is-replacing-junior-developers-and-how-mid-level-engineers-can-survive/", "published_at": "2026-06-15T05:00:00+00:00" }, { "id": "01a087de-4b3a-70c4-87bf-efadaf7fb30d", "title": "Choosing the Right AI Coding Agent: Claude Code vs. GitHub Copilot vs. Gemini Code Assist", "url": "https://sergiolema.dev/2026/06/08/choosing-the-right-ai-coding-agent-claude-code-vs-github-copilot-vs-gemini-code-assist/", "published_at": "2026-06-08T05:00:00+00:00" }, { "id": "01a0caf4-8967-71a1-b2bb-578f4320021d", "title": "Why You Should Never Use Floating Point for Money", "url": "https://sergiolema.dev/2026/06/01/why-you-should-never-use-floating-point-for-money/", "published_at": "2026-06-01T05:00:00+00:00" }, { "id": "01a0caf4-8967-71a1-b2bb-578f43dad231", "title": "Optimizing Search Performance with CQRS: Relational Writes and NoSQL Reads", "url": "https://sergiolema.dev/2026/05/25/optimizing-search-performance-with-cqrs-relational-writes-and-nosql-reads/", "published_at": "2026-05-25T05:00:00+00:00" }, { "id": "01a0caf4-8967-71a1-b2bb-578f43e13558", "title": "Granular Authorization in Spring Boot: Beyond Role Checks", "url": "https://sergiolema.dev/2026/05/18/granular-authorization-in-spring-boot-beyond-role-checks/", "published_at": "2026-05-18T05:00:00+00:00" }, { "id": "01a0caf4-8967-71a1-b2bb-578f443b8be2", "title": "Making Testcontainers Work with Lima on macOS", "url": "https://sergiolema.dev/2026/05/11/testcontainers-lima-macos-configuration/", "published_at": "2026-05-11T05:00:00+00:00" }, { "id": "01a0caf4-8967-71a1-b2bb-578f44ef1675", "title": "Event-Driven Architecture with Spring Boot and AWS EventBridge: Escaping the Distributed Monolith", "url": "https://sergiolema.dev/2026/05/04/event-driven-architecture-with-spring-boot-and-aws-eventbridge-escaping-the-distributed-monolith/", "published_at": "2026-05-04T05:00:00+00:00" }, { "id": "01a0caf4-8967-71a1-b2bb-578f453ec812", "title": "Google Cloud Run Limitations: When Serverless Complexity Outweighs the Cost Savings", "url": "https://sergiolema.dev/2026/04/27/google-cloud-run-limitations-when-serverless-complexity-outweighs-the-cost-savings/", "published_at": "2026-04-27T05:00:00+00:00" }, { "id": "01a0caf4-8967-71a1-b2bb-578f45824f67", "title": "The Command Pattern in Java: Eliminating Fat Service Classes with Commands and Handlers", "url": "https://sergiolema.dev/2026/04/20/the-command-pattern-in-java-eliminating-fat-service-classes-with-commands-and-handlers/", "published_at": "2026-04-20T05:00:00+00:00" }, { "id": "01a0caf4-8967-71a1-b2bb-578f4668b6ec", "title": "Spring Security 6 OAuth 2.1: Replacing Implicit Grant and ROPC with PKCE", "url": "https://sergiolema.dev/2026/04/13/spring-security-6-oauth-2-1-replacing-implicit-grant-and-ropc-with-pkce/", "published_at": "2026-04-13T05:00:00+00:00" }, { "id": "01a0caf4-f665-730d-9253-884f4547c4b6", "title": "Why JavaScript Floating Point Math Breaks Your App (And How to Fix It)", "url": "https://sergiolema.dev/2026/04/06/why-javascript-floating-point-math-breaks-your-app-and-how-to-fix-it/", "published_at": "2026-04-06T05:00:00+00:00" }, { "id": "01a0caf4-f665-730d-9253-884f4552262a", "title": "Fullstack 2026: Building the Modern Spring Boot 3.4 and React 19 Architecture", "url": "https://sergiolema.dev/2026/03/30/fullstack-2026-building-the-modern-spring-boot-3-4-and-react-19-architecture/", "published_at": "2026-03-30T05:00:00+00:00" }, { "id": "01a0caf4-f665-730d-9253-884f45ee2cba", "title": "The JVM Stack: A Developer’s Quick Guide", "url": "https://sergiolema.dev/2026/03/23/the-jvm-stack-a-developers-quick-guide/", "published_at": "2026-03-23T06:00:00+00:00" }, { "id": "01a0caf4-f665-730d-9253-884f46455a0a", "title": "Choosing a Deployment Strategy: A Developer’s Guide to Canary, Blue-Green, and Rolling Updates", "url": "https://sergiolema.dev/2026/03/16/choosing-a-deployment-strategy-a-developers-guide-to-canary-blue-green-and-rolling-updates/", "published_at": "2026-03-16T06:00:00+00:00" }, { "id": "01a0caf4-f665-730d-9253-884f4663ab5e", "title": "Google Sign-In for React Native: The Complete Setup Guide That Actually Works", "url": "https://sergiolema.dev/2026/03/09/google-sign-in-for-react-native-the-complete-setup-guide-that-actually-works/", "published_at": "2026-03-09T06:00:00+00:00" }, { "id": "01a0caf4-f665-730d-9253-884f47319b1a", "title": "Spring @Transactional is Not Magic: The Proxy Trap and Why Your Data Isn’t Safe", "url": "https://sergiolema.dev/2026/03/02/spring-transactional-is-not-magic-the-proxy-trap-and-why-your-data-isnt-safe/", "published_at": "2026-03-02T06:00:00+00:00" }, { "id": "01a0caf4-f665-730d-9253-884f474de28e", "title": "The Microservices Tax: Why Your Distributed Architecture is Failing You", "url": "https://sergiolema.dev/2026/02/23/the-microservices-tax-why-your-distributed-architecture-is-failing-you/", "published_at": "2026-02-23T06:00:00+00:00" }, { "id": "01a0caf4-f665-730d-9253-884f483f5938", "title": "The Singleton Delusion: Why Your Implementation is Probably Broken", "url": "https://sergiolema.dev/2026/02/16/the-singleton-delusion-why-your-implementation-is-probably-broken/", "published_at": "2026-02-16T06:00:00+00:00" }, { "id": "01a0caf4-f665-730d-9253-884f48ef8a91", "title": "How to Use System Design in Your React Project", "url": "https://sergiolema.dev/2025/09/15/how-to-use-system-design-in-your-react-project/", "published_at": "2025-09-15T06:00:00+00:00" }, { "id": "01a0caf4-f665-730d-9253-884f4981973e", "title": "“AWS EC2: Unable to Connect,” a Security Group Checklist for Developers", "url": "https://sergiolema.dev/2025/09/08/aws-ec2-unable-to-connect-a-security-group-checklist-for-developers/", "published_at": "2025-09-08T06:00:00+00:00" }, { "id": "01a0caf5-2230-7378-9d92-2672c991de93", "title": "Why Your Team Needs a Leader, Not Just More Developers", "url": "https://sergiolema.dev/2025/09/01/why-your-team-needs-a-leader-not-just-more-developers/", "published_at": "2025-09-01T06:00:00+00:00" }, { "id": "01a0caf5-2230-7378-9d92-2672c99553f4", "title": "SLF4J, Logback, and Log4j: A Straightforward Guide to Java Logging", "url": "https://sergiolema.dev/2025/08/25/slf4j-logback-and-log4j-a-straightforward-guide-to-java-logging/", "published_at": "2025-08-25T06:00:00+00:00" }, { "id": "01a0caf5-2230-7378-9d92-2672c996f13d", "title": "Flyway vs. Liquibase: Which Database Migration Tool is Right for You?", "url": "https://sergiolema.dev/2025/08/18/flyway-vs-liquibase-which-database-migration-tool-is-right-for-you/", "published_at": "2025-08-18T06:00:00+00:00" }, { "id": "01a0caf5-2230-7378-9d92-2672ca7a5344", "title": "VM or Container? The Developer’s Guide to Choosing the Right Isolation", "url": "https://sergiolema.dev/2025/08/11/vm-or-container-the-developers-guide-to-choosing-the-right-isolation/", "published_at": "2025-08-11T06:00:00+00:00" }, { "id": "01a0caf5-2230-7378-9d92-2672ca816beb", "title": "A Three-Step Framework for Launching Your Project", "url": "https://sergiolema.dev/2025/08/04/a-three-step-framework-for-launching-your-project/", "published_at": "2025-08-04T07:00:00+00:00" }, { "id": "01a0caf5-2230-7378-9d92-2672cb268830", "title": "Centralized Error Handling with React useContext", "url": "https://sergiolema.dev/2025/07/28/centralized-error-handling-with-react-usecontext/", "published_at": "2025-07-28T05:00:00+00:00" }, { "id": "01a0caf5-2230-7378-9d92-2672cb83946a", "title": "The Art of Prompting for a Developer", "url": "https://sergiolema.dev/2025/07/21/the-art-of-prompting-for-a-developer/", "published_at": "2025-07-21T05:00:00+00:00" }, { "id": "01a0caf5-2230-7378-9d92-2672cbd163bb", "title": "The No-Code Backend", "url": "https://sergiolema.dev/2025/07/14/the-no-code-backend/", "published_at": "2025-07-14T05:00:00+00:00" }, { "id": "01a0caf5-2230-7378-9d92-2672cc713acd", "title": "MagicMock with Python", "url": "https://sergiolema.dev/2025/07/08/magicmock-with-python/", "published_at": "2025-07-08T05:00:00+00:00" }, { "id": "01a0caf5-2230-7378-9d92-2672ccb8c5fa", "title": "Layered Architecture in Java: A Practical Guide to Keeping Your Code Clean", "url": "https://sergiolema.dev/2025/06/30/layered-architecture-in-java-a-practical-guide-to-keeping-your-code-clean/", "published_at": "2025-06-30T05:00:00+00:00" }, { "id": "01a0caf5-5150-724f-932b-62bb830c349d", "title": "3 JVM Parameters You Must Know", "url": "https://sergiolema.dev/2025/06/23/3-jvm-parameters-you-must-know/", "published_at": "2025-06-23T05:00:00+00:00" }, { "id": "01a0caf5-5150-724f-932b-62bb83d0580e", "title": "The CEO’s Guide to Choosing the Right Tech Stack", "url": "https://sergiolema.dev/2025/06/16/the-ceos-guide-to-choosing-the-right-tech-stack/", "published_at": "2025-06-16T05:00:00+00:00" }, { "id": "01a0caf5-5150-724f-932b-62bb8419b2ba", "title": "Publish a Python Wheel to GCP Artifact Registry with Poetry", "url": "https://sergiolema.dev/2025/06/09/publish-a-python-wheel-to-gcp-artifact-registry-with-poetry/", "published_at": "2025-06-09T05:00:00+00:00" }, { "id": "01a0caf5-5150-724f-932b-62bb8505d545", "title": "Mastering Data Validation in Java Applications", "url": "https://sergiolema.dev/2025/06/02/mastering-data-validation-in-java-applications/", "published_at": "2025-06-02T05:00:00+00:00" }, { "id": "01a0caf5-5150-724f-932b-62bb855391d1", "title": "3 Signs Your Website Is Slowing Down Your Company’s Growth", "url": "https://sergiolema.dev/2025/05/26/3-signs-your-website-is-slowing-down-your-companys-growth/", "published_at": "2025-05-26T05:00:00+00:00" }, { "id": "01a0caf5-5150-724f-932b-62bb85f7d7b2", "title": "Architecture, DevOps and Security: The 3 Pillars to Grow A Product", "url": "https://sergiolema.dev/2025/05/19/architecture-devops-and-security-the-3-pillars-to-grow-a-product/", "published_at": "2025-05-19T05:00:00+00:00" }, { "id": "01a0caf5-5150-724f-932b-62bb867e1e37", "title": "Python Unittest Mocking Constructors", "url": "https://sergiolema.dev/2025/05/12/python-unittest-mocking-constructors/", "published_at": "2025-05-12T05:00:00+00:00" }, { "id": "01a0caf5-5150-724f-932b-62bb86faa4c3", "title": "Debug Server Performance", "url": "https://sergiolema.dev/2025/05/05/debug-server-performance/", "published_at": "2025-05-05T05:00:00+00:00" }, { "id": "01a0caf5-5150-724f-932b-62bb87752368", "title": "Architecture for my Generative AI Application", "url": "https://sergiolema.dev/2025/04/28/architecture-for-my-generative-ai-application/", "published_at": "2025-04-28T05:00:00+00:00" }, { "id": "01a0caf5-5150-724f-932b-62bb87cd8326", "title": "Advantages and Disadvantages of Alembic", "url": "https://sergiolema.dev/2025/04/21/advantages-and-disadvantages-of-alembic/", "published_at": "2025-04-21T05:00:00+00:00" }, { "id": "01a0caf5-7f8a-7026-8d37-5415ad37ee6e", "title": "Mastering Docker Compose for Local Development and Testing", "url": "https://sergiolema.dev/2025/04/14/mastering-docker-compose-for-local-development-and-testing/", "published_at": "2025-04-14T05:00:00+00:00" }, { "id": "01a0caf5-7f8a-7026-8d37-5415ad6dafca", "title": "Multi-Environment Configuration in Spring Boot", "url": "https://sergiolema.dev/2025/04/07/multi-environment-configuration-in-spring-boot/", "published_at": "2025-04-07T05:00:00+00:00" }, { "id": "01a0caf5-7f8a-7026-8d37-5415ada4a625", "title": "React Performance Tips and Tools", "url": "https://sergiolema.dev/2025/03/31/react-performance-tips-and-tools/", "published_at": "2025-03-31T05:00:00+00:00" }, { "id": "01a0caf5-7f8a-7026-8d37-5415adeb9f72", "title": "I’ve Created a RAG in Two Days", "url": "https://sergiolema.dev/2025/03/24/ive-created-a-rag-in-two-days/", "published_at": "2025-03-24T06:00:00+00:00" }, { "id": "01a0caf5-7f8a-7026-8d37-5415adfa6f50", "title": "Forms in React, with or without React Forms", "url": "https://sergiolema.dev/2025/03/17/forms-in-react-with-or-without-react-forms/", "published_at": "2025-03-17T06:00:00+00:00" }, { "id": "01a0caf5-7f8a-7026-8d37-5415aeded9c1", "title": "Stop & Start GCP SQL Instances at Nights", "url": "https://sergiolema.dev/2025/03/10/stop-start-gcp-sql-instances-at-nights/", "published_at": "2025-03-10T06:00:00+00:00" }, { "id": "01a0caf5-7f8a-7026-8d37-5415af38ba5f", "title": "SQLAlchemy and JSON values", "url": "https://sergiolema.dev/2025/03/03/sqlalchemy-and-json-values/", "published_at": "2025-03-03T06:00:00+00:00" }, { "id": "01a0caf5-7f8a-7026-8d37-5415afa4c0a7", "title": "GCP Cloud Functions with SQL Access", "url": "https://sergiolema.dev/2025/02/24/gcp-cloud-functions-with-sql-access/", "published_at": "2025-02-24T06:00:00+00:00" }, { "id": "01a0caf5-7f8a-7026-8d37-5415b08a695f", "title": "Deploying a Spring Boot Application to AWS ECS Fargate", "url": "https://sergiolema.dev/2025/02/17/deploying-a-spring-boot-application-to-aws-ecs-fargate/", "published_at": "2025-02-17T10:14:16+00:00" }, { "id": "01a0caf5-7f8a-7026-8d37-5415b18597df", "title": "Handle The Errors with Flask Correctly", "url": "https://sergiolema.dev/2025/02/17/handle-the-errors-with-flask-correctly/", "published_at": "2025-02-17T06:00:00+00:00" }, { "id": "01a0caf5-9b65-729b-9872-0a2214dc9db8", "title": "How to Center Content into a DIV with CSS", "url": "https://sergiolema.dev/2025/02/10/how-to-center-content-into-a-div-with-css/", "published_at": "2025-02-10T06:00:00+00:00" }, { "id": "01a0caf5-9b65-729b-9872-0a2215157160", "title": "How to Handle AttributeError: ‘NoneType’ Object Has No Attribute X’ Like a Pro", "url": "https://sergiolema.dev/2025/02/03/how-to-handle-attributeerror-nonetype-object-has-no-attribute-x-like-a-pro/", "published_at": "2025-02-03T06:00:00+00:00" }, { "id": "01a0caf5-9b65-729b-9872-0a221515d601", "title": "Forgot Password Feature with Python and Flask", "url": "https://sergiolema.dev/2025/01/27/forgot-password-feature-with-python-and-flask/", "published_at": "2025-01-27T06:00:00+00:00" }, { "id": "01a0caf5-9b65-729b-9872-0a2215fac823", "title": "Shut Down GCP Instance Groups at Nights", "url": "https://sergiolema.dev/2025/01/20/shut-down-gcp-instance-groups-at-nights/", "published_at": "2025-01-20T06:00:00+00:00" }, { "id": "01a0caf5-9b65-729b-9872-0a22169b81bd", "title": "Create a GCP Instance Group using Docker", "url": "https://sergiolema.dev/2025/01/13/create-a-gcp-instance-group-using-docker/", "published_at": "2025-01-13T06:00:00+00:00" }, { "id": "01a0caf5-9b65-729b-9872-0a2217241aa0", "title": "How to Create A GCP Instance Group Easily", "url": "https://sergiolema.dev/2025/01/06/how-to-create-a-gcp-instance-group-easily/", "published_at": "2025-01-06T06:30:30+00:00" }, { "id": "01a0caf5-9b65-729b-9872-0a221794a161", "title": "Optional vs Null", "url": "https://sergiolema.dev/2024/12/30/optional-vs-null/", "published_at": "2024-12-30T06:00:00+00:00" }, { "id": "01a0caf5-9b65-729b-9872-0a2218188901", "title": "Create a GCP Bucket with a Custom Domain", "url": "https://sergiolema.dev/2024/12/23/create-a-gcp-bucket-with-a-custom-domain/", "published_at": "2024-12-23T06:00:00+00:00" }, { "id": "01a0caf5-9b65-729b-9872-0a22184186b4", "title": "3 Steps to Estimate a Task with Precision", "url": "https://sergiolema.dev/2024/12/16/3-steps-to-estimate-a-task-with-precision/", "published_at": "2024-12-16T06:00:00+00:00" }, { "id": "01a0caf5-9b65-729b-9872-0a221930239c", "title": "How to Create a Singleton with Java Enums", "url": "https://sergiolema.dev/2024/12/09/how-to-create-a-singleton-with-java-enums/", "published_at": "2024-12-09T06:00:00+00:00" }, { "id": "01a0caf5-c099-7325-8c3f-5352022392e2", "title": "How to Solve the CORS error with Flask", "url": "https://sergiolema.dev/2024/12/02/how-to-solve-the-cors-error-with-flask/", "published_at": "2024-12-02T06:00:00+00:00" }, { "id": "01a0caf5-c099-7325-8c3f-5352022d77af", "title": "How to Organize the Packages of your Project?", "url": "https://sergiolema.dev/2024/11/25/how-to-organize-the-packages-of-your-project/", "published_at": "2024-11-25T06:00:00+00:00" }, { "id": "01a0caf5-c099-7325-8c3f-535202f67db9", "title": "Git Reset", "url": "https://sergiolema.dev/2024/11/18/git-reset/", "published_at": "2024-11-18T06:00:00+00:00" }, { "id": "01a0caf5-c099-7325-8c3f-5352034dd2eb", "title": "OAuth2, Which Workflow to Choose?", "url": "https://sergiolema.dev/2024/11/11/oauth2-which-workflow-to-choose/", "published_at": "2024-11-11T06:00:00+00:00" }, { "id": "01a0caf5-c099-7325-8c3f-535203701cd9", "title": "5 Essential Tips for Securing Your Spring Application", "url": "https://sergiolema.dev/2024/11/04/5-essential-tips-for-securing-your-spring-application/", "published_at": "2024-11-04T06:00:00+00:00" }, { "id": "01a0caf5-c099-7325-8c3f-535203e69a83", "title": "Estimate a Task in Points or Time", "url": "https://sergiolema.dev/2024/10/28/estimate-a-task-in-points-or-time/", "published_at": "2024-10-28T06:00:00+00:00" }, { "id": "01a0caf5-c099-7325-8c3f-535204ceb056", "title": "Understand the Most Important DNS Records", "url": "https://sergiolema.dev/2024/10/21/understand-the-most-important-dns-records/", "published_at": "2024-10-21T05:00:00+00:00" }, { "id": "01a0caf5-c099-7325-8c3f-5352051ffc9e", "title": "AWS API Gateway With A Proxy Lambda and Binary Content", "url": "https://sergiolema.dev/2024/10/14/aws-api-gateway-with-a-proxy-lambda-and-binary-content/", "published_at": "2024-10-14T05:00:00+00:00" }, { "id": "01a0caf5-c099-7325-8c3f-5352058a2c81", "title": "Authenticate Your Spring Application With AWS Cognito", "url": "https://sergiolema.dev/2024/10/07/authenticate-your-spring-application-with-aws-cognito/", "published_at": "2024-10-07T05:00:00+00:00" }, { "id": "01a0caf5-c099-7325-8c3f-5352061f0e3b", "title": "5 Tips to Maintain a Code Clean", "url": "https://sergiolema.dev/2024/09/30/5-tips-to-maintain-a-code-clean/", "published_at": "2024-09-30T05:00:00+00:00" }, { "id": "01a0caf5-dfa2-7330-94b4-567cf1c4c823", "title": "How To Create SSH Keys", "url": "https://sergiolema.dev/2024/09/23/how-to-create-ssh-keys/", "published_at": "2024-09-23T05:00:00+00:00" }, { "id": "01a0caf5-dfa2-7330-94b4-567cf1de0c45", "title": "Code Review Tips", "url": "https://sergiolema.dev/2024/09/16/code-review-tips/", "published_at": "2024-09-16T05:00:00+00:00" }, { "id": "01a0caf5-dfa2-7330-94b4-567cf20c3f2f", "title": "Where To Write Documentation", "url": "https://sergiolema.dev/2024/09/09/where-to-write-documentation/", "published_at": "2024-09-09T05:00:00+00:00" }, { "id": "01a0caf5-dfa2-7330-94b4-567cf2736da5", "title": "When It’s Time To Refactor", "url": "https://sergiolema.dev/2024/09/02/when-its-time-to-refactor/", "published_at": "2024-09-02T05:00:00+00:00" }, { "id": "01a0caf5-dfa2-7330-94b4-567cf2962bc2", "title": "Custom domain For Backend And Frontend In AWS", "url": "https://sergiolema.dev/2024/08/26/custom-domain-for-backend-and-frontend-in-aws/", "published_at": "2024-08-26T05:00:00+00:00" }, { "id": "01a0caf5-dfa2-7330-94b4-567cf3797f8c", "title": "The 5 Keys to Effective RESTful API Design", "url": "https://sergiolema.dev/2024/08/19/the-5-keys-to-effective-restful-api-design/", "published_at": "2024-08-19T05:00:00+00:00" }, { "id": "01a0caf5-dfa2-7330-94b4-567cf468468b", "title": "Router and React Application in AWS S3", "url": "https://sergiolema.dev/2024/08/12/router-and-react-application-in-aws-s3/", "published_at": "2024-08-12T05:00:00+00:00" }, { "id": "01a0caf5-dfa2-7330-94b4-567cf50cfa64", "title": "Which HTTP Response Code to Use?", "url": "https://sergiolema.dev/2024/07/29/which-http-response-code-to-use/", "published_at": "2024-07-29T05:00:00+00:00" }, { "id": "01a0caf5-dfa2-7330-94b4-567cf60119e9", "title": "OAuth2 With Google, Spring Boot And Angular", "url": "https://sergiolema.dev/2024/07/22/oauth2-with-google-spring-boot-and-angular/", "published_at": "2024-07-22T05:00:00+00:00" }, { "id": "01a0caf5-dfa2-7330-94b4-567cf684da59", "title": "Which HTTP Verb to Use?", "url": "https://sergiolema.dev/2024/07/15/which-http-verb-to-use/", "published_at": "2024-07-15T05:00:00+00:00" }, { "id": "01a0caf5-fc29-723e-9e52-b90f12b92bbd", "title": "3 Ways To Store Passwords Securely", "url": "https://sergiolema.dev/2024/07/08/3-ways-to-store-passwords-securely/", "published_at": "2024-07-08T05:00:00+00:00" }, { "id": "01a0caf5-fc29-723e-9e52-b90f130c96ea", "title": "Use Pagination to Speed Up Your API", "url": "https://sergiolema.dev/2024/07/01/use-pagination-to-speed-up-your-api/", "published_at": "2024-07-01T05:00:00+00:00" }, { "id": "01a0caf5-fc29-723e-9e52-b90f1331fd8f", "title": "6 Tips To Keep Your Code Clean", "url": "https://sergiolema.dev/2024/06/24/6-tips-to-keep-your-code-clean/", "published_at": "2024-06-24T05:00:00+00:00" }, { "id": "01a0caf5-fc29-723e-9e52-b90f13ba62d9", "title": "5 Productivity Tips To Work From Home", "url": "https://sergiolema.dev/2024/06/17/5-productivity-tips-to-work-from-home/", "published_at": "2024-06-17T05:00:00+00:00" }, { "id": "01a0caf5-fc29-723e-9e52-b90f13fbb34c", "title": "Feature Flags: Deploy Unstable Features", "url": "https://sergiolema.dev/2024/06/10/feature-flags-deploy-unstable-features/", "published_at": "2024-06-10T05:00:00+00:00" }, { "id": "01a0caf5-fc29-723e-9e52-b90f147733fa", "title": "Optimize Your API Using Memoization", "url": "https://sergiolema.dev/2024/06/03/optimize-your-api-using-memoization/", "published_at": "2024-06-03T05:00:00+00:00" }, { "id": "01a0caf5-fc29-723e-9e52-b90f148c74b0", "title": "Security In The Cloud: 7 AWS Best Practices", "url": "https://sergiolema.dev/2024/05/27/security-in-the-cloud-7-aws-best-practices/", "published_at": "2024-05-27T05:00:00+00:00" }, { "id": "01a0caf5-fc29-723e-9e52-b90f154cb1f1", "title": "Deploy A Spring Boot Application in AWS Lambda", "url": "https://sergiolema.dev/2024/05/20/deploy-a-spring-boot-application-in-aws-lambda/", "published_at": "2024-05-20T05:00:00+00:00" }, { "id": "01a0caf5-fc29-723e-9e52-b90f15b4dc4b", "title": "What Does My CI/CD Pipelines Look Like?", "url": "https://sergiolema.dev/2024/05/13/what-does-my-ci-cd-pipelines-look-like/", "published_at": "2024-05-13T05:00:00+00:00" }, { "id": "01a0caf5-fc29-723e-9e52-b90f15f67515", "title": "How I use Gitflow in real-life projects with GitlabCI", "url": "https://sergiolema.dev/2024/05/06/how-i-use-gitflow-in-real-life-projects-with-gitlabci/", "published_at": "2024-05-06T05:00:00+00:00" } ] posts Claim your blog
Back to sergiolema.dev
Blog · corpus.blog/blogs/sergiolema.dev/posts

sergiolema.dev

sergiolema.dev

2026

2025

2024