ch
Feedback
Чашечка Java

Чашечка Java

前往频道在 Telegram

Лучшие материалы по Java на русском и английском Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels

显示更多
8 570
订阅者
-324 小时
-27
-430
帖子存档
Деплой приложения на Java. Хостим проект через push в Git В статье мы рассмотрим, как развернуть в облаке приложение на Java, на примере Spring Boot приложения с встраиваемой базой данных H2. А именно, мы попробуем развернуть приложение с простым REST API, сборкой Maven и тремя эндпоинтами, позволяющими добавить продукт, получить список всех продуктов и узнать общую стоимость всех продуктов. Код приложения из примера можно скачать по ссылке. Подход требует некоторых усилий во время первого запуска, но в дальнейшем позволяет обновлять приложения простым push в Git. Читать: https://habr.com/ru/companies/amvera/articles/778682/?utm_campaign=778682

Когда использовать абстрактные классы и интерфейсы в Java Read: https://www.infoworld.com/article/2077421/when-to-use-abstrac
Когда использовать абстрактные классы и интерфейсы в Java Read: https://www.infoworld.com/article/2077421/when-to-use-abstract-classes-vs-interfaces-in-java.html#tk.rss_java

Как распараллелить тесты с базой данных Представьте проект, в котором уже написано несколько сотен тестов. Каждый тест настраивает базу под себя: добавляет данные, вызывает truncate по окончанию. Хочется запускать тесты параллельно, чтобы ускориться, но если два теста запустить одновременно, они почти наверняка друг другу помешают. В данной статье поделюсь подходом, который позволил решить проблему без рефакторинга. Читать: https://habr.com/ru/articles/778580/?utm_campaign=778580

​​Вебинар: «‎Безопасная разработка бизнес-приложений» Повышенный интерес к open-source в России тесно связан с желанием разрабатывать местные программные решения вместо иностранных. Но вместе с популярностью растут и опасности, связанные с использованием open-source компонентов. Чтобы снизить эти риски, нужны особые навыки и инструменты управления безопасностью. На предстоящем вебинаре рассмотрятся способы упрощения организации безопасной разработки бизнес-приложений с использованием российской open-source платформы Jmix и безопасного репозитория «РТК-Феникс». Спикеры: — Виктор Фадеев (product manager в Jmix) — Кирилл Пихтовников (заместитель генерального директора / технический директор в Ростелеком информационные технологии) Дата: 13 декабря, время: 19:00 (Мск). Регистрируйтесь здесь и до встречи! Реклама ООО «Хоулмонт» ИНН 6316134393 LjN8KLpSi

Что такое JDK? Введение в комплект средств разработки Java Read: https://www.infoworld.com/article/3296360/what-is-the-jdk-in
Что такое JDK? Введение в комплект средств разработки Java Read: https://www.infoworld.com/article/3296360/what-is-the-jdk-introduction-to-the-java-development-kit.html#tk.rss_java

JHipster 8 Upgrades to Spring Boot 3, Hibernate 6.2, Node 18 LTS, Vue 3 and Angular 16 JHipster - the web and microservices a
JHipster 8 Upgrades to Spring Boot 3, Hibernate 6.2, Node 18 LTS, Vue 3 and Angular 16 JHipster - the web and microservices applications generator - released its 8th version on November 2nd. Starting with this version Hashicorp Consul will be the default service discovery mechanism, devcontainer will be available and each application that acts as a gateway or is a monolith will have CORS enabled. Also, multiple versions were updated and unmaintained components were removed. By Olimpiu Pop Read: https://www.infoq.com/news/2023/12/jhipster-version8-release/

10 лучших практик работы с Null в Java Здравствуйте, работа с null - неизбежная часть программирования на Java, но следование лучшим практикам может помочь вам эффективно управлять ею и писать более надежный код. В этой статье мы рассмотрим десять лучших практик работы с null в Java, чтобы улучшить качество кода и избежать распространенных подводных камней. Если вы умеете работать с null, то вы будете писать более качественный код, так как null часто является причиной ошибок времени выполнения в Java, возможно, вы слышали об NullPointerException? Нет. Если нет, то я могу сказать, что вы недостаточно кодили на Java, потому что это была первая ошибка, которую я получил, когда начал писать программы на Java в студенческие годы. В то время я не знал, как лучше обрабатывать null, поэтому приходилось долго и мучительно отлаживать, пока мы не находили причину, а затем делали обходной маневр или исправление. Но если вы знаете, как лучше обрабатывать null, вы можете писать код, который выдержит испытание временем в производстве. Вопросы и учебники для собеседования по Java Read: http://www.java67.com/2023/12/10-best-practices-for-handling-null-in.html

photo content

