{"id":14109627,"url":"https://github.com/patrykwozinski/dev-stuff","last_synced_at":"2025-10-10T02:38:50.196Z","repository":{"id":131358046,"uuid":"160094275","full_name":"patrykwozinski/dev-stuff","owner":"patrykwozinski","description":"😎 Programming stuff for everyone. Collection of articles, videos about architecture, Domain Driven Design, microservices, testing etc.","archived":false,"fork":false,"pushed_at":"2022-04-11T08:08:57.000Z","size":245,"stargazers_count":139,"open_issues_count":0,"forks_count":15,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-09-29T14:03:32.484Z","etag":null,"topics":["architecture","awesome-list","clean-architecture","clean-code","cqrs","ddd","ddd-architecture","lists","microservice","oop","oop-principles","php","testing"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/patrykwozinski.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-12-02T20:58:45.000Z","updated_at":"2025-08-31T14:50:45.000Z","dependencies_parsed_at":"2024-01-13T19:28:07.402Z","dependency_job_id":"a0479d6a-6566-4137-97ec-483511754149","html_url":"https://github.com/patrykwozinski/dev-stuff","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/patrykwozinski/dev-stuff","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrykwozinski%2Fdev-stuff","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrykwozinski%2Fdev-stuff/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrykwozinski%2Fdev-stuff/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrykwozinski%2Fdev-stuff/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/patrykwozinski","download_url":"https://codeload.github.com/patrykwozinski/dev-stuff/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrykwozinski%2Fdev-stuff/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279002538,"owners_count":26083401,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["architecture","awesome-list","clean-architecture","clean-code","cqrs","ddd","ddd-architecture","lists","microservice","oop","oop-principles","php","testing"],"created_at":"2024-08-14T10:02:25.074Z","updated_at":"2025-10-10T02:38:50.164Z","avatar_url":"https://github.com/patrykwozinski.png","language":null,"funding_links":[],"categories":["Others","Other Lists"],"sub_categories":["TeX Lists"],"readme":"# Programming stuff for everyone\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://kinsta.com/wp-content/uploads/2017/03/wordpress-developer.png\" alt=\"Logo\"/\u003e\n\u003c/p\u003e\n\n\n### Good habbits / career\n- [How to be a more successfull programmer?](https://www.yegor256.com/2018/11/27/you-can-do-better.html) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Code Reviews and Blame Culture](http://verraes.net/2016/04/code-reviews-and-blame-culture/) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Profesjonalny developer. Kto to taki?](https://www.youtube.com/watch?v=SqekVVJDyB8) \u003csup\u003e[PL]\u003c/sup\u003e `video`\n- [Good practices will make you a better developer](https://medium.com/docplanner-tech/dobre-praktyki-uczyni%C4%85-ci%C4%99-lepszym-developerem-8741be404960) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [I just reviewed 100+ LinkedIN profiles](https://zef.me/i-just-reviewed-100-linkedin-profiles-86c4a9bacdd3) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [The art of destroying software](https://vimeo.com/108441214) \u003csup\u003e[ENG]\u003c/sup\u003e `video`\n- [How To Speed Up The Code Review](https://sergeyzhuk.me/2018/12/29/code_review/) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [How to write a good software design document](https://medium.freecodecamp.org/how-to-write-a-good-software-design-document-66fcf019569c) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [What I've learned about career development (*) (**)](https://no-kill-switch.ghost.io/what-ive-learned-about-career-development/) \u003csup\u003e[ENG]\u003c/sup\u003e\n\n\n### Management\n- [Hiring, managing, and scaling engineering teams at Typeform](https://medium.com/@eleonorazucconi/toby-oliver-cto-typeform-on-hiring-managing-and-scaling-engineering-teams-86bef9e5a708) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Scaling Engineering Teams](https://www.youtube.com/watch?v=-PXi_7Ld5kU) \u003csup\u003e[ENG]\u003c/sup\u003e `video`\n- [Onboarding a junior dev to your team](https://dev.to/carolstran/onboarding-a-junior-developer-to-your-team-here-s-12-tips-4g3a) \u003csup\u003e[ENG]\u003c/sup\u003e\n\n\n### IT Consulting\n- [Narzędzia pracy konsultanta – Wardley Map](https://radekmaziarka.pl/2020/06/21/narzedzia-pracy-konsultanta-wardley-map/) \u003csup\u003e[PL]\u003c/sup\u003e\n- [wardleymaps - all chapters](https://medium.com/wardleymaps) \u003csup\u003e[ENG]\u003c/sup\u003e\n\n\n### Recruitment (Engineering)\n- [Technical Interview Preparation Checklist](https://dev.to/trekhleb/technical-interview-preparation-checklist-4m4f) \u003csup\u003e[ENG]\u003c/sup\u003e\n\n\n### Domain Driven Design\n- [Sposób na projektowanie złożonych modeli biznesowych - Bottega IT](https://bottega.com.pl/pdf/materialy/sdj-ddd.pdf)\n- [How to define Bounded Contexts](https://codeburst.io/ddd-strategic-patterns-how-to-define-bounded-contexts-2dc70927976e)\n- [Using Domain Driven Design as a crutch for large refactors](https://medium.com/8fit-tech-blog/using-domain-driven-design-as-a-crutch-for-large-refactors-c9ea53253757) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Strategies for Integrating Bounded Contexts](https://culttt.com/2014/11/26/strategies-integrating-bounded-contexts/) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [DDD - The Bounded Context Explained](http://blog.sapiensworks.com/post/2012/04/17/DDD-The-Bounded-Context-Explained.aspx) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [DDD in plain english](https://stackoverflow.com/a/1222488) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Services in DDD finally explained](https://developer20.com/services-in-ddd-finally-explained/) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Sociotechnical DDD](https://www.youtube.com/watch?v=EOof9dof0y0) \u003csup\u003e[ENG]\u003c/sup\u003e `video`\n- [Strategic DDD in under 15 minutes](https://www.youtube.com/watch?v=Evers5npkmE) \u003csup\u003e[ENG]\u003c/sup\u003e `video`\n- [Domain analysis for microservices](https://docs.microsoft.com/en-us/azure/architecture/microservices/model/domain-analysis) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Domain, Subdomain, Bounded Context, Problem/Solution Space in DDD: Clearly Defined](https://medium.com/nick-tune-tech-strategy-blog/domains-subdomain-problem-solution-space-in-ddd-clearly-defined-e0b49c7b586c) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Domains and Subdomains](https://thedomaindrivendesign.io/domains-and-subdomains/) \u003csup\u003e[ENG]\u003c/sup\u003e\n\n\n### Object Oriented Programming\n- [Wyjątkowe wyjątki i unhappy path](https://medium.com/@patrykwozinski/wyj%C4%85tkowe-wyj%C4%85tki-i-unhappy-path-d2657a1cfdd2) \u003csup\u003e[PL]\u003c/sup\u003e\n- [Alternative to utility classes](https://www.yegor256.com/2014/05/05/oop-alternative-to-utility-classes.html) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Nie koduj, pisz prozę - lingwistyczne techniki wychodzące poza Clean Code](https://www.youtube.com/watch?v=CKONKZLmMwk) \u003csup\u003e[PL]\u003c/sup\u003e `video`\n- [Why null is bad?](https://www.yegor256.com/2014/05/13/why-null-is-bad.html) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Static classes — the home of the devil?](https://medium.com/docplanner-tech/z%C5%82o-ca%C5%82ego-%C5%9Bwiata-umieszczone-w-klasach-statycznych-46704731398) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Type safety and money](http://verraes.net/2016/02/type-safety-and-money/) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Anti Patterns](https://www.yegor256.com/2014/09/10/anti-patterns-in-oop.html) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [How immutability helps?](https://www.yegor256.com/2014/11/07/how-immutability-helps.html) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [7 virtues of a good object](https://www.yegor256.com/2014/11/20/seven-virtues-of-good-object.html) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Model jest wszystkim czego potrzebujesz](https://www.youtube.com/watch?v=iaLeKHbspLg) \u003csup\u003e[PL]\u003c/sup\u003e `video`\n- [Inheritance is a procedural technique for code reuse](https://www.yegor256.com/2016/09/13/inheritance-is-procedural.html) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [OOP and Go...](https://medium.com/behancetech/oop-and-go-sorta-c6682359a41b) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Throwing exceptions without proper context is a bad habbit](https://www.yegor256.com/2015/12/01/rethrow-exceptions.html) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Nazwy metod, atrybutów i zmiennych na poważnie](https://medium.com/@patrykwozinski/nazwy-metod-atrybut%C3%B3w-i-zmiennych-na-powa%C5%BCnie-9626ea91ca47) \u003csup\u003e[PL]\u003c/sup\u003e\n- [Write long function](http://redbeardlab.com/2019/02/07/write-long-function/) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [When to declare classes final](https://ocramius.github.io/blog/when-to-declare-classes-final/) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [How to Kill Parents](https://www.tomasvotruba.cz/blog/2019/01/24/how-to-kill-parents/) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Entity vs ValueObject - ultimate list of differences](https://enterprisecraftsmanship.com/2016/01/11/entity-vs-value-object-the-ultimate-list-of-differences/) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Kompleks wielkości metod](https://medium.com/@patrykwozinski/kompleks-wielko%C5%9Bci-metod-ecfb949c61d8) \u003csup\u003e[PL]\u003c/sup\u003e\n- [The return of the native principles](https://www.youtube.com/watch?v=xvOhcteJzxM) \u003csup\u003e[PL]\u003c/sup\u003e `video`\n- [Domain Logic and SQL](https://martinfowler.com/articles/dblogic.html) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Readable Code](https://blog.pragmaticengineer.com/readable-code/) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Fat vs. Skinny Design](https://www.yegor256.com/2020/02/19/fat-skinny-design.html) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [A short story of raising errors](https://patryk.it/short-history-of-raising-errors/) \u003csup\u003e[ENG]\u003c/sup\u003e\n\n\n### Functional programming\n- [The actor model in 10 minutes](https://www.brianstorti.com/the-actor-model/) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Domain Modeling Made Functional](https://www.youtube.com/watch?v=PLFl95c-IiU) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Functional architecture - The pits of success](https://www.youtube.com/watch?v=US8QG9I1XW0) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Programowanie funkcyjne na JVM](https://www.youtube.com/watch?v=cJiwhQkyfRY) \u003csup\u003e[PL]\u003c/sup\u003e `video`\n- [The Essence of Composition](https://bartoszmilewski.com/2014/11/04/category-the-essence-of-composition/) \u003csup\u003e[ENG]\u003c/sup\u003e\n\n\n### Refactoring\n- [Refactoring Guru: refactoring and design patterns](https://refactoring.guru) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [8 tips for successful refactoring](https://medium.com/@andreigridnev/8-tips-for-successful-refactoring-b2a1c9b5d820) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [PHPRefactor](phprefactor.com) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Refactoring live session toward tactical Domain-Driven Design](https://www.youtube.com/watch?v=gf5eAM-MFQ4) \u003csup\u003e[PL]\u003c/sup\u003e `video`\n- [The Transformation Priority Premise](http://blog.cleancoder.com/uncle-bob/2013/05/27/TheTransformationPriorityPremise.html) \u003csup\u003e[ENG]\u003c/sup\u003e\n\n\n### Domain discovering and modeling\n- [Discovering unknown domain with Event Storming](https://www.youtube.com/watch?v=dhoXYRqghws) \u003csup\u003e[PL]\u003c/sup\u003e `video`\n- [Event Storming Workshop Cheat Sheet](https://github.com/wwerner/event-storming-cheatsheet) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Modeling Reactive Systems with Event Storming](https://blog.redelastic.com/corporate-arts-crafts-modelling-reactive-systems-with-event-storming-73c6236f5dd7) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [A facilitators recipe for Event Storming](https://medium.com/@springdo/a-facilitators-recipe-for-event-storming-941dcb38db0d) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [The anatomy of a Model Debt](https://no-kill-switch.ghost.io/the-anatomy-of-a-model-debt/) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Event Modeling: What is it?](https://eventmodeling.org/posts/what-is-event-modeling/) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Event Storming zdalnie – praktyczne porady](https://radekmaziarka.pl/2020/11/16/event-storming-zdalnie-praktyczne-porady/) \u003csup\u003e[PL]\u003c/sup\u003e\n\n\n### Architecture\n- [Clean architecture at OLX Europe](https://tech.olx.com/clean-architecture-at-olx-europe-f0501c37f09d) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Lekkie podejście do dokumentowania architektury](https://www.youtube.com/watch?v=FoMEgnMKhK0) \u003csup\u003e[PL]\u003c/sup\u003e `video`\n- [Listen to Yourself: A Design Pattern for Event-Driven Microservices](https://medium.com/@odedia/listen-to-yourself-design-pattern-for-event-driven-microservices-16f97e3ed066) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Prosta architektura dla nieprostego systemu (CQRS)](https://www.youtube.com/watch?v=Emr4jkhW9L4) \u003csup\u003e[PL]\u003c/sup\u003e `video`\n- [Warstwowa architektura w DDD](http://tswiackiewicz.github.io/inside-the-source-code/architecture/ddd-layered-architecture/) \u003csup\u003e[PL]\u003c/sup\u003e\n- [Gates for CQRS](https://medium.com/docplanner-tech/goalkeeper-the-guardian-of-a-correct-execution-of-commands-aefeeafc3565) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Agile \u0026 Architecture](https://www.youtube.com/watch?v=YYAcugwEZTI) \u003csup\u003e[PL]\u003c/sup\u003e `video`\n- [All Things CQRS](https://github.com/ddd-by-examples/all-things-cqrs) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Example of Domain Driven Design enterprise application](https://github.com/ddd-by-examples/factory) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [The Clean Architecture](https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [DDD, Hexagonal, Onion, Clean, CQRS, … How I put it all together](https://herbertograca.com/2017/11/16/explicit-architecture-01-ddd-hexagonal-onion-clean-cqrs-how-i-put-it-all-together/) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Domain Driven Design in Go](https://www.citerus.se/go-ddd) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Serverless Architectures I/III: Design and technical trade-offs](https://medium.com/@pablo.iorio/serverless-architectures-i-iii-design-and-technical-trade-offs-8ca5d637f98e) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [How to break a Monolith into Microservices](https://martinfowler.com/articles/break-monolith-into-microservices.html) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [C4 model for visualising software architecture](https://c4model.com/) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Sagi, strumienie, reaktywność](https://www.youtube.com/watch?v=27S0G9bE3Bg) \u003csup\u003e[PL]\u003c/sup\u003e `video`\n- [Cele architektury oprogramowania](https://medium.com/@patrykwozinski/cele-architektury-oprogramowania-a063dda884d1) \u003csup\u003e[PL]\u003c/sup\u003e\n- [Architecture antipatterns and how to beat them](https://www.youtube.com/watch?v=cJDDsSj2vJA) \u003csup\u003e[PL]\u003c/sup\u003e `video` \n- [Modular Monoliths](https://www.youtube.com/watch?v=5OjqD-ow8GE) \u003csup\u003e[EN]\u003c/sup\u003e `video`\n- [Majestic Modular Monoliths](https://youtu.be/BOvxJaklcr0) \u003csup\u003e[EN]\u003c/sup\u003e `video`\n- [Architecture for developers](https://youtu.be/z1xLDzx7hgw) \u003csup\u003e[EN]\u003c/sup\u003e `video`\n- [Wzorce i podejścia architektoniczne wspierające refaktoryzację](https://www.youtube.com/watch?v=c7mgE9Z29s0) \u003csup\u003e[PL]\u003c/sup\u003e `video`\n- [10 Common Software Architecture Patterns in a nutshell](https://towardsdatascience.com/10-common-software-architectural-patterns-in-a-nutshell-a0b47a1e9013) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Awesome #Architecute](https://github.com/binhnguyennus/awesome-scalability#architecture) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Vertical Slice Architecture](https://jimmybogard.com/vertical-slice-architecture/) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Architektura multi-tenant](https://softwareplant.com/architektura-multi-tenant-na-przykladzie-produktow-softwareplant/) \u003csup\u003e[PL]\u003c/sup\u003e\n- [How Uber Goes](https://www.youtube.com/watch?v=nLskCRJOdxM) \u003csup\u003e[ENG]\u003c/sup\u003e `video`\n- [Monolith Decomposition Patterns](https://www.youtube.com/watch?v=9I9GdSQ1bbM) \u003csup\u003e[ENG]\u003c/sup\u003e `video`\n- [Sociotechnical Architecture](https://www.youtube.com/watch?v=Pmz3FXu-Dzk) \u003csup\u003e[ENG]\u003c/sup\u003e `video`\n- [Communicating architecture in times of remote \"leap of faith\"](https://no-kill-switch.ghost.io/communicating-architecture-in-times-of-remote-leap-of-faith/) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Git internal architecture](https://dev.to/anuj_bansal_/git-internal-architecture-o1j) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Hexagonal Architecture by example - a hands-on introduction](https://allegro.tech/2020/05/hexagonal-architecture-by-example.html) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Patterns for Decoupling in Distributed Systems: Explicit Public Events](https://verraes.net/2019/05/patterns-for-decoupling-distsys-explicit-public-events/) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Read-Your Writes Consistency](https://docs.oracle.com/cd/E17076_05/html/gsg_db_rep/C/rywc.html) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Symfony Messenger component for CQRS applications](https://patryk.it/symfony-messenger-component-for-cqrs-applications/) \u003csup\u003e[ENG]\u003c/sup\u003e\n\n\n### Microservices\n- [Export data out of the monolith](https://divad4686.github.io/2018/11/26/microservices-techniques.html) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Tackling Complexity in Microservices](https://vladikk.com/2018/02/28/microservices/) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Modules or Microservices](https://www.youtube.com/watch?v=AJW2FAJGgVw) \u003csup\u003e[EN]\u003c/sup\u003e `video`\n- [Microservices Gone Wrong](https://www.youtube.com/watch?v=5QIpzNPVDaY) \u003csup\u003e[EN]\u003c/sup\u003e `video`\n- [Why Having a Feature Flag Microservice Is a Bad Idea](https://dzone.com/articles/why-having-a-feature-flag-microservice-is-a-bad-id) \u003csup\u003e[EN]\u003c/sup\u003e\n- [Awesome #Scalability](https://github.com/binhnguyennus/awesome-scalability#scalability) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Common mistakes when moving to microservices \u0026 cloud](https://www.youtube.com/watch?v=jo46-CP6ywU) \u003csup\u003e[PL]\u003c/sup\u003e `video`\n- [Avoiding Microservice Megadisasters](https://www.youtube.com/watch?v=gfh-VCTwMw8) \u003csup\u003e[ENG]\u003c/sup\u003e `video`\n\n\n### Testing\n- [Testy w PHP - mock czyli test double](https://zawarstwaabstrakcji.pl/20181005-testy-php-mock-czyli-test-double/) \u003csup\u003e[PL]\u003c/sup\u003e\n- [test \u0026\u0026 commit || revert](https://medium.com/@kentbeck_7670/test-commit-revert-870bbd756864) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Jak zwiększyć wartość testów jednostkowych](https://www.youtube.com/watch?v=smK6gCvafJE) \u003csup\u003e[PL]\u003c/sup\u003e `video`\n- [How much testing is too much?](http://verraes.net/2014/12/how-much-testing-is-too-much/) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Unit Testing Anti-Patterns](https://www.yegor256.com/2018/12/11/unit-testing-anti-patterns.html) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Working faster with tests](https://medium.com/docplanner-tech/working-faster-with-tests-c0acd60faf2e) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Test doubles: the motion picture](https://speakerdeck.com/franiglesias/tests-doubles-the-motion-picture) \u003csup\u003e[EN]\u003c/sup\u003e\n- [Integration Testing: What It Is and How to Do It Right](https://dzone.com/articles/integration-testing-what-it-is-and-how-to-do-it-ri) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Improving your Test Driven Development in 45 minutes](https://youtu.be/PwMNtiKb-P4) \u003csup\u003e[PL]\u003c/sup\u003e `video`\n- [TDD, Where Did It All Go Wrong](https://www.youtube.com/watch?v=EZ05e7EMOLM\u0026) \u003csup\u003e[ENG]\u003c/sup\u003e `video`\n- [Testing Strategies in a Microservice Architecture](https://martinfowler.com/articles/microservice-testing/) \u003csup\u003e[ENG]\u003c/sup\u003e\n\n\n### DevOps\n- [The Twelve-Factor App](https://12factor.net/) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [The real difference between CI and CD](https://fire.ci/blog/the-difference-between-ci-and-cd/) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [DevOps Roadmap](https://github.com/raycad/devops-roadmap) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [AWS Cheatsheet](https://dev.to/harshaambati/aws-cheatsheet-2f0k) \u003csup\u003e[ENG]\u003c/sup\u003e\n\n\n### Generic infrastructure, network, web app\n- [Klienci Http: bohaterowie systemów rozproszonych](https://www.youtube.com/watch?v=RVBlCTK_3oA) \u003csup\u003e[PL]\u003c/sup\u003e `video`\n\n\n### Performance\n- [Czy wydajność to jakość?](https://youtu.be/Ag9mBOjSeb8) \u003csup\u003e[PL]\u003c/sup\u003e `video`\n- [The Ultimate Guide to Web Performance](https://dev.to/ender_minyard/the-ultimate-guide-to-web-performance-ci4) \u003csup\u003e[ENG]\u003c/sup\u003e\n\n\n### Databases\n- [Baza danych jako szczegół implementacyjny](https://www.youtube.com/watch?v=Vgj-qAgOlIQ) \u003csup\u003e[PL]\u003c/sup\u003e `video`\n- [HandlerSocket](https://www.youtube.com/watch?v=jYFixcFTR4c) \u003csup\u003e[PL]\u003c/sup\u003e `video`\n- [MySQL - Validate Your schema and change it smoothly](https://www.youtube.com/watch?v=30vr4yKD5O8) \u003csup\u003e[PL]\u003c/sup\u003e `video`\n- [SQL Indexing and Tuning e-Book](https://use-the-index-luke.com/) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [50 SQL Interview Questions](https://dev.to/helenanders26/50-sql-interview-questions-4jpb) \u003csup\u003e[ENG]\u003c/sup\u003e\n\n\n### Security\n- [Web developer security checklist](https://medium.com/simple-security/web-developer-security-checklist-f2e4f43c9c56) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Worst security hole you've seen?](https://stackoverflow.com/questions/1469899/worst-security-hole-youve-seen) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Czym jest CORS (Cross-Origin Resource Sharing) i jak wpływa na bezpieczeństwo](https://sekurak.pl/czym-jest-cors-cross-origin-resource-sharing-i-jak-wplywa-na-bezpieczenstwo/) \u003csup\u003e[PL]\u003c/sup\u003e\n\n\n### Elixir\n- [Phoenix - Gauging Progress](https://www.youtube.com/watch?v=pfFpIjFOL-I) \u003csup\u003e[ENG]\u003c/sup\u003e `video`\n- [Elixir and The Beam: How Concurrency Really Works](https://dev.to/sophiedebenedetto/elixir-and-the-beam-how-concurrency-really-works-354n) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Advanced Metaprogramming](https://www.youtube.com/watch?v=9C53Aq9r7T8) \u003csup\u003e[PL]\u003c/sup\u003e `video`\n- [Managing Translations in Elixir With Yata](https://www.youtube.com/watch?v=X_mrAq17gvs) \u003csup\u003e[PL]\u003c/sup\u003e `video`\n- [Concurrency and parallelism with Elixir and BEAM](https://medium.com/@patrykbak/concurrency-and-parallelism-with-elixir-and-beam-c683b2215c38) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Awesome Elixir and CQRS](https://github.com/slashdotdash/awesome-elixir-cqrs) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Resources to learn Elixir for PHP developers](https://patryk.it/resources-to-learn-elixir-for-php-developers/) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Things Elixir's Phoenix Framework does right](https://scorpil.com/post/things-elixirs-phoenix-framework-does-right/) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Supercharge your ExUnit skills in 10 minutes](https://medium.com/learn-elixir/supercharge-your-elixir-unit-testing-skills-in-10-minutes-a9c76d96e3b6) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Buildings start-ups with Elixir](https://www.youtube.com/watch?v=icfvFFZUxZQ) \u003csup\u003e[ENG]\u003c/sup\u003e `video`\n- [How to build a self-healing system using supervision tree in Elixir](https://kodius.com/blog/elixir-supervision-tree/) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Ecto Preloads in Phoenix Contexts](https://medium.com/@damonvjanis/ecto-preloads-in-phoenix-contexts-167d11e5405e) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Elixir on Kubernetes](https://www.youtube.com/watch?v=AjdD6gJHqBU) \u003csup\u003e[PL]\u003c/sup\u003e `video`\n- [Elixir at fintech with Brex](https://elixir-lang.org/blog/2020/06/23/growing-with-elixir-at-brex/) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Preloading Nested Associations with Ecto](https://thoughtbot.com/blog/preloading-nested-associations-with-ecto) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Using Event Sourcing and CQRS with Incident](https://pedroassumpcao.ghost.io/event-sourcing-and-cqrs-using-incident-part-1/) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [On Elixir Metaprogramming](https://www.christianblavier.com/on-elixir-metaprogramming/) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Event-Driven architecture in Elixir](https://www.youtube.com/watch?v=8qDXG7tnl9w) \u003csup\u003e[ENG]\u003c/sup\u003e `video`\n- [Fast Elixir](https://github.com/devonestes/fast-elixir) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Killer Elixir-Tips](https://github.com/blackode/elixir-tips) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Iteration, Recursion, and Tail-call Optimization in Elixir](https://blog.appsignal.com/2019/03/19/elixir-alchemy-recursion.html) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [When to use Elixir language?](https://www.amberbit.com/blog/2018/5/15/when-to-use-elixir-language/) \u003csup\u003e[ENG]\u003c/sup\u003e\n\n\n### Golang\n- [Introducing Clean Architecture by refactoring a Go project](https://threedots.tech/post/introducing-clean-architecture/) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Combining DDD, CQRS, and Clean Architecture by refactoring a Go project](https://threedots.tech/post/ddd-cqrs-clean-architecture-combined/) \u003csup\u003e[ENG]\u003c/sup\u003e\n\n\n### Books\n- \"Applying UML and patterns\" - Craig Larman\n- \"Domain-Driven Design: Tackling Complexity in the Heart of Software\" - Eric Evans\n- \"Enterprise Patterns and MDA: Building Better Software with Archetype Patterns and UML\" - Jim Arlow\n- \"Building Evolutionary Architectures\" - Patrick Kua, Rebecca Parsons, Neal Ford\n- \"Just Enough Software Architecture: A Risk Driven Approach\" - George H. Fairbanks\n- \"A Philosophy of Software Design\" - John Ousterhout \n- \"Monolith to Microservices\" - Sam Newman\n\n\n### Junior devs\n- [Clean Code](https://www.youtube.com/watch?v=0HQT0r4rokk) \u003csup\u003e[PL]\u003c/sup\u003e `video`\n- [Clean Code in PHP](https://github.com/jupeter/clean-code-php) \u003csup\u003e[ENG]\u003c/sup\u003e\n\n\n### Interresting\n- [Difference between `isset()` and `array_key_exists()` in PHP](https://stackoverflow.com/questions/3210935/difference-between-isset-and-array-key-exists) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [How to append data into PHP array correclty](https://stackoverflow.com/questions/559844/whats-better-to-use-in-php-array-value-or-array-pusharray-value/559859#559859) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Period against comma in PHP](https://stackoverflow.com/questions/1466408/difference-between-period-and-comma-when-concatenating-with-echo-versus-return) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [PHP rules, good practices, security](https://github.com/dseguy/clearPHP/tree/master/rules) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [List of Big-O for PHP functions](https://stackoverflow.com/questions/2473989/list-of-big-o-for-php-functions/2484455#2484455) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [4 Tricks to boost script performance in PHP](https://dev.to/devmount/4-php-tricks-to-boost-script-performance-ol1) \u003csup\u003e[ENG]\u003c/sup\u003e\n\n\n### Version control\n- [Semantic versioning](https://semver.org/) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Successfull git branching](https://nvie.com/posts/a-successful-git-branching-model/) \u003csup\u003e[ENG]\u003c/sup\u003e\n- [Git-Flow Cheatsheet](https://danielkummer.github.io/git-flow-cheatsheet/) \u003csup\u003e[ENG]\u003c/sup\u003e\n\n\n### Funny\n- [Podlaski git](https://github.com/maciejkorsan/podlaskigit) \u003csup\u003e[PL]\u003c/sup\u003e\n- [Ślůnski git](https://github.com/andrzej3393/slunskigit) \u003csup\u003e[PL]\u003c/sup\u003e\n- [Junior IT Rekruter](https://www.junioritrekruter.pl/)\u003csup\u003e[PL]\u003c/sup\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatrykwozinski%2Fdev-stuff","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpatrykwozinski%2Fdev-stuff","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatrykwozinski%2Fdev-stuff/lists"}