ru
Feedback
Dodo Engineering

Dodo Engineering

Открыть в Telegram

У нас пропал стажёр! Поиски тут 👉🏻https://www.instagram.com/dodo_engineering

Больше
3 802
Подписчики
-424 часа
+97 дней
+2930 день
Архив постов
«Включаем» автоматизацию разработки приложений для Китая Недавно мы закончили долгую работу над приложением для WeChat, через которое мы получаем заказы в наших пиццериях в Китае. В планах у нас похожее приложение для Alipay. Но если они похожи, то почему бы не «включить» автоматизацию, чтобы не делать одну и ту же работу снова? Отличная идея, именно поэтому Артём Казаков, наш разработчик (что работал над mini-app для WeChat), так и сделал: — переписал сборщик на webpack, чтобы код на WeChat автоматически превращался в сборке в код, который понимает Alipay; — настроил управление билдом приложения и снизил порог вхождения, чтобы любой фронтендер, который пришел в проект Китая в Додо с легкостью смог погрузиться в него. В результате, разрабатывая одно приложение, мы получаем два! «Официальная» часть закончилась — теперь технические подробности. Настройку управления билдом мы решили за 10 недель — переписали сборщик на webpack (версии 4.4) с использованием TypeScript 3.9. Размер билда уменьшился почти в 2 раза, писать код стало проще — теперь код на TypeScript с поддержкой типов, чего очень не хватало в начале проекте, и всем знакомый SCSS. Убрали большое количество легаси, подправили основные части приложения и само мини-приложение WeChat стало работать быстрее. Для второй задачи внесли несколько изменений в сборщике: — Alipay принимает в верстке названия компонентов только в виде page-with-tabbar, поэтому заменили camelCase названия всех компонентов. — Структура файлов Alipay и WeChat одинакова, однако расширения у файлов отличаются: .wxss —> .ascc, .wxml —> .axml. Решилось это обычным file-loader модулем в webpack. — Для логики приложения в TypeScript через process.env передавали среду (wechat | alipay), и получали её внутри приложения. Поправили типы, компоненты, общение между родителем и дочерним компонентом. Оба приложения запускаются командами «yarn start:wechat» и «yarn start:alipay». В двух консолях одновременно компилируются два приложения и отображается UI в двух IDE. Alipay и WeChat у нас работают на одной кодовой базе. Каждая фича разрабатывается один раз и сразу работает в обоих мини-приложениях. Релиз идёт примерно по такой же схеме, что и у WeChat. Однако для Alipay автоматическая система релизов пока не сделана. Клиенты в пиццериях в Ханчжоу довольны появлением мини-приложения Alipay и активно его используют. В планах сделать из этого Open Source проект: убрать артефакты, упростить и дописать автоматическую систему релизов для обеих платформ. Примечание. Контекст истории у нас здесь — «Как выйти на китайский рынок с mini-app для WeChat, чтобы не прогореть», где мы подробно рассказали как делали мини-приложение в китайской соцсети.

Роботы уже «захватили» мир Цитируем Фёдора: «Компания xRobotics, созданная российскими инженерами, запустила вместе с Аленой Тиховой пицца-робота в Dodo Pizza в городе Оксфорд в Миссисипи в США 🔥 Они сделали это, несмотря на все сложности, ограничения, карантины. Без сотен миллионов инвестиций. Гордость и восторг! Это видео снято вчера. На нем Алена одна «раскидала» все заказы в пик продаж в паре с роботом 🤖:)» Роботы уже захватили мир, чтобы делать нам пиццу.

