Pull to refresh

Выпустили книгу о доступности приложений на iOS

Reading time3 min
Views4.7K

Однажды Миша Рубанов посмотрел интервью Wylsacom с Анатолием Попко «Как незрячий пользуется iPhone, MacBook и Apple Watch» и понял, что адаптировать приложения для незрячих это важно, и несложно. Начал разбираться как люди пользуются телефоном, как ведут себя отдельные контролы, как строить из этого сценарии, начал адаптировать экраны приложения Додо Пиццы, написал статью про доступность «Voice Control и VoiceOver: как адаптировать приложение для незрячих или неподвижных», потом ещё и ещё, провёл курс. В итоге накопилось столько материала, что его хватило бы на целую книгу.

И вот она появилась.
Total votes 13: ↑13 and ↓0+13
Comments4

Агрегаты, мои агрегаты, как приятно о вас думать

Reading time7 min
Views26K

В Domain-Driven Design выделяют стратегические и тактические паттерны. Например, первые — это Единый язык, а вторые — Агрегаты. Я много раз слышал от коллег, что со стратегией всё понятно, но когда дело доходит до перехода на тактический уровень (до кода) — всё в тумане. Это приводит к некорректным техническим решениям, которые не могут компенсировать даже правильный настрой и близость к бизнесу. Для успеха проекта крайне важно освоить тактические паттерны, особенно Агрегаты. Всё потому, что Агрегаты инкапсулируют в себя почти всю бизнес-логику, это основа вашего приложения. В этой статье я и расскажу про Агрегаты, как они могут помочь и почему важно их освоить. Но...

...сперва антипаттерны
Total votes 37: ↑33 and ↓4+29
Comments96

Написать книгу за год — мечта или реальность?

Reading time18 min
Views4.4K

Раньше я считал, что написать книгу — это история длиной в жизнь. Год назад я бы рассмеялся, если бы кто-то сказал, что к стольки-то годам напишу книгу на 250 страниц. Но с фактом не поспоришь: вот книга «Про доступность на iOS».

Рассказываю, как случайности и хорошая подготовка нашли друг друга.

Длинная история с картинками
Total votes 37: ↑37 and ↓0+37
Comments12

Как заменить директора ресторана роботом?

Reading time12 min
Views4.6K
О том, как происходит приготовление пиццы в ресторане, да еще и использованием новых технологий, задумывались немногие. А ведь одна компания использует много всего интересного: там и метрики, и отслеживание активности клиентов, и автоматическое распределение заданий. Лично я закажу себе пиццу и с удовольствием посмотрю это интервью с создателем Российской сети пиццерий Федором Овчинниковым. Присоединяйтесь!

Читать дальше →
Total votes 28: ↑25 and ↓3+22
Comments7

Infrastructure as Code: как побороть проблемы с помощью XP

Reading time11 min
Views9.5K
Привет, Хабр! Раньше я жаловался на жизнь в парадигме Infrastructure as code и ничего не предлагал для решения сложившейся ситуации. Сегодня я вернулся, чтобы рассказать, какие подходы и практики помогут вырваться из бездны отчаяния и вырулить ситуацию в правильное русло.


Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments4

HTTP/3: разрушение основ и дивный новый мир

Reading time8 min
Views54K
Вот уже больше 20 лет мы смотрим веб-странички по протоколу HTTP. Большинство пользователей вообще не задумывается о том, что это такое и как оно работает. Другие знают, что где-то под HTTP есть TLS, а под ним TCP, под которым IP и так далее. А третьи – еретики – считают, что TCP – это прошлый век, им хочется чего-то более быстрого, надёжного и защищённого. Но в своих попытках изобрести новый идеальный протокол они вернулись к технологиям 80-х годов и пытаются построить на них свой дивный новый мир.

Читать дальше →
Total votes 102: ↑97 and ↓5+92
Comments114

Быстрый, простой, сложный: как мы выпилили Realm

Reading time18 min
Views20K

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

Мы тоже использовали Realm — 3 года подряд. Сначала он помогал, потом раздражал, пару раз выстрелил и в конце чуть не вогнал команду в депрессию. В итоге мы удалили Realm из проекта. Это сложный инструмент — простота интеграции обманчива, а за все удобства придётся расплачиваться.

