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

Java *

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

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

Amplicode Launch Event – конвейер для Spring-приложений прямо в IntelliJ IDEA

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

На прошлой неделе команда Amplicode провела митап, который длился целых 3,5 часа! За это время состоялось шесть докладов, затрагивающих все аспекты разработки приложений на Spring — от настройки окружения до создания бизнес-логики и реализации админки на React Admin.

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

Новости

С правильным Днем программиста

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

Вчера, 12 сентября, я получил раз 20 поздравление с днем программиста. День программиста — это 256-й день в году. Идея отмечать этот день понятная, интересная, воспринимается благожелательно, как программистами, так и остальными людьми.

Читать дальше →
Всего голосов 25: ↑10 и ↓15-4
Комментарии42

IntelliJ IDEA 2024.3 EAP: Новые Возможности и Улучшения

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

Команда Spring АйО рада поделиться с вами свежей новостью от JetBrains: стала доступна первая EAP-версия IntelliJ IDEA 2024.3. Среди нововведений улучшения для java и kotlin, прокаченный AI Assistant, а также улучшенный UX.

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

Поддержка CDS в Spring Boot и ожидания от Project Leyden

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

Spring Boot 3.3 раскрывает потенциал CDS (Class Data Sharing) благодаря двум новым функциям: самораспаковывающийся исполняемый JAR и поддержка Buildpacks CDS.

Команда Spring АйО перевела статью, в которой рассмотрены новые функции, нюансы их использования, а также их влияние на время запуска приложения.

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

Истории

Автотесты на Java для websocket на SockJS

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

Всем привет. Меня зовут Ирек, и я в профессиональном IT с 2012 года. Прошел путь от специалиста службы поддержки до разработчика. На данный момент занимаюсь автоматизацией тестирования в компании РТК ИТ.

В статье хочу рассказать о своём опыте автоматизации тестирования websocket. О том какие грабли собрал и какой в итоге велосипед изобрёл.

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

Prometheus: как Бог огня стал Богом мониторинга

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

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

Метрики собирает и анализирует Prometheus – гибкая система с открытым исходным кодом, являющаяся одним из самых распространенных инструментов для реализации мониторинга.

Цель данной статьи - рассмотреть процесс разработки сервиса мониторинга на основе Prometheus и оценить его значимость в контексте современной разработки программного обеспечения.

Читать далее
Всего голосов 15: ↑13 и ↓2+12
Комментарии13

Структурное логирование в Spring Boot 3.4

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

С выходом Spring Boot 3.4 логирование стало ещё удобнее: теперь логи можно записывать в более унифицированном формате, что упрощает их анализ и обработку.

В новом переводе от команды Spring АйО мы разберем основные шаги для настройки и использования этой технологии в проекте.

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

Священная война языков программирования или опыт неудачного переезда с Python на Golang

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

Что же меня побудило перейти на Golang? В то время я сидел на Python ещё версии 2.7.9 — это примерно 2017 год. Потом вышла версия Python 3. Оказалось, что несмотря на множество обещаний, что теперь всё будет работать из коробки, начались дикие конфликты при переходе с 2.7 на новую третью версию. Я тогда немного разочаровался и начал смотреть, что ещё есть интересное, чтобы поработать с сетями. 

Под мои задачи всегда подходил Python. И в работе с Python я себя чувствовал примерно так: это огромная, очень добрая, очень хорошая, почти пушистая черепаха, но при этом ужасно неповоротливая. Очень тяжело с ней путешествовать, очень тяжело порой заставить её сделать то, что мне нужно. В то же время расширение PyPy разгоняло её очень сильно — условно, с 9 до 0,2 секунд.

Читать далее
Всего голосов 37: ↑16 и ↓21-2
Комментарии44

Kotlin глазами Java-разработчика

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

Привет, хабр! Сегодня я хочу рассказать про свой опыт взаимодействия с языком kotlin.

Представлюсь – я java разработчик, работаю в крупном банке, создаю (и поддерживаю существующие) микросервисы.

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

Итак, почему я решил изучить kotlin. Ну, во-первых, прожужали все уши, мол сокращение объема код, лаконичность, читаемость и сахар.

Читать далее
Всего голосов 32: ↑28 и ↓4+28
Комментарии74

Java Digest #16

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

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

В этом выпуске вас ждет обновление Kora, Intellij IDEA, null-safety в Java без регистрации и СМС. Посмотрим видео с прошедшего JVM Language Summit, затронем тему исключений. Не забудем и про безопасность наших приложений, и про логи. Считаем, что этот выпуск можно считать рекордным по количеству упоминаний Project Valhalla: аж 9 упоминаний! 

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

Удивительная история развития сортировки в JDK

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

Как вы считаете, если выполнить java.util.Arrays.sort(), то какая сортировка будет вызвана? Quicksort? Timsort? И та, и другая, потому что для объектов вызывается Timsort, а для примитивов (чисел int, long, float и так далее) — Dual-Pivot Quicksort. В JDK 6 для объектов использовался стандартный Merge sort, а для чисел классическая реализация Quicksort с одним опорным элементом, предложенная Джоном Бентли и Дугласом МакИлрой. В JDK 7 оба алгоритма поменялись: теперь объекты сортируются с помощью Timsort, автор Тим Петерс, а для простых типов данных используется Dual-Pivot Quicksort, предложенный мною вместе с Джоном Бентли и Джошем Блоком в 2009 году. Эта сортировка используется более 15 лет не только в JDK, но и в Android (хотя и немного устаревшая версия).

