Как стать автором
Обновить
121.83

Java *

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

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

Расширение PVS-Studio для Visual Studio Code: поиск ошибок в Java-коде

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 811

Java-разработчик и предпочитаешь работать в VS Code? Для тебя есть хорошая новость! Теперь ты можешь писать ещё более надёжный код вместе с расширением PVS-Studio, которое помогает находить ошибки в Java-проектах и не только.

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 8

Новости

MyBatis «на минималках»

Уровень сложности Простой
Время на прочтение 11 мин
Количество просмотров 3.2K

Привет, Хабр! Меня зовут Пётр Гусаров, я Java‑программист в CDEK. В этой статье расскажу про не очень распространённый фреймворк MyBatis.

Почему MyBatis? Потому что мы в CDEK используем его в большинстве проектов, и в деле он весьма неплохо себя показал. Немного сложен и непривычен на этапе входа, но все эти минусы перекрываются его гибкостью. «Да есть Hibernate, Jooq, JDBC и еще что‑то», — скажут бывалые. Есть, но в данной статье речь пойдёт о MyBatis.

Статья будет полезна новичкам, которые хотели попробовать данный фреймворк или попробовали, но что‑то не получилось.

Читать далее
Всего голосов 39: ↑38 и ↓1 +37
Комментарии 19

Интеграционное тестирование, если у вас R2DBC и liquibase

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 743

Уже немало копий поломали в поиске грааля идеального способа интеграционного тестирования с использованием БД.

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

Тестировать
Всего голосов 3: ↑2 и ↓1 +1
Комментарии 0

Java Digest #9

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 2.3K

Всем привет! 👋 👋 👋 Мы Java-разработчики Тинькофф: Константин, Андрей и Арсений. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки — и решили делиться этим не только с коллегами, но и со всем сообществом.

Читать девятый выпуск
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 1

Истории

Как подружить нейросети и разработку: программируем с ChatGPT

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 6.8K

Большинство людей используют ChatGPT и подобные ему технологии как альтернативу Google. Но насколько нейросеть пригодна для написания рабочего программного кода? Помогает ли она упростить этот процесс, повысить его эффективность и качество? И какие сегодня возможности по автоматизации кодирования нам предлагает машинный интеллект?

Привет, Хабр! Меня зовут Егор Чичерин, я работаю ведущим Java-разработчиком в компании IBS и специализируюсь на разработке API в микросервисной архитектуре. В этой статье я расскажу о собственном опыте создания программы с помощью ChatGPT.

Подробнее о моем эксперименте
Всего голосов 10: ↑9 и ↓1 +8
Комментарии 9

Копаемся в встроенном приложении камеры старого Xiaomi. Часть 1

Уровень сложности Средний
Время на прочтение 16 мин
Количество просмотров 4.2K

Попытаемся портировать встроенные фильтры камеры Xiaomi Mi A1 на новенький Redmi Note 12 с восьмой попытки

[К первой попытке!]
Всего голосов 40: ↑40 и ↓0 +40
Комментарии 15

Плагин для анализа планов PostgreSQL в Eclipse и DBeaver, и его разработка

Уровень сложности Средний
Время на прочтение 8 мин
Количество просмотров 2.3K

Для пользователей explain.tensor.ru - нашего сервиса визуализации PostgreSQL-планов, в дополнение к плагину Jetbrains мы создали еще один - с возможностью форматировать запросы и анализировать планы в Eclipse IDE и DBeaver.

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 11

Рыночные данные в кармане: как получать их быстро и просто с помощью Java/Kotlin и Spring Boot + TinkoffApi

Уровень сложности Средний
Время на прочтение 8 мин
Количество просмотров 4.1K

Если вы хотите написать проект, связанный с рыночными данными или торговлей на бирже, и вы знакомы с Java или Kotlin и слышали про Spring Boot, то эта статья для вас

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 3

Разбираемся с MavenGate, новой атакой на цепочку поставок для Java и Android-приложений

Время на прочтение 11 мин
Количество просмотров 3.7K

Всем привет!

