Pull to refresh
  • by relevance
  • by date
  • by rating

Серия вебинаров по серверной разработке на Kotlin. Продолжение

JetBrains corporate blog Kotlin *Conferences

Мы продолжаем серию вебинаров о разработке серверных приложений на Kotlin (на английском языке). С 18 февраля по 18 марта пройдут четыре вебинара, на которых мы вместе с вами рассмотрим прикладную бэкенд-разработку на Kotlin в формате живых кодинг-сессий. Вебинары подойдут для Kotlin- и Java-разработчиков любого уровня подготовленности, в том числе для разработчиков мобильных приложений без опыта серверной разработки.

Спикеры из JetBrains, VMware, Confluent и Oracle расскажут о реактивном программировании, асинхронных приложениях на базе фреймворка Ktor, создании микросервисов с помощью Helidon и других аспектах применения Kotlin в серверной разработке:

Going Reactive With Spring WebFlux, Kotlin Coroutines, and RSocket, 18 февраля, 19:00 – 20:00 МСК

Building Microservices With Helidon and Kotlin, 10 марта, 19:00 – 20:00 МСК 

— Ktor From the Ground Up, 17 марта, 20:30 – 21:30 МСК 

Applied Event Streaming With Apache Kafka, Kotlin, and Ktor, 18 марта, 19:00 – 20:00 МСК 

Во время вебинаров вы сможете задавать вопросы спикерам и организаторам. Подробнее о каждом из вебинаров читайте ниже.

Читать далее
Total votes 4: ↑4 and ↓0 +4
Views 2.4K
Comments 0

GraphQL + SPQR + Spring Boot Starter 2021

Programming *Java *
Tutorial

GraphQL + SPQR + Spring Boot Starter 2021

GraphQL — это язык запросов к API-интерфейсам. Он отображает предоставляемые сервером данные, чтобы клиент смог выбрать именно то, что ему нужно. GraphQL SPQR призван упростить добавление GraphQL API в любой Java-проект. SPQR работает, динамически генерируя схему GraphQL из кода Java по средствам аннотаций. Перейдем к самой сути!

Читать далее
Total votes 2: ↑1 and ↓1 0
Views 409
Comments 1

Стоит ли использовать Spring Boot в вашем следующем проекте?

Java *
Translation


Большинство моих профессиональных Java проектов за последнее десятилетие были основаны на Spring или JEE. Обе платформы развиваются достаточно уверенно, однако все ещё страдают от различных проблем.

Spring и JEE по-прежнему остаются золотыми стандартами для масштабных Java-проектов и больших команд разработчиков, трудящихся над сложными enterprise-решениями. Однако, неизбежным следствием зрелости Java-сообщества стала частичная потеря прежнего энтузиазма и инновационности, что существенно ударило по авторитету обоих.
Читать дальше →
Total votes 19: ↑16 and ↓3 +13
Views 60K
Comments 41

Spring Boot: от начала до продакшена

Website development *Programming *Java *
Tutorial

В данной статье я попробую расписать все шаги, которые потребуются для создания небольшого проекта на Spring Boot и развертывания его на боевом сервере.
Читать дальше →
Total votes 17: ↑15 and ↓2 +13
Views 340K
Comments 38

Spring без XML. Часть 1

Website development *MySQL *Java *
Tutorial
Привет, хабрахабр!

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

Итак, если вам хочется попробовать Spring MVC с сохранением в базе и 0(нулем) файлов xml-конфигураций, прошу под кат!



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

1. Подготовка к запуску


1.1 IDE


Вся разработка будет вестись на Intellij IDEA, но не думаю что реализация в другой IDE будет сильно сложнее.
Читать дальше →
Total votes 16: ↑11 and ↓5 +6
Views 47K
Comments 33

Spring без XML. Часть 2

Website development *MySQL *Java *
Tutorial
И снова день добрый. Пост в продолжение публикации «Spring + Java EE + Persistence, без XML. Часть 1».