Java News Roundup: JDK 22, Spring CVEs, Liberica JDK, JDKMon 21, Jupyter for Java, Gradle 8.5 This week's Java roundup for No
Java News Roundup: JDK 22, Spring CVEs, Liberica JDK, JDKMon 21, Jupyter for Java, Gradle 8.5 This week's Java roundup for November 27th, 2023 features news from OpenJDK, JDK 22, Jakarta Data 1.0-M2, JNoSQL 1.0.3, LibericaJDK, Spring CVEs, Spring Shell 3.2.0-RC1, Quarkus 3.6, Open Liberty 23.0.12-beta, Helidon 4.0.1, Hibernate Reactive 2.2, Hibernate Search 7.1-A1, Grails 5.3.4, Groovy 5.0.0-A3, Camel Quarkus 3.6, Maven 3.9.6, JDKMon 21, PrimeFaces 12.0.7, Jupyter for Java and Gradle 8.5. By Michael Redlich Read: https://www.infoq.com/news/2023/12/java-news-roundup-nov27-2023/

Хроники пикирующего бота или как важно не пропускать стадию QA в проектах Эта статья должна была рассказать вам о проекте простого телеграм-бота, который заточен на одно простое действие: мониторинг доступности сайтов. Но, опубликовав MVP и представив проект на публику, мы заранее не провели полный объем необходимых тестов, в самый ответственный момент не смогли быстро всё исправить и вместо восторженных отзывов аудитории получили порцию хейта. Поэтому мы решили не делать из статьи пиар-акцию, а просто ещё раз напомнить всем стартапам, да и вообще программистам, отделам и командам о важности каждого этапа разработки. Читать: https://habr.com/ru/articles/778398/?utm_campaign=778398

Простой веб-сервер Java: Простые статические HTTP-серверы Read: https://www.infoworld.com/article/3705369/javas-simple-web-se
Простой веб-сервер Java: Простые статические HTTP-серверы Read: https://www.infoworld.com/article/3705369/javas-simple-web-server-static-http-servers-made-easy.html#tk.rss_java

Генерация контрактов OpenApi или прикладной API first: совсем немного про зачем Новое место, новая позиция, новый продукт! Финтех, камунда, ~ 40 (!) микросервисов за которые отвечает наша команда. Первый спринт. Я в роли наблюдателя. В спринте вроде бы обычная задача - нужно вызвать из одного сервиса другой, и обработать результат. Ребята оценивают, начинают работу, и что я вижу в течение следующих дней: один разработчик берёт сервис-сервер, другой сервис-клиент, и каждый начинает реализацию контракта описанного в табличке в confluence. Что-от около десятка полей, если мне не изменяет память. Они уходят на пару дней, возвращаются, начинают тестирование контракта, выясняется что одно или два поля немного различаются в названии, уходят править нейминг, возвращаются, тестируют и только после этого переходят к написанию какой-то логики. И тут меня понесло. Да, дело не конкретно в этих ребятах или задаче. Или продукте. Или компании. Они просто делают работу как привыкли делать. С точки зрения разработчика - закрыть такую задачу за 3 или 6 дней - нет особой разницы. Над сроками вообще начинаешь заморачиваться только после перехода в роль которая за эти самые сроки хоть как-то отвечает. Но потратить 4 дня силами двух разработчиков только на контрактую обвязку... Здесь в памяти начали всплывать давние попытки генерации спецификаций по коду. Или документации по коду. Или кода из спецификации. В общем какие-то попытки генерации чего-то связанного с openapi. А дальше мы ушли в углубленное изучение того, как это можно использовать в контексте нашего продукта и большого количества взаимодействий сервисов. Немного итогов Читать: https://habr.com/ru/articles/776434/?utm_campaign=776434

​​Приглашаем на девятый QIWI Server Party В этот раз своими историями поделятся спикеры из QIWI, Яндекса и Альфа-Банка. В программе митапа: — Павел Черняк, QIWI: «Нельзя просто так взять и обновить» — обновление Java до 17 версии, Spring Framework до 6-й и связанные с этим подводные камни; — Андрей Свиридов, Альфа-Банк: «Как TDD поможет вам лучше работать»; — Дмитрий Некрылов, Yandex 360: «Защищаем пользователей от раздвоения конференций»; — Самвел Барсегян, QIWI: «Инфраструктурная платформа QIWI» — знакомство с Platform engineering на практическом примере. Приезжайте на митап или подключайтесь к трансляции. Детали и регистрация по ссылке. Реклама КИВИ БАНК (АО) ИНН 3123011520/772601001 LjN8KGR8R

Компоновка аннотаций в Java Привет Хабр! Совсем недавно, в процессе разработки я столкнулся с невероятным количеством бойлерплейт-кода в аннотациях. Решение сделать с этим что-то было принято мгновенно и вот что из этого вышло... Читать: https://habr.com/ru/articles/778064/?utm_campaign=778064

