Как стать автором
Обновить
12.5
Карма
0
Рейтинг
Игорь @Conung_ViC

Пользователь

  • Подписчики 5
  • Подписки 1
  • Публикации
  • Комментарии

Реализация сервера авторизации OAuth с помощью сервера авторизации Spring

Блог компании OTUS Программирование *Java *
Перевод

Сервер авторизации в OAuth предназначен для выдачи маркера доступа, который позволяет клиентскому приложению использовать этот маркер доступа для запроса ресурса, который ему нужно получить. Сервер ресурсов будет подтверждать этот маркер доступа с помощью сервера авторизации каждый раз, когда клиентское приложение запрашивает ресурс, чтобы определить, следует ли разрешить клиентскому приложению доступ к этому ресурсу. Вы можете использовать множество различных открытых источников, таких как Keycloak, Spring Security OAuth (устаревший), или же новый проект Spring под названием Spring Authorization Server для реализации этого сервера авторизации. В этом руководстве я покажу вам, как использовать сервер авторизации Spring (Spring Authorization Server) для реализации сервера авторизации OAuth (OAuth Authorization Server)!

Сначала я создам новый проект Spring Boot с Web Starter, Security Starter:

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 3.8K
Комментарии 2

Пример реактивного приложения Spring (релиз от 14.01.2020)

Высокая производительность *Программирование *Java *Распределённые системы *Микросервисы *
Перевод
Tutorial
Счастливого запоздалого Нового года, Spring коммьюнити!

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

Образец приложения BookStore Service Broker был обновлен для демонстрации интеграции нескольких различных проектов Spring, включая Spring Cloud Open Service Broker, Spring Data, Spring Security, Spring HATEOAS и, конечно, Spring WebFlux и Spring Boot. Все эти проекты имеют версии GA, включающие Реактивную поддержку и готовые к продакшену в ваших собственных приложениях и сервисах.

Переведено @middle_java
Читать дальше →
Всего голосов 8: ↑6 и ↓2 +4
Просмотры 6K
Комментарии 3

Идеальный мавен. Часть 1

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

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


В одну заметку всё не войдёт, поэтому сначала план:


  1. Постановка задачи — описание той конфигурации проектов с которой мы будем работать, целей и проблем
  2. Как настроить мавен для разработки в рамках нашей задачи
  3. Как настроить CI/CD (билды, релизы, деплоймент)
  4. Нерешенные проблемы

Задача


Итак, начнем с постановки задачи. Предположим у нас есть группа людей (компания, фирма, кружок), которые разрабатывают проекты на Java. При этом у них есть как проекты с открытым кодом (OSS), так и проекты с закрытым кодом. Проекты, назовём их внутренние, разрабатываются независимо друг от друга, но между ними есть зависимости. Что хочется:


  • Централизованное управление зависимостями на внешние библиотеки
  • OSS проекты в центральном мавен репозитории
  • Закрытые проекты в своём мавен репозитории.
  • «Простой» релиз внутренних проектов с обновлением зависимости в зависимых проектах.
  • Максимальная автоматизация всех хотелок.
Читать дальше →
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 25K
Комментарии 36

Интеграционные тесты для Java с помощью TestContainers. Меньше безумия, больше порядка, и всё это автоматически

Блог компании JUG Ru Group Тестирование IT-систем *Java *Groovy & Grails *Тестирование веб-сервисов *
Перевод
Tutorial

На Хабре совсем нет информации про TestContainers. На момент написания этой статьи, в поисковой выдаче есть анонсы наших же конференций, и всё. Между тем, в проекте на GitHub у них уже более 700 коммитов, 54 контрибьютора и 5 лет истории. Похоже, все эти пять лет проект тщательно скрывался спецслужбами и НЛО. Настало время выйти из тени на свет.



Чукча — читатель, а не писатель. Поэтому, вместо написания своего текста, я попросил разрешения на перевод соответствующей статьи из блога RebelLabs.


Итак, здесь мы поделимся парой слов о наимоднейшей Java-библиотеке для интеграционного тестирования — TestContainers. Кроме этого, будет немного о том, почему интеграционное тестирование настолько важно для ZeroTurnaround и их требования к интеграционным тестам. И конечно, будет полнофункциональный пример интеграционного теста для Java-агента. Если кто-то никогда в глаза не видел код Java-агента, то сейчас самое время. Добро пожаловать под кат!

Всего голосов 27: ↑25 и ↓2 +23
Просмотры 28K
Комментарии 18

Клиент-сервер шаг — за — шагом, от однопоточного до многопоточного (Client-Server step by step)

