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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
加入频道
#вопросы_с_собеседования

Как перебрать все значения Map?

Использовать метод values(), который возвращает коллекцию Collection<V> значений
📈 По просьбе подписчиков «Библиотеки программиста» мы провели опрос и выяснили, что у большинства айтишников зарплата в 2023 году выросла.

⚡️ Как выглядит доход среднего айтишника и какие факторы окажут влияние на динамику ИТ-зарплат в 2024 году — расскажем в статье на VC.

👉 Читать

P. S. Свои предложения для исследований пишите в комменты👇
Please open Telegram to view this post
VIEW IN TELEGRAM
удалил(а) вас из группы, чтобы вы не успели отписаться сами
🤔🤔 Kotlin (не) против Java: особенности компиляции в байткод

В 1995 году Sun Microsystems представили Java — объектно-ориентированный язык программирования, основное кредо которого можно сформулировать так: «Написано один раз, работает всегда». В 2011 году как улучшенную альтернативу Java компания JetBrains представила Kotlin — язык с той же философией, но иной реализацией. С тех пор в сообществе программистов между адептами Java и Kotlin ведется непримиримая вражда…

В статье, автор залезет к этим языкам «под капот» и посмотрит, правда ли они такие разные — и в чем преимущества каждого из них.

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

#почитать
Очередной #дайджест для джавистов

Уничтожает ли Java 22 инструменты сборки? — JEP 458, который по сути продолжает идею JEP 330: дает возможность компилировать и запускать Java-код одной командой java

Повышение наглядности интеграционных тестов — практические рекомендации по написанию интеграционных тестов, и как сосредоточиться на спецификациях взаимодействия с внешними сервисами, делая тесты более читаемыми и легкими для поддержки

Книга «Разработка систем высокочастотной торговли» — узнайте, как внедрить высокочастотную торговлю с нуля, используя основы C++ или Java

Искусство расширений JUnit — в режиме онлайн из микросервисного проекта будут строить полноценную инфраструктуру для работы с тестовыми данными, авторизацией и другим

Паттерны или химеры программирования — рассказ другими словами про паттерны: Стратегия, Декоратор, Фасад, Итератор, Шаблонный метод
В чем заключается особенность работы метода clone() с полями объекта типа ссылки?

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

Ну а что, если вам нужно полноценное клонирование с клонированием всех вложенных объектов? Как сделать, чтобы это были не копии ссылок, а полноценные клоны объекты с другими занимаемыми ячейками памяти в куче?

На самом деле все довольно просто — для этого вам нужно в каждом классе этих внутренних объектов также переопределить метод clone() и добавить интерфейс маркер — Cloneable. Тогда будут скопированные не ссылки на объекты, а сами объекты, ведь теперь они тоже имеют возможность копировать себя.
⚡️Свершилось: канал с книгами только по Java

Мы создали для вас канал с самыми полезными книгами по Java — подписывайтесь!

👉Книги для джавистов | Java
Please open Telegram to view this post
VIEW IN TELEGRAM
Алгоритм Кнута — Морриса — Пратта

Алгоритм КМП осуществляет поиск текста по заданному шаблону. В этом поиске сначала компилируется заданный шаблон. Компилируя шаблон, мы пытаемся найти префикс и суффикс строки шаблона. Это поможет в случае несоответствия — не придётся искать следующее совпадение с начального индекса.

Вместо этого мы пропускаем часть текстовой строки, которую уже сравнили, и начинаем сравнивать следующую. Необходимая часть определяется по префиксу и суффиксу, поэтому известно, какая часть уже прошла проверку и может быть безопасно пропущена.
😱😱 Опять транзакции…

История автора о том, как он на своем рабочем месте столкнулся с транзакциями и крутым стеком для разработки приложения. Что из этого вышло, какие камни его поджидали, и чем все кончилось узнаете в статье.

#почитать
Fastjson

Это высокопроизводительная библиотека Java, предназначенная для преобразования объектов Java в JSON и наоборот. Она легкая, быстрая и простая в использовании.
Очередной #дайджест для джавистов

👉 Foreign Function и Memory API — краткий обзор подкапотного пространства

👉 Мифы и реалии «Мультимастера» в архитектуре СУБД PostgreSQL — цикл статей, в которых академически описана проблематика и решаемая задача

👉 Intellij IDEA 2023.3.6 и 2024.1-beta — выкатили обновления популярных и полезных библиотек

👉 Crossing those hills — продолжение приключений о поиске красивого выражения платформозависимых типов на Scala 3

👉 Benchmarking Tapir: Part 2 — продолжение исследования оверхеда, который приносит tapir для различных серверных бэкендов
💬 У нас есть вопрос

Расскажите, пожалуйста, на какие статьи вы переходили или какие последние ссылки открывали из Telegram? Речь идёт не только о наших статьях и ссылках, а о любых.

👇 Пишите ответы в комментариях в стиле «был пост со статьёй такой-то, я её открыл и почитал». Будем благодарны обратной связи!
🚶🚶🚶 Backend-разработчик: из стажера в джуны

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

Читать статью

#почитать
Класс LinkedList

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

У него есть все методы, которые определены в интерфейсах List, Queue, Deque.

addFirst() / offerFirst() — добавляет элемент в начало списка. addLast() / offerLast() — в конец.

removeFirst() / pollFirst() — удаляет первый элемент из начала списка. removeLast() / pollLast() — с конца списка.

getFirst() / peekFirst(); getLast() / peekLast() — возвращает первый/последний элемент списка.
✏️✏️ Prosci на практике — системное управление изменениями

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

Читать статью

#почитать
⚙️ Названия веток и комментарии к коммитам в Git: лучшие практики

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

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

👉 Читать статью
👉 Зеркало
⚡️Свершилось: канал с книгами только по Java

Мы создали для вас канал с самыми полезными книгами по Java — подписывайтесь!

👉Книги для джавистов | Java
Please open Telegram to view this post
VIEW IN TELEGRAM