Почему и как мы его удалили
Total votes 46: ↑46 and ↓0+46
Comments47

Как заблокировать приложение с помощью runBlocking

Reading time7 min
Views14K

Когда мы начинаем изучать корутины, то «идём» и пробуем что-то простое с билдером runBlocking, поэтому многим он хорошо знаком. runBlocking запускает новую корутину, блокирует текущий поток и ждёт, пока выполнится блок кода — кажется, всё просто и понятно. Но что, если я скажу, что в runBlocking есть одна любопытная вещь, которая может заблокировать не только текущий поток, а вообще всё ваше приложение навсегда?

И это не ошибка.
Total votes 22: ↑22 and ↓0+22
Comments5

Как мы накосячили пока делали Бриллиантовый чекаут™ 9 месяцев, а планировали 2

Reading time9 min
Views12K

В начале 2019 мы собрали аналитику по адресам в заказах и увидели, что бо́льшая часть клиентов заказывает доставку на одни и те же адреса и не устанавливают отложенное время. Они хотят получить заказ «туда же, куда и в прошлый раз и как можно быстрее». Но сделать это не так просто. Поэтому мы решили поменять флоу оплаты заказа и максимально его упростить именно для таких клиентов. Мы назвали этот проект Бриллиантовый чекаут™ и планировали сделать за 2 месяца. А закончили через 9.

И вот почему
Total votes 34: ↑32 and ↓2+30
Comments23

Как выйти на китайский рынок с mini-app для WeChat, чтобы не прогореть

Reading time12 min
Views6.4K

В Китае легко затеряться. Наши первые пиццерии там работали по привычной модели: точка «на доставку» с залом на второй линии не в людном месте. Но модель работала не так как мы хотели, потому что рядом с пиццерией десятки лавок со всеми видами еды, вроде боула с мидиями или хрустальной лапши, где клиент получит еду быстрее. Можно было бы сделать своё приложение с доставкой, но на китайских экранах сотни приложений, где можно заказать еду, и наше бы просто затерялось. Поэтому мы «пошли» в WeChat и его экосистему мини-приложений.

Почти нет примеров когда некитайская продуктовая компания вышла в WeChat с собственной мини-программой, да ещё с in-house разработкой вне Китая. Поэтому мы  познавали все нюансы разработки самостоятельно, от устройства китайской цифровой экосистемы и мини-приложений в WeChat, до вывода продукта на китайский рынок. Об этом и расскажем в этом большом «разборе» китайских приложений.

Читать далее
Total votes 25: ↑25 and ↓0+25
Comments15

Менять профессию после 30: больно или нет?

Reading time5 min
Views27K

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

Как выбрать профессию раз и навсегда?
Total votes 23: ↑20 and ↓3+17
Comments41

Зачем и как мы пишем постмортемы по критичным багам

Reading time7 min
Views21K

В какой-то момент у нас стало много хотфиксов — стабильно больше половины деплоев на проде были хотфиксы или откаты. Мы решили анализировать каждый хотфикс, чтобы понять причины, найти системные закономерности и устранить их, не допуская два раза одних и тех же ошибок. Как говорил Джейсон Стейтем (Стэтхэм? Стэтэм?): «Не страшно ошибаться, страшно повторять одну ошибку 2 раза». Ну и мы решили не повторяться и внедрить постмортемы. В статье расскажу как мы анализируем хотфиксы и другие критичные проблемы, что у нас получается, а что нет, с какими сложностями столкнулись и как их решали.

Читать далее
Total votes 19: ↑19 and ↓0+19
Comments5

Доступность на iOS началась с «36 секунд»

Reading time22 min
Views9.3K

8 июня 2009 года Фил Шиллер выступил на WWDC. Всего 36 секунд он неловко говорил о VoiceOver, Zoom, White on Black (с  iOS 6 называется Invert Colors) и Mono Audio. Это были первые реальные специальные функции на платформе iPhone OS, как её тогда называли. Однако, они не произвели большого впечатления — 36 секунд закончились, а потом не было никакой демонстрации или аплодисментов, и Шиллер просто перешел к описанию приложения Nike+.

