diff --git a/child/info/thematical/algo/books.txt b/child/info/thematical/algo/books.txt index 169d59994..d3633a154 100644 --- a/child/info/thematical/algo/books.txt +++ b/child/info/thematical/algo/books.txt @@ -13,13 +13,14 @@ KulikovPevzner - Learning Algorithms Through Programming and Puzzle Solving ! samples in c and algo-lang 2016 BabenkoLevin - Algorithms and Data Structures Theory Introduction ru + https://books.google.by/books?id=wHIUEAAAQBAJ https://biblio.mccme.ru/node/52889 https://chitatel.by/catalog/book/353032 https://www.labirint.ru/books/623061/ 304EA82C00692AB8E7A59C90A91C7888 4F0D5D4CFA08E13287629674A2730C7F 8091CD6FE120FCFBD86CF2D3E5880387 - ! 145p, mostly theoretical, just 1 code sample + !!! 145p, mostly theoretical, just 1 code sample 2014 WarrenJr - Hackers Delight 2nd ed ru 5CA959ABFF14592F627F48CE44A4E453 diff --git a/child/info/thematical/algo/courses.txt b/child/info/thematical/algo/courses.txt index 4682df4b4..9f5348351 100644 --- a/child/info/thematical/algo/courses.txt +++ b/child/info/thematical/algo/courses.txt @@ -13,6 +13,9 @@ Nigmatulin - CSC - Algorithms and Data Structures part 2 ru https://www.youtube.com/playlist?list=PLlb7e2G7aSpRMDLGXOYutKAsDc6rrIrbl Matskevich - MIPT - Algorithms and Data Structures ru https://www.youtube.com/playlist?list=PL4_hYwCyhAvYqSADD82AQhUFk-0GtY-UC +2019 +ACM Ivanovo - AiDS of p17 + https://www.youtube.com/playlist?list=PLsHWLGkYFg3D1zoI3YeudkpWbXiXbhKVt 2018 Geyn - Kontur - Unusual Algorithms for Usual People https://www.youtube.com/playlist?list=PLc82OEDeni8SGp5CX8Ey1PdUcoi8Jh1Q_ diff --git a/db/sql/postgres/feature/explain/pg-explain.txt b/db/sql/postgres/feature/explain/pg-explain.txt index 808f16658..9ebbeb791 100644 --- a/db/sql/postgres/feature/explain/pg-explain.txt +++ b/db/sql/postgres/feature/explain/pg-explain.txt @@ -5,3 +5,5 @@ https://postgrespro.ru/docs/postgresql/16/using-explain -- file:///D:/dev/Utils/PostgreSQL/9.1/doc/postgresql/html/sql-analyze.html -- file:///D:/dev/Utils/PostgreSQL/9.1/doc/postgresql/html/auto-explain.html -- explain analyze + +explain (analyze, costs off, buffers) -- buffers is aprox about num of disk ops diff --git a/db/sql/postgres/feature/index/intersected.txt b/db/sql/postgres/feature/index/intersected.txt new file mode 100644 index 000000000..57f339681 --- /dev/null +++ b/db/sql/postgres/feature/index/intersected.txt @@ -0,0 +1,5 @@ +2024 + https://habr.com/ru/articles/871546/ + INTERSECTED_INDEXES, if columns of one index - are prefix for the other one + !!! putting id into the index is almost always a bad idea + diff --git a/db/sql/postgres/feature/index/presentations.txt b/db/sql/postgres/feature/index/presentations.txt index e2025845e..682540b70 100644 --- a/db/sql/postgres/feature/index/presentations.txt +++ b/db/sql/postgres/feature/index/presentations.txt @@ -4,3 +4,12 @@ AzatYakupov - BTree Index in PG 0:00 of 1:09:10 JPoint - Salnikov - PostgreSQL Indices ru 0:00 of 2:00:44 https://www.youtube.com/watch?v=ju9F8OvnL4E https://squidex.jugru.team/api/assets/srm/5a15546d-af53-46d4-be84-63367a5aaaf3/jpoint2022.andrei-.salsnikov.pdf +2023 +JPoint - Sitnikov - B-Tree indices using Boot, PostgreSQL, JPA 18:00 of 45:07 + https://www.youtube.com/watch?v=y-Wtyvme4gE + ! using indices improves search-perf, but degrades ins/upd perf + ! indices have types + ! 21:30 explain (analyze, costs off, buffers) -- buffers is aprox about num of disk ops +2017 +BartunovKorotkov - All truth about Indices 0:00 of 46:35 + https://www.youtube.com/watch?v=aaecM4wKdhY diff --git a/db/sql/postgres/tools/monitor/pg-index-health-java.txt b/db/sql/postgres/feature/index/tools/pg-index-health-java.txt similarity index 62% rename from db/sql/postgres/tools/monitor/pg-index-health-java.txt rename to db/sql/postgres/feature/index/tools/pg-index-health-java.txt index 86ac4c292..97f5b764f 100644 --- a/db/sql/postgres/tools/monitor/pg-index-health-java.txt +++ b/db/sql/postgres/feature/index/tools/pg-index-health-java.txt @@ -1,10 +1,13 @@ https://github.com/mfvanek/pg-index-health +https://github.com/mfvanek/pg-index-health-sql https://github.com/mfvanek/pg-index-health/blob/master/gradle/libs.versions.toml https://github.com/mfvanek/pg-index-health/blob/master/pg-index-health-model/src/main/java/io/github/mfvanek/pg/model/settings/ImportantParam.java +https://github.com/mfvanek/pg-index-health/blob/master/pg-index-health-core/src/main/java/io/github/mfvanek/pg/core/checks/common/Diagnostic.java 2024 https://habr.com/ru/articles/871546/ + io.github.mfvanek:pg-index-health-test-starter: 2020 https://habr.com/ru/articles/490824/ https://habr.com/ru/companies/tensor/articles/488104/ diff --git a/db/sql/postgres/feature/index/unique.txt b/db/sql/postgres/feature/index/unique.txt index d24426995..4dcd10e93 100644 --- a/db/sql/postgres/feature/index/unique.txt +++ b/db/sql/postgres/feature/index/unique.txt @@ -3,3 +3,7 @@ https://edu.postgrespro.ru/sqlprimer/sqlprimer-2019-msu-06.pdf create unique index on (col1, col2, ...); ! nulls are accepted at unique indices + +2024 +https://habr.com/ru/articles/871546/ + ! each field with unique-constraint gets unique idx auto-created !!! diff --git a/db/sql/postgres/feature/internals/statistics/statistics.txt b/db/sql/postgres/feature/internals/statistics/statistics.txt new file mode 100644 index 000000000..71e6620af --- /dev/null +++ b/db/sql/postgres/feature/internals/statistics/statistics.txt @@ -0,0 +1,5 @@ +https://www.postgresql.org/docs/current/monitoring-stats.html + cummulative + +https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-STATS-FUNCTIONS + incl manual pg_stat_reset() diff --git a/db/sql/tools/linter/sqlfluff.txt b/db/sql/tools/linter/sqlfluff.txt index ac94b9c53..35682c46b 100644 --- a/db/sql/tools/linter/sqlfluff.txt +++ b/db/sql/tools/linter/sqlfluff.txt @@ -1,2 +1,5 @@ +https://sqlfluff.com/ https://docs.sqlfluff.com/en/stable/ https://github.com/sqlfluff/sqlfluff + +https://docs.sqlfluff.com/en/stable/reference/rules.html diff --git a/devops/k8s/tools/awesome.txt b/devops/k8s/tools/awesome.txt new file mode 100644 index 000000000..80efc2036 --- /dev/null +++ b/devops/k8s/tools/awesome.txt @@ -0,0 +1,3 @@ +https://collabnix.github.io/kubetools/ +https://github.com/collabnix/kubetools + 2yo diff --git a/devops/k8s/tools/kubectl/kustomize.txt b/devops/k8s/tools/kubectl/kustomize.txt index dc62ad4fb..233be5c8e 100644 --- a/devops/k8s/tools/kubectl/kustomize.txt +++ b/devops/k8s/tools/kubectl/kustomize.txt @@ -13,6 +13,8 @@ https://kubectl.docs.kubernetes.io/guides/introduction/kustomize/ https://kubernetes-sigs.github.io/kustomize/ 2023 +LvivJavaClub - Kustomize by Sergii Bishyr 0:00 of 39:12 + https://www.youtube.com/watch?v=0TDxZrcYzws realmanual - k8s templates deploy ru of 29:28 https://www.youtube.com/watch?v=f1FJGV4y-ug 2020 diff --git a/pl/cross/messaging/kafka/docs/presentations.txt b/pl/cross/messaging/kafka/docs/presentations.txt index e94be751f..ebe9da6cf 100644 --- a/pl/cross/messaging/kafka/docs/presentations.txt +++ b/pl/cross/messaging/kafka/docs/presentations.txt @@ -8,6 +8,11 @@ Spectr - Apache Kafka Typical Erors 0:00 of 54:46 https://www.youtube.com/watch?v=FGETRVOPdiA ByteByteGo - System Design: Why is Kafka so Popular? of 4:19 https://www.youtube.com/watch?v=yIAcHMJzqJc +SelskiJavist - Kafka Fundamentals 0:00 of 2:09:05 + https://www.youtube.com/watch?v=YluvsLmPU78 + ! producer/consumer related + at-least-onece, at-most-once, fixing offset, a lot of props + transactions, partitions direct manip-n 2022 SpringDeveloper - Long - Spring Tips: Spring Boot & Apache Kafka 0:00 of 42:58 https://www.youtube.com/watch?v=DJHUNSGh3K0 diff --git a/pl/cross/messaging/kafka/features/stream/articles.txt b/pl/cross/messaging/kafka/features/stream/articles.txt index ac2e5f88b..ecdad510e 100644 --- a/pl/cross/messaging/kafka/features/stream/articles.txt +++ b/pl/cross/messaging/kafka/features/stream/articles.txt @@ -1,3 +1,9 @@ +2024 +https://habr.com/ru/articles/870784/ +https://habr.com/ru/articles/862976/ +https://habr.com/ru/articles/858668/ +https://habr.com/ru/articles/854680/ +https://habr.com/ru/articles/850832/ 2023 https://www.confluent.io/blog/building-a-microservices-ecosystem-with-kafka-streams-and-ksql/ ! serie of p5 diff --git a/pl/cross/messaging/kafka/features/stream/ex-err.txt b/pl/cross/messaging/kafka/features/stream/ex-err.txt new file mode 100644 index 000000000..fbbfd11e8 --- /dev/null +++ b/pl/cross/messaging/kafka/features/stream/ex-err.txt @@ -0,0 +1,8 @@ +sample +Properties props = new Properties(); +props.put(StreamsConfig.DEFAULT_DESERIALIZATION_EXCEPTION_HANDLER_CLASS_CONFIG, + LogAndContinueExceptionHandler.class); +props.put(StreamsConfig.DEFAULT_PRODUCTION_EXCEPTION_HANDLER_CLASS_CONFIG, + DefaultProductionExceptionHandler.class); + +streams.setUncaughtExceptionHandler(...) diff --git a/pl/cross/messaging/kafka/integrations/docker.txt b/pl/cross/messaging/kafka/integrations/docker.txt index 164a7402e..e2bb0c64a 100644 --- a/pl/cross/messaging/kafka/integrations/docker.txt +++ b/pl/cross/messaging/kafka/integrations/docker.txt @@ -1,6 +1,9 @@ https://github.com/Amplicode/amplicode-tutorials/blob/main/http-client-demo/app/docker-compose-dev.yaml + kafka-ui +2024 +https://habr.com/ru/articles/854680/ + confluentinc/confluent-local:latest 2022 https://www.baeldung.com/ops/kafka-docker-setup ! tip about healthcheck in comment diff --git a/pl/cross/messaging/kafka/samples.txt b/pl/cross/messaging/kafka/samples.txt index 34e94ce02..eb0b5f55d 100644 --- a/pl/cross/messaging/kafka/samples.txt +++ b/pl/cross/messaging/kafka/samples.txt @@ -1,2 +1,5 @@ https://github.com/confluentinc/examples https://github.com/gwenshap/kafka-examples + +KafkaProducer.send(...) +KafkaConsumer.poll(num) diff --git a/pl/cross/methodologies/cqrs/presentations.txt b/pl/cross/methodologies/cqrs/presentations.txt index 81e9564b7..fc7dd131a 100644 --- a/pl/cross/methodologies/cqrs/presentations.txt +++ b/pl/cross/methodologies/cqrs/presentations.txt @@ -2,6 +2,10 @@ Javapro - CQRS in the Small with Java Records and jOOQ | Simon Martinelli (EN) of 41:30 https://www.youtube.com/watch?v=bxywf9CGRkc https://github.com/simasch/cqrs-meets-modern-java +2021 +HardAndSoftSkills - Veinik - CQRS 13:00 of 1:30:30 + https://www.youtube.com/watch?v=gNtNz9RgoTA + https://www.slideshare.net/slideshow/software-craftsmanship-meetup-21-cqrs/250829667 2014 Young - CQRS and Event Sourcing https://www.youtube.com/watch?v=JHGkaShoyNs diff --git a/pl/cross/methodologies/dp-patterns/circuitbreaker.txt b/pl/cross/methodologies/dp-patterns/circuitbreaker.txt index 31d494a13..8c0f3e882 100644 --- a/pl/cross/methodologies/dp-patterns/circuitbreaker.txt +++ b/pl/cross/methodologies/dp-patterns/circuitbreaker.txt @@ -1,3 +1,3 @@ 2023 https://lab.scub.net/architecture-patterns-the-circuit-breaker-8f79280771f1 -https://habr.com/ru/companies/otus/articles/778574/ + https://habr.com/ru/companies/otus/articles/778574/ diff --git a/pl/cross/methodologies/event-storming.txt b/pl/cross/methodologies/event-storming.txt new file mode 100644 index 000000000..2ba2c31d1 --- /dev/null +++ b/pl/cross/methodologies/event-storming.txt @@ -0,0 +1,12 @@ +Togeather Devs and Business + +2024 +ListenIT - ES in 15 min 5:30 of 15:22 + https://www.youtube.com/watch?v=oTeppXMkl6k + https://habr.com/ru/companies/runity/articles/689620/ + - events + - aggregates + - actors (user, ext-api, ...) + - actions +PodlodkaCrew - Event-Driven system projecting with DDD and ES 6:00 of 1:02:55 + https://www.youtube.com/watch?v=EFokgQ7Qkt4 diff --git a/pl/java/features/annotation/annotation.txt b/pl/java/features/annotation/annotation.txt index b5759e13f..cb602a680 100644 --- a/pl/java/features/annotation/annotation.txt +++ b/pl/java/features/annotation/annotation.txt @@ -1,41 +1,4 @@ https://docs.oracle.com/javase/tutorial/java/annotations/predefined.html -2024 -https://www.infoworld.com/article/2257851/how-to-describe-java-code-with-annotations.html -2023 -MJC - Creating Annotations in Java ru of 6:51 - https://www.youtube.com/watch?v=7D4Wn0GndCA -https://www.baeldung.com/java-annotation-processing-builder -2022 -JACOV - "Java Annotation Processing" - Oscar Camacho - https://www.youtube.com/watch?v=REli837WM5o&t=4390s -https://docs.oracle.com/javase/tutorial/java/annotations/index.html - https://habr.com/ru/post/662023/ -https://reflectoring.io/java-annotation-processing/ - https://habr.com/ru/company/otus/blog/655239/ - https://github.com/thombergs/code-examples/tree/master/core-java/annotation-processing/introduction-to-annotations -2020 -https://blog.frankel.ch/introductory-guide-annotation-processor/ -2019 -https://dzone.com/articles/creating-custom-annotations-in-java -2018 -https://jaxenter.com/understand-annotations-java-148001.html -Compile Time Annoations - https://habr.com/post/414715/ -Albano - Creating Annotations in Java - https://dzone.com/articles/creating-custom-annotations-in-java -???? -https://habrahabr.ru/company/e-Legion/blog/206208/ -https://github.com/DanielSerdyukov/droidcon2015 -https://docs.google.com/presentation/d/1zamMD_7LeGItOYFUPoYYjKb8hFl243krqZgPKwVgvr0/edit#slide=id.p4 -https://www.youtube.com/watch?v=dBUAqPs0TB0 -https://www.youtube.com/watch?v=tRmJm2_qytM -https://speakerdeck.com/search?q=droidcon+2014+nyc - -Erni - The Hacker's Guide to Javac -http://scg.unibe.ch/archive/projects/Erni08b.pdf - - - @SuppressWarnings("unchecked") https://docs.oracle.com/javase/8/docs/api/java/lang/SuppressWarnings.html diff --git a/pl/java/features/annotation/articles.txt b/pl/java/features/annotation/articles.txt new file mode 100644 index 000000000..83705b60c --- /dev/null +++ b/pl/java/features/annotation/articles.txt @@ -0,0 +1,36 @@ +2024 +https://www.infoworld.com/article/2257851/how-to-describe-java-code-with-annotations.html +2023 +MJC - Creating Annotations in Java ru of 6:51 + https://www.youtube.com/watch?v=7D4Wn0GndCA +https://www.baeldung.com/java-annotation-processing-builder +2022 +https://reflectoring.io/java-annotation-processing/ + https://github.com/thombergs/code-examples/tree/master/core-java/annotation-processing/introduction-to-annotations + !!! + ! @Inherited -> propagates annotation to inherited classes +https://docs.oracle.com/javase/tutorial/java/annotations/index.html + https://habr.com/ru/post/662023/ +https://reflectoring.io/java-annotation-processing/ + https://habr.com/ru/company/otus/blog/655239/ + https://github.com/thombergs/code-examples/tree/master/core-java/annotation-processing/introduction-to-annotations +2020 +https://blog.frankel.ch/introductory-guide-annotation-processor/ +2019 +https://dzone.com/articles/creating-custom-annotations-in-java +2018 +https://jaxenter.com/understand-annotations-java-148001.html +Compile Time Annoations + https://habr.com/post/414715/ +Albano - Creating Annotations in Java + https://dzone.com/articles/creating-custom-annotations-in-java +???? +https://habrahabr.ru/company/e-Legion/blog/206208/ +https://github.com/DanielSerdyukov/droidcon2015 +https://docs.google.com/presentation/d/1zamMD_7LeGItOYFUPoYYjKb8hFl243krqZgPKwVgvr0/edit#slide=id.p4 +https://www.youtube.com/watch?v=dBUAqPs0TB0 +https://www.youtube.com/watch?v=tRmJm2_qytM +https://speakerdeck.com/search?q=droidcon+2014+nyc + +Erni - The Hacker's Guide to Javac +http://scg.unibe.ch/archive/projects/Erni08b.pdf diff --git a/pl/java/features/annotation/presentations.txt b/pl/java/features/annotation/presentations.txt new file mode 100644 index 000000000..d6892b744 --- /dev/null +++ b/pl/java/features/annotation/presentations.txt @@ -0,0 +1,3 @@ +2022 +JACOV - "Java Annotation Processing" - Oscar Camacho + https://www.youtube.com/watch?v=REli837WM5o&t=4390s diff --git a/pl/java/libfws/fp/boilerplate/lombok/articles.txt b/pl/java/libfws/fp/boilerplate/lombok/articles.txt index 6d3f4176d..b7f0dd1e5 100644 --- a/pl/java/libfws/fp/boilerplate/lombok/articles.txt +++ b/pl/java/libfws/fp/boilerplate/lombok/articles.txt @@ -3,6 +3,10 @@ https://www.toptal.com/java/write-fat-free-java-code-project-lombok https://www.ibm.com/developerworks/library/j-lombok/ 2023 https://www.unlogged.io/post/how-does-the-lombok-magic-work-underneath +2022 +https://reflectoring.io/when-to-use-lombok/ + https://github.com/thombergs/code-examples/tree/master/core-java/lombok/be-informed-with-lombok/ + !!! be very carefull with JPA entities 2021 https://auth0.com/blog/a-complete-guide-to-lombok/ https://habr.com/ru/companies/piter/articles/676394/ diff --git a/pl/java/libfws/io/distributed/cloud/circuitbreaker/resilience4j.txt b/pl/java/libfws/io/distributed/cloud/circuitbreaker/resilience4j.txt index 5e78888f0..abab9d110 100644 --- a/pl/java/libfws/io/distributed/cloud/circuitbreaker/resilience4j.txt +++ b/pl/java/libfws/io/distributed/cloud/circuitbreaker/resilience4j.txt @@ -1,6 +1,8 @@ https://resilience4j.readme.io/ https://github.com/resilience4j/resilience4j +https://github.com/resilience4j/resilience4j/tree/master/resilience4j-retry +https://github.com/resilience4j/resilience4j/tree/master/resilience4j-circuitbreaker https://resilience4j.readme.io/docs diff --git a/pl/java/libfws/spring/boot/features/cfg/refres.txt b/pl/java/libfws/spring/boot/features/cfg/refres.txt new file mode 100644 index 000000000..5e8f9bfef --- /dev/null +++ b/pl/java/libfws/spring/boot/features/cfg/refres.txt @@ -0,0 +1,6 @@ +@RefreshScope of spring-cloud +http://:/actuator/refresh +applicationContext.publishEvent(new RefreshEvent(this, , )) + +notes: +Hikary uses AutoCloseable objects => open connections are hanging after refresh diff --git a/pl/java/libfws/spring/boot/features/cfg/ssl.txt b/pl/java/libfws/spring/boot/features/cfg/ssl.txt index cb3527531..fe364581c 100644 --- a/pl/java/libfws/spring/boot/features/cfg/ssl.txt +++ b/pl/java/libfws/spring/boot/features/cfg/ssl.txt @@ -10,7 +10,28 @@ server: key-store-type: pkcs12 key-store-password: keyAlias: 1 + ... + trust-store + ... + bundle: + jks: + : + key: + alias: server + password: + keystore: + type: pkcs12 + location: ${secrets.server.keyStorePath} + password: + truststore: + ... + reloadOnUpdate: true +pem-format - just encoded in base64 + +2024 +https://habr.com/ru/companies/sberbank/articles/870116/ + ! 2023 https://spring.io/blog/2023/11/07/ssl-hot-reload-in-spring-boot-3-2-0 https://spring.io/blog/2023/06/07/securing-spring-boot-applications-with-ssl diff --git a/pl/java/libfws/spring/boot/messaging/kafka/batching.txt b/pl/java/libfws/spring/boot/messaging/kafka/batching.txt new file mode 100644 index 000000000..acf68fa99 --- /dev/null +++ b/pl/java/libfws/spring/boot/messaging/kafka/batching.txt @@ -0,0 +1,4 @@ +batching +https://stackoverflow.com/questions/58492689/how-to-send-batched-data-with-spring-kafka-producer +2020 +https://medium.com/@shrutishrm17/kafka-batch-processing-in-spring-boot-fc6c58f857fa diff --git a/pl/java/libfws/spring/boot/messaging/kafka/cfg.txt b/pl/java/libfws/spring/boot/messaging/kafka/cfg.txt new file mode 100644 index 000000000..d8c06f839 --- /dev/null +++ b/pl/java/libfws/spring/boot/messaging/kafka/cfg.txt @@ -0,0 +1,2 @@ +https://github.com/spring-projects/spring-boot/tree/main/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/kafka +https://github.com/spring-projects/spring-boot/blob/main/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/kafka/KafkaProperties.java diff --git a/pl/java/libfws/spring/boot/messaging/kafka/ex-err-processing.txt b/pl/java/libfws/spring/boot/messaging/kafka/ex-err-processing.txt new file mode 100644 index 000000000..dcdd830a2 --- /dev/null +++ b/pl/java/libfws/spring/boot/messaging/kafka/ex-err-processing.txt @@ -0,0 +1,7 @@ +https://docs.spring.io/spring-kafka/reference/kafka/annotation-error-handling.html + @Bean + CommonErrorHandler kafkaErrorHandler() { + return new KafkaErrorHandler(); + } +https://medium.com/javarevisited/robust-kafka-consumer-error-handling-on-a-spring-boot-3-application-6fc95e92c956 + @RetryableTopic, Listeners with Acknoledgement diff --git a/pl/java/libfws/spring/boot/messaging/kafka/jaas.txt b/pl/java/libfws/spring/boot/messaging/kafka/jaas.txt new file mode 100644 index 000000000..898cbbc71 --- /dev/null +++ b/pl/java/libfws/spring/boot/messaging/kafka/jaas.txt @@ -0,0 +1 @@ +https://kafka.apache.org/documentation/#security_jaas_client diff --git a/pl/java/libfws/spring/boot/messaging/kafka.txt b/pl/java/libfws/spring/boot/messaging/kafka/kafka.txt similarity index 61% rename from pl/java/libfws/spring/boot/messaging/kafka.txt rename to pl/java/libfws/spring/boot/messaging/kafka/kafka.txt index 2121675b0..7e7a3443b 100644 --- a/pl/java/libfws/spring/boot/messaging/kafka.txt +++ b/pl/java/libfws/spring/boot/messaging/kafka/kafka.txt @@ -1,56 +1,18 @@ -Apache Kafka support - http://projects.spring.io/spring-kafka/ https://github.com/spring-projects/spring-kafka https://docs.spring.io/spring-kafka/reference/html/ https://docs.spring.io/spring-kafka/reference/htmlsingle/ -cfg -https://github.com/spring-projects/spring-boot/tree/main/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/kafka -https://github.com/spring-projects/spring-boot/blob/main/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/kafka/KafkaProperties.java - -testing -2024 -https://habr.com/ru/articles/824594/ -https://habr.com/ru/companies/alfastrah/articles/816057/ - -batching -https://stackoverflow.com/questions/58492689/how-to-send-batched-data-with-spring-kafka-producer -2020 -https://medium.com/@shrutishrm17/kafka-batch-processing-in-spring-boot-fc6c58f857fa - api https://docs.spring.io/spring-kafka/api/org/springframework/kafka/core/KafkaTemplate.html -ex-err -https://docs.spring.io/spring-kafka/reference/kafka/annotation-error-handling.html - @Bean - CommonErrorHandler kafkaErrorHandler() { - return new KafkaErrorHandler(); - } -https://medium.com/javarevisited/robust-kafka-consumer-error-handling-on-a-spring-boot-3-application-6fc95e92c956 - @RetryableTopic, Listeners with Acknoledgement - idempotence configProps.put(ProducerConfig.ENABLE_IDEMPOTENCE_CONFIG, true); -jaas -https://kafka.apache.org/documentation/#security_jaas_client - -testing -https://docs.spring.io/spring-kafka/reference/testing.html - MockProducer, MockConsumer, assertj kafka-related assertions -https://testcontainers.com/guides/testing-spring-boot-kafka-listener-using-testcontainers/ -https://www.baeldung.com/spring-boot-kafka-testing - compression https://medium.com/swlh/exploit-apache-kafkas-message-format-to-save-storage-and-bandwidth-7e0c533edf26 -ser-de -https://docs.spring.io/spring-kafka/reference/kafka/serdes.html - - presentations 2022 SpringIO - Spring Kafka beyond the basics - Lessons learned on our Kafka journey at ING Bank by Tim van Baarsen 0:00 of 44:04 @@ -100,14 +62,3 @@ https://www.confluent.io/blog/spring-for-apache-kafka-deep-dive-part-2-apache-ka https://www.confluent.io/blog/spring-for-apache-kafka-deep-dive-part-1-error-handling-message-conversion-transaction-support 2018 https://www.javacodegeeks.com/2018/03/spring-cloud-stream-kafka.html - -samples -https://thepracticaldeveloper.com/spring-boot-kafka-config/ - https://hub.docker.com/r/wurstmeister/kafka/ - http://wurstmeister.github.io/kafka-docker/ - https://github.com/wurstmeister/kafka-docker/wiki - https://github.com/wurstmeister/kafka-docker/wiki/Connectivity - -whats new -https://docs.spring.io/spring-kafka/docs/2.9.0/reference/html/#whats-new-part -https://spring.io/blog/2018/02/22/spring-for-apache-kafka-2-1-3-spring-integration-kafka-3-0-2-are-available diff --git a/pl/java/libfws/spring/boot/messaging/kafka/samples.txt b/pl/java/libfws/spring/boot/messaging/kafka/samples.txt new file mode 100644 index 000000000..5f0b1abb3 --- /dev/null +++ b/pl/java/libfws/spring/boot/messaging/kafka/samples.txt @@ -0,0 +1,5 @@ +https://thepracticaldeveloper.com/spring-boot-kafka-config/ + https://hub.docker.com/r/wurstmeister/kafka/ + http://wurstmeister.github.io/kafka-docker/ + https://github.com/wurstmeister/kafka-docker/wiki + https://github.com/wurstmeister/kafka-docker/wiki/Connectivity diff --git a/pl/java/libfws/spring/boot/messaging/kafka/ser-de.txt b/pl/java/libfws/spring/boot/messaging/kafka/ser-de.txt new file mode 100644 index 000000000..cc3b9204b --- /dev/null +++ b/pl/java/libfws/spring/boot/messaging/kafka/ser-de.txt @@ -0,0 +1 @@ +https://docs.spring.io/spring-kafka/reference/kafka/serdes.html diff --git a/pl/java/libfws/spring/boot/messaging/kafka/testing.txt b/pl/java/libfws/spring/boot/messaging/kafka/testing.txt new file mode 100644 index 000000000..7a2079718 --- /dev/null +++ b/pl/java/libfws/spring/boot/messaging/kafka/testing.txt @@ -0,0 +1,9 @@ +https://docs.spring.io/spring-kafka/reference/testing.html + MockProducer, MockConsumer, assertj kafka-related assertions +https://testcontainers.com/guides/testing-spring-boot-kafka-listener-using-testcontainers/ + +baeldung +https://www.baeldung.com/spring-boot-kafka-testing +2024 +https://habr.com/ru/articles/824594/ +https://habr.com/ru/companies/alfastrah/articles/816057/ diff --git a/pl/java/libfws/spring/boot/messaging/kafka/transactions.txt b/pl/java/libfws/spring/boot/messaging/kafka/transactions.txt new file mode 100644 index 000000000..88b9f2521 --- /dev/null +++ b/pl/java/libfws/spring/boot/messaging/kafka/transactions.txt @@ -0,0 +1,4 @@ +https://spring.io/blog/2023/09/28/producer-initiated-transactions-in-spring-cloud-stream-kafka-applications +https://spring.io/blog/2023/09/27/introduction-to-transactions-in-spring-cloud-stream-kafka-applications +https://www.confluent.io/blog/exactly-once-semantics-are-possible-heres-how-apache-kafka-does-it/ +https://www.confluent.io/blog/transactions-apache-kafka/ diff --git a/pl/java/libfws/spring/boot/messaging/kafka/whatsnew.txt b/pl/java/libfws/spring/boot/messaging/kafka/whatsnew.txt new file mode 100644 index 000000000..bf74ba1fe --- /dev/null +++ b/pl/java/libfws/spring/boot/messaging/kafka/whatsnew.txt @@ -0,0 +1,2 @@ +https://docs.spring.io/spring-kafka/docs/2.9.0/reference/html/#whats-new-part +https://spring.io/blog/2018/02/22/spring-for-apache-kafka-2-1-3-spring-integration-kafka-3-0-2-are-available diff --git a/pl/java/libfws/spring/cloud/stream/feature/transactions.txt b/pl/java/libfws/spring/cloud/stream/feature/transactions.txt index 38696494f..39ea8de48 100644 --- a/pl/java/libfws/spring/cloud/stream/feature/transactions.txt +++ b/pl/java/libfws/spring/cloud/stream/feature/transactions.txt @@ -1,3 +1,4 @@ 2023 https://spring.io/blog/2023/10/11/transactional-rollback-strategies-with-spring-cloud-stream-and-apache-kafka https://spring.io/blog/2023/10/16/apache-kafkas-exactly-once-semantics-in-spring-cloud-stream-kafka +https://spring.io/blog/2023/09/27/introduction-to-transactions-in-spring-cloud-stream-kafka-applications diff --git a/pl/java/libfws/spring/data/features/pagination.txt b/pl/java/libfws/spring/data/features/pagination.txt new file mode 100644 index 000000000..b5ae035df --- /dev/null +++ b/pl/java/libfws/spring/data/features/pagination.txt @@ -0,0 +1,23 @@ +https://docs.spring.io/spring-data/commons/docs/current/api/org/springframework/data/domain/PageRequest.html +https://docs.spring.io/spring-data/commons/docs/current/api/org/springframework/data/domain/Pageable.html + ofSize(pageSize) - first page... +https://docs.spring.io/spring-data/commons/docs/current/api/org/springframework/data/domain/Page.html + int getTotalPages +https://docs.spring.io/spring-data/commons/docs/current/api/org/springframework/data/domain/Slice.html + if we don't need total number of items/pages +https://docs.spring.io/spring-data/commons/docs/current/api/org/springframework/data/util/Streamable.html + toList() + +Pageable firstPageWithTwoElements = PageRequest.of(0, 2); +Pageable secondPageWithFiveElements = PageRequest.of(1, 5); + +Pageable sortedByName = + PageRequest.of(0, 3, Sort.by("name")); +Pageable sortedByPriceDesc = + PageRequest.of(0, 3, Sort.by("price").descending()); +Pageable sortedByPriceDescNameAsc = + PageRequest.of(0, 5, Sort.by("price").descending().and(Sort.by("name"))); + +2019 +https://reflectoring.io/spring-boot-paging/ + https://github.com/thombergs/code-examples/tree/master/spring-boot/paging diff --git a/pl/java/libfws/spring/data/jpa/features/multi-db.txt b/pl/java/libfws/spring/data/jpa/features/multi-db.txt index dfde789e8..24bf7cf71 100644 --- a/pl/java/libfws/spring/data/jpa/features/multi-db.txt +++ b/pl/java/libfws/spring/data/jpa/features/multi-db.txt @@ -1,3 +1,6 @@ +2023 +Vega - How to Configure Multiple JDBC Clients 0:00 of 24:23 + https://www.youtube.com/watch?v=ZKYFGuukhT4 2022 https://www.baeldung.com/spring-data-jpa-multiple-databases https://www.baeldung.com/multitenancy-with-spring-data-jpa/ diff --git a/pl/java/libfws/spring/data/jpa/tools/blaze-persistence-criteria.txt b/pl/java/libfws/spring/data/jpa/features/query/criteria/blaze-persistence.txt similarity index 78% rename from pl/java/libfws/spring/data/jpa/tools/blaze-persistence-criteria.txt rename to pl/java/libfws/spring/data/jpa/features/query/criteria/blaze-persistence.txt index f42639254..395dd61e6 100644 --- a/pl/java/libfws/spring/data/jpa/tools/blaze-persistence-criteria.txt +++ b/pl/java/libfws/spring/data/jpa/features/query/criteria/blaze-persistence.txt @@ -7,6 +7,11 @@ https://staging-persistence.blazebit.com/documentation/1.6/core/manual/en_US/ https://staging-persistence.blazebit.com/documentation/1.6/entity-view/manual/en_US/ https://blazebit.com/blog +baeldung +https://www.baeldung.com/blaze-persistence-tutorial +2024 +LvivJavaClub - Blaze Persistence by Volodymyr Yastrubchak 0:00 of 1:00:11 + https://www.youtube.com/watch?v=pVDu3VnMXY4 2023 https://vladmihalcea.com/blaze-persistence-multiset/ 2021 diff --git a/pl/java/libfws/spring/data/jpa/features/query/spec-criteria.txt b/pl/java/libfws/spring/data/jpa/features/query/criteria/spec-criteria.txt similarity index 100% rename from pl/java/libfws/spring/data/jpa/features/query/spec-criteria.txt rename to pl/java/libfws/spring/data/jpa/features/query/criteria/spec-criteria.txt diff --git a/pl/java/tools/quality/testing/equals-verifyer.txt b/pl/java/tools/quality/testing/equals-verifyer.txt new file mode 100644 index 000000000..d38176d06 --- /dev/null +++ b/pl/java/tools/quality/testing/equals-verifyer.txt @@ -0,0 +1,13 @@ +https://jqno.nl/equalsverifier/ +https://github.com/jqno/equalsverifier + +https://jqno.nl/equalsverifier/manual/ +https://jqno.nl/equalsverifier/manual/getting-started/ +https://jqno.nl/equalsverifier/manual/good-equals +https://jqno.nl/equalsverifier/manual/final/ +https://jqno.nl/equalsverifier/manual/immutability/ +... +https://jqno.nl/equalsverifier/manual/jpa-entities/ + +https://jqno.nl/equalsverifier/errormessages/ +https://jqno.nl/equalsverifier/resources/ diff --git a/pl/java/tools/quality/testing/property/jqwik.txt b/pl/java/tools/quality/testing/property/jqwik.txt index 426afe9bf..bb6b19f74 100644 --- a/pl/java/tools/quality/testing/property/jqwik.txt +++ b/pl/java/tools/quality/testing/property/jqwik.txt @@ -14,6 +14,10 @@ samples https://github.com/jlink/property-based-testing/tree/main/pbt-java https://github.com/jlink/property-based-testing/blob/main/pbt-java/src/test/java/pbt/hwayne/can_afford.md +2024 +LvivJavaClub - Verhun - Property Based Testing on Java with jqwik 0:00 of 1:02:41 + https://www.youtube.com/watch?v=5LRp5j5TDzY + https://github.com/iverhun/pbt-jqwik 2019 https://blogs.oracle.com/javamagazine/know-for-sure-with-property-based-testing https://blog.johanneslink.net/2019/05/11/property-based-driven-development/ diff --git a/pl/kt/features/exception/articles.txt b/pl/kt/features/ex-err-handling/articles.txt similarity index 85% rename from pl/kt/features/exception/articles.txt rename to pl/kt/features/ex-err-handling/articles.txt index 08cea678a..7db090cd0 100644 --- a/pl/kt/features/exception/articles.txt +++ b/pl/kt/features/ex-err-handling/articles.txt @@ -1,3 +1,6 @@ +2023 +https://habr.com/ru/articles/763518/ + !!! Result<,>, runCatching, mapCatching, recoverCatching, recover 2020 https://medium.com/@elizarov/kotlin-and-exceptions-8062f589d07 2019 diff --git a/pl/kt/features/exception/kategory.txt b/pl/kt/features/ex-err-handling/kategory.txt similarity index 100% rename from pl/kt/features/exception/kategory.txt rename to pl/kt/features/ex-err-handling/kategory.txt diff --git a/pl/kt/features/ex-err-handling/result.txt b/pl/kt/features/ex-err-handling/result.txt new file mode 100644 index 000000000..555549252 --- /dev/null +++ b/pl/kt/features/ex-err-handling/result.txt @@ -0,0 +1,5 @@ +https://github.com/JetBrains/kotlin/blob/rrr/2.1.0/core-docs/libraries/stdlib/src/kotlin/util/Result.kt#L141 +https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/run-catching.html + +2024 +https://www.baeldung.com/kotlin/runcatching-vs-try-finally diff --git a/pl/web/js/engines/playwright/playwright.txt b/pl/web/js/engines/playwright/playwright.txt index 03cba1fa9..ecb765e75 100644 --- a/pl/web/js/engines/playwright/playwright.txt +++ b/pl/web/js/engines/playwright/playwright.txt @@ -5,6 +5,10 @@ https://github.com/microsoft/playwright/ https://playwright.dev/docs/intro/ +2023 +VSCode - Playing Your Tests Wright with VS Code 0:00 of 13:39 + https://www.youtube.com/watch?v=ECkMUATC1aA + https://playwright.dev/docs/getting-started-vscode 2021 https://dev.to/azure/001-getting-started-with-playwright-37a1 https://habr.com/ru/post/597293/ diff --git a/science/ds/tree/segment.txt b/science/ds/tree/segment.txt index 074788cb4..2e40f5727 100644 --- a/science/ds/tree/segment.txt +++ b/science/ds/tree/segment.txt @@ -2,6 +2,8 @@ https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D0%BE%D1%82% https://e-maxx.ru/algo/segment_tree http://brestprog.by/topics/segmenttree/ https://wiki.algocode.ru/index.php?title=%D0%94%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D0%BE%D1%82%D1%80%D0%B5%D0%B7%D0%BA%D0%BE%D0%B2 +https://neerc.ifmo.ru/wiki/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0_%D0%B2_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%B5_%D0%BE%D1%82%D1%80%D0%B5%D0%B7%D0%BA%D0%BE%D0%B2_%D1%81%D0%BD%D0%B8%D0%B7%D1%83 +https://neerc.ifmo.ru/wiki/index.php?title=%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0_%D0%B2_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%B5_%D0%BE%D1%82%D1%80%D0%B5%D0%B7%D0%BA%D0%BE%D0%B2_%D1%81%D0%B2%D0%B5%D1%80%D1%85%D1%83 https://raw.githubusercontent.com/9kin/segment_tree/main/conspect.pdf https://sch9.ru/files/lectures/ict/segment-tree-v2.pdf @@ -35,6 +37,9 @@ SergeySlotin - Persistent Segment Tree ru OtusEdu - SegmentTree 0:00 of 55:46 https://www.youtube.com/watch?v=CDLLYa8nAVM 2020 +ACM Ivanovo - Segment Tree/Dynamic + https://www.youtube.com/watch?v=tyq0FWhGAhw + https://www.youtube.com/watch?v=Jh0faj3iHgA OtusOnlineEdu - SegmentTree 0:00 of 1:31:31 https://www.youtube.com/watch?v=99M67y9kLJs MIPT - FPMI - Grishutin - Segment Tree @@ -53,6 +58,8 @@ CSC - Novosib - Segment Tree Seminar https://www.youtube.com/watch?v=hgi3kEcOj58 https://compscicenter.ru/courses/algorithms-1/nsk/2018-autumn/classes/4378/ 2013 +LKSH - Segment Tree + https://sis.khashaev.ru/2013/july/a/ Intuit - Problems on Trees 0:00 of 1:28:13 https://www.youtube.com/watch?v=8v6ylOY4cG0