Читать дальше →
Луговой Дмитрий Владимирович @dimalu85
User
Дао Вебсервиса. (Или да хватит же изобретать велосипеды!)
12 min
59K
Увы, реальность за хабракатом меня сильно разочаровала — я увидел очередной велосипед, да еще и с квадратными колесами. (Коллеги, ничего личного, только техническое обсуждение.) Правда, авторы честно сказали, что увидели на нескольких сайтах модное слово REST и решили сделать по нему. Только вот поняли они этот «РЭСТ» по-своему, примерно как Дед Щукарь читал и понимал толковый словарь.
В этом топике я призываю по-настоящему покончить с велосипедами в API сайтов. Ведь получается какой анекдот: АПИ разрабатывается для упрощения доступа к сайту и легкости подключения внешних систем, а получается такой, что с ним еще сложнее, чем без него :)
Чуть ниже под катом я подпишу смертный приговор всем велосипедам в универсальных API. Чтобы не быть голословным, я все проиллюстрирую примерами.
Но должен предупредить сразу — после прочтения статьи вы не сможете без рвотного рефлекса смотреть на очередной велосипед Васи Пупкина под гордым названием «универсальное API сайта».
В повествовании будут рассмотрены следующие вопросы:
- Базовые технологии: XML-RPC, REST, SOAP и краткое сравнение
- Дао вебсервиса
- Просветленные API
- Как отличить сайтовое API от говна
- Выводы
+262
Подробно о задачах Gradle
24 min
127KTutorial

Перевод второй главы свободно распространяемой книги Building and Testing with Gradle
Задача (task) является основным компонентом процесса сборки в файле билда Gradle. Задачи представляют собой именованные наборы инструкций билда, которые Gradle запускает выполняя сборку приложения. При сравнении с другими билд-системами, задачи могут показаться знакомой абстракцией. Однако Gradle предоставляет более развитую модель, в отличие от той, которая вам уже может быть знакома. По сравнению с традиционными возможностями объявления операций билда, связанных зависимостями, задачи Gradle являются полнофункциональными объектами, которыми вы при желании можете управлять программно.
Рассмотрим какими способами можно определить задачу, два ключевых подхода к определению задач и программный интерфейс, который мы можем использовать для гибкой настройки.
+25
Все врут!™ или казуистика описания бизнес-процессов
5 min
40KОдним из методов сбора информации о процессе является проведение интервью с владельцем или участниками этого бизнес-процесса. Такой традиционный подход встречается очень часто, особенно у начинающих бизнес-аналитиков и матерых консультантов из Big4. Казалось бы очень разумно выслушать человека, формализовать его монолог и согласовать результат с ним же — это быстро и не затратно. Одно плохо — на этапе анализа адекватности результата моделирования деятельности (если такое предусмотрено) происходит отбраковка собранных данных по причине их несогласованности и противоречивости, процедуру сбора данных о ходе процесса надо повторять сначала, «на радость» всем участникам проекта. Почему такое происходит? Как видно из заголовка, дело в респондентах. Ниже на конкретных примерах из личного опыта я покажу, почему был сделан такой вывод и как с этим бороться.
+16
Подробно о Xamarin
12 min
447KВы неплохо владеете языком C# и платформой .NET в целом? Вам надоело стоять в стороне и смотреть, как кто-то другой пишет крутые мобильные приложения вместо вас? У меня есть для вас кое-что интересное! То, что поможет вам изменить сложившуюся ситуацию и позволит писать отличные мобильные приложения, не требуя отдельного изучения Objective-C и Java. Я расскажу вам о продукте Xamarin. Подробно и правдиво.

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

