From f4bc7b54bb1bd7716cc3248b08fdd9e604eb5431 Mon Sep 17 00:00:00 2001 From: Ihar Hancharenka Date: Sat, 4 Jan 2025 23:12:07 +0300 Subject: [PATCH] m --- pl/cross/methodologies/architecture/ddd.txt | 8 +++++++ .../io/concurrency/{ => docs}/articles.txt | 0 .../io/concurrency/{ => docs}/books.txt | 0 .../io/concurrency/{ => docs}/courses.txt | 0 .../concurrency/{ => docs}/presentations.txt | 0 .../features/io/concurrency/scoped-value.txt | 2 ++ .../features/io/concurrency/structured.txt | 23 ++++++++++++++++++ pl/java/jdk/21/virtual-threads.txt | 5 ++++ pl/java/libfws/spring/cloud/contract.txt | 24 ++++++++++++++----- .../libfws/spring/rest/client/rest-client.txt | 4 ++++ 10 files changed, 60 insertions(+), 6 deletions(-) rename pl/java/features/io/concurrency/{ => docs}/articles.txt (100%) rename pl/java/features/io/concurrency/{ => docs}/books.txt (100%) rename pl/java/features/io/concurrency/{ => docs}/courses.txt (100%) rename pl/java/features/io/concurrency/{ => docs}/presentations.txt (100%) create mode 100644 pl/java/features/io/concurrency/scoped-value.txt create mode 100644 pl/java/features/io/concurrency/structured.txt diff --git a/pl/cross/methodologies/architecture/ddd.txt b/pl/cross/methodologies/architecture/ddd.txt index 92aac9ab4..5d992da6f 100644 --- a/pl/cross/methodologies/architecture/ddd.txt +++ b/pl/cross/methodologies/architecture/ddd.txt @@ -11,6 +11,14 @@ SpringIO - Implementing Domain Driven Design with Spring by Maciej Walkowiak of https://www.youtube.com/watch?v=VGhg6Tfxb60 https://speakerdeck.com/maciejwalkowiak/implementing-domain-driven-design-with-spring https://github.com/maciejwalkowiak/implementing-ddd-with-spring-talk + https://speakerdeck.com/maciejwalkowiak/implementing-domain-driven-design-with-spring?slide=17 + each entity and value object can only exist in valid state + ensure system-wide consistency through "domain events" + business rules, state changes - implemented in entities + domain services - rules, that do not belong to any entity (perharps no domain services at all) + JPA entity may be a DDD entity, but does not have to + aggregates refer to each other by id, not by a direct reference + model VOs with records 2023 Devoxx - REST next level : Crafting domain driven web APIs By Julien Topçu 0:00 of 50:52 https://www.youtube.com/watch?v=bHc8Gudrhdo diff --git a/pl/java/features/io/concurrency/articles.txt b/pl/java/features/io/concurrency/docs/articles.txt similarity index 100% rename from pl/java/features/io/concurrency/articles.txt rename to pl/java/features/io/concurrency/docs/articles.txt diff --git a/pl/java/features/io/concurrency/books.txt b/pl/java/features/io/concurrency/docs/books.txt similarity index 100% rename from pl/java/features/io/concurrency/books.txt rename to pl/java/features/io/concurrency/docs/books.txt diff --git a/pl/java/features/io/concurrency/courses.txt b/pl/java/features/io/concurrency/docs/courses.txt similarity index 100% rename from pl/java/features/io/concurrency/courses.txt rename to pl/java/features/io/concurrency/docs/courses.txt diff --git a/pl/java/features/io/concurrency/presentations.txt b/pl/java/features/io/concurrency/docs/presentations.txt similarity index 100% rename from pl/java/features/io/concurrency/presentations.txt rename to pl/java/features/io/concurrency/docs/presentations.txt diff --git a/pl/java/features/io/concurrency/scoped-value.txt b/pl/java/features/io/concurrency/scoped-value.txt new file mode 100644 index 000000000..46038bd89 --- /dev/null +++ b/pl/java/features/io/concurrency/scoped-value.txt @@ -0,0 +1,2 @@ +2024 + https://www.youtube.com/watch?v=Qe5bu9i8mQc diff --git a/pl/java/features/io/concurrency/structured.txt b/pl/java/features/io/concurrency/structured.txt new file mode 100644 index 000000000..4c7b318b1 --- /dev/null +++ b/pl/java/features/io/concurrency/structured.txt @@ -0,0 +1,23 @@ +https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/concurrent/StructuredTaskScope.html +? ScopedValue API + +baeldung + https://www.baeldung.com/java-structured-concurrency + try (var scope = new StructuredTaskScope.ShutdownOnFailure()) { + Future shelter = scope.fork(this::getShelter); + Future> dogs = scope.fork(this::getDogs); + scope.join(); + Response response = new Response(shelter.resultNow(), dogs.resultNow()); + // ... + } +2024 +Schmidt - Walkthrough of the Java StructuredTaskScope Code of 11:37 + https://www.youtube.com/watch?v=WfyKt9dkgmM + http://www.dre.vanderbilt.edu/~schmidt/cs891/2024-PDFs/14.2.5-StructuredTaskScope.pdf + + VirtualThreads +https://www.happycoders.eu/java/scoped-values/ + ScopedValues +https://www.happycoders.eu/java/structured-concurrency-structuredtaskscope/ + std/custom policies +? + https://www.youtube.com/watch?v=wWAnjsBgDA4 diff --git a/pl/java/jdk/21/virtual-threads.txt b/pl/java/jdk/21/virtual-threads.txt index 552f33fc1..29fd9c3a6 100644 --- a/pl/java/jdk/21/virtual-threads.txt +++ b/pl/java/jdk/21/virtual-threads.txt @@ -1,6 +1,11 @@ https://docs.oracle.com/en/java/javase/21/core/virtual-threads.html#GUID-DC4306FC-D6C1-4BCC-AECE-48C32C1A8DAA +spring.threads.virtual.enabled: true + 2024 +CodeWiz - REST API with Spring Boot 3.3, Java 21 and Virtual Threads | Benchmarking performance of 47:59 + https://www.youtube.com/watch?v=iRiJqI3oAqA + ! Javapro - Java Virtual Threads and Pipelined Database Operations | Kuassi Mensah (EN) 0:00 of 40:43 https://www.youtube.com/watch?v=-jA2twRtCuY https://habr.com/ru/articles/803955/ diff --git a/pl/java/libfws/spring/cloud/contract.txt b/pl/java/libfws/spring/cloud/contract.txt index f750e07b6..f53b6d395 100644 --- a/pl/java/libfws/spring/cloud/contract.txt +++ b/pl/java/libfws/spring/cloud/contract.txt @@ -1,23 +1,35 @@ +https://spring.io/projects/spring-cloud-contract +https://docs.spring.io/spring-cloud-contract/reference/ +https://docs.spring.io/spring-cloud-contract/reference/project-features-messaging.html +https://docs.spring.io/spring-cloud-contract/reference/customization/wiremock-customization.html +https://docs.spring.io/spring-cloud-contract/reference/customization/pluggable-architecture.html +https://docs.spring.io/spring-cloud-contract/reference/configprops.html +https://docs.spring.io/spring-cloud-contract/reference/yml-schema.html + +https://spring.io/guides/gs/contract-rest/ + +dsl +https://docs.spring.io/spring-cloud-contract/reference/project-features-contract.html + contract-testing https://docs.spring.io/spring-cloud-contract/docs/current/reference/html/project-features.html https://docs.spring.io/spring-cloud-contract/docs/current/reference/html/project-features.html#features-wiremock https://www.infoq.com/minibooks/emag-testing-distributed-systems -https://spring.io/guides/gs/contract-rest/ -https://docs.pact.io/readme - -https://cloud.spring.io/spring-cloud-contract/ - http://antkorwin.com/cloud/spring_cloud_contract_junit5.html +https://docs.pact.io/readme + pactflow https://pactflow.io/ -2024 +baeldung https://www.baeldung.com/spring-cloud-contract 2019 https://rieckpil.de/howto-consumer-driven-contracts-with-spring-cloud-contract/ 2018 +https://reflectoring.io/consumer-driven-contract-consumer-spring-cloud-contract/ + https://github.com/thombergs/code-examples/tree/master/spring-cloud/spring-cloud-contract-consumer Sharma - Consumer Driven Contract Testing with Spring Cloud Contract https://www.infoq.com/presentations/spring-cloud-contract https://www.youtube.com/watch?v=QHlhYQQa7bg diff --git a/pl/java/libfws/spring/rest/client/rest-client.txt b/pl/java/libfws/spring/rest/client/rest-client.txt index 4099bf860..6340f3f4c 100644 --- a/pl/java/libfws/spring/rest/client/rest-client.txt +++ b/pl/java/libfws/spring/rest/client/rest-client.txt @@ -1,4 +1,8 @@ +baeldung +https://www.baeldung.com/restclienttest-in-spring-boot 2024 +CodeWiz - Master API Integration in Spring Boot with Rest Client of 1:03:53 + https://www.youtube.com/watch?v=wWAnjsBgDA4 DanVega - Spring Boot Rest Client Testing with @RestClientTest Issue & Work-around 0:00 of 12:48 https://www.youtube.com/watch?v=-ChpDCIjyh0 SpringIO - Improve developer experience with Spring Interface Clients by Olga Maciaszek-Sharma 0:00 of 51:23