• Что вы захотите знать до того, как писать приложение под Apple Watch: наш опыт

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


      Да, это моя волосатая рука

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

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

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

      Читать дальше →
    • Новый плацкарт — как капсульный отель



        На Казанском вокзале в Москве стоит альфа-версия новой компоновки плацкартного вагона. ФПК и ТМХ сделали одну очень офигенную вещь — вместо того, чтобы выкатить новый поезд и сказать: «Вот новый поезд, радуйтесь теперь, это приказ!» компании показали первый концепт и предложили обсудить. Они его катают по выставкам, в следующем месяце повезут на вокзалы в другие регионы. И везде около макетов дежурят сотрудники, которые выслушивают и записывают, что хотят поменять пассажиры.



        Понятное дело, пассажиры настроены скептически и не очень готовы ко всему новому. Плюс не все понимают, чем альфа-версия (макет) отличается от опытного экземпляра. Но как по мне — то, что выкатили сейчас — это очень здравая вещь. Со мной можно спорить, а ТМХ — присылать баги и реквесты.

        Самое важное

        Макет плацкарта разделен пополам шкафом. Верхняя полка полностью изолирована от нижней. Третья полка убрана, и теперь можно нормально сидеть наверху. Есть столик для ноутбука. Полки у изголовья на 20 сантиметров шире, чем в ногах (до середины купе, фактически). Через стену можно открыть окно к соседу и объединить две полки в одно пространство «этажа».
        Читать дальше →
      • Что внутри аэропорта: центры управления


          Рабочее место диспетчера круга, спереди микрофон связи с экипажами и наземными службами, слева — управление курсо-глиссадной системой.

          Сейчас мы пройдёмся по тем местам, которые обычно не видят пассажиры, и куда обычно не пускают со съёмкой. Ниже про то, откуда берутся самолёты в аэропорту. Точнее, что нужно, чтобы они попали к терминалу.
          Читать дальше →
        • «Иволга 2.0» — поезд, на котором вы поедете по МЦД

            Сегодня запуск первых двух маршрутов МЦД. По МЦД пойдут не просто поезда, а «Иволги».


            За пару месяцев до открытия МЦД на Тверском вагоностроительном.

            К релизу МЦД вышел и новый релиз «Иволги», теперь у неё версия 2.0. Давайте покажу, как собирается этот поезд, и что в нём появилось интересного. Заодно немного погрузимся в особенности компоновки и проблемы, которые решают конструкторы. Сразу — самое главное: первая «Иволга» уже была хороша. Вторая — это история доработок и докручивания фич, которые не вошли в первый релиз. С точки зрения ходовой части почти ничего не поменялось.
            Читать дальше →
          • Для чего нужен штабной вагон поезда


              В купе с мастерской электромеханика.

              Штабной вагон — это своего рода офис внутри состава. В нём едут начальник поезда, поездной электромеханик, есть радиокупе (это серверная современного поезда), могут быть купе для сотрудников МВД и купе для инвалида и сопровождающего с возможностью заехать на коляске. В штабном вагоне есть душ (изначально для персонала, но пассажиры тоже могут его посетить бесплатно или за небольшие деньги в зависимости от состава).

              Ещё в штабном вагоне есть обычные купе для пассажиров, и за ними часто идёт настоящая охота. Потому что опытные путешественники знают, что где-где, а именно в штабном всё точно будет в порядке с сервисом, чаем и спокойствием в дороге. Пожалуй, кроме одного дня в году — кануна Дня железнодорожника.

              Давайте пройдёмся по штабному вагону «Мегаполиса» (поезда Москва — Санкт-Петербург, одного из лучших поездов в стране по отзывам пассажиров). Поскольку это частный поезд, штабной вагон был несколько модифицирован в сравнении с привычным.
              Читать дальше →
            • Как мы пересадили всю команду на другой язык за один день (на самом деле нет)


                Начало шаблона для быстрого «заземления» PHP-разработчиков в Go

                15 лет мы делали бэкенд на PHP. И вот однажды было принято стратегическое решение: сначала переписать самые высоконагруженные места на Go, а потом разрабатывать новые сервисы на нём.

                Представьте: вы хотите рассказать про новый язык команде из 40 разработчиков, которые настолько хорошо готовят PHP, что собрали на нём многопоточную систему реального времени и высокой доступности. В худшем случае вас сожгут, в лучшем — прислушаются, но продолжат делать как раньше. Это если вводить язык насильно.

                Поэтому мы решили сначала устроить хакатон, а потом позвать на тёмную сторону всех желающих. Если бы их набралось хотя бы человек десять, то со временем они показали бы всем остальным личным примером, как это круто.

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

                Мы начали с подготовки шаблона и CI/CD, который позволяет задеплоиться за 15 секунд. Чтобы его написать самому, нужно где-то недели две. Мы сделали его заранее.
                Читать дальше →
              • Продолжаем развивать платформу приключений для россиян: особенности интерфейсов и летние предпочтения

                  Несколько месяцев назад мы стартовали платформу поиска приключений — это туры, только очень необычные, есть короткие, есть на пару недель, есть с чем-то таким, что запомнится на всю жизнь. Главная наша проблема: когда приключений стало около 350, мы утонули в сортировках. Ситуация накалялась до тех пор, пока вариантов не стало около 800. Например, вот есть тег «экстрим». Кто-то считает, что поход на лошадях в гору — это экстрим (потому что нужна страховка выше спортивного уровня), а над ними издевательски смеются полярники, горные спасатели и преподаватели вождения на багги и стрелковой подготовки из Чечни.

                  Вот первая форма, она была рассчитана на тех, кто уже знает, что ищет. Как оказалось, у нас таких пользователей практически не было:



                  Здесь мы добавили поле для свободного поиска и свои редакционные подборки. Это не сильно помогло.
                  Читать дальше →
                  • +28
                  • 5.6k
                  • 6
                • Что разработчикам надо знать про бизнес

                    Даже в очень крупных компаниях часто отношение к разработчикам, как к грибам: держат в темноте и кормят навозом. Пишите код, родные, и не высовывайтесь. Этот подход может быть удобен для многих (в том числе иногда — для самих разработчиков в случае не очень адекватного менеджмента), но с точки зрения бизнеса неоптимален. Моя позиция: разработчики должны иметь возможность узнавать всё то, что происходит в компании и на рынке, но без давления. Захотел — копнул и разобрался, не захотел — не надо.

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

                    Я хочу поделиться процессом того, как у нас устроено такое информирование в команде Туту.ру. Возможно, кому-то оно покажется ликбезом, а кому-то будет полезным. Ну или вы подскажете, как сделать лучше.
                    Читать дальше →
                  • Как сделать офисную кухню через продуктовый подход

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

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



                      Откуда он взялся? Из простой мысли, что иногда люди выходят из офиса поесть что-то снаружи. Ближайший магазин у нас в 10 минутах от офиса (с учётом спуска-подъёма). Гораздо дешевле и практичнее принести сотрудникам бесплатную еду, чем тратить их время на её поиски, пускай и не за счёт компании. Сначала это были только здоровые закуски, но потом по мере роста офиса стали появляться сосиски, а для тех, кто иногда остаётся ждать ночи перед релизом, — пицца. При этом горячая еда тут не хранится постоянно, а приезжает отдельно.

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


                        Это одно из самых крутых облегчений проекта. На картинке — график суммарного времени, затрачиваемого CPU на обработку всех пользовательских запросов. В конце видно переход на PHP 7.0. с версии 5.6. Это 2016 год, переключение во второй половине дня с 24 ноября.

                        Туту.ру с точки зрения вычислений — это в первую очередь возможность купить билет из точки А в точку Б. Для этого мы перемалываем огромное количество расписаний, собираем в кэш ответы множества систем авиакомпаний и периодически делаем невероятно длинные join-запросы к базе данных. В целом мы написаны на PHP и до недавних пор были полностью на нём (если язык правильно готовить, то можно даже строить на нём системы реального времени). С недавнего времени критичные по производительности участки стали рефакториться на Go.

                        У нас постоянно возникает технический долг. Причём это происходит быстрее, чем нам бы хотелось. Хорошая новость: его не надо закрывать весь. Плохая: по мере роста поддерживаемой функциональности техдолг тоже пропорционально растёт.

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



                          Привет, я Саша, скрам-мастер из Туту.ру в команде туров. Не так давно мы проводили пользовательское интервью для нашей новой фичи — Джарвела. Хочу поделиться с вами ошибками и открытиями, которые помогли нам провести это интервью так, что оно затронуло и изменило краеугольную основу фичи. Это помогло продукту и прокачало нашу команду, надеюсь, будет полезно и интересно и для вас. Но чтобы понять суть наших открытий, вас нужно познакомить с Джарвелом и провести по нашему пути.
                          Читать дальше →
                          • +15
                          • 1.9k
                          • 2
                        • Медицинская страховка в путешествии: подробная инструкция



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

                            Я хочу попробовать обобщить всё то, что должен знать турист о медицинской страховке перед тем, как выезжать за рубеж, и составить что-то вроде подробной памятки:

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

                            • Translation

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

                            Меня попросили поделиться слайдами, но теперь я подумала, что слайды сами по себе малополезны и вырваны из контекста: им не хватает объяснений. Поэтому решила опубликовать эту статью. Позже организаторы конференции выложили видеозапись.
                            Читать дальше →
                          • Как мы искали необычный туризм в России, и какие приключения вообще бывают


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

                              15 лет назад мы начали с самого точного расписания электричек. Потом мы продолжали делать сервис, где можно получить всю информацию о путешествиях. И вот пришла пора тех приключений, которые не экскурсии и не организованные туры.

                              Например, вы знали, что около Грозного есть Российский университет спецназа, и можно поехать туда учиться базовой стрелковой подготовке, вождению внедорожного багги и просто пробовать местную кухню? Но строго без алкоголя. Или вот что можно отправить ребёнка на Северный полюс в пешей экспедиции, которые уже больше 10 лет водит полярник Матвей Шпаро? Или что можно поехать в Москву, попасть на секретный уровень Сокольников и пообниматься там в питомнике с хаски, которые катали иностранцев на нартах к Чемпионату мира? Поспасать манекен в горах со спасателями?

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

                              И мы сделали сервис, где начали собирать их всех.
                              Читать дальше →
                            • FAQ: что надо знать путешественнику-гику про прививки перед поездкой

                                Мадагаскар закрывает границы!Вакцина — это способ показать иммунной системе сигнатуру угрозы, к которой за несколько циклов обучения будет выработан иммунный ответ.

                                Любая борьба организма с инфекционным заболеванием — это попытки распознать сигнатуру угрозы и выработать контрмеры. В общем случае этот процесс ведётся до полного результата, то есть до выздоровления. Однако могут быть инфекции, которые:

                                • Убивают носителя быстрее, чем будет выработан иммунный ответ.
                                • Меняются быстрее, чем иммунная система сможет «распознать» патогены.
                                • Маскируются и прячутся в местах, где очень сложно получить доступ к патогену.

                                Поэтому в некоторых случаях лучше заранее устроить учения. Это и есть вакцины. Взрослый житель города привит от самых опасных инфекций в детстве. При вспышках инфекций или при помещении человека в опасную среду имеет смысл делать профилактические прививки. Путешествия относятся к таким ситуациям.

                                Давайте сначала разберёмся с ликбезом, потом перейдём к путешествиям и списку действий.

                                Почему путешествия опасны?


                                Предположим, вы летите в Африку. Там есть повышенный риск жёлтой лихорадки. Простая вакцина обойдётся вам примерно в 1 500 рублей вместе с приёмом терапевта и услугами процедурного кабинета, вакцина более высокого уровня — в 3 000 рублей. Вылечиться от жёлтой лихорадки специализированными медикаментами нельзя (то есть можно только поддерживать ресурсы организма, пока он сам не справится), заболеть легко, летальность — около 10%, основной вектор — комары. Побочных эффектов у вакцины почти нет. Стоит вакцинация того? Наверное, да. Но решать вам.
                                Читать дальше →
                              • Почему нельзя ходить по крылу у края и угол атаки

                                  Этот случай рассказал мой отец. Он был авиационным инженером на заводе и отвечал за конечную сдачу изделия заказчику. Приземлялся истребитель, который буквально недавно выкатили из цеха окончательной сборки. Мягкое касание, штатная посадка. В общем, обычный испытательный полет. Ничего нового. Но пилот не улыбается, как обычно.

                                  — Что такое, Женя? — спрашивает мой отец лётчика.
                                  — Всё хорошо, Валер, но пока «неуд»: угол атаки врёт, и врёт намного. Я не подпишу акт приёмки.
                                  — На сколько?
                                  — Прямо намного.
                                  — Хм… Будем посмотреть.

                                  Как он мог это почувствовать? Каких-то 5–7 градусов. Неужели он так хорошо чувствует машину? В начале моей лётной карьеры этот вопрос меня затрагивал за живое, поэтому рассказ отца я слушал с особым интересом.
                                  Читать дальше →
                                • Зачем конкретно обливают самолёт перед вылетом, и что будет, если этого не делать?



                                    В прошлом моем посте была некоторая вольность относительно процедуры снятия льда и защиты от льда самолёта. triplebanana в комментариях это поправил, а дальше мы стали детально разбираться в этом вопросе. К счастью, помог Юрий Владимирович Филатов, который собрал для Аэрофлота одну из первых машин обдува бортов струёй реактивного двигателя, закупал первые машины-«Элефанты» и вообще имеет опыт 40 лет в этой сфере. Сейчас он преподаёт в Центре подготовки руководящего состава авиации, школе Аэрофлота и ГОСНИИГА и работает в «А-Групп», про которую я уже рассказывал.

                                    Началось всё с того, что давным-давно в СССР была поливомоечная машина — по сути, обычная городская «поливайка», которую заправляли составом «Арктика» или «Арктика-200». И был топливозаправщик ТЗ-22 (на 22 тонны), который заправляли горячей водой в котельной и который шёл к самолёту смывать с него снег. Были метёлки и швабры со скребками, с которыми бойцы в сапогах со стальными подковами ходили по крылу Ил-76 и сбивали лёд.

                                    Наиболее близкая к современности процедура выглядела так: к борту подходил модифицированный «Урал А-96» с выдвигающейся люлькой. Туда залезал человек со шлангом, делал пару витков вокруг ограждения люльки (потому что шланг тяжёлый и скользкий) и поливал самолёт из наконечника — сплющенной молотком металлической трубки. В региональных аэропортах на Севере иногда так делают до сих пор, потому что это работает при стабильно холодной погоде. А вот для ситуаций ледяного дождя, сильного снега и прыжков температуры около минус 5 по Цельсию нужны уже другие меры, чтобы самолёт не набрал льда между выездом из ангара и взлётом.
                                    Читать дальше →
                                  • Инфраструктура FBO Шереметьево: как готовят к полёту лёгкие самолёты



                                      Аэропорты по принципу организации расписания вылетов бывают слотируемые и неслотируемые. Шереметьево — слотируемый, причём по третьей категории, то есть для каждого прилёта и вылета есть слот: это разрешение на взлёт-посадку + наличие свободной взлётной полосы, наличие стоянки под самолёт, возможность обслуживания самолёта, наличие буксира, противообледенение, машина сопровождения и так далее. Таким образом гарантируются вылеты строго по расписанию. Если для сравнения взять аэропорт Мурманска или Архангельска — они не настолько большие, и там слоты будут просто лишней бюрократией. Поэтому они там и не используются. А вот Женева или Лондон — там точно такая же система, и туда просто так залететь нельзя. Надо заранее договориться. В периоды выставок, конференций и крупных спортивных мероприятий запросы настолько частые, что аэропорт делает отказы по свободным слотам. В России такое чаще всего случается на экономических форумах.

                                      В SVO в пики каждые 90 секунд — взлёт или посадка, поэтому неожиданно впихнуться не выйдет (только по чрезвычайным ситуациям, например, если кому-то из пассажиров срочно нужен врач на земле). План полёта в пиковые моменты лучше подавать за полдня. Если сесть мимо своего слота без разрешения диспетчера, то на земле вас будет ждать транспортная инспекция: самолёт будет арестован, лицензию пилота отберут. Если этим ещё будет создана причина авиапроисшествия — будет уголовное дело. SVO гордится тем, что они самый пунктуальный аэропорт в Европе.
                                      Читать дальше →
                                    • MOSDROID #15 Phosphorus: видео выступлений

                                        В начале февраля у нас в офисе Туту.ру прошел 15-ый митап по Android-разработке, ставший самым успешным в плане посещения. Разработчики в конференционное «межсезонье» изголодались по новым знаниям и нетворкингу, потому мы прининяли более 120 гостей.


                                        Читать дальше →
                                      • Как работает бизнес-авиация в России (центры FBO)



                                          Если объехать аэропорт Шереметьево, то можно увидеть небольшой терминал А, который время от времени берёт под охрану ФСО, если в этот день бизнес-джетом вылетает кто-то из первых лиц государства.

                                          Если у вас есть примерно 90 миллионов рублей в год на содержание собственного самолёта (и сам самолёт тоже пригодится), то ваш вылет выглядит так: вы выходите около этого терминала А из машины, проходите досмотр за 30–40 секунд, если полёт зарубежный — паспортный контроль (он обязателен для всех), потом прямо по полю переходите к самолёту в 50 метрах от терминала, садитесь, пристёгиваетесь и летите.

                                          От момента, когда вы вышли из машины, и до момента, когда вы встали на предстарт ВПП, проходит от 8–15 (внутренний рейс) до 15 минут (международный). Багаж можно отправить заранее.

                                          Теперь давайте разберёмся, как это работает и кому вообще нужно. А также чем хороши бизнес-джеты.
                                          Читать дальше →