Pull to refresh
6
0
Сергей Петрук@SPetruk

Dev2Dev Lead at Qiwi

Send message

Напиши мне денег: переводы через iMessage

Reading time7 min
Reach and readers9.5K

image alt text


iMessage в свежих версиях iOS научился работать со сторонними расширениями. Например, теперь можно добавлять котиков к сообщениям или даже переводить кому-то деньги без дополнительных реквизитов. Это же мечта лентяя — отправлять деньги не выходя из мессенджера, поэтому разработка Яндекс.Денег засела за реализацию.


При разработке модной магии без квестов не обошлось, ведь iMessage практически ничего не рассказывает о получателе сообщения. Нет ни номера кошелька, ни ФИО, ни хотя бы статичного ID. Но мы придумали способ узнать об адресате все необходимое для отправки денег.

ну-ка, ну-ка

IPN для Qiwi на Node.js

Reading time6 min
Reach and readers5.4K
Что реализовать возможность оплаты через шлюз оплаты Qiwi достаточно прочитать руководство для разработчика, которое, кстати, на русском. Но для тех, у кого горят сроки и не хочется тратить много времени на разработку, я попробую облегчить процесс разработки своими выкладками с кодом.
Читать дальше →

Haskell. Монады. Монадные трансформеры. Игра в типы

Reading time4 min
Reach and readers30K
Еще одно введение в монады для совсем совсем начинающих.

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

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

С обычными функциями все понятно. Если имеется функция типа «a->b», то подставив в неё аргумент типа «a», вы получите результат типа «b».

С монадами все не так очевидно. Под катом подробно расписано, как работать с do-конструкцией, как последовательно преобразуются типы, и зачем нужны монадные трансформеры.
Читать дальше →

Тенденции и перспективы рынка мобильных приложений: поговорим о деньгах

Reading time8 min
Reach and readers47K


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

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

Мы в Alconost перевели статью, которая проливает свет на следующие вопросы:

  • Какой доход, в среднем, приносит мобильное приложение?
  • Действительно ли средний доход растет?
  • Какие наибольшие вызовы стоят сегодня перед отраслью мобильных приложений?
  • Какие модели монетизации наиболее популярны на рынке сегодня? Какие станут факторами роста завтра? Какие модели уже отжили свое?

Все нижеприведенные выводы основаны на статистических отчетах и экспертном мнении.
Читать дальше →

Как добавить AppIcon и LaunchScreen в приложение на React Native

Reading time7 min
Reach and readers28K

Не занимаясь никогда ранее нативной разработкой под мобильные платформы, и в этот раз решил пойти "легким путем" — освоить React Native. Наибольшей трудностью стало добавление иконки приложения(AppIcon) и экрана загрузки (Launch Screen). О чем и хочу рассказать в данной статье тем, кто осваивает React Native.

Читать дальше →

Почему VIPER это плохой выбор для вашего следующего приложения

Reading time7 min
Reach and readers20K

Этот пост является вольным переводом статьи Why VIPER is a bad choice for your next application by Sergey Petrov


За последний год о VIPER писали все кому не лень. Эта архитектура реально вдохновляет разработчиков. Но большинство статей, на самом деле, довольно предвзяты. Они лишь показывают крутизну этого архитектурного паттерна, умалчивая о его негативных сторонах. А ведь проблем у него вовсе не меньше (а может даже и больше) чем у других. И в этой статье я постараюсь объяснить, почему VIPER вовсе не так хорош как о нем говорят, и почему он не подойдет для большинства ваших приложений.


Узнать что не так с VIPER

Обучаемся самостоятельно: подборка видеокурсов по Computer Science

Reading time11 min
Reach and readers134K

You, Inc. Как развить личные и профессиональные навыки, продать их и выделиться из толпы

Reading time3 min
Reach and readers28K


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

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

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

Парсинг JSON — это минное поле

Reading time25 min
Reach and readers172K
image