«У вас новое достижение — ваше приложение добавили в App Store» Приложение «Додо Курьер» для курьеров помогает следить за зак
«У вас новое достижение — ваше приложение добавили в App Store» Приложение «Додо Курьер» для курьеров помогает следить за заказами, брать их в работу, строить маршрут. По статистике четверть курьеров пользуется Android-версией. А теперь приложением сможет пользоваться любой курьер с любым смартфоном, потому что мы его добавили в AppStore. Но вот процесс добавления был тем ещё квестом: — Для публикации закрытых приложений для бизнеса в AppStore нужно иметь Enterprise аккаунт. Но нам отказали в его предоставлении спустя 4 месяца ожидания без объяснения причины. — Отказывали в публикации приложения 5 раз. — Мы придумывали обходной путь с публикацией в обычном аккаунте, но тоже не получалось. — В первые пару раз ревьюеры обнаруживали особо скрытые баг, которые тяжело воспроизвести. — Мы неправильно просили разрешения геолокации. Без уважения видимо:). — А последний отказ был вообще без объяснений. Всё вот это заняло примерно полгода и каким-то чудом нам удалось добавить приложение. Воистину это чудо!

Почти распилили монолит, техчас и «латентный тимлид» Гость выпуска — Анатолий Панов. Кратко о нём: — руководит разработкой вс
Почти распилили монолит, техчас и «латентный тимлид» Гость выпуска — Анатолий Панов. Кратко о нём: — руководит разработкой всех вертикалей в Авито; — пишет код только «по фану»; — не проводит интервью инженеров; — раскусил в Борисе «латентного тимлида» (Борис, мы тебя любим, прости за термин), когда он «собеседовался» в рубрике «Сханти Бориса» как разработчик. Поговорили про квартальные и годовые ОКR и ОКR-ревью, Performance Review, как почти распилили монолит, про техчас для новостей технического департамента, и прокачку функциональных коммьюнити. Подкаст доступен на площадках: Buzzsprout Apple Podcasts SoundCloud Google Podcasts Яндекс. Музыка ВК

Седьмой выпуск второго сезона. Гость — Анатолий Панов.

Delta Lake и поддержка Kotlin в Apache Spark Нельзя просто так взять и не пойти на митап, где будет выступать Иван Трусов и П
Delta Lake и поддержка Kotlin в Apache Spark Нельзя просто так взять и не пойти на митап, где будет выступать Иван Трусов и Паша Финкельштейн. Трехслойная архитектура раскладки данных, особенности Delta-формата, упрощающие ETL процессы и «кишки» процесса написания поддержки ещё одного JVM-языка в Apache Spark — через неделю, 25 марта (в четверг) в 18 вечера MSK на DE or DIE #6. Формат: Онлайн-трансляция на YouTube. Регистрируйтесь.

Новый Open Source проект альтернативного хранилища сессий для ASP.NET на основе Cosmos DB У нас появился ещё один проект с от
Новый Open Source проект альтернативного хранилища сессий для ASP.NET на основе Cosmos DB У нас появился ещё один проект с открытым исходным кодом – Azure Cosmos DB ASP.NET Session State Provider. Это альтернативное хранилище сессий для ASP.NET на основе Cosmos DB. Для хранилища сессий ASP.NET обычно используют SQL Server или Redis. Но у Redis страдает доступность ради долговечности, а SQL Server не обеспечивает масштабируемости при записи. Поэтому наш SRE Георгий Полевой использовал Cosmos DB в качестве хранилища сессий ASP.NET приложений. Так появился Open Source проект, который призван решить эти проблемы. Он обеспечивает гарантированную низкую задержку и масштабируемость. Особенности: — Локи хранятся отдельно, для оптимизации записей при постановке лока. — Расходуется примерно 30-35 RU на запрос с блокировкой. В случае Read-Only, расходуется около 2 RU. Подойдёт для приложений, которые требуют высокой масштабируемости и низкой задержки. Подробнее о проекте: — GitHub NuGet #opensource #dodoopens

