Autor: rafael

  • Introducing value objects in PHP

    Introducing value objects in PHP Domain-Driven Design (DDD) is a software design philosophy with one crucial concept: the structure and language of software code (class names, class methods, class variables) should match the business domain. To attend to this concept, DDD presents Value Objects, which, in practice, represents an object similar to a primitive type […]

  • PHP 8.1: more on new in initializers

    I could not agree more with Brent when he says concerning the "new in initializers"[1] feature: PHP 8.1 adds a feature that might seem like a small detail, but one that I think will have a significant day-by-day impact on many people. When I see this new feature, lots of places that use Dependency Injection[3] […]

  • Tropeçando 104

    CASL CASL (pronounced /ˈkæsəl/, like castle) is an isomorphic authorization JavaScript library which restricts what resources a given client is allowed to access. It’s designed to be incrementally adoptable and can easily scale between a simple claim based and fully featured subject and attribute based authorization. It makes it easy to manage and share permissions […]

  • Tropeçando 103

    What is Domain-Driven Design (DDD) A definition of DDD as a software design discipline How to refactor without overtime and missed deadlines A lot of software engineers, including myself, are passionate about code quality. This striving for a well-shaped codebase, while getting things done could cost one quite a few hours and nerves, though. I’m […]

  • Tropeçando 102

    OWASP TOP 10 Each year, OWASP (the Open Web Application Security Project) publishes the top ten security vulnerabilities. It represents a broad consensus about the most critical security risks to web applications. Click through on the lessons below to learn more about how to protect against each security risk. Your Product Owner Is Not Your […]

  • PHP Memory Usage and Performance Improvements Tips

    Memory usage and performance improvements make everybody happier, from end-user to cloud and infrastructure engineers. And they are all right, and this is an optimization that we should try to achieve as much as possible. I am also keeping this page for a reference to my future self because we cannot rely too much on […]

  • Tropeçando 101

    Minimal safe Bash script template Bash scripts. Almost anyone needs to write one sooner or later. Almost no one says “yeah, I love writing them”. And that’s why almost everyone is putting low attention while writing them. I won’t try to make you a Bash expert (since I’m not a one either), but I will […]

  • Tropeçando 100

    How Exception to the Convention Does More Harm than Good We have a project, and to make it easier, we use specific standards. E.g., we use spaces in every file. But sometimes, we get to a situation when these standards are stressful. We don’t understand them and just want them to bend over. How does […]

  • Tropeçando 99

    Diataxis A SYSTEMATIC FRAMEWORK FOR TECHNICAL DOCUMENTATION AUTHORING. The Diátaxis framework aims to solve the problem of structure in technical documentation. It adopts a systematic approach to understanding the needs of documentation users in their cycle of interaction with a product. Conventional Commits The Conventional Commits specification is a lightweight convention on top of commit […]

  • Tropeçando 98

    (Operating Lambda: Debugging code – Part 1)[https://aws.amazon.com/blogs/compute/operating-lambda-debugging-code-part-1/] (Operating Lambda: Debugging configurations – Part 2)[https://aws.amazon.com/blogs/compute/operating-lambda-debugging-configurations-part-2/] (Operating Lambda: Debugging configurations – Part 3)[https://aws.amazon.com/blogs/compute/operating-lambda-debugging-integrations-part-3/ In the Operating Lambda series, I cover important topics for developers, architects, and systems administrators who are managing AWS Lambda-based applications. This three-part series discusses core debugging concepts for Lambda-based applications. (Those pesky pull […]