JSON — это стандарт де-факто, когда заходит речь о (де)сериализации, обмене данными в сети и мобильной разработке. Но насколько хорошо вы знакомы с JSON? Все мы читаем спецификации и пишем тесты, испытываем популярные JSON-библиотеки для своих нужд. Я покажу вам, что JSON — это идеализированный формат, а не идеальный, каким его многие считают. Я не нашёл и двух библиотек, ведущих себя одинаково. Более того, я обнаружил, что крайние случаи и зловредная полезная нагрузка могут привести к багам, падениями и DoS, в основном потому, что JSON-библиотеки основаны на спецификациях, которые со временем развиваются, что оставляет многие вещи плохо или вообще не задокументированными.

Читать дальше →

Видео докладов с Techleads Meetup #1

Reading time1 min
Reach and readers7.5K


15-го октября в Badoo прошел пилотный Techleads Meetup. А сегодня мы выкладываем видео выступлений.

Познавательного Вам просмотра!
Читать дальше →

Интеллект-карты: 5 способов, которые помогли мне превратить хаос в порядок

Reading time6 min
Reach and readers249K
«Ментальная карта… Опять эзотерика?» — подумала я, впервые прочитав это название больше полугода назад. Потом вникла, попробовала нарисовать в таком формате свои планы на неделю. Получилось на удивление легко и интересно.
Здесь бы я могла написать, что с тех пор я стала пользоваться картами постоянно, но это не так. Я про них забыла. И вспомнила лишь в августе, когда планировала поездку в отпуск. Вот что из этого получилось.


Читать дальше →

Techleads Meetup в Badoo

Reading time3 min
Reach and readers5.6K


Рады сообщить вам, что 15-го октября мы проведем пилотный Techleads Meetup.

Techleads – это митап для лидов, руководителей отделов и CTO, призванный объединить на одной площадке технологии, разработку и управление. Спикеры Techleads-митапа будут делиться своим опытом и расскажут о том, как в их компаниях устроены процессы разработки, тестирования, системного администрирования и не только. Расскажут о самых успешных и эффективных методологиях, а также о том, как делать не стоит.

Программа Techleads митапа #1


"Мобильный веб: назад в будущее"
Виталий Шароватов, Mobile Web Team Lead и Руслан Байрамкулов, Senior Mobile Web QA Engineer (Badoo)


Описание:
Количество пользователей мобильных устройств уже давно превысило количество пользователей стационарных компьютеров и ноутбуков. В свою очередь мобильный веб — это самая быстрорастущая мобильная платформа (по данным comScore, 2015). И если будущее не за этой платформой, то как минимум, она будет его заметной частью.

Давным-давно для Мобильного веба в Badoo были «тёмные времена». Использовались дизайны нативных платформ и эмитировалось их поведение. Даже релизы случались раз в неделю-две. Около года назад ситуация начала меняться в лучшую сторону. Мобильная веб версия Badoo догнала по количеству фич остальные платформы и показала существенный рост по всем показателям. Теперь мобильный веб релизится каждый день.

В докладе мы расскажем о том, что неправильного происходит с процессами внутри и снаружи команды. Для примера возьмем как собственные грабли, так и чужие, но такие распространённые ошибки организации работы.
Читать дальше →

Лекции Техносферы. 1 семестр. Введение в анализ данных (весна 2016)

Reading time3 min
Reach and readers44K
Слушайте и смотрите новую подборку лекций Техносферы Mail.Ru. На этот раз представляем в открытом доступе весенний курс «Введение в анализ данных», на котором слушателей знакомят со сферой анализа данных, основными инструментами, задачами и методами, с которыми сталкивается любой исследователь данных в работе. Курс преподают Евгений Завьялов (аналитик проекта Поиск Mail.Ru, занимающийся извлечением полезных бизнесу знаний из данных, генерируемых поисковым движком и десктопными приложениями), Михаил Гришин (программист-исследователь из отдела анализа данных) и Сергей Рыбалкин (старший программист из студии Allods Team).

Лекция 1. Введение в Python


Из первой лекции вы узнаете, что такое анализ данных, какие инструменты используют для анализа данных, а также как работает Python.


Читать дальше →

Какое окно оценки игры интегрировать в свою мобилку

Reading time3 min
Reach and readers12K
Наш партнер, аналитическая компания Playliner, подготовила для блога программы "Менеджмент игровых интернет-проектов" исследование о предложениях оценить игру. Под катом вы найдете информацию о том, какие бывают типы предложений, и какие фичи используют разработчики, чтобы повысить оценку игры в сторе. А также выводы и анализ преимуществ и недостатков различных вариантов интеграции этой механики в вашу игру.


