Search
Write a publication
Pull to refresh
3
0
Луговой Дмитрий Владимирович @dimalu85

User

Send message

Путешествия банковской транзакции

Reading time8 min
Views153K
image

Некоторое время назад на Хабре уже мелькали посты о работе банкоматов: один и два, но оба они описывали принципы работы банкоматов и вообще карточного процессинга весьма поверхностно.
Для интересующихся под катом много подробностей работы карточного процессинга банка (много букв).
Читать дальше →

Дао Вебсервиса. (Или да хватит же изобретать велосипеды!)

Reading time12 min
Views59K
image Недавно на Хабре была опубликована статья под провокационным заголовком и призывом к прекращению изобретений велосипедов в API-строении. Поскольку тема мне интересна, то я просто не мог пройти мимо.
Увы, реальность за хабракатом меня сильно разочаровала — я увидел очередной велосипед, да еще и с квадратными колесами. (Коллеги, ничего личного, только техническое обсуждение.) Правда, авторы честно сказали, что увидели на нескольких сайтах модное слово REST и решили сделать по нему. Только вот поняли они этот «РЭСТ» по-своему, примерно как Дед Щукарь читал и понимал толковый словарь.
В этом топике я призываю по-настоящему покончить с велосипедами в API сайтов. Ведь получается какой анекдот: АПИ разрабатывается для упрощения доступа к сайту и легкости подключения внешних систем, а получается такой, что с ним еще сложнее, чем без него :)

Чуть ниже под катом я подпишу смертный приговор всем велосипедам в универсальных API. Чтобы не быть голословным, я все проиллюстрирую примерами.
Но должен предупредить сразу — после прочтения статьи вы не сможете без рвотного рефлекса смотреть на очередной велосипед Васи Пупкина под гордым названием «универсальное API сайта».

В повествовании будут рассмотрены следующие вопросы:
  1. Базовые технологии: XML-RPC, REST, SOAP и краткое сравнение
  2. Дао вебсервиса
  3. Просветленные API
  4. Как отличить сайтовое API от говна
  5. Выводы

Кто не испугался суровых реалий - вперед

Подробно о задачах Gradle

Reading time24 min
Views127K


Перевод второй главы свободно распространяемой книги Building and Testing with Gradle

Задача (task) является основным компонентом процесса сборки в файле билда Gradle. Задачи представляют собой именованные наборы инструкций билда, которые Gradle запускает выполняя сборку приложения. При сравнении с другими билд-системами, задачи могут показаться знакомой абстракцией. Однако Gradle предоставляет более развитую модель, в отличие от той, которая вам уже может быть знакома. По сравнению с традиционными возможностями объявления операций билда, связанных зависимостями, задачи Gradle являются полнофункциональными объектами, которыми вы при желании можете управлять программно.

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

Все врут!™ или казуистика описания бизнес-процессов

Reading time5 min
Views40K
Одним из методов сбора информации о процессе является проведение интервью с владельцем или участниками этого бизнес-процесса. Такой традиционный подход встречается очень часто, особенно у начинающих бизнес-аналитиков и матерых консультантов из Big4. Казалось бы очень разумно выслушать человека, формализовать его монолог и согласовать результат с ним же — это быстро и не затратно. Одно плохо — на этапе анализа адекватности результата моделирования деятельности (если такое предусмотрено) происходит отбраковка собранных данных по причине их несогласованности и противоречивости, процедуру сбора данных о ходе процесса надо повторять сначала, «на радость» всем участникам проекта. Почему такое происходит? Как видно из заголовка, дело в респондентах. Ниже на конкретных примерах из личного опыта я покажу, почему был сделан такой вывод и как с этим бороться.
Читать дальше →

Подробно о Xamarin

Reading time12 min
Views447K
Вы неплохо владеете языком C# и платформой .NET в целом? Вам надоело стоять в стороне и смотреть, как кто-то другой пишет крутые мобильные приложения вместо вас? У меня есть для вас кое-что интересное! То, что поможет вам изменить сложившуюся ситуацию и позволит писать отличные мобильные приложения, не требуя отдельного изучения Objective-C и Java. Я расскажу вам о продукте Xamarin. Подробно и правдиво.

Что это?



