Pull to refresh
158
14.4
Egor Tolstoy @YourDestiny

Пользователь

Send message

Интервью с Андреем Станкевичем про спортивное программирование

Reading time18 min
Views13K


В рамках проекта АйтиХайп мы записали видеоинтервью с Андреем Станкевичем, легендарным тренером команды университета ИТМО по спортивному программированию, которая стабильно из года в год побеждает всех подряд на международных соревнованиях.

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

Архитектура слоя исполнения асинхронных задач

Reading time17 min
Views7.2K
В мобильных приложениях соцсетей пользователь ставит лайк, пишет комментарий, потом листает ленту, запускает видео и опять ставит лайк. Всё это быстро и почти одновременно. Если реализация бизнес-логики приложения полностью блокирующая, то пользователь не сможет перейти к ленте, пока не подгрузится лайк к записи с котиками. Но пользователь ждать не будет, поэтому в большинстве мобильных приложениях работают асинхронные задачи, которые запускаются и завершаются независимо друг от друга. Пользователь выполняет несколько задач одновременно и они не блокируют друг друга. Одна асинхронная задача стартует и выполняется, пока пользователь запускает следующую.



В расшифровке доклада Степана Гончарова на AppsConf мы коснемся асинхронности: углубимся в архитектуру мобильных приложений, обсудим, зачем выделять отдельный слой для исполнения асинхронных задач, разберем требования и существующие решения, пройдемся по плюсам и минусам, и рассмотрим одну из реализаций данного подхода. А также узнаем, как управлять асинхронными задачами, зачем каждой задаче свой ID, что такое стратегии исполнения и как они помогают упростить и ускорить разработку всего приложения.

«Latency numbers» на iPhone

Reading time10 min
Views12K
Latency Numbers Every Programmer Should Know — таблица «задержек, которые должен знать каждый программист». Там собраны средние значения времени для выполнения базовых операций компьютера в 2012-м году. Для этой таблицы есть несколько альтернативных представлений и вот одно из них.


Ссылка на источник схемы

Но какая польза мобильным разработчикам от этой информации в 2019? Кажется, что никакой, но Дмитрий Куркин (SClown) из команды Яндекс.Навигатора задумался: «А как бы таблица выглядела для современного iPhone?». Что из этого получилось, в переработанной текстовой версии доклада Дмитрия на AppsConf.


Для чего это нужно?


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

Разрабатывать под мобилки увлекательнее, чем для веба?

Reading time10 min
Views18K
Привет мобильным разработчикам Хабра. Завтра мы заканчиваем прием заявок на AppsConf 2019 и, кажется, самое время рассказать, кто те люди, которые приготовят для вас мегапрограмму самой полезной конференции по мобильной разработке.

Программный комитет у нас большой, потому что нужна целая команда экспертов по iOS и Android, и потому что больше суммарного бэкграунда и разных точек зрения — лучше, меньше субъективного хайпа и тем, широко известных только в очень узких кругах. Я уже рассказывал про то, как мы работаем с заявками, и знакомил вас с некоторыми членами ПК. Сегодня представлю вам еще четверых. Место работы, должность и базворды ключевых интересов, говорят только то, что они все разработчики с приличным опытом, а вот короткое несерьезное (на само деле с важными вопросами) интервью, мне кажется, лучше подскажет, какую конференцию сделают эти люди.



Итак, вопросы для всех одинаковые: iOS vs Android, мобилки vs веб; инстурменты мобильного разработчика; мысленные эксперименты путешествия во времени; технологические лидеры и источники новостей в индустрии. А ответы разные, кроме того, что совсем никто не хотел бы вернуться в прошлое и отговорить себя от мобильной разработки — но это нам же лучше.

Спойлер: самый популярный инструмент, без которого не обойтись мобильному разработчику — терпение.

А за остальным — прошу под кат.
Читать дальше →

Создаём голосовое приложение на примере Google Assistant