Читать дальше →

Ключевые навыки успешной Agile-команды или как сделать так, чтобы Agile заработал?

Reading time14 min
Reach and readers30K

Дмитрий Лобасев (lobasev.ru)


Давайте погрузимся в механику гибких процессов и вместе подумаем, как сделать так, что вот, приходите вы, например, с конференции и как менеджер говорите: «Так, ребята, всем Kanban с понедельника!» или «Всем Scrum!». А ребята смотрят на вас – ну, а какой у них выбор? Сказали Scrum, значит, Scrum… Идут, что-то делают, пытаются сделать Scrum, делают какие-то ритуалы, приплясывают возле доски по утрам, ходят, что-то еще делают. Но что-то не работает.

Мой доклад, как раз, этому и посвящен. Давайте рассмотрим механику Agile-процессов – как сделать так, чтобы все-таки это приносило ценность.

Вот как было задумано:



Ну, и получается на выходе:


Рекордное время: как мы увеличили скорость запуска приложения Почты Mail.Ru на iOS

Reading time21 min
Reach and readers16K


Скорость запуска — критически важный фактор для долгосрочного успеха приложения. Она особенно важна для таких приложений как Почта Mail.Ru, которые запускают по многу раз в день с целью быстро проверить новые письма во «Входящих».

В статье речь пойдет об оптимизации большого по объему кода приложения, имеющего относительно долгую историю разработки и успевшего обрасти за это время множеством видимой и скрытой от пользователя функциональности. Задача состояла в том, чтобы сократить время запуска без урезания функциональности.
Читать дальше →

Как пасти котов. Наставление для программистов, руководящих другими программистами

Reading time7 min
Reach and readers154K
Привет, Хаброжители!
У нас вновь вышла книга Дж. Рейнвотера.

image«Как пасти котов» — это книга о лидерстве и руководстве, о том, как первое совмещать со вторым. Это, если хотите, словарь трудных случаев управления IT-проектами. Программист подобен кошке, которая гуляет сама по себе. Так уж исторически сложилось. Именно поэтому так непросто быть руководителем команды программистов. Даже если вы еще месяц назад были блестящим и дисциплини-рованным программистом и вдруг оказались в роли менеджера, вряд ли вы знаете, с чего надо начать, какой выбрать стиль руко-водства, как нанимать и увольнять сотрудников, проводить совещания, добиваться своевременного выполнения задач. В таком случае без этой книги вам не обойтись. А может быть, вы — опытный менеджер, желающий пересмотреть свои принципы лидерства? Тогда, опять же, эта книга для вас. Вне зависимости от возраста, пола и социального статуса она поможет вам укрепить свои позиции в роли лидера программистов. Материал изложен довольно компактно и легко укладывается в голове. Стоя в книжном магазине и раздумывая, что же купить, задайте себе один простой вопрос: «Нужно ли мне совершенствовать свои лидерские навыки?» Полагаю, вы ответите: «Да», — а значит, данная книга окажется для вас небесполезной.
Читать дальше →

iOS 10: Notification Content Extension

Reading time5 min
Reach and readers20K

В этой статье речь пойдет о новой возможности в iOS 10 — Notification Content Extension. Это разновидность расширения, которая позволяет отображать пользователю собственный интерфейс при взаимодействии с уведомлением (remote или local). И отдельно коснемся того, что можно, а что нельзя делать в этом новом расширении — в том числе насколько оно гибко настраивается и конфигурируется.
Читать дальше →

Страх и ненависть и пагинация

Reading time8 min
Reach and readers28K

А в чем проблема?


Типичная пагинация


Как бы нам не хотелось этого отрицать, практика показывает, что подавляющее большинство своего времени типичный iOS-разработчик проводит за работой с табличками. Проектирование сервисного слоя — это интригующе, разработка универсального роутинга в приложении — захватывающе, а от настройки гибких политик кэширования вообще крышу сносит, но работа с табличными интерфейсами — это наши серые будни. Иногда луч света все же попадает и в эту область, и вместо очередной возни с constraint'ами перед нами может встать задача реализации постраничной загрузки — или, как это модно называть в мобильных приложениях, infinite scroll'а.


Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity