Descobrirp de Podcast
p de Podcast
Autor: Marcio Frayze David e Julianno Martins Silva
Inscrito: 15Reproduzido: 99Inscreva-se
compartilhar
© Marcio Frayze David e Julianno Martins Silva
Descrição
Podcast sobre arquitetura de software, boas práticas de programação e outros temas relacionados a desenvolvimento de software.
// p de Podcast
var p;
// p de Podcast
var p;
42 Episodes
Reverse
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
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/
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
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
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
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
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/
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
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
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/
É 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
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
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?
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
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
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
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
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
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
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
Comentários
Top Podcasts
The Best New Comedy Podcast Right Now – June 2024The Best News Podcast Right Now – June 2024The Best New Business Podcast Right Now – June 2024The Best New Sports Podcast Right Now – June 2024The Best New True Crime Podcast Right Now – June 2024The Best New Joe Rogan Experience Podcast Right Now – June 20The Best New Dan Bongino Show Podcast Right Now – June 20The Best New Mark Levin Podcast – June 2024
United States