p de Podcast
p de Podcast
Marcio Frayze David e Julianno Martins Silva
Podcast sobre arquitetura de software, boas práticas de programação e outros temas relacionados a desenvolvimento de software. // p de Podcast var p;
Código como Documentação
Qual a documentação  necessária pro sistema? O código fonte é o suficiente? Conhece 'código  como documentação'? Vem trocar ideia com a gente. Participantes Marcio Frayze David    [email protected]    https://twitter.com/marciofrayze   https://segunda.tech   https://masto.donte.com.br/web/accounts/138458   https://linkedin.com/in/marcio-frayze   Julianno Martins Silva    [email protected]    https://twitter.com/juliannoms https://linkedin.com/in/juliannoms Links: Artigo do Fowler: https://www.martinfowler.com/bliki/CodeAsDocumentation.html Artigos do Jack Reeves recomendados pelo Fowler: https://www.developerdotstar.com/mag/articles/reeves_design.html https://www.developerdotstar.com/mag/articles/reeves_13yearslater.html https://www.developerdotstar.com/mag/articles/reeves_originalletter.html Spring REST Docs: https://spring.io/projects/spring-restdocs Vídeo da Punk do DevOps falando sobre padrões nas mensagens de commit: https://www.youtube.com/watch?v=vXOVl6TxuOE&t=388s Outra convenção para mensagens de commit: https://www.conventionalcommits.org/pt-br/v1.0.0/ Mais uma convenção para mensagens de commit: https://karma-runner.github.io/6.1/dev/git-commit-msg.html Artigo contrário à  nossa ideia, com baixa abstração: https://medium.com/it-dead-inside/self-documenting-code-is-mostly-nonsense-1de5f593810f
Feb 26, 2021
56 min
Programação em Par
Já praticou Programação Pareada? Quais as vantagens desta prática? Existem desvantagens? Neste episódio conversamos sobre Programação em Par com duas convidadas, uma líder de equipe e um desenvolvedor. Participantes   Marcio Frayze David   [email protected]   https://twitter.com/marciofrayze   https://segunda.tech   https://masto.donte.com.br/web/accounts/138458   https://linkedin.com/in/marcio-frayze      Julianno Martins Silva   [email protected]   https://twitter.com/juliannoms      Roberta Monteiro   https://linkedin.com/in/roberta-fernandes-monteiro      Leonardo Leite   https://www.ime.usp.br/~leofl/   https://www.linkedin.com/in/leonardo-alexandre-ferreira-leite-17194322/   https://twitter.com/leonardofl   Links: Definição de Pair Programming https://en.wikipedia.org/wiki/Pair_programming Definição de Mob Programming https://en.wikipedia.org/wiki/Mob_programming Ferramenta Code with me: https://www.jetbrains.com/help/idea/code-with-me.html Palestra To pair or not to pair, thoughtworks https://youtu.be/u_eZ-ae2FY8 Palestra da Pia Nilsson: Knowing Me, Knowing You - Growing Teams to Continuously Deliver https://youtu.be/S92vVAEofes Palestra do Woody Zuill: Mob Programming: A Whole Team Approach https://youtu.be/SHOVVnRB4h0 Palestra I've Pair Programmed for 30,000 Hours: Ask Me Anything! https://www.youtube.com/watch?v=RCDfBioUgts FunFunFunction: Pair Programming a Facebook Messenger Bot https://www.youtube.com/watch?v=zFO1cRr5-qY Artigo The Shame of Pair Programming https://diaryofascrummaster.wordpress.com/2013/09/30/the-shame-of-pair-programming/
Feb 19, 2021
57 min
Estrangulamento de Software
É difícil de evoluir um monólito legado? E convencer a cliente a esperar por uma migração tecnológica? Conhece o padrão de estrangulamento de software? Vem trocar  essa ideia com a gente! Participantes Marcio Frayze David   [email protected]   https://twitter.com/marciofrayze   https://segunda.tech   https://masto.donte.com.br/web/accounts/138458   https://linkedin.com/in/marcio-frayze   Julianno Martins Silva   [email protected]   https://twitter.com/juliannoms Links: Artigo sobre o padrão https://martinfowler.com/bliki/StranglerFigApplication.html Artigo sobre alguns casos de estrangulamento de software https://paulhammant.com/2013/07/14/legacy-application-strangulation-case-studies/ Artigos sobre aplicação do padrão https://www.michielrook.nl/2016/11/strangler-pattern-practice/ https://medium.com/@manisht/strangle-that-monolith-the-strangler-pattern-40c9eeb94402 https://martinfowler.com/articles/break-monolith-into-microservices.html https://microservices.io/microservices/2020/02/21/devnexus.html Vídeo como usar o padrão para modernizar um monólito https://www.youtube.com/watch?v=ncUvq94J2Kg Artigo sobre Dark Launching https://martinfowler.com/bliki/DarkLaunching.html Apresentação sobre melhorar o monólito antes do microsserviços https://pt.slideshare.net/rponte/arquitetura-java-escalando-alm-do-hype
Feb 12, 2021
44 min
Transações Distribuídas
O que é uma transação? E se alterarmos vários recursos? Two-phase commit é mesmo vilão? Qual alternativa temos? Neste episódio  conversamos sobre Transações Distribuídas. Confira! Participantes Marcio Frayze David   [email protected]   https://twitter.com/marciofrayze    https://segunda.tech    https://masto.donte.com.br/web/accounts/138458   https://linkedin.com/in/marcio-frayze Julianno Martins Silva   [email protected]   https://twitter.com/juliannoms    Links:    Artigo My Beef with MSDTC and Two-Phase Commits https://blog.jonathanoliver.com/my-beef-with-msdtc-and-two-phase-commits/ Artigo How I Avoid Two-Phase Commit: https://blog.jonathanoliver.com/how-i-avoid-two-phase-commit/ Acaba falando de saga mas tem uma introdução sobre transações distribuídas (não 2PC) https://medium.com/senior/transa%C3%A7%C3%B5es-distribu%C3%ADdas-em-micro-servi%C3%A7os-70568b378d77 Artigo sobre transações entre microsserviços https://www.baeldung.com/transactions-across-microservices Artigo sobre two-phase commit https://dzone.com/articles/distributed-transactions-with-two-phase-commit-pro Artigo: Sua cafeteria não usa Two-phase commit. https://martinfowler.com/ieeeSoftware/coffeeShop.pdf Wikipedia Open/XA https://en.wikipedia.org/wiki/X/Open_XA Manifesto reativo https://www.reactivemanifesto.org/pt-B
Feb 5, 2021
47 min
ACID, BASE e o Teorema CAP
ACID ou BASE, qual escolher? Conhece o teorema CAP? Neste episódio falamos sobre as propriedades destes dois modelos transacionais. Marcio   https://twitter.com/marciofrayze Julianno https://twitter.com/juliannoms Links: Artigo "ACID vs. BASE: What are the differences?" https://phoenixnap.com/kb/acid-vs-base Teorema CAP: https://en.wikipedia.org/wiki/CAP_theorem https://dzone.com/articles/understanding-the-cap-theorem https://martin.kleppmann.com/2015/05/11/please-stop-calling-databases-cp-or-ap.html https://www.infoq.com/articles/cap-twelve-years-later-how-the-rules-have-changed/ Modelo ACID     Atômico – Cada transação é devidamente realizada ou o processo para e o banco de dados volta para o estado antes do início da transação (rollback), garantindo que todos os dados no banco de dados sejam válidos.     Consistente – Uma transação processada nunca colocará em risco a integridade estrutural do banco de dados. A transação cria um novo estado válido tanto para a estrutura como para os dados ou reverte para o estado anterior.     Isolado – As transações não podem comprometer a integridade de outras transações interagindo com elas enquanto ainda estão em andamento.     Durável – Os dados relacionados à transação concluída persistirão mesmo nos casos de quedas de rede ou energia. Se uma transação falhar, ela não afetará os dados manipulados. Modelo BASE     Basically Available – Em vez de impor consistência imediata, os bancos de dados BASE garantirão a disponibilidade de dados espalhando-os e replicando-os nos nós do cluster de banco de dados.     Soft State – Devido à falta de consistência imediata, os valores dos dados podem ser diferentes dependendo do nó que atender a requisição.     Eventually Consistent – O fato de não impor consistência imediata não significa que ela nunca a alcance. No entanto, até que isso ocorra, as leituras de dados ainda são possíveis (mesmo que não reflitam a realidade mais atual). Teorema CAP     Eric Brewer provou que em um modelo distribuído de armazenamento você só consegue atender simultaneamente duas de três opções:     Consistência (C): Cada leitura recebe a gravação mais recente ou um erro.     Disponibilidade (A): Cada solicitação recebe uma resposta de sucesso, sem a garantia de que contém a gravação mais recente.     Tolerância à partição (P): O sistema continua a operar apesar de um número arbitrário de mensagens sendo retiradas (ou atrasadas) pela rede entre nós.     Na prática você precisará ter suporte a tolerância a partição, então a escolha se resume a: quando ocorre um particionamento na rede, o que você quer priorizar: consistência ou disponibilidade?
Jan 29, 2021
47 min
Software Resiliente
O que acontece quando uma integração falha? Circuit Breaker, Timeout, Fallback, Retry fazem parte do seu vocabulário? Participantes Marcio Frayze David   [email protected]   https://twitter.com/marciofrayze https://segunda.tech https://masto.donte.com.br/web/accounts/138458   Julianno Martins Silva   [email protected]   https://twitter.com/juliannoms   Links: Palestra do Adrian Hornsby sobre padrões de resiliência: https://youtu.be/0KHSr8Fzi5c Artigo "3 key patterns of software resilience": https://buildiumlife.medium.com/3-key-patterns-of-software-resilience-ae01f191a29e Artigo "The Elephant in the Architecture" do Ian Cartwright, Director na ThoughtWorks: https://martinfowler.com/articles/value-architectural-attribute.html Artigo " Resilience design patterns: retry, fallback, timeout, circuit breaker": https://blog.codecentric.de/en/2019/06/resilience-design-patterns-retry-fallback-timeout-circuit-breaker/ Artigo "Let’s talk about Resilience": https://hackernoon.com/lets-talk-about-resilience-97051e14761f Artigo "Fault-Tolerant Clients: Escrevendo Clients e Services Tolerantes a Falhas": https://speakerdeck.com/rponte/fault-tolerant-clients-escrevendo-clients-e-services-tolerantes-a-falhas Circuit Breaker do Spring: https://spring.io/guides/gs/circuit-breaker/ Hipsters sobre black friday https://hipsters.tech/historias-de-black-friday-3-hipsters-228/ Aula Fabio Kon https://www.youtube.com/watch?v=MXA3aI7Er74
Jan 22, 2021
55 min
Monólito Primeiro e Design Simples
Quanto  tempo devemos investir no design de um sistema novo? Esse tempo  desgasta a relação com o cliente? As decisões são acertadas? Qual  arquitetura usar? Microsserviços logo de início? Que tal uma ideia  evolutiva? Nesse episódio falamos de Design Simples. Confira! Participantes Marcio Frayze David   [email protected]   https://twitter.com/marciofrayze   https://segunda.tech   https://masto.donte.com.br/web/accounts/138458      Julianno Martins Silva   [email protected]   https://twitter.com/juliannoms Links: Artigo sobre Yagni (You Aren't Gonna  Need It), do Martin Fowler: https://martinfowler.com/bliki/Yagni.html Artigo sobre Monolith First, do Martin Fowler: https://martinfowler.com/bliki/MonolithFirst.html Livro Extreme Programming Explained: https://www.goodreads.com/book/show/67833.Extreme_Programming_Explained Livro de XP https://www.goodreads.com/book/show/9737235-extreme-programming Artigo Is Design Dead?, do Martin Fowler: https://www.martinfowler.com/articles/designDead.html
Jan 15, 2021
56 min
Retrospectiva 2020
O  que foi bom em 2020? O que poderia ter sido melhor? Já pensou nas ações  e metas para 2021? O p de Podcast fez uma retrospectiva de 2020.  Confira! Participantes Marcio Frayze David   [email protected]   https://twitter.com/marciofrayze   https://segunda.tech   https://masto.donte.com.br/web/accounts/138458 Julianno Martins Silva   [email protected]   https://twitter.com/juliannoms Links: Livro Fundamentals of Software Architecture: https://www.goodreads.com/book/show/44144493-fundamentals-of-software-architecture Framework Quarkus: https://quarkus.io/ Linguagem de programação Kotlin: https://kotlinlang.org/ Framework Flutter: https://flutter.dev/ Progressive web apps: https://web.dev/progressive-web-apps/ Aula sobre OO e Design Patters para alunos da USP: https://segunda.tech/posts/2020-06-25-oo-design-patterns-serpro/ Livro de introdução à linguagem Haskell: http://learnyouahaskell.com/ Livro sobre Comunicação não violenta: https://www.goodreads.com/book/show/26131898-comunica-o-n-o-violenta?from_search=true&from_srp=true&qid=92JChEyI3L&rank=1 Vídeo sobre Comunicação não violenta: https://www.youtube.com/watch?v=AbQTnHirOnw Curso de introdução à Filosofia: https://www.coursera.org/learn/philosophy
Dec 25, 2020
1 hr
Arquitetura Baseada em Serviços (Service-based Architecture)
Cansada dos problemas da arquitetura monolítica? Tá difícil aplicar uma arquitetura em microsserviços? Existe um meio termo viável? Conheça a arquitetura baseada em serviços. Confira! Participantes Marcio Frayze David   [email protected]   https://twitter.com/marciofrayze   https://segunda.tech   https://masto.donte.com.br/web/accounts/138458 Julianno Martins Silva   [email protected]   https://twitter.com/juliannoms Links: Livro fundamentals of software architecture: https://www.thoughtworks.com/books/fundamentals-of-software-architecture Conversa com autores do livro Fundamentals of Software Architecture: https://www.youtube.com/watch?v=fvSZ7gocaxI Neal Ford falando sobre Building Evolutionary Architectures: https://www.youtube.com/watch?v=-Z_Va9iWo0I SBA como uma alternativa ao Microservices: https://www.infoq.com/news/2016/10/service-based-architecture/ Domain Driven Design https://www.goodreads.com/book/show/179133.Domain_Driven_Design
Dec 18, 2020
55 min
Linguagem onipresente
Já se deparou com um termo com dois significados? Os especialistas de domínio parecem falar grego? O nome das classes e  métodos representam o negócio? Conhece a linguagem onipresente? Confira! Participantes Marcio Frayze David   [email protected]   https://twitter.com/marciofrayze   https://segunda.tech   https://masto.donte.com.br/web/accounts/138458 Julianno Martins Silva   [email protected]   https://twitter.com/juliannoms Links: Livro DDD, Eric Evans: https://www.goodreads.com/book/show/179133.Domain_Driven_Design Livro Implementing Domain-Driven Design, Vaughn Vernon: https://www.goodreads.com/book/show/15756865-implementing-domain-driven-design Vídeos do Elemar Junior: https://www.youtube.com/watch?v=HnvmpyUAITs Outros Links: https://medium.com/@felipefreitasbatista/developing-the-ubiquitous-language-1382b720bb8c https://medium.com/ingeniouslysimple/constructing-your-ubiquitous-language-7a57e36e3e82 https://medium.com/@kamil/distilling-business-domains-from-a-ubiquitous-language-b9fc42fe8c28
Dec 11, 2020
57 min
Load more