Сегодня с вами Юрий Шабалин, генеральный директор «Стингрей Технолоджиз», и я хотел бы разобрать в этой статье новый тип атаки на цепочку поставок под названием «MavenGate».

А что в ней, собственно, такого? Ну хотя бы то, что ей подвержены более 18% всех Java-библиотек, соответственно, для Android это применимо в полной мере. Совершить эту атаку безумно просто. Суть ее основана на логике работы сборщиков Java/Android-проектов и разрозненности репозиториев, которые хранят эти библиотеки.

Если стало интересно и хочется проверить, уязвимы ли вы, добро пожаловать под кат!

Читать далее
Всего голосов 19: ↑19 и ↓0 +19
Комментарии 11

Где бесплатно учить Java в 2024 году

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 18K

В 2024 году изучение Java остается одним из актуальных направлений для тех, кто стремится стать профессиональным разработчиком.

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

 Изучения Java в 2024 году остается актуальным по нескольким причинам:

1. Популярность: Java является одним из самых популярных языков программирования в мире и сохранит свою популярность и в 2024 году. Множество компаний и организаций используют Java для разработки приложений и веб-сервисов, поэтому знание этого языка будет востребовано.

2. Карьерные возможности: Знание Java открывает широкий спектр карьерных возможностей. Работа с Java может предоставить вам возможность работать в таких областях, как разработка мобильных приложений, веб-разработка, разработка игр, аналитика данных и многое другое.

3. Android-разработка: Java является популярным языком программирования для разработки приложений под платформу Android. С учетом того, что Android продолжает быть одной из самых популярных мобильных операционных систем в мире, знание Java будет необходимым для разработки приложений для этой платформы.

4. Устоявшийся экосистема: Java имеет богатую экосистему инструментов и фреймворков, которые помогают разработчикам ускорить процесс разработки и повысить производительность. Знание Java позволит вам использовать все преимущества этой экосистемы и упростить свою работу.

Читать
Всего голосов 12: ↑9 и ↓3 +6
Комментарии 10

ExamClouds: Бесплатные Уроки Java для Начинающих с Видео, Тестами и Практикой

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 3.3K

В мире стремительно развивающихся технологий и программирования, найти надежный и обширный источник обучения может быть сложной задачей, особенно для тех, кто только начинает свой путь в программировании. Если вы в поиске идеального ресурса для освоения Java, то ваш ответ - ExamClouds!

ExamClouds: Ваш Путеводитель в Мире Java

На сайте www.examclouds.com мы предлагаем бесплатные уроки для начинающих по Java программированию, созданные с любовью к коду и стремлению делиться знаниями. Что делает ExamClouds уникальным и неотразимым источником обучения? Давайте рассмотрим несколько ключевых особенностей.

1. Обширные Учебные Материалы: Видео, Статьи, Тесты и Задания

Каждый урок на ExamClouds охватывает все аспекты Java программирования. Вы не просто читаете статьи или смотрите видео - вы получаете полноценный опыт благодаря разнообразным форматам контента. Видеоуроки помогут вам визуализировать концепции, статьи подробно разъясняют материал, тесты проверяют ваши знания, а практические задания закрепляют полученные навыки.

2. Подходит для Всех Уровней Навыков

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

3. Интерактивные Тесты и Практика

Что лучше, чем проверить свои знания? Пройдите тесты на ExamClouds, чтобы убедиться, что вы усвоили материал, и затем закрепите его на практике с нашими интересными заданиями.

4. Обновления и Расширения Ресурсов

Читать далее
Всего голосов 9: ↑0 и ↓9 -9
Комментарии 4

Переходим на российскую Java. Что это такое и зачем нужно?

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 46K

Одна из сложнейших задач этого года — адаптация под новые условия работы с зарубежными вендорами и с open-source сообществом в целом. Open-source не решает все проблемы; в некоторых случаях он их только создает. При этом в российской разработке есть особенности, связанные с импортозамещением. Все вместе это наложило отпечаток на большинство классических программных платформ и языков программирования.