Xamarin — это фреймворк для кроссплатформенной разработки мобильных приложений (iOS, Android, Windows Phone) с использованием языка C#. Идея очень простая. Вы пишете код на своем любимом языке, с применением всех привычных для вас языковых фич типо LINQ, лямбда-выражений, Generic`ов и async`ов. При этом вы имеете полный доступ ко всем возможностям SDK платформы и родному механизму создания UI, получая на выходе приложение, которое, строго говоря, ничем не отличается от нативных и (по крайней мере по заверениям) не уступает им в производительности.

Фреймворк состоит из нескольких основных частей:
Читать дальше

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

Reading time2 min
Views163K
Решил собрать сервисы, которые могут быть полезны веб-разработчикам и дизайнерам. Буду рад, если кто-то найдет для себя полезный сервис. Осторожно, под катом куча картинок!
Читать дальше →

Лямбда-выражения в Java 8

Reading time19 min
Views465K
В новой версии Java 8 наконец-то появились долгожданные лямбда-выражения. Возможно, это самая важная новая возможность последней версии; они позволяют писать быстрее и делают код более ясным, а также открывают дверь в мир функционального программирования. В этой статье я расскажу, как это работает.

Java задумывалась как объектно-ориентированный язык в 90-е годы, когда объектно-ориентированное программирование было главной парадигмой в разработке приложений. Задолго до этого было объектно-ориентированное программирование, были функциональные языки программирования, такие, как Lisp и Scheme, но их преимущества не были оценены за пределами академической среды. В последнее время функциональное программирование сильно выросло в значимости, потому что оно хорошо подходит для параллельного программирования и программирования, основанного на событиях («reactive»). Это не значит, что объектная ориентированность – плохо. Наоборот, вместо этого, выигрышная стратегия – смешивать объектно-ориентированное программирование и функциональное. Это имеет смысл, даже если вам не нужна параллельность. Например, библиотеки коллекций могут получить мощное API, если язык имеет удобный синтаксис для функциональных выражений.

Главным улучшением в Java 8 является добавление поддержки функциональных программных конструкций к его объектно-ориентированной основе.
Читать дальше →

MVP за 7 недель. Как это было

Reading time4 min
Views38K
Когда я собрал ребят и сказал, что нам нужно успеть сделать MVP (minimum viable product) нового сервиса к 31 мая, они переглянулись и сказали: «Это невозможно». И вот спустя почти 7 недель разработки, каждый из нас может с гордостью сказать: «Мы сделали это!»

image

Эта статья — продолжение материала "Как не сделать «какашку»? Личный опыт создания продукта", где я описывал этапы исследования и проектирования продукта. Теперь мне бы хотелось поделиться личным опытом и рассказать о том, как нам удалось реализовать «неподъемный» на первый взгляд проект в срок, чем пришлось пожертвовать и показать вам, что в итоге у нас получилось.
Читать дальше →

Создание продукта: НАЧАЛО

Reading time7 min
Views60K
Как в фильме Начало (Inсeption), реальность в продуктовой разработке имеет определенную вложенность слоев. В зависимости от того, какая роль вам выпала, ваше “начало” в проекте может произойти раньше или позже, но всегда приятнее быть в числе создателей новой реальности, не так ли?

Эта статья — вступительная часть к трилогии о том, что собой представляет в гибкой продуктовой разработке:

  • Готовность Начать
  • Готовность Завершить
  • Готовность Выпустить

Первая часть будет посвящена процессу открытия продукта (Product Discovery), вторая — процессу разработки продукта (Agile Delivery), третья — формированию цикла этих двух процессов, с обратной связью от рынка (Business Development). Здесь же, в начале, я задам общие рамки ролей и процессов, в которые буду углубляться в следующих частях.

Пишу эту статью для нынешних или начинающих Владельцев Продуктов — «ловцов снов» и «продавцов воздуха». Людей, идеи которых способны изменить реальность, а могут сами оказаться иллюзией.
Читать дальше →

Рендеринг WEB-страницы: что об этом должен знать front-end разработчик

Reading time6 min
Views239K
Приветствую вас, уважаемые хабравчане! Сегодня я бы хотел осветить вопрос рендеринга в веб-разработке. Конечно, на эту тему уже написано много статей, но, как мне показалась, вся информация довольно разрознена и отрывочна. По крайней мере, чтобы собрать всю картину в своей голове и осмыслить её, мне пришлось проанализировать немало информации (в основном — англоязычной). Именно поэтому я решил формализовать свои знания в статью, и поделиться результатом с сообществом Хабра. Думаю, информация будет полезна как начинающим веб-разработчикам, так и более опытным, чтобы освежить и структурировать свои знания.

