Библиотека джависта | Java, Spring, Maven, Hibernate
24.8K subscribers
1.87K photos
38 videos
42 files
2.65K links
Все самое полезное для Java-разработчика в одном канале.

Список наших каналов: https://yangx.top/proglibrary/9197

Обратная связь: @proglibrary_feedback_bot

По рекламе: @proglib_adv

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
加入频道
Сколько времени в рабочий день тратите на разработку?
#интерактив
Практический IT-интенсив: алгоритмы и структуры данных

🗓️ 14 августа, «NP-трудные задачи: почему их плохо решают».
🎙Дмитрий Коротенко простым языком объяснит, что такое NP-трудные задачи. И в прямом эфире раскажет про примеры, которые встречаются в реальном мире.

👉 Регистрируйтесь по ссылке

🗓️ 22 августа, «Графы: алгоритмы и структуры данных на Python».
🎙Иван Потапов расскажет, как графы представляются в коде, где бывает полезна топологическая сортировка. А также обсудим алгоритмы Дейкстры и Беллмана-Форда.

🗓️ 29 августа, «Собеседование на разработчика: разбор задач и ошибок».
🎙Алексей Бочкарев поделится своим опытом прохождения технических собеседований; разберет распространенные ошибки в коде и расскажет, как правильно подходить к задачам, тестировать решения.

👉Для регистрации и ознакомления с подробной программой перейдите по ссылке: https://proglib.io/w/0612e973

*Компания Meta признана в РФ экстремистской и запрещена
Очередной #дайджест по Java:

☕️ Новый взгляд на Maven-plugin для IDEA — GMaven
О том, как устроен плагин под капотом, его сильных и слабых местах.

☕️ Kafka UI краткий гайд

☕️ Пошушукаемся о Барбаре Лисков или раз и навсегда запоминаем принцип подстановки
Принцип подстановки Лисков (англ. Liskov Substitution Principle, LSP) — принцип организации подтипов в объектно-ориентированном программировании, предложенный Барбарой Лисков в 1987 году.

☕️ Использование Kotlin и WebFlux для выполнения задач ML в Apache Spark на GPU
Это третья статья по теме реализации масштабируемой системы для выполнения задач распределенного машинного обучения на GPU с использованием Java, Kotlin, Spring и Spark.
✍️«Библиотека программиста» собирает кейсы использования нейросетей

Какие самые необычные задачи вы выполняли с помощью нейросетей? Может быть, вы просили ИИ пройти тестирование по правилам безопасности или писали с его помощью заявление на увольнение?

Заполняйте форму — лучшие истории появятся в нашей подборке по теме.

👉Ссылка тут👈
Как преобразовать строку в Windows-1251?

В Java вы можете использовать классы Charset и String для преобразования строки из одной кодировки в другую. Пример на картинке выше.

Обратите внимание, что некоторые символы, которые существуют в кодировке Windows-1251, могут отсутствовать в кодировке UTF-16, поэтому процесс преобразования может вызвать потерю данных.
#код
🔍 Поиск в глубину

Это метод рекурсивного исследования всех вершин графа: начинаем с заданной стартовой вершины, сначала посещая как можно больше вершин вдоль каждой ветви, прежде чем вернуться.

Этот пример иллюстрирует обход в глубину для следующего графа:

0
/ \
1-----2
\
3
Начиная с вершины 2, алгоритм посетит вершины в следующем порядке: 2, 0, 1, 3.
#код
🐛🦋 Свитчеры после 30 лет: кто это, почему их не любят эйчары и как им найти работу в IT

Объясняем, как выжить тем, кто решил вкатиться в мир программирования после 30 лет.

🔗 Читать статью
🔗 Зеркало
Что не так с кодом?

Он не скомпилируется. Это вопрос на знание иерархии исключений: FileNotFoundException унаследован от IOException, первый catch будет перехватывать все исключения, а в следующий блок catch управление передано не будет. Поэтому возникнет ошибка: exception FileNotFoundException has already been caught.
#вопросы_с_собеседований
Проверка на палиндром

Напишем небольшую программу, проверяющую является ли введенная строка палиндромом.

Перепишите код с картинки в файл с расширением .java, например, PalindromeChecker.java, затем скомпилируйте и запустите его с помощью команды javac PalindromeChecker.java, а затем java PalindromeChecker. Программа попросит вас ввести строку, и затем она выведет результат проверки на палиндром.
#код
Задача

Программа проверяет, ввел что-либо пользователь или нет.

Ответ на картинке.
Очередной #дайджест по Java:

✍️ Ракету пустил и забыл. Или как заставить DI работать
Рассматривается решение интересной задачи.

