
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

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

É 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

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 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

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

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

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

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

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