Xamarin — это фреймворк для кроссплатформенной разработки мобильных приложений (iOS, Android, Windows Phone) с использованием языка C#. Идея очень простая. Вы пишете код на своем любимом языке, с применением всех привычных для вас языковых фич типо LINQ, лямбда-выражений, Generic`ов и async`ов. При этом вы имеете полный доступ ко всем возможностям SDK платформы и родному механизму создания UI, получая на выходе приложение, которое, строго говоря, ничем не отличается от нативных и (по крайней мере по заверениям) не уступает им в производительности.
Фреймворк состоит из нескольких основных частей:
+63
30 полезных сервисов для веб-разработчика
2 min
163KРешил собрать сервисы, которые могут быть полезны веб-разработчикам и дизайнерам. Буду рад, если кто-то найдет для себя полезный сервис. Осторожно, под катом куча картинок!
+132
Лямбда-выражения в Java 8
19 min
465KВ новой версии Java 8 наконец-то появились долгожданные лямбда-выражения. Возможно, это самая важная новая возможность последней версии; они позволяют писать быстрее и делают код более ясным, а также открывают дверь в мир функционального программирования. В этой статье я расскажу, как это работает.
Java задумывалась как объектно-ориентированный язык в 90-е годы, когда объектно-ориентированное программирование было главной парадигмой в разработке приложений. Задолго до этого было объектно-ориентированное программирование, были функциональные языки программирования, такие, как Lisp и Scheme, но их преимущества не были оценены за пределами академической среды. В последнее время функциональное программирование сильно выросло в значимости, потому что оно хорошо подходит для параллельного программирования и программирования, основанного на событиях («reactive»). Это не значит, что объектная ориентированность – плохо. Наоборот, вместо этого, выигрышная стратегия – смешивать объектно-ориентированное программирование и функциональное. Это имеет смысл, даже если вам не нужна параллельность. Например, библиотеки коллекций могут получить мощное API, если язык имеет удобный синтаксис для функциональных выражений.
Главным улучшением в Java 8 является добавление поддержки функциональных программных конструкций к его объектно-ориентированной основе.
Java задумывалась как объектно-ориентированный язык в 90-е годы, когда объектно-ориентированное программирование было главной парадигмой в разработке приложений. Задолго до этого было объектно-ориентированное программирование, были функциональные языки программирования, такие, как Lisp и Scheme, но их преимущества не были оценены за пределами академической среды. В последнее время функциональное программирование сильно выросло в значимости, потому что оно хорошо подходит для параллельного программирования и программирования, основанного на событиях («reactive»). Это не значит, что объектная ориентированность – плохо. Наоборот, вместо этого, выигрышная стратегия – смешивать объектно-ориентированное программирование и функциональное. Это имеет смысл, даже если вам не нужна параллельность. Например, библиотеки коллекций могут получить мощное API, если язык имеет удобный синтаксис для функциональных выражений.
Главным улучшением в Java 8 является добавление поддержки функциональных программных конструкций к его объектно-ориентированной основе.
+42
MVP за 7 недель. Как это было
4 min
38KКогда я собрал ребят и сказал, что нам нужно успеть сделать MVP (minimum viable product) нового сервиса к 31 мая, они переглянулись и сказали: «Это невозможно». И вот спустя почти 7 недель разработки, каждый из нас может с гордостью сказать: «Мы сделали это!»

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

Эта статья — продолжение материала "Как не сделать «какашку»? Личный опыт создания продукта", где я описывал этапы исследования и проектирования продукта. Теперь мне бы хотелось поделиться личным опытом и рассказать о том, как нам удалось реализовать «неподъемный» на первый взгляд проект в срок, чем пришлось пожертвовать и показать вам, что в итоге у нас получилось.
+22
Создание продукта: НАЧАЛО
7 min
60KTutorial

Эта статья — вступительная часть к трилогии о том, что собой представляет в гибкой продуктовой разработке:
- Готовность Начать
- Готовность Завершить
- Готовность Выпустить
Первая часть будет посвящена процессу открытия продукта (Product Discovery), вторая — процессу разработки продукта (Agile Delivery), третья — формированию цикла этих двух процессов, с обратной связью от рынка (Business Development). Здесь же, в начале, я задам общие рамки ролей и процессов, в которые буду углубляться в следующих частях.
Пишу эту статью для нынешних или начинающих Владельцев Продуктов — «ловцов снов» и «продавцов воздуха». Людей, идеи которых способны изменить реальность, а могут сами оказаться иллюзией.
+33
Рендеринг WEB-страницы: что об этом должен знать front-end разработчик
6 min
239KПриветствую вас, уважаемые хабравчане! Сегодня я бы хотел осветить вопрос рендеринга в веб-разработке. Конечно, на эту тему уже написано много статей, но, как мне показалась, вся информация довольно разрознена и отрывочна. По крайней мере, чтобы собрать всю картину в своей голове и осмыслить её, мне пришлось проанализировать немало информации (в основном — англоязычной). Именно поэтому я решил формализовать свои знания в статью, и поделиться результатом с сообществом Хабра. Думаю, информация будет полезна как начинающим веб-разработчикам, так и более опытным, чтобы освежить и структурировать свои знания.
Данное направление можно и нужно оптимизировать на этапе вёрстки/frontend-разработки, поскольку, очевидно, что разметка, стили и скрипты принимают в рендеринге непосредственное участие. Для этого соответствующие специалисты должны знать некоторые тонкости.
Данное направление можно и нужно оптимизировать на этапе вёрстки/frontend-разработки, поскольку, очевидно, что разметка, стили и скрипты принимают в рендеринге непосредственное участие. Для этого соответствующие специалисты должны знать некоторые тонкости.
+99
Автоматизация тестирования. Начало пути
10 min
113KДобрый день, Хабр!
Темой сегодняшней статьи будет автоматизация функционального тестирования веб-приложений. Точнее говоря, не сама автоматизация, как вид тестирования, а быстрый старт в этом, безусловно, увлекательном деле.
Многие тестеры, занимающиеся проведением функционального и регрессионного тестирования, рано или поздно приходят к мысли об автоматизации процесса, т.к. совершенно точно можно сказать, что выполнение одних и тех же регрессионных кейсов со временем ужасно надоедает.
Статья рассчитана на людей, которые только-только подходят к этой мысли ине знают думают, с чего бы им начать свой путь в автоматизации.
Темой сегодняшней статьи будет автоматизация функционального тестирования веб-приложений. Точнее говоря, не сама автоматизация, как вид тестирования, а быстрый старт в этом, безусловно, увлекательном деле.
Многие тестеры, занимающиеся проведением функционального и регрессионного тестирования, рано или поздно приходят к мысли об автоматизации процесса, т.к. совершенно точно можно сказать, что выполнение одних и тех же регрессионных кейсов со временем ужасно надоедает.
Статья рассчитана на людей, которые только-только подходят к этой мысли и
+14
Продвижение приложений в AppStore (Google Play)
9 min
53KTutorial

