В этом руководстве подробно описано, как реализовать аутентификацию на основе токенов с помощью Spring Boot, Spring Security, JWT и базы данных MySQL.
https://www.javaguides.net/2023/05/spring-boot-spring-security-jwt-mysql.html
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤3👎3🔥1
Условие: даны две строки, необходимо выяснить являются они идентичными после удаления символов путем использования клавиши backspace (символ #).
Если строка пустая, то backspace оставляет её пустой.
Пример:
Ввод: s = "ab#c", t = "ad#c"
Вывод: true
Объяснение: обе строки после использования удаления символов образуют сроку "ac"
Ввод: s = "ab##", t = "c#d#"
Вывод: true
Ввод: s = "a#c", t = "b"
Вывод: false
📌 Решение задачи
Пишите свое решение в комментариях👇
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥2❤1
#Java #JPA #Hibernate
Совет: show-sql - это самый простой (но не самый лучший!) способ увидеть SQL запрос, сгенерированный
Совет: show-sql - это самый простой (но не самый лучший!) способ увидеть SQL запрос, сгенерированный
Hibernate
. Это вывод можно немного улучшить, включив форматирование, показав JPQL Query,
сгенерировавший запрос и включив подсветку, которая делает выходит запросы в красивом виде.👍27🔥5❤2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29🔥9❤8👎8😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Как устроены языки Java, C++ и Python?
▪️Java сначала компилирует исходный код в байткод, который не зависит от платформы и выполняется виртуальной машиной
▪️Компилируемые языки, такие как C++ и Go, перед выполнением преобразуют исходный код в машинный код с помощью компилятора. Скомпилированный машинный код затем может непосредственно выполняться процессором.
▪️Интерпретируемые языки, такие как Javascript и Ruby, не подвергаются компиляции. Вместо этого их код построчно обрабатывается интерпретатором во время выполнения. Однако современные движки JavaScript, такие как V8, также используют JIT-компиляцию для повышения производительности.
▪️Python представляет собой смесь двух миров. Сначала исходный код компилируется в платформонезависимый байткод, который затем построчно выполняется платформонезависимым интерпретатором. Кроме того, такие реализации, как PyPy, используют
В целом компилируемые языки обладают преимуществами в скорости, однако благодаря современным методам оптимизации грань между компилируемыми и интерпретируемыми языками становится все более размытой.
@javatg
▪️Java сначала компилирует исходный код в байткод, который не зависит от платформы и выполняется виртуальной машиной
Java
(JVM). JVM
может дополнительно повысить производительность, используя компиляцию Just-In-Time
(JIT) для преобразования байткода в машинный код во время выполнения.▪️Компилируемые языки, такие как C++ и Go, перед выполнением преобразуют исходный код в машинный код с помощью компилятора. Скомпилированный машинный код затем может непосредственно выполняться процессором.
▪️Интерпретируемые языки, такие как Javascript и Ruby, не подвергаются компиляции. Вместо этого их код построчно обрабатывается интерпретатором во время выполнения. Однако современные движки JavaScript, такие как V8, также используют JIT-компиляцию для повышения производительности.
▪️Python представляет собой смесь двух миров. Сначала исходный код компилируется в платформонезависимый байткод, который затем построчно выполняется платформонезависимым интерпретатором. Кроме того, такие реализации, как PyPy, используют
JIT-компиляцию
для повышения скорости работы.В целом компилируемые языки обладают преимуществами в скорости, однако благодаря современным методам оптимизации грань между компилируемыми и интерпретируемыми языками становится все более размытой.
@javatg
👍26🔥3❤1
Kotlin для начинающих
. Установка и настройка
1. Переменные. Базовые типы данных. Ввод/вывод
2. Арифметические операции
3. Логический тип данных
4. Оператор ветвления
5. Оператор if как выражение
6. Вложенные операторы if
7. Оператор множественного выбора
8. Операторы циклов. Цикл for
9. Цикл while
#video #kotlin
https://www.youtube.com/watch?v=4nupqVn6w38&list=PLjurg971KpKYw3H24of5vBnTsaZrYMDmL
@javatg
. Установка и настройка
1. Переменные. Базовые типы данных. Ввод/вывод
2. Арифметические операции
3. Логический тип данных
4. Оператор ветвления
5. Оператор if как выражение
6. Вложенные операторы if
7. Оператор множественного выбора
8. Операторы циклов. Цикл for
9. Цикл while
#video #kotlin
https://www.youtube.com/watch?v=4nupqVn6w38&list=PLjurg971KpKYw3H24of5vBnTsaZrYMDmL
@javatg
👍15❤1🔥1🎉1
📢 Вышел релиз Spring Batch Notion 0.1.0-M2!
✨ Главной особенностью этого релиза является поддержка фильтрации через fluent API, которая имитирует опцию фильтрации базы данных в пользовательском интерфейсе Notion.
github.com/scordio/spring-batch-notion/releases/tag/v0.1.0-M2
@javatg
✨ Главной особенностью этого релиза является поддержка фильтрации через fluent API, которая имитирует опцию фильтрации базы данных в пользовательском интерфейсе Notion.
github.com/scordio/spring-batch-notion/releases/tag/v0.1.0-M2
@javatg
👍9❤2🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71❤9🔥6👎4🤯3😱1
⚡Легкий способ получать свежие обновлении и следить за трендами в разработке на вашем языке. Находите свой стек и подписывайтесь:
Машинное обучение: www.tg-me.com/ai_machinelearning_big_data
Go: www.tg-me.com/Golang_google
Базы данных: www.tg-me.com/sqlhub
C++/ www.tg-me.com/cpluspluc
Data Science: www.tg-me.com/data_analysis_ml
Python: www.tg-me.com/pythonl
Хакинг: www.tg-me.com/linuxkalii
Devops: www.tg-me.com/devOPSitsec
C#: www.tg-me.com/csharp_ci
Java: www.tg-me.com/java_library
Linux: www.tg-me.com/+A8jY79rcyKJlYWY6
Мобильная разработка: www.tg-me.com/mobdevelop
Docker: www.tg-me.com/+0WdB4uvOwCY0Mjdi
Rust: www.tg-me.com/rust_code
Javascript: www.tg-me.com/javascriptv
React: www.tg-me.com/react_tg
PHP: www.tg-me.com/phpshka
Android: www.tg-me.com/android_its
Big Data: www.tg-me.com/bigdatai
Тестирование:https://www.tg-me.com/+F9jPLmMFqq1kNTMy
Аналитика данных: https://www.tg-me.com/+mAXY9ppJwitkMDBi
😆ИТ-Мемы: www.tg-me.com/memes_prog
🇬🇧Английский: www.tg-me.com/english_forprogrammers
📕Ит-книги бесплатно: https://www.tg-me.com/addlist/BkskQciUW_FhNjEy
ИИ: www.tg-me.com/vistehno
Книги по искусственному интеллекту
💼 Папка Go разработчика: www.tg-me.com/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: www.tg-me.com/addlist/eEPya-HF6mkxMGIy
Папка ML: https://www.tg-me.com/addlist/2Ls-snqEeytkMDgy
Папка Java разработчика: https://www.tg-me.com/addlist/ZM3J6oFNAnRlNWU6
Папка с вакансиями: www.tg-me.com/addlist/_zyy_jQ_QUsyM2Vi
Машинное обучение: www.tg-me.com/ai_machinelearning_big_data
Go: www.tg-me.com/Golang_google
Базы данных: www.tg-me.com/sqlhub
C++/ www.tg-me.com/cpluspluc
Data Science: www.tg-me.com/data_analysis_ml
Python: www.tg-me.com/pythonl
Хакинг: www.tg-me.com/linuxkalii
Devops: www.tg-me.com/devOPSitsec
C#: www.tg-me.com/csharp_ci
Java: www.tg-me.com/java_library
Linux: www.tg-me.com/+A8jY79rcyKJlYWY6
Мобильная разработка: www.tg-me.com/mobdevelop
Docker: www.tg-me.com/+0WdB4uvOwCY0Mjdi
Rust: www.tg-me.com/rust_code
Javascript: www.tg-me.com/javascriptv
React: www.tg-me.com/react_tg
PHP: www.tg-me.com/phpshka
Android: www.tg-me.com/android_its
Big Data: www.tg-me.com/bigdatai
Тестирование:https://www.tg-me.com/+F9jPLmMFqq1kNTMy
Аналитика данных: https://www.tg-me.com/+mAXY9ppJwitkMDBi
😆ИТ-Мемы: www.tg-me.com/memes_prog
🇬🇧Английский: www.tg-me.com/english_forprogrammers
📕Ит-книги бесплатно: https://www.tg-me.com/addlist/BkskQciUW_FhNjEy
ИИ: www.tg-me.com/vistehno
Книги по искусственному интеллекту
💼 Папка Go разработчика: www.tg-me.com/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: www.tg-me.com/addlist/eEPya-HF6mkxMGIy
Папка ML: https://www.tg-me.com/addlist/2Ls-snqEeytkMDgy
Папка Java разработчика: https://www.tg-me.com/addlist/ZM3J6oFNAnRlNWU6
Папка с вакансиями: www.tg-me.com/addlist/_zyy_jQ_QUsyM2Vi
👍8
Timefold Solver - ИИ-решатель с открытым исходным кодом для оптимизации операций и составления расписаний
👉 https://github.com/TimefoldAI/timefold-solver
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Spring Initializr
Initializr generates spring boot project with just what you need to start quickly!
👍7❤1🔥1
🔥 Дайджест полезных материалов из мира Java за неделю
Почитать:
— Пишем минимальный ActivityPub-сервер с нуля
— Цикл постов про Keycloak. Часть вторая: Контроль доступа на уровне приложения
— Ускоряем запуск Spring Boot-приложений в контейнере
— Midjourney, DALL-E 3 и GPT-4 открыли мир безграничных возможностей.
— Эта неделя в мире Java (3 ноября)
— Трейсы в Spring Boot 3 с использованием Zipkin и Kafka в качестве транспорта
— Создание сервиса авторизации через систему ЕСИА
— Жук, нумерология, хеш или ничо? Оптимизация работы с путями
— На что способен КриптоПро JCP? Туториал по валидации отсоединенной электронной подписи
— Байт-код — это просто! Как сделать DI по-настоящему быстрым
— Жилье в 500м от сетевых продуктовых магазинов в Москве. Или как публикация на Лента.ру избегает Хабр и дезинформирует
— 11 Common Questions about Java and Spring Fundamentals (Part 2)
— My Intellij IDEA plugin for Maven support - GMaven
— Migrating an Springboot Java API: Part 2 - Azure Build
— Implementation of LinkedList
— Class loaders in JVM: An Overview
— Datafaker 2.0
— Step Builder Pattern to Enforce Client code to Provide data.
— Migrating an Springboot Java API: Part 1 - Docker
— Maximizando Eficiência e Tolerância a Falhas: Estratégias de Paralelismo e Divisão de Responsabilidades em Sistemas Complexos
— Dependency Inversion Principle (DIP)
Посмотреть:
🌐 Better Java Streams with Gatherers - Inside Java Newscast #57 (⏱ 08:56)
🌐 What is a race condition? - Cracking the Java Coding Interview (⏱ 01:00)
🌐 How can you check is a class is an extension of another? - Cracking the Java Coding Interview (⏱ 00:50)
🌐 Как в IT заработать больше денег? (⏱ 00:23)
Хорошего дня!
@javatg
Почитать:
— Пишем минимальный ActivityPub-сервер с нуля
— Цикл постов про Keycloak. Часть вторая: Контроль доступа на уровне приложения
— Ускоряем запуск Spring Boot-приложений в контейнере
— Midjourney, DALL-E 3 и GPT-4 открыли мир безграничных возможностей.
— Эта неделя в мире Java (3 ноября)
— Трейсы в Spring Boot 3 с использованием Zipkin и Kafka в качестве транспорта
— Создание сервиса авторизации через систему ЕСИА
— Жук, нумерология, хеш или ничо? Оптимизация работы с путями
— На что способен КриптоПро JCP? Туториал по валидации отсоединенной электронной подписи
— Байт-код — это просто! Как сделать DI по-настоящему быстрым
— Жилье в 500м от сетевых продуктовых магазинов в Москве. Или как публикация на Лента.ру избегает Хабр и дезинформирует
— 11 Common Questions about Java and Spring Fundamentals (Part 2)
— My Intellij IDEA plugin for Maven support - GMaven
— Migrating an Springboot Java API: Part 2 - Azure Build
— Implementation of LinkedList
— Class loaders in JVM: An Overview
— Datafaker 2.0
— Step Builder Pattern to Enforce Client code to Provide data.
— Migrating an Springboot Java API: Part 1 - Docker
— Maximizando Eficiência e Tolerância a Falhas: Estratégias de Paralelismo e Divisão de Responsabilidades em Sistemas Complexos
— Dependency Inversion Principle (DIP)
Посмотреть:
🌐 Better Java Streams with Gatherers - Inside Java Newscast #57 (⏱ 08:56)
🌐 What is a race condition? - Cracking the Java Coding Interview (⏱ 01:00)
🌐 How can you check is a class is an extension of another? - Cracking the Java Coding Interview (⏱ 00:50)
🌐 Как в IT заработать больше денег? (⏱ 00:23)
Хорошего дня!
@javatg
👍7🔥3❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Вот простая и структурированная дорожная карта Java разработчика с роликами youtube.
1. Основы Java
- Core Java
2. JDBC основы
JDBC
3. SQL
- SQL
4. JSP + Servlet
5.1. Core Spring Framework
5.2. Spring REST & Spring DATA
5.3. Spring Security
6. Hibernate Framework
7. Spring Boot
8. Basic DevOps
8.1. Learn to Use AWS & Deploy Java Apps
8.2. Learn Basic Docker:
8.3. Learn Basic Kubernetes:
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41❤5🔥3🎉1
Глубокое погружение в Java: рефлексия и загрузчик классов.
Парадигмы программирования можно сравнить с территориями. На каждой территории, от императивного до декларативного программирования, установлены строгие законы поведения, диктующие, что можно делать, а что нельзя.
Но чаще всего разработчики оказываются на территории, где приходится осуществлять то, что не одобряется или запрещается. В таких случаях начинается поиск лазеек и способов применения системы для решения насущных задач. Иногда обнаруживаются законы, которые разрешают действия, противоречащие основным принципам системы.
В этой статье я покажу, как две уникальные особенности Java позволяют создать полезные антишаблоны на территории Java.
Территория ООП
Объектно-ориентированное программирование (ООП) является одной из наиболее распространенных моделей программирования.
Рефлексия в Java
Пожалуй, самой популярной особенностью Java является то, что это статически типизированный язык.
📌 Читать статью
@javatg
Парадигмы программирования можно сравнить с территориями. На каждой территории, от императивного до декларативного программирования, установлены строгие законы поведения, диктующие, что можно делать, а что нельзя.
Но чаще всего разработчики оказываются на территории, где приходится осуществлять то, что не одобряется или запрещается. В таких случаях начинается поиск лазеек и способов применения системы для решения насущных задач. Иногда обнаруживаются законы, которые разрешают действия, противоречащие основным принципам системы.
В этой статье я покажу, как две уникальные особенности Java позволяют создать полезные антишаблоны на территории Java.
Территория ООП
Объектно-ориентированное программирование (ООП) является одной из наиболее распространенных моделей программирования.
Рефлексия в Java
Пожалуй, самой популярной особенностью Java является то, что это статически типизированный язык.
📌 Читать статью
@javatg
👍15🔥3❤1
🔥 Дайджест полезных материалов из мира Java за неделю
Почитать:
— Введение в Apache Flink: осваиваем фреймворк на реальных примерах
— Решение задач Yandex Cup 2023 на Java, часть 2
— Решение задач Yandex Cup 2023 на Java
— Helidon 4 вышел, а никто и не заметил
— Гайд по авторизации в Micronaut
— Java Digest #6
— Пишем минимальный ActivityPub-сервер с нуля
— Цикл постов про Keycloak. Часть вторая: Контроль доступа на уровне приложения
— Ускоряем запуск Spring Boot-приложений в контейнере
— Эта неделя в мире Java (3 ноября)
— Migrating an Springboot Java API: Part 3 - AWS ElasticBeanstalk
— Why Kotlin is a Prime Choice for Your Project
— Adding testing for my java project
— SOLIDify Your Foundation: Mastering Software Design with a Deep Dive into SOLID Principles
— Cost Savings Strategies for Backend Developers on AWS with Java Code Optimization
— [Digest] Java, Kotlin, Spring, Cloud, and More - Episode 15
— What is Interface In java and what are the example of java interface in java
— MongoDB Aggregation Pipeline Stages: Using addFields stage with Java
— Announcing AppMap for GitHub - Runtime Code Reviews for Every Pull Request
— A Simple Way to Check if a Word is Palindrome in Java
Посмотреть:
🌐 How can you check is a class is an extension of another? - Cracking the Java Coding Interview (⏱ 00:50)
🌐 Better Java Streams with Gatherers - Inside Java Newscast #57 (⏱ 08:56)
🌐 What is a race condition? - Cracking the Java Coding Interview (⏱ 01:00)
🌐 What is the type ? super T? - Cracking the Java Coding Interview (⏱ 00:58)
🌐 Record Patterns in Java 21 (⏱ 01:23)
🌐 Optimizing your equals() methods with Pattern Matching - JEP Cafe #21 (⏱ 32:56)
🌐 What does static mean? - Cracking the Java Coding Interview (⏱ 01:00)
🌐 Как в IT заработать больше денег? (⏱ 00:23)
🌐 У кого в IT нет проблем с деньгами? — Фил Ранжин (⏱ 00:14)
🌐 Как стать Android-разработчиком и куда расти потом — Евгений Кателла — Как мы попали в IT (⏱ 01:02:25)
🌐 Путь в IT android-разработчика — Евгений Кателла (⏱ 00:31)
Хорошего дня!
@javatg
Почитать:
— Введение в Apache Flink: осваиваем фреймворк на реальных примерах
— Решение задач Yandex Cup 2023 на Java, часть 2
— Решение задач Yandex Cup 2023 на Java
— Helidon 4 вышел, а никто и не заметил
— Гайд по авторизации в Micronaut
— Java Digest #6
— Пишем минимальный ActivityPub-сервер с нуля
— Цикл постов про Keycloak. Часть вторая: Контроль доступа на уровне приложения
— Ускоряем запуск Spring Boot-приложений в контейнере
— Эта неделя в мире Java (3 ноября)
— Migrating an Springboot Java API: Part 3 - AWS ElasticBeanstalk
— Why Kotlin is a Prime Choice for Your Project
— Adding testing for my java project
— SOLIDify Your Foundation: Mastering Software Design with a Deep Dive into SOLID Principles
— Cost Savings Strategies for Backend Developers on AWS with Java Code Optimization
— [Digest] Java, Kotlin, Spring, Cloud, and More - Episode 15
— What is Interface In java and what are the example of java interface in java
— MongoDB Aggregation Pipeline Stages: Using addFields stage with Java
— Announcing AppMap for GitHub - Runtime Code Reviews for Every Pull Request
— A Simple Way to Check if a Word is Palindrome in Java
Посмотреть:
🌐 How can you check is a class is an extension of another? - Cracking the Java Coding Interview (⏱ 00:50)
🌐 Better Java Streams with Gatherers - Inside Java Newscast #57 (⏱ 08:56)
🌐 What is a race condition? - Cracking the Java Coding Interview (⏱ 01:00)
🌐 What is the type ? super T? - Cracking the Java Coding Interview (⏱ 00:58)
🌐 Record Patterns in Java 21 (⏱ 01:23)
🌐 Optimizing your equals() methods with Pattern Matching - JEP Cafe #21 (⏱ 32:56)
🌐 What does static mean? - Cracking the Java Coding Interview (⏱ 01:00)
🌐 Как в IT заработать больше денег? (⏱ 00:23)
🌐 У кого в IT нет проблем с деньгами? — Фил Ранжин (⏱ 00:14)
🌐 Как стать Android-разработчиком и куда расти потом — Евгений Кателла — Как мы попали в IT (⏱ 01:02:25)
🌐 Путь в IT android-разработчика — Евгений Кателла (⏱ 00:31)
Хорошего дня!
@javatg
👍10❤3🔥1
В этой статье вы узнаете, как с помощью Alpine Linux и инструмента jlink создавать Docker-образы для своих Java-приложений.
Мы будем использовать последние базовые образы Java 21, предоставленные
Eclipse Temurin и BellSoft Liberica
. Мы сравним их с Alpaquita Linux, также поставляемой компанией BellSoft. Это сравнение также будет включать оценку защищенности по количеству уязвимостей.
В качестве примера мы возьмем простое приложение
Spring Boot
, открывающее несколько эндпоинтов REST.https://piotrminkowski.com/2023/11/07/slim-docker-images-for-java/
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3🔥1
1. Поиск. Теоретическое описание.
2. Линейный поиск. Реализация на Python и Java.
3. Интерполяционный поиск. Реализация на Python и Java.
4. Позиционная система счисления.
5. Вычисление остатка от деления. Реализация в Python и Java.
6. Арифметические операции. Реализация в языках программирования Java и Python.
7. Бинарный поиск. Реализация на Python и Java.
8. Наибольший общий делитель. Реализация на Python и Java.
9. Сортировка. Теоретическое описание.
10. Сортировка выбором. Реализация на Python и Java.
#video #algorithm
https://www.youtube.com/watch?v=aWy0-bGZk3U&list=PLtNPgSbW9TX7acrQa2LeBAMGxO5WRAVsz
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥4❤1