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

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

Для обратной связи: @proglibrary_feeedback_bot

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

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
加入频道
✍️✍️ Юнит-тесты: чек-лист методик проектирования

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

Автор задумался: есть ли руководство, которое облегчило бы генерацию тестовых сценариев и помогло выявлять серьёзные ошибки? Чтобы вдумчиво подходить к тестированию и не тратить ресурсы впустую, сводя к минимуму количество необходимых тестов.

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

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

#почитать
🔥62👏2👍1
🎉🎉 Вышел Spring AI 0.8.0

Проект призван упростить создание приложений, которые используют ChatGPT и другие AI-модели, предоставляющие API для взаимодействия. Разработчики Spring AI хотят дать абстракции для работы со всеми основными моделями так, чтобы между ними было легко переключаться с минимальным изменением кода. В этой версии представлена такая функциональность:

API для взаимодействия с AI-моделями от разных поставщиков: OpenAI, Microsoft, Amazon, Google, Huggingface и других;
поддержка Vector Store API, которое предоставляет интерфейс для взаимодействия с векторными БД, поддерживается 8 различных БД;
вызов функций — блоков кода в ИИ-моделях, фича для Open AI;
автоконфигурация и стартеры Spring Boot для моделей ИИ и векторных хранилищ;
ETL-фреймворк для Data Engineering.

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

#почитать
🔥21🤩194👍2🥰1
☝️☝️Синглтоны в Java

В этом кратком руководстве рассматривается два наиболее популярных способа реализации синглтонов в Java

Изучить

#почитать
❤‍🔥21👏5👍41🥰1
🤔🤔 Kotlin (не) против Java: особенности компиляции в байткод

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

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

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

#почитать
19👍7🥰1
😱😱 Опять транзакции…

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

#почитать
❤‍🔥205👏2🤔2
🚶🚶🚶 Backend-разработчик: из стажера в джуны

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

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

#почитать
45👍3🥰1
✏️✏️ Prosci на практике — системное управление изменениями

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

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

#почитать
❤‍🔥20🥰32
🔍💼 Исследование рынка: 8 наиболее востребованных языков программирования в 2024 году

Результаты исследования рынка IT-вакансий, проведенного DevJobsScanner. Были проанализированы 14 миллионов объявлений и выявлены 8 наиболее востребованных языков программирования.

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

#почитать
👏51
🤔🤔 Разбираемся с динамической памятью (кучей) в приложениях Java

В самом ли деле каждый Java-разработчик понимает, как в Java работает память? Одна из обязанностей любого Java-разработчика — гарантировать, что в результате тонкой настройки приложения на Java из него получится выжать такую производительность, какую только возможно. Требуется время, чтобы научиться управлять памятью в Java и понять этот процесс, это касается всех, кто имеет дело с Java. В этой статье автор попробует объяснить, как овладеть этими умениями.

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

#почитать
❤‍🔥22👍3😁21🥰1
🤔🤔 Безработные айосники, мертвый PHP и бесполезные «саперы»: топ-5 мифов о будущем российского IT

Разбор прогнозов и обещаний, которые всколыхнули рынок, но показались нам нереалистичными.

👉 Спрос на iOS-программистов продолжит падать (как и зарплаты)
👉 Ruby-специалисты не нужны рынку
👉 Зарплаты PHP-разработчиков упадут, потому что язык умирает
👉 «Сапёры» скоро потеряют работу
👉 Kotlin-программисты заменят Java-специалистов

А вы что думаете?

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

#почитать
👍12🥰2❤‍🔥1
SIP-61 — Развертывание дефолтных аргументов для бинарной совместимости

Интересный SIP от Li Haoyi, с бурным обсуждением нейминга от Одерски. Само по себе предложение выглядит вкусным для либ: в текущей реальности, когда в классе или функции добавляется параметр, имеющий дефолтное значение, новая версия либы является семантически совместимой для пользователя, но бинарно несовместимой с предыдущей версией. Предлагается создать специальную аннотацию, помечать ею такие поля и получать в итоге бинарную совместимость.

Подробнее тут

#почитать
❤‍🔥162👍2🥰1
💊💊 Паттерн Poison Pill в Java

Poison Pill, или «ядовитая пилюля», — это шаблон, используемый для мягкой остановки потока или процесса. Суть его заключается в отправке специального, заранее определенного сообщения, которое сигнализирует о необходимости завершения работы. Это сообщение обрабатывается в рамках нормального потока сообщений и позволяет потоку корректно завершить работу, освободить ресурсы и закрыть все активные соединения.

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

#почитать
13👍9❤‍🔥2🥰2🔥1
🤔🤔 Эффективность Spring-приложений в рантайме. Текущее состояние дел и планы на будущее

В свете недавнего выхода Spring Framework 6.1 и Spring Boot 3.2, автор хотел бы поделиться обзором тех усилий, которые предпринимает команда Spring, чтобы позволить разработчикам оптимизировать эффективность их приложений во время выполнения.

В статье:

Spring MVC вместе с Virtual Threads на JDK 21
Развёртывание Spring-приложений в облаке с использованием GraalVM Native Image
Восстановление контрольной точки
Масштабирование приложений до нуля с помощью Spring и Project CRaC
Будущее OpenJDK со Spring AOT и Project Leyden

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

#почитать
🔥7👍32🥰1🎉1
✍️✍️ Заметки о java.util.Stream

Stream API (поток) — принципиально новый способ работы с коллекциями в Java. Вернее, так было во времена релиза Java 8 в далёком 2014 году, который принёс в классический императивный объектно-ориентированный язык программирования элементы функционального программирования. Ввиду масштаба нововведений сначала перед разработчиками стояла задача изучить новые подходы и наработать опыт их применения. После первого знакомства возник соблазн применять функциональный стиль в любой возможной ситуации, даже если в итоге получались сложные причудливые и никому не понятные конструкции. Тогда могло возникнуть обратное желание — отказаться от всех новшеств, если в них нет очевидной необходимости. В данной статье я опишу отдельные примеры использования Stream, которые кажутся мне наиболее интересными и показательными, чтобы применять Stream API эффективно, делая код лучше и избегая ошибок.

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

#почитать
❤‍🔥12👍52🥰1
💻🔍💼 Кризис IT-рынка: как джуны и кадровый голод меняют правила игры

В условиях нехватки опытных специалистов и наплыва джунов, IT-компании вынуждены искать нестандартные подходы к найму. Рассмотрим основные тренды и стратегии адаптации рынка.

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

#почитать
👍41😁1😢1