1. Введение


1.1 Подгружаем проект


Если вы хотите с этой части начать, либо не осталось проекта сделанного в предыдущей части, можете скачать его с github.
Схема простая:
  • Заходите из консоли в папку с проектами IDEA
  • git clone github.com/MaxPovver/ForHabrahabr.git
  • cd ForHabrahabr/
  • git checkout withauth
  • Готово, теперь можете грузить проект в студию так же как описано в первой части.

1.2 Что мы будем делать в этой части?


В этой части мы рассмотрим как хранятся отношения многие-ко-многим на уровне объектов сущностей;
доделаем распределения прав пользователям;
сделаем простейший REST-controller;
сделаем регистрацию новых пользователей (только для админа);
и все это без XML.
Читать дальше →
Total votes 14: ↑11 and ↓3 +8
Views 19K
Comments 6

Как подружить JavaFX и Spring Boot

Programming *Java *
Tutorial

Не так давно появился такой замечательный фреймворк как Spring Boot, без которого я уже не представляю себе разработку на Java. Освещая неосвещенное, хочу рассмотреть интеграцию Spring Boot и всех его «плюшек» с JavaFX 2.

Всех заинтересованных приглашаю под кат.
Принять приглашение
Total votes 13: ↑13 and ↓0 +13
Views 31K
Comments 20

Пишем собственный шлюз для Thrift API

Open source *Java *API *
Tutorial
Микросервисы, как ни крути, — наше всё. Можно сопротивляться SOAP 2.0 сколь угодно долго, но рано или поздно или они придут за тобой и обратят в свою веру, или ты придёшь к ним сам и попросишь крестить себя огнём и мечом. Как и у любого архитектурного решения, у микросервисов есть свои минусы. Одним из них является необходимость в каждый микросервис включать какую-то логику по авторизации запросов от внешних систем или других микросервисов. Эта логика может быть напрямую «зашита» внутри микросервиса (и не важно, что это отдельная библиотека), делегирована другому микросервису, а может быть объявлена декларативно. Что значит декларативно? Например, можно договориться, что в каждый микросервис приходит особый HTTP-заголовок, или какая-то структура данных, в которой есть информация о пользователе, делающем запрос. И данным в этой структуре необходимо однозначно доверять. У всех трёх вариантов есть свои недостатки, но в рамках статьи мы разберём последний. Для его реализации обычно используется шаблон проектирования API Gateway:
image

Под катом все трудности реализации шаблона в условиях бинарного протокола передачи данных.
Хочу узнать
Total votes 10: ↑9 and ↓1 +8
Views 11K
Comments 5

Уличная магия в скриптах или что связывает Groovy, Ivy и Maven?

Website development *Open source *Java *Groovy & Grails *
После мучений с отладкой сложных MVEL скриптов + MavenClassloader, обнаружил, что механизм динамического разрешения зависимостей есть в языке Groovy. К тому же отладка Groovy скриптов возможна и в Idea и в Eclipse.



Вы спросите зачем нужно динамическое разрешение зависимостей? Некоторые вещи проще делать так, а некоторые возможно только так.

В публикации вы найдете работающее решение для Groovy в виде одного jar файла и загрузчик классов из репозитариев maven для Java приложения. Узнаете про особенности работы Grape «из коробки». Чтобы не быть голословным и были понятны возможности Grape
Читать дальше →
Total votes 13: ↑10 and ↓3 +7
Views 9.2K
Comments 12

Готовим rutracker на spring и kotlin

Java *Kotlin *
tutracker, kotlin, spring boot

В преддверии первого релиза языка kotlin, я хотел бы поделиться с вами опытом создания на нем небольшого проекта. Это будет приложение-сервис, для поиска торрентов в базе rutracker-а. Весь код + бонусный браузерный клиент можно найти здесь. Итак, посмотрим, что же получилось.
Под катом.
Total votes 23: ↑19 and ↓4 +15
Views 38K
Comments 32

