Как стать автором
Обновить
19
0
Игорь @Conung_ViC

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

Отправить сообщение

Моя первая игра — Picross.io

Время на прочтение 3 мин
Количество просмотров 6.7K

Всем привет, я инди разработчик, но когда то я им не был :) За всё время своих скитаний я успел сменить много различных профессий, от грузчика и продавца консультанта, до сотрудника торгового зала в "Ленте", но в итоге пришёл в геймдев, и, в этой статье я поделюсь своим опытом о разработке и публикации своей первой игры - PiCROSS.iO

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 6

Главная ложь SCRUM. Откуда берётся карго-культ

Время на прочтение 9 мин
Количество просмотров 50K

Всем привет. Меня зовут Рома, я-разработчик. За короткое время, в одной команде, на одном проекте, я поработал в трёх разных вариациях скрама. Ощущались они по-разному, и каждый новый вариант нравился мне меньше предыдущего. В этой статье я поделюсь своим опытом и выводами.

Читать далее
Всего голосов 158: ↑138 и ↓20 +118
Комментарии 177

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

Время на прочтение 7 мин
Количество просмотров 14K

Сервер авторизации в 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
Комментарии 2

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

Время на прочтение 6 мин
Количество просмотров 7.5K
Счастливого запоздалого Нового года, 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
Комментарии 4

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

Время на прочтение 8 мин
Количество просмотров 36K

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


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


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

Задача


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


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

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

Время на прочтение 9 мин
Количество просмотров 51K

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



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


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

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

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

Время на прочтение 11 мин
Количество просмотров 259K

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


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

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

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

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

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

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

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

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

Время на прочтение 6 мин
Количество просмотров 4.2K

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
Комментарии 7

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

Время на прочтение 10 мин
Количество просмотров 22K
Что мне не нравится в краудфандинговых площадках:

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

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

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

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

Время на прочтение 5 мин
Количество просмотров 80K
Это первая часть статьи, посвященной такому языковому механизму 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
Комментарии 21

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

Время на прочтение 6 мин
Количество просмотров 154K
Идею, короткий план и ссылки на основные источники для этой статьи мне подал хабраюзер z6Dabrata, за что ему огромнейшее спасибо.

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

Вступление


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


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

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

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

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

Время на прочтение 7 мин
Количество просмотров 44K
image

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

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

Время на прочтение 4 мин
Количество просмотров 18K
Когда-то давно на Хабре была статья о том, как работает 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
Комментарии 17

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

Время на прочтение 2 мин
Количество просмотров 56K
На одном из моих первых тренингов один из присутствующих менеджеров задал вопрос:

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


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

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

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

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

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

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

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

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

Время на прочтение 5 мин
Количество просмотров 86K


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

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

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

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

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

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

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

Информация

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