diff --git a/README.md b/README.md index 938d999..d08c3e0 100644 --- a/README.md +++ b/README.md @@ -11,14 +11,59 @@ * Other stuff like Metrics (prometheus), watchdogs, retry, circuit breakers etc -# General Note +* Loom - Virtual threads approach to non-blocking IO (as opposed to event-loop) -Quarkus built upon VERT-X for non-blocking IO, VERT-X built upon netty +* 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 + +```java +//Mutiny async construct, onItem <- the result, onFailure <- Failed calls +Uni 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 @@ -26,4 +71,7 @@ Quarkus built upon VERT-X for non-blocking IO, VERT-X built upon netty * [What is SmallRye](https://www.youtube.com/watch?v=T3sh8M0t7yM) * [CDI explained](https://www.youtube.com/watch?v=Q8jHRDu9Fbo) * [Mutiny lib/Vert-X](https://www.youtube.com/watch?v=uTK73fpPznQ) +* [Weld](http://weld.cdi-spec.org/) + +