Entrelinhas do Código cover art

Entrelinhas do Código

Entrelinhas do Código

By: Tiago de Abreu
Listen for free

About this listen

Seu guia para o mundo fascinante do desenvolvimento e dos bancos de dados. No podcast, exploramos as nuances e detalhes que fazem a diferença na programação, discutindo desde as melhores práticas até as tendências mais recentes da tecnologia. Cada episódio traz conversas sobre especialistas da área, dicas valiosas e insights sobre como otimizar seu código e melhorar suas habilidades. Seja você um desenvolvedor iniciante ou um veterano em busca de inspiração, junte-se a nós para desvendar os segredos que estão "entre as linhas" e aprenda a transformar seus projetos em verdadeiras obras-primas.Tiago de Abreu
Episodes
  • 036 - Ouça o Seu Cérebro de Lagarto - The Pragmatic Programmer
    Jul 25 2025

    Neste episódio do Entrelinhas do Código, mergulhamos no fascinante Tópico 37 de "The Pragmatic Programmer": "Ouça o Seu Cérebro de Lagarto"! 🎧✨Descubra como essa parte não consciente do seu cérebro 🧠 atua como um detector de padrões e repositório de "conhecimento tácito" 💡. Ele se comunica conosco não através de palavras, mas por meio de sensações ou sentimentos, como o nervosismo ou a percepção de que algo "parece demasiado trabalho".Os hosts explicam as duas situações clássicas onde essa intuição se manifesta na programação: o "Medo da Página em Branco" 📝 (sinalizando dúvida subjacente ou Síndrome do Impostor) e a sensação de que "O Código que Luta Contra Você" está te exaurindo 😵‍💫 (indicando que a tarefa é "mais difícil do que deveria ser", que o design pode estar errado, ou que você está criando muitos bugs).Aprenda as estratégias pragmáticas para "falar lagarto" e transformar essas sensações em insights produtivos:• Parar e Dar um Tempo 🚶‍♀️💤 para permitir que o cérebro reorganize as ideias.• Externalizar o Problema 🗣️ (com rabiscos, diagramas ou explicando a um "Patinho de Borracha" 🦆) para clarear as suposições.• A poderosa técnica de prototipagem 🛠️, que encoraja a experimentação e o descarte de código, focando nas lições aprendidas 💎.Entenda como ignorar seu "Cérebro de Lagarto" pode levar à "Programação por Coincidência" 🚫, e como ouvir essa intuição se conecta a princípios cruciais como o ETC ("Easier to Change") ✅ (essência de um bom design), a Refatoração ✨, a resolução de "Problemas Impossíveis" 🤯 e o uso de Diários de Engenharia 📔.Não perca os insights que vão te ajudar a cultivar a autoconsciência e a confiança nos seus instintos para "THINK!" 🤔 e moldar o futuro do seu código. 🚀#CerebroDeLagarto #ProgramacaoPragmatica #PragmaticProgrammer #IntuiçãoNaProgramacao #DesenvolvimentoDeSoftware #THINK #CodigoLimpo #SoftwareDesign #Protótipos #RubberDucking #ETC

    Show More Show Less
    8 mins
  • 035 - Quadros-Negros: Concorrência e Comunicação Desacoplada - The Pragmatic Programmer
    Jul 19 2025

    🎧Episódio: A Magia dos Quadros-Negros ✨ (Concorrência e Comunicação Desacoplada)Olá, amantes do código e desvendadores de mistérios da programação! 🚀 Sejam bem-vindos a mais um episódio de Entrelinhas do Código!Neste episódio, vamos mergulhar no fascinante Tópico 36 do livro "The Pragmatic Programmer": os Quadros-Negros (Blackboards) [podcast: 37, 38; 1, 7]. Prepare-se para descobrir um conceito que, embora não seja novo, é incrivelmente relevante para a programação moderna [podcast: 37, 42].O Quadro-Negro é essencialmente uma combinação inteligente de um armazenamento de objetos e um broker de publicação/assinatura [podcast: 38; 2, 12, 27]. Pense nele como o mural de recados superinteligente do seu sistema, um local central onde diferentes partes do seu software podem depositar e consumir informações, sem precisar conhecer a existência uma da outra [podcast: 38; 2, 27]. É a mágica da comunicação indireta! 🤫Para entender melhor, o livro usa uma analogia brilhante: imagine uma equipe de detetives tentando resolver um assassinato 🕵️‍♀️ [podcast: 39; 3, 13, 28]. A inspetora chefe inicia o "Quadro-Negro" com a grande pergunta: "H. Dumpty: Acidente ou Assassinato?" [podcast: 39; 3, 13, 28]. Cada detetive, agindo como um agente independente, posta suas descobertas – seja um pedaço de casca de ovo 🥚, um depoimento de testemunha ou uma evidência forense 🔍 [podcast: 40; 4, 13, 28]. O mais importante é que ninguém precisa saber quem está postando o quê; eles confiam que a informação está lá, ativando suas próprias "regras" e contribuindo para a solução do mistério [podcast: 40; 4, 13, 29].Os benefícios são poderosos 💪:• Desacoplamento Espetacular: Componentes não precisam saber da existência uns dos outros, interagindo apenas com o mural. Isso significa menos dor de cabeça na hora de mudar e maior resiliência à mudança [podcast: 39; 6, 20, 29].• Concorrência Simplificada: Adeus, problemas de acesso a memória compartilhada! Quadros-Negros permitem que diferentes partes do código trabalhem "ao mesmo tempo" sem pisar nos calos umas das outras, porque a comunicação é via mensagens, não via estado direto compartilhado [podcast: 43; 7, 12, 30, 31].• Quebra do Acoplamento Temporal: A ordem dos eventos não precisa ser superrígida. Se uma informação chega atrasada, o sistema ainda pode processá-la quando ela aparecer, pois a ação é disparada pela disponibilidade da informação, não pela sua ordem de chegada [podcast: 43; 7, 19, 30]. Isso é ótimo para o "mundo real" imprevisível 🌍.Historicamente, os Quadros-Negros surgiram em aplicações de inteligência artificial como reconhecimento de fala [podcast: 41; 8, 14, 32]. Sistemas como Linda, JavaSpaces e T Spaces foram pioneiros [podcast: 41; 8, 15, 32]. Embora não "decolaram" de imediato, talvez porque o mundo ainda não estivesse pronto para tanta coordenação assíncrona [podcast: 42; 8, 15, 32].Mas o tempo é um senhor sábio! 🕰️ Hoje, eles estão por toda parte, camuflados. Quando você usa microserviços que se comunicam através de sistemas de mensageria como Kafka ou NATS, você está, de certa forma, usando um Quadro-Negro gigante! 🌐 Esses sistemas modernos oferecem persistência e a capacidade de buscar mensagens por padrões, tornando-os ideais para a "dança" de atores (Tópico 35) [podcast: 42; 8, 16, 33].Claro, nem tudo são flores 🌸. Esses sistemas podem ser "mais difíceis de raciocinar" porque as interações são tão indiretas que você não vê o fluxo claro de chamadas de função [podcast: 44; 9, 17, 34]. Além disso, com mais "partes móveis", a "implantação e gerenciamento" podem ser "mais problemáticos"

    Show More Show Less
    9 mins
  • 034 - Atores e Processos, concorrência sem Estado Compartilhado - The Pragmatic Programmer
    Jul 18 2025

    🎧 Entrelinhas do Código: Desvendando Atores e Processos – Concorrência Sem Dores de Cabeça! 🚀Prepare-se para uma imersão profunda no Tópico 35 do aclamado "The Pragmatic Programmer": "Atores e Processos"! Em um cenário de software onde concorrência e paralelismo são mais do que tendências – são requisitos básicos – este episódio é seu guia para construir sistemas que se adaptam e lidam com responsabilidade.Diga adeus às abordagens tradicionais de concorrência baseadas em estado compartilhado, que são uma fonte constante de bugs e dores de cabeça! 🤕 Vamos desvendar a poderosa filosofia do Modelo de Atores como uma alternativa mais gerenciável.Neste episódio, você descobrirá que:• Cada ator é um processador virtual independente 🤖, com seu próprio estado local e privado, e uma caixa de correio para mensagens.• A comunicação é exclusivamente por mensagens unidirecionais e assíncronas 📩, eliminando a necessidade de chamadas diretas ou inspeção do estado interno de outros atores.• Um ator processa cada mensagem até a conclusão, uma por vez e sem interrupções 🎯 – o que chamamos de processamento sequencial.• A grande sacada: atores não compartilham nada! 🎉 Isso simplifica a concorrência ao extremo, pois você não precisa escrever código explícito para gerenciá-la, já que não há estado compartilhado para proteger.Aprenda como essa abordagem descentralizada promove desacoplamento inerente (Tópico 28) 🔗, facilita a escalabilidade em diferentes infraestruturas (um núcleo, múltiplos núcleos ou múltiplas máquinas em rede), e constrói sistemas de alta resiliência e tolerância a falhas.Exploraremos o exemplo notável de Erlang 🧡, um pioneiro do modelo de atores, que demonstra milhões de "processos" leves comunicando-se por mensagens, com supervisão para reiniciar falhas e a capacidade de hot-code loading para atualizações sem parar o sistema.Usamos a prática analogia do restaurante 🍽️ com Cliente, Garçom e Balcão de Tortas para ilustrar a comunicação assíncrona e o estado local em ação.E não paramos por aí! Conectamos o Modelo de Atores com outros pilares pragmáticos:• Programação Transformacional (Tópico 30): Atores como etapas de um pipeline de dados 🔄.• Shared State Is Incorrect State (Tópico 34): Atores como a solução definitiva para os perigos do estado compartilhado 🚫.• Quadros Negros (Tópico 36): Como sistemas de mensageria modernos podem suportar a concorrência e o desacoplamento dos atores ✍️.Preparamos você para os desafios propostos pelo livro: reescrever código com exclusão mútua usando atores e estender o exemplo do restaurante para "torta à moda" 🍦.Sintonize em "Entrelinhas do Código" para transformar sua mentalidade de programação e aprender a construir sistemas que podem "dobrar, mas não quebrar"! 💪Aperte o play e eleve o nível do seu desenvolvimento! 🚀

    Show More Show Less
    8 mins
No reviews yet
In the spirit of reconciliation, Audible acknowledges the Traditional Custodians of country throughout Australia and their connections to land, sea and community. We pay our respect to their elders past and present and extend that respect to all Aboriginal and Torres Strait Islander peoples today.