А зачем нам вообще второй алгоритм сортировки, если есть Timsort? Почему не использовать один и для объектов, и для примитивов? Сегодня я, как автор, расскажу историю Dual-Pivot Quicksort: как он начинался, как развивался и как продолжает развиваться сейчас.

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

Как я разрушил свои стереотипы об автотестах, или Мой путь от Appium до Kaspresso

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

Всем привет!

Меня зовут Сергей Дударев, я руководитель направления автоматизированных тестов в департаменте мобильной разработки «Лаборатории Касперского». В этой статье хочу рассказать, как я прошел путь от Appium до open-source-фреймворка Kaspresso, с чего начинал, какие делал для себя открытия, как разрушались мои стереотипы и какие по итогу были сделаны выводы.

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

Тестирование сообщений в Kafka

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

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

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

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

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
19 сентября
CDI Conf 2024
Москва
20 – 22 сентября
BCI Hack Moscow
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
25 сентября
Конференция Yandex Scale 2024
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн

Интересные приёмы, взятые из исходников Android

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров11K
Интересные приёмы, взятые из исходников Android

В процессе чтения исходников Android SDK я замечал интересные механики и приёмы написания кода, какие-то из них до сих пор используются при создании новых библиотек, другие, напротив, заменены более логичными и понятными конструкциями. В этой статье я постараюсь перечислить всё, что смог заметить сам при изучении исходников Android'а. Сразу отмечу: эта статья не претендует на полноту материала и возможно вы нашли даже больше интересных моментов при чтении кода, ладно, погнали, короче!
Читать дальше
Всего голосов 31: ↑28 и ↓3+43
Комментарии3

Java. Мое решение для поиска изменений между двумя объектами. ChangeChecker

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

Во время работы над аддоном для Jakarta-валидации мне пришлось писать логику по проверке изменений в модели по собственной аннотации CheckExistingByConstraintAndUnmodifiableAttributes.

Долго разглядывал получившейся код, и в голову пришла светлая (наверное) идея: почему бы не вынести все это в полноценный настраиваемый класс?

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

Краткая история Java

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

Команда Spring АйО подготовила перевод статьи, посвящённой истории Java — одного из самых популярных языков программирования. 

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

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

Бесконечная, вечная платёжная система всея МИРЭА

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

В это нелегкое время, так сложно найти работу, когда первокурсники МИРЭА уже пишут курсовые с микросервисами на 1к рпс, а выпускники каждый по системе на миллиарды пользователей. Видимо старому Java-коту ничего не остается, кроме как беседовать с вечностью и её сестрой бесконечностью. Если не они, то кто поможет коту найти работу?

Статью можно прочесть в формате pdf.

В атаку!
Всего голосов 22: ↑3 и ↓19-14
Комментарии13

Мотивацию надо поднять

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

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

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

Хайп вокруг аппаратного ускорения ИИ и реальная ситуация. Обучение модели на телефоне и результаты в миллисекундах

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

Сегодня в ленте было про GPU для дата-центров. Смешно было про "мейнфреймы в офисе для AI" - в статье, на которую ссылается автор, нет ничего про то, что искуственный интеллект может или будет работать на мейнфреймах. И опять про "аппаратное ускорение AI" на пользовательских устройствах. Автор, вы сами попробуйте добраться до этого аппаратного ускорения, и если найдете как - напишите статью. А то элементарная попытка использования GPU для работы TensorFlow Lite приводит только к потерянному времени, а ускорители NPU больше не поддерживаются именно там, где должны были бы. То есть за хайпом вокруг "аппаратного ускорения ИИ" производители создали новую категорию устройств, и теперь стандартно ноутбук будет стоить в 2 раза больше, чем было раньше. А по факту пользоваться этим ускорением будут только компании-производители, чтобы еще больше заработать денег на пользователях через рекламу, "правильные" модели и торговлю персональными данными.

А мы сегодня запустим TensorFlow Lite на устройствах разного класса и года выпуска и посмотрим, что там с производительностью и ускорением.

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

Camunda и Kafka: не откусывай больше, чем можешь проглотить

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

Привет, Хабр! Меня зовут Егор, я бэкенд-разработчик в T-Банке, участвую в разработке продуктов комплаенса. Недавно в одном из наших проектов мы столкнулись с проблемой низкой производительности Camunda — и хотим поделиться опытом, который мы получили в процессе ее решения.

Статья для тех, кто уже немного знаком с Camunda BPM или имел опыт разработки на ней. Многие описанные здесь вещи будут, скорее всего, непонятны новичкам в Camunda, поэтому лучше будет прежде ознакомиться с основами этого движка в других статьях или в официальной документации.

Читать далее
Всего голосов 11: ↑10 и ↓1+11
Комментарии14
1
23 ...

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

Работа

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