Reading time21 min
Views35K
Каждый пятый житель США владеет умной колонкой, а это 47 000 000 человек. Помощник может создать напоминание, список дел, будильник, таймер, прочитать новости, включить музыку, подкаст, заказать доставку, купить билеты в кино и вызвать такси. Все это «навыки» или «skills» помощников. Еще их называют голосовыми приложениями. Для Alexa и Google Assistant таких приложений на 2018 год разработано 70 000.

В 2017 году Starbucks запустил функцию по заказу кофе домой для Amazon Alexa. Кроме того, что выросли заказы на доставку, об этом написали все возможные СМИ, создав классный PR. Примеру Starbucks последовали Uber, Domino’s, MacDonald’s, и даже у стирального порошка Tide появился свой skill для Alexa.

Как у Starbucks, голосовое приложение выполняет одну-две функции: заказывает кофе, ставит будильник или вызывает курьера. Чтобы спроектировать нечто подобное, не обязательно быть межконтинентальной корпорацией. Идея, проектирование, тестирование, разработка и релиз похожи на аналогичные этапы в мире мобильной разработки, но с особенностями для голоса. Подробно о процессе рассказал Павел Гвай: от идеи до публикации, с примерами реальной игры, с историческими вставками и разбором мира голосовой разработки.


Математические основы Auto Layout

Reading time17 min
Views32K
Многие разработчики считают, что Auto Layout — это тормозная и проблемная штука, и крайне сложно заниматься его отладкой. И хорошо, если этот вывод сделан на основе собственного опыта, а то бывает и просто «я слышал, не буду даже и пытаться с ним подружиться».

Но возможно, причина не снаружи, а внутри. Например, самые опасные птицы в мире казуары не будут атаковать людей без причины, только ради самообороны. Поэтому попробуйте на секунду предположить, что это не Auto Layout плохой, а вы его не достаточно хорошо понимаете и не умеете готовить. Так поступил Антон Сергеев и углубился в теорию, чтобы во всем точно разобраться. Нам предлагается готовая выжимка про математические основы Auto Layout.



Разработка библиотеки: от API до публичного релиза

Reading time24 min
Views13K
Давайте посмотрим на библиотеки не с той стороны, которая нам привычнее всего, то есть пользовательской, а с точки зрения разработчика библиотеки мобильной разработки. Поговорим, каких подходов стоит придерживаться, разрабатывая свою библиотеку. Начнем, конечно, с проектирования такого API, которым вы сами хотели бы пользоваться, который был бы удобен. Подумаем, что нужно учесть, чтобы сделать не просто работающий код, а по-настоящему хорошую библиотеку, и дойдем до того, как выпускать настоящий взрослый публичный релиз. Поможет нам в этом Ася Свириденко, которая поделится своим немалым опытом разработки мобильной библиотеки SpeechKit в Яндексе.

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

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

AppsConf Rises

Reading time6 min
Views2.6K


AppsConf — конференция для мобильных разработчиков, на которой можно:

  • а) услышать о новинках в iOS и Android;
  • б) обсудить лучшие практики мобильной разработки;
  • в) найти решения актуальных проблем;
  • г) до хрипоты поспорить о хайповых технологиях;
  • д) познакомиться и задать вопросы GDE и iOS-гуру;
  • е) поделиться достижениями;
  • ж) завести рабочие контакты с самыми крутыми разработчиками в России.

Все это вместе делает AppsConf самой полезной конференцией по мобильной разработке, причем не только в России. Именно так у нас получилось в октябре, и мы собираемся повторить в 2019 уже 22 и 23 апреля.

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

Как использовать корутины в проде и спокойно спать по ночам

Reading time20 min
Views33K
Корутины — мощный инструмент для асинхронного исполнения кода. Они работают параллельно, общаются друг с другом и потребляют мало ресурсов. Казалось бы, без страха можно внедрять корутины в продакшен. Но страхи есть и они мешают.

Доклад Владимира Иванова на AppsConf как раз о том, что не так страшен чёрт и что можно прямо сегодня применять корутины:



