- Guide to "Reactive" for Spring MVC Developers (2018) by Rossen Stoyanchev (Pivotal): Great explanantion of moving from RestTemplate to WebClient while staying with WebMVC/Tomcat
- Do’s and Don’ts: Avoiding First-Time Reactive Programmer Mines (2019) by Sergei Egorov (Pivotal):
- Need to subscribe and use the return value
- Do NOT use for CPU intensive tasks
- There is probably a better operator for what you are trying to do: https://projectreactor.io/docs/core/release/reference/#which-operator
- Migrate in steps, but block only once
- No ThreadLocals: Use deferWithContext or SchedulerHooks
- Resiliency: timeout, retry, default, error etc.
- Run blocking code on custom schedulers: publishOn & subscribeOn
- Stack traces for Debugging: checkpoint, ReactorDebugAgent
- Reactive Streams Spec: The purpose of Reactive Streams is to provide a standard for asynchronous stream processing with non-blocking backpressure.
- Publisher:
void subscribe(Subscriber<? super T> s)
- Subscriber:
void onSubscribe(Subscription s); void onNext(T t);
- Publisher:
void onError(Throwable t);
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
I've watched 455 movies and 2728 episodes of 102 shows. | |
My favorite 3 genres are: | |
drama ███▌░░░░░░░░░░░░░░░░░ 17.2% | |
comedy ██▍░░░░░░░░░░░░░░░░░░ 11.9% | |
action ██▎░░░░░░░░░░░░░░░░░░ 11.0% |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Rust playground link: https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=7c51f91cfddb501bd24fdaa6d7238d80 | |
const PAGESIZE: u64 = 4096; | |
const MIN_SIZE_KIB: u64 = 4; | |
fn main() { | |
println!("Enter BadRAM string. It must be a single line of comma separated"); | |
println!("values, with address and mask alternating. This is basically the"); | |
println!("badram output from memtest86+ et al with all values in a single"); | |
println!("line without the `badram=` prefix."); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Total XP :::::::::::::::::::::: lvl 34 (1,859,924 XP) | |
Java :::::::::::::::::::::::::: lvl 24 ( 968,265 XP) | |
Kotlin :::::::::::::::::::::::: lvl 10 ( 191,046 XP) | |
XML ::::::::::::::::::::::::::: lvl 7 ( 96,320 XP) | |
Rust :::::::::::::::::::::::::: lvl 7 ( 94,226 XP) | |
Python :::::::::::::::::::::::: lvl 7 ( 89,275 XP) | |
YAML :::::::::::::::::::::::::: lvl 7 ( 86,999 XP) | |
Markdown :::::::::::::::::::::: lvl 6 ( 78,309 XP) | |
Plain text :::::::::::::::::::: lvl 6 ( 58,854 XP) | |
Git Commit Message :::::::::::: lvl 5 ( 45,256 XP) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Future Islands ███████▎░░░░░░░░░ 12 plays | |
Noah Kahan ██████▋░░░░░░░░░░ 11 plays | |
Bombay Bicycle Club ██▍░░░░░░░░░░░░░░ 4 plays | |
Borderlands ▌░░░░░░░░░░░░░░░░ 1 plays |
OlderNewer