/advent-of-code-2021

Advent Of Code 2021

Primary LanguageJavaApache License 2.0Apache-2.0

advent-of-code-2021 Project

Introduction

This project contains my solutions for the Advent Of Code 2021 aiming to learn some lambda programming.

References:

day 1

Task One

Taking the input from https://adventofcode.com/2021/day/1/input and storing it at src/main/resources/day-1-1.txt.

$ curl -X PUT -H 'Content-Type: text/plain' --data-binary "@src/main/resources/day-1-1.txt" http://localhost:8080/day-1/1

Task Two

$ curl -X PUT -H 'Content-Type: text/plain' --data-binary "@src/main/resources/day-1-1.txt" http://localhost:8080/day-1/2

day 2

Task One

Taking the input from https://adventofcode.com/2021/day/2/input and storing it at src/main/resources/day-2-1.txt.

$ curl -X PUT -H 'Content-Type: text/plain' --data-binary "@src/main/resources/day-2-1.txt" http://localhost:8080/day-2/1

Task Two

Taking the input from https://adventofcode.com/2021/day/2/input and storing it at src/main/resources/day-2-1.txt.

$ curl -X PUT -H 'Content-Type: text/plain' --data-binary "@src/main/resources/day-2-1.txt" http://localhost:8080/day-2/2

Quarkus Intro

This project uses Quarkus, the Supersonic Subatomic Java Framework.

If you want to learn more about Quarkus, please visit its website: https://quarkus.io/ .

Running the application in dev mode

You can run your application in dev mode that enables live coding using:

./gradlew quarkusDev

NOTE: Quarkus now ships with a Dev UI, which is available in dev mode only at http://localhost:8080/q/dev/.

Packaging and running the application

The application can be packaged using:

./gradlew build

It produces the quarkus-run.jar file in the build/quarkus-app/ directory. Be aware that it’s not an über-jar as the dependencies are copied into the build/quarkus-app/lib/ directory.

The application is now runnable using java -jar build/quarkus-app/quarkus-run.jar.

If you want to build an über-jar, execute the following command:

./gradlew build -Dquarkus.package.type=uber-jar

The application, packaged as an über-jar, is now runnable using java -jar build/*-runner.jar.

Creating a native executable

You can create a native executable using:

./gradlew build -Dquarkus.package.type=native

Or, if you don’t have GraalVM installed, you can run the native executable build in a container using:

./gradlew build -Dquarkus.package.type=native -Dquarkus.native.container-build=true

You can then execute your native executable with: ./build/advent-of-code-2021-1.0.0-SNAPSHOT-runner

If you want to learn more about building native executables, please consult https://quarkus.io/guides/gradle-tooling.

  • RESTEasy Reactive ([guide](https://quarkus.io/guides/resteasy-reactive)): Reactive implementation of JAX-RS with additional features. This extension is not compatible with the quarkus-resteasy extension, or any of the extensions that depend on it.

Provided Code

RESTEasy Reactive

Easily start your Reactive RESTful Web Services