Forwarded from Библиотека тестировщика | QA, тестирование, quality assurance, manual testing, autotesting, ручное тестирование, автотесты
☕🔍 Тестирование в Java: лучшие практики, инструменты и
рекомендации для разработчиков
Качественное тестирование — залог успешного Java-проекта. В этой статье мы поделимся лучшими практиками, инструментами и методами, которые помогут вам создавать надежный и эффективный код.
Читать статью
рекомендации для разработчиков
Качественное тестирование — залог успешного Java-проекта. В этой статье мы поделимся лучшими практиками, инструментами и методами, которые помогут вам создавать надежный и эффективный код.
Читать статью
🥑 Подборка лучших статей «Библиотеки джависта» за апрель: сохраняй в заметки, чтобы не пропустить #самыйсок
🐛 7 признаков неопытного программиста
✍️ Как написать отличную документацию
⚙️ Названия веток и комментарии к коммитам в Git: лучшие практики
🙅♂️ Дискриминация на работе: в чем проявляется и что делать, если вы с ней столкнулись
🧑💻 Как я входил в IT: опыт подписчиков «Библиотеки программиста»
🛠 Что такое прогрессивные веб-приложения
🌐 Использование глобальной контрольной группы на практике: тонкости, нюансы, подводные камни
🤺 Искусство оскорблять: как поставить коллегу на место и отбить желание работать над проектом
🤖💣 ИИ-ассистенты разработчика: скрытая угроза
🔍💼 Исследование рынка: 8 наиболее востребованных языков программирования в 2024 году
🤖🔢 Математические основы генеративных нейронных сетей: что нужно знать для их изучения
🗿🔨 Как мы разбили монолит на маленькие кусочки и что из этого вышло
🗺💼 Из Москвы в Дублин: опыт российского разработчика из Amazon
🐰 Как решить проблему высокой связанности сервисов с помощью событийно-ориентированной архитектуры и RabbitMQ
🐛 7 признаков неопытного программиста
✍️ Как написать отличную документацию
⚙️ Названия веток и комментарии к коммитам в Git: лучшие практики
🙅♂️ Дискриминация на работе: в чем проявляется и что делать, если вы с ней столкнулись
🧑💻 Как я входил в IT: опыт подписчиков «Библиотеки программиста»
🛠 Что такое прогрессивные веб-приложения
🌐 Использование глобальной контрольной группы на практике: тонкости, нюансы, подводные камни
🤺 Искусство оскорблять: как поставить коллегу на место и отбить желание работать над проектом
🤖💣 ИИ-ассистенты разработчика: скрытая угроза
🔍💼 Исследование рынка: 8 наиболее востребованных языков программирования в 2024 году
🤖🔢 Математические основы генеративных нейронных сетей: что нужно знать для их изучения
🗿🔨 Как мы разбили монолит на маленькие кусочки и что из этого вышло
🗺💼 Из Москвы в Дублин: опыт российского разработчика из Amazon
🐰 Как решить проблему высокой связанности сервисов с помощью событийно-ориентированной архитектуры и RabbitMQ
👁️💼 Открытые и скрытые вакансии в IT: как найти работу мечты
Существует целый пласт скрытых вакансий, о которых знает ограниченный круг лиц. Как найти эти вакансии и не упустить свой шанс? Читайте в нашей статье.
🔗 Читать статью
🔗 Зеркало
Существует целый пласт скрытых вакансий, о которых знает ограниченный круг лиц. Как найти эти вакансии и не упустить свой шанс? Читайте в нашей статье.
🔗 Читать статью
🔗 Зеркало
#дайджест выходного дня
🔴 Анализ энергопотребления JVM для JDK 21 — какие JVM наиболее производительные и энергоэфективные
🔴 Когда интеграция БД превосходит микросервисы — автор предлагает несколько вариантов архитектуры, подробно рассматривая микросервисную архитектуру и подход интеграции через БД
🔴 Внутренний мир: Java NIO — материал об основных концепциях и устройстве java.nio, используемом для обеспечения неблокирующего ввода или вывода
🔴 JEP 463: Неявно объявленные классы и основные методы экземпляра — содержит изменения правил для неявного объявления классов в исходных файлах и процедуры выбора основного метода для вызова
🔴 IntelliJ Scala Plugin 2024.1 — куча полезных изменений для работы со Scala 3 и его синтаксисом
🔴 Анализ энергопотребления JVM для JDK 21 — какие JVM наиболее производительные и энергоэфективные
🔴 Когда интеграция БД превосходит микросервисы — автор предлагает несколько вариантов архитектуры, подробно рассматривая микросервисную архитектуру и подход интеграции через БД
🔴 Внутренний мир: Java NIO — материал об основных концепциях и устройстве java.nio, используемом для обеспечения неблокирующего ввода или вывода
🔴 JEP 463: Неявно объявленные классы и основные методы экземпляра — содержит изменения правил для неявного объявления классов в исходных файлах и процедуры выбора основного метода для вызова
🔴 IntelliJ Scala Plugin 2024.1 — куча полезных изменений для работы со Scala 3 и его синтаксисом
serialVersionUID
Это статическое поле, которое используется для версионирования сериализованных объектов. Когда объекты сериализуются, serialVersionUID указывает версию класса, используемую при сериализации и десериализации.
Проблема, которую serialVersionUID решает, связана с обеспечением совместимости при сериализации. Если класс был сериализован с определенной версией serialVersionUID, то при десериализации Java будет проверять, соответствует ли текущая версия класса версии, сохраненной в сериализованных данных. Если версии не совпадают, может быть брошено исключение InvalidClassException, указывающее на несовместимость версий.
Это статическое поле, которое используется для версионирования сериализованных объектов. Когда объекты сериализуются, serialVersionUID указывает версию класса, используемую при сериализации и десериализации.
Проблема, которую serialVersionUID решает, связана с обеспечением совместимости при сериализации. Если класс был сериализован с определенной версией serialVersionUID, то при десериализации Java будет проверять, соответствует ли текущая версия класса версии, сохраненной в сериализованных данных. Если версии не совпадают, может быть брошено исключение InvalidClassException, указывающее на несовместимость версий.
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
🤔🤔 Как создать свой сборщик проектов
Автор делится опытом написания проекта, описывает с какими проблемами пришлось столкнуться, рассказывает о причинах принятия технических решений, примеры использования шаблонов проектирования. При этом фокус делает на том, каким проект получился в итоге.
Статья направлена на пока еще не очень опытных инженеров, которые хотят познакомиться с проектом сложнее Hello world на Spring Boot и узнать что-то новое в процессе.
Читать статью
#гайд
Автор делится опытом написания проекта, описывает с какими проблемами пришлось столкнуться, рассказывает о причинах принятия технических решений, примеры использования шаблонов проектирования. При этом фокус делает на том, каким проект получился в итоге.
Статья направлена на пока еще не очень опытных инженеров, которые хотят познакомиться с проектом сложнее Hello world на Spring Boot и узнать что-то новое в процессе.
Читать статью
#гайд
SIP-61 — Развертывание дефолтных аргументов для бинарной совместимости
Интересный SIP от Li Haoyi, с бурным обсуждением нейминга от Одерски. Само по себе предложение выглядит вкусным для либ: в текущей реальности, когда в классе или функции добавляется параметр, имеющий дефолтное значение, новая версия либы является семантически совместимой для пользователя, но бинарно несовместимой с предыдущей версией. Предлагается создать специальную аннотацию, помечать ею такие поля и получать в итоге бинарную совместимость.
Подробнее тут
#почитать
Интересный SIP от Li Haoyi, с бурным обсуждением нейминга от Одерски. Само по себе предложение выглядит вкусным для либ: в текущей реальности, когда в классе или функции добавляется параметр, имеющий дефолтное значение, новая версия либы является семантически совместимой для пользователя, но бинарно несовместимой с предыдущей версией. Предлагается создать специальную аннотацию, помечать ею такие поля и получать в итоге бинарную совместимость.
Подробнее тут
#почитать
💊💊 Паттерн Poison Pill в Java
Poison Pill, или «ядовитая пилюля», — это шаблон, используемый для мягкой остановки потока или процесса. Суть его заключается в отправке специального, заранее определенного сообщения, которое сигнализирует о необходимости завершения работы. Это сообщение обрабатывается в рамках нормального потока сообщений и позволяет потоку корректно завершить работу, освободить ресурсы и закрыть все активные соединения.
Читать статью
#почитать
Poison Pill, или «ядовитая пилюля», — это шаблон, используемый для мягкой остановки потока или процесса. Суть его заключается в отправке специального, заранее определенного сообщения, которое сигнализирует о необходимости завершения работы. Это сообщение обрабатывается в рамках нормального потока сообщений и позволяет потоку корректно завершить работу, освободить ресурсы и закрыть все активные соединения.
Читать статью
#почитать
Очередной #дайджест для джависта
🔸 JEP 457: Class-File API — предоставляет стандартный API для файлов классов
🔸 MethodHandle primer — разобраны наиболее часто используемые фичи рефлексии и кодогенерации
🔸 Builders, Withers и Records: путь Java к immutability — о том, как и зачем объявлять и работать с неизменяемыми объектами в Java
🔸 Scala 3 Data Transformation Library: ducktape 0.2.0 — разработчик библиотеки рассказывает о внутрянке проекта и о том, как с пришествием 0.2.0 новые фичи библиотеки позволяют пользоваться ею с кайфом
🔸 The Death of Monads? Direct Style Algebraic Effects — в этом видео за 17 минут излагается сущность алгебраических эффектов и сравнивается с функциональными эффектами и безэффектным кодом
🔸 JEP 457: Class-File API — предоставляет стандартный API для файлов классов
🔸 MethodHandle primer — разобраны наиболее часто используемые фичи рефлексии и кодогенерации
🔸 Builders, Withers и Records: путь Java к immutability — о том, как и зачем объявлять и работать с неизменяемыми объектами в Java
🔸 Scala 3 Data Transformation Library: ducktape 0.2.0 — разработчик библиотеки рассказывает о внутрянке проекта и о том, как с пришествием 0.2.0 новые фичи библиотеки позволяют пользоваться ею с кайфом
🔸 The Death of Monads? Direct Style Algebraic Effects — в этом видео за 17 минут излагается сущность алгебраических эффектов и сравнивается с функциональными эффектами и безэффектным кодом
❗«Библиотека программиста» продолжает поиски контент-менеджера для ведения телеграм-каналов
Ищем человека, который грамотно пишет и разбирается в одной из этих тем:
👉Java
👉DevOps
👉тестирование
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Подробнее о вакансии и форма для отклика — по ссылке.
Ждем вас в команде!
Ищем человека, который грамотно пишет и разбирается в одной из этих тем:
👉Java
👉DevOps
👉тестирование
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Подробнее о вакансии и форма для отклика — по ссылке.
Ждем вас в команде!
🎢🎢 Генерация OpenAPI из Spring Boot MVC
Очень обширный туториал, который подойдет для среднего и продвинутого специалиста.
Для генерации будет использоваться зависимость springdoc-openapi-starter-webmvc-ui.
Библиотека поддерживает:
👉 OpenAPI 3
👉 Spring Boot V3 (для V2 используется другая зависимость, более подробно в документации)
JSR-303
👉 Swagger UI (будет сгенерирована страница с интерфейсом, через который мы сможем отправлять запросы на сервер)
👉 OAuth 2 (это проверять не будем, но добавим токен типа Bearer)
👉 GraalVM native images (не будем проверять)
Читать статью
#туториал
Очень обширный туториал, который подойдет для среднего и продвинутого специалиста.
Для генерации будет использоваться зависимость springdoc-openapi-starter-webmvc-ui.
Библиотека поддерживает:
👉 OpenAPI 3
👉 Spring Boot V3 (для V2 используется другая зависимость, более подробно в документации)
JSR-303
👉 Swagger UI (будет сгенерирована страница с интерфейсом, через который мы сможем отправлять запросы на сервер)
👉 OAuth 2 (это проверять не будем, но добавим токен типа Bearer)
👉 GraalVM native images (не будем проверять)
Читать статью
#туториал