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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
加入频道
Anonymous Inner Class

Anonymous Inner Class (Анонимный Внутренний Класс) — это специальный тип внутреннего класса, который определяется без имени и создается «на лету» внутри блока кода или выражения. Он является удобным способом создания классов, когда класс нужен только для реализации какого-то интерфейса или абстрактного класса, и нет необходимости создавать отдельный именованный класс.

Анонимные внутренние классы обычно используются для создания объектов, которые реализуют интерфейсы или наследуются от абстрактных классов. Они часто используются в событийном программировании и обработке событий в пользовательском интерфейсе, где нужно определить обратный вызов (callback) или обработчик (handler) на месте.
java.time.LocalDate

Это класс из пакета java.time, введенного в Java 8, который предоставляет удобные средства для работы с датами в формате «год-месяц-день». Этот класс представляет собой дату без времени и без учета часовых поясов. Он используется для выполнения операций, связанных только с датами, без учета времени суток.
⚙️⚙️ Framework для автоматизации тестирования на Java

В качестве языка программирования была выбрана Java, сборщик проектов — Maven, среда тестирования — JUnit5.

Для работы с БД выбран Hibernate. Он широко известен как в кругу автоматизаторов, так и в кругу разработчиков. Hibernate — это фреймворк для Java, предназначен для работы с базой данных. Объекты в нем описываются на языке программирования с применением принципов ООП. Запросы в базу можно писать как в стандартном виде SQL, так и с помощью HQL. HQL — это Hibernate Query Language — объектно‑ориентированный язык запросов, который очень похож на SQL, но, в отличие от него, работает с объектами и полями, в то время как SQL работает с таблицами и столбцами в базе.

В статье будет пример работы с базой.

#туториал
Чем отличаются checked и unchecked исключения?

Вопрос формулируют по-разному, суть вопроса — объяснение иерархии классов исключений. Подробно описано в документации.

Исключения бывают checked и unchecked. Checked требуется указывать в сигнатуре метода в разделе throws; перехватывать или добавлять в throws в вызывающем его методе. Unchecked можно добавить, но не обязательно, перехватывать не обязательно даже если указана в throws.

♦️ Throwable — базовый класс для всего что может быть использовано с оператором throw и в конструкции try-catch
♦️ RuntimeException — «нормальные» unchecked-исключения
♦️ Error — unchecked исключения, которые означают «серьезные проблемы» приложения. Не должны обрабатываться (хотя технически можно). Теоретически JVM может находиться в невалидном состоянии и не давать больше никаких гарантий
♦️ Exception (кроме RuntimeException) — checked исключения
🤔 Очередной #дайджет для джавистов

🟤 Принципы и шаблоны чистого кода — руководство для специалиста по программному обеспечению

🟤 Рыночные данные в кармане — как получать их быстро и просто с помощью Java/Kotlin и Spring Boot + TinkoffApi

🟤 Подкаст Javaswag — о нагруженных сервисах и нестандартных практиках в процессах

🟤 Задача на миллиард строк — интересная задача и варианты ее решения

🟤 Разбираемся с MavenGate — новая атака на цепочку поставок для Java и Android-приложений
Класс Hashtable

Представляет собой структуру данных, которая используется для хранения и управления коллекциями пар «ключ-значение». Hashtable является одной из структур данных, предоставляемых Java Collections Framework, и работает по принципу хеш-таблицы. Он был представлен в ранних версиях Java и является устаревшим начиная с Java 5, так как более современные альтернативы, такие как HashMap, предпочтительнее.
📍📍 Tinkoff Java Meetup в Рязани

Доклады:

👉 как использование различных технологий для написания параллельного кода влияет на читаемость и производительность;
👉 почему команда Тинькофф выбрала Micronaut, а не Camunda
👉 что скрывается под маркетинговыми фразами о надежности, бесконечности и универсальности в object storage.

📆 13 февраля, пространство Svoboda

Регистрация тут
new vs valueOf

Старайтесь всегда использовать метод valueOf вместо конструктора в стандартных классах-оболочках примитивных типов, кроме тех случаев, когда вам нужно конкретно выделить память под новое значение.

Все оболочки, кроме чисел с плавающей точкой, от Byte до Long, имеют кэш. По умолчанию этот кэш содержит значения от -128 до 127. Следовательно, если ваше значение попадает в этот диапазон, то значение вернется из кэша. Значение из кэша достается в 3.5 раза быстрее, чем при использовании конструктора, плюс идёт экономия памяти.

Помимо этого, наиболее часто используемые значения могут также быть закэшированы компилятором и виртуальной машиной.
😈 Даркнет: как устроен теневой рынок труда

Рассказываем, как устроен теневой рынок даркнета, каких ИТ-специалистов там ищут и какую зарплату предлагают.