О спикере: Владимир Иванов (dzigoro) — ведущий Android-разработчик в компании EPAM с 7-летним опытом, увлекается Solution Architecture, React Native и разработкой под iOS, а еще имеет сертификат Google Cloud Architect.

Смешные и грустные истории про разработку компьютерных игр

Reading time6 min
Views47K
Только через смех можно рассказывать, как плоды долгой и упорной работы распространяются по всем компьютерам страны, но не приносят ни капли дохода. Только улыбка поможет принять хорошее, честное предложение распределения прибыли 1 к 12, где 1 — разработчику, а остальное агрегатору. И трудно слегка не загрустить, слушая о том удивительном времени абсолютно пустого рынка мобильных игр и почти азартном энтузиазме разработчиков. И, наверное, только у Вадима Башурова (PapaBubaDiop) такой длинный путь и невероятный опыт, чтобы иметь в запасе множество невыдуманных смешных и грустных историй.

Так уж повезло, что по случаю тридцатилетнего юбилея своей первой игры, Вадим пришел на Apps Conf. Да, когда вышла самая популярная игра того времени, многие из нас еще не родились, а ныне уважаемые Head of mobile пешком под стол ходили. Но каждый, кто в начале 90-х видел компьютер, видел и игру «Поле Чудес» и думал, что же такое Арзамас.

Из Android-разработчика в DevOps

Reading time15 min
Views5.2K
Продолжаем серию статей про тех, кто делает проекты своими руками. Со Степаном Гончаровым мы поговорили о том, как органично менять направления профессионально деятельности, и при этом из Android-разработчика переквалифицироваться в DevOps. Расспросили про релизный цикл и процессы в Grab — компании, в которой только под Android разрабатывают 40 человек. Порассуждали про то, откуда черпать идеи для игр, расспросили про OpenSource-проекты Степана Archetype и kOptional.



О госте: Степан Гончаров (stepango) разрабатывает приложения и игры под Android c 2008 года, c тех незапамятных времен, когда Android SDK не вышел. За свою карьеру успел побывать в роли QA, менеджера, маркетолога, блогера, аналитика, советника и многих других. Участвовал в разработке как никому неизвестных приложений, так и приложений с миллионами пользователей по всему миру. В настоящее время работает в Grab, активно использует Kotlin и Rx и все больше времени посвящает OSS.

Перед вами текстовая расшифровка подкаста Run Loop. Ведущие: Илья Царев, Алексей Миляев и Роман Бусыгин.
Читать дальше →

Application Coordinator в iOS приложениях

Reading time20 min
Views27K
Каждый год в платформе iOS происходит множество изменений, к тому же регулярно выходят сторонние библиотеки по работе с сетью, кэшированию данных, отрисовке UI через JavaScript и прочему. В противовес всем этим тенденциям Павел Гуров рассказал об архитектурном решении, которое будет актуально независимо от того, какими технологиями вы пользуетесь сейчас или будете пользоваться через пару лет.

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



О спикере: Павел Гуров занимается разработкой iOS приложений в Avito.


С обеих сторон баррикад: про найм разработчиков мобильных приложений

Reading time7 min
Views14K
О том, можно ли нанять мобильного разработчика без тестового задания, надо ли проводить ему «экзамен» на знание всех ключевых слов из резюме и какие ошибки не стоит совершать, мы поговорили с Александром Черным, одним из спикеров нашей AppsConf.


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

Самая полезная конференция по мобильной разработке

Reading time6 min
Views3.6K
Проектируя AppsConf 2018 мы задали себе высокую планку — сделать самую полезную конференцию по мобильной разработке. Окончательно выяснить, получилось ли задуманное, приглашаем на саму конференцию 8 и 9 октября в Инфопространство. Но я, как свидетель предварительных прогонов и обладатель инсайдерской информации, могу пообещать — будет круто. В подтверждение этих слов, ниже рассказ о топовых докладах.

Но сначала уточним понятие полезности в контексте конференции по мобильной разработке. Википедия говорит, что полезность блага или товара — его способность удовлетворять какую-либо человеческую потребность. А еще, что полезность можно разделить на объективную и субъективную. Мы же субъективно решили так: участникам для получения максимальной пользы нужно три вида докладов.

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

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

