A bunch of stuff to learn quarkus
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Jonathan Christison 27a5d95b0d quarkus archtype quickstart 5 years ago
getting-started quarkus archtype quickstart 5 years ago
quarkus-quickstarts@d7d286a364 quarkus archtype quickstart 5 years ago
.gitmodules quarkus archtype quickstart 5 years ago
README.md Added more notes 5 years ago

README.md

Terminology

  • SmallRye - Out the box implementation of MicroProfiles, using JBoss stuff for getting up and running, basically "plugins", IBM competitor is openliberty

  • MicroProfile - Eclipse MicroProfile, microservice framework composed of made up of (bare min)

    • JAX-RS - API for creating REST APIs
    • JSON-P - API for processing JSON
    • CDI 2.0 - Glue JAX-RS and JSON-P together dependency injection using java beans, share a class and manage its lifecycle
    • JSON-B - JSON binding (similar to jackson databind)
    • Open Tracing - standardise requests across multiple services
    • Other stuff like Metrics (prometheus), watchdogs, retry, circuit breakers etc
  • Loom - Virtual threads approach to non-blocking IO (as opposed to event-loop)

  • Quarkus

    • ArC - CDI (injection framework), developed from Weld
    • Command mode - terminates exits after run as opposed to normal operation (wait for systemexit or pod to be killed)

General Notes

Quarkus built upon VERT-X for non-blocking IO, VERT-X mostly built upon netty, Vert-X provides a 80+ connectors for non-blocking IO like Kafka, mongodb, AMQP etc Quarkus two main deploy modes - native (graalvm) and jvm, some things dont do so well natively

//Mutiny async construct, onItem <- the result, onFailure <- Failed calls
Uni<String> uni
uni.onItem()
.onFailure()

The Job spec

  • Implement test scenarios and develop enterpirse applications for testing
  • Design and develop testing frameworks in Java for various environments, like cloud, multiple operating systems, large clusters, and containers
  • Provide root cause analysis for complex bugs reported by our customers and communicate the impact of these bugs to customers, developers, and support specialists
  • Participate in defining testing strategies
  • Analyze and prioritize the quality risks posed by Red Hat products and determine the tests required to mitigate these risks
  • Serve as an internal advocate for our customers to ensure that the product goes to customers without usability or user experience issues; properly document relevant information
  • Document new bugs and work with project managers and developers on prioritization and a fix
  • Mentor junior team members
  • Constantly learn new things and maintain an overview of current technologies like Java, MicroProfile, and Reactive programming

Technical Job specs

  • Practical experience with Java EE, MicroProfile, or Spring development
  • Experience with testing in Junit or TestNG beyond unit tests
  • Experience with Maven, Git, Jenkins, continuous integration, and pipelines
  • Debugging and performance tuning skills
  • Ability to install and maintain Red Hat Enterprise Linux (RHEL) or UNIX-like operating systems; basic administration skills of Jenkins nodes

Main technologies to learn about

  • Microprofile + SmallRye
  • JUnit
  • TestNG
  • Jenkins, CI, piplines Blue Ocean

The plan

  • Understand technologies and terminologies
  • Fire up Quarkus example
  • Design an LED conversion proxy for front porch
    • Listen to MQTT broker
    • Possibly use camel k to write mqtt to file or something
    • "Translate" and passthrough to porchLED

Refs