每个软件开发人员应该知道的技术性东西集合
每个软件开发人员应该知道的技术性东西集合
Python 其它杂项
共42610Star
详细介绍
Join our community for professional Software Developers and get more control over your life and career!
🤔
Every Programmer Should Know
A collection of (mostly) technical things every software developer should know.
Highly opinionated
U like it?
P.S. You don't need to know all of that by heart to be a programmer. But knowing the stuff will help you become better!
P.P.S. Contributions are welcome!
Introduction
Falsehoods
- Awesome Falsehoods
💊 Curated list of falsehoods programmers believe in. Check for things you do not know about Strings, Addresses, Names, Numbers, Emails, Timezones and Dates and more.
Algorithms
Data Structures
-
🎥 UC Berkeley, Data Structures Course - Foundations of Data Structures - EDX
- Data Structures - Coursera
- Mathematics for Computer Science - Eric Lehman
Numbers
-
📖 How to Count -
📄 Floating Point Guide -
📄 What Every Computer Scientist Should Know About Floating-Point Arithmetic -
📄 Basic Number Theory Every Programmer Should Know...
Strings
Latency
Time
Memory
Distributed Systems
-
📖 Designing Data-Intensive Applications -
📜 Designs, Lessons and Advice from Building Large Distributed Systems -
📜 Time, Clocks and the Ordering of Events in a Distributed System -
📄 There is No Now -
📄 Jepsen: how different databases behave under partition -
📜 Fallacies of Distributed Computing Explained
RegExp
Security
-
📖 Security Programming -
📄 Rolling Your Own Crypto -
📄 Cryptographic Right Answers -
📄 An Open Letter to Developers Everywhere (About Cryptography) -
📖 Foundations of Security: What Every Programmer Needs to Know - OWASP Top 10
- Web Application Exploits and Defenses
-
📄 Hashing, Encryption and Encoding
UX/Usability
SEO
Architecture
-
📜 A Field Guide to Boxology -
📜 Out of the Tar Pit -
📜 No Silver Bullet — Essence and Accidents of Software Engineering -
🎥 Growing a Language -
🎥 CQRS and Event Sourcing -
📖 Practical Object Oriented Design in Ruby -
🎥 Evolutionary Software Architectures - System Design: A Primer
-
📄 How JavaScript works: part-1, 2, 3, 4 -
🎥 Entity-Component-System Architecture with Unity by example
Engineering Philosophy
-
🎥 Category Theory in Life -
🎥 Simple Made Easy -
📄 Speed In Software Development -
🎥 #NoEstimates -
🎥 The Myth of the Genius Programmer -
🎥 Making Badass Developers -
📄 The Ten Rules of a Zen Programmer -
📄 The mythical 10x programmer -
📄 The Debugging Mindset -
🎥 The Future of Programming -
📄 The Good Software Development Manifesto
Practices
-
📖 Working Effectively with Legacy Code -
📖 Clean Code: A Handbook of Agile Software Craftsmanship -
📖 Test Driven Development: By Example -
✅ Going To Production Checklist -
📖 Release It! -
📖 Professor Frisby's Mostly Adequate Guide to Functional Programming -
📖 SICP: Structure and Interpretation of Computer Programs -
📄 Thirteen Ways of Looking at a Turtle -
📜 Programming Paradigms for Dummies: What Every Programmer Should Know - Learn X in Y Minutes Learn the basics of a language in a highly condensed way.
- Hyperpolyglot Compare commonly used features of more or less similar languages side-by-side. Helps you to jump Python<->Ruby, Ocaml<->Haskell, etc.
-
📄 Pomodoro for Programmers -
📖 Site Reliability Engineering
Career
-
💰 Levels FYI
Salary stats for various tech companies. Better than Glassdoor. -
📄 10 Things Every Programmer Should Know For Their First Job -
📄 How Much Do Software Engineers Really Make in Each City? -
📄 Software Engineers Tenure in San Francisco - Software Engineering 101
-
📖 The Passionate Programmer -
📖 Soft Skills: The software developer's life manual -
📖 The Complete Software Developer's Career Guide -
📖 Programming Beyond Practices: Be More Than Just a Code Monkey - A list of European Investors
-
📄 Ten Rules for Negotiating a Job Offer -
📄 How To Interview As a Developer Candidate -
📄 How To Get a Tech Job Abroad Faster -
📖 How To Be A STAR Engineer -
📄 TL;DR; Stock Options -
📄 Equity 101 for Startup Employees -
📖 Cracking the Coding Interview: 189 Programming Questions and Solutions -
🔥 Everything you need to know to get the job -
📖 Tech Interview Handbook -
📄 Teach Yourself Programming in Ten Years -
📄 What you should know as a founder of a software company -
🎥 Code Interview Prep & Programming Questions | Pramp
Fine-tune Your Resume
Open Source
Remote Work
-
🌐 Remotive.io: Startups hiring remotely -
🌐 Remote Work List for Developers -
⚡ NomadList -
📖 The Ultimate Guide to Remote Work -
🏠 Awesome Remote Job
Problem Solving
Soft Skills
Mental Health
- Awesome Mental Health
A curated list of awesome articles, websites and resources about mental health in the software industry.
Papers on Programming
-
❤️ Papers We Love -
📰 The Morning Paper -
📜 What Every Programmer Should Know About Memory -
📜 Go To Statement Considered Harmful
Free Books on Programming
⚡
Services
Licenses
- Choose An Open Source License
- Well-explained Software licenses in TLDR version
- How open source licenses work and how to add them to your projects
Where To Look For Further Info
⚡
Coding Practice Sites
-
🔗 CodeForces -
🔗 CodeChef -
🔗 Coderbyte -
🔗 CodinGame -
🔗 Cs Academy -
🔗 HackerRank -
🔗 Spoj -
🔗 HackerEarth -
🔗 TopCoder -
🔗 Codewars -
🔗 Exercism -
🔗 CodeSignal -
🔗 Project Euler -
🔗 LeetCode -
🔗 Firecode.io -
🔗 InterviewBit -
🔗 uCoder -
🔗 LintCode -
🔗 CodeCombat -
🔗 InterviewCake -
🔗 At Coder