Share this postThe Coder CafeIndexCopy linkFacebookEmailNotesMoreIndexTeiva HarsanyiAug 31, 2024Share this postThe Coder CafeIndexCopy linkFacebookEmailNotesMoreShareCodingAlgorithms and Data StructuresArrays vs. Linked ListsBinary HeapsGraphsTopological SortCoding ChallengesAdvent of CodeExercismGossip GlomersOne Billion Row ChallengeConcurrencyConcurrency vs. ParallelismCoroutinesData Race vs. Race ConditionMutex vs. SemaphoreFunctional ProgrammingPartially Applied Functions vs. CurryingSoftware EngineeringCode HealthCognitive LoadCohesionCouplingFocus on Product Ideas, Not RequirementsNested CodePremature AbstractionsReadabilitySimplifying Complex if StatementsYou Aren’t Gonna Need It (YAGNI)TestingUnit Tests10 Unit Tests PropertiesAvoiding Logic in TestsCode CoverageCommon Arguments Against Unit TestsLine vs. Branch CoverageTest Behavior, Not ImplementationTest-Driven Development (TDD)Unit Tests As DocumentationDatabasesDatabase FundamentalsACIDConsensusConsistency ModelExploring Database Isolation LevelsIsolation LevelSafety and LivenessThe CAP TheoremThe PACELC TheoremTransactionsDistributed SystemsDistributed Systems PerformanceLatency and User ExperienceSystem DesignProbabilistic IncrementReliabilityReliability FundamentalsAdaptive LIFOFail Open vs. Fail ClosedGraceful DegradationReliabilityResilient, Fault-tolerant, Robust, or Reliable?SystemsComputer ArchitectureInstruction PipeliningLinuxLinux Soft vs. Hard LockupSoft Skills & CommunicationBiasesCognitive BiasesConfirmation BiasStreetlight EffectSurvivor BiasCommunication10 Rules I Learned About Technical WritingThe XY ProblemCritical ThinkingLateral ThinkingPost Hoc Ergo Propter HocSubscribe