Программирование *Java *Eclipse *Параллельное программирование *GitHub
Recovery mode
Из песочницы
Tutorial

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


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

Читать дальше →
Всего голосов 18: ↑11 и ↓7 +4
Просмотры 201K
Комментарии 23

тестирования сети в Линукс

Чулан
Эта заметка выросла из шпаргалки для самого себя. Мне по работе приходится отлавливать баги в сети. Как проверить скорость в VPN-туннеле? Почему сервер не пингуется? Или пингуется, но не доступен. Кто забил весь канал торрентами? Где пропадают пакеты? Почтовый клиент выдает непонятную ошибку, что произошло на самом деле? Эти и многие другие вопросы периодически возникают у любого пользователя. Под катом описание программ входящих во все современные дистрибутивы, начиная от пинга и до таких экзотических как ngrep. А так же картинками, если картинками можно назвать, копии дампа с консоли.
Читать дальше →
Всего голосов 36: ↑32 и ↓4 +28
Просмотры 7.9K
Комментарии 15

GitHub, вебсайт и автоматическое создание тестового сайта из последней версии исходных кодов

Чулан
Речь в данной статье пойдет о том, как автоматически получать свежую версию исходников из основной ветки вашего репозитория и разворачивать из нее проект на виртуальном хостинге. Сразу хочу отметить, что с GitHub'ом и Git'ом я познакомился только вчера. Поэтому матерым веб–программистам эта статья может показаться тривиальной. А тем, кто еще только начинает свой путь веб–программиста, надеюсь, поможет.

Читать дальше →
Всего голосов 14: ↑11 и ↓3 +8
Просмотры 2K
Комментарии 5

How-to install gitosis (мануал с учётом проблем возникающих при установке) + интеграция в redmine

Чулан

gitosis — программное обеспечение для хостинга Git репозиториев


image

Установка:


Появился скрипт авто установки пока тестируется
sudo apt-get install python-setuptools git-core -y
mkdir ~/src
cd ~/src
git clone git://github.com/sc0rp1us/gitosis-tools.git
cd gitosis-tools/gitautoinstall
sudo bash main

Дальше следуем инструкциям скрипта


Но вернёмся к статье
Для начала установим необходимые компоненты для запуска gitosis:
  • Для debian & ubuntu выполните следующие команды от пользователя root

apt-get update
apt-get upgrade
apt-get install python-setuptools git-core -y
cd ~/src
git clone git://eagain.net/gitosis.git
cd gitosis
python setup.py install



Далее зайдём в учётную запись через которую будем управлять gitosis'om (назовём её gitadmin), выгрузим дистрибутив и установим его

Настройка:


Теперь нам нужно будет создать пользователя который будет владеть хранилищем(имя может быть любым, но я предпочитаю использовать просто git), к тому же на одном сервере может быть несколько аккаунтов владеющих хранилищами, такому аккаунту не нужен пароль, но необходим действующий shell иначе SSH откажется с ним работать:
P.S. вы конечно можете использовать уже существующую учётную запись, но по соображениям безопасности, крайне не рекомендуется этого делать
Читать дальше →
Всего голосов 15: ↑9 и ↓6 +3
Просмотры 2K
Комментарии 7

Децентрализованный краудфандинг для любых проектов

Open source *
Что мне не нравится в краудфандинговых площадках:

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

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

Читать дальше →
Всего голосов 145: ↑102 и ↓43 +59
Просмотры 22K
Комментарии 35

Аннотации в Java, часть I

Блог компании GolovachCourses Java *
Это первая часть статьи, посвященной такому языковому механизму Java 5+ как аннотации. Она имеет вводный характер и рассчитана на Junior разработчиков или тех, кто только приступает к изучению языка.

Я занимаюсь онлайн обучением Java и опубликую часть учебных материалов в рамках переработки курса Java Core.

Также я веду курс «Scala for Java Developers» на платформе для онлайн-образования udemy.com (аналог Coursera/EdX).

Мой метод обучения состоит в том, что я
  1. строю усложняющуюся последовательность примеров
  2. объясняю возможные варианты применения
  3. объясняю логику двигавшую авторами (по мере возможности)
  4. даю большое количество тестов (50-100) всесторонне проверяющее понимание и демонстрирующих различные комбинации
  5. даю лабораторные для самостоятельной работы

Данная статье следует пунктам #1 (последовательность примеров) и #2(варианты применения).
Читать дальше →
Всего голосов 47: ↑42 и ↓5 +37
Просмотры 77K
Комментарии 21

λ-исчисление. Часть первая: история и теория

Программирование *
Tutorial
Идею, короткий план и ссылки на основные источники для этой статьи мне подал хабраюзер z6Dabrata, за что ему огромнейшее спасибо.