Spring Boot — проблема с безопасностью исполняемых jar файлов запускаемых как init.d сервис

Java *
В spring boot появилась интересная возможность собрать «исполняемый» jar файл, который также может быть init.d сервисом. То есть достаточно будет прописать символьную ссылку из /etc/init.d/myapp на jar-файл и через update-rc.d настроить автозапуск сервиса. Технически jar файл становится bash-скриптом в конце которого находятся бинарные данные.

Описание данной возможности: docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html

Изучая скрипт файл, я обнаружил некоторые проблемы с безопасностью.
Читать дальше →
Total votes 10: ↑8 and ↓2 +6
Views 6.5K
Comments 12

Spring Boot стартер для Apache Ignite своими руками

Programming *Java *System Analysis and Design *Big Data *

Вот уже вышло две статьи в потенциально очень длинной серии обзоров распределённой платформы Apache Ignite (первая про настройку и запуск, вторая про построение топологии). Данная статья посвящена попытке подружить Apache Ignite и Spring Boot. Стандартным способом подключения некой библиотеки к Spring Boot является создание для этой технологии «стартера». Несмотря на то, что Spring Boot весьма популярен и на Хабре описывался не единожды, про то, как делать стартеры, вроде бы ещё не писали. Этот досадный пробел я постараюсь закрыть.

Статья посвящена преимущественно Spring Boot'у и Spring Core, так что те, кого тема Apache Ignite не интересует, всё равно могут узнать что-то новое. Код выложен на GitHub, стартера и демо-приложения.
Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Views 8.9K
Comments 1

Читаем Google-таблицы из web-приложения

Programming *Java *Google API *
Sandbox
Google имеет несколько версий API для доступа к своим электронным таблицам. Разберемся с тем, как прочитать данные из spreadsheet таблицы в web-приложении на java используя API версии 4.
Читать дальше →
Total votes 14: ↑14 and ↓0 +14
Views 25K
Comments 0

Первое приложение на Spring Boot + ReactJS

JavaScript *Java *Node.JS *ReactJS *
Tutorial
В жизни каждого Java разработчика может наступить момент, когда ничего не остаётся, как использовать в своём приложении ReactJS. Если, конечно, не AngularJS. Вы долго сопротивлялись, но этот момент настал и надо что-то делать. Вы слышали, что есть Node.JS, что он умеет быть web-сервером, но это уже через чур. У вас будет кошерный Spring Boot. К сожалению, поиск в гугл способен очень запутать. Много разных гайдов, все оперируют разными версиями реакта и сопутствующих средств. Данный гайд описывает процесс создания простейшего Spring Boot + ReactJS приложения, простой и приятный.
Читать дальше →
Total votes 16: ↑13 and ↓3 +10
Views 57K
Comments 11

Многократное использование кода в микросервисной архитектуре — на примере SPRING BOOT

Издательский дом «Питер» corporate blog High performance *Java *IT Standards *API *
Translation
Tutorial
Здравствуйте, хабровчане! Сегодня предлагаем вам очередной интересный пост на неисчерпаемую тему микросервисов, на этот раз — для корифеев и неофитов языка Java. Читаем и голосуем!
Читать дальше →
Total votes 8: ↑6 and ↓2 +4
Views 11K
Comments 6

Скрестить ежа (Marathon) с ужом (Spring Cloud). Эпизод 2

Open source *Programming *Java *
Tutorial

В первом эпизоде у нас получилось вытянуть информацию из Mesos Marathon прямиком в бины Spring Cloud-а. Вместе с тем у нас появились первые проблемы, одну из которых мы разберём в текущей части повествования. Давайте вспомним нашу конфигурацию подключения к Marathon-у:


spring:  
    cloud:
        marathon:
            scheme: http       #url scheme
            host: marathon     #marathon host
            port: 8080         #marathon port

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

Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Views 2.4K
Comments 0

Использование Spring Groovy-контекста для создания конфигурируемого, интерактивного графического UI