В 2023 году ЕДИНЫЙ ЦУПИС перевел информационные сервисы на отечественную платформу Java с поддержкой ее поставщика. Сейчас в качестве среды разработки и исполнения Java в ЕДИНОМ ЦУПИС используется Axiom JDK Pro. Давайте посмотрим на проблемы этого года глазами разработчиков Java-платформы, а поможет нам в этом Олег Чирухин, деврел в команде этого дистрибутива.

Читать далее
Всего голосов 129: ↑51 и ↓78 -27
Комментарии 91

Framework для автоматизации тестирования на Java

Уровень сложности Простой
Время на прочтение 14 мин
Количество просмотров 3.9K

Привет, Хабр! В нашем сегодняшнем материале тестировщики Максим Жигарев и Артем Сенько из Блока ИТ‑развития инвестиционного бизнеса РСХБ‑Интех расскажут, как они автоматизировали тестирование в ИнвестБлоке с использованием Java. Материал основан на докладе, с которым Артем и Максим выступили в рамках внутреннего митапа для сотрудников РСХБ.

Читать далее
Всего голосов 21: ↑19 и ↓2 +17
Комментарии 8

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

One Day Offer от УЦСБ
Дата 17 февраля
Время 10:00
Место
Онлайн

Весенние конференции JRG: онлайн и офлайн, новые и любимые

Время на прочтение 3 мин
Количество просмотров 580

Этой весной мы проведём ряд конференций, и среди них целых три новых (про Go, ML и безопасность приложений). Одни мероприятия будут полностью онлайновыми, а другие пройдут в  Москве (но и к таким возможно подключиться удалённо).

Все билеты уже в продаже, а в случае с частью конференций ещё не поздно подать заявку на доклад. Лайфхак: тебе не понадобится покупать билет на конференцию, если сам на ней выступаешь! Хотя, конечно, для спикеров это обычно не главное: важнее, что пока объясняешь другим тему, сам её понимаешь куда лучше прежнего.

Этот пост — сразу обо всём конференционном сезоне:
Flow (системный и бизнес-анализ), 12 марта, онлайн
SafeCode (безопасность приложений), 13-14 марта, онлайн
GoFunc (разработка на Go), 14-15 марта, онлайн
TechTrain (профессиональный рост в IT), 6 апреля
HolyJS (JS-разработка), 15 апреля в онлайне и 26-27 апреля в Москве
Heisenbug (тестирование), 16 апреля в онлайне и 22-23 апреля в Москве
JPoint (Java-разработка), 17 апреля в онлайне и 24-25 апреля в Москве
Mobius (мобильная разработка), 14 мая в онлайне и 20-21 мая в Москве
C++ Russia (понятно что), 15 мая в онлайне и 22-23 мая в Москве
I'ML (работа с ML), в июне, онлайн

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 0

Без ручного нет автоматизированного. Простой тест на Java для начинающих QA

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 3.7K

Теперь мы можем сделать вывод, что автоматизация - это ручные тесты, переведённые в автоматический процесс. И если нет ручных, то нет и автотестов.

Хочешь кататься, люби и саночки возить - это как раз про проектирование тест-кейсов. Мы конечно говорим не про автоматизаторов, которые пишут автотесты по ТК от ручных тестировщиков. Мы говорим про QA, который одновременно выполняет роль manual и automation engineer в команде.

Сегодня мы будем писать на Java

⚠️ Для того чтобы Яндекс не поставил капчу на наш парсинг сайта, нам необходимо сначала зайти на любую страницу, к примеру google translate и только после мы загружаем https://music.yandex.ru/home. Задача избежать прямого посещения сайта.

Шаг 1 Откроем https://music.yandex.ru/home в инкогнито
Шаг 2 Нажимаем на крестик для закрытия страницы онбординга

Написать автотест на Java
Всего голосов 7: ↑4 и ↓3 +1
Комментарии 0

Apache Maven — введение в автоматизированную сборку проектов (часть 1)

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 2.7K

Добрый день Хабр, в данной статье мы разберём один из сборщиков проектов Apache Maven. Начнём с установки, настройки и сборки нашего первого проекта.

Apache Maven - это фреймворк по автоматизации и сборки Java-проектов. Обычно просто называют Maven.