Прежде чем мы написали этот материал, наши приложения загрузили более 2 000 000 раз, мы провели порядка 50 больших промо кампаний, побывали в топах AppStore более, чем в 24-х странах пока наконец не собрали всё это в один большой work flow. В статье почти нет очевидных вещей про ключевые слова, красоту иконок, скриншотов и рекламные кампании. Мы попытались привести работу продуктовой компании к единой модели, ответив на вопросы: «что?», «когда?», «зачем?» и даже на вопрос «а дальше что?». Если вы разрабатываете собственное приложение, хотите начать это делать или у вас просто есть друг разработчик или маркетолог продуктовой компании — в этой статье вы найдёте много полезной информации.
+24
Как сделать онлайн просмотр документов
6 min
59KTutorial
Первый рабочий день. Первая задача в Redmine. Первая спецификация в формате doc. На новой рабочей машине. К чтению спецификации удалось приступить часа через 3. Пока скачался и установился MS Office. Вспоминая этот случай, я был уверен, что в нашей системе управления задачами надо сделать онлайн просмотр документов. Вот только идей по реализации за разумное время и трудозатраты не было. Недавно мы нашли способ – Microsoft Office Web Apps.
В этой статье пойдет речь о том, как добавить онлайн просмотр документов в любой продукт.
В этой статье пойдет речь о том, как добавить онлайн просмотр документов в любой продукт.
+12
Советы по введению рекламной компании для мобильного приложения
5 min
7KRecovery Mode

Любой товар нуждается в рекламе, и мобильные приложения, конечно же, не стали исключением. Реклама мобильного приложения – это высокое искусство, ведь для того, чтобы построить работающий маркетинговый план необходимо проанализировать массу параметров и выполнить не меньшее количество работы.
Рассмотрим подробнее примерный чек-лист организации рекламы приложения:
1. Определение типа приложения и общей стратегии его рекламирования.
2. Расчёт бюджета рекламы.
3. Предрелизная активность:
• Постановка трейлера.
• Подготовка баннеров.
4. Виральные механизмы.
5. Работа с СМИ.
6. Работа с оценками и отзывами.
7. Push и Email уведомления.
-2
Как добавить help desk в ваш трекер YouTrack
6 min
19KНа Хабре несколько месяцев назад обсуждалось, что нет идеального трекера — такого, чтобы он подошел хорошо и разработчику, и заказчику. В частности, упоминалось, что трекеру нужен 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 в облаке. Если в проекте не требуется регистрировать больше 10 разработчиков, то можно взять бесплатный вариант.
Перед ответом на вопрос «как» полезно понять, зачем. Типичный сценарий выбора YouTrack состоит в том, что вы решаете, какой баг-трекер взять для нового проекта, или легко ли включить требуемую функциональность в существующем. Тогда возможность буквально за пять минут добавить help desk в трекер склонит чашу весов в пользу YouTrack, если проект предполагает общение пользователей со службой поддержки.
Прежде всего, help desk должен иметь привычный интерфейс. Нет, мы (
Хотя YouTrack — не бесплатное решение, вы можете сэкономить. Дело в том, что лицензия на YouTrack покупается на определенное количество разработчиков (до 10 — бесплатно). Разработчики работают с YouTrack с помощью веб-интерфейса.
Зарегистрированные пользователи имеют доступ через веб-интерфейс, а чтобы писать письма в help desk и получать ответы, регистрироваться не обязательно. Стало быть, ваши разработчики будут зарегистрированы в YouTrack, а пользователи вашего приложения смогут сообщать о проблемах без регистрации, совершенно бесплатно для вас.
Ответы разработчиков, которые они будут писать в комментариях к заявке в YouTrack, будут автоматически приходить пользователям, в том числе и тем, что поставлены в копию письма.
Делаем себе свой YouTrack
Для теста я сделал себе экземпляр YouTrack в облаке. Если в проекте не требуется регистрировать больше 10 разработчиков, то можно взять бесплатный вариант.
+19
Information
- Rating
- Does not participate
- Location
- Витебск, Витебская обл., Беларусь
- Date of birth
- Registered
- Activity