SimbirSoft corporate blog Java *Groovy & Grails *
В конце 90-х годов работал в одной организации, которая занималась развитием контактной электрической сети и эксплуатацией питающих энергетических установок (тяговых подстанций), плюс осуществляла мониторинг и управление этого хозяйства с помощью специализированного программно-аппаратного комплекса из нескольких диспетчерских пунктов. Комплекс работал под управлением АСУ ТП на древнем советском железе. Тогда стояла задача перевести этот комплекс под windows, включая разработку графического интерфейса, который бы отображал схематически в виде карты всю сеть и события происходящие на ней и подстанциях. Ну и естественно, предоставлял бы возможность управлять ими.
Читать дальше →
Total votes 6: ↑5 and ↓1 +4
Views 3.4K
Comments 0

Свой Bot за несколько часов, или поговорим о пиве с машиной

Open source *Programming *Java *System Analysis and Design *Machine learning *
Тема по улучшению взаимодействия машин и человека сейчас актуальна как никогда. Появились технические возможности для перехода от модели «100 кликов» к парадигме «скажи, что ты хочешь». Да, я имею в виду различные боты, которые уже несколько лет разрабатывают все кому не лень. К примеру, многие крупные компании, не только технологические, но и retail, logistics, банки в данный момент ведут активный Research&Design в этой области.

Простой пример, как, например, происходит процесс выбора товаров в каком-либо интернет магазине? Куча списков, категорий, в которых я роюсь и что-то выбираю. It suck's. Или, допустим, заходя в интернет банк, я сталкиваюсь с различными меню, если я хочу сделать перевод, то я должен выбрать соответствующие пункты в меню и ввести кучу данных, если же я хочу посмотреть список транзакций, то опять таки, я должен напрягать как мозг, так и указательный палец. Гораздо проще и удобнее было бы зайти на страницу, и просто сказать: «Я хочу купить литр молока и пол-литра водки», или просто спросить у банка: «Что с деньгами?».

В список профессий, которым грозит вымирание в достаточно близкой перспективе, добавляются: теллеры, операторы call центров, и многие другие. И на простом примере, реализовать который у меня заняло часов 7, я покажу, как можно достаточно просто сделать интеграцию распознавания речи, и выявления сущностей, на примере открытого Wit.Ai (Google Speech API интеграция также включена).


Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Views 9.7K
Comments 0

Переписываем домашний проект на микросервисы (Java, Spring Boot, Gradle)

Java *Gradle *
Sandbox
Tutorial

Введение


Image


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


Ранее у меня был домашний проект (хотя скорее даже его прототип), который было решено переписать на микросервисы. Проект представлял собой попытку сделать обучающую Java игру. То есть у игрока есть поле, на этом поле он может управлять каким-то юнитом с помощью кода. Пишет код, отправляет на сервер, там он выполняется и возвращает результат, который отображается пользователю.


Всё это было реализовано в виде прототипа — были пользователи, один урок и одна задача для него, возможность отправить код, который компилировался и исполнялся. Кое-какой фронтенд, но в статье о нём речи не будет. Технологии — Spring Boot, Spring Data, Gradle.


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

Читать дальше →
Total votes 17: ↑16 and ↓1 +15
Views 65K
Comments 34

Что нового в IntelliJ IDEA 2017.2

JetBrains corporate blog Java *TypeScript *
Привет, Хабр! Мы рады сообщить о выходе крупного обновления IDE – IntelliJ IDEA 2017.2. Поскольку далеко не все следят за новостями в нашем официальном блоге (а также потому, что многим удобнее будет прочитать об этом на русском), в этом посте я расскажу что ждать от новой версии IDE. Кто спешит попробовать обновление самостоятельно, качайте с сайта JetBrains, либо из Toolbox App. Все остальные, добро пожаловать под кат.


Читать дальше →
Total votes 45: ↑44 and ↓1 +43
Views 28K
Comments 38