From 81eea5d72fce80e196214694e65f40a4bbc63fc9 Mon Sep 17 00:00:00 2001 From: ihar_hancharenka Date: Wed, 22 Oct 2025 12:00:55 +0300 Subject: [PATCH] m --- devops/awesome.txt | 4 + devops/virt/hybrid/incus.txt | 3 + .../providers/cheap/tailscale-magicdns.txt | 3 + nontech/art/movies/int/mission-impossible.txt | 2 +- nontech/economy/people/delyagin.txt | 2 + nontech/politics/clubs/kob/kob-minin.txt | 6 +- nontech/politics/clubs/streetoftruth/fvu.txt | 2 +- pl/cross/methodologies/architecture/ddd.txt | 3 +- .../jetbrains/idea/plugins/pl/amplicode.txt | 4 +- security/provider/keycloak/docs/misc1.txt | 80 +++++++++++++++++++ 10 files changed, 103 insertions(+), 6 deletions(-) create mode 100644 net/proto/dns/providers/cheap/tailscale-magicdns.txt create mode 100644 security/provider/keycloak/docs/misc1.txt diff --git a/devops/awesome.txt b/devops/awesome.txt index 38ea91072..060311b78 100644 --- a/devops/awesome.txt +++ b/devops/awesome.txt @@ -8,3 +8,7 @@ https://github.com/bregman-arie/devops-exercises https://github.com/trimstray/test-your-sysadmin-skills https://github.com/Tikam02/DevOps-Guide + +2025 +https://habr.com/ru/articles/848868/ + ! tons of technologies diff --git a/devops/virt/hybrid/incus.txt b/devops/virt/hybrid/incus.txt index 8c6cde776..fd50fbdd3 100644 --- a/devops/virt/hybrid/incus.txt +++ b/devops/virt/hybrid/incus.txt @@ -2,8 +2,11 @@ https://linuxcontainers.org/ https://linuxcontainers.org/incus/ https://zabbly.com/#projects https://github.com/zabbly/incus + https://github.com/lxc/incus +https://linuxcontainers.org/incus/try-it + https://images.linuxcontainers.org/ https://linuxcontainers.org/incus/try-it/ diff --git a/net/proto/dns/providers/cheap/tailscale-magicdns.txt b/net/proto/dns/providers/cheap/tailscale-magicdns.txt new file mode 100644 index 000000000..28a393263 --- /dev/null +++ b/net/proto/dns/providers/cheap/tailscale-magicdns.txt @@ -0,0 +1,3 @@ +https://tailscale.com/kb/1081/magicdns + +https://tailscale.com/pricing diff --git a/nontech/art/movies/int/mission-impossible.txt b/nontech/art/movies/int/mission-impossible.txt index 31d394015..9367d9e9e 100644 --- a/nontech/art/movies/int/mission-impossible.txt +++ b/nontech/art/movies/int/mission-impossible.txt @@ -10,7 +10,7 @@ MacGuffinChannel - Mission Impossible Review 18:00 of 1:18:07 Posledstviya https://kinogo.org/31531-missija-nevypolnima-posledstvija.html 2015 -PlemyaIzgoev 12:00 of 2:11:33 +PlemyaIzgoev 43:00 of 2:11:33 https://vkvideo.ru/video-146431266_456239089 https://kinogo.org/20712-missija-nevypolnima-plemja-izgoev.html 2011 diff --git a/nontech/economy/people/delyagin.txt b/nontech/economy/people/delyagin.txt index 9bf03a73d..598d68b9c 100644 --- a/nontech/economy/people/delyagin.txt +++ b/nontech/economy/people/delyagin.txt @@ -23,6 +23,8 @@ Klyosov - DNA Genealogy of Slavonic YuriyZhukov - Another Stalin 33-37y 2025 +SputnikRadio - Osin - Delyagin - ES Fires RUFoby of 22:11 + https://www.youtube.com/watch?v=P7r2Lfi_xzE Ivanov - Delyagin - What Black Sun of Liberals Wants of 26:40 https://www.youtube.com/watch?v=N-QErPjRV7I SputnikRadio - Kuzmak - Delyagin - Good Business on RU Resources of 21:42 diff --git a/nontech/politics/clubs/kob/kob-minin.txt b/nontech/politics/clubs/kob/kob-minin.txt index 260ee4af3..eee3cded2 100644 --- a/nontech/politics/clubs/kob/kob-minin.txt +++ b/nontech/politics/clubs/kob/kob-minin.txt @@ -166,9 +166,13 @@ RussianDoll - Minin - New Economical and Strategical RU Development 1:00 of 43:3 RussianDoll - Teenage Depression 29:00 of 1:20:43 https://www.youtube.com/watch?v=W5b-Qr6fzgQ 2017 +Seminar - Anapa + https://www.youtube.com/playlist?list=PLflQtqFMbdFOk-Nut0JggXWoN2inKf7uo + 05.25 - Chanings 0:00 of 2:02:04 + https://www.youtube.com/watch?v=W1ONpwEohNc Seminar - Rest House 23.03.2017 of p7 https://www.youtube.com/playlist?list=PLflQtqFMbdFPBQDZNz8GutPFsc8HnLTHO - 23.03.2017 - Newcomers 24:00 of 32:47 + 23.03.2017 - Newcomers of 32:47 https://www.youtube.com/watch?v=UhQLRQ0Iazk ! 22:00 Communism/Capitalis - forget Own Goals ! Olygarh in depression - goals are ended diff --git a/nontech/politics/clubs/streetoftruth/fvu.txt b/nontech/politics/clubs/streetoftruth/fvu.txt index 47d9f3b40..6a4896b08 100644 --- a/nontech/politics/clubs/streetoftruth/fvu.txt +++ b/nontech/politics/clubs/streetoftruth/fvu.txt @@ -1,4 +1,4 @@ -03.02 Gevorgyan - About Language 50:00 of 2:33:59 +03.02 Gevorgyan - About Language 1:10:00 of 2:33:59 ! 2:00 Theorem of Thomas from sociology ! Esli lyudi myslyat chto-to kak realnoe, ono realno po svoim posledstviyam ! ? Otto Wenningen (Sytin) - Jews is women people diff --git a/pl/cross/methodologies/architecture/ddd.txt b/pl/cross/methodologies/architecture/ddd.txt index 93ee1030e..9081ef5f1 100644 --- a/pl/cross/methodologies/architecture/ddd.txt +++ b/pl/cross/methodologies/architecture/ddd.txt @@ -7,9 +7,10 @@ Vlad Konovalov - Learning Domain-Driven Design 7F73B4FDC4241131CD44C7DEE74272B3 2025 -Devoxx - Tactical Domain Driven Design with Java and Spring by Oliver Drotbohm 1:13:00 of 2:42:19 +Devoxx - Oliver Drotbohm - Tactical Domain Driven Design with Java and Spring 1:32:00 of 2:42:19 https://www.youtube.com/watch?v=k3o1nSh3g2Q ! jMoleculus, Spring Modulith + https://www.youtube.com/watch?v=co3acmgP2Ng Devoxx - TDD & DDD From the Ground Up Live Coding by Chris Simon 34:00 of 44:36 https://www.youtube.com/watch?v=eWxOisRMcII Vetchinkin - DDD diff --git a/pl/cross/tools/ide/jetbrains/idea/plugins/pl/amplicode.txt b/pl/cross/tools/ide/jetbrains/idea/plugins/pl/amplicode.txt index 58b82a75c..2cefc5837 100644 --- a/pl/cross/tools/ide/jetbrains/idea/plugins/pl/amplicode.txt +++ b/pl/cross/tools/ide/jetbrains/idea/plugins/pl/amplicode.txt @@ -60,7 +60,7 @@ Amplicode - Local Environments with Docker Compose for Spring Boot 0:00 of 20:30 https://www.youtube.com/watch?v=1NcFdQX08EE https://habr.com/ru/companies/haulmont/articles/836018/ ! with lombok - -2024 Amplicode - WN in AC 2024.2 of 7:38 https://www.youtube.com/watch?v=E6c-ev04R_0 +Amplicode - for Developing Existing SP App 0:00 of 32:09 + https://www.youtube.com/watch?v=epTcLq3qsA0 diff --git a/security/provider/keycloak/docs/misc1.txt b/security/provider/keycloak/docs/misc1.txt new file mode 100644 index 000000000..053bf63d6 --- /dev/null +++ b/security/provider/keycloak/docs/misc1.txt @@ -0,0 +1,80 @@ +Keycloak — это современный open-source Identity Provider от Red Hat, который часто используется в enterprise-проектах для SSO (Single Sign-On), OAuth2 и OpenID Connect. +Ниже — пошаговая настройка интеграции Keycloak с Spring Boot 3 и Spring Security 6. + +1. Зависимости + +Проверьте, что в проекте есть или добавьте следующие зависимости: + +— Spring Web +— Spring Security +— OAuth2 Resource Server +— OAuth2 Client + +2. Разворачиваем Keycloak + +Запустите Keycloak через Docker: +docker run -d \ + -p 8080:8080 \ + -e KEYCLOAK_ADMIN=admin \ + -e KEYCLOAK_ADMIN_PASSWORD=admin \ + quay.io/keycloak/keycloak:25.0.2 start-dev + +После запуска откройте http://localhost:8080, войдите под admin/admin и создайте realm, например demo-realm. + +3. Настройка клиента в Keycloak + +В разделе Clients → Create client укажите: + +— Client ID: spring-client +— Client Protocol: openid-connect +— Root URL: http://localhost:8081 + +В разделе Settings: + +— Установите Access Type → confidential +— Включите Standard Flow Enabled +— Укажите Redirect URI: http://localhost:8081/login/oauth2/code/keycloak + +Сохраните и перейдите на вкладку Credentials — скопируйте Client Secret. + +4. Настройка application.yml + +server: + port: 8081 + +spring: + security: + oauth2: + client: + registration: + keycloak: + client-id: spring-client + client-secret: YOUR_CLIENT_SECRET + scope: openid, profile, email + redirect-uri: "{baseUrl}/login/oauth2/code/{registrationId}" + provider: + keycloak: + issuer-uri: http://localhost:8080/realms/demo-realm + +5. Конфигурация безопасности + +Настройте SecurityConfig.java: + +@Configuration +public class SecurityConfig { + + @Bean + public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { + http + .authorizeHttpRequests(auth -> auth + .requestMatchers("/", "/public").permitAll() + .anyRequest().authenticated() + ) + .oauth2Login(Customizer.withDefaults()) + .logout(logout -> logout + .logoutSuccessUrl("/") + .invalidateHttpSession(true) + ); + return http.build(); + } +}