macabeus
banner
macabeus.bsky.social
macabeus
@macabeus.bsky.social
Se alguém quiser acompanhar a comunidade
dddbrasil.com.br
Domain-Driven Design Brasil – Comunidade brasileira relacionada a Domain-Driven Design
dddbrasil.com.br
November 24, 2025 at 9:37 PM
E isso é tudo.

Só queria uma desculpa para falar brevemente de AOP e peguei o tweet de brincadeira do @samsantosb.bsky.social para isso 😜

Espero que essa curiosidade tenha sido divertida para ti, e se ver alguém vendendo AOP como solução mágica, já tem mais insumos para questionar
November 20, 2025 at 7:07 PM
O cursor estava na linha 10 e foi para a 25 devido a uma instrução que estava na linha 20.
Confuso? Sim. E esse é o problema de ter controle de fluxo implícito, como o favorecido com AOP.

Esse é um problema parecido se você abusar de middlewares btw
November 20, 2025 at 7:07 PM
Esse exemplo no artigo da Wikipedia resume bem o problema.

É como se em AOP você passasse a usar um "COME FROM", que é o contrário de um "GOTO".

Enquanto em GOTO você *explicitamente* move para uma outra linha, um COME FROM você move *implicitamente* para outra linha.
November 20, 2025 at 7:07 PM
Por exemplo, para adicionar os trackers na classe "Api", basta criar uma nova classe, "TrackersAspect", que se conecta nos pointcuts de "Api".

É parecido com usar decorators e middlewares para tudo... e é exatamente esse o problema!
November 20, 2025 at 7:07 PM
Resumindo, ela oferece diversos pontos de extensão (chamados de pointcut) para adicionar um novo comportamento sem modificar o código original.

Isso garante isolar a lógica central de business de outras responsabilidades, que ficariam nos respectivos módulos, chamados de Aspect
November 20, 2025 at 7:07 PM
...que visa resolver exatamente isso, mas na prática apenas piora a legibilidade 🫠

Ainda assim, acho que vale mencionar as tentativas para ter mais insumos quando for refletir sobre o mesmo assunto.

Mas afinal, o que é Programação Orientada a Aspectos (AOP)?
November 20, 2025 at 7:07 PM
Já se quiser assistir algo mais recente e ter um panorama, tem esse vídeo contando sobre
www.youtube.com/watch?v=ywWw...
Recompilation: An Incredible New Way to Keep N64 Games Alive
YouTube video by Nerrel
www.youtube.com
November 17, 2025 at 11:53 PM
Se quiser ter um contexto mais histórico, pode ler a postagem do Andrew Kelley (criador do Zig!) falando disso 12 anos atrás (!)

Até onde pesquisei, é a primeira publicação escrita sobre o assunto no contexto de retro games.
andrewkelley.me/post/jamulat...
Statically Recompiling NES Games into Native Executables with LLVM and Go - Andrew Kelley
andrewkelley.me
November 17, 2025 at 11:53 PM
Além disso, permite rodar mods!
Abaixo, vídeo de 2 anos atrás de jogos de N64 com ray tracing, object motion blur, widescreen, e mais.

Em projetos de descompilação, recompilação também pode ser útil.
Exemplo: se costuma usar a versão recompilada do compilador IDO para compilar jogos de N64
November 17, 2025 at 11:53 PM
Se você quiser saber mais do contexto disso, leia no blog do Anchises

anchisesbr.blogspot.com/2025/11/segu...
[Segurança] Novidades sobre a H2HC. Ou não? (com memes)
Hoje, domingo 16/11, a galera de cibersegurança acordou com os grupos de whatsapp e telegram bombando! Afinal... finalmente  a H2HC foi conf...
anchisesbr.blogspot.com
November 16, 2025 at 5:31 PM
Porém, você consegue ler e fazer atribuições se os valores do enum forem numéricos.

Isso é exposto para facilitar operações com bitflags.

Então, o enum do TS é opaco até certo ponto... 😅
Se você tinha um enum numérico e alterou para ser de string, pode quebrar os consumidores
November 13, 2025 at 6:47 PM