Самую подробную информацию вы всегда можете найти на официальном сайте Maven.

А также центральный репозиторий Maven где собрано всё самое необходимое для работы с Maven.

Читать далее
Всего голосов 14: ↑2 и ↓12 -10
Комментарии 2

Spring Data JPA и Hibernate: решаем проблему динамически изменяемого запроса к базам данных

Время на прочтение 6 мин
Количество просмотров 5.8K

Привет, Хабр! Меня зовут Николай Пискунов, я ведущий разработчик в подразделении Big Data. В блоге beeline cloud мои коллеги уже знакомили вас с SOLID, заглядывали под капот Python. Я же расскажу о том, как с наименьшими затратами получить динамически изменяемый запрос к БД, используя Spring Data JPA и Hibernate. 

Самый простой пример — реализация эндпоинта, который обрабатывает запросы фильтра интернет-магазина. Например, когда вы задаете характеристики, согласно которым возвращаются определенные товары.

Читать далее
Всего голосов 14: ↑8 и ↓6 +2
Комментарии 21

DataMaps. Рассказ о нашей ORM на Kotlin

Уровень сложности Простой
Время на прочтение 15 мин
Количество просмотров 2.5K

Уже несколько лет мы с командой трудимся над платформой, которая официально называется БФТ.Платформа, а менее официально - Ice. В основном наша платформа используется в органах власти и государственных учреждениях.
Сегодня хотелось бы рассказать не обо всей платформе, а только об одном из ее компонентов - ORM (object-relational mapping) - фреймворке DataMaps.

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

Внутри БФТ-Холдинга Datamaps зарекомендовали с одной стороны, как легкий, наглядный и понятный для разработчиков фреймворк, с другой стороны, мощный по своим возможностям.

Ознакомиться
Всего голосов 16: ↑15 и ↓1 +14
Комментарии 18

Туториал по нотификациям через RSocket: от концепции до запуска в продакшн

Уровень сложности Средний
Время на прочтение 17 мин
Количество просмотров 2K

Однажды мы решали задачу разработки системы нотификаций для Альфа-Онлайн — мобильного банка в вебе. Нам было необходимо разработать инструмент по отправке сообщений (нотификаций) со стороны сервера в браузер в любой момент времени, пока клиент онлайн. На стороне Альфа-Онлайн каждый процесс самостоятельно определит дальнейшую судьбу сообщения.

После анализа различных вариантов, мы остановились на WebSocket в связке с RSocket.

Но есть нюанс — информации по RSocket почти нет. Технология относительно новая и просто так сразу на ней не начнешь делать проекты. Для начала нужно изучить теорию, овладеть терминологией и при необходимости, собрать тестовый прототип, чтобы появилось понимание, как RSocket работает изнутри. Но попробуй найди эту информацию.

Этап анализа и разработки превратился в бесконечные ресёрчи с долгим поиском информации по теме. Реальных примеров почти нет, а статьи (как англоязычные, так и русскоязычные) чаще всего приводят просто абстрактные примеры использования. Выжать практику из теоретических статей сопоставимо с попыткой нарисовать сову по мануалу из трех шагов.

Поэтому, когда мы закончили проект, то решили восполнить (или попытаться) этот пробел в русскоязычной среде на реальном примере. Надеемся, что эта статья поможет вам разобраться в применении RSocket over WebSocket и сократит время на погружение :) 

Читать далее
Всего голосов 17: ↑17 и ↓0 +17
Комментарии 1

Как сократить потребление памяти в интеграционных тестах с Kafka с помощью GraalVM

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 1.6K

В данной статье я хочу поделиться своим опытом создания нативного образа для EmbeddedKafka с использованием GraalVM. Использование такого образа в интеграционных тестах позволяет увеличить скорость запуска тестовых сценариев и сократить объем потребляемой памяти. Интересно отметить, что в сравнении с использованием confluentinc/cp-kafka в Testcontainers, разница в скорости и потреблении памяти оказывается заметной — и не в пользу последнего.

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Комментарии 10

Вклад авторов

Работа

Java разработчик
402 вакансии