software-programming-guide
所属分类:博客
开发工具:Makefile
文件大小:0KB
下载次数:0
上传日期:2023-09-15 19:30:16
上 传 者:
sh-1993
说明: 软件编程指南:这本书每页解释一个主题,如大词汇表、简易维基、快速百科全书或摘要注释...,
(Software Programming Guide: this book explains one topic per page, like a big glossary, easy wiki, quick encyclopedia, or summary notes. Edited by Joel Parker Henderson (@joelparkerhenderson).)
文件列表:
CODE_OF_CONDUCT.md (5490, 2023-11-30)
assets/ (0, 2023-11-30)
assets/images/ (0, 2023-11-30)
assets/images/matrix/ (0, 2023-11-30)
assets/images/matrix/1920x960.jpg (483638, 2023-11-30)
assets/images/matrix/960x960.jpg (205022, 2023-11-30)
assets/images/matrix/original.png (4111233, 2023-11-30)
assets/images/splash/ (0, 2023-11-30)
assets/images/splash/1600x2500.jpg (570488, 2023-11-30)
assets/images/splash/1920x960.jpg (604603, 2023-11-30)
assets/images/splash/1920x960.xcf (4589883, 2023-11-30)
bin/ (0, 2023-11-30)
bin/links (138, 2023-11-30)
bin/sync-topics (204, 2023-11-30)
bin/topics (121, 2023-11-30)
software-programming-guide.epub (825032, 2023-11-30)
software-programming-guide.pdf (710276, 2023-11-30)
src/ (0, 2023-11-30)
src/epub/ (0, 2023-11-30)
src/epub/Makefile (444, 2023-11-30)
src/epub/epub.css (4131, 2023-11-30)
src/epub/start.yml (798, 2023-11-30)
src/kindle.yml (900, 2023-11-30)
src/links.md (18528, 2023-11-30)
src/pdf/ (0, 2023-11-30)
src/pdf/Makefile (442, 2023-11-30)
src/pdf/start.yml (1065, 2023-11-30)
src/start.yml (673, 2023-11-30)
topics/ (0, 2023-11-30)
topics/about-related-projects/ (0, 2023-11-30)
topics/about-related-projects/index.md (2779, 2023-11-30)
topics/about-the-ai/ (0, 2023-11-30)
topics/about-the-ai/index.md (1467, 2023-11-30)
topics/about-the-ebook-pdf/ (0, 2023-11-30)
... ...
# Software Programming Guide
Software Programming Guide: this book explains one topic per page, like a big glossary, easy wiki, quick encyclopedia, or summary notes.
* Download the free e-book file [EPUB](https://github.com/SixArm/software-programming-guide/blob/master/software-programming-guide.epub) or [PDF](https://github.com/SixArm/software-programming-guide/blob/master/software-programming-guide.pdf).
* Or pay what you wish with [Gumroad](https://github.com/SixArm/software-programming-guide/blob/master/https://gumroad.com/l/software-programming-guide) or [Zylvie](https://github.com/SixArm/software-programming-guide/blob/master/https://zylvie.com/joelparkerhenderson/p/software-programming-guide).
* Edited by [Joel Parker Henderson](https://github.com/SixArm/software-programming-guide/blob/master/https://github.com/joelparkerhenderson).
* For questions and suggestions [email me](https://github.com/SixArm/software-programming-guide/blob/master/mailto:joel@joelparkerhenderson.com).
## Contents
### [Introduction](https://github.com/SixArm/software-programming-guide/blob/master/topics/software-programming-guide-introduction/)
### [Programming paradigms](https://github.com/SixArm/software-programming-guide/blob/master/topics/programming-paradigms/)
* [Functional Programming](https://github.com/SixArm/software-programming-guide/blob/master/topics/functional-programming/)
* [Procedural Programming](https://github.com/SixArm/software-programming-guide/blob/master/topics/procedural-programming/)
* [Imperative Programming](https://github.com/SixArm/software-programming-guide/blob/master/topics/imperative-programming/)
* [Declarative Programming](https://github.com/SixArm/software-programming-guide/blob/master/topics/declarative-programming/)
* [Object-Oriented Programming (OOP)](https://github.com/SixArm/software-programming-guide/blob/master/topics/object-oriented-programming/)
* [Aspect-Oriented Programming (AOP)](https://github.com/SixArm/software-programming-guide/blob/master/topics/aspect-oriented-programming/)
* [Message-Oriented Programming (MOP)](https://github.com/SixArm/software-programming-guide/blob/master/topics/message-oriented-programming/)
* [Event-Driven Programming (EDP)](https://github.com/SixArm/software-programming-guide/blob/master/topics/event-driven-programming/)
* [Logic Programming](https://github.com/SixArm/software-programming-guide/blob/master/topics/logic-programming/)
* [Actor Programming](https://github.com/SixArm/software-programming-guide/blob/master/topics/actor-programming/)
### [Software design approaches](https://github.com/SixArm/software-programming-guide/blob/master/topics/software-design-approaches/)
* [Level-Oriented Design (LOD)](https://github.com/SixArm/software-programming-guide/blob/master/topics/level-oriented-design/)
* [Data Flow-Oriented Design (DFD)](https://github.com/SixArm/software-programming-guide/blob/master/topics/data-flow-oriented-design/)
* [Data Structure-Oriented Design (DSD)](https://github.com/SixArm/software-programming-guide/blob/master/topics/data-structure-oriented-design/)
* [Object-Oriented Design (OOD)](https://github.com/SixArm/software-programming-guide/blob/master/topics/object-oriented-design/)
### [Algorithms](https://github.com/SixArm/software-programming-guide/blob/master/topics/algorithms/)
* [Sort algorithms](https://github.com/SixArm/software-programming-guide/blob/master/topics/sort-algorithms/)
* [Bubble sort algorithm](https://github.com/SixArm/software-programming-guide/blob/master/topics/bubble-sort-algorithm/)
* [Insertion sort algorithm](https://github.com/SixArm/software-programming-guide/blob/master/topics/insertion-sort-algorithm/)
* [Quick sort algorithm](https://github.com/SixArm/software-programming-guide/blob/master/topics/quick-sort-algorithm/)
* [Merge sort algorithm](https://github.com/SixArm/software-programming-guide/blob/master/topics/merge-sort-algorithm/)
* [Heap sort algorithm](https://github.com/SixArm/software-programming-guide/blob/master/topics/heap-sort-algorithm/)
* [Search algorithms](https://github.com/SixArm/software-programming-guide/blob/master/topics/search-algorithms/)
* [Linear search algorithm](https://github.com/SixArm/software-programming-guide/blob/master/topics/linear-search-algorithm)
* [Breadth-first search (BFS)](https://github.com/SixArm/software-programming-guide/blob/master/topics/breadth-first-search/)
* [Depth-first search (DFS)](https://github.com/SixArm/software-programming-guide/blob/master/topics/depth-first-search/)
* [Binary heap](https://github.com/SixArm/software-programming-guide/blob/master/topics/binary-heap/)
* [Red-black tree](https://github.com/SixArm/software-programming-guide/blob/master/topics/red-black-tree/)
* [Binary search tree](https://github.com/SixArm/software-programming-guide/blob/master/topics/binary-search-tree/)
* [Balanced tree](https://github.com/SixArm/software-programming-guide/blob/master/topics/balanced-tree/)
* [Splay tree](https://github.com/SixArm/software-programming-guide/blob/master/topics/splay-tree/)
* [AVL tree](https://github.com/SixArm/software-programming-guide/blob/master/topics/avl-tree)
* [String search algorithms](https://github.com/SixArm/software-programming-guide/blob/master/topics/string-search-algorithms/)
* [Rabin-Karp algorithm](https://github.com/SixArm/software-programming-guide/blob/master/topics/rabin-karp-algorithm/)
* [Boyer-Moore algorithm](https://github.com/SixArm/software-programming-guide/blob/master/topics/boyer-moore-algorithm/)
* [Knuth-Morris-Pratt algorithm](https://github.com/SixArm/software-programming-guide/blob/master/topics/knuth-morris-pratt-algorithm/)
* [Aho-Corasick algorithm](https://github.com/SixArm/software-programming-guide/blob/master/topics/aho-corasick-algorithm/)
* [Graph algorithms](https://github.com/SixArm/software-programming-guide/blob/master/topics/graph-algorithms/)
* [Dijkstra's algorithm](https://github.com/SixArm/software-programming-guide/blob/master/topics/dijkstras-algorithm/)
* [Floyd-Warshall algorithm](https://github.com/SixArm/software-programming-guide/blob/master/topics/floyd-warshall-algorithm/)
* [Bellman-Ford algorithm](https://github.com/SixArm/software-programming-guide/blob/master/topics/bellman-ford-algorithm/)
* [Topological sort algorithm](https://github.com/SixArm/software-programming-guide/blob/master/topics/topological-sort-algorithm/)
* [Strongly connected components (SCC)](https://github.com/SixArm/software-programming-guide/blob/master/topics/strongly-connected-components/)
* [Minimum spanning tree (MST)](https://github.com/SixArm/software-programming-guide/blob/master/topics/minimum-spanning-tree/)
* [Kruskal's algorithm](https://github.com/SixArm/software-programming-guide/blob/master/topics/kruskals-algorithm/)
* [Kosaraju's algorithm](https://github.com/SixArm/software-programming-guide/blob/master/topics/kosarajus-algorithm/)
* [Cryptography algorithms](https://github.com/SixArm/software-programming-guide/blob/master/topics/cryptography-algorithms/)
* [Dynamic programming algorithms](https://github.com/SixArm/software-programming-guide/blob/master/topics/dynamic-programming-algorithms/)
* [Genetic algorithms](https://github.com/SixArm/software-programming-guide/blob/master/topics/genetic-algorithms/)
* [Consensus algorithms](https://github.com/SixArm/software-programming-guide/blob/master/topics/consensus-algorithms/)
* [Constraint satisfaction algorithms](https://github.com/SixArm/software-programming-guide/blob/master/topics/constraint-satisfaction-algorithms/)
* [Quality of service (qos) algorithms](https://github.com/SixArm/software-programming-guide/blob/master/topics/quality-of-service-algorithms/)
* [Networking algorithms](https://github.com/SixArm/software-programming-guide/blob/master/topics/networking-algorithms/)
* [Load balancing algorithms](https://github.com/SixArm/software-programming-guide/blob/master/topics/load-balancing-algorithms/)
* [MapReduce](https://github.com/SixArm/software-programming-guide/blob/master/topics/map-reduce/)
* [Sieve of Eratosthenes](https://github.com/SixArm/software-programming-guide/blob/master/topics/sieve-of-eratosthenes/)
* [Edit distance algorithm (a.k.a. Levenshtein distance)](https://github.com/SixArm/software-programming-guide/blob/master/topics/edit-distance-algorithm/)
* [Error detection algorithms](https://github.com/SixArm/software-programming-guide/blob/master/topics/error-detection-algorithms/)
* [Error correction algorithms](https://github.com/SixArm/software-programming-guide/blob/master/topics/error-correction-algorithms/)
## Data
### [Database paradigms](https://github.com/SixArm/software-programming-guide/blob/master/topics/database-paradigms/)
* [Relational database](https://github.com/SixArm/software-programming-guide/blob/master/topics/relational-database/)
* [Document database](https://github.com/SixArm/software-programming-guide/blob/master/topics/document-database/)
* [Object database](https://github.com/SixArm/software-programming-guide/blob/master/topics/object-database/)
* [Graph database](https://github.com/SixArm/software-programming-guide/blob/master/topics/graph-database/)
* [Vector database](https://github.com/SixArm/software-programming-guide/blob/master/topics/vector-database/)
* [Ledger database](https://github.com/SixArm/software-programming-guide/blob/master/topics/ledger-database/)
* [Time-series database](https://github.com/SixArm/software-programming-guide/blob/master/topics/time-series-database/)
### [Database availability](https://github.com/SixArm/software-programming-guide/blob/master/topics/database-availability/)
* [Database sharding](https://github.com/SixArm/software-programming-guide/blob/master/topics/database-sharding/)
* [Database replication](https://github.com/SixArm/software-programming-guide/blob/master/topics/database-replication/)
* [Replica database](https://github.com/SixArm/software-programming-guide/blob/master/topics/replica-database/)
* [Distributed database](https://github.com/SixArm/software-programming-guide/blob/master/topics/distributed-database/)
* [Eventually-consistent database](https://github.com/SixArm/software-programming-guide/blob/master/topics/eventually-consistent-database/)
* [CAP theorem](https://github.com/SixArm/software-programming-guide/blob/master/topics/cap-theorem/)
* [PACELC theorem](https://github.com/SixArm/software-programming-guide/blob/master/topics/pacelc-theorem/)
* [Lamport timestamp](https://github.com/SixArm/software-programming-guide/blob/master/topics/lamport-timestamp/)
* [Vector clock](https://github.com/SixArm/software-programming-guide/blob/master/topics/vector-clock/)
* [Data-at-rest](https://github.com/SixArm/software-programming-guide/blob/master/topics/data-at-rest/)
* [Data-in-motion](https://github.com/SixArm/software-programming-guide/blob/master/topics/data-in-motion/)
### [Data structures](https://github.com/SixArm/software-programming-guide/blob/master/topics/data-structures/)
* [Array data structure](https://github.com/SixArm/software-programming-guide/blob/master/topics/array-data-structure/)
* [Stack data structure](https://github.com/SixArm/software-programming-guide/blob/master/topics/stack-data-structure/)
* [Queue data structure](https://github.com/SixArm/software-programming-guide/blob/master/topics/queue-data-structure/)
* [Hash table data structure (a.k.a. hash map)](https://github.com/SixArm/software-programming-guide/blob/master/topics/hash-table-data-structure/)
* [Linked list data structure](https://github.com/SixArm/software-programming-guide/blob/master/topics/linked-list-data-structure/)
* [Graph data structure](https://github.com/SixArm/software-programming-guide/blob/master/topics/graph-data-structure/)
* [Tree data structure](https://github.com/SixArm/software-programming-guide/blob/master/topics/tree-data-structure/)
* See: binary heap, AVL tree, binary tree, red-black tree, splay tree
* [Tagged union](https://github.com/SixArm/software-programming-guide/blob/master/topics/tagged-union/)
* [Bloom filter](https://github.com/SixArm/software-programming-guide/blob/master/topics/bloom-filter/)
* [Kalman filter](https://github.com/SixArm/software-programming-guide/blob/master/topics/kalman-filter/)
### Data tactics
* [Data schema](https://github.com/SixArm/software-programming-guide/blob/master/topics/data-schema/)
* [Data warehouse](https://github.com/SixArm/software-programming-guide/blob/master/topics/data-warehouse/)
* [Data lake](https://github.com/SixArm/software-programming-guide/blob/master/topics/data-lake/)
* [Data mesh](https://github.com/SixArm/software-programming-guide/blob/master/topics/data-mesh/)
* [Extract, Transform, Load (ETL)](https://github.com/SixArm/software-programming-guide/blob/master/topics/extract-transform-load/)
* [Batch processing](https://github.com/SixArm/software-programming-guide/blob/master/topics/batch-processing/)
### [Design patterns](https://github.com/SixArm/software-programming-guide/blob/master/topics/design-patterns/)
* [Backpressure](https://github.com/SixArm/software-programming-guide/blob/master/topics/backpressure/)
* [Circuit breaker](https://github.com/SixArm/software-programming-guide/blob/master/topics/circuit-breaker/)
* [Dependency injection (DI)](https://github.com/SixArm/software-programming-guide/blob/master/topics/dependency-injection/)
* [Inversion of Control (IoC)](https://github.com/SixArm/software-programming-guide/blob/master/topics/inversion-of-control/)
### [Distributed ledger](https://github.com/SixArm/software-programming-guide/blob/master/topics/distributed-ledger/)
* [Blockchain](https://github.com/SixArm/software-programming-guide/blob/master/topics/blockchain/)
* [Bitcoin](https://github.com/SixArm/software-programming-guide/blob/master/topics/bitcoin/)
* [Ethereum](https://github.com/SixArm/software-programming-guide/blob/master/topics/ethereum/)
* [Smart contract](https://github.com/SixArm/software-programming-guide/blob/master/topics/smart-contract/)
* [Proof-of-work (PoW)](https://github.com/SixArm/software-programming-guide/blob/master/topics/proof-of-work/)
* [Proof-of-stake (PoS)](https://github.com/SixArm/software-programming-guide/blob/master/topics/proof-of-stake/)
* [Practical Byzantine Fault Tolerance (PBFT)](https://github.com/SixArm/software-programming-guide/blob/master/topics/practical-byzantine-fault-tolerance/)
## Technology tactics
* [Constraint satisfaction](https://github.com/SixArm/software-programming-guide/blob/master/topics/constraint-satisfaction/)
* [Network protocols](https://github.com/SixArm/software-programming-guide/blob/master/topics/network-protocols/)
* [State machine](https://github.com/SixArm/software-programming-guide/blob/master/topics/state-machine/)
* [Coordinated disclosure](https://github.com/SixArm/software-programming-guide/blob/master/topics/coordinated-disclosure/)
* Responsible disclosure: see coordinated disclosure
* [Compression](https://github.com/SixArm/software-programming-guide/blob/master/topics/compression/)
* [Caching](https://github.com/SixArm/software-programming-guide/blob/master/topics/caching/)
* [Russian-doll caching](https://github.com/SixArm/software-programming-guide/blob/master/topics/russian-doll-caching/)
* [Cryptography](https://github.com/SixArm/software-programming-guide/blob/master/topics/cryptography/)
* [Encoding](https://github.com/SixArm/software-programming-guide/blob/master/topics/encoding/)
* [Encryption](https://github.com/SixArm/software-programming-guide/blob/master/topics/encryption/)
* [Homomorphic encryption](https://github.com/SixArm/software-programming-guide/blob/master/topics/homomorphic-encryption/)
* [Inheritance](https://github.com/SixArm/software-programming-guide/blob/master/topics/inheritance/)
* [Composition](https://github.com/SixArm/software-programming-guide/blob/master/topics/composition/)
* [Interface](https://github.com/SixArm/software-programming-guide/blob/master/topics/interface/)
* [Recursion](https://github.com/SixArm/software-programming-guide/blob/master/topics/recursion/)
* [Federation](https://github.com/SixArm/software-programming-guide/blob/master/topics/federation/)
* [Memoization](https://github.com/SixArm/software-programming-guide/blob/master/topics/memoization/)
* [Serialization](https://github.com/SixArm/software-programming-guide/blob/master/topics/serialization/)
* [Message queue](https://github.com/SixArm/software-programming-guide/blob/master/topics/message-queue/)
* [Tuple space](https://github.com/SixArm/software-programming-guide/blob/master/topics/tuple-space/)
* [Checked exceptions](https://github.com/SixArm/software-programming-guide/blob/master/topics/checked-exceptions/)
* [Queueing theory](https://github.com/SixArm/software-programming-guide/blob/master/topics/queueing-theory/)
* [Software Development Kit (SDK)](https://github.com/SixArm/software-programming-guide/blob/master/topics/software-development-kit/)
* [Software Development Kit (SDK) - benefits](https://github.com/SixArm/software-programming-guide/blob/master/topics/software-development-kit-benefits/)
* [Application Programming Interface (API)](https://github.com/SixArm/software-programming-guide/blob/master/topics/application-programming-interface/)
* [Application Programming Interface (API) - benefits](https://github.com/SixArm/software-programming-guide/blob/master/topics/application-programming-interface-benefits/)
* [Text-To-Speech (TTS) and Speech-To-Text (STT)](https://github.com/SixArm/software-programming-guide/blob/master/topics/text-to-speech-and-speech-to-text/)
* [Universally Unique Identifier (UUID)](https://github.com/SixArm/software-programming-guide/blob/master/topics/universally-unique-identifier/)
### Runtime - TODO
* [Memory management](https://github.com/SixArm/software-programming-guide/blob/master/topics/memory-management/)
* [Garbage collection](https://github.com/SixArm/software-programming-guide/blob/master/topics/garbage-collection/)
* [Asynchronous processing (asynchronicity)](https://github.com/SixArm/software-programming-guide/blob/master/topics/asynchronous-processing/)
* [Parallel processing (parallelism)](https://github.com/SixArm/software-programming-guide/blob/master/topics/parallel-processing/)
* [Concurrent processing (concurrency)](https://github.com/SixArm/software-programming-guide/blob/master/topics/concurrent-processing/)
### [Software architecture](https://github.com/SixArm/software-programming-guide/blob/master/topics/software-architecture/)
* [Monolith architecture](https://github.com/SixArm/software-programming-guide/blob/master/topics/monolith-architecture/)
* [Microservice architecture](https://github.com/SixArm/software-programming-guide/blob/master/topics/microservice-architecture/)
* [Service-oriented architecture (SOA)](https://github.com/SixArm/software-programming-guide/blob/master/topics/service-oriented-architecture/)
* [Event-Driven Architecture (EDA)](https://github.com/SixArm/software-programming-guide/blob/master/topics/event-driven-architecture/)
* [Representational State Transfer (REST)](https://github.com/SixArm/software-programming-guide/blob/master/topics/representational-state-transfer/)
* [Simple Object Access Protocol (SOAP)](https://github.com/SixArm/software-programming-guide/blob/master/topics/simple-object-access-protocol/)
* [Remote procedure call (RPC)](https://github.com/SixArm/software-programming-guide/blob/master/topics/remote-procedure-call/)
### [Software development methodologies](https://github.com/SixArm/software-programming-guide/blob/master/topics/software-development-methodologies/)
* [Waterfall software development methodology](https://github.com/SixArm/software-programming-guide/blob/master/topics/waterfall-software-development-methodology/)
* [Agile software development methodology](https://github.com/SixArm/software-programming-guide/blob/master/topics/agile-software-development-methodology/)
* [Rapid Application Development (RAD)](https://github.com/SixArm/software-programming-guide/blob/master/topics/rapid-application-development/)
* [Extreme Programming (XP)](https://github.com/SixArm/software-programming-guide/blob/master/topics/extreme-programming/)
### [Software testing](https://github.com/SixArm/software-programming-guide/blob/master/topics/software-testing/)
* [Unit testing](https://github.com/SixArm/software-programming-guide/blob/master/topics/unit-testing/)
* [Integration testing](https://github.com/SixArm/software-programming-guide/blob/master/topics/integration-testing/)
* [End-to-end testing](https://github.com/SixArm/software-programming-guide/blob/master/topics/end-to-end-testing/)
* [System testing](https://github.com/SixArm/software-programming-guide/blob/master/topics/system-testing/)
* [Regression testing](https://github.com/SixArm/software-programming-guide/blob/master/topics/regression-testing/)
* [Acceptance testing](https://github.com/SixArm/software-programming-guide/blob/master/topics/acceptance-testing/)
* [Usability testing](https://github.com/SixArm/software-programming-guide/blob/master/topics/usability-testing/)
* [Accessibility testing](https://github.com/SixArm/software-programming-guide/blob/master/topics/accessibility-testing/)
* [Localization testing](https://github.com/SixArm/software-programming-guide/blob/master/topics/localization-testing/)
* [Performance testing](https://github.com/SixArm/software-programming-guide/blob/master/topics/performance-testing/)
* [Benchmark testing](https://github.com/SixArm/software-programming-guide/blob/master/topics/benchmark-testing/)
* [Security testing](https://github.com/SixArm/software-programming-guide/blob/master/topics/security-testing/)
* Fuzz testing - TODO
* [Penetration testing](https://github.com/SixArm/software-programming-guide/blob/master/topics/penetration-testing/)
* [Shift-left testing](https://github.com/SixArm/software-programming-guide/blob/master/topics/shift-left-testing/)
* [Bug bounty](https://github.com/SixArm/software-programming-guide/blob/master/topics/bug-bounty/)
### [Version control](https://github.com/SixArm/software-programming-guide/blob/master/topics/version-control/)
* [Commit](https://github.com/SixArm/software-programming-guide/blob/master/topics/commit/)
* [Topic branch](https://github.com/SixArm/software-programming-guide/blob/master/topics/topic-branch/)
* [Pull request](https://github.com/SixArm/software-programming-guide/blob/master/topics/pull-request/)
* [Gitflow](https://github.com/SixArm/software-programming-guide/blob/master/topics/gitflow/)
* [Trunk-based development](https://github.com/SixArm/software-programming-guide/blob/master/topics/trunk-based-development/)
### [DevOps](https://github.com/SixArm/software-programming-guide/blob/master/topics/devops/)
* [Continuous delivery (CD)](https://github.com/SixArm/software-programming-guide/blob/master/topics/continuous-delivery/)
* [Continuous deployment (CD)](https://github.com/SixArm/software-programming-guide/blob/master/topics/continuous-deployment/)
* [Continuous integration (CI)](https://github.com/SixArm/software-programming-guide/blob/master/topics/continuous-integration/)
* [DORA metrics](https://github.com/SixArm/software-programming-guide/blob/master/topics/dora-metrics/)
* [Mean Time To Repair (MTTR)](https://github.com/SixArm/software-programming-guide/blob/master/topics/mean-time-to-repair/)
## Security
### [Security attacks](https://github.com/SixArm/software-programming-guide/blob/master/topics/security-attacks/)
* [Social engineering](https://github.com/SixArm/software-programming-guide/blob/master/topics/social-engineering/)
* [Piggyback attack](https://github.com/SixArm/software-programming-guide/blob/master/topics/piggyback-attack/)
* [Phishing](https://github.com/SixArm/software-programming-guide/blob/master/topics/phishing/)
* [Spear phishing](https://github.com/SixArm/software-programming-guide/blob/master/topics/spear-phishing/)
* [Malware](https://github.com/SixArm/software-programming-guide/blob/master/topics/malware/)
* [Ransomware](https://github.com/SixArm/software-programming-guide/blob/master/topics/ransomware/)
* [SQL injection](https://github.com/SixArm/software-programming-guide/blob/master/topics/sql-injection/)
* [Security by obscurity](https://github.com/SixArm/software-programming-guide/blob/master/topics/security-by-obscurity/)
### [Security mitigations](https://github.com/SixArm/software-programming-guide/blob/master/topics/security-mitigations/)
* [Defense in depth](https://github.com/SixArm/software-programming-guide/blob/master/topics/defense-in-depth/)
* [Perfect Forward Secrecy (PFS)](https://github.com/SixArm/software-programming-guide/blob/master/topics/perfect-forward-secrecy/)
* [Intrusion Detection System (IDS)](https://github.com/SixArm/software-programming-guide/blob/master/topics/intrusion-detection-system/)
* [Security Information and Event Management (SIEM)](https://github.com/SixArm/software-programming-guide/blob/master/topics/security-information-and-event-management/)
* [Transport Layer Security (TLS)](https://github.com/SixArm/software-programming-guide/blob/master/topics/transport-layer-security/)
* [Secure Sockets Layer (SSL)](https://github.com/SixArm/software-programming-guide/blob/master/topics/secure-sockets-layer/)
* [Digital certificate](https://github.com/SixArm/software-programming-guide/blob/master/topics/digital-certificate/)
* [Certificate Authority (CA)](https://github.com/SixArm/software-programming-guide/blob/master/topics/certificate-authority/)
### [Project management methodologies](https://github.com/SixArm/software-programming-guide/blob/master/topics/project-management-methodologies/)
* [Scope](https://github.com/SixArm/software-programming-guide/blob/master/topics/scope/)
* [Statement Of Work (SOW)](https://github.com/SixArm/software-programming-guide/blob/master/topics/statement-of-work/)
* [Functional specifications](https://github.com/SixArm/software-programming-guide/blob/master/topics/functional-specifications)
* [Software development life cycle (SDLC)](https://github.com/SixArm/software-programming-guide/blob/master/topics/software-development-life-cycle/)
* [Project estimation](https://github.com/SixArm/software-programming-guide/blob/master/topics/project-estimation/)
* [Critical chain project management](https://github.com/SixArm/software-programming-guide/blob/master/topics/critical-chain-project-management/)
* [Lean software development methodology](https://github.com/SixArm/software-programming-guide/blob/master/topics/lean-software-development-methodology/)
* [Agile software development methodology](https://github.com/SixArm/software-programming-guide/blob/master/topics/agile-software-development-methodology/)
* [Kanban](https://github.com/SixArm/software-programming-guide/blob/master/topics/kanban/)
* [Scrum](https://github.com/SixArm/software-programming-guide/blob/master/topics/scrum/)
* [Prince2](https://github.com/SixArm/software-programming-guide/blob/master/topics/prince2/)
## Design Development
* [Big design up front (BDUF)](https://github.com/SixArm/software-programming-guide/blob/master/topics/big-design-up-front/)
* [Domain-Driven Design (DDD)](https://github.com/SixArm/software-programming-guide/blob/master/topics/domain-driven-design/)
* [Behavior-Driven Development (BDD)](https://github.com/SixArm/software-programming-guide/blob/master/topics/behavior-driven-development/)
* [Test-Driven Development (TDD)](https://github.com/SixArm/software-programming-guide/blob/master/topics/test-driven-development/)
### [Markup language](https://github.com/SixArm/software-programming-guide/blob/master/topics/markup-language/)
* [Hypertext Markup Language (HTML)](https://github.com/SixArm/software-programming-guide/blob/master/topics/hypertext-markup-language/)
* [Extensible Markup Language (XML)](https://github.com/SixArm/software-programming-guide/blob/master/topics/extensible-markup-language/)
* [Tom's Opinionated Markup Language (TOML)](https://github.com/SixArm/software-programming-guide/blob/master/topics/toms-opinionated-markup-language/)
* [YAML Ain't Markup Language (YAML)](https://github.com/SixArm/software-programming-guide/blob/master/topics/yaml-aint-markup-language/)
* [Financial Products Markup Language (FPML)](https://github.com/SixArm/software-programming-guide/blob/master/topics/financial-products-markup-language/)
* [Geography Markup Language (GML)](https://github.com/SixArm/software-programming-guide/blob/master/topics/geography-markup-language/)
* [Strategy Markup Language (StratML)](https://github.com/SixArm/software-programming-guide/blob/master/topics/strategy-markup-language/)
### [Query language](https://github.com/SixArm/software-programming-guide/blob/master/topics/query-language/)
* [Structured Query Language (SQL)](https://github.com/SixArm/software-programming-guide/blob/master/topics/structured-query-language/)
* [Graph Query Language (GraphQL)](https://github.com/SixArm/software-programming-guide/blob/master/topics/graph-query-language/)
* [SPARQL Protocol and RDF Query Language (SPARQL)](https://github.com/SixArm/software-programming-guide/blob/master/topics/sparql-protocol-and-rdf-query-language/)
### [Modeling language](https://github.com/SixArm/software-programming-guide/blob/master/topics/modeling-language/)
* [Domain-Specific Language (DSL)](https://github.com/SixArm/software-programming-guide/blob/master/topics/domain-specific-language/)
* [Unified Modeling Language (UML)](https://github.com/SixArm/software-programming-guide/blob/master/topics/unified-modeling-language/)
* [Schema.org](https://github.com/SixArm/software-programming-guide/blob/master/topics/schema-org/)
* [Resource Description Framework (RDF)](https://github.com/SixArm/software-programming-guide/blob/master/topics/resource-description-framework/)
* [Web Ontology Language (OWL)](https://github.com/SixArm/software-programming-guide/blob/master/topics/web-ontology-language/)
* [The Semantic Web](https://github.com/SixArm/software-programming-guide/blob/master/topics/the-semantic-web/)
### [Modeling diagrams](https://github.com/SixArm/software-programming-guide/blob/master/topics/modeling-diagrams/)
* [Activity diagram](https://github.com/SixArm/software-programming-guide/blob/master/topics/activity-diagram/)
* [Sequence diagram](https://github.com/SixArm/software-programming-guide/blob/master/topics/sequence-diagram/)
* [Use case diagram](https://github.com/SixArm/software-programming-guide/blob/master/topics/use-case-diagram/)
* [Object diagram](https://github.com/SixArm/software-programming-guide/blob/master/topics/object-diagram/)
* [Class diagram](https://github.com/SixArm/software-programming-guide/blob/master/topics/class-diagram/)
* [Package diagram](https://github.com/SixArm/software-programming-guide/blob/master/topics/package-diagram/)
* [Component diagram](https://github.com/SixArm/software-programming-guide/blob/master/topics/component-diagram/)
* [Deployment diagram](https://github.com/SixArm/software-programming-guide/blob/master/topics/deployment-diagram/)
* [State diagram](https://github.com/SixArm/software-programming-guide/blob/master/topics/state-diagram/)
* [Timing diagram](https://github.com/SixArm/software-programming-guide/blob/master/topics/timing-diagram/)
* [Entity-relationship diagram (ERD)](https://github.com/SixArm/software-programming-guide/blob/master/topics/entity-relationship-diagram/)
* [Cause-and-effect diagram](https://github.com/SixArm/software-programming-guide/blob/master/topics/cause-and-effect-diagram/)
* Fishbone diagram: see cause-and-effect diagram
* Ishikawa diagram: see cause-and-effect diagram
* [PlantUML](https://github.com/SixArm/software-programming-guide/blob/master/topics/plantuml/)
* [Mermaid.js](https://github.com/SixArm/software-programming-guide/blob/master/topics/mermaid-js/)
## Teams
### [Teamwork](https://github.com/SixArm/software-programming-guide/blob/master/topics/teamwork/)
* [Forming, Storming, Norming, Performing (FSNP)](https://github.com/SixArm/software-programming-guide/blob/master/topics/forming-storming-norming-performing/)
* [Icebreaker questions](https://github.com/SixArm/software-programming-guide/blob/master/topics/icebreaker-questions/)
* [Pizza team](https://github.com/SixArm/software-programming-guide/blob/master/topics/pizza-team/)
* [Squad team](https://github.com/SixArm/software-programming-guide/blob/master/topics/squad-team/)
* [Community of Practice (CoP)](https://github.com/SixArm/software-programming-guide/blob/master/topics/community-of-practice/)
* [The Spotify Model](https://github.com/SixArm/software-programming-guide/blob/master/topics/the-spotify-model/)
* [Ways Of Working (WOW)](https://github.com/SixArm/software-programming-guide/blob/master/topics/ways-of-working/)
* [TEAM FOCUS](https://github.com/SixArm/software-programming-guide/blob/master/topics/team-focus/)
* [Pair programming](https://github.com/SixArm/software-programming-guide/blob/master/topics/pair-programming/)
## Larger Projects
### [Digital transformation](https://github.com/SixArm/software-programming-guide/blob/master/topics/digital-transformation/)
* [Business information systems](https://github.com/SixArm/software-programming-guide/blob/master/topics/business-information-systems/)
* [Line-of-business (LOB) application](https://github.com/SixArm/software-programming-guide/blob/master/topics/line-of-business-application/)
* [Front-office applications](https://github.com/SixArm/software-programming-guide/blob/master/topics/front-office-applications/)
* [Back-office applications](https://github.com/SixArm/software-programming-guide/blob/master/topics/back-office-applications/)
### [Change management](https://github.com/SixArm/software-programming-guide/blob/master/topics/change-management/)
* [Business continuity](https://github.com/SixArm/software-programming-guide/blob/master/topics/business-continuity/)
* [Operational resilience](https://github.com/SixArm/software-programming-guide/blob/master/topics/operational-resilience/)
* [Standard Operating Procedure (SOP)](https://github.com/SixArm/software-programming-guide/blob/master/topics/standard-operating-procedure/)
* [Playbook](https://github.com/SixArm/software-programming-guide/blob/master/topics/playbook/)
* [Runbook](https://github.com/SixArm/software-programming-guide/blob/master/topics/runbook/)
### [Quality control](https://github.com/SixArm/software-programming-guide/blob/master/topics/quality-control/)
* [Program Evaluation and Review Technique (PERT)](https://github.com/SixArm/software-programming-guide/blob/master/topics/program-evaluation-and-review-technique/)
* [After-Action Report (AAR)](https://github.com/SixArm/software-programming-guide/blob/master/topics/after-action-report/)
* [Blameless retrospective](https://github.com/SixArm/software-programming-guide/blob/master/topics/blameless-retrospective/)
* [Issue tracker](https://github.com/SixArm/software-programming-guide/blob/master/topics/issue-tracker/)
* [Cynefin framework](https://github.com/SixArm/software-programming-guide/blob/master/topics/cynefin-framework/)
* [Five Whys analysis](https://github.com/SixArm/software-programming-guide/blob/master/topics/five-whys-analysis/)
* Non-functional requirements: see system quality attributes
* [Root cause analysis (RCA)](https://github.com/SixArm/software-programming-guide/blob/master/topics/root-cause-analysis/)
* [System Quality Attributes (SQAs)](https://github.com/SixArm/software-programming-guide/blob/master/topics/system-quality-attributes/)
* [Quality of Service (QoS) for networks](https://github.com/SixArm/software-programming-guide/blob/master/topics/quality-of-service-for-networks/)
* [Good Enough For Now (GEFN)](https://github.com/SixArm/software-programming-guide/blob/master/topics/good-enough-for-now/)
* [Technical debt](https://github.com/SixArm/software-programming-guide/blob/master/topics/technical-debt/)
* [Refactoring](https://github.com/SixArm/software-programming-guide/blob/master/topics/refactoring/)
* See also: cause and effect diagram
### [Statistical analysis](https://github.com/SixArm/software-programming-guide/blob/master/topics/statistical-analysis/)
* [Descriptive statistics](https://github.com/SixArm/software-programming-guide/blob/master/topics/descriptive-statistics/)
* [Inferential statistics](https://github.com/SixArm/software-programming-guide/blob/master/topics/inferential-statistics/)
* [Correlation](https://github.com/SixArm/software-programming-guide/blob/master/topics/correlation/)
* [Causation](https://github.com/SixArm/software-programming-guide/blob/master/topics/causation/)
* [Probability](https://github.com/SixArm/software-programming-guide/blob/master/topics/probability/)
* [Variance](https://github.com/SixArm/software-programming-guide/blob/master/topics/variance/)
* [Trend analysis](https://github.com/SixArm/software-programming-guide/blob/master/topics/trend-analysis/)
* [Anomaly detection](https://github.com/SixArm/software-programming-guide/blob/master/topics/anomaly-detection/)
* [Quantitative fallacy](https://github.com/SixArm/software-programming-guide/blob/master/topics/quantitative-fallacy/)
* [Regression to the mean](https://github.com/SixArm/software-programming-guide/blob/master/topics/regression-to-the-mean/)
* [Bayes' theorem](https://github.com/SixArm/software-programming-guide/blob/master/topics/bayes-theorem/)
* [Chi-square analysis](https://github.com/SixArm/software-programming-guide/blob/master/topics/chi-square-analysis/)
* [Monte Carlo methods](https://github.com/SixArm/software-programming-guide/blob/master/topics/monte-carlo-methods/)
* [Statistical analysis techniques](https://github.com/SixArm/software-programming-guide/blob/master/topics/statistical-analysis-techniques/)
### [Artificial intelligence (AI)](https://github.com/SixArm/software-programming-guide/blob/master/topics/artificial-intelligence/)
* [Machine learning (ML)](https://github.com/SixArm/software-programming-guide/blob/master/topics/machine-learning/)
* [Case-based reasoning (CBR)](https://github.com/SixArm/software-programming-guide/blob/master/topics/case-based-reasoning/)
* [Natural Language Processing (NLP)](https://github.com/SixArm/software-programming-guide/blob/master/topics/natural-language-processing/)
* [Expert system](https://github.com/SixArm/software-programming-guide/blob/master/topics/expert-system/)
* [AI for software programming](https://github.com/SixArm/software-programming-guide/blob/master/topics/ai-for-software-programming/)
* [AI content generator](https://github.com/SixArm/software-programming-guide/blob/master/topics/ai-content-generator/)
* [AI image generation](https://github.com/SixArm/software-programming-guide/blob/master/topics/ai-image-generation/)
* [AI internationalization/localization](https://github.com/SixArm/software-programming-guide/blob/master/topics/ai-internationalization-localization/)
## Lore
### [Computer science thought problems](https://github.com/SixArm/software-programming-guide/blob/master/topics/computer-science-thought-problems/)
* Hello World - TODO
* Fizz Buzz - TODO
* [Knapsack problem](https://github.com/SixArm/software-programming-guide/blob/master/topics/knapsack-problem/)
* [Tower of Hanoi problem](https://github.com/SixArm/software-programming-guide/blob/master/topics/tower-of-hanoi-problem/)
* [Dining Philosophers problem](https://github.com/SixArm/software-programming-guide/blob/master/topics/dining-philosophers-problem/)
* [Traveling Salesman problem](https://github.com/SixArm/software-programming-guide/blob/master/topics/traveling-salesman-problem/)
* [N-queens problem](https://github.com/SixArm/software-programming-guide/blob/master/topics/n-queens-problem/)
* [Byzantine Generals problem](https://github.com/SixArm/software-programming-guide/blob/master/topics/byzantine-generals-problem/)
* Longest Common Subsequence problem - TODO
* Edit Distance problem - TODO
### [Books about software programming](https://github.com/SixArm/software-programming-guide/blob/master/topics/books-about-software-programming/)
* [“The Phoenix Project” by Gene Kim et al.](https://github.com/SixArm/software-programming-guide/blob/master/topics/the-phoenix-project-by-gene-kim-et-al/)
* [“The Mythical Man-Month ... ...
近期下载者:
相关文件:
收藏者: