~/talk

Keynote

Talkat Spring I/O 2019 · 2019-05-16..05-17· [java, kotlin]
name:Ben Hale
links:none on file
links:none on file
slides:none on file

Spring Framework 5.2 targets a GA on July 31, 2019 and delivers concrete pieces: a new merged annotations API and a reactive transaction manager that detects Publisher-returning methods and applies transactional operators (Postgres and MongoDB backends already implement it); a reactive SQL stack via R2DBC drivers (H2, Postgres, MS SQL, MySQL community driver) with nonblocking pooling; observability and diagnostics with Reactor Debug Agent and BlockHound; RSocket for bi‑directional request/stream/channel patterns; and Kotlin coroutines support layered on WebFlux.

AI-written summary · about

  1. 0:00Start
  2. 0:52Roadmap
  3. 3:06Annotation Processing
  4. 3:39Merged Annotation Processing
  5. 4:21Transaction Management Processing
  6. 8:44Code Analysis Annotations
  7. 19:04Tame Tail Latency
  8. 21:00Reactor Core Features
  9. 24:59Nullpointerexception
  10. 29:06Block Count
  11. 31:28Live Demo
  12. 33:22Summary
  13. 39:46Reactive Data Access
  14. 40:52R2 Dbc
  15. 47:17The Kirkland Report
  16. 48:28I Think the First Point Is that It Is a Pragmatic Language but Still Elegant It Provides Concrete Tools like Extension Functions Great Interoperability with Java a Nice and Concise Not a Library I Also Think that the Safety Features of Kathleen Especially the New Safety Which Is Managed Natively in the Type System Turn a Kind of Drawback of Java because in in Java a New Is a Kind of Thing We Want To Avoid with Optional and Other Thing like that into a Powerful Features That Allowed To Deal with no Safety at Compile Time Rather than Dealing with New Pointer Exception at Runtime I Also Think that Code Clean Code Provide Better Signal-to-Noise Ratio than Java Code and It Make Reactive Easier Thanks to Coroutines so Guru Teens Are Cutting Light Wet Threads Are Going To Write Non-Working Code in a More Imperative
  17. 54:00We Have this Concise Syntax That Allowed To Declare at the Same Time the Constructor Parameters and the Properties Could Mean Push for Immutable Data Structure So Here We Are Using Val Instead of Val To Have Immutable Properties the Data Keywords Allowed To Generate Automatically Equals a Squad and Two Strings the Types Are Three Fixed and by Default Encoding the Types Are Non Usable That Means that if You Try To Put a New Label Value in Title for Example You Will Have another at Compile Time and if You Want To Specify a New Label Type You Will Use this Kind of Question Mark Aegean of the Type To Say this Type Is New Label and Newly Balanced in in Kathleen Means that It Could Have Empty Values
  18. 55:03Are Also Using another Interesting Feature Which Is Optional Parameter Will Default Values So Instead of Having To Create another Overloaded Version of the Constructor like in Java I Am Able To Define Optional Parameter with Default Parameters so if a New Edge Side I Don't Specify Edline Slag or Edit Add Curtain We Automatically Use the Default Value That We Provide Here and in Terms of Readability I Think that's Interesting Now You See You See this to Slag Methods Which Is in Red Obviously Title Is a String to Slag Is Not a Method Provided by by String Type so We Are Going To Edit Using Extension Functions
  19. 57:33Writing postgresql Code
  20. 59:09And Then the Strategy That We Have Used Is To Provide Routine Reports on Top of Existing Types Using Extension so You Don't Have To Import a Cou Routine Database beyond Where Everything Is Wrapped We You Can Just Use this Kind of Extension So by Definition Coroutines Suspending Functions Extensions Are Prefixed by a Way It Was Fixed by any Weight and Here You See I Transform My Method Which Were Using Reactive Types like Mono and Flex to a Method That Is Suspending and Return Just a Plain New Label of Article I'M Going To Do the Same Job Here
  21. 1:00:09Same Thing Here and You Will See that's Not Just about the Return Types the Style of Programming Will Change So Here Instead of Using Reactive Operators I'M Going To Just Use Imperative Code So I Just Remove Zero Petals and I Use the Same Kind of Code I Would Have Used in My Imperative Code except That See Underneath Is Based on Directive Stack and Let Me Be Clear about Two Points this Deal with Backpressure It Deal with Back Pressure Using Suspending Function so You Will See More Detail in My Talk Tomorrow and Also by Default Everything Is Second Shot It's Non Blocking but Second Shot by Default and You Can Do Optional Concurrency I Won't Show that Today but Believe Me Now
  22. 1:02:18If I Want To Use a Server Sent Events Endpoint Something More in Moss Trimming Way and We Use a Flow Instead of a Flux and You See that inside My Flow Builder this Is Just Plain Imperative Code I'M Just Using a While Loop That Will Emit So this Is Push Bass and Flow so You Emit a New Object That Is Button Potentially Coming from a Suspending Function and I Simulate some Kind of Latency with with that So if I Run the Application Now I Think I'Ve Forgotten Something Yeah So I Just Use Rainbow King Here this Is the Coup Routines We Are Showing Off Block
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.