We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Taming Nondeterminism with Dependency Injection

00:00

Formal Metadata

Title
Taming Nondeterminism with Dependency Injection
Subtitle
Take back control of your code!
Title of Series
Number of Parts
115
Author
License
CC Attribution - NonCommercial - ShareAlike 4.0 International:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
There are many sources of nondeterminism in code such as randomness, IO, environment variables, databases and many more. Nondeterminism is a source of confusion, and it makes testing difficult. One way to control nondeterminism is using the dependency injection pattern. In this talk I'll guide you through a series of problems that demonstrate how nondeterminism can pose incredible challenges even in simple code. Tackling one problem after another, we'll gradually integrate dependency injection into the code to address these challenges! After attending this talk you will hopefully understand: - The challenges nondeterminism poses - How to identify nondeterminism in code - What dependency injection is, and how it addresses challenge related to nondeterminism - How to implement and integrate dependency injection into Python code
InjektivitätSystem callTrailSoftwareScheduling (computing)Software developerTunisWeb 2.0BlogWeb-DesignerDatabaseMeeting/Interview
Software developerSoftwareInjektivitätSelf-organizationSoftware developerElectronic mailing listOpen sourceComputing platformSoftwareMeeting/InterviewComputer animation
Computer programmingPattern languageSoftware design patternOrder (biology)QuicksortLibrary (computing)InjektivitätCodeComputer programmingGame controllerPresentation of a groupComputer animation
WritingFunctional (mathematics)ImplementationEndliche ModelltheorieComputer animation
TetraederSoftware testingFunctional (mathematics)ImplementationCASE <Informatik>Software testingComputer animation
Software testingImplementationPersonal digital assistantSoftware testingFunctional (mathematics)ImplementationMultiplication signNP-hardEndliche ModelltheorieTime travelGame controllerPatch (Unix)CASE <Informatik>CodeHoax1 (number)Library (computing)Arrow of timeAdditionError messagePresentation of a groupFreezingRight angleComputer animation
outputFunction (mathematics)InjektivitätCAE Inc.DeterminismMoving averageDatabasePhysical systemStructural loadInstallable File SystemIntegrated development environmentVariable (mathematics)DeterminantDatabaseFunctional (mathematics)Parameter (computer programming)MultiplicationMultiplication signAdditionFunction (mathematics)ResultantDivisorStatement (computer science)Connected spaceComputer fileType theoryException handlingNumberRemote procedure callError messageOcean currentSoftware1 (number)Source codeService (economics)CASE <Informatik>State of matteroutputVariable (mathematics)Random graphRight angleDeterminismFile systemDirectory serviceIntegerIntegrated development environmentPhysical systemComputer animationSource code
WikiParameter (computer programming)Electric currentDeterminismFunction (mathematics)Software testingWeb crawlerLogic gateGrass (card game)CodeSource codeFunctional (mathematics)Software testingMultiplicationMoment (mathematics)Multiplication signEntire functionPatch (Unix)Parameter (computer programming)Different (Kate Ryan album)DeterminismMereologyRight anglePlanning
Function (mathematics)Metropolitan area networkBitFunctional (mathematics)CASE <Informatik>Multiplication signProcess (computing)Patch (Unix)Unit testingGame controllerMereologySoftware testingComputer animation
Patch (Unix)AbstractionImplementationInjektivitätSimultaneous localization and mappingParameter (computer programming)Function (mathematics)Process (computing)Software testingFunctional (mathematics)Order (biology)Patch (Unix)MultiplicationInterface (computing)Process (computing)Software testingMereologyMultiplication signPattern languageParameter (computer programming)Type theoryEndliche ModelltheorieCASE <Informatik>Game controllerUniversal product codeDemosceneSystem callMessage passingComputer animation
InjektivitätAbstractionParameter (computer programming)Functional (mathematics)Software testingAbstractionInjektivitätGame controllerResultantMereologyCodeParameter (computer programming)Computer animation
Simultaneous localization and mappingAddress spaceFunctional (mathematics)CodePattern languageBasis <Mathematik>Military baseWeb applicationComputer animation
CodeIP addressProcess (computing)Software testingFunctional (mathematics)ResultantType theoryDependent and independent variablesAddress spaceLibrary (computing)Different (Kate Ryan album)EmailLevel (video gaming)System callFactory (trading post)HoaxUniform resource locatorCodeSource code
Standard errorImplementationFunction (mathematics)Software testingData structureDependent and independent variablesUniform resource locatorCodeFile formatMechanism designSerial portTask (computing)Level (video gaming)Functional (mathematics)Service (economics)Uniform resource locatorDependent and independent variablesCodeCASE <Informatik>Mechanism designFile formatData structureImplementationComputer animation
Dependent and independent variablesService (economics)Function (mathematics)CountingInterface (computing)Simultaneous localization and mappingCodeImplementationSoftware testingSystem callService (economics)Social classInterface (computing)Level (video gaming)Functional (mathematics)Instance (computer science)Integrated development environmentImplementationAddress spaceRight angleHoaxUniform resource locatorCASE <Informatik>CodeException handlingSource codeComputer animation
Type theoryFunction (mathematics)Software testingService (economics)RepetitionVorwärtsfehlerkorrekturImplementationBitFunctional (mathematics)Inheritance (object-oriented programming)HoaxService (economics)Multiplication signAbstractionCodeArrow of timeInterface (computing)Type theorySocial classComputer animation
Coma BerenicesDatabaseEntire functionService (economics)Local ringFunction (mathematics)Software testingRegulärer Ausdruck <Textverarbeitung>Pattern languageInjektivitätDeterminismImplementationInjektivitätService (economics)Instance (computer science)Multiplication signComputer fileLogicDistribution (mathematics)Local ringCodeSoftware testingDatabaseImplementationEntire functionInformationProjective planeProper mapElectronic signatureMereologyMessage passingSlide ruleMathematicsRemote procedure callFunctional (mathematics)Parameter (computer programming)Operating systemSystem callPatch (Unix)Virtual machinePattern languagePiCASE <Informatik>DeterminismLevel (video gaming)Computer animation
EmailNewsletterTwitterScaling (geometry)BlogMultiplication signComputer animation
Revision controlLecture/ConferenceMeeting/Interview
Line (geometry)Router (computing)Set (mathematics)Lecture/Conference
Transcript: English(auto-generated)