Но в сообществе людей с проблемами зрения всё было иначе. Казалось, что время остановилось где-то после 1:51:54. Произошло нечто совершенно удивительное, и только несколько человек, казалось, понимали, что это значит.

Читать далее
Total votes 15: ↑14 and ↓1+13
Comments5

А можно разработчик сам будет решать, какие задачи ему делать?

Reading time13 min
Views7.5K

Я Android-разработчик и хотел бы сам решать, какие задачи мне делать, а какие нет. У вас бывало такое желание? Можно ли так делать на работе? Мой краткий и возможно, интригующий ответ — можно. Ключ к этому — погружение в бизнес.

Разговоры о том, надо ли разработчикам погружаться в бизнес часто превращаются в холивар и километровые треды. Хочу порассуждать мозгами разработчика, зачем и стоит ли вообще, а если стоит, то насколько сильно надо «погружаться в бизнес», какие процессы в этом помогают, и какие вообще профиты для нас с вами с этого всего. Поехали.

Читать далее
Total votes 21: ↑16 and ↓5+11
Comments35

История о том, как мы монолит с .NET Framework на .NET 6 и Kubernetes переводили

Reading time10 min
Views9.8K

В 2011 году 2 разработчика начали создавать свою информационную систему, чтобы через неё принимать заказы в Додо Пицце. 2 года назад мы рассказывали про раннюю архитектуру Dodo IS здесь и здесь. За это время монолит нашей системы пережил немало изменений, самое значительное произошло в этом году — мы перевели его весь на .NET 6 и переехали в Kubernetes. Переход оказался непростой задачей и длился в общей сложности год.

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

Читать далее
Total votes 38: ↑38 and ↓0+38
Comments19

Продуктовый подход в урбанистике: что если продакты будут отвечать за обустройство своего района

Reading time6 min
Views1.7K

Три года назад я стала продактом. Это приучило меня мыслить в таких понятиях как ЦА и пользовательские сегменты, JTBD, считать метрики и оценивать профит от всего. А ещё легализовало мои мысли о дизайне UX и о том, как можно выпрямлять пользовательские пути в разных сферах жизни человека.

Год назад я завела собаку. С тех пор я много гуляю и ещё больше думаю. Я даже захотела завести телеграм-канал, который назвала бы «Алёна гуляет с Лисёной» и писала бы туда свои мысли с прогулок. Но вместо этого снова ушла гулять, думать и вот до чего додумалась.

Вот бы продакты обустраивали свой район
Total votes 21: ↑19 and ↓2+17
Comments15

Что курил автор: добавим олдскула в этот безумный мир игр

Reading time4 min
Views17K
Привет, Хабр. Не буду повторять тысячный раз о том, что как любой из нас всегда мечтал написать игру. Мне 37. Я разработчик. Как раз самое время задуматься. Аркады, симуляторы, RPG, шутеры, веб, десктоп, мобильная. Было непросто. В какой-то момент я понял, что хочу возродить направление текстовых квестов, от которого в детстве бежали мурашки по коже. Хочу поделиться с вами игрой CMAN. Это история про разработчика, который на один день отправился в гембу.

Под катом вы найдёте описание игры, фичи, а также узнаете про призы за топовые места.


Читать дальше →
Total votes 40: ↑34 and ↓6+28
Comments12

Геймдизайнер мало чем отличается от психа. Как мы делали игру CMAN

Reading time9 min
Views12K
/start

Вечер пятницы, конец рабочего дня. Вы находитесь в офисе. Что будете делать?

— Поехать домой поспать
— Пойти в бар с друзьями
— Отправиться на свидание
— Проверить, почему горит свет в переговорке

Меня зовут Андрей Моревский, я архитектор в Додо и тот человек, который выбрал «Проверить, почему горит свет в переговорке». Тогда я ещё не подозревал, чем закончится эта история.

Читать дальше →
Total votes 41: ↑38 and ↓3+35
Comments8

Может ли дизайн повлиять на скорость доставки?

Reading time6 min
Views10K
Внутренние интерфейсы редко бывают дружелюбными, понятными и красивыми. А зря — c их помощью можно влиять на ключевые метрики бизнеса. Под катом история о доставке, курьерах, мышлении и дизайне.


Читать дальше →
Total votes 19: ↑17 and ↓2+15
Comments25
1