Библиотека джависта | 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
加入频道
🤔 Очередной #дайджет для джавистов

🔆 Spring Data JPA и Hibernate — решаем проблему динамически изменяемого запроса к базам данных

🔆 Эмулятор QUIK — как наладить тестирование вендорного продукта

🔆 Нагруженные сервисы и нестандартные практики разработки — о нагруженных сервисах, нестандартных практиках в процессах и моделях мотивации людей

🔆 Компоновка аннотаций в Spring — как поместить несколько аннотаций в одну и использовать только ее и как передавать атрибуты в аннотации которые вы объединили

🔆 Разбор задач по программированию и алгоритмам для попадания в Google — разбор 3 типов задач для прохождения собеседования в ведущие технологические компании мира
Какое ключевое слово используется в Java для возвращения величины внутри метода?
Anonymous Quiz
3%
void
1%
break
91%
return
5%
get
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
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 может быть полезным, когда вам нужно получить значение, но не требуется передавать какие-либо аргументы для его получения. Этот интерфейс часто используется, например, в лямбда-выражениях и стримах для предоставления значений.