🔗 Читать статью
🔗 Зеркало
🤔 Где бесплатно учить Java в 2024 году

Изучения Java в 2024 году остается актуальным по нескольким причинам:

Популярность: Java является одним из самых популярных языков программирования в мире и сохранит свою популярность и в 2024 году. Множество компаний и организаций используют Java для разработки приложений и веб-сервисов, поэтому знание этого языка будет востребовано.

Карьерные возможности: Знание Java открывает широкий спектр карьерных возможностей. Работа с Java может предоставить вам возможность работать в таких областях, как разработка мобильных приложений, веб-разработка, разработка игр, аналитика данных и многое другое.

Android-разработка: Java является популярным языком программирования для разработки приложений под платформу Android. С учетом того, что Android продолжает быть одной из самых популярных мобильных операционных систем в мире, знание Java будет необходимым для разработки приложений для этой платформы.

Устоявшийся экосистема: Java имеет богатую экосистему инструментов и фреймворков, которые помогают разработчикам ускорить процесс разработки и повысить производительность. Знание Java позволит вам использовать все преимущества этой экосистемы и упростить свою работу.

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

Продолжение здесь

#почитать
EventListener

EventListener (слушатель событий) — это интерфейс, который позволяет объектам реагировать на события, происходящие в системе. Он используется для создания интерактивных приложений, где действия пользователя или изменения в системе должны вызывать определенные реакции.
This media is not supported in your browser
VIEW IN TELEGRAM
#memes

Когда начальник хвалит всех за выполненный проект, который делал только ты 😂😂
🤔 Очередной #дайджет для джавистов

🚩 DSL и конфигураторы контекста безопасности — Spring Security в деталях

🚩 Мероприятие — пишем качественный код

🚩 Framework для автоматизации тестирования на Java — путь к стабильности и качеству системы

🚩 Путеводитель в мире Java — бесплатные уроки для начинающих по Java

🚩 Mobile PeerLab — митап для мобильных разработчиков по трем трекам: iOS, Android, Flutter
🧑‍🎓🧑‍🎓 Анализ и оценка перспективы использования LSMW для автоматизации подготовки тестовых данных в SAP

При внедрении ERP-системы SAP одним из наиважнейших вопросов является вопрос загрузки данных исторических систем (например, тех, что функционировали на предприятии до внедрения SAP) в новую ERP. В случае истории автора, одним из важнейших вопросов является создание данных, которые можно использовать для тестирования системы.

Миграция данных является неотъемлемой частью жизнедеятельности любой ИС. Объектами миграции данных являются:

👉 все необходимые справочные данные (НСИ), имеющиеся в исторических системах;
👉 все необходимые персональные данные, имеющиеся в исторических системах.

Продолжение тут

#почитать
Интерфейс Supplier

Интерфейс Supplier — это функциональный интерфейс в языке программирования Java, определенный в пакете java.util.function. Он представляет собой интерфейс, который может использоваться для предоставления значений, но не принимает аргументов. В этом интерфейсе есть один метод, который не принимает аргументов и возвращает значение.

Метод Supplier:
T get();

Где T — это тип возвращаемого значения.

Supplier может быть полезным, когда вам нужно получить значение, но не требуется передавать какие-либо аргументы для его получения. Этот интерфейс часто используется, например, в лямбда-выражениях и стримах для предоставления значений.
Метод compareTo()

Используется для сравнения двух объектов. Обычно он применяется к объектам, реализующим интерфейс Comparable, чтобы определить их относительный порядок. Вот как обычно выглядит сигнатура метода compareTo():

int compareTo(T obj)

где T — это тип объектов, с которыми сравнивается текущий объект. Метод возвращает отрицательное целое число, ноль или положительное целое число в зависимости от того, как текущий объект сравнивается с переданным объектом obj.

Отрицательное число указывает на то, что текущий объект меньше, чем объект obj.
Ноль указывает на то, что текущий объект равен объекту obj.
Положительное число указывает на то, что текущий объект больше, чем объект obj.
🏔 Эпикфейл: карьера катится к чертям

🤦‍♂️ У всех нас случались провалы в карьере, о которых не хочется распространяться. Неловкий момент на собеседовании, провал проекта из-за глупой ошибки, конфликт с начальством — такие ситуации хочется поскорее забыть. Однако часто именно они дают нам самые ценные уроки и закаляют как профессионалов.

📝 Поделитесь своей историей карьерного провала в нашем новом опросе и расскажите, к чему он привел в итоге. Быть может, эта ошибка позволила вам пересмотреть свой путь и выбрать более подходящую профессию? А может, вы сделали правильные выводы и сейчас добились успеха?

👉 Поделиться историей