- A guide on how to be a Programmer
- How to quickly and effectively read other people’s code
- Awesome list of awesome lists
- 65 Key Takeaways from "The Pragmatic Programmer: From Journeyman to Master"
- ⭐Developer Roadmaps
- Geeks for Geeks
- Clean Coder - Uncle Bob Blog
- Caelum: Test-Driven Development
- 📖Growing Object-Oriented Software Guided by Tests
- Mark Seemann: Functional programming scientist
- Blog TDD: Geepaw Hill
- Guia de Desenvolvimento Técnico - ThoughtWorks Brasil
- the Origins of Opera and the Future of Programming
- Learn X in Y minutes
- A Smart Programmer Understands The Problems Worth Fixing
- The Grand Unified Theory of Software Architecture (Opinion)
- More challenging projects every programmer should try
- Oreilly
- Packt Pub
- Programming Notes for Professionals books (Old stack overflow documentation)
- Elements of Programming: Decomposing programs into a system of algorithmic components
- Inside the Machine: Hardware
- Comparação entre C# e Java
- Awesome BR é uma coleção de links nas mais diversas tecnologias, mantido pela comunidade e para a comunidade.
- Which Programming Languages Should You Learn in 2018?
- Java versus C# .NET Core fastest programs
- Building a Programming Language Pt. 1
- Building a Programming Language Pt. 2
- Why Go and not Rust?
- Programming languages: Zig analysis
- ⭐How I Start
- Multi-Paradigm Languages
- Programming Language Evolution
- Exotic Programming Ideas
- Programming Language Fragility
- The case against a C alternative
- ⭐Goodbye, Clean Code - Discussão Twitter
- Special Cases Are a Code Smell
- Edge Case Poisoning
- Why Senior Devs Write Dumb Code and How to Spot a Junior From A Mile Away
- Nine Steps of Learning by Refactoring
- Antipatterns - DevIQ
- Navalha de Occam - Simplicidade
- A taxonomy of tech debt in LOL
- Where Do I Put My Business Rules And Validation?
- ARTICLEHow To Code Like The Top Programmers At NASA — 10 Critical Rules
- Clean Code Poster - free download
- Why I Never Null-Check Parameters
- Designing Bulletproof Code
- Lessons learnt from “The Clean Code” — Robert C. Martin
- Is “Defensive Programming” actually healthy?
- Algorithms as objects
- 10 common broken rules of clean code
- Martin Fowler - TechnicalDebt
- Martin Fowler - TechnicalDebtQuadrant
- Stop Calling it Bad Code
- Code is clean summary
- What I learned as a developer from accidents in space
- ⭐The Shapes of Code
- The Bumpy Road Code Smell: Measuring Code Complexity by its Shape and Distribution
- Simple Systems Have Less Downtime
- Don't order events by timestamp
- 8 developer habits that help you progress
- use ENUMs. not BOOLEANS
- https://www.quora.com/Is-it-true-that-a-good-programmer-uses-fewer-if-conditions-than-an-amateur
- Yegor - Fail Fast
- Fail Fast
- Crash early and crash often for more reliable software
- Immutable Data
- How can you do anything useful without mutable state?
- IFs considered harmful: How to eradicate 95% of all your bugs in one simple step: LOBSTERS
- 🎬IFs considered harmful: How to eradicate 95% of all your bugs in one simple step: YOUTUBE
- IFs considered harmful: How to eradicate 95% of all your bugs in one simple step: SLIDES
- return first
- Don’t use raw loops
- Array Functions and the Rule of Least Power
- Beyond Coupling and Cohesion: Strategies For Un-F*cking Yourself
- Beginner's Guide To Abstraction
- It's probably time to stop recommending Clean Code
- What's in a Good Error Message?
- Rule of 30 – When is a Method, Class or Subsystem Too Big?
- O princípio da inversão de dependência
- No architecture is better than bad architecture
- Anti Patterns Catalog
- Code Smell
- 10 Code Smells a Static Analyser Can Locate in a Codebase
- How to Find the Stinky Parts of Your Code (Part I)
- How to Find the Stinky Parts of Your Code (Part II)
- How to Find the Stinky Parts of Your Code (Part III)
- Anti-patterns You Should Avoid in Your Code
- Don't POOP - The Partial/Optional Object Population Anti-Pattern
- Anti-pattern of the Day: Type Keys
- Bitwise operators and tricks!
- Pathfinding for Tower Defense
- Unmasking Bitmasked Dynamic Programming
- Methods for abstraction, programming paradigms, and techniques for managing the complexity of large programs
- Reevaluating the Layered Architecture
- Cálculo lambda
- Introduction to the A* Algorithm
- Data Structure Visualizations
- FLOATING POINT VISUALLY EXPLAINED
- Asymptotic Analysis Explained with Pokémon: A Deep Dive into Complexity Analysis
- Data Locality
- Pathfinding Demystified (Part I): Generic Search Algorithm
- A Gentle Introduction to Divide and Conquer Algorithms
- The most used algorithms
- 14 Patterns to Ace Any Coding Interview Question
- Coding Challenges With Step by Step Solutions
- Here Are The Most Common JavaScript Algorithms and Data Structures
- Algorithms and data structures implemented in JavaScript with explanations and links to further readings
- Greedy Algorithms
- A Primer on Search Algorithms
- A Detailed Explanation of Abstraction in Software Development
- Data Structures Part 1: Bulk Data
- Data Structures Part 2: Indices
- Data Structures Part 3: Arrays of arrays
- Big-O Cheat Sheet
- How my software development has changed in the last 10 years
- How to Handle Timezones and Synchronize Your Software with International Customers
- Data Structures & Algorithms I Actually Used Working at Tech Companies
- Computation graphs and graph computation
- Recursion for Coding Interviews: The Ultimate Guide
- An Alien Dictionary - Graphs (Part 1)
- An Overview of Networks - Graphs (Part 2)
- ⭐How to Build a Graph Data Structure - Graphs (Part 3)
- Binary Search Algorithm
- The Little Things: Comparing Floating Point Numbers
- FALANDO DE TDD
- Yegor - The TDD That Works for Me
- Unit Testing Anti-Patterns, Full List
- Using TDD to Break Through 'Paralysis by Analysis'
- The Evolution of TDD
- Introducing the Software Testing Cupcake (Anti-Pattern)
- Uncle Bob: TDD Lesson - Terrain Generation
- Uncle Bob: The Pragmatics of TDD
- Uncle Bob: The Cycles of TDD
- Uncle Bob: Giving Up on TDD
- Não faça testes, faça specs!
- Effective Tests: Introduction
- 4 Outside-in Signs That You Don’t Have Sufficient Unit Testing
- The 7 Sins of Unit Testing
- Testes Unitários 101: Mocks, Stubs, Spies e todas essas palavras difíceis
- Técnica mock em testes unitários
- How writing tests can make you a faster and more productive developer
- Write tests. Not too many. Mostly integration.
- What to test and not to test
- TDD — A New Transformation
- Testing In Production Isn’t a Sin Anymore
- 4 Properties of Highly Testable Code
- Underplayed Premises of TDD: Q&A with GeePaw Hill
- Premature Passes: Why You Might Be Getting Green on Red
- Seven Steps to Great Unit Test Names
- The Myth Of 100% Code Coverage
- Don't Measure Unit Test Code Coverage
- Test-Driven Development is not about tests
- ⭐Exploring 6,000 Unit Tests
- Writing Valuable Tests
- The Anatomy of Good Unit Testing
- The Complete Unit Testing Collection: Tutorials and Frameworks
- How to Unit Test an Abstract Class
- Unit testing private methods
- Unit Testing is Overrated
- 6 Small Unit Testing Tips
- 3 steps to add tests on existing code when you have short deadlines
- Avoid rewriting a legacy system from scratch, by strangling it
- Are functions that simply call another function a bad design choice?
- Refactoring Complicated Code
Uma view serve apenas para mostrar informações ao usuário e/ou receber instruções deste. Input/Output, nada de processamento. Todo processamento/lógica que interage com a view deve ficar em classes separadas, a interação entre estes deve ser através de parâmetros em funções tipo "CarregarUsuarios(AUsuarioView)", assim esse objeto poderá ser testado através de um mock da view "CarregarUsuario(AUsuarioViewMock)". Essa view desacoplada do processamento/lógica é chamada de "Humble dialog" no padrão humble objeto.
- Este padrão é basicamente o uso do SRP do SOLID após ser devidamente esclarecida a responsabilidade da view (input/output com o usuário)?
- Um MVC implementado de acordo poderia fazer isso também?
- A Simple Example of the "Humble Dialog Box"
- What is a Humble Object and how does it help make your code testable?
- Build your own CAB Part #2 – The Humble Dialog Box
- TDD Patterns: Humble Object
- Humble Object
- Patrón "Humble Object"
- Domain-Driven Design Demystified
- How to organize your code?
- A gentle introduction to Domain Driven Design
- Decouple Your Javascript Using Event Driven Programming
- Event Sourcing Versus Event-Driven Architecture
- The Single Responsibility Principle Revisited
- Writing SOLID Code: Intro
- Writing SOLID Code: SRP
- Writing SOLID Code: OCP
- Writing SOLID Code: LSP
- Writing SOLID Code: ISP
- Writing SOLID Code: DIP
- Dependency Injection Is NOT The Same As The Dependency Inversion Principle
- SOLID Principles every Developer Should Know
- The Single Responsibility Principle under the microscope
- SOLID Principles: The Software Developer's Framework to Robust & Maintainable Code [with Examples]
- OOP is dead, long live OOP
- S.O.L.I.D Principles
- The S.O.L.I.D Principles in Pictures
- S.O.L.I.D. software class design principles
- SOLID Design Principles — The Simplest Explanation.
- The SOLID Principles of Object-Oriented Programming Explained in Plain English
- SOLID Coding in Python
- Introduce Inheritance & Object Composition
- SOLID Principles Sketches
- Martin Fowler
- wiki.c2
- Tell, don’t ask (ou… fique longe das minhas propriedades)
- ROBSON CASTILHO
- Tell, Don't Ask
- Yagni - Martin Fowler
- YAGNI - You ain't gonna need it
- The Danger of “Simplicity”
- YAGNI, Cargo Cult and Overengineering - the Planes Won't Land Just Because You Built a Runway in Your Backyard
- Dependency injection containers vs object composition
- Inversion of Control Containers and the Dependency Injection pattern
- What Is Dependency Injection?
- The 5 Principles of Dependency Injection
- The 3 Types of Dependency Injection
- The 6 Benefits of Dependency Injection
- Demystifying Dependence, Part 1: The Nine Dependency Puzzles
- Demystifying Dependence, Part 2: The Three Dimensions of Dependence
- Yegor256: Dependency Injection Containers are Code Polluters
- What event sourcing is not about
- https://www.link-intersystems.com/blog/2011/10/01/anemic-vs-rich-domain-models/
- https://martinfowler.com/bliki/AnemicDomainModel.html
- The Clean Architecture - Uncle Bob
- Clean Micro-service Architecture - Uncle Bob
- 10 Common Software Architectural Patterns in a nutshell
- Software Architecture: the 5 Patterns You Need to Know
- What’s an API?
- The Troublesome Active Record Pattern
- Architecture characteristics
- Replacing Throwing Exceptions with Notification in Validations
- There can’t be only one- the Highlander problem
- https://martinfowler.com/eaaDev/uiArchs.html
- https://pdfs.semanticscholar.org/1e22/dc6c0b5a5f2b64a91e28c68c6dd58f04d1bb.pdf
- http://ceur-ws.org/Vol-610/paper11.pdf
- https://medium.com/sketch-app-sources/design-cheatsheet-274384775da9
- https://www.programcreek.com/2009/01/the-steps-involved-in-building-a-swing-gui-application/
- https://www3.ntu.edu.sg/home/ehchua/programming/java/j4a_gui.html
- https://www3.ntu.edu.sg/home/ehchua/programming/howto/EclipseJava_HowTo.html#GUIBuider
- CLI: Command Line Interface Guidelines
- The complexity that lives in the GUI
- REDDIT: The complexity that lives in the GUI
- User Methods
- ⭐Design Patterns for Humans
- ⭐What Is a Design Pattern?
- Design Patterns in Java
- Design Patterns in Java Tutorial
- From design patterns to category theory
- https://sourcemaking.com/design_patterns
- https://stackoverflow.com/tags/design-patterns/info
- http://www.vincehuston.org/dp/
- https://www.yegor256.com/2016/02/03/design-patterns-and-anti-patterns.html
- https://www.lambda3.com.br/2009/04/o-que-sao-interfaces-fluentes/
- https://www.devmedia.com.br/interfaces-fluentes-revista-net-magazine-95/24065
- https://edermfl.wordpress.com/2016/01/05/interface-fluente-e-stepbuilders/
- https://dzone.com/refcardz/design-patterns?chapter=1
- Is It Time to Get Over Design Patterns?
- Why is a Canonical Data Model an Anti Pattern
- Design Patterns
- Patterns.dev
- Programming Paradigms
- The Only Coding Standard You’ll Ever Need
- Why shouldn't I use “Hungarian Notation”? - StackOverflow
- The Cons and Cons of the Hungarian Notation
- The Mythical Man-Month
- Monadic Error Handling
- What is imperative programming?
- What is functional programming?
- What is event programming?
- What is declarative programming?
- What is reactive and stream programming?
- Dr. Alan Kay on the Meaning of “Object-Oriented Programming”
- REDDIT: Dr. Alan Kay on the Meaning of “Object-Oriented Programming”
- What is Reactive Programming?
- Alan Kay and Missing Messages
- REDDIT: Alan Kay and Missing Messages
- The simple Math every developer should know
- The Y combinator or how to implement recursion in a language that doesn't support it
- Combinador de ponto fixo - Wikipedia
- The Y Combinator explained with JavaScript
- The Simple Essence of the Y Combinator (Explained in Python)
- Favor Composition Over Inheritance?
- Object-Oriented Programming — The Trillion Dollar Disaster
- How language features affect OO design
- Object Oriented Programming - how to avoid duplication in processes that differ slightly depending on a variable
- Mastering OOP: A Practical Guide To Inheritance, Interfaces, And Abstract Classes
- Learning Functional Programming With Scala
- Inventing Monads
- So You Want to be a Functional Programmer (Part 1)
- Começando com Programação Funcional.
- Programação funcional para iniciantes
- THE PILLARS OF FUNCTIONAL PROGRAMMING (PART 1)
- THE PILLARS OF FUNCTIONAL PROGRAMMING (PART 2)
- Functional programming is not a paradigm
- Can I do FP in my language?
- Lambda Calculus for Programmers
- Functional Programming in C#
- A Gentle Introduction to Lambda Calculus - Part 1: Syntax
- A Gentle Introduction to Lambda Calculus - Part 2: Execution
- why-functional-programming-matters.pdf
- An introduction to functional programming
- Can Your Programming Language Do This?
- Circuit Breaker in a Functional World
- Functional programming explained for the pragmatic programmer.
- Então você ainda não entende monads?
- Functional programming solutions for familiar problems
- Monads as a Programming Pattern
- F# For C# Developers
- You Can Explain Functional Programming Using Emojis
- You don't need loops
- ⭐You don't (may not) need loops
- Explaining Monoids to the 10 years old me
- Lambda Calculus in JavaScript?
- Demystifying C++ lambdas
- ⭐Your easy guide to Monads, Applicatives, & Functors
- ⭐Inventing Monads
- Introduction to functional programming with C#
- Fun with Lambda Calculus
- What is Functional Programming? A Beginner's JavaScript Guide
- My first-time pure functional programming
- Recursão de cauda — ou como não estourar a pilha
- FP for sceptics
- Functional Programming From an Object-Oriented Perspective
- The Difference between Functional Programming and Object-Oriented Programming
- Why Developers Should Look into Clojure
- The visitor pattern is essentially the same thing as Church encoding
- ⭐The Not-So-Scary Guide to Functional Programming
- category-theory-illustrated
- Functors and Monads For People Who Have Read Too Many "Tutorials"
- Functional programming and decoupling
- Cuddly, Octo-Palm Tree: Monads Series Tutorial
- Programação funcional para iniciantes
- JAMES SINCLAIR: WHAT IF THE TEAM HATES MY FUNCTIONAL CODE?
- Functional Programming Design Patterns
- Where are all the functional programming design patterns?
- Does functional programming replace GoF design patterns?
"making the distinction between data, calculation, and action is an important skill to have as a programmer."
- It's probably time to stop recommending Clean Code
- O Pragmatismo Desmistificado: como a filosofia pragmática pode nos posicionar melhor no mundo
- Things I Learnt The Hard Way (in 30 Years of Software Development)
- THE FALLACY OF PREMATURE OPTIMIZATION
- Enthusiasts vs. Pragmatists: two types of programmers and how they fail
- Why bad software architecture is easy to monetize
- Goodbye, Object Oriented Programming
- 10 tips and tricks for solving software problems
- How to estimate programming time
- Do code comments suck?
- Famous Laws Of Software Development
- This Is What You Get When You Ask Programmers To Write Poetry
- Technical Debt is like Tetris
- Programmer migration patterns (troca de linguagens)
- "LÓGICA DE PROGRAMAÇÃO" É BOBAGEM, e explicarei porquê.
- Is High Quality Software Worth the Cost? - Martin Fowler
- Yes silver bullet
- Yes silver bullet - REDDIT
- Programmer Time Translation Table
- How to Build Good Software
- What Developers Should Actually Learn In College
- ⭐How to be a Good Mentor to Junior Developers
- Libraries vs. Frameworks — What’s the Difference?
- What’s SAP?
- It's probably time to stop recommending Clean Code
- The faster you unlearn OOP, the better for you and your software
- Confessions of a 0.8x Developer: REDDIT
- Confessions of a 0.8x Developer: Original
- O Programador Pragmático. De Aprendiz a Mestre
- Código Limpo. Habilidades Práticas Do Agile Software
- Padrões de Projetos
- Use a Cabeça ! Padrões de Projetos
- 📖Crafting Interpreters
- https://johnidm.gitbooks.io/compiladores-para-humanos/content/part1/lexical-analysis.html
- https://inf.ufes.br/~tavares/labcomp2000/introcomp.html
- http://www.dcc.ufrj.br/~fabiom/comp20112/
- https://pt.wikiversity.org/wiki/Introdu%C3%A7%C3%A3o_%C3%A0_Teoria_dos_Compiladores/An%C3%A1lise_L%C3%A9xica
- http://www.ic.unicamp.br/~sandro/cursos/mc910/slides/
- Building Recursive Descent Parsers: The Definitive Guide
- ⭐📖Crafting interpreters
- Building a Parser
- Understanding Parser Combinators
- ⭐Compiling a Functional Language Using C++
- Let’s Build A Simple Interpreter. Part 1.
- OnParsers
- A Deep Introduction to JIT Compilers: JITs are not very Just-in-time
- How JIT Compilers are Implemented and Fast: Julia, Pypy, LuaJIT, Graal and More
- https://torry.net/quicksearchd.php?String=NumWords&Title=Yes
- http://www.migalhas.com.br/Gramatigalhas/10,MI30427,91041-Hum
- https://www.professornews.com.br/dicas-de-redacao/6895-como-escrever-valores-em-cheques-hum-mil-reais-ou-um-mil-reais.html
- http://www.languagesandnumbers.com/como-contar-em-portugues-brasil/pt/por-bra/
- http://www.languagesandnumbers.com/como-contar-em-espanhol/pt/spa/
- http://www.languagesandnumbers.com/como-contar-em-ingles/pt/eng/
- https://www.englishexperts.com.br/forum/numeros-em-ingles-de-0-a-1-000-000-000-t1078.html
- https://www.englishexperts.com.br/numeros-em-ingles-por-extenso/
- https://www.englishexperts.com.br/wp-content/themes/master/tools/numeros-extenso/numbers.js
- How We Solved Authentication and Authorization in Our Microservice Architecture
- Salted Password Hashing - Doing it Right
- Token vs Session Authentication
- How Not to Store Passwords
- Neural Networks 101
- Neural Network Woes
- Computer Vision (AI): Object Detection and Segmentation with Mask R-CNN
- Neural Networks to Production, From an Engineer
- ⭐NanoNeuron: 7 simple JavaScript functions that will give you a feeling of how machines can actually "learn".
- ⭐The AI Hierarchy of Needs
- You might not need machine learning: using polynomials
- ⭐🎬Deep learning playlist - 3Blue1Brown
- Deep Learning Neural Networks Explained in Plain English
- A Quick Introduction to Vanilla Neural Networks
- The Complete Guide to Artificial Neural Networks: Concepts and Models
- Neural Networks in Plain English (Part 1)
- What is Deep Learning?
- Publication-ready NN-architecture schematics.
- What is the activation function in neural network
- Use Big O Notation to Design Better Algorithms
- Challenge your performance intuition with C++ operators
- Improving performance with SIMD intrinsics in three use cases
- Fast programming languages: C, C++, Rust, and Assembly
- Reactive Programming in Java: How, Why, and Is It Worth Doing? Multithreading
- Reactive Programming in Java: How, Why, and Is It Worth Doing? Examples of Parallel and Asynchronous Approaches
- Reactive Programming in Java: How, Why, and Is It Worth Doing? Blocking I/O
- Reactive Programming in Java: How, Why, and Is It Worth Doing? Node.js
- Reactive Programming in Java: How, Why, and Is It Worth Doing? Part II. Reactive approach
- Lock-free multithreading with atomic operations
- Concurrent programming, with examples
- What went wrong with the libdispatch. A tale of caution for the future of concurrency.
- Concurrency vs. Parallelism
- Synchronous Vs Asynchronous Programming
- Geeks - Dynamic Programming
- The One On Dynamic Programming!
- A graphical introduction to dynamic programming
- What Is Dynamic Programming With Python Examples
- Dynamic Programming: An Introduction
- All You Need to Know About Dynamic Programming
- Dynamic Programming Explained Simply, Fibonacci Series Insane Optimization.
- What is Dynamic Programming?
- Online Tester 101
- Regex Cheat Sheet
- Regular expressions cheat sheet
- Why should you learn Regex
- Regex wizard
- Learn git concepts, not commands
- GIT FOR DUMMIES-A BEGINNER’S GUIDE FROM A BEGINNER
- Conventional Commits
- How to explain git in simple words?
- Git e Github - Do clone ao pull request
- ⭐git - guia prático
- git — comandos que você precisa conhecer
- Git Workflow
- ⭐GITCommands:Definitive Guide (Best in 2020)
- Git Commands to Live By
"Let me tell you, it’s better to be a fake somebody than a real nobody."
ΛΘΧΙΛΡΖ