Библиотека Java разработчика
Open in Telegram
📚 Лайфхаки, приёмы и лучшие практики для Java-разработчиков. Всё, что ускорит код и прокачает навыки. Java, Spring, Maven, Hibernate. По всем вопросам @evgenycarter РКН clck.ru/3KoGeP
Show more9 988
Subscribers
+124 hours
-157 days
-5730 days
Posts Archive
Можно ли подружить Stream API и JPA?
В этой статье я хотел бы познакомить сообщество с библиотекой JPAstreamer. Идея этой библиотеки очень проста, но в то же время гениальна - получать нужные нам сущности из бд так, как если бы мы просто обрабатывали поток сущностей в стриме.
👉@BookJava
Рано или поздно специалист хочет начать преподавать
🚀 19 октября 18:00, наши друзья из OTUS, приглашают вас на бесплатную масштабную образовательную онлайн-конференцию для IT-специалистов, которые хотят делиться своей экспертизой.
Join OTUS Conf — это онлайн-конференция для IT-специалистов, которые уже преподают или только присматриваются к преподаванию
Вы узнаете:
✤ Почему OTUS — это Uber для тех, кто хочет заниматься преподаванием
✤ Чем live занятия лучше, чем записанное видео
✤ Как организован онбординг OTUS и какую атмосферу мы создали для IT-экспертов
💡На конференции будет несколько спикеров (Yum! Brands, 1С-Старт и др.), которые поделятся своим опытом и фишками.
👉Регистрируйтесь по ссылке и приглашайте коллег!
Repost from Java Geek
Какая проблема возникнет с этим кодом?
Ответ: Данный код не с компилируется.
Этот вопрос на знание иерархии исключений, в данном случае FileNotFoundException унаследован от IOException, первый catch будет перехватывать все исключения и в следующий блок catch управление не будет передано.
@java_geek
🎥 JEP Café
Java Asynchronous Programming Full Tutorial with Loom and Structured Concurrency #13
Launching 10 millions virtual threads with Loom #12
Java 19 Virtual Threads #11
Leverage Java 17 New Features to Create Your Wordle Checker #10
Refactoring Java 8 code with Java 17 new features #9
Records Patterns, Performance and Serialization #8
String Concatenation #7
Factory Methods for Collections #6
Text Blocks #5
The Packaging Tool aka
jpackage #4
Switch Expressions #3
Sealed Classes #2
What is a JEP? #1
Все видео доступны на youtube
👉@BookJavaНаучитесь правильно использовать DevOps-инструменты
13–15 октября в Слёрм пройдет практический курс «DevOps Tools для разработчиков». И вот, что нужно знать о нём:
🔹 Это три дня, насыщенные теорией и практикой. Занятия будут проходить с 10 до 18 часов по мск. Вы посмотрите презентации спикеров и демонстрацию практики, зададите вопросы и оперативно получите ответы на них.
🔹 Это новый формат. Вы сможете выполнять задания в удобном ритме, не привязываясь к жестким временным рамкам. Стенды доступны в течение двух лет.
🔹 Это практическая польза. Вы поймёте устройство интеграций и сможете применять знания на любом языке программирования.
Учебная программа интенсива построена вокруг нескольких сервисов приложения. Мы вместе пронесём его через все интеграции до успешного деплоя и разберём best practice.
Кто спикеры
На интенсиве будут два спикера — Владислав Килин, техлид, и Кирилл Борисов, Infrastructure Engineer технологического центра Deutsche Bank. Влад из разработки, Кирилл из администрирования 😎
Спикеры объяснят, почему разработчику важно уметь использовать DevOps-инструменты, поделятся личными кейсами и лайфхаками.
Посмотреть подробную программу и записаться 👉 https://slurm.club/3edriTM
Настраиваем память JVM-приложения в Kubernetes
Друзья, всем привет! Как известно, в Kubernetes у каждого pod’а есть ограничение на использование памяти (limits.memory), и, как показывает опыт, далеко не всегда очевидно, как JVM-приложение интерпретирует эту настройку, что порой может приводить к OOMKill.
Я хотел бы поделиться одним из способов настройки памяти для Java-приложений в Kubernetes. Сразу скажу, что итоговые настройки, к которым мы придём, будут приведены лишь в качестве примера и должны настраиваться индивидуально под каждое приложение. Рассматривать будем настройки и метрики обычного микросервиса на Spring boot, интегрированного со Spring Boot Admin (далее просто SBA).
👉@BookJava
В каком случае может быть потерян элемент в HashMap?
Допустим, в качестве ключа используется не примитив, а объект с несколькими полями. После добавления элемента в HashMap у объекта, который выступает в качестве ключа, изменяют одно поле, которое участвует в вычислении хэш-кода. В результате при попытке найти данный элемент по исходному ключу, будет происходить обращение к правильной корзине, а вот
equals уже не найдет указанный ключ в списке элементов. Тем не менее, даже если equals реализован таким образом, что изменение данного поля объекта не влияет на результат, то после увеличения размера корзин и пересчета хэш-кодов элементов, указанный элемент, с измененным значением поля, с большой долей вероятности попадет в совершенно другую корзину и тогда уже потеряется совсем.
👉@BookJavaПодборка Telegram каналов для программистов🔥
Сохраняйте, чтоб не потерять.
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT.
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике
https://t.me/xakep_1 Статьи из "Хакера"
https://t.me/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста
1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
CodePen 📌
https://t.me/codepen_1 Сообщество пользователей CodePen
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
Чат программистов📌
https://t.me/developers_ru
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
https://t.me/arhitekturamira World Architecture
Системное администрирование 📌
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
Арбитраж трафика 📌
https://t.me/partnerochkin CPA и арбитраж трафика
Крипта 📌
https://t.me/bitkoinoff Новости криптовалют
Метавселенная, GameFi, Crypto 📌
https://t.me/metaverse360
DeepFake 📌
https://t.me/deepfakenow Публикуем deepfake видео
Мир технологий 📌
https://t.me/mir_teh Видео из мира технологий
Excel лайфхак📌
https://t.me/Excel_lifehack
Генерация PDF-документов на основе шаблонов в Java
https://dzone.com/articles/template-based-pdf-document-generation-in-java
👉@BookJava
Стоит ли учить Java в 2022 году? Так ли хорош Java в качестве первого языка для изучения программирования? Какие карьерные перспективы ждут Java-разработчиков?
11 октября в 19.00 по мск образовательная платформа Хекслет приглашает всех, кто делает первые шаги в Java или только задумывается о профессии, на бесплатный карьерный мастер-класс!
Поговорим о сфере применения языка и задачах, которые предстоит решать. Порассуждаем, где учиться и почему не всем нужна «вышка» в IT.
Расскажем о специфике программы по Java-разработке в Хекслете. Затронем тему поиска первой работы.
Дадим лайфхаки от студентов — как собрать портфолио, не имея опыта коммерческой разработки.
✅ Q&A сессия
Ответим на ваши вопросы. Вышлем «Карту компетенций начинающего разработчика» всем участникам мероприятия, подарим бонусы для воодушевляющего старта!
Жмите по ссылке и записывайтесь!
Создание пользовательских аннотаций в Java
В этой статье объясняется, как создавать мета- и пользовательские аннотации и украшать ими объекты.
👉@BookJava
Repost from Книги по Java | Books Java 📚
Java from EPAM. Учебно-методическое пособие
Блинов, Романчик (2020)
Пособие предназначено для программистов, начинающих и продолжающих изучение технологий Java SE. В книге рассматриваются основы языка Java и концепции объектно-ориентированного и функционального программирования. Также изложены аспекты применения библиотек классов языка Java, включая файлы, коллекции, Stream API, сетевые и многопоточные приложения, а также взаимодействие с СУБД и ХМL. В конце каждой главы даются теоретические вопросы по изученной главе, тестовые вопросы по материалу главы и задания для выполнения. В приложениях приведены дополнительные материалы с кратким описанием технологий Log4J2 и TestNG.
Скачать
👉 @java_360
⁉️ Хотите изучать алгоритмы? Приходите на открытый урок «Создание ассоциативного массива» 13 октября в 20:00 мск.
💻 На занятии мы начнем реализовывать популярную структуру данных «ассоциативный массив» для хранения пар (ключ, значение), рассмотрим алгоритмы для решения этой задачи и сравним их эффективность:
✔️ Параллельные массивы
✔️ Отсортированные массивы
✔️ Двоичные деревья поиска
👉 Занятие проведет Евгений Волосатов — ведущий программист с 20-летним опытом. Урок проводится в рамках онлайн-курса «Алгоритмы и структуры данных». Используйте эту возможность, чтобы попробовать обучение и познакомиться с экспертом.
🔥 Для регистрации пройдите вступительный тест
Maven - краткий курс
В этом видео вы узнаете, как использовать Maven как профессионал: установка, использование обертки mvn, использование Maven вместе с IDE и, конечно же, основы Maven.
00:00 Intro
00:30 Cloning The Sample Project
01:09 Installing Maven - Package Manager
01:34 Installing Maven - Manual
02:57 Maven Wrapper
04:31 mvn validate
05:21 IntelliJ - Importing Maven Projects
06:12 Pom.xml - Basics
07:07 Pom.xml - Properties
07:38 Pom.xml - Build Section
08:06 Pom.xml - Dependencies
09:40 Pom.xml - Dependency Scopes
11:41 search.maven.org - Dependency Search
12:27 IntelliJ - Maven Reload Trick
13:11 IntelliJ - Dependency Search
15:04 Maven Directory Structure
15:25 mvn clean
15:37 mvn compile
16:00 mvn test
17:45 mvn package
18:36 mvn install
19:18 Local Maven Repository
20:25 Central Maven Repository
22:28 Multi Module Projects
источник
👉@BookJava
Repost from Kotlin
Курс по корутинам
#1 Что такое корутина. Важные особенности
#2 CoroutineContext. Настраиваем корутины
#3 Жизненный цикл корутины. CoroutineScope. Structured Concurrency
#4 Обработка ошибок в корутинах
#5 Каналы. Зачем если есть Flow?
#6 Синхронизация между корутинами
#7 Kotlin Coroutines Flow. StateFlow. SharedFlow
#8 Корутины в Android. Специальные API
https://www.youtube.com/playlist?list=PL0SwNXKJbuNmsKQW9mtTSxNn00oJlYOLA
✍️ @kotlin_lib
Repost from Java Geek
Bit Set
Что, если нам нужно выполнить какие-то операции с массивами битов? Вы будете использовать для этого boolean[]?
Для этого есть более эффективный с точки зрения использования памяти метод.
Это класс BitSet, позволяющий нам хранить массивы битов и манипулировать ими. По сравнению с boolean[] он требует в 8 раз меньше памяти. Мы можем выполнять логические операции над массивами, такими как, например and, or, xor.
Допустим, у нас есть два входных массива битов. Мы хотим провести на них операцию xor.
Уточню, операция xor, возвращает только те элементы, которые имеются только в одном массиве, но не в другом. Для этого нам нужно создать два экземпляра BitSet и вставить туда элементы, как показано ниже. Наконец, вы должны вызвать метод xor в одном из BitSet объектов, указав в качестве аргумента второй BitSet объект.
@java_geek
Тестирование — один из процессов, который может быть автоматизирован в рамках CI/CD.
Когда команды работают параллельно, кодовые базы разработчиков могут пересекаться. Чтобы это не приводило к багам и поломкам, внедряется CI-процесс, который собирает ПО и автоматически выполняет тесты.
CD деплоит изменения и проводит дополнительную валидацию.
В итоге уменьшается количество багов, можно быть уверенным в новых сборках и снижать затраты на производство.
В общем, CI/CD — классная и полезная вещь. Расскажем о нем подробнее на бесплатном вебинаре CI/CD: как, зачем, для чего
Встречаемся 5 октября в 19:00
Регистрация тут: https://slurm.club/3Svn3lp
Java to Kotlin: A Refactoring Guidebook
Авторы: Duncan McGregor, Nat Pryce (2021)
Книга учит миграции кода с Java на Kotlin. Получаемый код проще, выразительнее и его легче изменять. К концу чтения книги вы будете уверенно рефакторить код, научитесь писать на Kotlin приложения с нуля и управлять кодовой базой из двух языков по мере ее развития с течением времени.
👉@BookJava
Как устроен HashMap?
HashMap состоит из «корзин» (bucket). С технической точки зрения «корзины» — это элементы массива, которые хранят ссылки на списки элементов. При добавлении новой пары «ключ-значение», вычисляет хэш-код ключа, на основании которого вычисляется номер корзины (номер ячейки массива), в которую попадет новый элемент. Если корзина пустая, то в нее сохраняется ссылка на вновь добавляемый элемент, если же там уже есть элемент, то происходит последовательный переход по ссылкам между элементами в цепочке, в поисках последнего элемента, от которого и ставится ссылка на вновь добавленный элемент. Если в списке был найден элемент с таким же ключом, то он заменяется.
👉@BookJava
#вакансия #удалённо #job #remote #parttime #преподаватель #Groovy
Компания: OTUS – образовательная платформа🦉
Мы 5 лет специализируемся на курсах для IT-специалистов разного уровня: от junior до senior. У нас более 130 авторских курсов. Мы подходим к обучению прагматично: программа ориентируется на требования работодателей и последние тренды разработки. Копаем глубоко в практику, чтобы дать то, чего не найти в открытом доступе.
Вакансия: преподаватель онлайн-курса Groovy developer.
👨🏫 Преподаватель использует презентацию с теорией и практические примеры, чтобы раскрыть тему урока. Наши методисты помогут Вам освоить лучшие инструменты и практики преподавания.
Локация: удаленно; сами определяете нагрузку и выбираете, на какие темы преподавать. Занятия проходят в вечернее время.
Вознаграждение:
Ставка за 1 урок (1.5 часа) – от 4000р. до 6000р.
Дополнительные активности на Ваше усмотрение, которые оплачиваются отдельно: разработка и переработка материалов вебинара, проверка домашних заданий, менторство.
У нас классная команда 450+ экспертов с уникальными компетенциями из различных компаний. Мы учимся друг у друга, советуемся, помогаем, делимся опытом, обсуждаем новости как в преподавании, так и по проектам.
Научим:
✅ работать с аудиторией;
✅ давать обратную связь;
✅ публично выступать;
✅ структурировать свои знания.
Вы сможете:
🎁 проходить наши курсы со скидкой;
💪 набирать себе команду из лучших студентов;
💸 совмещать с текущей фулл-тайм загрузкой.
Хотите узнать больше? @yu_grin
