Обновить
158.03

Java *

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

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

Деплой Telegram бота на VPS | Webhooks + Java + Spring Boot

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

Привет, Хабр!

В процессе работы над проектом мне понадобилось выгрузить telegram-бота на VPS. Я не нашёл источника, в котором были бы собраны все детали этого процесса под мой конкретный случай. Поэтому в этой статье я бы хотел поделиться опытом с теми, кто столкнулся с такой же задачей.

Читать далее

Топ вопросов на Junior собеседованиях

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

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

Так что, если вам интересно, какие вопросы задают на собеседовании, то эта статья для вас. А если хотите узнать ответы на них, то переходите по ссылкам на наш YouTube канал и смотрите записи трансляций моковых собеседований с менторами Solvery. Там можно было узнать, как проходят реальные интервью и задать вопросы менторам Solvery.

Читать далее

ChatGPT и Java Back-End Spring Boot

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

Ускорение Back-End Java Spring Boot разработки с помощью Chat GPT.

При создании обычного CRUD контроллера разработчик обычно делает несколько вещей.

1. Создает Entity

2. Пишет миграцию в БД

3. Создает DTO для Entity

4. Создает слой Repository

5. Создает слой Service

6. Создает слой Controller

Многие из этих вещей можно сделать автоматически с помощью ChatGPT. И так сразу к делу, и посмотрим на что способен ChatGPT. В качестве Entity будем использовать простой класс.

Читать далее

Spring Cloud OpenFeign и авторизация

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

В статье я хочу показать, каким образом можно реализовать отправку запросов с авторизацией при использовании Spring Cloud OpenFeign клиента для работы с АПИ.

Читать далее

Радиотелефончик на смартфоне

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели23K
image

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

Если вам интересно узнать, что из этого получилось, то прошу проследовать под кат…
Читать дальше →

Java-сертификация: как мы заняли место ушедшего из РФ Oracle

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

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

Под катом много интересного и полезного!

Spring Boot. Настройка профилирования времени выполнения

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели8.8K

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

Т.к. речь шла о сервисе, который был написан довольно давно, и в него многие месяцы не вносились изменения, повинуясь принципу “работает - не трогай”, я решил постараться сделать это, не прикасаясь к самому коду сервиса.

Читать далее

Создание мобильного приложения для рисования на Android Studio

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

Java, Android Studio и приложение для рисования, сделанное на них для самых "маленьких".

Читать далее

Мессенджеры на работе — это не прокрастинация, или как мы сделали сервис для автотестирования. Часть 2

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

Это вторая часть статьи «Мессенджеры на работе — это не прокрастинация, или как мы сделали сервис для автотестирования». Как и обещали, в данной статье мы расскажем о том, как масштабировали наш сервис, как развивали функциональность автотестов и как в итоге вышли за рамки обычного репорт-бота. 

Читать далее

Интеграция Primefaces в приложение на Spring Boot. Часть 8 — Композитная форма для редактирования сложных данных

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

Описывается пример интеграции библиотеки компонентов пользовательского интерфейса Primefaces, построенной на основе фреймворка JavaServer Faces (JSF), в MVC приложение на Spring Boot.

Первая часть | Вторая часть | Третья часть

Четвертая часть | Пятая часть | Шестая часть | Седьмая часть

Читать далее

Лучшие библиотеки Java для тестирования в 2023 году

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

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

Читать далее

Server-Sent Events в java. От любви до ненависти…

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

Я работаю на проекте, цель которого это некая пост-обработка финансовых операций. Это большая система, со множеством модулей и различными интеграциями с другими системами из которых к нам и попадают эти операции. У нас есть АРМ, он же веб-версия, он же фронтенд, для пользователей, которые как раз и занимаются этой пост-обработкой. Где-то около года назад появилась потребность оповещать пользователей о появлении новых операций в системе. SSE(Server-Sent Events), в данном случае, казался самым логичным и простым вариантом. Мне выпала честь реализовывать эту фичу на стороне сервера. Как оказалось, в русскоязычном сегменте достаточно мало информации об SSE в стеке java, поэтому я решил оформить свой опыт в эту статью, в ней я постараюсь осветить процесс и особенности реализации технологии в стеке java. Итогом данной статьи будет простой MVP, который умеет работать с SSE.

