Split out Postgres section

This commit is contained in:
Charles-Axel Dein 2023-12-26 15:38:01 -05:00
parent a0644338ba
commit bf33b379b3
No known key found for this signature in database

View File

@ -35,6 +35,8 @@
- [Compilers](#compilers) - [Compilers](#compilers)
- [Configuration](#configuration) - [Configuration](#configuration)
- [Databases](#databases) - [Databases](#databases)
- [NoSQL](#nosql)
- [Postgres](#postgres)
- [Data formats](#data-formats) - [Data formats](#data-formats)
- [Data science/data engineering](#data-sciencedata-engineering) - [Data science/data engineering](#data-sciencedata-engineering)
- [Debugging](#debugging) - [Debugging](#debugging)
@ -54,6 +56,7 @@
- [Exercises](#exercises) - [Exercises](#exercises)
- [Experimentation](#experimentation) - [Experimentation](#experimentation)
- [Functional programming (FP)](#functional-programming-fp) - [Functional programming (FP)](#functional-programming-fp)
- [Games development](#games-development)
- [Graphics](#graphics) - [Graphics](#graphics)
- [Hardware](#hardware) - [Hardware](#hardware)
- [HTTP](#http) - [HTTP](#http)
@ -636,7 +639,6 @@ See also the SQL section.
- [A plain English introduction to CAP Theorem](http://ksat.me/a-plain-english-introduction-to-cap-theorem) - [A plain English introduction to CAP Theorem](http://ksat.me/a-plain-english-introduction-to-cap-theorem)
- [PACELC theorem](https://en.wikipedia.org/wiki/PACELC_theorem): "in case of network partitioning (P) in a distributed computer system, one has to choose between availability (A) and consistency (C) (as per the CAP theorem), but else (E), even when the system is running normally in the absence of partitions, one has to choose between latency (L) and consistency (C)." - [PACELC theorem](https://en.wikipedia.org/wiki/PACELC_theorem): "in case of network partitioning (P) in a distributed computer system, one has to choose between availability (A) and consistency (C) (as per the CAP theorem), but else (E), even when the system is running normally in the absence of partitions, one has to choose between latency (L) and consistency (C)."
- [Safe Operations For High Volume PostgreSQL](https://www.braintreepayments.com/blog/safe-operations-for-high-volume-postgresql/) (this is for PostgreSQL but works great for other DBs as well).
- [Zero downtime database migrations](https://blog.rainforestqa.com/2014-06-27-zero-downtime-database-migrations/) (code examples are using Rails but this works great for any programming language) - [Zero downtime database migrations](https://blog.rainforestqa.com/2014-06-27-zero-downtime-database-migrations/) (code examples are using Rails but this works great for any programming language)
- [Algorithms Behind Modern Storage Systems](https://queue.acm.org/detail.cfm?id=3220266), ACM Queue - [Algorithms Behind Modern Storage Systems](https://queue.acm.org/detail.cfm?id=3220266), ACM Queue
- [Let's Build a Simple Database](https://cstack.github.io/db_tutorial/) - [Let's Build a Simple Database](https://cstack.github.io/db_tutorial/)
@ -647,11 +649,7 @@ See also the SQL section.
- [Course introduction — MySQL for Developers](https://planetscale.com/learn/courses/mysql-for-developers/introduction/course-introduction), PlanetScale - [Course introduction — MySQL for Developers](https://planetscale.com/learn/courses/mysql-for-developers/introduction/course-introduction), PlanetScale
- [How Query Engines Work](https://howqueryengineswork.com/00-introduction.html) - [How Query Engines Work](https://howqueryengineswork.com/00-introduction.html)
Exercises: #### NoSQL
- [PostgreSQL exercises](https://pgexercises.com/)
NoSQL:
- [NOSQL Patterns](http://horicky.blogspot.nl/2009/11/nosql-patterns.html) - [NOSQL Patterns](http://horicky.blogspot.nl/2009/11/nosql-patterns.html)
- [NoSQL Databases: a Survey and Decision Guidance](https://medium.baqend.com/nosql-databases-a-survey-and-decision-guidance-ea7823a822d#.9fe79qr90) - [NoSQL Databases: a Survey and Decision Guidance](https://medium.baqend.com/nosql-databases-a-survey-and-decision-guidance-ea7823a822d#.9fe79qr90)
@ -661,6 +659,12 @@ NoSQL:
- [NoSQL Design for DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-general-nosql-design.html) - [NoSQL Design for DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-general-nosql-design.html)
- [Redis Explained](https://architecturenotes.co/redis/) - [Redis Explained](https://architecturenotes.co/redis/)
#### Postgres
- [Safe Operations For High Volume PostgreSQL](https://www.braintreepayments.com/blog/safe-operations-for-high-volume-postgresql/) (this is for PostgreSQL but works great for other DBs as well).
- [Transaction Isolation in Postgres, explained](https://www.thenile.dev/blog/transaction-isolation-postgres)
- [PostgreSQL exercises](https://pgexercises.com/)
### Data formats ### Data formats
- [Falsehoods Programmers Believe About Phone Numbers](https://github.com/googlei18n/libphonenumber/blob/master/FALSEHOODS.md), Google's `libphonenumber`. - [Falsehoods Programmers Believe About Phone Numbers](https://github.com/googlei18n/libphonenumber/blob/master/FALSEHOODS.md), Google's `libphonenumber`.
@ -928,6 +932,7 @@ The best way to learn is to learn by doing.
- [build-your-own-x](https://github.com/codecrafters-io/build-your-own-x): compilation of well-written, step-by-step guides for re-creating our favorite technologies from scratch - [build-your-own-x](https://github.com/codecrafters-io/build-your-own-x): compilation of well-written, step-by-step guides for re-creating our favorite technologies from scratch
- Richard Feynman: "what I cannot create, I do not understand" - Richard Feynman: "what I cannot create, I do not understand"
- [The elevator programming game](http://play.elevatorsaga.com/) - [The elevator programming game](http://play.elevatorsaga.com/)
- [Challenging projects every programmer should try](https://austinhenley.com/blog/challengingprojects.html), Austin Z. Henley
- [Challenging projects every programmer should try](http://web.eecs.utk.edu/~azh/blog/challengingprojects.html): text editor, space invaders, compiler (Tiny Basic), mini OS, spreadsheet, video game console emulator. - [Challenging projects every programmer should try](http://web.eecs.utk.edu/~azh/blog/challengingprojects.html): text editor, space invaders, compiler (Tiny Basic), mini OS, spreadsheet, video game console emulator.
- [More challenging projects every programmer should try](https://web.eecs.utk.edu/~azh/blog/morechallengingprojects.html): ray tracer, key-value store web API, web browser, stock trading bot. - [More challenging projects every programmer should try](https://web.eecs.utk.edu/~azh/blog/morechallengingprojects.html): ray tracer, key-value store web API, web browser, stock trading bot.
- [Lets Build a Regex Engine](https://kean.blog/post/lets-build-regex) - [Lets Build a Regex Engine](https://kean.blog/post/lets-build-regex)
@ -969,6 +974,10 @@ Practice:
- [hemanth/functional-programming-jargon](https://github.com/hemanth/functional-programming-jargon): jargon from the functional programming world in simple terms - [hemanth/functional-programming-jargon](https://github.com/hemanth/functional-programming-jargon): jargon from the functional programming world in simple terms
- [The definitive guide to learning functional programming](https://forum.exercism.org/t/the-definitive-guide-to-learning-functional-programming/3254), Exercism - [The definitive guide to learning functional programming](https://forum.exercism.org/t/the-definitive-guide-to-learning-functional-programming/3254), Exercism
### Games development
- [Introduction · Joys of Small Game Development](https://abagames.github.io/joys-of-small-game-development-en/)
### Graphics ### Graphics
- [Text Rendering Hates You](https://faultlore.com/blah/text-hates-you/) - [Text Rendering Hates You](https://faultlore.com/blah/text-hates-you/)