Software Development
Designing and writing application software.
5 subjects · 45 topics · 10 areas
Subjects covering this category
5 subjects- Subject · Beginner to Advanced
Writing Java that compiles, runs, and models a problem with objects.
- The Language
- Objects
- When Things Go Wrong
15 topics · 131 cardsnot started - Subject · Intermediate to Advanced
Building a REST service with Spring Boot — wired for real data, validated, and fast enough to trust in production.
- Spring Boot Essentials
- Building REST APIs
- Data Access
12 topics · 77 cardsnot started - Subject · Intermediate to Advanced
Holding data in the right Java collection, and transforming it without writing a loop.
- Collections
- Pipelines
9 topics · 78 cardsnot started - Subject · Intermediate to Advanced
Running Java on more than one thread without corrupting the data underneath.
- Threads and What They Cost
- Why Shared State Breaks
- Locks
5 topics · 43 cardsnot started - Subject · Beginner to Advanced
Wiring a Java application together with Spring's IoC container, instead of doing it by hand.
- Why Spring Exists
- The Bean and the Container
- Wiring Beans Together
4 topics · 25 cardsnot started
Programming Languages
45 topicsPackaging behaviour under a name, and what a method can and cannot change for its caller.
10 cards · 6 qnot startedWhat a subclass gets from its parent, and the order in which things happen.
10 cards · 5 qnot startedA pipeline over a source, what runs lazily, and what comes out of the end.
10 cards · 6 qnot startedWhat a variable actually holds, and how to choose the type that holds it.
9 cards · 5 qnot startedDeciding once and repeating without copying, and the boundaries that go wrong.
9 cards · 5 qnot startedText that never changes, and what that costs when you build it in a loop.
9 cards · 5 qnot startedTurning a description into instances, and what this and static each belong to.
9 cards · 6 qnot startedWhere a value lives, what keeps it alive, and what the two memory errors mean.
9 cards · 5 qnot startedWhat a hash map does with a key, and what it costs when two keys collide.
9 cards · 5 qnot startedTeaching Java an order, for one natural ordering and for many.
9 cards · 5 qnot startedType parameters, what the compiler checks, and what is gone by runtime.
9 cards · 5 qnot startedPassing behaviour as an argument, and the interface it is compiled against.
9 cards · 5 qnot startedTwo threads, one field, and the two different ways it goes wrong.
9 cards · 5 qnot startedWhat synchronized guarantees, on which object, and what it still does not protect.
9 cards · 5 qnot startedHanding work to a pool, getting a result back, and shutting it down without losing it.
9 cards · 5 qnot startedNaming a capability without saying how it is met.
8 cards · 5 qnot startedThe three methods every object inherits, and what breaks when two of them disagree.
8 cards · 6 qnot startedThree interfaces, many implementations, and which name to declare a variable with.
8 cards · 5 qnot startedCollections that refuse duplicates, and collections that decide what comes out next.
8 cards · 5 qnot startedA return type that makes "there might be nothing" impossible to ignore.
8 cards · 5 qnot startedStarting work that runs beside your code, and what each thread takes to exist.
8 cards · 5 qnot startedFour conditions, three failure names, and the ordering rule that removes one of them.
8 cards · 5 qnot startedHow long a bean lives, and the two moments the container promises to call you at.
7 cards · 4 qnot startedOne shape for every error response, wherever it comes from.
7 cards · 5 qnot startedTwo different answers to what an object mapped to a row actually is.
7 cards · 4 qnot startedThe four states an entity moves through, and the operations that move it.
7 cards · 5 qnot startedWhat `@Transactional` actually wraps, and the two ways it surprises people.
7 cards · 4 qnot startedSkipping work you've already done, on purpose, and knowing when to throw the answer away.
7 cards · 5 qnot startedWhat javac produces, what java consumes, and why one file runs on every machine.
6 cards · 5 qnot startedWhat the container actually is, and the five things it does to every bean before it's ready to use.
6 cards · 4 qnot startedWhat Boot changes about starting a Spring application, and how it decides what to create for you.
6 cards · 4 qnot startedOne dependency instead of a dozen, and a server that ships inside the jar.
6 cards · 4 qnot startedWhere a setting comes from, and what wins when two sources disagree.
6 cards · 4 qnot startedTurning a URL and a verb into a method call, and a method's return value into a response.
6 cards · 4 qnot startedRefusing a bad request before it reaches your business logic.
6 cards · 4 qnot startedAsking for data without writing the SQL yourself.
6 cards · 4 qnot startedFinding the real bottleneck before optimizing the wrong thing.
6 cards · 4 qnot startedGetting your dependencies handed to you — by constructor, and by name when there's more than one candidate.
7 cards · 5 qnot startedWhy Spring hands you your dependencies instead of you building them yourself.
5 cards · 4 qnot started
Web Development
16 topicsHow long a bean lives, and the two moments the container promises to call you at.
7 cards · 4 qnot startedOne shape for every error response, wherever it comes from.
7 cards · 5 qnot startedTwo different answers to what an object mapped to a row actually is.
7 cards · 4 qnot startedThe four states an entity moves through, and the operations that move it.
7 cards · 5 qnot startedWhat `@Transactional` actually wraps, and the two ways it surprises people.
7 cards · 4 qnot startedSkipping work you've already done, on purpose, and knowing when to throw the answer away.
7 cards · 5 qnot startedWhat the container actually is, and the five things it does to every bean before it's ready to use.
6 cards · 4 qnot startedWhat Boot changes about starting a Spring application, and how it decides what to create for you.
6 cards · 4 qnot startedOne dependency instead of a dozen, and a server that ships inside the jar.
6 cards · 4 qnot startedWhere a setting comes from, and what wins when two sources disagree.
6 cards · 4 qnot startedTurning a URL and a verb into a method call, and a method's return value into a response.
6 cards · 4 qnot startedRefusing a bad request before it reaches your business logic.
6 cards · 4 qnot startedAsking for data without writing the SQL yourself.
6 cards · 4 qnot startedFinding the real bottleneck before optimizing the wrong thing.
6 cards · 4 qnot startedGetting your dependencies handed to you — by constructor, and by name when there's more than one candidate.
7 cards · 5 qnot startedWhy Spring hands you your dependencies instead of you building them yourself.
5 cards · 4 qnot started
Data Structures
12 topicsWhat a hash map does with a key, and what it costs when two keys collide.
9 cards · 5 qnot startedThree interfaces, many implementations, and which name to declare a variable with.
8 cards · 5 qnot startedCollections that refuse duplicates, and collections that decide what comes out next.
8 cards · 5 qnot startedThe three methods every object inherits, and what breaks when two of them disagree.
8 cards · 6 qnot startedPackaging behaviour under a name, and what a method can and cannot change for its caller.
10 cards · 6 qnot startedWhat a variable actually holds, and how to choose the type that holds it.
9 cards · 5 qnot startedTeaching Java an order, for one natural ordering and for many.
9 cards · 5 qnot startedType parameters, what the compiler checks, and what is gone by runtime.
9 cards · 5 qnot startedA pipeline over a source, what runs lazily, and what comes out of the end.
10 cards · 6 qnot started
Software Architecture
11 topicsGetting your dependencies handed to you — by constructor, and by name when there's more than one candidate.
7 cards · 5 qnot startedSkipping work you've already done, on purpose, and knowing when to throw the answer away.
7 cards · 5 qnot startedWhy Spring hands you your dependencies instead of you building them yourself.
5 cards · 4 qnot startedTurning a URL and a verb into a method call, and a method's return value into a response.
6 cards · 4 qnot startedThree interfaces, many implementations, and which name to declare a variable with.
8 cards · 5 qnot startedA return type that makes "there might be nothing" impossible to ignore.
8 cards · 5 qnot startedNaming a capability without saying how it is met.
8 cards · 5 qnot startedTeaching Java an order, for one natural ordering and for many.
9 cards · 5 qnot startedTwo different answers to what an object mapped to a row actually is.
7 cards · 4 qnot started
Object-Oriented Programming
6 topicsWhat a subclass gets from its parent, and the order in which things happen.
10 cards · 5 qnot startedTurning a description into instances, and what this and static each belong to.
9 cards · 6 qnot startedNaming a capability without saying how it is met.
8 cards · 5 qnot startedThe three methods every object inherits, and what breaks when two of them disagree.
8 cards · 6 qnot started
Concurrency
6 topicsTwo threads, one field, and the two different ways it goes wrong.
9 cards · 5 qnot startedWhat synchronized guarantees, on which object, and what it still does not protect.
9 cards · 5 qnot startedHanding work to a pool, getting a result back, and shutting it down without losing it.
9 cards · 5 qnot startedStarting work that runs beside your code, and what each thread takes to exist.
8 cards · 5 qnot startedFour conditions, three failure names, and the ordering rule that removes one of them.
8 cards · 5 qnot startedHow long a bean lives, and the two moments the container promises to call you at.
7 cards · 4 qnot started
Algorithms
2 topicsTeaching Java an order, for one natural ordering and for many.
9 cards · 5 qnot startedPassing behaviour as an argument, and the interface it is compiled against.
9 cards · 5 qnot started
Exception Handling
2 topicsOne shape for every error response, wherever it comes from.
7 cards · 5 qnot started
Testing
1 topicWhy Spring hands you your dependencies instead of you building them yourself.
5 cards · 4 qnot started
Application Security
1 topicRefusing a bad request before it reaches your business logic.
6 cards · 4 qnot started