Skip to main content
p de Podcast

p de Podcast

By 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;
Listen on
Where to listen
Apple Podcasts Logo

Apple Podcasts

Breaker Logo

Breaker

Castbox Logo

Castbox

Google Podcasts Logo

Google Podcasts

Overcast Logo

Overcast

Pocket Casts Logo

Pocket Casts

RadioPublic Logo

RadioPublic

Spotify Logo

Spotify

Pattern Matching for instanceof
Pattern Matching no Java? Neste episódio falamos sobre Pattern Matching e como esse recurso foi introduzido no Java. Participantes: Marcio Frayze David   marcio@segunda.tech   https://twitter.com/marciofrayze   https://segunda.tech   https://masto.donte.com.br/web/accounts/138458   https://linkedin.com/in/marcio-frayze   https://dev.to/marciofrayze   Julianno Martins Silva juliannoms@gmail.com https://twitter.com/juliannoms https://linkedin.com/in/juliannoms Links: https://openjdk.java.net/jeps/394 https://guide.elm-lang.org/types/pattern_matching.html https://docs.vavr.io/#_pattern_matching
31:54
April 30, 2021
Feedback
O  que seus testes automatizados dizem? E as entregas frequentes? Como as retrospectivas podem conduzir pra melhoria contínua? Neste episódio falamos sobre feedback, um dos valores da Programação Extrema. Participantes: Marcio Frayze David marcio@segunda.tech https://twitter.com/marciofrayze https://segunda.tech https://masto.donte.com.br/web/accounts/138458 https://linkedin.com/in/marcio-frayze https://dev.to/marciofrayze Julianno Martins Silva juliannoms@gmail.com https://twitter.com/juliannoms https://linkedin.com/in/juliannoms Links: http://www.extremeprogramming.org/values.html https://explainagile.com/agile/xp-extreme-programming/values/feedback/ https://wiki.c2.com/?ExtremeValues https://www.desenvolvimentoagil.com.br/xp/valores/feedbœack Livros https://www.goodreads.com/book/show/67833.Extreme_Programming_Explained https://www.goodreads.com/book/show/67839.Planning_Extreme_Programming https://www.goodreads.com/book/show/9737235-extreme-programming
49:03
April 23, 2021
Teste A/B (e porquê isso importa)
Como verificar o impacto de uma mudança? Teste em produção? Conhece o teste A/B? Sabe quais são os objetivos de um teste A/B? Participantes: Keyle Barbosa de Menezes   keyleb@gmail.com   https://www.linkedin.com/in/keylebarbosa/ Pedro Ivo Oliveira da Cruz   pedriv@gmail.com   eu só trabalho aqui   Marco Porcho maporcho@gmail.com   https://medium.com/@porcho   https://www.linkedin.com/in/marco-porcho   Marcio Frayze David   marcio@segunda.tech   https://twitter.com/marciofrayze   https://segunda.tech   https://masto.donte.com.br/web/accounts/138458   https://linkedin.com/in/marcio-frayze   https://dev.to/marciofrayze Julianno Martins Silva   juliannoms@gmail.com   https://twitter.com/juliannoms   https://linkedin.com/in/juliannoms Links: Webinar: A/B Testing 101 by Booking.com Product Manager, Saurav Roy - https://www.youtube.com/watch?v=di2e1QpKYUY   Estudo de caso de testes A/B aplicados no app Secret Escapes - https://www.optimizely.com/customers/secret-escapes/   How to Run A/B Tests Successfully by Vice Media Product Manager - https://www.youtube.com/watch?v=NsiDwGntnpA&t   Curso de Teste ab da Udacity: https://www.udacity.com/course/ab-testing--ud257   Testes ab x Testes Multivariados: https://www.nngroup.com/videos/a-b-testing-vs-multivariate/  
01:08:10
April 16, 2021
Coragem
Quanto de coragem é preciso no desenvolvimento de software? Como seu time encara os problemas e medos do dia a dia? Neste episódio falamos de Coragem, um  dos valores da Programação Extrema. Participantes: Marcio Frayze David marcio@segunda.tech https://twitter.com/marciofrayze https://segunda.tech https://masto.donte.com.br/web/accounts/138458 https://linkedin.com/in/marcio-frayze Julianno Martins Silva juliannoms@gmail.com https://twitter.com/juliannoms https://linkedin.com/in/juliannoms Links: https://www.desenvolvimentoagil.com.br/xp/valores/coragem https://en.wikipedia.org/wiki/Extreme_programming http://www.extremeprogramming.org/rules/collective.html Livros sobre Extreme Programming: Extreme Programming Explained:  https://www.goodreads.com/book/show/67833.Extreme_Programming_Explained Planning Extreme Programming:  https://www.goodreads.com/book/show/67839.Planning_Extreme_Programming Extreme Programming:  https://www.goodreads.com/book/show/9737235-extreme-programming
46:38
April 9, 2021
Generics mais avançado: Invariância, Covariância, Contravariância e Bivariância
Conhece Up/Down Casting? Conceitos de Produtor e Consumidor em Generics? Como  acontece a hierarquia de tipos com tipos genéricos? Play no p de  Podcast. Participantes:   Marcio Frayze David   marcio@segunda.tech   https://twitter.com/marciofrayze   https://segunda.tech   https://masto.donte.com.br/web/accounts/138458   https://linkedin.com/in/marcio-frayze   Julianno Martins Silva juliannoms@gmail.com https://twitter.com/juliannoms https://linkedin.com/in/juliannoms Links: Generics no Java: https://docs.oracle.com/javase/8/docs/api/java/util/List.html   https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html   https://docs.oracle.com/javase/tutorial/java/generics/upperBounded.html   https://docs.oracle.com/javase/tutorial/java/generics/lowerBounded.html   https://docs.oracle.com/javase/tutorial/java/generics/unboundedWildcards.html   https://medium.com/omnius/wildcards-in-java-generics-part-1-3-dd2ce5b0e59a   https://medium.com/omnius/covariance-in-java-return-types-part-2-3-a5bf1d9c63fa    https://medium.com/omnius/wildcards-in-java-generics-part-3-3-8f7f5ebea1a5   Generics no Kotlin:   https://medium.com/android-dev-br/generics-e-variance-em-kotlin-in-out-t-ca5ca07c9fc5   Generics no .NET:   https://docs.microsoft.com/en-us/dotnet/standard/generics/covariance-and-contravariance   https://docs.microsoft.com/pt-br/dotnet/standard/generics/covariance-and-contravariance  
41:49
April 2, 2021
Generics Básico
Conhece "type parameter"? Utiliza no reuso de código? Em quais cenários? Neste episódio falamos sobre o básico de "Generics". Play no p de Podcast! Participantes Marcio Frayze David   marcio@segunda.tech   https://twitter.com/marciofrayze   https://segunda.tech   https://masto.donte.com.br/web/accounts/138458   https://linkedin.com/in/marcio-frayze   Julianno Martins Silva   juliannoms@gmail.com   https://twitter.com/juliannoms   https://linkedin.com/in/juliannoms   Links: Generics no Java:   https://docs.oracle.com/javase/tutorial/java/generics/why.html     https://www.baeldung.com/java-generics   Generics no .NET:   https://docs.microsoft.com/en-us/dotnet/standard/generics   https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/generics/   Generics no Type Script:   https://www.typescriptlang.org/docs/handbook/2/generics.html   Generics no Python:   https://mypy.readthedocs.io/en/stable/generics.html   Duck Typing:   https://en.wikipedia.org/wiki/Duck_typing   Livro Effective Java (possui um capítulo só sobre Generics):   https://www.goodreads.com/book/show/34927404-effective-java   Generics na linguagem Dart:   https://dart.dev/guides/language/language-tour#generics   Type Erasure (Java):   https://docs.oracle.com/javase/tutorial/java/generics/genTypes.html  
31:19
March 26, 2021
Migrations
Como publicar alterações no BD? Como sincronizar a alteração do BD com a nova versão da aplicação? Já ouviu falar de "Migrations"? Play no p de Podcast! Participantes Marcio Frayze David marcio@segunda.tech https://twitter.com/marciofrayze https://segunda.tech https://masto.donte.com.br/web/accounts/138458 https://linkedin.com/in/marcio-frayze Julianno Martins Silva juliannoms@gmail.com https://twitter.com/juliannoms https://linkedin.com/in/juliannoms Links: Artigo da Amanda Sposito. Migrations in databases with large amount of data: http://blog.plataformatec.com.br/2019/02/migrations-in-databases-with-large-amount-of-data/ Criando íncides no PostgreSQL sem lock: https://www.postgresql.org/docs/9.1/sql-createindex.html Undo no flyway (não recomendado): https://flywaydb.org/documentation/command/undo Definição de Database refactoring: https://en.wikipedia.org/wiki/Database_refactoring Livro Refactoring Databases: https://www.goodreads.com/book/show/161302.Refactoring_Databases Blue-green deployment: https://martinfowler.com/bliki/BlueGreenDeployment.html Evolutionary Database Design, Pramod Sadalage: https://www.martinfowler.com/articles/evodb.html Boas práticas de Migration em Java na Heroku: https://devcenter.heroku.com/articles/running-database-migrations-for-java-apps Ferramentas de migrations: Java: https://flywaydb.org/ https://www.liquibase.org/ .NET: https://docs.microsoft.com/pt-br/ef/core/managing-schemas/migrations/?tabs=dotnet-core-cli Ruby on rails: https://edgeguides.rubyonrails.org/active_record_migrations.html
52:22
March 19, 2021
Vazamento de memória
Sua aplicação fica lenta com o passar do tempo? Recebe exceções por falta de memória? Pode ser "Vazamento de Memória". Aperte o play e confira! Participantes Marcio Frayze David   marcio@segunda.tech   https://twitter.com/marciofrayze   https://segunda.tech   https://masto.donte.com.br/web/accounts/138458   https://linkedin.com/in/marcio-frayze   Julianno Martins Silva   juliannoms@gmail.com   https://twitter.com/juliannoms   https://linkedin.com/in/juliannoms   Links: Analisador on-line de logs do GC (identifica possíveis vazamentos): https://gceasy.io/ Visual VM: https://visualvm.github.io/ Try with resources do Java: https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html Git lab memory leads issues: https://duckduckgo.com/?t=ffab&q=gitlab+memory+leak&atb=v223-1&ia=web Memory Leak no Rust: https://doc.rust-lang.org/book/ch15-06-reference-cycles.html#reference-cycles-can-leak-memory Microsoft 70% dos bugs de segurança: https://www.zdnet.com/article/microsoft-70-percent-of-all-security-bugs-are-memory-safety-issues Podcast do Marcio sobre Livros: Outros artigos: https://martinfowler.com/articles/qa-in-production.html https://deepsource.io/blog/exponential-cost-of-fixing-bugs https://developers.redhat.com/blog/2014/08/14/find-fix-memory-leaks-java-application https://www.toptal.com/java/hunting-memory-leaks-in-java https://www.baeldung.com/java-heap-dump-capture https://www.dynatrace.com/news/blog/the-top-java-memory-problems-part-1/
46:00
March 12, 2021
Diga, não peça (Tell, don’t ask)
Como seus objetos se  relacionam? Conhece o "Tell Don't Ask"? E o "Train Wreck"? O que isso  tem a ver com encapsulamento? Aperte o play e confira! Participantes Marcio Frayze David   marcio@segunda.tech   https://twitter.com/marciofrayze   https://segunda.tech   https://masto.donte.com.br/web/accounts/138458   https://linkedin.com/in/marcio-frayze Julianno Martins Silva   juliannoms@gmail.com   https://twitter.com/juliannoms   https://linkedin.com/in/juliannoms Links: Um dos artigos originais onde o termo é criado (Andy Hunt and Dave Thoma), 2003: http://media.pragprog.com/articles/jan_03_enbug.pdf Definição de Tell don't ask, Martin Fowler: https://www.martinfowler.com/bliki/TellDontAsk.html Vídeo (em inglês) com alguns exemplos: https://www.youtube.com/watch?v=ZJ6bH6Df4K8 Texto do Giovanni Bassi: https://www.lambda3.com.br/2009/07/tell-dont-ask-ou-fique-longe-das-minhas-propriedades/ Exemplo TDA: Statement recebe um printer pra impressão do extrato, e não pega o extrato pra imprimir https://github.com/sandromancuso/Bank-kata/blob/master/src/main/java/org/craftedsw/domain/Statement.java Screencast Sandro Mancuso https://www.youtube.com/watch?v=XHnuMjah6ps https://www.youtube.com/watch?v=gs0rqDdz3ko https://www.youtube.com/watch?v=R9OAt9AOrzI http://www.mockobjects.com/2006/10/tell-dont-ask-and-mock-objects.html?m=1 Artigo sobre TDD que cita TDA https://martinfowler.com/articles/mocksArentStubs.html#DesignStyle Link sobre TrainWreck https://wiki.c2.com/?TrainWreck
40:44
March 5, 2021
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    marcio@segunda.tech    https://twitter.com/marciofrayze   https://segunda.tech   https://masto.donte.com.br/web/accounts/138458   https://linkedin.com/in/marcio-frayze   Julianno Martins Silva    juliannoms@gmail.com    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
56:19
February 26, 2021
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   marcio@segunda.tech   https://twitter.com/marciofrayze   https://segunda.tech   https://masto.donte.com.br/web/accounts/138458   https://linkedin.com/in/marcio-frayze      Julianno Martins Silva   juliannoms@gmail.com   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/
57:12
February 19, 2021
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   marcio@segunda.tech   https://twitter.com/marciofrayze   https://segunda.tech   https://masto.donte.com.br/web/accounts/138458   https://linkedin.com/in/marcio-frayze   Julianno Martins Silva   juliannoms@gmail.com   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
44:43
February 12, 2021
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   marcio@segunda.tech   https://twitter.com/marciofrayze    https://segunda.tech    https://masto.donte.com.br/web/accounts/138458   https://linkedin.com/in/marcio-frayze Julianno Martins Silva   juliannoms@gmail.com   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
47:40
February 5, 2021
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?
47:03
January 29, 2021
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   marcio@segunda.tech   https://twitter.com/marciofrayze https://segunda.tech https://masto.donte.com.br/web/accounts/138458   Julianno Martins Silva   juliannoms@gmail.com   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
55:29
January 22, 2021
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   marcio@segunda.tech   https://twitter.com/marciofrayze   https://segunda.tech   https://masto.donte.com.br/web/accounts/138458      Julianno Martins Silva   juliannoms@gmail.com   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
56:05
January 15, 2021
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   marcio@segunda.tech   https://twitter.com/marciofrayze   https://segunda.tech   https://masto.donte.com.br/web/accounts/138458 Julianno Martins Silva   juliannoms@gmail.com   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
01:00:41
December 25, 2020
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   marcio@segunda.tech   https://twitter.com/marciofrayze   https://segunda.tech   https://masto.donte.com.br/web/accounts/138458 Julianno Martins Silva   juliannoms@gmail.com   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
55:58
December 18, 2020
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   marcio@segunda.tech   https://twitter.com/marciofrayze   https://segunda.tech   https://masto.donte.com.br/web/accounts/138458 Julianno Martins Silva   juliannoms@gmail.com   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
57:30
December 11, 2020
Programação Assíncrona
Já precisou criar Threads? E programação concorrente? Paralelismo? Sabe a diferença? Synchronized: utilizar ou não? No episódio de hoje falamos sobre programação assíncrona. Confira! Participantes Marcio Frayze David    marcio@segunda.tech   https://twitter.com/marciofrayze   https://segunda.tech   https://masto.donte.com.br/web/accounts/138458 Julianno Martins Silva   juliannoms@gmail.com   https://twitter.com/juliannoms Links: RFC5789 (PATCH): https://tools.ietf.org/html/rfc5789 https://www.goodreads.com/book/show/34927404-effective-java https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Promise https://docs.oracle.com/javase/8/docs/api/?java/util/concurrent/atomic/package-summary.html http://luizricardo.org/2014/03/concorrencia-e-objetos-thread-safe/ https://www.baeldung.com/java-volatile https://www.baeldung.com/java-asynchronous-programming https://www.baeldung.com/java-completablefuture https://medium.com/javarevisited/java-concurrency-thread-safety-1aac8ae66d2c https://medium.com/@peterlee2068/concurrency-and-parallelism-in-java-f625bc9b0ca4 https://www.goodreads.com/book/show/34927404-effective-java https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Statements/funcoes_assincronas https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Operators/await
50:41
December 4, 2020
O resto do REST
Qual a forma correta de utilizar o PATCH? Conhece o JSON-patch? É mesmo tão importante a tal idempotência? Como você versiona suas APIs? Confira! Participantes Marcio Frayze David    marcio@segunda.tech   https://twitter.com/marciofrayze   https://segunda.tech   https://masto.donte.com.br/web/accounts/138458      Julianno Martins Silva   juliannoms@gmail.com   https://twitter.com/juliannoms Links: https://medium.com/gin-and-tonic/understanding-idempotency-in-rest-apis-7a5568f41406 https://medium.com/hashmapinc/rest-good-practices-for-api-design-881439796dc9 https://medium.com/@mwaysolutions/10-best-practices-for-better-restful-api-cbe81b06f291 https://developer.mozilla.org/pt-BR/docs/Web/HTTP/Methods/OPTIONS3 https://www.baeldung.com/spring-rest-custom-media-type https://tools.ietf.org/html/rfc6902 https://tools.ietf.org/html/rfc5789 https://williamdurand.fr/2014/02/14/please-do-not-patch-like-an-idiot/ Exemplo de como utilizar Patch no Spring: https://www.baeldung.com/spring-rest-json-patch Exemplo de como utilizar no ASP.NET Core: https://docs.microsoft.com/en-us/aspnet/core/web-api/jsonpatch?view=aspnetcore-5.0 RFC 6902 defines a JSON document structure: https://tools.ietf.org/html/rfc6902 Headers http: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers Cross-Origin Resource Sharing (CORS): https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
01:02:27
November 27, 2020
REST: você (provavelmente) está fazendo isso errado
Qual a diferença de POST e PUT? Quais métodos HTTP são idempotentes? Você utiliza estes conceitos nas suas API Rest?   Participantes   Marcio Frayze David    marcio@segunda.tech   https://twitter.com/marciofrayze   https://segunda.tech   https://masto.donte.com.br/web/accounts/138458   Julianno Martins Silva   juliannoms@gmail.com   https://twitter.com/juliannoms     Links:   https://en.wikipedia.org/wiki/Representational_state_transfer   https://developer.mozilla.org/pt-BR/docs/Web/HTTP/Headers   https://developer.mozilla.org/en-US/docs/Glossary/REST   https://blog.restcase.com/rest-api-error-codes-101/   https://medium.com/hashmapinc/rest-good-practices-for-api-design-881439796dc9   https://medium.com/@mwaysolutions/10-best-practices-for-better-restful-api-cbe81b06f291   https://martinfowler.com/articles/richardsonMaturityModel.html   https://tools.ietf.org/html/rfc7231#section-4.3   Tese de PhD onde tudo começou: https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm   https://restcookbook.com/   https://www.restapitutorial.com/   https://developer.mozilla.org/pt-BR/docs/Web/HTTP/Methods   https://developer.mozilla.org/pt-BR/docs/Glossario/Idempotente#:~:text=Outra%20implica%C3%A7  %C3%A3o%20do%20DELETE%20ser,quebrar%20a%20constante%20de%20idempot%C3%AAncia  
54:42
November 20, 2020
Refatoração: o que é e como fazer
Qual o momento ideal pra uma refatoração? E a técnica, qual usar? Quais motivos para a pratica da refatoração? Confira! Participantes Marcio Frayze David marcio@segunda.tech https://twitter.com/marciofrayze https://segunda.tech https://masto.donte.com.br/web/accounts/138458 Julianno Martins Silva juliannoms@gmail.com https://twitter.com/juliannoms Links: https://www.thoughtworks.com/pt/xconf-br-2019 https://www.thoughtworks.com/pt/xconf-br https://martinfowler.com/books/refactoring.html https://www.infoq.com/podcasts/refactoring-evolutionary-architecture/ https://www.youtube.com/watch?v=_NnElPO5BU0 https://www.goodreads.com/book/show/44919.Working_Effectively_with_Legacy_Code https://www.goodreads.com/book/show/179133.Domain_Driven_Design https://www.goodreads.com/book/show/4268826-growing-object-oriented-software-guided-by-tests https://anchor.fm/pdepodcast/episodes/Pare-de-usar-IFElse-ekgg2s
48:30
November 13, 2020
SRP x CRUD (Bônus)
Seu CRUD/DAO/Repositório respeita o SRP? Confira neste episódio bônus! Participantes Marcio Frayze David marcio@segunda.tech https://twitter.com/marciofrayze https://segunda.tech https://masto.donte.com.br/web/accounts/138458 Julianno Martins Silva juliannoms@gmail.com https://twitter.com/juliannoms Links: https://thorben-janssen.com/composite-repositories-spring-data-jpa/
07:41
November 13, 2020
SRP: O Princípio da Responsabilidade Única
Suas classes  fazem coisas demais? Simples alterações demandam horas de trabalho? Você  segue o Princípio da Responsabilidade Única? Neste episódio falamos  sobre este princípio, o "S" do SOLID. Confira! Participantes Marcio Frayze David marcio@segunda.tech https://segunda.tech https://masto.donte.com.br/web/accounts/138458 https://twitter.com/marciofrayze Julianno Martins Silva juliannoms@gmail.com Links: https://en.wikipedia.org/wiki/Single-responsibility_principle https://en.wikipedia.org/wiki/Law_of_Demeter https://en.wikipedia.org/wiki/Open%E2%80%93closed_principle https://martinfowler.com/bliki/TellDontAsk.html https://blog.cleancoder.com/uncle-bob/2014/05/08/SingleReponsibilityPrinciple.html https://twitter.com/mfeathers/status/359703449920733184 https://speakerdeck.com/tastapod/why-every-element-of-solid-is-wrong?slide=12 https://www.goodreads.com/book/show/44919.Working_Effectively_with_Legacy_Code https://www.goodreads.com/book/show/18043011-clean-architecture
49:05
November 6, 2020
Injeção de dependência e inversão de controle
Você sabe o que é Injeção de Dependência? Suas classes dependem de abstrações? Neste episódio falamos sobre Injeção de Dependência,  o "D" do SOLID. Confira! Participantes Marcio Frayze David marcio@segunda.tech https://segunda.tech https://masto.donte.com.br/web/accounts/138458 https://twitter.com/marciofrayze Julianno Martins Silva juliannoms@gmail.com Links: vavr: https://www.vavr.io/ mpjme: https://m.youtube.com/watch?v=0X1Ns2NRfks Inversion of Control Containers and the Dependency Injection pattern: https://martinfowler.com/articles/injection.html DIP in the Wild: https://www.martinfowler.com/articles/dipInTheWild.html Weld: https://weld.cdi-spec.org/ Spring: https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#beans Quarkus: https://quarkus.io/guides/cdi Arquitetura Hexagonal: https://alistair.cockburn.us/hexagonal-architecture/
55:22
October 30, 2020
Por que usar programação funcional em linguagens OO?
pdepodcast.episodios().stream().map(TocadorPodcast::play); Não entendeu? Aperte o play! Participantes Marcio Frayze David marcio@segunda.tech https://segunda.tech https://masto.donte.com.br/web/accounts/138458 https://twitter.com/marciofrayze Julianno Martins Silva juliannoms@gmail.com Livros: Learn You a Haskell for Great Good: http://learnyouahaskell.com/ Functional Thinking, Neal Ford: https://www.goodreads.com/book/show/18492332-functional-thinking Programming with Types: https://www.manning.com/books/programming-with-types Category Theory for Programmers, Bartosz Milewski: https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/ Links interessantes: Higher Order Functions: https://www.youtube.com/watch?v=BMUiFMZr7vk Javadoc do Optional: https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html Javadoc da api funcional do Java: https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html Biblioteca funcional pro Java: https://www.vavr.io/ Curso de Category Theory: https://www.youtube.com/user/DrBartosz/playlists
01:09:42
October 23, 2020
UX: Por que todo mundo está falando disso?
Já parou pra pensar o que te faz querer tanto um produto? E como deixar o seu produto irresistível? A resposta é UX ou Experiência do  Usuário. Confira no episódio de hoje! Participantes Marcio Frayze David marcio@segunda.tech https://segunda.tech https://masto.donte.com.br/web/accounts/138458 https://twitter.com/marciofrayze Julianno Martins Silva juliannoms@gmail.com Kátia Karen Bergamini de Queiroz karen.queiroz@gmail.com linkedin.com/in/katia-karen-bergamini-86b3941a2 Links interessantes: https://uxdesign.blog.br/don-norman-e-o-termo-ux-6dffb3f8d218 https://www.nngroup.com/ https://medium.com/gympass/my-covid-19-story-user-research-in-complex-times-eb488e6685e7 https://brasil.uxdesign.cc/ux-canvas-mapeando-os-m%C3%BAltiplos-aspectos-da-experi%C3%AAncia-do-usu%C3%A1rio-fd3544ae1bb7 https://www.nngroup.com/ https://brasil.uxdesign.cc/nubank-um-estudo-de-caso-de-ux-writing-7ffb0ce7c195 https://brasil.uxdesign.cc/designops-o-que-%C3%A9-como-surgiu-e-o-que-ele-faz-dentro-de-um-time-de-design-fd7b9711af92 Livros: Experiência de Usuário https://www.goodreads.com/fa/book/show/6761272-design-emocional---por-que-adoramos-ou-detestamos-os-objetos-do-dia-a- https://www.goodreads.com/nl/book/show/40892602-n-o-me-fa-a-pensar Interface de Usuário https://www.goodreads.com/it/book/show/26595449-pensar-com-tipos https://www.goodreads.com/book/show/17979683-a-cor-no-processo-criativo
57:18
October 16, 2020
Integração Contínua não é (apenas) automatizar a build
No  episódio de hoje falamos sobre Integração Contínua e como ela é  importante no desenvolvimento de software. Já automatizou o processo de  build da sua aplicação? Faz testes automatizados? Conhece chaveamento de  funcionalidades? Será mesmo que seu time pratica Integração Contínua?  Confira! Participantes  Marcio Frayze David marcio@segunda.tech https://segunda.tech https://masto.donte.com.br/web/accounts/138458 https://twitter.com/marciofrayze Julianno Martins Silva juliannoms@gmail.com Leonardo Leite https://twitter.com/leonardofl https://www.linkedin.com/in/leonardo-alexandre-ferreira-leite-17194322 https://radarparlamentar.polignu.org/ Links https://trunkbaseddevelopment.com https://www.thoughtworks.com/continuous-integration https://medium.com/@marciofrayze/integra%C3%A7%C3%A3o-cont%C3%ADnua-e-feature-toggles-329055e96de9 https://martinfowler.com/bliki/CanaryRelease.html https://radarparlamentar.polignu.org/ Canal Continuous Delivery do Dave Farley: https://www.youtube.com/channel/UCCfqyGl3nq_V0bo64CjZh8g Palestra do Marcio sobre IC https://m.youtube.com/watch?v=LYtClxC3wcU Effects as data, Richard Feldman: https://www.youtube.com/watch?v=6EdXaWfoslc Livros https://www.goodreads.com/book/show/8686650-continuous-delivery https://www.goodreads.com/book/show/4268826-growing-object-oriented-software-guided-by-tests https://www.goodreads.com/book/show/1654215.The_Art_of_Agile_Development https://www.goodreads.com/book/show/67833.Extreme_Programming_Explained https://www.goodreads.com/book/show/35755822-building-evolutionary-architectures https://www.martinfowler.com/books/refactoringDatabases.html
01:00:05
October 9, 2020
Pare de usar IF/Else
No episódio de hoje discutimos o impacto do uso excessivo de if/else,  switch/case, for, while, na legibilidade e complexidade do código. Quais  as técnicas você utiliza pra diminuir o uso destas estruturas? Conhece o  Padrão Null Object? Guard Clause? Pattern Matching? Aperte o play! Participantes Marcio Frayze David marcio@segunda.tech https://segunda.tech https://masto.donte.com.br/web/accounts/138458 https://twitter.com/marciofrayze Julianno Martins Silva juliannoms@gmail.com Código Haskell para calculo da sequência de Fibonacci fib :: Integer -> Integer fib 0 = 0 fib 1 = 1 fib n = fib (n-1) + fib (n-2) Links: https://m.youtube.com/watch?v=AnZ0uTOerUI https://java-design-patterns.com/patterns/null-object/ https://martinfowler.com/articles/replaceThrowWithNotification.html https://refactoring.com/catalog/replaceNestedConditionalWithGuardClauses.html https://fsharpforfunandprofit.com/posts/expressions-vs-statements/ https://segunda.tech/posts/2020-06-25-oo-design-patterns-serpro/ https://wiki.haskell.org/The_Fibonacci_sequence https://medium.com/better-programming/refactoring-guard-clauses-2ceeaa1a9da https://enterprisecraftsmanship.com/posts/fail-fast-principle/ https://medium.com/coding-blocks/tail-call-optimization-in-jvm-with-kotlin-ebdf90b34ec9 https://medium.com/97-things/enums-are-classes-too-bfdd2030cf1d https://medium.com/@kthsingh.ms/using-enums-as-implementions-for-an-interface-how-and-where-it-can-be-helpful-68a8938306dc https://pt.wikipedia.org/wiki/Complexidade_ciclom%C3%A1tica
48:31
October 2, 2020
ORM amar ou odiar?
No episódio de  hoje discutimos os frameworks de mapeamento objeto-relacional, os ORM.   Os ORM são frameworks para todas as aplicações? São eles os verdadeiros  vilões da baixa performance? Quais facilidades eles trazem? Confira!
54:58
September 25, 2020
Imutabilidade e programação defensiva
Neste  episódio discutimos sobre imutabilidade, programação defensiva e boas práticas de programação. Não  esqueça de enviar sua opinião pra gente! O que gostou? O que poderíamos  melhorar? Envie sua opinião para marcio@segunda.tech. Participantes Marcio Frayze David marcio@segunda.tech https://segunda.tech https://masto.donte.com.br/web/accounts/138458 https://twitter.com/marciofrayze Julianno Martins Silva Links interessantes https://www.martinfowler.com/bliki/ValueObject.html https://www.goodreads.com/book/show/34927404-effective-java https://doc.rust-lang.org/book/ch03-01-variables-and-mutability.html https://dzone.com/articles/how-to-create-an-immutable-class-in-java
01:01:29
September 18, 2020
DevOps
Neste  episódio discutimos a Cultura DevOps, partindo do significado de termos  como Integração Contínua e Entrega Contínua, passando pela automação necessária no desenvolvimento e na  infraestrutura até como começar a praticar em contextos diferentes.  Contamos com a participação especial do Leonardo Leite, pesquisador/doutorando da USP. Não  esqueça de enviar sua opinião pra gente! O que gostou? O que poderíamos  melhorar? Envie sua opinião para marcio@segunda.tech. Participantes Marcio Frayze David marcio@segunda.tech https://segunda.tech https://masto.donte.com.br/web/accounts/138458 https://twitter.com/marciofrayze Julianno Martins Silva Leonardo Leite https://twitter.com/leonardofl https://www.linkedin.com/in/leonardo-alexandre-ferreira-leite-17194322 Links interessantes: Artigos e palestras de Leonardo Leite: http://ccsl.ime.usp.br/devops/2019-12-04/devops-survey-published.html http://ccsl.ime.usp.br/devops/2020-03-17/times-de-plataforma.html http://ccsl.ime.usp.br/devops/2020-04-16/aula-sistemas-complexos.html http://ccsl.ime.usp.br/devops/2020-08-25/times-de-plataforma-tdc-2020.html http://ccsl.ime.usp.br/devops/2020-08-26/devops-e-arquitetura.html Livros: https://www.goodreads.com/book/show/17255186-the-phoenix-project https://www.goodreads.com/book/show/35747076-accelerate https://www.goodreads.com/book/show/113934.The_Goal https://www.goodreads.com/book/show/44135420-team-topologies https://www.goodreads.com/book/show/1069827.Release_It_ Vídeo: Dave Farley: DevOps x Integração Contínua: https://www.youtube.com/watch?v=MnyvgFDh-kw
48:53
September 11, 2020
Código limpo
Neste episódio discutimos sobre quão importante é estudarmos sobre Código limpo. Contamos algumas histórias que já passamos durante nossas carreiras, problemas recorrentes que encontramos nos projetos e outras coisas que são essenciais para o desenvolvimento de sistemas com alta legibilidade e manutenibilidade. Não esqueça de enviar sua  opinião pra gente! O que  gostou? O que poderíamos melhorar? Envie sua  opinião para marcio@segunda.tech. Participantes Marcio Frayze David marcio@segunda.tech https://segunda.tech https://masto.donte.com.br/web/accounts/138458 https://twitter.com/marciofrayze Julianno Martins Silva  Links interessantes: Links: https://www.archunit.org http://fundamentalsofsoftwarearchitecture.com/ https://www.goodreads.com/book/show/3735293-clean-code https://www.goodreads.com/book/show/23215733-the-software-craftsman https://rubberduckdebugging.com/ https://martinfowler.com/books/refactoring.html https://www.martinfowler.com/bliki/TwoHardThings.html https://hilton.org.uk/blog/why-naming-things-is-hard https://blog.cleancoder.com/uncle-bob/2011/09/30/Screaming-Architecture.html https://www.vavr.io/
50:02
September 4, 2020
Frameworks e o seu impacto na arquitetura de software
Neste episódio conversamos um poucos sobre Frameworks. Apresentamos as diferenças entre frameworks e bibliotecas, quando recomendamos usar uma biblioteca ou framework e como se proteger para evitar que o uso de frameworks e bibliotecas impactem a arquitetura do seu sistema. Não esqueça de enviar sua  opinião pra gente! O que  gostou? O que poderíamos melhorar? Enviei sua  opinião para marcio@segunda.tech. Participantes Marcio Frayze David marcio@segunda.tech https://segunda.tech https://masto.donte.com.br/web/accounts/138458 https://twitter.com/marciofrayze Julianno Martins Silva Links interessantes: Arquitetura Hexagonal (Ports and Adapters) https://netflixtechblog.com/ready-for-changes-with-hexagonal-architecture-b315ec967749 https://www.kennethlange.com/ports-and-adapters/ Arquitetura limpa (Clean Architecture): https://www.goodreads.com/book/show/18043011-clean-architecture Exemplo de implementação do DDD que tem um acoplamento com Hibernate nas classes de domínio. https://github.com/citerus/dddsample-core/ Outros links interessantes: https://www.martinfowler.com/bliki/InversionOfControl.html https://en.wikipedia.org/wiki/Inversion_of_control https://en.wikipedia.org/wiki/There_are_known_knowns https://en.wikipedia.org/wiki/Conway%27s_law
43:43
August 28, 2020
TDD: Desenvolvimento Guiado Por Testes
Neste episódio conversamos um poucos sobre Desenvolvimento Guiado Por Testes, incluindo dicas de como incluir esta prática no seu dia a dia. Não esqueça de enviar sua  opinião pra gente! O que  gostou? O que poderíamos melhorar? Enviei sua  opinião para marcio@segunda.tech. Participantes Marcio Frayze David marcio@segunda.tech https://segunda.tech https://masto.donte.com.br/web/accounts/138458 https://twitter.com/marciofrayze Julianno Martins Silva Links interessantes: https://medium.com/@marciofrayze/como-consegui-come%C3%A7ar-a-praticar-tdd-df4aa74d6d9a https://medium.com/@kentbeck_7670/test-commit-revert-870bbd756864 http://www.growing-object-oriented-software.com/ https://www.goodreads.com/book/show/387190.Test_Driven_Development https://www.goodreads.com/book/show/3735293-clean-code https://www.goodreads.com/book/show/18043011-clean-architecture https://martinfowler.com/articles/mocksArentStubs.html https://www.youtube.com/watch?v=_NnElPO5BU0 https://www.goodreads.com/book/show/44919.Working_Effectively_with_Legacy_Code https://8thlight.com/blog/georgina-mcfadyen/2016/06/27/inside-out-tdd-vs-outside-in.html
58:19
August 21, 2020
p de Podcast
Este podcast nasceu para conversarmos sobre arquitetura de software e boas práticas de programação. Mas quem são as pessoas por trás deste projeto? Neste trailer respondemos esta pergunta e apresentamos um pouco mais sobre a proposta deste podcast.
12:19
August 13, 2020
Arquitetura de software no desenvolvimento mobile
Arquitetura de software é importante também para o desenvolvimento de Apps? Quais os problemas que podemos ter quando não nos preocupamos com isso? Quais são as particularidades da Arquitetura de Software no que diz respeito ao desenvolvimento de apps? Muita gente tem falado em "gerenciamento de estado". O que seria isso? Essas e muitas outras perguntas são respondidas neste episódio! Desta vez contamos com a presença de dois convidados especialistas em desenvolvimento de aplicativos móveis. Não esqueça de enviar sua  opinião pra gente! O que  gostou? O que poderíamos melhorar? Enviei sua  opinião para marcio@segunda.tech. Participantes Marcio Frayze David marcio@segunda.tech https://segunda.tech https://masto.donte.com.br/web/accounts/138458 https://twitter.com/marciofrayze Julianno Martins Silva Marco Antonio Porcho Souza https://www.linkedin.com/in/marco-porcho maporcho@gmail.com Abner Silva de Oliveira https://twitter.com/abneroliveira https://github.com/abner https://www.linkedin.com/in/abneroliveira Links interessantes/referências: Overview de gerenciamento de estados, do próprio time do Flutter: https://flutter.dev/docs/development/data-and-backend/state-mgmt Estudo de caso de migração do nativo para Flutter: https://segunda.tech/posts/2020-07-12-flutter-em-producao Guia oficial do Google de arquitetura para Android: https://developer.android.com/jetpack/guide MVC, MVP, VIPER, RIBLET, Clean Swift, etc: https://medium.com/flawless-app-stories/the-only-viable-ios-architecture-c42f7b4c845d SOLID e Clean Code no Flutterando: https://www.youtube.com/watch?v=C8mpy3pwqQc&feature=youtu.be Android Clean Architecture Boilerplate: https://github.com/bufferapp/android-clean-architecture-boilerplate Projeto de exemplo do Android disponibilizado pela equipe de  desenvolvimento do Android sugerindo forma de organizar o projeto mobile  em Android: https://github.com/android/architecture-samples Projeto organizando aplicação móvel em Android levando em conta princípios do Clean Code: https://github.com/android10/Android-CleanArchitecture Similar ao repositório acima, mas com o foco em Kotlin: https://github.com/android10/Android-CleanArchitecture-Kotlin Gerador de nomes de arquiteturas pra iOS (hahahaha): https://iosarchitecture.top
58:30
August 13, 2020
Arquitetura Monolítica versus Microsserviços - parte 3
Neste episódio continuamos conversamos sobre o que é microsserviços e discutimos se é hora ou não de adotar esta técnica.   Não esqueça de enviar sua  opinião pra gente!  O que  gostou? O que poderíamos melhorar? Enviei sua  opinião para marcio@segunda.tech.   Participantes   Marcio Frayze David  https://segunda.tech https://masto.donte.com.br/web/accounts/138458 https://twitter.com/marciofrayze Julianno Martins Silva     Links: Sobre o nubank: https://blog.nubank.com.br/organizar-times-com-foco-no-cliente/ https://medium.com/building-nubank/microservices-at-nubank-an-overview-2ebcb336c64d https://www.fintechfutures.com/2020/07/brazilian-challenger-nubank-acquires-firm-behind-clojure-and-datomic/ Sobre microsserviços: https://martinfowler.com/articles/microservices.html http://fundamentalsofsoftwarearchitecture.com/ https://www.youtube.com/watch?v=wgdBVIX9ifA https://samnewman.io/talks/principles-of-microservices https://www.goodreads.com/work/quotes/41956437-building-microservices-designing-fine-grained-systems
51:36
August 6, 2020
Arquitetura Monolítica versus Microsserviços - parte 2
Neste episódio conversamos sobre o que é microsserviços, suas principais características, vantagens e desvantagens. Não esqueça de enviar sua  opinião pra gente! O que  gostou? O que poderíamos melhorar? Enviei sua  opinião para marcio@segunda.tech. Participantes Marcio Frayze David https://segunda.tech https://masto.donte.com.br/web/accounts/138458 https://twitter.com/marciofrayze Julianno Martins Silva   Links: https://en.wikipedia.org/wiki/Tanenbaum%E2%80%93Torvalds_debate https://rla4.com/ https://martinfowler.com/articles/microservices.html https://www.youtube.com/watch?v=wgdBVIX9ifA https://samnewman.io/talks/principles-of-microservices https://www.goodreads.com/work/quotes/41956437-building-microservices-designing-fine-grained-systems
47:19
July 30, 2020
Arquitetura Monolítica versus Microsserviços - parte 1
Neste episódio conversamos sobre o que é a arquitetura monolítica, suas principais características, vantagens e desvantagens. Não esqueça de enviar sua  opinião pra gente! O que  gostou? O que poderíamos melhorar? Enviei sua  opinião para marcio@segunda.tech. Participantes Marcio Frayze David https://segunda.tech https://masto.donte.com.br/web/accounts/138458 https://twitter.com/marciofrayze Daniel Miranda Julianno Martins Silva Links: http://fundamentalsofsoftwarearchitecture.com/ https://basecamp.com/ https://rubyonrails.org/
34:48
July 23, 2020
O que é Arquitetura de Software?
Neste episódio conversamos sobre o que é arquitetura de software, como ela se relaciona com tecnologia e  decisões de negócio.  Não esqueça de enviar sua opinião pra gente! O que  gostou? O que poderíamos melhorar? Enviei sua opinião para marcio@segunda.tech.   Participantes Marcio Frayze David https://segunda.tech https://masto.donte.com.br/web/accounts/138458 https://twitter.com/marciofrayze Daniel Miranda Julianno Martins Silva Links: http://fundamentalsofsoftwarearchitecture.com http://evolutionaryarchitecture.com https://martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf http://www.leansoftwarearchitecture.com/ https://dddcommunity.org/ https://www.thoughtworks.com/books/building-evolutionary-architectures
01:13:04
July 16, 2020