Читать далее

Пошаговая отладка, inline-методы, JVM

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


В Java, как известно, inline-методов нет. Но такое понятие существует в других языках, исполняющихся на JVM. Например, в Scala или Kotlin. Во время компиляции вызов такого метода заменяется на его тело, как если бы разработчик написал этот код вручную.

Прекрасный инструмент для добавления синтаксического сахара и создания проблемно-ориентированных языков (DSL) малой ценой, но как это всё отлаживать?

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

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

JavaFx application with Spring boot

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

В этой статье я продемонстрирую, как с помощью JavaFX и Spring Boot разработать Desktop-приложение с простыми и понятными инструкциями. Рассмотрим плюсы и минусы данного подхода, а так же посмотрим на варианты создания интерфейса для Java приложения. А так же обсудим как можно распространять Java приложение и не заботиться о том что у пользователя может не быть JVM или других необходимых инструментов для работы вашего крутого приложения.

Читать статью

Цикл постов про Keycloak. Часть первая: Внедрение

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

Цикл постов про Keycloak (часть 1): Внедрение.

О чем речь?

Это первая часть серии статей о переходе на Keycloak в качестве SSO в условиях кровавого enterprise.

Читать далее

Prostore — простой Event sourcing + CQRS фреймворк

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

На данный момент на рынке мало Event sourcing + CQRS фреймворков. А те, что есть, непопулярны и имеют слабую поддержку, поэтому многие создают свои in-house решения. В этой статье расскажу о выполненном командой «Programming Store» проекте Prostore, который может послужить примером при создании вашего собственного решения.

Читать далее

Графический интерфейс для bash, делаем работу в командной строке удобнее

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели20K

Когда пишешь код в IntelliJ IDEA, привыкаешь что везде есть подсказки, везде где можно работает комплишен, всегда можно одним кликом перейти на декларацию метода или на его юсаджи. После этого интерфейс командной строки выглядит как-то бедно. Конечно, он очень хорошо продуман, сделан настолько удобным, насколько это возможно в текстовом UI, но в графическом UI возможностей намного больше. Представляю вам плагин для JetBrains IDE, позволяющий работать в командной строке cо всеми удобствами IDE.

Читать далее

Настройка Hibernate Envers

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

Настройка Аудирования и Журналирования в java проекте.

Hibernate Envers не так прост как кажется, но мы всё настроим и кастомизируем.

Читать далее

Архитектурные шаблоны взаимодействия с базами данных

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

В первой статье мы рассмотрели шаблоны проектирования, применимые в программировании приложений. Однако сейчас сложно представить серьезное бизнес-приложение без базы данных. Большие объемы данных требуют хранения и обработки. И то насколько оптимально построена связь между уровнем прикладного кода и уровнем БД во многом зависит быстродействие системы в целом. Поэтому важно правильно построить взаимодействие с СУБД. В этой статье мы рассмотрим шаблоны взаимодействия с базами данных. Правильно выбранный шаблон взаимодействия позволит избежать многих проблем при разработке и получить качественное приложение.

Читать далее

«Разделяй и властвуй» для OpenStreetMap мира в PostgreSQL

Уровень сложностиСредний
Время на прочтение28 мин
Охват и читатели8.7K

Продолжу рассказ "Как поместить весь мир в обычный ноутбук: PostgreSQL и OpenStreetMap" секретами о геоданных OpenStreetMap, на которых множество компаний построили бизнес но не все делятся подробностями... Что ж, сегодня приоткроем завесу!

База данных в PosgreSQL после загрузки из дампа занимает больше 587 GB. Это уже по меркам СУБД большая база и одна огромная таблица на каждый тип объектов не сработает. Для управляемости такие данные надо секционировать, хорошо что PostgreSQL поддерживает декларативное секционирование данных. Осталось лишь придумать как разделить географические данные. После поисков и сравнений мне на помощь пришла иерархическая гексагональная геопространственная система индексирования H Все это было реализовано в моем проекте openstreetmap_h3 для быстрой обработки и загрузки мира в базу.

Читать далее

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