├── .gitignore ├── pog └── readme.md ├── git ├── git-config-win.md ├── git-config-linux.md ├── git-mergetool-kdiff3.md ├── git-flow.md └── readme.md ├── cqs-cqrs ├── cqs.md ├── readme.md └── cqrs.md ├── poo └── readme.md ├── porto-architecture └── readme.md ├── object-calisthenics └── readme.md ├── grasp └── readme.md ├── cupid └── readme.md ├── c4model └── readme.md ├── LICENSE ├── vertical-slice-architecture └── readme.md ├── adr └── readme.md ├── aop └── readme.md ├── regex └── readme.md ├── clean-code └── readme.md ├── test └── readme.md ├── graphql └── readme.md ├── http └── readme.md ├── soap └── readme.md ├── orm └── readme.md ├── mvvm └── readme.md ├── sql └── readme.md ├── event-sourcing └── readme.md ├── cache └── readme.md ├── docker └── readme.md ├── mensageria └── readme.md ├── gc └── readme.md ├── rpc-grpc └── readme.md ├── hexagonal-architecture └── readme.md ├── mvc-mvp └── readme.md ├── event-driven-architecture └── readme.md ├── ddd └── readme.md ├── onion-architecture └── readme.md ├── dry-kiss-yagni └── readme.md ├── other-patterns └── readme.md ├── multitenancy └── readme.md ├── microservices └── readme.md ├── rest └── readme.md ├── solid └── readme.md ├── clean-architecture └── readme.md ├── design-patterns └── readme.md ├── README.md ├── ioc-di-sl └── readme.md └── books └── readme.md /.gitignore: -------------------------------------------------------------------------------- 1 | _/ 2 | 3 | -------------------------------------------------------------------------------- /pog/readme.md: -------------------------------------------------------------------------------- 1 | ## POG - Programação orientada a gambiarras 2 | 3 | É importante conhecer para evitar, ou para salvar o dia :P 4 | 5 | ### Links 6 | https://www.livropog.com.br/ 7 | 8 | ### Na pog geralmente seguimos a xgh 9 | https://gohorseprocess.com.br/extreme-go-horse-xgh/ 10 | -------------------------------------------------------------------------------- /git/git-config-win.md: -------------------------------------------------------------------------------- 1 | 2 | ### config user name 3 | ``` 4 | git config --global user.name "user" 5 | ``` 6 | 7 | ### config email 8 | ``` 9 | git config --global user.email user@email.com 10 | ``` 11 | 12 | ### gerar chave ssh 13 | ``` 14 | ssh-keygen -t rsa -b 4096 -C "user@email.com" 15 | ``` 16 | 17 | ### copia chave para o clipboard 18 | ``` 19 | clip < %USERPROFILE%\.ssh\id_rsa.pub 20 | ``` 21 | 22 | ### adicionar no github a chave ssh 23 | ``` 24 | Em "Settings" >> "SSH and GPG keys", clicar em "New SSH key" 25 | ``` 26 | -------------------------------------------------------------------------------- /git/git-config-linux.md: -------------------------------------------------------------------------------- 1 | 2 | ### config user name 3 | ``` 4 | git config --global user.name "user" 5 | ``` 6 | 7 | ### config email 8 | ``` 9 | git config --global user.email user@email.com 10 | ``` 11 | 12 | ### gerar chave ssh 13 | ``` 14 | ssh-keygen -t rsa -b 4096 -C "user@email.com" 15 | ``` 16 | 17 | ### copia chave para o clipboard 18 | ``` 19 | sudo apt install xclip 20 | xclip -sel c < ~/.ssh/id_rsa.pub 21 | ``` 22 | 23 | ### adicionar no github a chave ssh 24 | ``` 25 | Em "Settings" >> "SSH and GPG keys", clicar em "New SSH key" 26 | ``` 27 | -------------------------------------------------------------------------------- /git/git-mergetool-kdiff3.md: -------------------------------------------------------------------------------- 1 | 2 | https://kdiff3.sourceforge.net/ 3 | 4 | Merge tool 5 | ``` 6 | git config --global merge.tool kdiff3 7 | git config --global mergetool.kdiff3.path "C:/Program Files/KDiff3/kdiff3.exe" 8 | git config --global mergetool.kdiff3.trustExitCode false 9 | ``` 10 | 11 | Diff tool 12 | ``` 13 | git config --global diff.guitool kdiff3 14 | git config --global difftool.kdiff3.path "C:/Program Files/KDiff3/kdiff3.exe" 15 | git config --global difftool.kdiff3.trustExitCode false 16 | ``` 17 | 18 | Open mergetool 19 | ``` 20 | git mergetool 21 | ``` 22 | -------------------------------------------------------------------------------- /cqs-cqrs/cqs.md: -------------------------------------------------------------------------------- 1 | ## CQS - Command Query Separation 2 | 3 | ### Links 4 | [CommandQuerySeparation - Martin Fowler](https://martinfowler.com/bliki/CommandQuerySeparation.html)\ 5 | [CQS Pattern - Quando, como e por que utilizar? - Caio Martins](https://medium.com/inside-picpay/cqs-pattern-quando-como-e-por-qu%C3%AA-utilizar-eb564bf34001) 6 | 7 | ### Vídeos 8 | [Command Query Separation (CQS): encapsulamento em POO - Otavio Lemos](https://www.youtube.com/watch?v=7NVbDGIMHjo)\ 9 | [REFACTORING to MEDIATOR & CQS Pattern - Rahul Nath](https://www.youtube.com/watch?v=XE1w52pNYr8) 10 | -------------------------------------------------------------------------------- /poo/readme.md: -------------------------------------------------------------------------------- 1 | ## POO - Programação orientada a objetos 2 | 3 | ### Links 4 | [Programação orientada a objetos - Elemar Jr](https://programacao-orientada-a-objetos.online/)\ 5 | [Desafio-poo-dio - Camila Cavalcante](https://github.com/cami-la/desafio-poo-dio/blob/master/README.md)\ 6 | [POO com honra - Márcio Torres](http://leanpub.com/poocomhonra)\ 7 | [Apostila oo avançado em java - Caelum](https://github.com/caelum/apostila-oo-avancado-em-java) 8 | 9 | ### Vídeos 10 | [Curso de POO Java (Programação Orientada a Objetos) - Curso em Vídeo](https://www.youtube.com/playlist?list=PLHz_AreHm4dkqe2aR0tQK74m8SFe-aGsY) 11 | 12 | ### Outros links 13 | https://thepragmaticengineer.hashnode.dev/what-is-the-real-purpose-of-private-methods 14 | -------------------------------------------------------------------------------- /porto-architecture/readme.md: -------------------------------------------------------------------------------- 1 | ## Porto architecture 2 | 3 | Porto é um padrão de arquitetura de software moderno, que consiste em diretrizes, princípios e padrões para ajudar os desenvolvedores a organizar seu código de maneira altamente sustentável e reutilizável. [Mahmoud Zalt](https://github.com/Mahmoudz/Porto) 4 | 5 | ### Links 6 | [Conheca-o-padrao-arquitetural-porto-para-aplicacoes-back-end - Elton Fonseca](https://www.treinaweb.com.br/blog/conheca-o-padrao-arquitetural-porto-para-aplicacoes-back-end)\ 7 | [Camadas-e-componentes-do-padrao-arquitetural-porto - Elton Fonseca](https://www.treinaweb.com.br/blog/camadas-e-componentes-do-padrao-arquitetural-porto/)\ 8 | [Porto (Software Architectural Pattern) - Mahmoud Zalt](https://github.com/Mahmoudz/Porto) 9 | -------------------------------------------------------------------------------- /object-calisthenics/readme.md: -------------------------------------------------------------------------------- 1 | ## Object calisthenics 2 | 3 | Object Calisthenics é um conjunto de boas práticas e regras para aumentar a qualidade do seu código. 4 | 5 | ### Links 6 | [Object Calisthenics - Rafael Cruz](https://imasters.com.br/desenvolvimento/desenvolva-um-codigo-melhor-com-object-calisthenics)\ 7 | [Object Calisthenics - Jeff Bay](https://bolcom.github.io/student-dojo/legacy-code/DevelopersAnonymous-ObjectCalisthenics.pdf)\ 8 | [Writing cleaner code with Object Calisthenics - Pierre Bouillon](https://dev.to/pbouillon/writing-cleaner-code-with-object-calisthenics-1ea0) 9 | 10 | ### Vídeos 11 | [Object Calisthenics - André Secco](https://www.youtube.com/playlist?list=PL3thWewfjbFTmFzqTrMubfDgFkUNV90-V)\ 12 | [Código Limpo e Object Calisthenics - InfoQ](https://www.infoq.com/br/presentations/codigo-limpo-e-object-calisthenics/) 13 | -------------------------------------------------------------------------------- /grasp/readme.md: -------------------------------------------------------------------------------- 1 | ## GRASP 2 | 3 | General responsibility assignment software patterns (ou principles), abreviado GRASP, consiste em diretrizes para atribuir responsabilidade a classes e objetos em projeto orientado a objetos. 4 | [wikipedia.org](https://pt.wikipedia.org/wiki/GRASP_(padr%C3%A3o_orientado_a_objetos)) 5 | 6 | ### Links 7 | [Home.cs.colorado.edu](https://home.cs.colorado.edu/~kena/classes/5448/f12/presentation-materials/rao.pdf) 8 | 9 | ### Vídeos 10 | [What are GRASP patterns | Part 1 - Coding Together ENG](https://www.youtube.com/watch?v=L4HLpsFPAtk)\ 11 | [What are GRASP patterns | Part 2 - Coding Together ENG](https://www.youtube.com/watch?v=OzwYaYd0GYI)\ 12 | [What are GRASP patterns | Part 3 - Coding Together ENG](https://www.youtube.com/watch?v=Cf5wxRElMlM)\ 13 | [What are GRASP patterns | Part 4 - Coding Together ENG](https://www.youtube.com/watch?v=5aq-AI4Y9HQ) 14 | -------------------------------------------------------------------------------- /cqs-cqrs/readme.md: -------------------------------------------------------------------------------- 1 | ## CQS - CQRS 2 | 3 | ### [CQS - Command Query Separation](./cqs.md) 4 | 5 | CQS é um princípio imperativo de programação. Foi desenvolvido por Bertrand Meyer como parte de seu trabalho pioneiro na linguagem de programação Eiffel. Ele afirma que todo método deve ser um comando que executa uma ação ou uma consulta que retorna dados ao chamador, mas não ambos. [wikipedia.org](https://en.wikipedia.org/wiki/Command%E2%80%93query_separation) 6 | 7 | ### [CQRS - Command Query Responsibility Segregation](./cqrs.md) 8 | 9 | CQRS é um padrão que separa operações de leitura e atualização para um armazenamento de dados. A implementação do CQRS em seu aplicativo pode maximizar seu desempenho, escalabilidade e segurança. A flexibilidade criada pela migração para o CQRS permite que um sistema evolua melhor com o tempo e evita que os comandos de atualização causem conflitos no nível do domínio. [learn.microsoft](https://learn.microsoft.com/pt-br/azure/architecture/patterns/cqrs) 10 | -------------------------------------------------------------------------------- /cupid/readme.md: -------------------------------------------------------------------------------- 1 | ## CUPID 2 | 3 | CUPID foi criado por Dan North como uma crítica aos princípios SOLID. 4 | 5 | ### Links 6 | [CUPID x SOLID - Elton Minetto](https://eltonminetto.dev/post/2022-11-04-cupid-x-solid/)\ 7 | [CUPID for joyful coding - Daniel Terhorst](https://dannorth.net/2022/02/10/cupid-for-joyful-coding/)\ 8 | [CUPID the back story - Daniel Terhorst](https://dannorth.net/2021/03/16/cupid-the-back-story/)\ 9 | [Why You Should Start Using CUPID and Not SOLID To Write Maintainable Software - David Brown](https://dzone.com/articles/why-you-should-start-using-cupid-and-not-solid-to)\ 10 | [SOLID, CUPID & GRASP – three (more) principles that every developer should know about - Krzysztof Radzik](https://www.boldare.com/blog/solid-cupid-grasp-principles-object-oriented-design/) 11 | 12 | ### Vídeos 13 | [CUPID - for joyful coding - Daniel Terhorst-North](https://www.youtube.com/watch?v=KRLOCFDw5x4)\ 14 | [CUPID vs SOLID - Think Design Work Smart](https://www.youtube.com/watch?v=oyZLT4585ZQ) 15 | -------------------------------------------------------------------------------- /c4model/readme.md: -------------------------------------------------------------------------------- 1 | ## C4 Model 2 | 3 | O modelo C4 é uma técnica de notação gráfica enxuta para modelar a arquitetura de sistemas de software. [wikipedia.org](https://en.wikipedia.org/wiki/C4_model) 4 | 5 | ### Links 6 | [C4 MODEL - EximiaCo](https://eximia.co/series/c4-model/)\ 7 | [C4-Model: por que documentar a arquitetura dos seus projetos? - Zup](https://www.zup.com.br/blog/c4-model)\ 8 | [O modelo C4 de documentação para Arquitetura de Software - Simon Brown](https://www.infoq.com/br/articles/C4-architecture-model/)\ 9 | [C4-PlantUML](https://github.com/plantuml-stdlib/C4-PlantUML) 10 | 11 | ### Vídeos 12 | [C4Model: Como documentar arquiteturas - Zup](https://www.youtube.com/watch?v=ij8HYzsch6g)\ 13 | [Documentando arquiteturas com C4 Model - Cristiano Cunha](https://www.youtube.com/watch?v=X7UKXcS6OVI)\ 14 | [Como documentar projeto de software utilizando C4 - Cássio Botaro](https://www.youtube.com/watch?v=eqIszmj0pEQ)\ 15 | [C4 models as code - Simon Brown - NDC Oslo 2023](https://www.youtube.com/watch?v=4HEd1EEQLR0) 16 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Pedro Júnior 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /vertical-slice-architecture/readme.md: -------------------------------------------------------------------------------- 1 | ## Vertical slice architecture 2 | 3 | Vertical Slice Architecture é um padrão de design de software que ajuda na construção de aplicativos sustentáveis, separando o aplicativo em torno de recursos ou "fatias verticais". [Code Maze](https://code-maze.com/vertical-slice-architecture-aspnet-core/) 4 | 5 | ### Links 6 | [How to Implement Vertical Slice Architecture - Gary Woodfine](https://garywoodfine.com/implementing-vertical-slice-architecture/)\ 7 | [Restructuring to a Vertical Slice Architecture - Derek Comartin](https://codeopinion.com/restructuring-to-a-vertical-slice-architecture/)\ 8 | [Vertical Slice Architecture solution template in .NET 6 - Nadir Badnjevic](https://github.com/nadirbad/VerticalSliceArchitecture) 9 | 10 | ### Vídeos 11 | [Vertical Slice Architecture - Pisani da ArcH](https://www.youtube.com/watch?v=HOkt02QzoRc)\ 12 | [Vertical Slice Architecture - Jimmy Bogard](https://www.youtube.com/watch?v=SUiWfhAhgQw)\ 13 | [Vertical Slice Architecture, not Layers! - CodeOpinion](https://www.youtube.com/watch?v=L2Wnq0ChAIA)\ 14 | [Layers, Not Vertical Slices! - Codewrinkles](https://www.youtube.com/watch?v=DbT7SLxHzfs) 15 | -------------------------------------------------------------------------------- /git/git-flow.md: -------------------------------------------------------------------------------- 1 | ## GitFlow 2 | 3 | Branch develop 4 | ``` 5 | git flow init 6 | ou 7 | git checkout -b develop 8 | ``` 9 | 10 | Criando uma feature 11 | ``` 12 | git flow feature start name-feature 13 | ou 14 | git checkout develop 15 | git checkout -b name-feature 16 | ``` 17 | 18 | Finalizando uma feature 19 | ``` 20 | git flow feature finish name-feature 21 | ou 22 | git checkout develop 23 | git merge name-feature 24 | ``` 25 | 26 | Criando uma hotfix 27 | ``` 28 | git flow hotfix start name-hotfix 29 | ou 30 | git checkout master 31 | git checkout -b name-hotfix 32 | ``` 33 | 34 | Finalizando uma hotfix 35 | ``` 36 | git flow hotfix finish name-hotfix 37 | ou 38 | git checkout master 39 | git merge name-hotfix 40 | git checkout develop 41 | git merge name-hotfix 42 | git tag name-hotfix 43 | ``` 44 | 45 | Criando uma release 46 | ``` 47 | git flow release start 1.0.0 48 | ou 49 | git checkout develop 50 | git checkout -b release/1.0.0 51 | ``` 52 | 53 | Finalizando uma release 54 | ``` 55 | git flow release finish 1.0.0 56 | ou 57 | git checkout master 58 | git merge release/1.0.0 59 | git checkout develop 60 | git merge release/1.0.0 61 | git tag 1.0.0 62 | ``` 63 | -------------------------------------------------------------------------------- /adr/readme.md: -------------------------------------------------------------------------------- 1 | ## ADR 2 | 3 | Architecture Decision Records é um documento que descreve uma escolha que a equipe faz sobre um aspecto significativo da arquitetura de software que está planejando construir. Cada ADR descreve a decisão arquitetônica, seu contexto e suas consequências. [docs.aws.amazon](https://docs.aws.amazon.com/prescriptive-guidance/latest/architectural-decision-records/adr-process.html) 4 | 5 | ### Links 6 | [Architecture Decision Records (ADR): o que é e como fazemos na Zup - Bárbara Rossalli](https://www.zup.com.br/blog/architecture-decision-records-adr)\ 7 | [Architectural Decision Records na Conta Azul - Luiz Gustavo](https://engineering.contaazul.com/architectural-decision-records-na-conta-azul-cfbb0f71e8ab)\ 8 | [Architecture decision record (ADR) - Joel Parker Henderson](https://github.com/joelparkerhenderson/architecture-decision-record)\ 9 | [Architectural Decision Records (ADRs) - adr.github.io](https://adr.github.io/) 10 | 11 | ### Vídeos 12 | [Architecture Decision Records (ADR) as a LOG that answers "WHY?" - CodeOpinion](https://www.youtube.com/watch?v=6H6zfCNeqek)\ 13 | [Software Architecture in Golang: Architecture Decision Records (ADRs) - Mario Carrion](https://www.youtube.com/watch?v=uUkkq6Xdx_Q) 14 | -------------------------------------------------------------------------------- /aop/readme.md: -------------------------------------------------------------------------------- 1 | ## AOP 2 | 3 | A programação orientada a aspectos tem como objetivo a separação do código segundo a sua importância para a aplicação, permitindo que o programador encapsule o código secundário em módulos separados do restante da aplicação. [wikipedia.org](https://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_orientada_a_aspecto) 4 | 5 | ### Links 6 | [Programação orientada a aspectos com a classe RealProxy - Bruno Sonnino](https://learn.microsoft.com/pt-br/archive/msdn-magazine/2014/february/aspect-oriented-programming-aspect-oriented-programming-with-the-realproxy-class)\ 7 | [Aspect Oriented Programming in C#.NET - Shivprasad](https://www.c-sharpcorner.com/UploadFile/shivprasadk/aspect-oriented-programming-in-C-Sharp-net-part-i/)\ 8 | [Spring AOP Example Tutorial - Pankaj](https://www.digitalocean.com/community/tutorials/spring-aop-example-tutorial-aspect-advice-pointcut-joinpoint-annotations)\ 9 | [Introduction to Spring AOP - Baeldung](https://www.baeldung.com/spring-aop) 10 | 11 | ### Vídeos 12 | [Advanced Aspect Oriented Programming - Donald Belcham](https://www.infoq.com/presentations/Advanced-AOP/)\ 13 | [Awesome AOP Tricks - Code Insights](https://www.youtube.com/watch?v=sdzLhSJiboE)\ 14 | [Spring Framework AOP - Laur Spilca](https://www.youtube.com/watch?v=BVk54NRRFsY)\ 15 | [Spring AOP Tutorial - Edureka!](https://www.youtube.com/watch?v=-dkB1-pLCNk) 16 | -------------------------------------------------------------------------------- /regex/readme.md: -------------------------------------------------------------------------------- 1 | ## Regex 2 | 3 | Em ciência da computação, uma expressão regular (do inglês regular expression, abreviado regex ou regexp) provê uma forma concisa e flexível de identificar cadeias de caracteres de interesse, como caracteres particulares, palavras ou padrões de caracteres. [wikipedia.org](https://pt.wikipedia.org/wiki/Express%C3%A3o_regular) 4 | 5 | ### Links 6 | [Regex: o guia essencial das expressões regulares - DP6 Team](https://blog.dp6.com.br/regex-o-guia-essencial-das-express%C3%B5es-regulares-2fc1df38a481)\ 7 | [RegularExpressions - .Net7](https://learn.microsoft.com/pt-br/dotnet/api/system.text.regularexpressions.regex?view=net-7.0)\ 8 | [Expressões Regulares - Aurelio Marinho](https://www.piazinho.com.br/download/expressoes-regulares-3-tabelas.pdf)\ 9 | [JavaScript Regular Expressions - W3schools](https://www.w3schools.com/js/js_regexp.asp)\ 10 | [Regular-Expressions.info](https://www.regular-expressions.info/) 11 | 12 | ### Vídeos 13 | [Expressões Regulares no C# - Coding Night](https://www.youtube.com/watch?v=HSYa5TfMj6o)\ 14 | [O que é Regex e como usar Regex tutorial completo - Ronan Vico](https://www.youtube.com/watch?v=Q78zFtgdh4w)\ 15 | [Learn Regular Expressions (Regex) - Crash Course for Beginners - FreeCodeCamp.org](https://www.youtube.com/watch?v=ZfQFUJhPqMM) 16 | 17 | ### Outros links 18 | [Regex101](https://regex101.com/)\ 19 | [RegExr](https://regexr.com/) 20 | -------------------------------------------------------------------------------- /clean-code/readme.md: -------------------------------------------------------------------------------- 1 | ## Clean code 2 | 3 | Clean Code ou código limpo se refere a um conjunto de boas práticas na escrita de software que você pode aplicar para obter uma maior legibilidade e manutenabilidade do seu código. [balta.io](https://balta.io/blog/clean-code) 4 | 5 | ### Links 6 | [Clean Code - Qualidade Do Código Fonte - Wagner Mendes](https://pdfcoffee.com/ebook-clean-codequalidade-do-codigo-fonte-pdf-free.html)\ 7 | [Clean Code - Guia e Exemplos - André Baltieri](https://balta.io/blog/clean-code)\ 8 | [Summary of Clean code - Wojtek Lukaszuk](https://gist.github.com/wojteklu/73c6914cc446146b8b533c0988cf8d29)\ 9 | [Clean code notes - Juan Carlos](https://github.com/JuanCrg90/Clean-Code-Notes) 10 | 11 | ### Vídeos 12 | [Livro Clean Code - Filipe Deschamps](https://www.youtube.com/playlist?list=PLMdYygf53DP5Sc6yFYs6ZmjsuuA2fu0TK)\ 13 | [O que é Código Bom e Código Ruim? - André Secco](https://www.youtube.com/watch?v=ouYg1PMhiRE&list=PL3thWewfjbFRzbjrJR8YH4ryxm6dxXIfM)\ 14 | [Clean Code with Robert C. Martin - Rodrigo Branas](https://www.youtube.com/watch?v=DaRpFF-di4w)\ 15 | [Clean Code - Uncle Bob](https://www.youtube.com/watch?v=7EmboKQH8lM&list=PLmmYSbUCWJ4x1GO839azG_BBw8rkh-zOj) 16 | 17 | ### Outros links 18 | [Pilares design codigo - Alberto Souza](https://github.com/asouza/pilares-design-codigo)\ 19 | [Refactoring summary - Hugo Matilla](https://github.com/HugoMatilla/Refactoring-Summary) 20 | -------------------------------------------------------------------------------- /test/readme.md: -------------------------------------------------------------------------------- 1 | ## Testes unitários 2 | 3 | ### Links 4 | [Testes unitários: Detectando problemas de coesão em OO - Victor Bogo](https://engineering.contaazul.com/testes-unit%C3%A1rios-detectando-problemas-de-coes%C3%A3o-em-oo-5204fc5f7e5b)\ 5 | [Dossiê Khorikov: Abordagem test-first vs test-last - William Santos](https://dev.to/wsantosdev/dossie-khorikov-abordagem-test-first-vs-test-last-7g5)\ 6 | [On the Diverse And Fantastical Shapes of Testing - Martin Fowler](https://martinfowler.com/articles/2021-test-shapes.html)\ 7 | [Testing Without Mocks: A Pattern Language - James Shore](https://www.jamesshore.com/v2/projects/nullables/testing-without-mocks)\ 8 | [Why We Killed Our End-to-End Test Suite - Alexandre Freire](https://building.nubank.com.br/why-we-killed-our-end-to-end-test-suite)\ 9 | [Programmer Test Principles - Kent Beck](https://medium.com/@kentbeck_7670/programmer-test-principles-d01c064d7934) 10 | 11 | ### Vídeos 12 | [Knowledge bites - Dev Eficiente](https://www.youtube.com/playlist?list=PLVHlvMRWE0Y7Y6o1VpwJIvweK4qnE4xNV)\ 13 | [Testes Unitários com Qualidade - Rafael Quines](https://www.youtube.com/watch?v=DH7F-axOrFU)\ 14 | [Testes Unitários com .NET 6, xUnit e Moq - LuisDev](https://www.youtube.com/watch?v=5xT3YZGCfD8)\ 15 | [Conheça agora TUDO sobre TDD - Pisani da ArcH](https://www.youtube.com/watch?v=kl4R7PDoF8Y)\ 16 | [TDD na prática (Live Coding) - Diego Fernandes / Rodrigo Manguinho](https://www.youtube.com/watch?v=sg1zFpNM5Jw) 17 | -------------------------------------------------------------------------------- /cqs-cqrs/cqrs.md: -------------------------------------------------------------------------------- 1 | ## CQRS - Command Query Responsibility Segregation 2 | 3 | ### Links 4 | [CQRS Documents - Greg Young](https://cqrs.files.wordpress.com/2010/11/cqrs_documents.pdf)\ 5 | [CQRS - Martin Fowler](https://martinfowler.com/bliki/CQRS.html)\ 6 | [CQRS - gitlab.io](https://ajuda.gitlab.io/guia-rapido/arquitetura/design-patterns/cqrs/)\ 7 | [Design: CQRS - Desfazendo mal-entendidos - William Santos](https://dev.to/wsantosdev/design-cqrs-desfazendo-mal-entendidos-5bpo)\ 8 | [CQRS – O que é? Onde aplicar? - Eduardo Pires](https://www.eduardopires.net.br/2016/07/cqrs-o-que-e-onde-aplicar/)\ 9 | [Padrões e CQRS (Command Query Responsibility Segregation) - NetCoders](https://medium.com/netcoders/padr%C3%B5es-e-cqrs-command-query-responsibility-segregation-parte-1-84d62ba0301f)\ 10 | [CQRS with MediatR - Steven Giesel](https://steven-giesel.com/blogPost/064ca62a-b384-45da-9212-4c3840e5ba9c) 11 | 12 | ### Vídeos 13 | [Descomplicando CQRS - Elemar Jr](https://www.youtube.com/watch?v=yd6V4w19iJU)\ 14 | [CQRS, o que ele resolve mesmo? - Alberto Souza](https://www.youtube.com/watch?v=ZA9O-O9HSPY)\ 15 | [A Decade of DDD, CQRS, Event Sourcing - Greg Young](https://www.youtube.com/watch?v=LDW0QWie21s)\ 16 | [CQRS with Greg Young - Rodrigo Branas](https://www.youtube.com/watch?v=HxNmPC-wKPw)\ 17 | [A practical guide to implementing CQRS with C# & NET5 - Event Store](https://www.youtube.com/watch?v=eOPlg-eB4As)\ 18 | [CQRS com Eduardo Pires - Rodrigo Branas](https://www.youtube.com/watch?v=eVC5CMMSnwg) 19 | -------------------------------------------------------------------------------- /graphql/readme.md: -------------------------------------------------------------------------------- 1 | ## GraphQL 2 | 3 | GraphQL é uma linguagem de consulta criada pelo Facebook em 2012 e lançada publicamente em 2015. É considerada uma alternativa para arquiteturas REST, além de oferecer um serviço runtime para rodar comandos e consumir uma API. [wikipedia.org](https://en.wikipedia.org/wiki/GraphQL) 4 | 5 | ### Links 6 | [Introdução ao GraphQL - Dev.elo](https://dev.elo.com.br/tutoriais/introducao-ao-graphql)\ 7 | [GraphQL: poder ao front-end - Yasmin Castro](https://imasters.com.br/back-end/graphql-poder-ao-front-end)\ 8 | [GraphQL vs. gRPC vs. REST: Choosing the right API - Samson Omojola](https://blog.logrocket.com/graphql-vs-grpc-vs-rest-choosing-right-api/)\ 9 | [API Showdown: REST vs. GraphQL vs. gRPC – Which Should You Use? - Infoq](https://www.infoq.com/podcasts/api-showdown-rest-graphql-grpc/)\ 10 | [GraphQL is the better REST - How to GraphQL](https://www.howtographql.com/basics/1-graphql-is-the-better-rest/) 11 | 12 | ### Vídeos 13 | [API com GraphQL - Cod3r Cursos](https://www.youtube.com/playlist?list=PLdPPE0hUkt0okslA6u6hXw_2wQ6WM4d2-)\ 14 | [GraphQL aplicado no Node.js - Diego Fernandes](https://www.youtube.com/watch?v=oD8GqurXZ-0)\ 15 | [Fundamentos do GraphQL na prática (Node.js + React) - Diego Fernandes](https://www.youtube.com/watch?v=6SZOPKs9SUg)\ 16 | [Building Modern APIs with GraphQL - Amazon Web Services](https://www.youtube.com/watch?v=bRnu7xvU1_Y) 17 | 18 | ### Outros links 19 | [graphql.org](https://graphql.org/)\ 20 | [graphql github](https://github.com/graphql) 21 | -------------------------------------------------------------------------------- /http/readme.md: -------------------------------------------------------------------------------- 1 | ## Http 2 | 3 | O Hypertext transfer protocol, sigla HTTP, é um protocolo de comunicação (na camada de aplicação segundo o Modelo OSI) utilizado para sistemas de informação de hipermídia, distribuídos e colaborativos. Ele é a base para a comunicação de dados da World Wide Web. [wikipedia.org](https://pt.wikipedia.org/wiki/Hypertext_Transfer_Protocol) 4 | 5 | ### Links 6 | [Internet: conceitos básicos - Ufscar.br](https://www.dm.ufscar.br/~waldeck/curso/html/internet/basico.html)\ 7 | [HTTP: Entendendo a web por baixo dos panos - Fabio Pimentel](https://www.alura.com.br/conteudo/http-fundamentos)\ 8 | [Os métodos HTTP: quais são e pra que servem - Gabs Ferreira](http://gabsferreira.com/os-metodos-http-e-a-diferenca-entre-eles/)\ 9 | [Entendendo as respostas HTTP - Gabriel Schade](https://gabrielschade.github.io/2019/09/11/HTTP-responses.html)\ 10 | [Códigos de status de respostas HTTP - Developer.mozilla](https://developer.mozilla.org/pt-BR/docs/Web/HTTP/Status)\ 11 | [HTTP1 vs HTTP2 vs HTTP3 - A Deep Dive - BYTEBYTEGO](https://blog.bytebytego.com/p/http1-vs-http2-vs-http3-a-deep-dive) 12 | 13 | ### Vídeos 14 | [Curso Redes de Computadores Grátis - Curso em Vídeo](https://www.youtube.com/playlist?list=PLHz_AreHm4dkd4lr9G0Up-W-YaHYdTDuP)\ 15 | [Introdução a Redes - Fabio Akita](https://www.youtube.com/playlist?list=PLdsnXVqbHDUcTGjNZuRYCVj3AZtdt6oG7)\ 16 | [Conceitos Essenciais: O Básico de HTTP - Cod3r Cursos](https://www.youtube.com/watch?v=CXzbUwK6lc8)\ 17 | [HTTP e HTTPs - Dicionário de Informática](https://www.youtube.com/watch?v=G9VlDTshk-k) 18 | -------------------------------------------------------------------------------- /soap/readme.md: -------------------------------------------------------------------------------- 1 | ## SOAP 2 | 3 | SOAP (Simple Object Access Protocol, em português Protocolo Simples de Acesso a Objetos) é um protocolo para troca de informações estruturadas em uma plataforma descentralizada e distribuída. Ele se baseia na Linguagem de Marcação Extensível (XML) para seu formato de mensagem, e normalmente baseia-se em outros protocolos da camada de aplicação, mais notavelmente em chamada de procedimento remoto (RPC) e Protocolo de transferência de hipertexto (HTTP), para negociação e transmissão de mensagens. [wikipedia.org](https://pt.wikipedia.org/wiki/SOAP) 4 | 5 | ### Links 6 | [O que É SOAP? - IBM](https://www.ibm.com/docs/pt-br/integration-bus/10.0?topic=services-what-is-soap)\ 7 | [SOAP (Simple Object Access Protocol) - Daniel Chaves](https://www.gta.ufrj.br/grad/07_2/daniel/)\ 8 | [SOAP e WebServices - Mauro Sant'Anna](http://www.linhadecodigo.com.br/artigo/38/soap-e-webservices.aspx)\ 9 | [Acessando a API SOAP - Learn.microsoft](https://learn.microsoft.com/pt-br/sharepoint/dev/general-development/accessing-the-soap-api)\ 10 | [SOAP - Douglas K Barry](https://www.service-architecture.com/articles/web-services/soap.html) 11 | 12 | ### Vídeos 13 | [Integrando WebService SOAP - DevPleno](https://www.youtube.com/watch?v=FqDenKN5y1s)\ 14 | [SOAP Web Service Basics - Java Brains](https://www.youtube.com/playlist?list=PLqq-6Pq4lTTZTYpk_1DOowOGWJMIH5T39)\ 15 | [Interoperabilidade de Sistemas em Python com SOAP e WSDL - Thales Maciel](https://www.youtube.com/watch?v=UiT6ruxQy_4)\ 16 | [How to add SOAP request in Postman - Automation Step by Step](https://www.youtube.com/watch?v=DR3EEhjn2OI) 17 | -------------------------------------------------------------------------------- /orm/readme.md: -------------------------------------------------------------------------------- 1 | ## ORM 2 | 3 | Mapeamento objeto-relacional (ou ORM, do inglês: Object-relational mapping) é uma técnica de desenvolvimento utilizada para reduzir a impedância da programação orientada aos objetos utilizando bancos de dados relacionais. As tabelas do banco de dados são representadas através de classes e os registros de cada tabela são representados como instâncias das classes correspondentes. [wikipedia.org](https://pt.wikipedia.org/wiki/Mapeamento_objeto-relacional) 4 | 5 | ### Links 6 | [Mapeamento objeto-relacional: como funciona e técnicas - Thiago Nunes](https://blog.geekhunter.com.br/mapeamento-objeto-relacional/)\ 7 | [What is an ORM – The Meaning of Object Relational Mapping Database Tools - Vincent Abba](https://www.freecodecamp.org/news/what-is-an-orm-the-meaning-of-object-relational-mapping-database-tools/)\ 8 | [Lazy Loading vs Eager Loading in Entity Framework - DotnetTutorials](https://dotnettutorials.net/lesson/lazy-loading-vs-eager-loading-in-entity-framework/)\ 9 | [Eager/Lazy Loading In Hibernate - Baeldung](https://www.baeldung.com/hibernate-lazy-eager-loading) 10 | 11 | ### Vídeos 12 | [ORMs em .NET: Entity Framework, NHibernate e Dapper - Canal dotNET](https://www.youtube.com/watch?v=W2WUrvSYJhE)\ 13 | [Mesa Redonda #11 - Devs x DBAs - Coding Night](https://www.youtube.com/watch?v=2xEUg89nkeU)\ 14 | [uando usar ORM e quando escrever QUERIES na mão! - Balta.io](https://www.youtube.com/watch?v=sQAxDOeFFf0)\ 15 | [ORM vs SQL puro - Balta.io](https://www.youtube.com/watch?v=ifwfr1qMH3g)\ 16 | [I would never use an ORM - Matteo Collina](https://www.youtube.com/watch?v=atABji4xqiI) 17 | -------------------------------------------------------------------------------- /mvvm/readme.md: -------------------------------------------------------------------------------- 1 | ## MVVM 2 | 3 | Model-view-viewmodel é um padrão de arquitetura de software que facilita a separação do desenvolvimento da interface gráfica do usuário do desenvolvimento do negócio, de modo que a exibição não dependa de nenhuma plataforma de modelo específica. [wikipedia.org](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93viewmodel) 4 | 5 | ### Links 6 | [Vinculação de dados e MVVM - Learn.microsoft](https://learn.microsoft.com/pt-br/windows/uwp/data-binding/data-binding-and-mvvm)\ 7 | [Android MVVM Design Pattern - Anupam Chugh](https://www.digitalocean.com/community/tutorials/android-mvvm-design-pattern)\ 8 | [O padrão MVVM revisitado - Macoratti](https://imasters.com.br/dotnet/net-o-padrao-mvvm-model-view-viewmodel-revisitado)\ 9 | [MVP vs MVVM: principais diferenças, vantagens e desvantagens - Alexandre Lima](https://www.zup.com.br/blog/mvp-vs-mvvm) 10 | 11 | ### Vídeos 12 | [Arquitetando com MVVM - Pisani da ArcH](https://www.youtube.com/watch?v=YVjsQglQV6k)\ 13 | [MVVM (Model, View, View-Model) | Prós e Contras - Pisani da ArcH](https://www.youtube.com/watch?v=5KbetmHU5to)\ 14 | [A história do MVC, MVP e MVVM para android - CI&T](https://www.youtube.com/watch?v=fG3Vr3RX2gg)\ 15 | [MVVM no Flutter - Estrutura para iniciantes - Flutterando](https://www.youtube.com/watch?v=WgadnZcujuc)\ 16 | [Clean Architecture, MVC, MVVM, MVP e BLOC - Mango](https://www.youtube.com/watch?v=-E4wgV40ryM)\ 17 | [Which Software Architecture Should You Use: MVC, MVP, or MVVM? - ArjanCodes](https://www.youtube.com/watch?v=eHhXoCNCI1c)\ 18 | [MVC/MVP/MVVM Architectures - SoftAware Project](https://www.youtube.com/watch?v=bfJ-qaKSBp4) 19 | -------------------------------------------------------------------------------- /sql/readme.md: -------------------------------------------------------------------------------- 1 | ## SQL 2 | 3 | Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL, é a linguagem de pesquisa declarativa padrão para banco de dados relacional (base de dados relacional). Muitas das características originais do SQL foram inspiradas na álgebra relacional. [wikipedia.org](https://pt.wikipedia.org/wiki/SQL) 4 | 5 | ### Links 6 | [Acesso SQL: conceitos básicos, vocabulário e sintaxe - Support.microsoft](https://support.microsoft.com/pt-br/office/acesso-sql-conceitos-b%C3%A1sicos-vocabul%C3%A1rio-e-sintaxe-444d0303-cde1-424e-9a74-e8dc3e460671)\ 7 | [7 Conceitos Avançados de SQL que Você Precisa Saber - DP6 Team](https://blog.dp6.com.br/7-conceitos-avan%C3%A7ados-de-sql-que-voc%C3%AA-precisa-saber-34605e271824)\ 8 | [Os melhores exemplos de SQL - Daniel Rosa](https://www.freecodecamp.org/portuguese/news/os-melhores-exemplos-de-sql/)\ 9 | [SQL Commands | DDL, DQL, DML, DCL and TCL Commands - geeksforgeeks](https://www.geeksforgeeks.org/sql-ddl-dql-dml-dcl-tcl-commands/)\ 10 | [W3schools](https://www.w3schools.com/sql/)\ 11 | [TutorialsPoint](https://www.tutorialspoint.com/sql/sql-overview.htm)\ 12 | [HackerRank](https://www.hackerrank.com/domains/sql) 13 | 14 | ### Vídeos 15 | [Curso Básico de SQL - Hashtag Programação](https://www.youtube.com/playlist?list=PLpdAy0tYrnKw_F8v6kkEXTeyE33Navv-K)\ 16 | [Curso SQL Completo 2022 [Iniciantes] - Dev Aprender](https://www.youtube.com/watch?v=G7bMwefn8RQ)\ 17 | [Fiz um servidor de "SQL"?? | Entendendo Banco de Dados - Fabio Akita](https://www.youtube.com/watch?v=_7nISfpofec)\ 18 | [ACID Properties in Databases With Examples - ByteByteGo](https://www.youtube.com/watch?v=GAe5oB742dw) 19 | -------------------------------------------------------------------------------- /event-sourcing/readme.md: -------------------------------------------------------------------------------- 1 | ## Event Sourcing 2 | 3 | Event Sourcing é um processo no qual todas as mudanças no status de um aplicativo de software são mapeadas e registradas como uma sequência de eventos. [wikipedia.org](https://de.wikipedia.org/wiki/Event_Sourcing) 4 | 5 | ### Links 6 | [Event Sourcing - Elemar Jr](https://eximia.co/event-sourcing/)\ 7 | [Event Sourcing - A arquitetura que pode salvar seu projeto - Lucas Santos](https://imasters.com.br/banco-de-dados/event-sourcing-arquitetura-que-pode-salvar-seu-projeto)\ 8 | [Event Sourcing - Martin Fowler](https://martinfowler.com/eaaDev/EventSourcing.html)\ 9 | [Pattern: Event sourcing - Chris Richardson](https://microservices.io/patterns/data/event-sourcing.html)\ 10 | [Event Sourcing pattern - Learn.microsoft](https://learn.microsoft.com/en-us/azure/architecture/patterns/event-sourcing)\ 11 | [CQRS and Event Sourcing in Java - Kumar Chandrakant](https://www.baeldung.com/cqrs-event-sourcing-java) 12 | 13 | ### Vídeos 14 | [Descomplicando "Event Sourcing" - Elemar Jr](https://www.youtube.com/watch?v=f4GolIiNIvc)\ 15 | [Arquitete com Event Sourcing - Pisani da ArcH](https://www.youtube.com/watch?v=BaiNsL8gNL8)\ 16 | [Event Sourcing / Greg Young - GOTO 2014](https://www.youtube.com/watch?v=8JKjvY4etTY)\ 17 | [Why Event Sourced Systems Fail / Greg Young - Fwdays](https://www.youtube.com/watch?v=FKFu78ZEIi8)\ 18 | [Greg Young answers your Event Sourcing questions! - CodeOpinion](https://www.youtube.com/watch?v=LGjRfgsumPk)\ 19 | [CQRS & Event Sourcing Code Walk-Through - CodeOpinion](https://www.youtube.com/watch?v=5aznkIEvkKc)\ 20 | [Event Sourcing Core Concepts - CodeOpinion](https://www.youtube.com/watch?v=HKspPiCGE2E) 21 | -------------------------------------------------------------------------------- /git/readme.md: -------------------------------------------------------------------------------- 1 | ## Git 2 | 3 | * [Git config windows](./git-config-win.md) 4 | * [Git config linux](./git-config-linux.md) 5 | * [Comandos git](https://gist.github.com/leocomelli/2545add34e4fec21ec16) 6 | * [Comandos gitflow](./git-flow.md) 7 | 8 | ### Commit messages 9 | [Conventional commits](https://www.conventionalcommits.org/en/v1.0.0/)\ 10 | [Git commit message](https://github.com/joelparkerhenderson/git-commit-message) 11 | 12 | ### Git workflow 13 | [Git Workflow: o que é e principais tipos - Flavio Antunes](https://www.zup.com.br/blog/git-workflow)\ 14 | [Git-Flow: entenda o que é, como e quando utilizar - Alura](https://www.alura.com.br/artigos/git-flow-o-que-e-como-quando-utilizar)\ 15 | [Git-Flow, GitHub-Flow, Gitlab-Flow and Trunk Based Development explained - Steven Giesel](https://steven-giesel.com/blogPost/ff50f268-c0bf-44d8-a5b8-41554ab50ba8) 16 | 17 | ### Code review 18 | [Luizalabs](https://github.com/luizalabs/dev-guide/tree/master/code-review)\ 19 | [Google](https://google.github.io/eng-practices/review/)\ 20 | [Code review resources](https://github.com/joho/awesome-code-review) 21 | 22 | ### Outros links 23 | [Curso de Versionamento com Git - Angelo Luz](https://www.youtube.com/playlist?list=PLDqnSpzNKDvkfF_ZMfukmOG3MtGKfXlfJ)\ 24 | [Git e Github para Iniciantes - Willian Justen](https://www.youtube.com/playlist?list=PLlAbYrWSYTiPA2iEiQ2PF_A9j__C4hi0A)\ 25 | [Git e Github na Vida Real - Willian Justen](https://www.youtube.com/playlist?list=PLlAbYrWSYTiNqugqFFWWsgONJsmc3eMpg)\ 26 | [Entendendo GIT | (não é um tutorial!) - Fabio Akita](https://www.youtube.com/watch?v=6Czd1Yetaac)\ 27 | [So You Think You Know Git - FOSDEM 2024](https://www.youtube.com/watch?v=aolI_Rz0ZqY) 28 | -------------------------------------------------------------------------------- /cache/readme.md: -------------------------------------------------------------------------------- 1 | ## Cache 2 | 3 | Na área da computação, cache é um dispositivo de acesso rápido, interno a um sistema, que serve de intermediário entre um operador de um processo e o dispositivo de armazenamento ao qual esse operador acede. A principal vantagem na utilização de um cache consiste em evitar o acesso ao dispositivo de armazenamento - que pode ser demorado -, armazenando os dados em meios de acesso mais rápidos. [wikipedia.org](https://pt.wikipedia.org/wiki/Cache) 4 | 5 | ### Links 6 | [ASP.NET Core - Implementando o Cache - Macoratti](https://www.macoratti.net/19/06/aspc_cache1.htm)\ 7 | [ASP.NET Memory Cache - André Baltieri](https://balta.io/blog/aspnet-memory-cache)\ 8 | [Cache distribuído com o ASP.NET Core - Matthew Groves](https://www.infoq.com/br/articles/distributed-caching-aspnet-core/)\ 9 | [Concorrência e Race Condition com Cache Distribuído: O Workflow correto - Luiz Carlos](https://gago.io/blog/concorrencia-e-race-condition-com-cache-distribuido-o-workflow-correto/)\ 10 | [Turbinando seus Microsserviços com Spring Cache e Redis - Jordi Henrique](https://dev.to/jordihofc/turbinando-seus-microsservicos-com-spring-cache-e-redis-4p1f) 11 | 12 | ### Vídeos 13 | [Redis com Java: de NoSQL a Cache - Roberto Marin](https://www.infoq.com/br/presentations/redis-com-java/)\ 14 | [Cache para aplicações Java e trabalho em TI para o governo - Julio Faerman](https://www.infoq.com/br/interviews/cache-java-ti-governo/)\ 15 | [Cache de memória com ASP.NET Core: melhorando a performance de sua API - LuisDev](https://www.youtube.com/watch?v=93VuXFslkLE)\ 16 | [ASP.NET Core e Redis: cache distribuído com .NET 6 - LuisDev](https://www.youtube.com/watch?v=9z3vHqrbuM0)\ 17 | [The NEW caching you should be using in .NET 7 - Nick Chapsas](https://www.youtube.com/watch?v=0WvGwOoK-CI) 18 | -------------------------------------------------------------------------------- /docker/readme.md: -------------------------------------------------------------------------------- 1 | ## Docker 2 | 3 | Docker é um conjunto de produtos de plataforma como serviço (PaaS) que usam virtualização de nível de sistema operacional para entregar software em pacotes chamados contêineres. [wikipedia.org](https://pt.wikipedia.org/wiki/Docker_(software)) 4 | 5 | ### Links 6 | [Docker: tudo o que você precisa saber - Guillaume Falourd](https://www.zup.com.br/blog/o-que-e-docker-e-conteiner)\ 7 | [Docker: Desvendando o DockerFile - Daniel Artine](https://www.alura.com.br/artigos/desvendando-o-dockerfile)\ 8 | [Descomplicando o Docker - LINUXtips](https://livro.descomplicandodocker.com.br/)\ 9 | [Docker - Guia de Referência Gratuito - Renato Groffe](https://renatogroffe.medium.com/docker-guia-de-refer%C3%AAncia-gratuito-70c14cfd8132)\ 10 | [Best practices for writing Dockerfiles - docs.docker](https://docs.docker.com/develop/develop-images/dockerfile_best-practices/)\ 11 | [Os Doze Fatores - Adam Wiggins](https://12factor.net/pt_br/)\ 12 | [12factor - Heroku](https://github.com/heroku/12factor)\ 13 | [12factor - Gomex](https://github.com/gomex/exemplo-12factor-docker) 14 | 15 | ### Vídeos 16 | [O mínimo que você precisa saber sobre Docker! - Diolinux](https://www.youtube.com/watch?v=ntbpIfS44Gw)\ 17 | [Curso de Docker para iniciantes - Matheus Battisti](https://www.youtube.com/watch?v=np_vyd7QlXk)\ 18 | [Docker do zero ao compose - Fabrício Veronez](https://www.youtube.com/watch?v=GkMJJkWRgBQ)\ 19 | [Como usar corretamente o Docker Compose - Fabrício Veronez](https://www.youtube.com/watch?v=hue967OT4gw)\ 20 | [Entendendo Funcionamento de Containers - Fabio Akita](https://www.youtube.com/watch?v=85k8se4Zo70) 21 | 22 | ### Outros links 23 | [Lazydocker - Jesse Duffield](https://github.com/jesseduffield/lazydocker)\ 24 | [Docker-files - Pedro Jr](https://github.com/pedrojr/docker-files) 25 | -------------------------------------------------------------------------------- /mensageria/readme.md: -------------------------------------------------------------------------------- 1 | ## Mensageria 2 | 3 | Mensageria é um conceito definido por sistemas distribuídos que se comunicam por meio de troca de mensagens (evento), sendo estas mensagens gerenciadas por um Message Broker (servidor/módulo de mensagens). [antlia.com.br](https://antlia.com.br/artigos/servicos-de-mensageria/) 4 | 5 | ### Links 6 | [RabbitMQ - Luiz Carlos](https://gago.io/rabbitmq/)\ 7 | [Introdução ao RabbitMQ - Luis Felipe](https://www.luisdev.com.br/2022/07/06/introducao-ao-rabbitmq/)\ 8 | [Uma introdução ao Apache Kafka, lições aprendidas em um ambiente de varejo - Rodrigo Brito / Marcelo Costa](https://www.infoq.com/br/articles/apache-kafka-licoes/)\ 9 | [Solução de mensageria não é um bicho de 7 cabeças - Fernando Franzini](https://imasters.com.br/devsecops/solucao-de-mensageria-nao-e-um-bicho-de-7-cabecas)\ 10 | [15 padrões de mensageria para integração de sistemas - Helder Rocha](https://pt.slideshare.net/helderdarocha/15-padres-de-mensageria-para-integrao-de-sistemas)\ 11 | [Por que adotar Kafka para mensageria? - Elemar Jr](https://eximia.co/por-que-adotar-kafka-para-mensageria/) 12 | 13 | ### Vídeos 14 | [Gerenciamento de filas com RabbitMQ - Marcela Godoy](https://www.infoq.com/br/presentations/gerenciamento-de-filas-com-rabbitmq/)\ 15 | [Mensageria: o pombo-correio de seus sistemas - Hanneli Tavante / Luan Cestari](https://www.infoq.com/br/presentations/mensageria-de-seus-sistemas/)\ 16 | [Mensageria no Mercado Livre - Rodrigo Branas](https://www.youtube.com/watch?v=IFOFHx0PIfY)\ 17 | [Implementando Mensageria com PostgreSQL - Rafael Ponte](https://www.youtube.com/watch?v=jTLP5DrIocA)\ 18 | [Mensageria + .NET: Kafka, RabbitMQ, Azure - Canal dotNET](https://www.youtube.com/watch?v=_vRAyiRZrFE)\ 19 | [Mensageria com RabbitMQ - Canal dotNET](https://www.youtube.com/watch?v=ksiw6sPjK8w) 20 | -------------------------------------------------------------------------------- /gc/readme.md: -------------------------------------------------------------------------------- 1 | ## Garbage Collection 2 | 3 | Coletor de lixo (em inglês: garbage collector, ou o acrônimo GC) é um processo usado para a automação do gerenciamento de memória. Com ele é possível recuperar uma área de memória inutilizada por um programa, o que pode evitar problemas de vazamento de memória, resultando no esgotamento da memória livre para alocação. [wikipedia.org](https://en.wikipedia.org/wiki/Garbage_collection_(computer_science)) 4 | 5 | ### Links 6 | [Conhecendo um pouco sobre o Garbage Collector(GC) - Macoratti](https://www.macoratti.net/10/09/net_gc1.htm)\ 7 | [Coleta de lixo - Learn.microsoft](https://learn.microsoft.com/pt-br/dotnet/standard/garbage-collection/)\ 8 | [Java Garbage Collection Basics](https://www.oracle.com/webfolder/technetwork/tutorials/obe/java/gc01/index.html)\ 9 | [7 kinds of garbage collection for Java - Jayashree Huttanagoudar](https://opensource.com/article/22/7/garbage-collection-java) 10 | 11 | ### Vídeos 12 | [Como funciona a alocação? - Pisani da ArcH](https://www.youtube.com/watch?v=ljq79LVxVIY)\ 13 | [Memória Stack e Heap, tudo o que você precisa saber para arquitetar seus softwares - Pisani da ArcH](https://www.youtube.com/watch?v=Qve5f-PgQ18)\ 14 | [Entendendo a Heap e o Garbage Collector em .NET - Elemar Jr](https://www.youtube.com/watch?v=s5-uC-taIi4)\ 15 | [Como o Garbage Collector (GC) afeta a performance em .NET: Validação de CPF - Elemar Jr](https://www.youtube.com/watch?v=CgWTXh66cXc)\ 16 | [Performance máxima em .NET: como entender o GC pode acelerar apps em 10x - Canal dotNET](https://www.youtube.com/watch?v=NOCfr5HRDvM)\ 17 | [Guia prático para Garbage Collection no Java 8, 9 e além - Douglas Campos](https://www.infoq.com/br/presentations/guia-pratico-para-garbage-collection-no-java/)\ 18 | [Java Garbage Collectors’ Current Performance Impact - Oracle Developers](https://www.youtube.com/watch?v=BTIcja5xcK0) 19 | -------------------------------------------------------------------------------- /rpc-grpc/readme.md: -------------------------------------------------------------------------------- 1 | ## RPC / gRPC 2 | 3 | gRPC (Remote Procedure Calls) também conhecido como Google Remote Procedure Call é um sistema de código aberto de chamada de procedimento remoto (RPC) desenvolvido inicialmente no Google em 2015 como a próxima geração de a infraestrutura RPC, Stubby. Ele usa HTTP/2 para transporte, Protocol Buffers como a linguagem de descrição da interface e fornece recursos como autenticação, streaming bidirecional e controle de fluxo, ligações de bloqueio ou não, e cancelamento e tempos limite. [wikipedia.org](https://pt.wikipedia.org/wiki/GRPC) 4 | 5 | ### Links 6 | [RPC - Uepg.br](https://deinfo.uepg.br/~alunoso/2017/RPC/oquee.html)\ 7 | [gRPC - Learn.microsoft](https://learn.microsoft.com/pt-br/dotnet/architecture/cloud-native/grpc)\ 8 | [O que é gRPC e quais suas vantagens? - Tiago Tartari](https://tiagotartari.net/o-que-e-grpc-e-quais-suas-vantagens.html)\ 9 | [O que é gRPC - Rodrigo Tavares](https://dev.to/expertostech/o-que-e-grpc-seus-componentes-rpc-e-http2-parte-1-nnm)\ 10 | [gRPC vs REST - Guillaume Falourd](https://gist.github.com/GuillaumeFalourd/30c126520b39cdf60c6965812a695371)\ 11 | [gRPC vs REST - Nitin Khaitan](https://medium.com/towards-polyglot-architecture/grpc-vs-rest-comparing-api-architecture-4be9b1cdc703) 12 | 13 | ### Vídeos 14 | [Introdução a gRPC - Rafael Ponte](https://www.youtube.com/watch?v=r8gOKuWgNvw)\ 15 | [Zup Decodifica: gRPC - Rafael Ponte](https://www.youtube.com/playlist?list=PLkX9oUrQ1ev6g-0Hx2iNmYohYg4L1H8vg)\ 16 | [gRPC: o novo modelo de comunicação Cross-Platform - Canal dotNET](https://www.youtube.com/watch?v=rrugn-DDfRI)\ 17 | [GRPC e Protolocos para Microservices - Pisani da ArcH](https://www.youtube.com/watch?v=utOaYtQLgMM)\ 18 | [gRPC vs REST na prática - Full Cycle](https://www.youtube.com/watch?v=9RvushutRPw) 19 | 20 | ### Outros links 21 | [Grpc.io](https://grpc.io/)\ 22 | [BloomRPC](https://github.com/bloomrpc/bloomrpc) 23 | -------------------------------------------------------------------------------- /hexagonal-architecture/readme.md: -------------------------------------------------------------------------------- 1 | ## Hexagonal architecture 2 | 3 | A arquitetura hexagonal, também conhecida como arquitetura de portas e adaptadores, é um padrão de arquitetura de software que visa criar componentes de aplicativos fracamente acoplados que podem ser facilmente conectados ao seu ambiente de software por meio de portas e adaptadores. [wikipedia.org](https://en.wikipedia.org/wiki/Hexagonal_architecture_(software)) 4 | 5 | ### Links 6 | [Hexagonal architecture - Alistair Cockburn](https://alistair.cockburn.us/hexagonal-architecture/)\ 7 | [Engenharia de Software Moderna - Marco Tulio Valente](https://engsoftmoderna.info/artigos/arquitetura-hexagonal.html)\ 8 | [Arquitetura Hexagonal - Caelum](https://github.com/caelum/apostila-oo-avancado-em-java/blob/master/13-arquitetura-hexagonal.md)\ 9 | [Sobre Ports and Adapters, Agnostic Services e modelagem de Serviços - Luiz Carlos Faria](https://gago.io/blog/sobre-ports-and-adapters-agnostic-services-e-modelagem-de-servicos/)\ 10 | [POC Multi Modulos - Arquitetura Hexagonal - Wesley Oliveira](https://github.com/wesleyosantos91/poc-multi-module-arch-hexagonal-springboot)\ 11 | [Ready for changes with Hexagonal Architecture - Netflix TechBlog](https://netflixtechblog.com/ready-for-changes-with-hexagonal-architecture-b315ec967749) 12 | 13 | ### Vídeos 14 | [Descomplicando "Arquitetura Hexagonal" - Elemar Jr](https://www.youtube.com/watch?v=V7JnDDQY1m0)\ 15 | [Clean Architecture e Hexagonal architecture: Explicando no detalhe o propósito e as semelhanças - Alberto Souza](https://www.youtube.com/watch?v=_OIoAYFmbx8)\ 16 | [Quando utilizar a Arquitetura Hexagonal - Nataniel Paiva](https://www.youtube.com/watch?v=opH8tomzw60)\ 17 | [Vale a pena utilizar arquitetura hexagonal? - Mônica Ribeiro](https://www.youtube.com/watch?v=59ecdfC31Nk)\ 18 | [Aplicando Arquitetura Hexagonal com testes de integração e unidade - Rodrigo Branas](https://www.youtube.com/watch?v=DWsxTJpxaOo)\ 19 | [Hexagonal Architecture (Ports and Adapters) with Alistair Cockburn - Rodrigo Branas](https://www.youtube.com/watch?v=AOIWUPjal60)\ 20 | [Arquitetura Hexagonal? - Nilson Jr](https://www.youtube.com/watch?v=veddUMcWZiM) 21 | -------------------------------------------------------------------------------- /mvc-mvp/readme.md: -------------------------------------------------------------------------------- 1 | ## MVC 2 | 3 | Model-View-Controller é um padrão de projeto de software, ou padrão de arquitetura de software formulado na década de 1970, focado no reuso de código e a separação de conceitos em três camadas interconectadas, onde a apresentação dos dados e interação dos usuários (front-end) são separados dos métodos que interagem com o banco de dados (back-end). [wikipedia.org](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller) 4 | 5 | ## MVP 6 | 7 | Model-View-Presenter é uma derivação do padrão MVC, usado também para construir principalmente interfaces gráficas. Em MVP a camada Presenter assume a função de mediadora (executada pelo Controller em MVC). Além disso, a View é responsável por manipular os eventos UI (como mouseDown, keyDown, etc.), que era o trabalho da Controller. Finalmente, a Model se torna estritamente um modelo de domínio. [wikipedia.org](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93presenter) 8 | 9 | --- 10 | 11 | ### Links 12 | [MVP Android - Vinícius Thiengo](https://www.thiengo.com.br/mvp-android)\ 13 | [Java Spring MVC: Criando Aplicações Web em Java - Devmedia](https://www.devmedia.com.br/java-spring-mvc-criando-aplicacoes-web-em-java/31521)\ 14 | [Estilos arquiteturais: conheça melhor o MVC (Model, View, Controller) - Matheus Henrique](https://imasters.com.br/arquitetura-da-informacao/156713-2)\ 15 | [Design Patterns: Model View Presenter - Learn.microsoft](https://learn.microsoft.com/en-us/archive/msdn-magazine/2006/august/design-patterns-model-view-presenter)\ 16 | [Difference Between MVC and MVP Patterns - Baeldung](https://www.baeldung.com/mvc-vs-mvp-pattern)\ 17 | [ASP.NET MVC Pattern - Dotnet.microsoft](https://dotnet.microsoft.com/en-us/apps/aspnet/mvc) 18 | 19 | ### Vídeos 20 | [O que é MVC? - Devmedia](https://www.youtube.com/watch?v=fI_w0XBo4ZM)\ 21 | [Padrão MVC (Model - View - Controller) - Cod3r Cursos](https://www.youtube.com/watch?v=mMDt9g7bMjk)\ 22 | [Entenda AGORA o PADRÃO Arquitetural MVC - Pisani da ArcH](https://www.youtube.com/watch?v=9Ieh0yoiiqI)\ 23 | [MVC Pattern: Organizando o projeto - Deivid Willyan](https://www.youtube.com/watch?v=KDDU4ZT_fXU) 24 | -------------------------------------------------------------------------------- /event-driven-architecture/readme.md: -------------------------------------------------------------------------------- 1 | ## Event-driven architecture 2 | 3 | Arquitetura orientada a eventos é um paradigma de arquitetura de software que promove a produção, detecção, consumo e reação a eventos. [wikipedia.org](https://en.wikipedia.org/wiki/Event-driven_architecture) 4 | 5 | ### Links 6 | [Arquitetura orientada a eventos - Learn.microsoft](https://learn.microsoft.com/pt-br/azure/architecture/guide/architecture-styles/event-driven)\ 7 | [11 erros comuns em arquiteturas orientadas a eventos e como evitá-los - João Bosco / Marcelo Costa](https://www.infoq.com/br/articles/11-erros-eda-como-evitar/)\ 8 | [Behind the scenes: McDonald’s event-driven architecture - McDonald’s Technical Blog](https://medium.com/mcdonalds-technical-blog/behind-the-scenes-mcdonalds-event-driven-architecture-51a6542c0d86)\ 9 | [McDonald’s event-driven architecture: The data journey and how it works - McDonald’s Technical Blog](https://medium.com/mcdonalds-technical-blog/mcdonalds-event-driven-architecture-the-data-journey-and-how-it-works-4591d108821f)\ 10 | [Event Driven Architecture - 5 Pitfalls to Avoid - Natan Silnitsky](https://medium.com/wix-engineering/event-driven-architecture-5-pitfalls-to-avoid-b3ebf885bdb1)\ 11 | [Event-Driven Architectures vs. Event-Based Compute in Serverless Applications - Alex DeBrie](https://www.alexdebrie.com/posts/event-driven-vs-event-based/) 12 | 13 | ### Vídeos 14 | [Event Driven Architecture na Creditas - Camila Campos](https://www.youtube.com/watch?v=pRG0Phb8ZJM)\ 15 | [Apresentando nossa Event Driven Architecture (100% escrita em Go) - Ricardo Longa / Cleverson](https://www.infoq.com/br/presentations/apresentando-nossa-event-driven-architecture/)\ 16 | [Event-Driven Architecture: entendendo Event Notification](https://www.youtube.com/watch?v=J7ze_DJOpB4)\ 17 | [Event-Driven Architecture, Microservices e CQRS: A combinação perfeita - Rodrigo Branas](https://www.youtube.com/watch?v=2LQkKU3dPGo)\ 18 | [Event Driven Architecture in the Real World! 4 Practical Examples - CodeOpinion](https://www.youtube.com/watch?v=dhdLxW0vDro)\ 19 | [My TOP Patterns for Event Driven Architecture - CodeOpinion](https://www.youtube.com/watch?v=P5hq6iWn_p8) 20 | -------------------------------------------------------------------------------- /ddd/readme.md: -------------------------------------------------------------------------------- 1 | ## DDD - Domain-driven design 2 | 3 | Domain-driven design (DDD) é uma importante abordagem de design de software, com foco na modelagem de software para corresponder a um domínio de acordo com a entrada dos especialistas desse domínio. [wikipedia.org](https://en.wikipedia.org/wiki/Domain-driven_design) 4 | 5 | ### Links 6 | [DDD do jeito certo - Elemar Jr](https://ddd-do-jeito-certo.online/)\ 7 | [Domain-Driven Design - gitlab.io](https://ajuda.gitlab.io/guia-rapido/arquitetura/design-patterns/domain-driven-design/)\ 8 | [Domain-Driven Design: guia básico sobre DDD - Danilo Masotti](https://www.zup.com.br/blog/domain-driven-design-ddd)\ 9 | [Design: DDD - Desfazendo Mal-entendidos - William Santos](https://dev.to/wsantosdev/design-desfazendo-mal-entendidos-ddd-o05)\ 10 | [Domain-Driven Design - Martin Fowler](https://martinfowler.com/tags/domain%20driven%20design.html)\ 11 | [Domain Driven Design Quickly - Abel Avram e Floyd Marinescu](https://www.infoq.com/minibooks/domain-driven-design-quickly/)\ 12 | [Domain Driven Design - Felipe Freitas](https://thedomaindrivendesign.io/) 13 | 14 | ### Vídeos 15 | [DDD do jeito certo - Elemar Jr](https://www.youtube.com/playlist?list=PLkpjQs-GfEMN8CHp7tIQqg6JFowrIX9ve)\ 16 | [Entidades, Value Objects e Agregados: conceitos fundamentais para representar domínio em código - Elemar Jr](https://www.youtube.com/watch?v=EuNHj8r1ADM)\ 17 | [Domain-Driven Design: comece do jeito certo! - Canal dotNET](https://www.youtube.com/watch?v=FwV1vmC7PzE)\ 18 | [Domain Driven Design do Jeito Certo - Elemar Jr](https://www.youtube.com/watch?v=cz6EU7Z_BhE)\ 19 | [DDD, Domain-Driven Design com Elemar Jr - Rodrigo Branas](https://www.youtube.com/watch?v=NsQnmmIykoE)\ 20 | [DDD: Boas Práticas na escrita e validação de Entidades de Domínio - Eduardo Pires](https://www.youtube.com/watch?v=NryGGD21O20)\ 21 | [DDD fundamentals - Codewrinkles](https://www.youtube.com/playlist?list=PL2E-vlKoo_v3ch9oZWYZWwRbqdVoWHY8X) 22 | 23 | ### Outros links 24 | [Interview Eric Evans - se-radio.net](https://www.se-radio.net/2006/03/episode-8-interview-eric-evans/)\ 25 | [Balancing Coupling in Software Design - Vlad Khononov](https://www.youtube.com/watch?v=dGG7FqXX6EA) 26 | -------------------------------------------------------------------------------- /onion-architecture/readme.md: -------------------------------------------------------------------------------- 1 | ## Onion architecture 2 | 3 | O termo Onion Architecture foi cunhado por Jeffrey Palermo em 2008. Essa arquitetura fornece uma alternativa robusta para criar aplicativos para uma melhor testabilidade, manutenção e confiabilidade nas infraestruturas como bancos de dados e serviços. [macoratti.net](https://www.macoratti.net/20/05/net_onion1.htm) 4 | 5 | ### Links 6 | [The Onion Architecture: part 1 - Jeffrey Palermo](https://jeffreypalermo.com/2008/07/the-onion-architecture-part-1/)\ 7 | [The Onion Architecture: part 2 - Jeffrey Palermo](https://jeffreypalermo.com/2008/07/the-onion-architecture-part-2/)\ 8 | [The Onion Architecture: part 3 - Jeffrey Palermo](https://jeffreypalermo.com/2008/08/the-onion-architecture-part-3/)\ 9 | [Onion Architecture: Part 4 – After Four Years - Jeffrey Palermo](https://jeffreypalermo.com/2013/08/onion-architecture-part-4-after-four-years/)\ 10 | [Construindo uma arquitetura corporativa de alto nível com a Onion Architecture - Marcelo Maico](https://www.infoq.com/br/articles/onion-architecture/)\ 11 | [Onion Architecture In ASP.NET Core MVC - SANDEEP SINGH](https://www.c-sharpcorner.com/article/onion-architecture-in-asp-net-core-mvc/) 12 | 13 | ### Vídeos 14 | [Onion Architecture (Arquitetura Cebola) - André Secco](https://www.youtube.com/watch?v=sZPBvlmuvw4)\ 15 | [Onion Architecture X Traditional Layered Architecture - André Secco](https://www.youtube.com/watch?v=dcSrCmupxio)\ 16 | [Onion Architecture - Jeffrey Palermo](https://www.youtube.com/watch?v=nFU-L7QdS78)\ 17 | [.NET 6 using Onion Architecture, Part I - Jeffrey Palermo](https://www.youtube.com/watch?v=7zXOwZoVnH8)\ 18 | [.NET 6 using Onion Architecture, Part II - Jeffrey Palermo](https://www.youtube.com/watch?v=M_u_L_6ITpo)\ 19 | [.NET 6 using Onion Architecture, Part III - Jeffrey Palermo](https://www.youtube.com/watch?v=I1osJQHKDUw)\ 20 | [.NET 6 using Onion Architecture, Part IV - Jeffrey Palermo](https://www.youtube.com/watch?v=N6Xdg1sEeO4)\ 21 | [.NET 6 using Onion Architecture, Part V - Jeffrey Palermo](https://www.youtube.com/watch?v=vRgJ2aN2pTw)\ 22 | [.NET 6 using Onion Architecture, Part VI - Jeffrey Palermo](https://www.youtube.com/watch?v=5pF-EFN6cWg) 23 | -------------------------------------------------------------------------------- /dry-kiss-yagni/readme.md: -------------------------------------------------------------------------------- 1 | 2 | ### Dry 3 | Dry, Don't repeat yourself (em português: Não repita a si mesmo), é um conceito de programação de computadores o qual propõe que cada porção de conhecimento em um sistema deve possuir uma representação única, de autoridade e livre de ambiguidades em todo o sistema. [wikipedia.org](https://pt.wikipedia.org/wiki/Don%27t_repeat_yourself) 4 | 5 | ### Links 6 | [Macoratti](https://www.macoratti.net/16/04/net_dry1.htm)\ 7 | [InfoQ](https://www.infoq.com/br/news/2012/07/DRY-acoplamento-duplicacao/)\ 8 | [Baeldung](https://www.baeldung.com/cs/dry-software-design-principle)\ 9 | [Why DRY is the most over-rated programming principle](https://gordonc.bearblog.dev/dry-most-over-rated-programming-principle/)\ 10 | [DRY Is Bad! - Codewrinkles](https://www.youtube.com/watch?v=v1ZoScsoQSw) 11 | 12 | --- 13 | 14 | ### Kiss 15 | KISS, Keep it simple, stupid! (em português: Mantenha simples, estúpido!), o princípio afirma que a maioria dos sistemas funciona melhor se forem mantidos simples em vez de complicados; portanto, a simplicidade deve ser um objetivo chave no projeto, e a complexidade desnecessária deve ser evitada. [wikipedia.org](https://pt.wikipedia.org/wiki/Princ%C3%ADpio_KISS) 16 | 17 | ### Links 18 | [Macoratti](https://www.macoratti.net/20/03/net_kiss1.htm)\ 19 | [Interaction Design](https://www.interaction-design.org/literature/topics/keep-it-simple-stupid)\ 20 | [Baeldung](https://www.baeldung.com/cs/kiss-software-design-principle)\ 21 | [KISS - Código Fonte TV](https://www.youtube.com/watch?v=HmBG-1cdHUw) 22 | 23 | --- 24 | 25 | ### Yagni 26 | YAGNI é uma abreviação da expressão de língua inglesa You Ain't Gonna Need It. Em engenharia de software, é uma orientação de trabalho que sugere aos programadores que não adicionem funcionalidades ao código fonte de um programa até que estas sejam realmente necessárias. [wikipedia.org](https://pt.wikipedia.org/wiki/YAGNI) 27 | 28 | ### Links 29 | [Macoratti](https://www.macoratti.net/15/12/net_yagni1.htm)\ 30 | [Martin Fowler](https://martinfowler.com/bliki/Yagni.html) 31 | 32 | --- 33 | 34 | ### Vídeos 35 | [DRY, KISS, YAGNI | Code/Drops #27 - Rocketseat](https://www.youtube.com/watch?v=5yJ_cAUrpQc) 36 | -------------------------------------------------------------------------------- /other-patterns/readme.md: -------------------------------------------------------------------------------- 1 | ## Outros padrões 2 | 3 | ### DTOs 4 | [C# - DTO x Value Object x POCO - Macoratti](https://www.macoratti.net/19/07/c_dtovopc1.htm)\ 5 | [DTO: muito hipster ou depreciado? - Otavio Santana](https://www.infoq.com/br/articles/dto-hipster-ou-depreciado/)\ 6 | [Data Transfer Object - Martin Fowler](https://martinfowler.com/eaaCatalog/dataTransferObject.html)\ 7 | [DTOs no CQRS - André Baltieri](https://balta.io/cursos/criando-apis-com-nest-framework/criando-apis-com-nest-framework-dtos-no-cqrs)\ 8 | [DTO Pattern - Pisani da ArcH](https://www.youtube.com/watch?v=SQM2U8b_9Ig)\ 9 | [Padrão DTO - Loiane Groner](https://www.youtube.com/watch?v=xeOBISdqTQc) 10 | 11 | ### Repository 12 | [Apresentando o padrão de projeto Repository - Macoratti](https://www.macoratti.net/11/10/net_pr1.htm)\ 13 | [Repository - Martin Fowler](https://martinfowler.com/eaaCatalog/repository.html)\ 14 | [Repository Pattern With Entity Framework Core - Milan Jovanović](https://www.youtube.com/watch?v=h4KIngWVpfU)\ 15 | [Should you use the Repository Pattern? With CQRS, Yes and No! - CodeOpinion](https://www.youtube.com/watch?v=01lygxvbao4) 16 | 17 | ### Unit of work 18 | [Padrão Repository e Unit of Work com EF 6 - Macoratti](https://www.macoratti.net/16/01/net_uow1.htm)\ 19 | [Dapper Unit of Work e Repository Pattern - André Baltieri](https://balta.io/blog/dapper-unit-of-work-repository-pattern)\ 20 | [Unit of Work - Martin Fowler](https://martinfowler.com/eaaCatalog/unitOfWork.html)\ 21 | [Repository Pattern e Unit of Work - André Baltieri](https://www.youtube.com/watch?v=HdsRpSK4PUg)\ 22 | [Implementando o Padrão Unit of Work - Canal dotNET](https://www.youtube.com/watch?v=DZZSmllmydc)\ 23 | [Why I Use The Unit of Work Pattern With EF Core - Milan Jovanović](https://www.youtube.com/watch?v=vN_j1Bs0ALU) 24 | 25 | ### Fluent apis 26 | [Fluent API: criando código fácil e intuitivo com uma API fluente - Otavio Santana](https://www.zup.com.br/blog/fluent-api)\ 27 | [Fluent API - André Baltieri](https://balta.io/blog/csharp-fluent-apis)\ 28 | [Fluent APIs e Builder Design Pattern - André Baltieri](https://www.youtube.com/watch?v=9LioPE7eXSk)\ 29 | [Why I've Come to Prefer Fluent APIs Over Other Kinds of DSLs - John Slaby](https://www.infoq.com/presentations/dsl-fluent-api/) 30 | -------------------------------------------------------------------------------- /multitenancy/readme.md: -------------------------------------------------------------------------------- 1 | ## Multitenancy 2 | 3 | Multilocação de software é uma arquitetura de software na qual uma única instância de software é executada em um servidor e atende a vários locatários. Os sistemas projetados dessa maneira são "compartilhados" (em vez de "dedicados" ou "isolados"). Um inquilino é um grupo de usuários que compartilham um acesso comum com privilégios específicos à instância de software. [wikipedia.org](https://en.wikipedia.org/wiki/Multitenancy) 4 | 5 | ### Links 6 | [ASP.NET Core - Aplicações Multi-Tenant - Macoratti](https://macoratti.net/21/07/aspnc_multenant1.htm)\ 7 | [Projetando a Arquitetura de um SaaS, Multi-Tenant, baseada em Microserviços - Ruben Lins Silva](https://www.linkedin.com/pulse/projetando-arquitetura-de-um-saas-multi-tenant-em-ruben-lins-silva/)\ 8 | [A beginner’s guide to database multitenancy - Vlad Mihalcea](https://vladmihalcea.com/database-multitenancy/)\ 9 | [Architect multitenant solutions on Azure - Learn.microsoft](https://learn.microsoft.com/en-us/azure/architecture/guide/multitenant/overview)\ 10 | [Multitenancy With Spring Data JPA - Hamid Reza Sharifi](https://www.baeldung.com/multitenancy-with-spring-data-jpa) 11 | 12 | ### Vídeos 13 | [Introdução à Multi-Tenancy - LuizTools](https://www.youtube.com/watch?v=h-jqjCil4pY)\ 14 | [Criando o primeiro Tenant (ambiente multitenant) - DevPleno](https://www.youtube.com/watch?v=vKcHXY5N8eg)\ 15 | [Multi-tenant ASP.NET Core Apps - Dotnet](https://www.youtube.com/watch?v=-sz49Qwjao8)\ 16 | [Spring Tips: Multitenant JDBC - SpringDeveloper](https://www.youtube.com/watch?v=hjJ6ODxgYqE)\ 17 | [Multi-tenant Architecture for SaaS - CodeOpinion](https://www.youtube.com/watch?v=e8k6TynqGFs) 18 | 19 | ### Outros links 20 | [Multitenancy-webapi-boilerplate - Fullstackhero](https://github.com/fullstackhero/dotnet-webapi-boilerplate)\ 21 | [MultiTenancyServer - MultiTenancyServer](https://github.com/MultiTenancyServer/MultiTenancyServer)\ 22 | [Multitenancy-aspnet-core - Mukesh Murugan](https://github.com/iammukeshm/multitenancy-aspnet-core)\ 23 | [Multitenancy-dynamic-tenant - Sunit Katkar](https://github.com/sunitk/multitenancy-dynamic-tenant)\ 24 | [Blog-multitenancy - Callista Enterprise](https://github.com/callistaenterprise/blog-multitenancy)\ 25 | [Flyway-multitenancy - Artur Kuksin](https://github.com/arkuksin/flyway-multitenancy) 26 | -------------------------------------------------------------------------------- /microservices/readme.md: -------------------------------------------------------------------------------- 1 | ## Microsserviços 2 | 3 | ### Links 4 | [Microsserviços 1 - Lambda3](https://www.lambda3.com.br/2019/02/lambda3-podcast-128-microsservicos/)\ 5 | [Microsserviços 2 - Lambda3](https://www.lambda3.com.br/2019/03/lambda3-podcast-132-microsservicos-2/)\ 6 | [Microsserviços 3 - Lambda3](https://www.lambda3.com.br/2019/08/lambda3-podcast-156-microsservicos-3/)\ 7 | [Microsserviços 4 - Lambda3](https://www.lambda3.com.br/2020/01/lambda3-podcast-180-microsservicos-4/)\ 8 | [Microsserviços 5 - Lambda3](https://www.lambda3.com.br/2020/05/lambda3-podcast-194-microsservicos-5/)\ 9 | [Microsserviços 6 - Lambda3](https://www.lambda3.com.br/2020/08/lambda3-podcast-208-microsservicos-6/)\ 10 | [Estilo de arquitetura de microsserviço - Learn.microsoft](https://learn.microsoft.com/pt-br/azure/architecture/guide/architecture-styles/microservices)\ 11 | [Padrão de gateway de API versus comunicação direta de cliente com microsserviço - Learn.microsoft](https://learn.microsoft.com/pt-br/dotnet/architecture/microservices/architect-microservice-container-applications/direct-client-to-microservice-communication-versus-the-api-gateway-pattern)\ 12 | [24 microservices interview questions and answers to land that job - The Educative Team](https://grokkingtechinterview.com/24-microservices-interview-questions-and-answers-to-land-that-job-4ae81ef34083)\ 13 | [Microservice Architecture - Chris Richardson](https://microservices.io/) 14 | 15 | ### Vídeos 16 | [Monolito ou microsserviços - Zup - Rafael Ponte](https://www.youtube.com/watch?v=Prqd7xG1fpA)\ 17 | [Modelagem de Microsserviços a partir de Processos de Negócio - Canal dotNET](https://www.youtube.com/watch?v=KFq3sQFmNLA)\ 18 | [Monolito ou microsserviços - Desenvolvedor.io](https://www.youtube.com/watch?v=eQOAIsyrN6U)\ 19 | [Entendendo o mundo dos Microsserviços - Rodrigo Branas](https://www.youtube.com/watch?v=33LxCvyU_FU)\ 20 | [Microsserviços ou Monolíticos? - André Baltieri](https://www.youtube.com/watch?v=5-2kkglKgow)\ 21 | [Turbinando seus Microsserviços com Cache Distribuído - Jordi Henrique](https://www.youtube.com/watch?v=8K1tegXrDl4)\ 22 | [Building a microservice architecture with ASP.NET Core - Gill Cleeren](https://www.youtube.com/watch?v=SR53SKIUYPA)\ 23 | [Saga Pattern For Microservice Architecture With Rebus And RabbitMQ - Milan Jovanović](https://www.youtube.com/watch?v=dlXCodLxhag) 24 | -------------------------------------------------------------------------------- /rest/readme.md: -------------------------------------------------------------------------------- 1 | ## REST 2 | 3 | Na informática e engenharia de software, Representational State Transfer (abreviado REST), em português Transferência de Estado Representacional, é um estilo de arquitetura de software, criado em 2000 por Roy Fielding, que define um conjunto de restrições a serem usadas para a criação de um tipo especial de serviços-Web, denominados Web services RESTful, que fornecem interoperabilidade entre sistemas de computadores na Internet; RESTful permite que os sistemas solicitantes acessem e manipulem representações textuais de recursos da Web usando um conjunto uniforme e predefinido de operações sem estado (requisição e resposta independentes). [wikipedia.org](https://pt.wikipedia.org/wiki/REST) 4 | 5 | ### Links 6 | [API REST - IBM](https://www.ibm.com/docs/pt-br/control-desk/7.6.1.2?topic=apis-rest-api)\ 7 | [O que é API RESTful? - Aws.amazon](https://aws.amazon.com/pt/what-is/restful-api/)\ 8 | [Origem e significado de REST e RESTful - Elemar Jr](https://eximia.co/origem-e-significado-de-rest-e-restful/)\ 9 | [REST - Desfazendo Mal-entendidos - William Santos](https://dev.to/wsantosdev/design-desfazendo-mal-entendidos-rest-1ih1)\ 10 | [O guia definitivo para o design de APIs RESTful - Giuliana Bezerra](https://giuliana-bezerra.medium.com/o-guia-definitivo-para-o-design-de-apis-restful-c9eef929fe0b)\ 11 | [Utilizando HATEOAS para reduzir acoplamento e “inteligência de negócio” em aplicações cliente - Elemar Jr](https://eximia.co/utilizando-hateoas-para-reduzir-acoplamento-e-inteligencia-de-negocio-em-aplicacoes-cliente/)\ 12 | [Spring HATEOAS - Oliver Drotbohm / Greg Turnquist / Jay Bryant](https://docs.spring.io/spring-hateoas/docs/current/reference/html/)\ 13 | [The complete guide to protecting your APIs with OAuth2 - Dan Moore](https://stackoverflow.blog/2022/04/11/the-complete-guide-to-protecting-your-apis-with-oauth2/) 14 | 15 | ### Vídeos 16 | [REST do Jeito Certo - Elemar Jr](https://www.youtube.com/playlist?list=PLkpjQs-GfEMPituMCb77qd90onpF3khFt)\ 17 | [Discutindo REST(ful) em profundidade - Elemar Jr](https://www.youtube.com/watch?v=-KaIKj3-2So)\ 18 | [REST, uma reflexão sobre os princípios que escolhemos utilizar - Alberto Souza](https://www.youtube.com/watch?v=3T5kmoNExME)\ 19 | [Introdução ao REST // REST API - Rodrigo Branas](https://www.youtube.com/watch?v=yZifRUvxdAk)\ 20 | [O que é API? REST e RESTful? - Mayk Brito](https://www.youtube.com/watch?v=ghTrp1x_1As) 21 | -------------------------------------------------------------------------------- /solid/readme.md: -------------------------------------------------------------------------------- 1 | ## SOLID 2 | 3 | Na programação de computadores orientada a objetos, o termo SOLID é um acrônimo para cinco postulados de design, destinados a facilitar a compreensão, o desenvolvimento e a manutenção de software. [wikipedia.org](https://pt.wikipedia.org/wiki/SOLID) 4 | 5 | ### Links 6 | [SOLID - gitlab.io](https://ajuda.gitlab.io/guia-rapido/arquitetura/design-patterns/solid/introducao/)\ 7 | [SOLID para devs de alta performance - Carly Oliveira](https://www.zup.com.br/blog/solid-devs-de-alta-performance)\ 8 | [SOLID: os primeiros 5 princípios do design orientado a objeto - Samuel Oloruntoba](https://www.digitalocean.com/community/conceptual-articles/s-o-l-i-d-the-first-five-principles-of-object-oriented-design-pt)\ 9 | [Os princípios SOLID da Programação Orientada a Objetos explicados em bom português - Daniel Rosa](https://www.freecodecamp.org/portuguese/news/os-principios-solid-da-programacao-orientada-a-objetos-explicados-em-bom-portugues/)\ 10 | [Pílula de Arquitetura - Princípios SOLID - Macoratti](https://www.macoratti.net/11/05/pa_solid.htm) 11 | 12 | ### Vídeos 13 | [SOLID fica fácil com essas ilustrações - Filipe Deschamps](https://www.youtube.com/watch?v=6SfrO3D4dHM)\ 14 | [SOLID #1: Uma reflexão sobre o Princípio da responsabilidade única - Alberto Souza](https://www.youtube.com/watch?v=GGe0o_v5vjM)\ 15 | [SOLID #2: Princípio do aberto/fechado - Alberto Souza](https://www.youtube.com/watch?v=DU_O5oqMixc)\ 16 | [SOLID #3: Princípio de substituição de Liskov - Alberto Souza](https://www.youtube.com/watch?v=MiV_tI3fNPQ)\ 17 | [SOLID #4: Princípio de segregação pela interface (ISP) - Alberto Souza](https://www.youtube.com/watch?v=0Jv31svi0qA)\ 18 | [SOLID #5: Princípio da inversão de dependências - Alberto Souza](https://www.youtube.com/watch?v=EDb3rs1wnOw)\ 19 | [Curso sobre boas práticas de programação - Dev Eficiente](https://www.youtube.com/playlist?list=PLVHlvMRWE0Y4APZiLYyUyWOyMKm1H9zwm)\ 20 | [SOLID: uma história de transformação de um código - Alexandre Aquiles](https://www.youtube.com/watch?v=IYZM2GtpIcs)\ 21 | [SOLID com TypeScript - Rodrigo Branas](https://www.youtube.com/watch?v=899Qa6sQcRc)\ 22 | [SOLID: Programação orientada a objetos - Mario Rezende](https://www.youtube.com/watch?v=rnWPWU7XKeg) 23 | 24 | ### Outros links 25 | [SOLID in Pictures - Ugonna Thelma](https://medium.com/backticks-tildes/the-s-o-l-i-d-principles-in-pictures-b34ce2f1e898)\ 26 | [Desbravando SOLID com Alexandre Aquiles](https://www.zup.com.br/zupcast/55-desbravando-solid) 27 | -------------------------------------------------------------------------------- /clean-architecture/readme.md: -------------------------------------------------------------------------------- 1 | ## Clean architecture 2 | 3 | Arquitetura Limpa é um padrão de arquitetura de software que segue os princípios de código limpo e implementa princípios SOLID. É uma arquitetura fracamente acoplada e de dependência invertida que coloca a lógica de negócios e o modelo de aplicativo no centro do aplicativo e foi projetada para facilitar a criação de aplicativos estáveis, mesmo quando os elementos externos, como interface do usuário, bancos de dados ou APIs externas, estão sempre mudando. [educative.io](https://www.educative.io/blog/clean-architecture-tutorial) 4 | 5 | ### Links 6 | [The Clean Architecture - Uncle Bob](https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html)\ 7 | [Clean Architecture with Spring Boot](https://www.baeldung.com/spring-boot-clean-architecture)\ 8 | [Descomplicando a Clean Architecture - Guilherme Zarelli](https://medium.com/luizalabs/descomplicando-a-clean-architecture-cf4dfc4a1ac6)\ 9 | [Clean Architecture: descubra o que é e onde aplicar Arquitetura Limpa - Danilo Masotti](https://www.zup.com.br/blog/clean-architecture-arquitetura-limpa)\ 10 | [Java e Clean Architecture: descomplicando arquitetura de software - Rodrigo Ferreira](https://www.alura.com.br/conteudo/java-clean-architecture)\ 11 | [Common web application architectures - Steve Smith](https://learn.microsoft.com/en-us/dotnet/architecture/modern-web-apps-azure/common-web-application-architectures) 12 | 13 | ### Vídeos 14 | [Clean Architecture - André Secco](https://www.youtube.com/playlist?list=PL3thWewfjbFTvhNNgvZ44CJ1y-UrkKIDP)\ 15 | [Clean Architecture - Os Tijolos(POO e SOLID) - Flutterando / André Baltieri](https://www.youtube.com/watch?v=C8mpy3pwqQc)\ 16 | [Entenda CLEAN ARCHITECTURE de uma vez por todas! - Junior Grossi](https://www.youtube.com/watch?v=HynTfTli4mw)\ 17 | [Clean Architecture: Exemplo prático de como seguir os princípios e reflexão sobre a real necessidade - Alberto Sousa](https://www.youtube.com/watch?v=wiAUCoTt7Mc)\ 18 | [Clean architecture: Provavelmente você não quer isso - Alberto Sousa](https://www.youtube.com/watch?v=SQfpiDlYd0g) 19 | 20 | ### Exemplos 21 | [Clean architecture Java - Mattia Battiston](https://github.com/mattia-battiston/clean-architecture-example)\ 22 | [Clean architecture template .NET - Jason Taylor](https://github.com/jasontaylordev/CleanArchitecture)\ 23 | [Clean architecture .NET - Steve Smith](https://github.com/ardalis/CleanArchitecture)\ 24 | [Pokedex app with Flutter - Hung Pham Sy](https://github.com/hungps/flutter_pokedex) 25 | -------------------------------------------------------------------------------- /design-patterns/readme.md: -------------------------------------------------------------------------------- 1 | ## Design patterns 2 | 3 | Em engenharia de software, um padrão de projeto é uma solução geral para um problema que ocorre com frequência dentro de um determinado contexto no projeto de software. Um padrão de projeto não é um projeto finalizado que pode ser diretamente transformado em código fonte ou de máquina, ele é uma descrição ou modelo (template) de como resolver um problema que pode ser usado em muitas situações diferentes. [wikipedia.org](https://pt.wikipedia.org/wiki/Padr%C3%A3o_de_projeto_de_software) 4 | 5 | ### Links 6 | [Design Patterns for Humans](https://github.com/design-patterns-for-humans/brazilian-portuguese)\ 7 | [Design patterns - Refactoring.guru](https://refactoring.guru/design-patterns)\ 8 | [Design Patterns In C# .NET - Kanchan Naik](https://www.c-sharpcorner.com/UploadFile/bd5be5/design-patterns-in-net/)\ 9 | [Gangs of Four (GoF) Design Patterns - Pankaj](https://www.digitalocean.com/community/tutorials/gangs-of-four-gof-design-patterns)\ 10 | [Design Patterns in Java - Mahipal Nehra](https://www.decipherzone.com/blog-detail/design-patterns-java)\ 11 | [Design Patterns in Java Tutorial - Tutorialspoint.com](https://www.tutorialspoint.com/design_pattern/index.htm)\ 12 | [Delphi Design Patterns GoF - André Celestino](https://www.andrecelestino.com/delphi-design-patterns-retrospectiva/) 13 | 14 | ### Vídeos 15 | [Design Patterns + .NET: exemplos de implementação na prática - Canal dotNET](https://www.youtube.com/watch?v=xe7UbRFL88I)\ 16 | [Design Patterns + .NET: exemplos de implementação na prática | 2a edição - Canal dotNET](https://www.youtube.com/watch?v=OwjmNDhZvKg)\ 17 | [Design Patterns + .NET: exemplos de implementação na prática | 3a edição - Canal dotNET](https://www.youtube.com/watch?v=D4rH5xF7smI)\ 18 | [Design Patterns + .NET: exemplos de implementação na prática | 4a edição - Canal dotNET](https://www.youtube.com/watch?v=2On-b8f7DHk)\ 19 | [Design Patterns com C#, .NET 6 e ASP.NET Core 6 - LuisDev](https://www.youtube.com/watch?v=mkqYfutRaVQ)\ 20 | [Design Patterns in Object Oriented Programming - Christopher Okhravi](https://www.youtube.com/playlist?list=PLrhzvIcii6GNjpARdnO4ueTUAVR9eMBpc) 21 | 22 | ### Outros links 23 | [Design Patterns: C# - Abishek Aditya](https://github.com/abishekaditya/DesignPatterns)\ 24 | [Design Patterns: Java - Ilkka Seppälä](https://github.com/iluwatar/java-design-patterns)\ 25 | [Design Patterns: Dart - Tyler Scott](https://scottt2.github.io/design-patterns-in-dart/)\ 26 | [Design Patterns: Go - Tamer Tas](https://github.com/tmrts/go-patterns)\ 27 | [Design Patterns: Delphi - André Celestino](https://github.com/AndreLuisCelestino/Delphi-DesignPatterns) 28 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Boas práticas, padrões e conteúdos para dev's e deva's 2 | 3 | Sugestão de guia para estudos de boas práticas, padrões e assuntos técnicos da área dev (nem todos conhecem essa sopa de letrinhas). 4 | Sempre que possível referências e conteúdos em português e de maior relevância. 5 | 6 | ### Sugestão de ordem de estudo 7 | 8 | - [POO](./poo) / [POG](./pog) 9 | - [DRY, KISS e YAGNI](./dry-kiss-yagni) 10 | - [GRASP](./grasp) 11 | - [Object Calisthenics](./object-calisthenics) 12 | - [SOLID](./solid) 13 | - [CUPID](./cupid) 14 | - [IoC - Inversion of Control](./ioc-di-sl) 15 | - [DI - Dependency Injection](./ioc-di-sl) 16 | - [Service Locator](./ioc-di-sl) 17 | - [AOP - Aspect Oriented Programming](./aop) 18 | - [Clean Code](./clean-code) 19 | - [Outros Padrões](./other-patterns) 20 | - [Design Patterns](./design-patterns) 21 | - [DDD - Domain Driven Design](./ddd) 22 | - [HTTP](./http) 23 | - [REST](./rest) 24 | - [SOAP](./soap) 25 | - [MVC e MVP](./mvc-mvp) 26 | - [MVVM](./mvvm) 27 | - [Onion Architecture](./onion-architecture) 28 | - [Hexagonal Architecture](./hexagonal-architecture) 29 | - [Clean Architecture](./clean-architecture) 30 | - [Porto Architecture](./porto-architecture) 31 | - [Vertical Slice Architecture](./vertical-slice-architecture) 32 | - [Mensageria](./mensageria) 33 | - [Multitenancy](./multitenancy) 34 | - [CQS e CQRS](./cqs-cqrs) 35 | - [RPC e gRPC](./rpc-grpc) 36 | - [Event Sourcing](./event-sourcing) 37 | - [Event-driven Architecture](./event-driven-architecture) 38 | - [GraphQL](./graphql) 39 | - [Architecture Decision Records](./adr) 40 | - [Docker](./docker) 41 | - [Microservices](./microservices) 42 | 43 | ### Outros links 44 | [Indicações de livros](./books)\ 45 | [Ciência da Computação - Universidade-Livre](https://github.com/Universidade-Livre/ciencia-da-computacao)\ 46 | [Traduz-ai - Universidade-Livre](https://github.com/Universidade-Livre/traduz-ai)\ 47 | [Revisão de livros e artigos científicos sobre desenvolvimento - Alberto Souza](https://www.youtube.com/playlist?list=PLVHlvMRWE0Y7dh2L8ncst42M9YjLMfcpx)\ 48 | [Manual do arquiteto de software - Elemar Jr](https://arquiteturadesoftware.online/)\ 49 | [Fundamentos de Arquitetura de Software - Elemar Jr](https://www.youtube.com/playlist?list=PLkpjQs-GfEMPzOzinFrqfkkfZy2DpwpBh)\ 50 | [Arquitetura de Software - Elemar Jr](https://www.youtube.com/playlist?list=PLkpjQs-GfEMNcWDlIck2I5TGBSSRCK39L)\ 51 | [Boas práticas x Código em produção - Pedro Jr](https://www.youtube.com/watch?v=aVeR0YdLbok)\ 52 | [Software Design - CodeOpinion](https://www.youtube.com/playlist?list=PLThyvG1mlMznuNW2tITIGmgQqJikLBqab)\ 53 | [Software Arch - Codewrinkles](https://www.youtube.com/playlist?list=PL2E-vlKoo_v0cv8Fiv5KsLln04XOw-82Z) 54 | -------------------------------------------------------------------------------- /ioc-di-sl/readme.md: -------------------------------------------------------------------------------- 1 | 2 | ### IoC - Inversion of Control 3 | 4 | Inversão de controle (Inversion of Control ou IoC, em inglês) é um princípio de design de programas de computadores onde a sequência (controle) de chamadas dos métodos é invertida em relação à programação tradicional, ou seja, ela não é determinada diretamente pelo programador. [wikipedia.org](https://pt.wikipedia.org/wiki/Invers%C3%A3o_de_controle) 5 | 6 | ### Links 7 | [Inversion of Control - André Baltieri](https://balta.io/blog/inversion-of-control)\ 8 | [Inversion of Control - Bruno Brito](https://desenvolvedor.io/blog/ioc-inversion-of-control)\ 9 | [InversionOfControl - Martin Fowler](https://martinfowler.com/bliki/InversionOfControl.html)\ 10 | [What is Inversion of Control (IoC)? - Nutshell](https://www.youtube.com/watch?v=JM1-WDihR8M) 11 | 12 | --- 13 | 14 | ### DI - Dependency Injection 15 | 16 | Injeção de dependência (Dependency Injection, em inglês) é um padrão de desenvolvimento de programas de computadores utilizado quando é necessário manter baixo o nível de acoplamento entre diferentes módulos de um sistema. [wikipedia.org](https://pt.wikipedia.org/wiki/Inje%C3%A7%C3%A3o_de_depend%C3%AAncia) 17 | 18 | ### Links 19 | [Dependency Injection - André Baltieri](https://balta.io/blog/dependency-injection)\ 20 | [IoC e Dependency Injection – Os erros comuns - Luiz Carlos Faria](https://gago.io/blog/ioc-e-dependency-injection-os-erros-comuns/)\ 21 | [Inversion of Control Containers and the Dependency Injection pattern - Martin Fowler](https://www.martinfowler.com/articles/injection.html)\ 22 | [Intro to Inversion of Control and Dependency Injection with Spring - Loredana Crusoveanu](https://www.baeldung.com/inversion-control-and-dependency-injection-in-spring)\ 23 | [Injeção de Dependência no .NET - André Baltieri](https://www.youtube.com/watch?v=CbAMyaBWzig)\ 24 | [.NET Core - Injeção de dependência - Macoratti](https://www.youtube.com/watch?v=bw-OlSchyWU) 25 | 26 | --- 27 | 28 | ### Service locator 29 | 30 | O padrão Service locator é um padrão de design usado no desenvolvimento de software para encapsular os processos envolvidos na obtenção de um serviço com uma forte camada de abstração. [wikipedia.org](https://en.wikipedia.org/wiki/Service_locator_pattern) 31 | 32 | ### Links 33 | [Padrão de projeto : Service Locator - Macoratti](https://www.macoratti.net/20/03/c_servloc1.htm)\ 34 | [Injeção de dependência ou Service Locator - Giovanni Bassi](https://www.lambda3.com.br/2009/04/injecao-de-dependencia-ou-service-locator/)\ 35 | [Inversão de controle: Service Locator e Injeção de Dependência - Francisco Thiago](https://imasters.com.br/software/inversao-de-controle-service-locator-e-injecao-de-dependencia)\ 36 | [Injeção de dependência e Service Locator - gitlab.io](https://ajuda.gitlab.io/guia-rapido/arquitetura/design-patterns/dependency-injection/)\ 37 | [.NET - Injeção de dependência (DI) : Service Locator - Macoratti](https://www.youtube.com/watch?v=XO1CoauOUjQ)\ 38 | [Dependency Injection VS Service Locator Pattern - Easy Learn Tutorial](https://www.youtube.com/watch?v=PniFqdDJfCg) 39 | -------------------------------------------------------------------------------- /books/readme.md: -------------------------------------------------------------------------------- 1 | ## Livros 2 | 3 | [Código Limpo - Robert C. Martin](https://www.amazon.com.br/C%C3%B3digo-Limpo-Robert-C-Martin-ebook/dp/B085Q2K632/) 4 | 5 | [Arquitetura Limpa: O guia do artesão para estrutura e design de software - Robert C. Martin](https://www.amazon.com.br/Arquitetura-Limpa-artes%C3%A3o-estrutura-software-ebook/dp/B085PP6Y8P/) 6 | 7 | [Desbravando SOLID Práticas avançadas para códigos de qualidade em Java moderno - Alexandre Aquiles](https://www.casadocodigo.com.br/products/livro-desbravando-solid) 8 | 9 | [Orientação a Objetos e SOLID para Ninjas - Mauricio Aniche](https://www.casadocodigo.com.br/products/livro-oo-solid) 10 | 11 | [Testes automatizados de software: Um guia prático - Mauricio Aniche](https://www.casadocodigo.com.br/products/livro-testes-de-software) 12 | 13 | [Test-Driven Development: Teste e Design no Mundo Real - Mauricio Aniche](https://www.casadocodigo.com.br/products/livro-tdd) 14 | 15 | [Effective Software Testing A Developer’s Guide - Maurício Aniche](https://www.manning.com/books/effective-software-testing) 16 | 17 | [Entendendo Algoritmos: Um Guia Ilustrado Para Programadores e Outros Curiosos - Aditya Y. Bhargava](https://www.amazon.com.br/Entendendo-Algoritmos-ilustrado-programadores-curiosos-ebook/dp/B07B61HC3L/) 18 | 19 | [Trabalho Eficaz com Código Legado - Michael C. Feathers](https://www.amazon.com.br/Trabalho-Eficaz-com-C%C3%B3digo-Legado-ebook/dp/B017MSFXI6/) 20 | 21 | [Padrões de Projetos: Soluções Reutilizáveis de Software Orientados a Objetos - Erich Gamma](https://www.amazon.com.br/Padr%C3%B5es-Projetos-Solu%C3%A7%C3%B5es-Reutiliz%C3%A1veis-Orientados-ebook/dp/B016N8RJUQ/) 22 | 23 | [Refatoração: Aperfeiçoando o design de códigos existentes - Martin Fowler](https://www.amazon.com.br/Refatora%C3%A7%C3%A3o-Aperfei%C3%A7oando-design-c%C3%B3digos-existentes-ebook/dp/B087N8LKYB/) 24 | 25 | [Padrões de Arquitetura de Aplicações Corporativas - Martin Fowler](https://www.amazon.com.br/Padr%C3%B5es-Arquitetura-Aplica%C3%A7%C3%B5es-Corporativas-Martin-ebook/dp/B07FCPZ2R2/) 26 | 27 | [Code Complete (Developer Best Practices) - McConnell Steve](https://www.amazon.com.br/Code-Complete-Developer-Practices-English-ebook/dp/B00JDMPOSY/) 28 | 29 | [Expressões Regulares: Uma Abordagem Divertida - Aurelio Marinho Jargas](https://www.amazon.com.br/Express%C3%B5es-Regulares-edi%C3%A7%C3%A3o-Abordagem-Divertida-ebook/dp/B01BPK1W46/) 30 | 31 | [Implementing Domain-Driven Design - Vaughn Vernon](https://www.amazon.com.br/Implementing-Domain-Driven-Design-English-Vaughn-ebook/dp/B00BCLEBN8/) 32 | 33 | [Domain-Driven Design: Atacando as Complexidades no Coração do Software - Eric Evans](https://www.amazon.com.br/Domain-Driven-Design-Eric-Evans/dp/8550800651) 34 | 35 | [O Mítico Homem-mês: Ensaios Sobre Engenharia de Software - Frederick P. Brooks Jr.](https://www.amazon.com.br/m%C3%ADtico-homem-m%C3%AAs-ensaios-engenharia-software/dp/8550802530/) 36 | 37 | [O Programador Pragmático: De Aprendiz a Mestre - Andrew Hunt / David Thomas](https://www.amazon.com.br/Programador-Pragm%C3%A1tico-Aprendiz-Mestre-ebook/dp/B019HM0H90) 38 | 39 | [Freely available programming books - Ebookfoundation.org](https://github.com/EbookFoundation/free-programming-books) 40 | --------------------------------------------------------------------------------