• Как устроено автоматическое тестирование в Почте Mail.Ru под iOS

      image


      Некоторое время назад мы рассказали вам об автоматическом тестировании нашей Почты на Android и получили огромное количество вопросов от читателей. Сегодня приоткроем вам часть нашей «внутренней кухни», которая касается автотестирования на iOS. Для тестирования каждой сборки мы проводим более 500 автотестов, которые выполняются менее чем за один час. Как мы их реализовывали и зачем? С какими проблемами сталкивались и как смогли их решить? Обо всём этом читайте под катом.

      Читать дальше →
      • +53
      • 17,9k
      • 7
    • Микросервисы: опыт использования в нагруженном проекте



        На конференции HighLoad++ 2016 руководитель разработки «М-Тех» Вадим Мадисон рассказал о росте от системы, для которой сотня микросервисов казалась огромным числом, до нагруженного проекта, где пара тысяч микросервисов — обыденность.

        Тема моего доклада — то, как мы запускали в продакшн микросервисы на достаточно нагруженном проекте. Это некий агрегированный опыт, но поскольку я работаю в компании «M-Tех», то давайте я пару слов расскажу о том, кто мы.

        Если коротко, то мы занимаемся видеоотдачей — отдаём видео в реальном времени. Мы являемся видеоплатформой для «НТВ-Плюс» и «Матч ТВ». Это 300 тысяч одновременных пользователей, которые прибегают за 5 минут. Это 300 терабайт контента, который мы отдаем в час. Это такая интересная задача. Как это всё обслужить?

        Про что сама эта история? Это про то, как мы росли, как проект развивался, как происходило какое-то переосмысление каких-то его частей, какого-то взаимодействия. Так или иначе, это про масштабирование проекта, потому что это всё — ради того, чтобы выдержать ещё больше нагрузки, предоставить клиентам ещё больше функционала и при этом не упасть, не потерять ключевых характеристик. В общем, чтобы клиент остался доволен. Ну и немного про то, какой путь мы прошли. С чего мы начинали.
        Читать дальше →
      • htop и многое другое на пальцах

        • Перевод


        На протяжении долгого времени я не до конца понимал htop. Я думал, что средняя загрузка [load average] в 1.0 означает, что процессор загружен на 50%, но это не совсем так. Да и потом, почему именно 1.0?

        Затем я решил во всём разобраться и написать об этом. Говорят, что лучший способ научиться новому — попытаться это объяснить.
        Читать дальше →
      • Анатомия веб-сервиса

          Андрей Смирнов

          Анатомия веб-сервиса


          Андрей Смирнов


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


          Какую часть я называю веб-сервисом, бэкендом, application-сервером? В классической архитектуре это то, что стоит за http rеverse proxy или load-балансировщиком, а с другой стороны у него находятся база данных, memcached и др. Вот только об этом бэкенде и будет идти речь.


          Читать дальше →
          • +18
          • 22k
          • 8
        • Архитектурные паттерны в iOS

            Введение в MVP, MVC, MVVM и VIPER. Что между ними общего и в чем разница.



            Делаете все по MVC, а получается некрасиво? Сомневаетесь, переходить ли на MVVM? Слышали о VIPER, но не уверены, стоит ли оно того?

            В этой статье я кратко рассмотрю некоторые популярные архитектурные паттерны в среде iOS и сравню их в теории и на практике. Больше информации вы найдете при переходе по ссылкам, указанным в тексте.
            Читать дальше →
          • 400 потрясающих бесплатных сервисов

            • Перевод

            Рад представить дополнение оригинального списка из 300 потрясающих бесплатных сервисов. Автор оригинальной статьи Ali Mese добавил ещё +100 новых сервисов, которые помогут найти все — от источников вдохновения и редакторов фотографий до создания опросов и бесплатных иконок.

            И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



            A. Бесплатные веб-сайты

            • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
            • Bootswatch: Бесплатные темы для Bootstrap.
            • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
            • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
            • Strikingly: Конструктор веб-сайтов.
            • Layers: Создание сайтов на WordPress (new).
            • Bootstrap Zero: Самая большая коллекция бесплатных шаблонов Bootstrap (new).
            • Landing Harbor:  Продвижение мобильного приложения c помощью бесплатного лендинга (new).
            Читать дальше →
          • Программирование — не тяжелый физический труд, но все равно отстой

            Peter Welch
            30 апреля 2014 г.
            Об авторе. Peter Welch писатель и программист, автор книги «And Then I Thought I Was a Fish», автор блога «Still Drinking».


            Изображение: Joe Raedle/Getty Images

            Каждый мой друг, хотя бы дважды в неделю поднимающий на работе что-то тяжелее ноутбука, рано или поздно в разговоре невзначай бросает что-то вроде: «Бро, ты не пашешь на износ. Я только что отработал 4700-часовую неделю, копая тоннель под Мордором, используя отвертку»

            Они правы. Мордор — отстой, и копание тоннеля гораздо трудозатратнее, чем тыкание в клавиши, если конечно вы не муравей. Но для галочки, давайте договоримся о том, что стресс и безумие — это плохо? Отлично.
            Добро пожаловать в мир программирования
          • Напиши под то, не знаю что: особенности разработки под Apple Watch на примере Почты Mail.Ru



              Привет, Хабр! Недавно мы обновили приложение Почты Mail.Ru для iOS. Теперь оно поддерживает Apple Watch. Сегодня я хочу рассказать, с чем мы столкнулись при разработке приложения для еще не вышедших на тот момент часов, и поговорить о том, как справляться с минимализмом SDK и невозможностью протестировать приложение на «живом» девайсе.
              Читать дальше →
              • +26
              • 15,9k
              • 7
            • Шайбу вбросим в iOS восемь

                Прежде чем создавать казуальную игру для iOS, хорошо бы ответить на вопрос: — А зачем?
                Вариантов три:
                • Срубить денег;
                • Порадовать родственников;
                • Хрен его знает, но мысль жжет организм изнутри.


                image

                Думаю, в ближайшие годы, правильный ответ — третий.
                А, не буду спорить и учить — расскажу, как я делаю приложения.
                Гуру разработки молча нажимают плюс и уходят в сторону. Остальные следуют за мной, чтобы вспомнить школу и настольный хоккей.
                И да, уникальность топика, что в каждом предложении слова начинаются разными буквами.
                В статье девять картинок и пол-минуты забавной анимации.
                Читать дальше →
              • 11 крутых сайтов для iOS разработчиков

                • Перевод


                Чтобы оставаться профессионалом в разработке iOS приложений, нужно постоянно учиться у других и узнавать о новейших инструментах и приемах. Кроме сайта Apple с документацией, существуют несколько ресурсов с ценными статьями и уроками, которые помогут нам стабильно развиваться. О них и пойдет речь в этой статье.
                Читать дальше →
                • +12
                • 37,4k
                • 9
              • Всё, что вам нужно знать об игровых конструкторах. 3 инди-разработчика делятся опытом работы на Gamemaker, Construct 2, Clickteam fusion 2.5

                  С выходом unity 5 и бесплатным unreal engine 4, многие совсем забыли о таких удобных инструментах разработки как конструкторы. Возможно, вы только слышали о них, но никогда не использовали. А ведь зря, это очень удобная вещь для реализации многих задач. Бесспорно, тягаться с мамонтами современного игростроения они не способны, да и не стремятся. В данной статье мы расскажем как конструкторы могут вам пригодится и раскроем все плюсы и минусы работы в них.


                  Читать дальше →
                  • +5
                  • 38,4k
                  • 8
                • Как упростить жизнь iOS разработчику

                  Наверное, каждый разработчик, когда начинает осваивать новую технологию, хочет опробовать все самостоятельно, реализовать все с самого низкого уровня, чтобы потом наслаждаться результатом своей работы. Однако с накоплением опыта многие задачи становятся достаточно скучными и хочется избавить себя от этой нужной, но неинтересной рутины. В этой статье я хочу поделиться тем, какие способы и средства помогут упростить жизнь разработчику и сэкономить нервы.
                  Читать дальше →
                  • +10
                  • 15,2k
                  • 3
                • Сервисы дистрибуции мобильных приложений для iOS. Часть 1: TestFlight

                    Вступление


                    С каждым годом становится всё очевиднее, что для распространения тестовых версий iOS-приложений нужны специализированные сервисы. Это актуально не только для компаний, занимающихся разработкой приложений в “промышленных масштабах”, но и для инди-разработчиков. Причины: увеличение количества устройств с “нестандартным”/”не кратным” размером экрана, отличия в архитектуре центрального и графических процессоров — всё то, что раньше было повседневностью для разработки под Android, теперь становится справедливым и для iOS.

                    Исторически самым популярным сервисом дистрибуции являлся TestFlight — практически идеал, как в техническом отношении, так и в юзабилити. Однако, после приобретения компанией Apple в начале 2014 года, сервис претерпел ряд неоднозначных изменений, которые с одной стороны сказались негативно на его позиции лидера, а с другой дали шанс альтернативным сервисам побороться за первое место и предложить как минимум равноценную замену, а может быть и что-то более удобное и функциональное.

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

                    В обзоре участвуют следующие сервисы (в таком порядке и будут публиковаться части обзора):
                    • Apple TestFlight
                    • HockeyApp
                    • Ubertesters
                    • Crashlytics (как часть Fabric)


                    TestFlight старой версии не будет рассмотрен, так как хотя он по-прежнему работает и доступен по адресу www.testflightapp.com, использование его в долгосрочной перспективе не имеет смысла по ряду причин:
                    • нет никаких гарантий, что Apple не приостановит или не прекратит его работу в любой момент
                    • SDK сервиса не доступно для скачивания, более того невозможно использовать сервис, если приложение использует SDK
                    • сервис больше не является кросс-платформенным, поддерживается только распространения приложений для iOS (подробнее)

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

                    Система оценки: сервисы будут оценены по 10-балльной шкале по каждому из разделов (Регистрация и интеграция, Основной функционал, Дополнительный функционал, Continuous Integration). Суммарная оценка позволит определить победителя (итоговое заключение войдет в последнюю часть обзора).

                    Читать далее. Осторожно, много картинок!
                  • Потрясающая коллекция бесплатных шрифтов за 2014 год

                      Привет, Хабр! Многие уже знают о моей страсти к попытке собрать самое лучше, что может быть полезно для веб-разработчиков или веб дизайнеров. И шрифты — не исключение. Программное обеспечение для работы со шрифтами постоянно развивается. Количество дизайнеров желающих опробовать себя в типографике растет с каждый днем. А сегодня я хочу представить вам их наработки — 30 потрясающих бесплатных шрифтов, которые мне удалось собрать за последний год.

                      Polar



                      Polar

                      Читать дальше →
                    • Ractiv Touch+: перспективный аналог Leap Motion



                        На Хабре не раз и не два упоминали систему сенсорно-жестового управления ПК, получившую название Leap Motion. Само собой, такая интересная технология не могла не вызвать появление аналогов, и недавно на рынке появилась система Ractiv Touch+.

                        Эта система, состоящая из небольшого устройства, напоминающего веб-камеру, и соответствующего программного обеспечения, позволяет любую поверхность превратить в аналог сенсорного дисплея. При этом Ractiv Touch+ понимает и жесты, причем делает это весьма хорошо.

                        Читать дальше →
                        • +23
                        • 10,1k
                        • 8
                      • Перестаньте называть себя программистом и другие карьерные советы

                        • Перевод
                        Есть один курс, который я бы добавил в программу обучения по всякой инженерной специальности, и он не о компиляторах или сложности алгоритмов. Это “Введение в реальность индустрии”, ибо об этом не говорят и это приводит к никому не нужным обломам. Эта статья претендует стать README.txt для молодого инженера в деле построения карьеры. Ее цель — сделать вас счастливее, заполнив пробелы в образовании относительно того, как работает реальный мир. Я не призываю следовать написанному как подробному руководству, но я надеюсь, что эта информация окажется для вас более ценной, чем то ничто, что вам рассказали об этом в университете.
                        Читать дальше →
                      • Internet Archive выложил классические игры 70-х и 80-х годов бесплатно



                          В классические игры 30-40-летней давности теперь можно поиграть прямо в браузере и совершенно бесплатно. Коллекция Internet Archive включает в себя игры для приставок Atari 2600 (1977 года выпуска), Atari 7800 (1986 г.), ColecoVision (1982 г.), Philips Videopac G7000 (1978 г.) и Astrocade (1983 г.).
                          Читать дальше →
                        • Как мы искали Марс-3

                            Честное слово, это почти случайно получилось, что такая новость пришла к началу апреля и Дню космонавтики. Сегодня я расскажу о том, как история, которая началась и оборвалась более 40 лет назад, внезапно получила продолжение в наши дни. О том, как простой юзернейм вконтакта, в своем интересе к Марсу дошел до NASA. О том, что международная солидарность ученых — не пустой звук. И о том, что космос ближе, чем кажется.

                            Мы искали Марс-3.

                            И мы нашли его! Прямо на Марсе, на дне гигантского кратера Птолемея, среди безжизненных пустошей и валунов.

                            О том, как мы это сделали, сегодняшний рассказ.


                            Читать дальше →
                          • Сервис Aereo выигрывает в суде, но ожидает лоббирования в Конгрессе

                              Aereo — молодой стартап из Нью-Йорка, который предоставляет услуги стриминга и записи для последующего просмотра ТВ-вещания на основе платной подписки. Фактически, с помощью сервиса пользователь может смотреть вещаемые в радиодиапазоне некодированные телевизионные каналы на ПК или, с помощью специального приложения, на iPhone, iPad, iPod Touch или проигрывателе Apple TV. На выбор пользователю даётся несколько тарифов: от доллара в день, восьми в месяц (что сравнимо с абонентской платой Netflix) до восьмидесяти в год. Aereo представляет себя как дешевую альтернативу кабельному или спутниковому телевидению с меньшим количеством каналов. На данный момент компания работает только в Нью-Йорке, хотя обсуждается план по расширению в 22 других американских сити, ограниченный судебными решениями.

                              Дело в том, что правовая часть работы сервиса очень неоднозначна. 1 марта 2012 года, всего лишь через несколько недель после февральского запуска Aereo, компания получила судебный иск от консорциума телевизионных вещателей, которые обвинили сервис в нарушении авторских прав. Работа Aereo, как утверждали представители телевизионных каналов, основывается на записи и публичном воспроизведении контента без какого-либо согласования с телевизионными каналами, а публичное воспроизведение требует лицензионных отчислений. Разбирательства и тяжба затянулись, при этом вещатели, в числе которых были Fox, ABC, CBS, NBCUniversal и другие, не всегда оказывались в выигрыше, что заставляло их называть Aereo сервисом, использующим лазейки в законах.

                              И вот, 1 апреля 2013 года вторая выездная сессия окружного суда США двумя голосами против одного приняла нешуточное решение в пользу Aereo.
                              Читать дальше →
                            • Выжимаем максимум производительности из клавиатуры

                              Чем вы занимаетесь большую часть своего рабочего дня? Скорее всего, создаёте или редактируете информацию. И у многих из вас эта информация — тексты: программный код, конфигурационные файлы, письма, строчки чатов и всё тому подобное.
                              Хотите создавать их быстрее и при этом расходовать на ввод текста меньше внимания? Я расскажу вам несколько эффективных способов увеличить производительность при работе с главным инструментом в этом деле — QWERTY-клавиатурой.

                              Сомневаетесь, стоит ли тратить на это время? Вспомните — за 30 лет в мире ПК изменилось всё, но клавиатура осталась такой же. Альтернативные способы ввода текста — распознавание речи, письма, жестов, «птичьих» языков (привет, граффити!), аккордные клавиатуры — не сработали и не стали популярными — и, вероятнее всего, ещё очень долго вы будете всё так же вводить тексты с клавиатуры.
                              Читать дальше →