✍️ Поднимаем кластер PostgreSQL в Docker и Testcontainers
Такое решение помимо собственно отказоустойчивости позволяет частично решить проблему производительности, перераспределяя чтение данных с primary хоста на реплики.

✍️ Исчерпывающее руководство по одномерным массивам в Java

✍️ Список популярных утечек с GitHub: Анализ репозиториев компаний
Целью данного исследования было изучение файлов, которые компании могли случайно загрузить на GitHub, и выявление конфиденциальной информации, которая могла присутствовать в загруженных проектах.
Какое мероприятие по разработке вы посещали последним и будете ли на нем в следующий раз?
#интерактив

Кстати, на нашем сайте есть раздел с анонсами мероприятий по программированию.
Самые полезные каналы для программистов в одной подборке!

Сохраняйте себе, чтобы не потерять 💾

🔥Для всех

Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы

☕️Java

Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков

👾Data Science

Библиотека Data Science — полезные статьи, новости и обучающие материалы
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту

🧠C++

Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++

💻Другие профильные каналы

Библиотека фронтендера
Библиотека шарписта
Библиотека Go разработчика
Библиотека мобильного разработчика
Библиотека хакера
Библиотека питониста
Библиотека devops’a
Библиотека тестировщика
Библиотека пхпшника

💼Каналы с вакансиями

Вакансии по питону, Django, Flask
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии по C#, .NET, Unity
Вакансии по Go
Вакансии по PHP, Symfony, Laravel
Вакансии по DevOps & SRE
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
Autoboxing

Autoboxing — это механизм, который автоматически преобразует примитивные типы данных в соответствующие классы-оболочки, и наоборот, без явного указания программистом. Этот механизм упрощает код и делает его более читаемым, так как позволяет использовать примитивные типы как объекты.

Autoboxing позволяет, например, использовать примитивные типы в коллекциях и других ситуациях, где требуются объекты. Ранее, до появления autoboxing, программистам приходилось явно выполнять преобразования между примитивными типами и их классами-оболочками.
#код
Что такое race-condition?

Race condition (гонка состояний) — это ситуация, которая возникает в многопоточных программах, когда несколько потоков одновременно пытаются изменить общий ресурс или переменную, приводя к непредсказуемому поведению программы. Это может произойти из-за неопределенности в том, какой поток будет выполняться в данный момент, и какие операции он совершит.

Также race condition может возникнуть, если несколько потоков пытаются изменить одну и ту же общую переменную без какой-либо синхронизации. Например, если два потока пытаются одновременно увеличить значение переменной, которое зависит от текущего значения, то результат может быть непредсказуемым.
Больше вопросов с собеседований в нашем канале.
#вопросы_с_собеседований
OutOfMemoryError

«OutOfMemoryError» ошибка в Java, указывающая на то, что приложению не хватило памяти для выполнения операции. Это может произойти, когда программа пытается выделить больше памяти, чем доступно в куче (heap), которая используется для хранения объектов и данных во время выполнения Java-приложения.

В результате JVM (Java Virtual Machine) больше не может выделить дополнительную память, и возникает ошибка «OutOfMemoryError».
#код
⚡️Шпаргалка по Maven

Maven — один из самых популярных и удобных инструментов для управления и сборки проектов на Java. Сохраняй и делись с друзьями!
«Библиотека программиста» ищет девушек, работающих в IT — разработке, тестировании, информационной безопасности и других направлениях

Мы проводим новое исследование, посвященное специфике работы женщин в IT — от сложностей и недостатков в работе до гендерных стереотипов.

Пройдите короткий опрос — он анонимный и займет не более 10 минут вашего времени.

Ссылка тут.
Преобразуем строку в объект

Используем метод Class.forName(). Этот метод принимает параметр className, который является классом, для которого требуется его экземпляр.
#код
Очередной #дайджест по Java:

☕️ Как задеплоить монолитный pet проект на Java с 0 и не сойти с ума…
Статья содержит шаги по развертыванию Java приложения с помощью GitHub Actions на серверах AWS EC2.

☕️ Авторизация в Spring Boot приложении с Spring Security 3.1.0 и PostgreSQL
Гайд для новичков.

☕️ Из кладовщика в разработчики
Автор рассказывает об опыте переквалификации от должности рабочего на складе до профессии backend-разработчика в международной компании на Кипре. Без рекламы курсов.

☕️ Приручаем Liquibase. Как скормить базе данных список из 10К офисов, чтобы потом не писать костыли?
Автор делится своим опытом создания миграций файлов с большим списком данных при помощи Liquibase.

☕️ Вопрос на сертификационном экзамене: применение Threads и Executors
Продолжение разбора вопросов из Java-сертификации от Учебного центра IBS.