Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

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

Блог компании JetBrains Kotlin *Конференции

Мы продолжаем серию вебинаров о разработке серверных приложений на 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 МСК 

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

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 2.3K
Комментарии 0

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

Java *
Перевод


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

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

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

Разработка веб-сайтов *Программирование *Java *
Tutorial

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

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

Разработка веб-сайтов *MySQL *Java *
Tutorial
Привет, хабрахабр!

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

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



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

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


1.1 IDE


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

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

Разработка веб-сайтов *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.
Читать дальше →
Всего голосов 14: ↑11 и ↓3 +8
Просмотры 18K
Комментарии 6

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

Программирование *Java *
Tutorial

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

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

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

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

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

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

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



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

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

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

Java *Kotlin *
tutracker, kotlin, spring boot

В преддверии первого релиза языка kotlin, я хотел бы поделиться с вами опытом создания на нем небольшого проекта. Это будет приложение-сервис, для поиска торрентов в базе rutracker-а. Весь код + бонусный браузерный клиент можно найти здесь. Итак, посмотрим, что же получилось.
Под катом.
Всего голосов 23: ↑19 и ↓4 +15
Просмотры 38K
Комментарии 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

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

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

Программирование *Java *Анализ и проектирование систем *Big Data *

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

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

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

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

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

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

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

Блог компании Издательский дом «Питер» Высокая производительность *Java *IT-стандарты *API *
Перевод
Tutorial
Здравствуйте, хабровчане! Сегодня предлагаем вам очередной интересный пост на неисчерпаемую тему микросервисов, на этот раз — для корифеев и неофитов языка Java. Читаем и голосуем!
Читать дальше →
Всего голосов 8: ↑6 и ↓2 +4
Просмотры 11K
Комментарии 6

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

Open source *Программирование *Java *
Tutorial

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


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

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

Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 2.3K
Комментарии 0

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

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

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

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

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

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


Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Просмотры 9.6K
Комментарии 0

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

Java *Gradle *
Из песочницы
Tutorial

Введение


Image


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


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


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


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

Читать дальше →
Всего голосов 17: ↑16 и ↓1 +15
Просмотры 64K
Комментарии 34

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

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


Читать дальше →
Всего голосов 45: ↑44 и ↓1 +43
Просмотры 28K
Комментарии 38

Обратная сторона Spring

Java *

Неделя Spring на Хабре, судя по всему, открыта. Хочется сказать спасибо переводчику и комментаторам статьи "Почему я ненавижу Spring", которая не смотря на сильный негативный посыл в названии вызвала ряд интересных дискуссий, а так же тем, кто отреагировал на мою прошлую статью Как писать на Spring в 2017. Во многом благодаря комментариям к прошлой статье и появилась эта.


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

Читать дальше →
Всего голосов 33: ↑32 и ↓1 +31
Просмотры 110K
Комментарии 24