Pull to refresh
19
0.1
Игорь @Conung_ViC

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

Send message

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

Reading time3 min
Views6.7K

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

Читать далее
Total votes 6: ↑5 and ↓1+4
Comments6

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

Reading time9 min
Views50K

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

Читать далее
Total votes 158: ↑138 and ↓20+118
Comments177

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

Reading time7 min
Views14K

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

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

Читать далее
Total votes 7: ↑6 and ↓1+5
Comments2

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

Reading time6 min
Views7.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
Читать дальше →
Total votes 8: ↑6 and ↓2+4
Comments4

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

Reading time8 min
Views36K

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


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


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

Задача


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


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

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

Reading time9 min
Views52K

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



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


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

Total votes 27: ↑25 and ↓2+23
Comments18

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

Reading time11 min
Views260K

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


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

Читать дальше →
Total votes 18: ↑11 and ↓7+4
Comments23

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

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

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

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

Читать дальше →
Total votes 14: ↑11 and ↓3+8
Comments5

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

Reading time6 min
Views4.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. вы конечно можете использовать уже существующую учётную запись, но по соображениям безопасности, крайне не рекомендуется этого делать
Читать дальше →
Total votes 15: ↑9 and ↓6+3
Comments7

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

Reading time10 min
Views22K
Что мне не нравится в краудфандинговых площадках:

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

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

Читать дальше →
Total votes 145: ↑102 and ↓43+59
Comments35

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

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

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

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

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

Данная статье следует пунктам #1 (последовательность примеров) и #2(варианты применения).
Читать дальше →
Total votes 47: ↑42 and ↓5+37
Comments21

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

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

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

Вступление


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


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

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

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

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

Reading time7 min
Views44K
image

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

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

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

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

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

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

Reading time2 min
Views56K
На одном из моих первых тренингов один из присутствующих менеджеров задал вопрос:

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


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

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

Что было дальше
Total votes 21: ↑21 and ↓0+21
Comments7

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

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

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

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

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

Reading time5 min
Views86K


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

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

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

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

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

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

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

Information

Rating
3,300-th
Location
Холон, Тель-Авив, Израиль
Date of birth
Registered
Activity