Как сделать корпоративные ценности настоящими, а не пластмассовыми Корпоративные ценности — это некие убеждения и принципы, к
Как сделать корпоративные ценности настоящими, а не пластмассовыми Корпоративные ценности — это некие убеждения и принципы, которые все должны соблюдать, вроде «быть ответственным», «двигаться вперёд» и всё такое. Но зачем их соблюдать, если непонятно откуда они взялись? Зачем кто-то когда-то их выбил на скрижалях и повесил в главном зале? Без ответа на эти вопросы желание им следовать скорее не появится — они пластмассовые, не живые. Возможно поэтому в ЦИАН сделали по-другому — ценности списали с реальных людей, один из которых побывал у нас в гостях, а всем новичкам рассказывают как они появились и зачем. Как готовили ценности, важны ли они при найме и что такое словарь «разработческих» терминов, поговорили с Анной Штенгауэр (HR BP) и Мишей Юматовым (руководителем продуктовой разработки). Подкаст доступен на площадках: Buzzsprout SoundCloud Google Podcasts Яндекс. Музыка ВК

2-й сезон, 6-й выпуск. Гости: Аня Штенгауэр и Миша Юматов

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

Что такое «легаси»? Понятно, что это не «хороший код», но какой? Старый, не поддерживаемый или не обновляемый, а может просто чужой? Есть ли «полноценное» определение «легаси», на которое можно ссылаться? Кажется, мы наконец разобрались, что же это такое.

В команду @doner42ru разыскивается .NET разработчик 🥰 Решили на один день похулиганить и повесить вот такое объявление на ст
+2
В команду @doner42ru разыскивается .NET разработчик 🥰 Решили на один день похулиганить и повесить вот такое объявление на стекле 😅 На последней картинке - куар код. Наведи на него фотокамеру телефона и появится ссылочка на вакансию.

Репост поддержки

Мегаскрам и портал Сегодня у нас подкаст с Ксенией Мешковой — овнером в команде Райффайзенбанк. Она занимается развитием внут
Мегаскрам и портал Сегодня у нас подкаст с Ксенией Мешковой — овнером в команде Райффайзенбанк. Она занимается развитием внутреннего корпоративного портала. Ксения рассказала про портал (много), как и зачем они его делали и как «докатились» до LeSS в команде из 70 человек через скрам и аджайл. А ещё у них там есть гемба. Разработчики, конечно, кредитки не продают, всё полегче. Гемба «на минималках». Подкаст доступен на площадках: SoundCloud Google Podcasts Яндекс.Музыка Buzzsprout

2-й сезон, 5-й выпуск. Гость — Ксения Мешкова

— Ну как там со скрамом? — Каким скрамом? Сегодня у нас подкаст с Ксенией Мешковой — овнером команды Райффайзенбанк. Она зани
— Ну как там со скрамом? — Каким скрамом? Сегодня у нас подкаст с Ксенией Мешковой — овнером команды Райффайзенбанк. Она занимается развитием внутреннего корпоративного портала. Ксения рассказала про портал (много), как и зачем они его делали и как «докатились» до LeSS в команде из 70 человек через скрам и аджайл. А ещё у них там есть гемба. Разработчики, конечно, кредитки не продают, всё полегче. Гемба «на минималках». Подкаст доступен на площадках: Buzzsprout SoundCloud Google Podcasts VK PS: Картинка классная, да?

2-й сезон, 5-й выпуск, гость — Ксения Мешкова

«Трушный» подкаст для разработчиков: нужен ваш фидбэк! Наши разработчики Женя Пешков, Женя Биккинин, Юра Пастушенко, Кирилл Левченко и Сергей Зарубин, выпустили пилот подкаста «Читаем вместе». В первом выпуске подкаста ребята читают и обсуждают книгу «Fundamentals of Software Architecture». Если интересно послушать «кухонные разговоры» про «тру» бизнес-разработку, облаченные в обсуждение книги — это то, что надо. Мы хотим разобраться выпускать ли его дальше, поэтому просим вас — поделитесь, пожалуйста, фидбэком здесь или под постами: первым или вторым.

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