Обновить
128K+

Java *

Объектно-ориентированный язык программирования

249,83
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Java CSP быстрый старт

Время на прочтение8 мин
Охват и читатели29K

Если вы решили разрабатывать приложение на Java + maven, которое должно работать с отечественной криптографией, то эта статья для вас.

В статье рассказывается как создать приложение и подключить к нему JavaCSP для работы с ГОСТ-овой криптографией. В качестве примера мы создадим программу, показывающую все сертификаты в регистре.

Целевая аудитория junior/middle разработчики, которым требуется реализовать подписание/шифрование на базе отечественной криптографии. И которые до этого не имели опыта работы с Крипто Про.

Читать далее

Как я запускал классификацию изображений на домашнем кластере Apache Ignite ML

Время на прочтение5 мин
Охват и читатели3.7K

Я - студент университета, знаком с машинным обучением в рамках пройденного курса, есть интерес к современным кластерным технологиям, конкретно - к Apache Ignite. Под катом — история о том, как я запускал пример OneVsRestClassificationExample из дистрибутива.

Читать далее

Путь ВТБ Лизинга к сферическому качеству в вакууме

Время на прочтение8 мин
Охват и читатели2.6K

Привет, Хабр! Меня зовут Максим Бутаков, я работаю руководителем отдела контроля качества и тестирования в компании «ВТБ Лизинг». Сегодня я хочу рассказать о создании этого направления: о том, как нам удалось менее чем за три года улучшить качество продукта и существенно уменьшить количество багов. Думаю, под катом найдётся чем вас удивить.

Читать далее

JDK Stream реверс-инженеринг (реконструкция)

Время на прочтение31 мин
Охват и читатели6.1K

Привет all!

Приглянулась мне однажды идея реверс-инженеринга (реконструкции) StreamAPI из JDK8. Что из этого вышло, прошу под cat...

Под cat

Что наша жизнь? Игра

Время на прочтение5 мин
Охват и читатели11K

Что делает в отпуске директор группы программерских компаний? То, что не может делать на работе. Программирует. Всласть. :)

Мне много лет, я выполз из тьмы и в Transport Tycoon Deluxe я играл ещё в то время, когда эта игра только появилась (это 94-й год).

Читать далее

One Day Offer от Альфа-Банка

Время на прочтение1 мин
Охват и читатели7.9K

Мы расширяем нашу команду IT-специалистов и решили пойти против всех известных правил найма в банк. Вместо череды собеседований разного уровня с долгими паузами между этапами и недельным ожиданием результатов — проведём One Day Offer, где можно получить приглашение на работу всего за один день.

Когда?

4 сентября – Java-разработчики (подать заявку нужно до 2 сентября).

11 сентября – JavaScript-разработчики (заявки – до 9 сентября).

18 сентября – системные аналитики (заявки – до 16 сентября).

Читать далее

Stale Element Reference в Selenide

Время на прочтение2 мин
Охват и читатели5K

Всем привет! Данная ошибка является очень популярной при использовании Selenide автотестах в Java. На поиск решения у меня ушло довольно много времени, поэтому в этой статье я хочу подробно рассказать про эту ошибку и как с ней работать.

Читать далее

Минутка DevOps-а для Java-разработчиков

Время на прочтение10 мин
Охват и читатели14K

В этой статье мы поверхностно затронем сборку Java-приложений в GitLab CI, но сделаем так, чтобы в вашем merge request-е были отчёты о пройденных юнит-тестах и code coverage. А ещё мы соберём приложение при помощи образа с JDK, который тоже соберём сами.

На КДПВ шутка — а в тексте всё серьёзно.

Читать далее

Нельзя так просто взять и вычислить абсолютное значение

Время на прочтение4 мин
Охват и читатели36K

Кажется, задача вычисления абсолютного значения (или модуля) числа совершенно тривиальна. Если число отрицательно, давайте сменим знак. Иначе оставим как есть. На Java это будет выглядеть примерно так:


public static double abs(double value) {
  if (value < 0) {
    return -value;
  }
  return value;
}

Вроде бы это слишком просто даже для вопроса на собеседовании на позицию джуна. Есть ли тут подводные камни?

Читать дальше →

SDK и API: в чем разница?

Время на прочтение4 мин
Охват и читатели146K
Разработчики программного обеспечения пользуются основными инструментами: SDK и API. По сути, как SDK, так и API позволяют улучшить функционал приложений, не прибегая к большим усилиям.

Что такое SDK?


Аббревиатура SDK расшифровывается как software development kit. SDK, или devkit, — это набор средств для разработки ПО под определенную платформу. Он содержит компоновочные блоки, средства отладки, а зачастую фреймворк или группу библиотек кода, например набор подпрограмм для определенной операционной системы.
Читать дальше →