Данное направление можно и нужно оптимизировать на этапе вёрстки/frontend-разработки, поскольку, очевидно, что разметка, стили и скрипты принимают в рендеринге непосредственное участие. Для этого соответствующие специалисты должны знать некоторые тонкости.
Читать дальше →

Автоматизация тестирования. Начало пути

Reading time10 min
Views113K
Добрый день, Хабр!

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

Продвижение приложений в AppStore (Google Play)

Reading time9 min
Views53K

Прежде чем мы написали этот материал, наши приложения загрузили более 2 000 000 раз, мы провели порядка 50 больших промо кампаний, побывали в топах AppStore более, чем в 24-х странах пока наконец не собрали всё это в один большой work flow. В статье почти нет очевидных вещей про ключевые слова, красоту иконок, скриншотов и рекламные кампании. Мы попытались привести работу продуктовой компании к единой модели, ответив на вопросы: «что?», «когда?», «зачем?» и даже на вопрос «а дальше что?». Если вы разрабатываете собственное приложение, хотите начать это делать или у вас просто есть друг разработчик или маркетолог продуктовой компании — в этой статье вы найдёте много полезной информации.
Читать дальше →

Как сделать онлайн просмотр документов

Reading time6 min
Views59K
Первый рабочий день. Первая задача в Redmine. Первая спецификация в формате doc. На новой рабочей машине. К чтению спецификации удалось приступить часа через 3. Пока скачался и установился MS Office. Вспоминая этот случай, я был уверен, что в нашей системе управления задачами надо сделать онлайн просмотр документов. Вот только идей по реализации за разумное время и трудозатраты не было. Недавно мы нашли способ – Microsoft Office Web Apps.

В этой статье пойдет речь о том, как добавить онлайн просмотр документов в любой продукт.
Читать дальше →

Советы по введению рекламной компании для мобильного приложения

Reading time5 min
Views7K
image

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

Рассмотрим подробнее примерный чек-лист организации рекламы приложения:
1. Определение типа приложения и общей стратегии его рекламирования.
2. Расчёт бюджета рекламы.
3. Предрелизная активность:
• Постановка трейлера.
• Подготовка баннеров.
4. Виральные механизмы.
5. Работа с СМИ.
6. Работа с оценками и отзывами.
7. Push и Email уведомления.
Читать дальше →

Как добавить help desk в ваш трекер YouTrack

Reading time6 min
Views19K
На Хабре несколько месяцев назад обсуждалось, что нет идеального трекера — такого, чтобы он подошел хорошо и разработчику, и заказчику. В частности, упоминалось, что трекеру нужен help desk. В YouTrack начиная с версии 5.1 он есть, и сегодня мы расскажем, как его настраивать.

Перед ответом на вопрос «как» полезно понять, зачем. Типичный сценарий выбора YouTrack состоит в том, что вы решаете, какой баг-трекер взять для нового проекта, или легко ли включить требуемую функциональность в существующем. Тогда возможность буквально за пять минут добавить help desk в трекер склонит чашу весов в пользу YouTrack, если проект предполагает общение пользователей со службой поддержки.

Прежде всего, help desk должен иметь привычный интерфейс. Нет, мы (пока) не научили YouTrack отвечать красивым голосом на телефонные звонки. Однако и привыкать к веб-интерфейсу вашим пользователям незачем: в YouTrack можно просто писать письма. У вас на сайте написано, что писать в поддержку надо по адресу support@your-brilliant-app.com? Отлично, YouTrack может вынимать письма из этого ящика и делать из них заявки, видимые вашим разработчикам.

Хотя YouTrack — не бесплатное решение, вы можете сэкономить. Дело в том, что лицензия на YouTrack покупается на определенное количество разработчиков (до 10 — бесплатно). Разработчики работают с YouTrack с помощью веб-интерфейса.

Зарегистрированные пользователи имеют доступ через веб-интерфейс, а чтобы писать письма в help desk и получать ответы, регистрироваться не обязательно. Стало быть, ваши разработчики будут зарегистрированы в YouTrack, а пользователи вашего приложения смогут сообщать о проблемах без регистрации, совершенно бесплатно для вас.

Ответы разработчиков, которые они будут писать в комментариях к заявке в YouTrack, будут автоматически приходить пользователям, в том числе и тем, что поставлены в копию письма.

Делаем себе свой YouTrack


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

Читать дальше →
12 ...
7

Information

Rating
Does not participate
Location
Витебск, Витебская обл., Беларусь
Date of birth
Registered
Activity