[devnexus 2022] the new excitement about the good old java

Speaker: Venkat Subramanium

Twitter: @venkat_s

Link to table of contents

———————

Notes

  • Java is a passport to the world – spoke at 50 user groups in hoor of turnig 50
  • Celebrated Paris JUG’s anniversary in Eifflel Tower
  • Ukrainian flag slide

Agile

  • good to say that, now talk about what do
  • Hates word – Scrum-master – Agile Manifesto does’t say SM
  • Love ceremony and rituals
  • Easy to hide from what really do
  • Also hates word velocity – sustainable and producing results is what matter
  • TDD – ticket driven development
  • Agile is really feedack driven development
  • Cost of failure low if train leaves every 30 minutes vs plannig a flight

Java

  • Java now evololving faster
  • Java 8 was game changer because of streams
  • “Java late to party but came with amazing desserts”
  • Releases used to be slow because targeted features to releases. Not agile. Want to adapt plan to reality
  • ”When will project loom be ready?” ”When it is ready”
  • Java is not being developed on a 6 month release cycle. It is being released on a 6 month cycle
  • People ask questions about feature while still remember writing it
  • Can learn and adopt technologies as they come out vs all at once
  • Less ceremony/redundancy

Live coding

  • pattern matching with if – smart casting
  • switch expression
  • pattern matching with switch including conditions
  • multi-line string with smart indentation (incidental whitespace
  • sealed interface – use but don’t implement

My take

I don’t think I learned anything new, but Venkat is an entertaining and engaging speaker, so that’s fine! Good coverage of the new Java features in live coding

[devnexus 2022] ARIA: A grande method of accessible markup

Speaker: Chris DeMars

Twitter: @saltnburnem

Link to table of contents

———————

General

  • low vision vs no vision
  • some types can be corrected and some cannot
  • memory problems included
  • Think about: hearing, visual, cognitive, movement and temporary
  • 1 billion people around the world have some type of disability
  • People don’t have to disclose they have a disability. Assume 20-25% do.

What is accessibility?

  • numeronym: a11y == accessibility
  • w3c – “people with disabilities can use the web”. better to say everyone can use the web
  • Don’t use accessibility overlays. [looked online – hack to use tool to patch bad accessbility]

ARIA

  • Accessible rich internet applications
  • Helps AT (assisted technology) with web pages
  • One rule: don’t use ARIA. Better to use semantic markup.
  • Stop using divs/spans unless have to. No semantic meaning. Better to be using header/nav/etc tags (vs h1/h2/etc heading level)
  • Anchor links for navigation only
  • When have to use div/span, add ARIA

Roles

  • abstract – command, input, landmark, select, structure, widget, etc
  • widget – button, link, option, radio, tab, textbox, etc
  • document structure – article, directory, figure, img, table, tooltip, etc
  • landmark – banner, contentinfo, form, main, navigation, search
  • live region (auto updating section) – alert, log, marquee, status, timer

States and Properties

  • States and Properties
  • describe what is happening
  • aria-describedby – if need to write a lot about what an image does
  • aria-haspopup
  • aria-label
  • aria-labeledby
  • aria-checked
  • aira-disabled
  • aira-required
  • etc

WAI/ARIA

  • Want to get to level AA.
  • Bank of America, Dominos, Red Roof In got sued for not meeting
  • Only get to AAA if in academia or government. Expensive. Ex: need closed captioning, ASL video, downloadable transcript, VPAS?
  • Want to get to level AA.
  • Bank of America, Dominos, Red Roof In got sued for not meeting
  • Only get to AAA if in academia or government. Expensive. Ex: need closed captioning, ASL video, downloadable transcript, VPAS?

Other notes

  • Don’t set outline to 0/none for focus. User needs that
  • https://caniuse.com
  • https://gist.github.com/chrisdemars/e8ca7a5282ab65ea2f412776a7cf0aa3

My take

The intro was good to pull me in. As were the examples of why to use semantic tags where can. The actual ARIA info felt a little like an info dump. I would have liked examples on a web page to see what these are/how they work. Or what the code looks like. Some was said out loud which helped. ARIA has changed a lot since I last used it. (so have front ends overall). The references to old tags like blink were fun.

[devnexus 2022] what’s new in spring 2022

Speaker: Spencer Gibb

Twitter: @spencerbgibb

Link to table of contents

———————

History

  • Spring 1 came out in 2004. Spring 5 came out in 2017 – included Java 8/11/17
  • Spring Boot 1 released 2014 with Java 6 baseline. Spring Boot 2 released 2018 with Java 8 (baseline)/11/17. Now has 6 month release cycle to match Java
  • Spring Cloud – launched 2015. last release in 2020. Started with wors *Angle, Brixton, etc). Switched to # release versions (2020)
  • Josh Long’s favorite place on the internet is prod. Secon favorite is start.spring.io.

Spring 6

  • corresponding libraries have version as well. e: Spring security, data
  • Spring Boot 3 and Spring Cloud 2022.0. go with Spring 6
  • Go to Spring Initializr (start.spring.io) if not sure what goes together

Java 17

  • Baseline Java 17. Must hava Java17+ to run
  • Will have compatability wihth Java 18, 19, etc

Jakarta EE 9

  • Package renaming (javax -> jakarta)
  • Tomcat 10/Jetty 11/Undertow 2.2
  • JPA3 3 (Hibernate 6)

Native

  • GraalVM compiles to native
  • Faster startup, less memory usage
  • Spring Native was an exeperimental project. AOT metadata processing moves to Spring Framework. Built time pugins move to Spring Boot. Type and resoures hints move to relevant projects
  • Native pros – serverless, cost via lower resource consumption, CLI
  • Native cons – less mature, no JIT

Observablity

  • Introuced with Sleuth. 2021.0 will be last Sleuth release
  • Now Micrometer tracing
  • new Observation API
  • Instrumentation moving to relevant projects
  • Micrometer staying as Java 8 baseline

Declarative Clients

  • Feign was part of spring-cloud-netflix and open sourced Now spring-cloud-openfeign
  • Declarative blocking web service client
  • Now in Spring framework
  • Will add for GraphQL and RSocket (reactive sockets)

General

  • API testing tool: https://httpie.io
  • thenounproject.com – good collection of free stock art
  • Logger creates a lazy version so doesn’t interpolate strings unless needed. Also, a supplier verson
  • AutoConfiguration annotation to replace Configuration annotation
  • Problem details – standard json format for error messages. Content type application/problem+json
  • Removing a bunch of stuff. One is Freemarker JSP whch I didn’t know existed
  • OSS Spring 5 supported until 2024

My take

Excellent outline making the content easy to remember. Which is good because there was a lot of infomration! The live coding was good for seeing the code based changes and also breaking up the information. I liked seing the ”upgrade” with the jakarta package names and the micrometer example