JaCoCo
JaCoCo (Java Code Coverage) — это инструмент с открытым исходным кодом, который используется для измерения покрытия кода Java-тестами. Он помогает разработчикам определить, какие части кода были выполнены тестами, а какие нет.
#для_продвинутых
JaCoCo (Java Code Coverage) — это инструмент с открытым исходным кодом, который используется для измерения покрытия кода Java-тестами. Он помогает разработчикам определить, какие части кода были выполнены тестами, а какие нет.
#для_продвинутых
👍12
#вопросы_с_собеседований
Расскажите про приведение типов. Что такое понижение и повышение типа?
Приведение типов — это преобразование переменной одного типа в другой.
Существует два вида приведения типов:
— Повышение типа (widening): автоматическое преобразование типа в другой, более широкий тип. Например, int в long. При этом не теряется точность, так как широкий тип может представить все значения узкого типа.
— Понижение типа (narrowing): явное приведение к более узкому типу, например double в int. Здесь возможна потеря точности, поэтому требуется явное приведение в коде.
Повышение типа безопасно, компилятор делает его автоматически.
Понижение опасно потерей данных, поэтому разработчик должен явно указать такое приведение в коде, чтобы показать, что он контролирует возможную потерю точности.
Расскажите про приведение типов. Что такое понижение и повышение типа?
Существует два вида приведения типов:
— Повышение типа (widening): автоматическое преобразование типа в другой, более широкий тип. Например, int в long. При этом не теряется точность, так как широкий тип может представить все значения узкого типа.
— Понижение типа (narrowing): явное приведение к более узкому типу, например double в int. Здесь возможна потеря точности, поэтому требуется явное приведение в коде.
Повышение типа безопасно, компилятор делает его автоматически.
Понижение опасно потерей данных, поэтому разработчик должен явно указать такое приведение в коде, чтобы показать, что он контролирует возможную потерю точности.
👍32
Clover
Clover — это инструмент покрытия кода для Java и Groovy, который помогает разработчикам измерить насколько тестами покрыт ваш код, определить какие части кода не тестируются, улучшить качество вашего кода за счет написания тестов для непокрытых частей.
Clover работает путем отслеживания выполнения вашего кода и записи информации о том, какие строки кода были выполнены.
Эта информация используется для создания отчетов, которые показывают вам, насколько хорошо ваш код покрыт тестами.
#для_продвинутых
Clover — это инструмент покрытия кода для Java и Groovy, который помогает разработчикам измерить насколько тестами покрыт ваш код, определить какие части кода не тестируются, улучшить качество вашего кода за счет написания тестов для непокрытых частей.
Clover работает путем отслеживания выполнения вашего кода и записи информации о том, какие строки кода были выполнены.
Эта информация используется для создания отчетов, которые показывают вам, насколько хорошо ваш код покрыт тестами.
#для_продвинутых
👍9❤1
FlexyPool
FlexyPool — это библиотека Java, которая добавляет метрики и гибкие стратегии к пулу соединений, позволяя ему динамически менять размер. Это очень удобно, поскольку большинство пулов соединений предлагают ограниченный набор стратегий динамической конфигурации.
#для_продвинутых
FlexyPool — это библиотека Java, которая добавляет метрики и гибкие стратегии к пулу соединений, позволяя ему динамически менять размер. Это очень удобно, поскольку большинство пулов соединений предлагают ограниченный набор стратегий динамической конфигурации.
#для_продвинутых
👍13
Timefold
Timefold — это высокопроизводительный планировщик на основе искусственного интеллекта, написанный на Java. Он является ответвлением популярного проекта OptaPlanner и позволяет решать сложные задачи оптимизации расписаний и операций.
#для_продвинутых
Timefold — это высокопроизводительный планировщик на основе искусственного интеллекта, написанный на Java. Он является ответвлением популярного проекта OptaPlanner и позволяет решать сложные задачи оптимизации расписаний и операций.
#для_продвинутых
👍9
SBE
SBE (Simple Binary Encoding) — это бинарный формат данных, предназначенный для высокопроизводительного обмена сообщениями между приложениями. Он отличается простотой, компактностью и скоростью, что делает его идеальным для использования в финансовых системах, системах с высокой пропускной способностью и других приложениях, где требуется низкая задержка и высокое использование пропускной способности сети.
#для_продвинутых
SBE (Simple Binary Encoding) — это бинарный формат данных, предназначенный для высокопроизводительного обмена сообщениями между приложениями. Он отличается простотой, компактностью и скоростью, что делает его идеальным для использования в финансовых системах, системах с высокой пропускной способностью и других приложениях, где требуется низкая задержка и высокое использование пропускной способности сети.
#для_продвинутых
👍14
P3C
P3C (Programming Practice and Competition) — это набор правил кодирования Java, разработанный компанией Alibaba. Эти правила направлены на повышение качества и читаемости кода Java, а также на снижение вероятности ошибок.
#для_продвинутых
P3C (Programming Practice and Competition) — это набор правил кодирования Java, разработанный компанией Alibaba. Эти правила направлены на повышение качества и читаемости кода Java, а также на снижение вероятности ошибок.
#для_продвинутых
👍11
Jackson-dataformat-csv
Jackson-dataformat-csv — это библиотека Java, являющаяся модулем расширения популярной библиотеки Jackson для обработки JSON. Она позволяет читать и записывать данные в формате CSV (Comma Separated Values), который широко используется для хранения и обмена табличными данными.
#для_продвинутых
Jackson-dataformat-csv — это библиотека Java, являющаяся модулем расширения популярной библиотеки Jackson для обработки JSON. Она позволяет читать и записывать данные в формате CSV (Comma Separated Values), который широко используется для хранения и обмена табличными данными.
#для_продвинутых
👍18
CGLIB
CGLIB (Code Generation Library) — это библиотека Java, предназначенная для динамической генерации байт-кода. Она позволяет создавать новые классы и модифицировать существующие во время выполнения программы. CGLIB используется в различных фреймворках, таких как Spring, Hibernate и Mockito.
#для_продвинутых
CGLIB (Code Generation Library) — это библиотека Java, предназначенная для динамической генерации байт-кода. Она позволяет создавать новые классы и модифицировать существующие во время выполнения программы. CGLIB используется в различных фреймворках, таких как Spring, Hibernate и Mockito.
#для_продвинутых
👍11
Byte Buddy
Byte Buddy — это библиотека Java для генерации байт-кода во время выполнения. Она позволяет создавать новые классы, модифицировать существующие и перехватывать вызовы методов.
#для_продвинутых
Byte Buddy — это библиотека Java для генерации байт-кода во время выполнения. Она позволяет создавать новые классы, модифицировать существующие и перехватывать вызовы методов.
#для_продвинутых
👍14
Byteman
Byteman — это инструмент для трассировки, мониторинга и тестирования поведения приложений Java и кода среды выполнения JDK. Он позволяет вставлять Java-код в методы приложения или методы среды выполнения Java без необходимости повторной компиляции, повторной упаковки или даже повторного развертывания приложения.
#для_продвинутых
Byteman — это инструмент для трассировки, мониторинга и тестирования поведения приложений Java и кода среды выполнения JDK. Он позволяет вставлять Java-код в методы приложения или методы среды выполнения Java без необходимости повторной компиляции, повторной упаковки или даже повторного развертывания приложения.
#для_продвинутых
👍8
cache2k
cache2k — это высокопроизводительная библиотека кэширования в памяти для Java-приложений. Она фокусируется на предоставлении хорошо спроектированной реализации кэширования объектов в памяти.
#для_продвинутых
cache2k — это высокопроизводительная библиотека кэширования в памяти для Java-приложений. Она фокусируется на предоставлении хорошо спроектированной реализации кэширования объектов в памяти.
#для_продвинутых
👍8❤1
Caffeine
Caffeine — это высокопроизводительная библиотека кэширования для Java, вдохновленная Guava Cache. Она обеспечивает простой API, схожий с ConcurrentHashMap, но с более продвинутыми функциями кэширования.
#для_продвинутых
Caffeine — это высокопроизводительная библиотека кэширования для Java, вдохновленная Guava Cache. Она обеспечивает простой API, схожий с ConcurrentHashMap, но с более продвинутыми функциями кэширования.
#для_продвинутых
Singularity
Singularity — это платформа с открытым исходным кодом для контейнеризации, основанная на Mesos. Она позволяет разработчикам и инженерам DevOps упаковывать приложения и их зависимости в изолированные среды, называемые контейнерами.
#для_продвинутых
Singularity — это платформа с открытым исходным кодом для контейнеризации, основанная на Mesos. Она позволяет разработчикам и инженерам DevOps упаковывать приложения и их зависимости в изолированные среды, называемые контейнерами.
#для_продвинутых
👍7
Checkstyle
Checkstyle — это статический анализатор кода Java, который помогает разработчикам писать код в соответствии с заданными стандартами кодирования. Он может проверять код на различные проблемы, такие как несоответствие стандартам кодирования, дублирование кода, неиспользуемые переменные и методы, неправильные комментарии.
#для_продвинутых
Checkstyle — это статический анализатор кода Java, который помогает разработчикам писать код в соответствии с заданными стандартами кодирования. Он может проверять код на различные проблемы, такие как несоответствие стандартам кодирования, дублирование кода, неиспользуемые переменные и методы, неправильные комментарии.
#для_продвинутых
👍12😢3
SpotBugs
SpotBugs — это бесплатный инструмент статического анализа кода Java, являющийся преемником FindBugs. Он помогает обнаруживать широкий спектр ошибок и потенциальных проблем в коде, таких как нулевые указатели, утечки ресурсов, небезопасное использование API, логические ошибки и неэффективный код.
#для_продвинутых
SpotBugs — это бесплатный инструмент статического анализа кода Java, являющийся преемником FindBugs. Он помогает обнаруживать широкий спектр ошибок и потенциальных проблем в коде, таких как нулевые указатели, утечки ресурсов, небезопасное использование API, логические ошибки и неэффективный код.
#для_продвинутых
👍9🎄1
Cobertura
Cobertura — это инструмент для покрытия кода, который помогает разработчикам Java отслеживать, какие части их кода тестируются. Он работает путем сбора данных о том, какие строки кода выполняются во время тестов, и сравнения этих данных с полным набором строк кода в проекте.
#для_продвинутых
Cobertura — это инструмент для покрытия кода, который помогает разработчикам Java отслеживать, какие части их кода тестируются. Он работает путем сбора данных о том, какие строки кода выполняются во время тестов, и сравнения этих данных с полным набором строк кода в проекте.
#для_продвинутых
👍9
ADT4J
ADT4J (Abstract Data Type for Java) — это библиотека Java, которая предоставляет абстрактные типы данных (ADT) для создания надежных и эффективных программ. Она основана на модели программирования ADT, которая отделяет реализацию данных от их интерфейса. Это позволяет разработчикам создавать код, который является более модульным, понятным и надежным.
#для_продвинутых
ADT4J (Abstract Data Type for Java) — это библиотека Java, которая предоставляет абстрактные типы данных (ADT) для создания надежных и эффективных программ. Она основана на модели программирования ADT, которая отделяет реализацию данных от их интерфейса. Это позволяет разработчикам создавать код, который является более модульным, понятным и надежным.
#для_продвинутых
👍7
Avaje Http Server
Avaje Http Server — это библиотека Java, которая упрощает разработку REST API с помощью аннотаций. Она генерирует код адаптера для различных фреймворков HTTP-серверов, таких как Javalin и Helidon SE.
#для_продвинутых
Avaje Http Server — это библиотека Java, которая упрощает разработку REST API с помощью аннотаций. Она генерирует код адаптера для различных фреймворков HTTP-серверов, таких как Javalin и Helidon SE.
#для_продвинутых
👍8