UPD: в текст внесены некоторые изменения с целью сделать его более понятным. Смысловая составляющая осталась прежней.

Вступление


Возможно, у этой системы найдутся приложения не только
в роли логического исчисления. (Алонзо Чёрч, 1932)


Вообще говоря, лямбда-исчисление не относится к предметам, которые «должен знать каждый уважающий себя программист». Это такая теоретическая штука, изучение которой необходимо, когда вы собираетесь заняться исследованием систем типов или хотите создать свой функциональный язык программирования. Тем не менее, если у вас есть желание разобраться в том, что лежит в основе Haskell, ML и им подобных, «сдвинуть точку сборки» на написание кода или просто расширить свой кругозор, то прошу под кат.
Читать дальше →
Всего голосов 64: ↑54 и ↓10 +44
Просмотры 129K
Комментарии 33

Настройка TeamCity для новичков

Блог компании Контур .NET *C# *
Tutorial
Эта статья в первую очередь пригодится тем, кто использует тот же стек технологий, что и наша команда, а именно: ASP.NET, C#, NUnit, Selenium 2, git, MSBuild. Будут рассмотрены такие задачи, как интеграция с git, сборка C#-проектов, NUnit-тесты (как модульные, так и тесты UI), а также деплой на сервер. Впрочем, наверняка найдётся интересное и для других пользователей, кроме разве что съевших на этом вопросе собаку. Но они опять же смогут обратить внимание на ошибки в статье или что-то посоветовать: например, как оптимизировать фазу деплоя.
Читать дальше →
Всего голосов 39: ↑35 и ↓4 +31
Просмотры 145K
Комментарии 12

How-to: Пишем торговых роботов на TradeScript

Блог компании ITI Capital Разработка веб-сайтов *
Tutorial
image

Тема создания механических торговых систем или попросту биржевых роботов вызывает на Хабре определенный интерес. Мы частенько освещаем теоретические аспекты алгоритмической торговли, но не так часто говорим о ее практической составляющей. Поэтому в сегодняшнем топике будут рассматриваться реальные примеры различных роботов, созданных с помощью скриптового языка TradeScript.
Читать дальше →
Всего голосов 31: ↑20 и ↓11 +9
Просмотры 42K
Комментарии 9

Как работает самый большой в мире акселератор стартапов

Блог компании Navigator campus
Когда-то давно на Хабре была статья о том, как работает Y Combinator — общепризнанно самый успешный в мире стартап акселератор. На самом деле по подобной модели (небольшие средства на жизнь, менторство и Demo Days) работает практически каждый акселератор и успех YC объясняется скорее невероятным чутьем его основателей и обширной сетью контактов. Ничуть не пытаюсь принизить Пола Грэма, он очень крут, но никакой особо хитрой системы у YC нет.

В этом плане гораздо интереснее другой известный акселератор — Founder Institute. Самым успешным его назвать пока не получится. Он существует всего 4 года с копейками, что маловато для венчурной индустрии. Но вот звание самого крупного можно присудить без проблем. Программы FI сейчас работают в 57 городах, на всех пяти обитаемых континентах. А что касается успехов, то, согласно их внутренней статистике, 89% компаний, основанных выпускниками, выживают и успешно доходят либо до стадии когда можно потихоньку развиваться на свои деньги, либо поднимают инвестиции. Самый известный в России выпускник FI — это образовательный проект Udemy, менее успешные: Gridblaze (продан), www.zirtual.com, www.skimble.com и т.д.

Надеюсь, это послужит для вас достаточным доказательством того что FI — это не пустышка для дураков. Потому что это действительно очень интересная и где-то даже уникальная структура, которая находится где-то посередине между образовательными программами и полноценными акселераторами. И, что самое интересное, участники Founder Institute — это не “стартаперы”. Как правило люди приходят на программу вообще без идеи. Если мне удалось вас заинтересовать, добро пожаловать под хабракат.
Читать дальше →
Всего голосов 33: ↑28 и ↓5 +23
Просмотры 8.9K
Комментарии 17

Управленческие инструменты: интеллект-карта “Формула работы с людьми”

Блог компании Стратоплан
На одном из моих первых тренингов один из присутствующих менеджеров задал вопрос:

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


Когда меня называют экспертом, надо понимать эффект. Мне становится очень приятно, я отрываюсь от земли, мозг отключается и дальше начинается словесный поток. (Если хотите поставить эксперимент, подойдите к докладчику на любой конференции после доклада и скажите что-нибудь вроде: “Спасибо, очень понравился Ваш доклад. Вот Вы, как эксперт, как считаете...” Дальше можно спрашивать что угодно, но человек будет уже не с вами. Мы поэтому просим никогда не обращаться к нам как к экспертам.)

