10986
📚 Лайфхаки, приёмы и лучшие практики для Java-разработчиков. Всё, что ускорит код и прокачает навыки. Java, Spring, Maven, Hibernate. По всем вопросам @evgenycarter РКН clck.ru/3KoGeP
❓ Как работать с событиями в Spring Data JPA?
Обсудим 10 мая в 20:00 на открытом уроке «События в Spring Data JPA» в OTUS. Вебинар приурочен к старту онлайн-курса «Разработчик на Spring Framework» в OTUS.
🟠На вебинаре затронем такую важную тему, как работа с событиями, генерируемыми при взаимодействии с JPA сущностями.
🟠Занятие проведет Александр Оруджев, Senior Software Engineer и преподаватель в OTUS.
Не упустите возможность начать осваивать современные возможности Spring и научиться работать с событиями в Spring Data JPA. Продолжить обучение вы сможете на уже курсе. Возможны разные способы оплаты курса.
➡️ Пройдите вступительный тест для регистрации на вебинар: https://otus.pw/ilwr/ Нативная интеграция. Информация о продукте www.otus.ru
Spring-потрошитель: жизненный цикл Spring Framework
Ни для кого не секрет, что Spring Framework один из самых популярных фреймворков для приложений на языке Java. Он интегрировал в себя самые полезные и актуальные технологии, такие как i18n, JPA, MVC, JMS, Cloud и т.п.
Но насколько хорошо вы знакомы с жизненным циклом фреймворка? Наверняка вы сталкивались с проблемами поднятия контекста и освобождением ресурсов при его остановке, когда проект разрастается. Сегодня я попытаюсь наглядно показать вам это.
https://habr.com/ru/articles/720794/
👉@BookJava
🔥 Пройди тест по Spring и проверь свои знания.
Ответишь — пройдешь на продвинутый курс "Разработчик на Spring Framework" от OTUS по специальной цене + получишь доступ к записям открытых уроков курса курса🎁 .
👉 ПРОЙТИ ТЕСТ: https://otus.pw/6Re6/Нативная интеграция. Информация о продукте www.otus.ru
Многие разработчики Java часто упускают из виду возможности функционального программирования. Узнайте, как использовать цепочки Optional и Either для написания лаконичного и красивого кода.
https://dzone.com/articles/the-beauty-of-java-optional-and-either
👉@BookJava
🔥Новые знания — новые перспективы. Если вы хотите расти как Java-разработчик, расширять компетенции — это необходимость.
Проще всего это делать под наставничеством Senior Java-разрабтчиков на онлайн-курсе «Java Developer. Professional» в OTUS.
🎯 6 месяцев вы будете учиться разрабатывать современные коммерческие приложения самостоятельно и в команде. В конце вас ждет выпускной проект, который усилит ваше портфолио. После обучения вы сможете профессионально разрабатывать серверные приложения и решать задачи уровня Middle.
📆 Старт занятий 25 апреля. Действует рассрочка на курс.
👉 Пройдите вступительный тест, чтобы успеть записаться в группу по спец.цене: https://otus.pw/2DHn/ Нативная интеграция. Информация о продукте www.otus.ru
Java spring cache: основы кэширования за 16 минут
00:00 - Определение кэширования
00:25 - Пишем код примера
02:35 - Включаю кэширование, аннотации EnableCaching Cacheable
03:11 - Пример несогласованности данных
05:07 - Обновляю кэш, аннотация CachePut
06:39 - Очищаю кэш, аннотация CacheEvict
08:08 - Пример с использованием аргумента в кэшируемом методе
11:00 - Полное очищение кеша, CacheEvict (allEntries = true)
11:34 - Объявляю название кэша на все методы класса, аннотация CacheConfig
12:05 - Использую CacheManager напрямую
13:28 - Показываю класс Cache в дебаггере
14:35 - Как выглядят ключи в кэше (SimpleKey)
15:55 - Настраиваю ключ
источник
👉@BookJava
Два SpringBoot проекта за час: Web и Reactive
Пишем сервис коротких ссылок 2 раза.
В обычном исполнении и в reactive.
База данных - Redis.
00:00 Задача
02:06 Spring Initialzr
03:27 AnotherRedisClient
04:22 IntelliJ IDEA Spring Web
06:05 Общий и не общий код
06:24 Queue
10:29 Class для хранения в BD
11:47 RedisConfiguration
15:09 Service работы со ссылками
20:54 Job имитация активности
25:19 SpringWeb - Готов
25:51 @ RestController
29:09 IntelliJ IDEA Reactive Web
30:01 LinksService interface
32:19 LinkServiceReactive #1
32:41 RedisConfiguration Reactive
37:35 LinksServiceReactive #2
40:30 Job Reactive
46:00 Важный фальстарт
48:08 Reactive Rest Controller
50:19 ShellScript
57:18 Bash Test
1:00:34 Мега вывод)
источник
👉@BookJava
💪 Пройди тест по Java и проверь свои знания.
Ответишь — пройдешь на продвинутый курс "Java Developer. Professional" от OTUS по специальной цене + получишь запись мастер-класса от преподавателя курса🎁 .
✍️ ПРОЙТИ ТЕСТ: https://otus.pw/VlGLx/
Нативная интеграция. Информация о продукте www.otus.ru
Spring Boot. Настройка профилирования времени выполнения
В процессе работы над одной из задач возникла необходимость промониторить время исполнения отдельных участков кода одного из микросервисов для того, чтобы отловить узкие места и попытаться эту ситуацию исправить.
Т.к. речь шла о сервисе, который был написан довольно давно, и в него многие месяцы не вносились изменения, повинуясь принципу “работает - не трогай”, я решил постараться сделать это, не прикасаясь к самому коду сервиса.
https://habr.com/ru/companies/alfastrah/articles/717114/
👉@BookJava
Как стать Java разработчиком в 35+
Всем привет! Хочу написать свою первую статью о моём пути из менеджера по продажам / руководителя департамента одного из крупных банков / индивидуального предпринимателя в разработчики, который длился без немногого 2 года. Я постараюсь предоставить некоторые советы и рекомендации тем, кто в начале или середине пути в освоении разработки. Искренне надеюсь, что эта статья будет полезна тем, кто сейчас изучает Java или только планирует заняться ее изучением.
Опущу ту часть истории, что послужила волшебным пинком для начала обучения, скажу лишь, что выбор стека технологий пал на Java, даже уже не помню почему, видимо повелся на логотип, чашка ароматного кофе натолкнула меня на фантазии, что я буду программировать, попивая ароматный кофе. Но, как оказалось, в дальнейшем, кофе пил не я, а именно Java, пока я пытался ее освоить.
https://habr.com/ru/articles/568310/
👉@BookJava
Асинхронность в Java
Асинхронное программирование — обширная и получившая широкое обсуждение тема, но инженеры-программисты все еще ищут, как лучше реализовать эту идею и интегрировать в приложения.
https://medium.com/cognizantsoftvision-guildhall/async-in-java-80a7240fefa8
👉@BookJava
Шифрование и расшифровка файла с помощью Java
В области криптографии шифрование - это процесс превращения открытого текста или информации в шифротекст, или текст, который может быть расшифрован только предполагаемым получателем.
https://bookflow.ru/shifrovanie-i-rasshifrovka-fajla-s-pomoshhyu-java/
👉@BookJava
Компилирование и исполнение Java-кода в Runtime
Сегодня я хотел бы поговорить про динамическое компилирование и исполнение Java-кода, подобно скриптовым языкам программирования. В этой статье вы найдете пошаговое руководство как скомпилировать Java в Bytecode и загрузить новые классы в ClassLoader на лету.
https://habr.com/ru/articles/688462/
👉@BookJava
Приведите примеры структурных шаблонов проектирования.
Адаптер (Adapter) — объект, обеспечивающий взаимодействие двух других объектов, один из которых использует, а другой предоставляет несовместимый с первым интерфейс.
Мост (Bridge) — структура, позволяющая изменять интерфейс обращения и интерфейс реализации класса независимо.
Компоновщик (Composite) — объект, который объединяет в себе объекты, подобные ему самому.
Декоратор (Decorator) — класс, расширяющий функциональность другого класса без использования наследования.
Фасад (Facade) — объект, который абстрагирует работу с несколькими классами, объединяя их в единое целое.
Приспособленец (Flyweight) — это объект, представляющий себя как уникальный экземпляр в разных местах программы, но по факту не являющийся таковым.
Заместитель (Proxy) — объект, который является посредником между двумя другими объектами, и который реализует/ограничивает доступ к объекту, к которому обращаются через него.
👉@BookJava
JAVA SPRING JDBC: CRUD БЕЗ ORM
Не во всех случаях стоит использовать ORM. Если вам нужен полный контроль или вы используете простые сущности, то возможно вам стоит присмотреться к Spring Jdbc.
Подготовил в этом видео материал с минимальным количеством кода и всяких настроек, которыми кишат остальные видеоуроки.
Раскрываю, почему лучше использовать NamedParameterJdbcTemplate, а не JdbcTemplate.
https://github.com/dispikerton/jdbc
источник
👉@BookJava
Диспетчерская на базе Spring и Kafka. Полный курс.
Разворачиваем кафка на Docker, слушаем, публикуем и обрабтываем сообщения с помощью Spring.
В качестве обертки - делаем проект для распределения маршрутов самолтеов.
GitHub: https://github.com/azim-ut/youtube_kafka_jet
источник
👉@BookJava
Spring Security, Формы регистрации и аутентицикации.
04:00 Spring Initializr
06:24 Доп. боблиотеки
09:09 AUTH: Properties
12:17 UserDetails
16:46 UserRepository
17:45 AppUserDetailsService
19:30 AppUser + Annotations
38:33 JwtTokenFilter
44:46 WebSecurityConfig
49:54 Список фильтров
51:20 Auth: Bean package
58:39 RegistrationService
58:39 RegistrationService
1:00:07 Auth: signUpUser
1:03:37 PasswordEncoder
1:08:00 AuthController
1:20:11 LoginService
1:21:48 ProviderManager
1:27:25 Logn: проверка пароля
1:30:01 AuthenticationException
1:31:05 Что вернет Authentication?
1:37:19 Auth: Start
1:37:58 Properties debug
1:38:23 authenticationManagerBean
1:40:08 Client проект
1:40:23 Client properties.yaml
1:42:04 Client: JwtSettingsProvider
1:43:49 Client: CurrentUser
1:44:00 Clients: CurrentUserProvider
1:46:36 Client: AccessFilter
1:56:01 Auth: api/v1/auth/current
1:58:11 Auth: api/v1/auth/logout
1:59:50 Client: api/v1/client/access
2:02:09 UI: NuxtJS
2:02:16 UI: Axios Proxy
2:03:40 UI: Vuex
2:07:36 UI: HTML + формы
2:14:45 Csrf ON
2:15:08 Auth: NPE fix
2:16:12 Запуск и проверка
2:18:05 Csrf проблемка
2:20:27 Спасибо!
GitHub: https://github.com/azim-ut/spring_auth
источник
👉@BookJava
Версионная миграция данных в мире DTO
В этой публикации я хотел бы показать несколько известных мне подходов к версионной миграции данных в контексте DTO. Примеры будут продемонстрированы на языке Java.
https://habr.com/ru/articles/720478/
👉@BookJava
SpringBoot + WebSocket Fullstack. Мелим муку - многопоточность Java
00:00 Описание проекта
03:31 Spring Initialzr
04:04 Директория проекта
04:36 Intellij Idea
04:44 GSON
05:33 NodeJS download
06:07 NuxtJS
08:25 Импорт UI модуля
08:53 Запускаем UI
09:22 Базовая верстка
14:24 Скачаем картинки
16:07 ProgressBar
18:56 Backend
19:25 Engine Двигатель
20:48 Цех Machine
21:23 Ресурсы мельницы
22:23 Мельница
22:56 Водяное колесо
28:11 Цех: Жернова
34:04 Мельница - Конструктор
35:35 MillState
37:02 Мельница - MillState
38:15 Наполняем MillState
39:51 MillController
42:00 MillService
47:04 Java WebSocket
50:31 Vuex
54:53 Используем Vuex в UI
56:59 Axios Proxy
59:53 WebSocket UI
01:04:07 Анимируем UI
01:10:52 Благодарность
Исходники: https://github.com/azim-ut/mill_java
источник
👉@BookJava
Графический интерфейс для bash, делаем работу в командной строке удобнее
Когда пишешь код в IntelliJ IDEA, привыкаешь что везде есть подсказки, везде где можно работает комплишен, всегда можно одним кликом перейти на декларацию метода или на его юсаджи. После этого интерфейс командной строки выглядит как-то бедно. Конечно, он очень хорошо продуман, сделан настолько удобным, насколько это возможно в текстовом UI, но в графическом UI возможностей намного больше. Представляю вам плагин для JetBrains IDE, позволяющий работать в командной строке cо всеми удобствами IDE.
https://habr.com/ru/articles/715824/
👉@BookJava
🔥 Хотите создавать высококлассные приложения на Java? Осваивайте Spring!
Начините изучать этот мощный фреймворк уже этой весной!
📢📢 25 апреля в 20:00 приходите на открытый урок «Свойства Spring-приложения».
На встрече разберем, каким образом можно определять настройки приложения на чистом Spring, а также затронем тему конвертации типов.
Спикером выступит преподаватель Александр Оруджев, Senior Software Engineer.
🟠Вебинар состоится в рамках запусках онлайн-курса «Разработчик на Spring Framework» в OTUS. Сейчас курс доступен в рассрочку.
➡️Для участия пройдите вступительный тест: https://otus.pw/aigq/ Нативная интеграция. Информация о продукте www.otus.ru
Пишем RestApi на SpringBoot Java + MySQL
Spring Initializr 00:00
IntellijIdea 01:34
GetMapping 04:28
Class 06:09
API Layer 08:47
PostMapping 11:20
Подключаем MySQL 13:46
Configuration 19:41
Extra Fields 21:57
DeleteMapping 23:22
PutMapping 26:37
Почти готово 31:42
Обработка исключений 31:59
Унифицируем Response 39:56
источник
👉@BookJava
Java Mics
Java Optional — попытка избежать NullPoinerException.
Java interfaces — default & static methods.
Java modules — с какой стороны подойти к ним?
Java switch expression — отличия от switch statement.
Java Records — общий взгляд на использование.
источник
👉@BookJava
Подборка Telegram каналов для программистов
Системное администрирование 📌
/channel/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
/channel/sysadminof Книги для админов, полезные материалы
/channel/i_odmin Все для системного администратора
/channel/i_odmin_book Библиотека Системного Администратора
/channel/i_odmin_chat Чат системных администраторов
/channel/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
/channel/sysadminoff Новости Линукс Linux
/channel/tikon_1 Новости высоких технологий, науки и техники💡
/channel/mir_teh Мир технологий (Technology World)
/channel/rust_lib Полезный контент по программированию на Rust
/channel/golang_lib Библиотека Go (Golang) разработчика
/channel/itmozg Программисты, дизайнеры, новости из мира IT.
/channel/phis_mat Обучающие видео, книги по Физике и Математике
/channel/php_lib Библиотека PHP программиста 👨🏼💻👩💻
/channel/nodejs_lib Подборки по Node js и все что с ним связано
/channel/ruby_lib Библиотека Ruby программиста
1C разработка 📌
/channel/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
/channel/cpp_lib Библиотека C/C++ разработчика
/channel/cpp_knigi Книги для программистов C/C++
/channel/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
/channel/pythonofff Python академия. Учи Python быстро и легко🐍
/channel/BookPython Библиотека Python разработчика
/channel/python_real Python подборки на русском и английском
/channel/python_360 Книги по Python Rus
Java разработка 📌
/channel/BookJava Библиотека Java разработчика
/channel/java_360 Книги по Java Rus
/channel/java_geek Учим Java на примерах
GitHub Сообщество 📌
/channel/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
/channel/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
/channel/developer_mobila Мобильная разработка
/channel/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
/channel/frontend_1 Подборки для frontend разработчиков
/channel/frontend_sovet Frontend советы, примеры и практика!
/channel/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
/channel/game_devv Все о разработке игр
Вакансии 📌
/channel/sysadmin_rabota Системный Администратор
/channel/progjob Вакансии в IT
Чат программистов📌
/channel/developers_ru
Библиотеки 📌
/channel/book_for_dev Книги для программистов Rus
/channel/programmist_of Книги по программированию
/channel/proglb Библиотека программиста
/channel/bfbook Книги для программистов
/channel/books_reserv Книги для программистов
БигДата, машинное обучение 📌
/channel/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
/channel/bookflow Лекции, видеоуроки, доклады с IT конференций
/channel/coddy_academy Полезные советы по программированию
QA, тестирование 📌
/channel/testlab_qa Библиотека тестировщика
Шутки программистов 📌
/channel/itumor Шутки программистов
Защита, взлом, безопасность 📌
/channel/thehaking Канал о кибербезопасности
/channel/xakep_1 Статьи из "Хакера"
Книги, статьи для дизайнеров 📌
/channel/ux_web Статьи, книги для дизайнеров
Английский 📌
/channel/UchuEnglish Английский с нуля
Математика 📌
/channel/Pomatematike Канал по математике
Excel лайфхак📌
/channel/Excel_lifehack
Java. Основы работы с базами данных
- Рассмотрим основы работы Java c базой данных MS SQL.
- Познакомимся с библиотекой JDBC. Научимся использовать несколько базовых транзакций MS SQL.
- Научимся создавать простое приложение для работы с базами данных, используя Java.
👉@BookJava
🤖 Пройди тест по Java
👩💻 Проверь свои знания. Сможешь сдать — пройдёшь на продвинутый курс "Java Developer. Professional" от OTUS по специальной цене.
За 6 месяцев обучения вы:
- Научитесь создавать современные java-приложения
- Поймете основы функционирования JVM (сборка мусора, byteCode)
- Освоите приемы применения многопоточности
- Напишите выпускной проект на любую тему под наставничеством преподавателя
🎫Курс можно приобрести в рассрочку
👉 ПРОЙТИ ТЕСТ: https://otus.pw/xnnu/ Реклама. Информация о рекламодателе на сайте otus.ru
Стартануть в IT быстро и эффективно — подготовительный курс по Java-разработке.
Всего 990 ₽ и ваше жгучее желание начать. Приходите с любым бэкграундом: нам не важны возраст, пол, образование и текущая профессия.
🗓 Начинаем 18 апреля!
Даем: 62 урока с практикой в браузере, 3 онлайн вебинара и 1 сессию лайвкодинга с практикующим разработчиком.
Получаем: крепкие знания базы языка, умение понимать код и первую программу на Java, написанную вместе с наставником.
🔜 Запишитесь прямо сейчас!
👨💻4 способа прокачать свою карьеру в разработке, аналитике, менеджменте и попасть в Яндекс
1️⃣Летние школы Академии Яндекса
Для тех, у кого уже есть опыт в разработке. До 27 апреля продолжается набор в Школу бэкенд-разработки (Python, Java, C++, Go). Обучение бесплатное. Иногородним Яндекс оплатит билеты и проживание на период практики в офисах компании в Москве, Алматы и Белграде. Лучшим студентам — офер в штат Яндекса.
2️⃣Открытый лекторий Академии Яндекса
Если нет времени на Школы, регистрируйтесь на бесплатный Открытый лекторий. Это часть программы Летних школ — 120 лекций по soft skills, бэкенд-, фронтенд- и мобильной разработке, аналитике и продакт-менеджменту.
3️⃣Стажировки по бэкенд-, фронтенд- и мобильной разработке, аналитике и ML
Получите опыт работы над продуктами Яндекса, которыми пользуются миллионы. Подайте заявку на оплачиваемую стажировку (от 3 до 6 месяцев). Иногородним стажёрам Яндекс оплачивает проживание и билеты.
4️⃣Intern Meetup Week и пробные собеседования
Всё про стажировки, общение с разработчиками и экспертами Яндекса, пробное собеседование. Регистрируйтесь на Intern Meetup Week до 12 апреля! Митап пройдет в онлайне и офлайне c 17 по 20 апреля.
Как спроектировать архитектуру нагруженного twitter-like приложения? Разберемся 🗓 14 апреля в 20:00 на открытом уроке вместе с Андреем Поляковым, старшим разработчиком в Unlimint.
На открытом уроке мы:
- спроектируем типовую архитектуру нагруженного twitter-like приложения,
- определим пользовательские сценарии и узкие места прототипа,
- обсудим один из самых популярных вопросов на system design interview.
👉 Чтобы записаться на урок, пройдите вступительное тестирование — https://otus.pw/hNlJ/
Занятие является бесплатной пробной частью онлайн-курса «Highload Architect». Оплата курса возможна в рассрочку.
Реклама. Информация о рекламодателе на сайте www.otus.ru.
Тинькофф бросает вызов ИТ-специалистам.
15 апреля стартует IT's Tinkoff Solution Cup — соревнование для мидлов и сеньоров. Будут сложные задачи и призы победителям.
Регистрируйтесь, проходите отборочный тур и побеждайте в финале 22 апреля. Детали тут: https://bit.ly/3KfwKBk
Реклама. АО Тинькофф Банк