Как приручить дракона или Сказочка о том, как разработчик впервые встретился с Unit-тестами

Время на прочтение19 мин
Охват и читатели11K

Disclaimer.

Статья не содержит описание новомодных технологий или прорывы на поприще разработки. Рассматривайте её как рассказ об опыте открытия для себя мира unit тестирования.

Если вы раньше не писали unit-тесты, но хотите начать, не уверены как тестировать вашу БД и нужно ли это, не знаете как использовать моки, и для чего они, то эта статья может стать началом вашего пути.

А ещё здесь есть драконы - и это нормально.

Читать далее

Kotlin + Hibernate: всё сложно

Время на прочтение8 мин
Охват и читатели27K

Невозможно представить JPA без сущностей. Однако, их определение в Котлине таит некоторое количество подводных камней. Давайте посмотрим, как избежать распространенных ошибок и использовать возможности Котлина на максимум. Внимание спойлер! Классы данных — не лучший вариант для сущностей.

В этой статье основное внимание будет уделено Hibernate, поскольку он является несомненным лидером среди всех реализаций JPA.

Читать далее

IntelliJ IDEA Changelists и Git Staging

Время на прочтение9 мин
Охват и читатели21K

С момента выпуска IntelliJ IDEA 2020.3 теперь есть два способа управлять своими коммитами в Git. Первый - за счет существующей функциональности со списками изменений (Changelists) IntelliJ IDEA , второй - за счет поддержки Git staging . В этом блоге вы познакомитесь с обоими подходами и подчеркнете различия. Не существует правильного или неправильного ответа, это случай выбора метода, который лучше всего подходит для вас или который вам больше всего знаком.

Читать далее

Ближайшие события

Код-ревью без очередей

Время на прочтение8 мин
Охват и читатели9.2K

Программисты пишут код (удивил, да?) Если это пет-проект, то вы вольны делать со своим кодом все, что хотите. Но когда над одним проектом работает несколько человек или даже целая команда, рано или поздно встаёт вопрос о необходимости код-ревью. Кому отдать на ревью? Как ускорить этот процесс? Как равномерно распределять реквесты по ревьюерам? Вопросов много, а ответы не так очевидны. В этой статье расскажу, с какой проблемой мы столкнулись в команде автотестирования в Wrike, как у нас устроен процесс ревью и зачем нам понадобился самописный сервис.

Читать далее

Solar InRights: отрицание, гнев, депрессия, торг, переход на Java 16

Время на прочтение6 мин
Охват и читатели5.9K

Привет! Большинство разработчиков не спешат обновляться до новых версий Java. Многие опасаются, что все сломается, что появятся скрытые баги, что это займет очень много времени. Сегодня мы поделимся опытом перевода IGA-системы Solar InRights с Java 8 на актуальную Java 16, расскажем, для чего мы это сделали и почему именно сейчас. Подробно опишем, какие проблемы могут возникнуть при обновлении и как их устранить, а главное – поделимся тем, что мы в итоге получили.

Читать далее

Java. Factory Method Pattern in Game Server

Время на прочтение5 мин
Охват и читатели16K

Фабричный метод - это творческий шаблон проектирования, который предоставляет интерфейс для создания объектов в родительском классе,  но позволяет подклассам изменять тип создаваемых объектов.

Проблема

Представьте, что вы создаете модуль игровых наград. Первая версия вашего приложения может обрабатывать только награду ЗОЛОТО, поэтому основная часть вашего кода находится внутри класса GoldReward.

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

Отличные новости, правда? А как насчет кода?

Читать далее о фабричном методе

Телеграм бот прогноза погоды на Java Spring

Время на прочтение17 мин
Охват и читатели16K

Создание простого бота для Телеграм на Java Spring, который демонстрирует базовые возможности работы с Telegram API.

Читать далее

Основы Java Bytecode

Время на прочтение29 мин
Охват и читатели43K

Внимание, статья содержит довольно много картинок и получилась довольно тяжелой и объемной

Как и многие базовые вещи на habr уже были статьи о bytecode, основные же отличия данной статьи - в попытке визуализировать, что происходит внутри, и краткий справочник инструкций (может кому пригодиться), многие с примерами использования.

В данной статье будут рассмотрены только основы Java Bytecode. Если вы уже знакомы с его основами, статья вряд ли будет вам интересна.

Вглубь

10 приниципов разработки на Java

Время на прочтение7 мин
Охват и читатели11K

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

Читать далее про принципы разработки

Как spring-kafka обрабатывает сообщения и не мешает ли этому auto-commit?

Время на прочтение6 мин
Охват и читатели38K

В предыдущей статье мы рассмотрели как работает KafkaConsumer и как реализован механизм auto-commit. 

В этой статье я хочу остановиться на том как получает и обрабатываются сообщения spring-kafka. 

Читать далее