Javet 3.0.2 Released: Bridging Java and JavaScript with Enhanced Features Javet, a fusion of Java and V8 (JAVa + V + EighT),
Javet 3.0.2 Released: Bridging Java and JavaScript with Enhanced Features Javet, a fusion of Java and V8 (JAVa + V + EighT), has recently released its version 3.0.2, marking a significant advancement in embedding Node.js and V8 in Java. This version includes Node.js v20.10.0 and V8 v12.0.267.8, highlighting the project's commitment to staying current with the latest developments in these technologies. By A N M Bazlur Rahman Read: https://www.infoq.com/news/2023/12/javet-302-released/

​​Пять шагов к идеальному код-ревью Почти никто не любит ревьюить код. Считается, что на это тратится слишком много времени. Но на самом деле правильно организованное ревью может сэкономить гораздо больше ресурсов на последующих этапах. В этой статье вы найдёте практические советы по структурированию и ускорению код-ревью. Даны отдельные рекомендации для специалистов разных уровней: от стажёров до мидлов. #статья #ревью

Следование style guide для .proto файлов с помощью protolint в GitHub Actions В этом посте я расскажу, как настроить protolint для проверки .proto файлов на соответствие официальному style guide в GitHub Actions и поделюсь практическим опытом его использования. Читать: https://habr.com/ru/companies/rosbank/articles/776982/?utm_campaign=776982

Мигрируем Spring Boot REST API приложение на Kotlin Доброе время! Немного статистики по Kotlin: по недавней выборке на hh.ru в вакансиях "программист, разработчик" по слову Java и Kotlin почти треть вакансий (а в некоторых регионах больше) требуют владения Kotlin. А по последнему отпросу от AZUL 2023 47% организаций используют Kotlin. Таким образом освоив Kotlin и добавив в резюме репозиторий с проектом на нем вы получите на 30% больше возможностей! Как известно, лучший способ выучить язык - это пройти курсы сделать на нем проект. Для Java программистов на мой взгляд самый простой и эффективный способ - взять собственный небольшой Spring Boot REST API проект и сделать его миграцию. В рамках наших курсов "Из Middle в Senior" (см. предыдущий пост по курсу «Работа с документами в Java») я выпустил новый курс Spring Boot REST API приложение на Kotlin и хочу поделиться здесь особенностями миграции и полезными ссылками для тех, кто захочет это сделать самостоятельно. Статья в помощь тем, кто решил мигрировать на Кotlin свой Java проект, НЕ для изучения основ Kotlin. Итак, приступим: Читать: https://habr.com/ru/articles/777824/?utm_campaign=777824

pgvector или как хранить и обрабатывать фичи в базе данных На Хабре было много упоминаний pgvector в обзорах Postgresso. И каждый раз новость была про место которое где-то за границей и далеко. Многие коммерческие решения для хранения и поиска векторов в базе данных нынче не доступны, а pgvector доступен любому, тем более в самой популярной базе в России. В этой статье покажу на практическом примере как хранить, кластеризовать вектора и искать по векторам в базе данных. Читать: https://habr.com/ru/articles/777734/?utm_campaign=777734

Бар «Одинокая абстракция» Каждый мужчина - эксперементатор в душе и любой хочет посмотреть, что будет с голой женщиной с большими титьками в аэротрубе в научных целях, попробовать открыть свой пивной бар и посадить дерево. Нет! не так начнем. Какая твоя добивочка, что качнуть весы в сторону бурного секса с красоткой с теплыми боками и добрыми глазами в три часа ночи в кустах на Чистых прудах? Кстати, я катаюсь на сноуборде, занимаюсь кроссфитом и йогой, коллекционирую грампластинки с гей-порно и обожаю путешествия? Я был в Армении, Ереване, Цицернакаберде и Матенадаране? Фу! Каждый АйТишник катается на сноуборде. Это пошло! Сноубординг - это символ скучающего айтишниика, которому некуда тратить деньги, кроме как на фаллосоподобный сэндвич с правильным прогибом. Это я вам, как айтишник говорю, у которого сегодня S7 в Новокузнецк летит. У правильного мужика должно быть крутое хобби! Кстати, детка, у меня виноградники под Анапой, в этом году славный купаж, он компенсирует мне потери от необычайныо сильных муссонов на сейшелах, из-за чего моя яхт-школа терпит убытки, а еще у меня горнолыжный спот в Шерегеше, тюнинг-база кастомных мотоциклов, стрипушник, школа бейсджампинга, похоронное бюро для экстремалов и куни-ателье. Вот ответ настоящего мужика со стальными шарами! К чему я?  За 30-120к вы можете купить 20 часов видео, где самовлюбленный и нудный тип прочитает вам про системный анализ, типы тестирования и http. 90% людей не доходят до конца, потому что это люто скучно. У вас будет мертвый чатик, скрывающийся куратор и бесперспективняк в конце. Или слетать на выхи в Красную поляну или Калиниград под прогноз хорошего снегаветра. Читать: https://habr.com/ru/articles/777558/?utm_campaign=777558