В общем, меня понесло…

Что было дальше
Всего голосов 21: ↑21 и ↓0 +21
Просмотры 53K
Комментарии 7

Трудности перевода или как не стоит делать локализацию ПО

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

Немного предыстории

В студенческие годы я подрабатывал внештатным переводчиком в одном из бюро переводов Москвы. Занимался я в основном переводами по тематике своего образования, то есть переводил всё, что было связано с отраслью связи и телекоммуникациями. Платили по рыночным меркам мало, но как студента меня это тогда вполне устраивало.
Вся работа бюро переводов сводилась к тому, чтобы набрать заказов как можно больше, а затем распределить это между несколькими переводчиками. По сути некий вид краудсорсинга получался. Основным объектом лингвистических издевательств становилась документация на программное обеспечение или оборудование. Самыми яркими примерами в моей памяти остались перевод документации на SDH/PDH оборудование Huawei и перевод документации на платформу Comverse. Сотрудников компаний-заказчиков мне искренне жалко, и сейчас я расскажу, почему.
Читать дальше →
Всего голосов 95: ↑92 и ↓3 +89
Просмотры 41K
Комментарии 56

10+ полезных jQuery сниппетов на каждый день

Разработка веб-сайтов *JavaScript *jQuery *
Перевод
Tutorial


Спустя годы библиотека jQuery стала неотъемлемой частью в работе каждого web-разработчика. Ведь она простая в использовании, быстрая и имеет очень широкие возможности. В этой статье я собрал список из более чем десяти сниппетов, которые вы можете свободно брать для использования. Их очень легко адаптировать под нужды ваших собственных проектов.
Читать дальше →
Всего голосов 194: ↑109 и ↓85 +24
Просмотры 85K
Комментарии 55

Список литературы для менеджера продукта 80 уровня

Учебный процесс в IT
Менеджер продукта – все еще редкий зверь в российских и украинских IT компаниях. И если внутри команд, где менеджер продукта существует, его роль вопросов не вызывает (если он, конечно, занимается делом), то знакомые в других компаниях, на конференциях, друзья, от разработчиков до менеджеров проектов задают массу любопытствующих вопросов. Вопросы очень разномастные – от того, о чем собственно работа, и как устроен процесс работы над продуктом в нашей команде, до того, где поучиться, что почитать, и где вообще берут на работу продакт менеджеров.

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

Сразу хочу сказать, что все книги на английском. Часть из них можно найти на русском, но без английского на уровне чтения и прослушивания подкастов будет тяжко – на русский клевые вещи об управлении продуктами переводят медленно и нехотя. Второй момент – чтение книг из этого списка не сделает из вас менеджера продукта. Как и книжка С++ за 21 день не сделает из вас С++ разработчика. Просто уровень вхождения в окологуманитарные профессии пониже, и это иногда создает напрасные иллюзии.

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

Итак, мой список рекомендованной литературы для всех, кто хочет хочет проливать кровь, пот и слезы работать продакт менеджером или уже работает им.
Читать дальше →
Всего голосов 84: ↑75 и ↓9 +66
Просмотры 70K
Комментарии 20

Шпаргалка по шаблонам проектирования

Разработка веб-сайтов *Анализ и проектирование систем *Проектирование и рефакторинг *

Перевод pdf файла с сайта http://www.mcdonaldland.info/ с описанием 23-х шаблонов проектирования GOF. Каждый пункт содержит [очень] короткое описание паттерна и UML-диаграмму. Сама шпаргалка доступна в pdf, в виде двух png файлов (как в оригинале), и в виде 23-х отдельных частей изображений. Для самых нетерпеливых — все файлы в конце статьи.

Под катом — много картинок.

Читать дальше →
Всего голосов 192: ↑179 и ↓13 +166
Просмотры 1M
Комментарии 64

Обзор бесплатных сервисов для веб-разработки

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

Всем нам иногда хочется попробовать новую идею, запилить какой-нибудь сайтик про манулов, но чтоб обязательно на node.js, хайлоад реди, с мемкешем, монго, фейловером и с претензией на мировое господство. У меня для Вас хорошие новости: благодаря щедрости проклятых западных капиталистов всё это можно получить совершенно бесплатно.
Читать дальше →
Всего голосов 157: ↑136 и ↓21 +115
Просмотры 139K
Комментарии 119

Информация

В рейтинге
Не участвует
Откуда
Холон, Тель-Авив, Израиль
Дата рождения
Зарегистрирован
Активность