Reading time15 min
Views28K
Конечный автомат редко применяется мобильными разработчиками. Хотя большинство знает принципы работы и легко реализует его самостоятельно. В статье разберемся, какие задачи решаются конечным автоматом на примере iOS-приложений. Рассказ носит прикладной характер и посвящен практическим аспектам работы.

Под катом вы найдете дополненную расшифровку выступления Александра Сычева (Brain89) на AppsConf, в котором он поделился вариантами применения конечного автомата при разработке неигровых приложений.


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

Трайбы, гильдии, build train и никаких TDD: как устроена мобильная разработка в Uber, Spotify, «Одноклассниках» и Авито

Reading time20 min
Views15K


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

OpenSource на Clojure

Reading time12 min
Views5.2K
В Run Loop приглашают тех, кто делает классные продукты своими руками. Никита Прокопов (tonsky) — человек и пароход, успел сделать несколько OpenSource проектов, которыми с удовольствием пользуются другие люди.

В первую очередь поговорим о шрифте FiraCode, о Clojure, и совершенно разных проектах, например, обертке ClojureScript для React. А потом перейдем к более общим рассуждениям о хороших интерфейсах, здравом смысле, и моделях обучения программистов.



О госте: Никита Прокопов примечателен тем, что создал FiraCode, внёс заметный вклад в развитие Clojure сообщества и опубликовал в OpenSource такие проекты как Datascript и Rum. Помимо этого он пишет на Objective-C под macOS: программа AnyBar подскажет о наступлении какого-либо события в statusbar, ой, menubar вашего компьютера.

Ведущие: Роман Бусыгин (разработчик Яндекс.музыки для iOS) и Алексей Милеев (App in the Air).
Читать дальше →

Android Jetpack: превращаем приложения в ракеты

Reading time11 min
Views14K
Война… Война никогда не меняется. Так, война за красивый и работающий код идет постоянно. И на каждую сложную задачу рождается свое оружие: кто-то делает его под себя, а кто-то пользуется готовыми инструментами. Разработка под Android не исключение. На нашей конференции AppsConf 2018 мы обсудим, как и чем сейчас интереснее всего пользоваться, где можно споткнуться и что интересного есть в огромном арсенале средств разработки, который Google наконец начал приводить в порядок. Основные темы докладов можно посмотреть на нашем сайте, а пока мы попросили рассказать Google Developer Expert Дениса Неклюдова и Александра Смирнова о новом инструментарии Android Jetpack, который был представлен в мае этого года.


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

Как устроен рабочий день членов ПК AppsConf

Reading time19 min
Views4K
В этом году в Программном комитете AppsConf супер классные специалисты по мобильной разработке. У всех за плечами большой опыт, работа в компаниях-лидерах и стартапах, корпоративные решения и свои продукты — они знают, что в тренде, и сами могут поделиться многими хитростями.

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



В третий выпуск Run Loop — подкаста про тех, кто делает продукты своими собственными руками — ведущие решили никого не звать. А рассказать о себе, потому что они тоже делают полезные и крутые вещи.



Роман Бусыгин ведущий разработчик Яндекс музыки для iOS.


Илья Царев Head of iOS в Альфа-банке.


Алексей Милеев Android разработчик App in the Air.
Читать дальше →

Kotlin performance on Android

Reading time20 min
Views13K
Поговорим сегодня о производительности Kotlin на Android в production. Посмотрим под капот, реализуем хитрые оптимизаци, сравним байт-код. Наконец, серьезно подойдем к сравнению и замерим бенчмарки.

Эта статья основана на докладе Александра Смирнова на AppsConf 2017 и поможет разобраться, можно ли написать код на Kotlin, который не будет уступать Java по скорости.


О спикере: Александр Смирнов CTO в компании PapaJobs, ведет видеоблог «Android в лицах», а также является одним из организаторов сообщества Mosdroid.

Information

Rating
485-th
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity