Как стать автором
Обновить
68
0
Анатолий Ларин @junk

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

Отправить сообщение

Как мы придумали TableAdapter и упростили работу с UITableView

Время на прочтение9 мин
Количество просмотров5.4K


При работе с UITableView хотелось избежать написания шаблонного кода, который еще больше усложняется, если нужно обновлять состояние таблицы анимировано. Apple представила свое решение этой проблемы на WWDC 2019, но оно работает только с iOS 13. А у нас, как у студии разработки мобильных приложений, нет такой роскоши в выборе минимальной версии iOS.


Поэтому мы реализовали наше видение data-driven подхода для работы с таблицами, попутно упростив настройку ячеек. И добавили анимированное обновление таблицы, которое основано на автоматическом подсчете различий между старыми и новыми данными за линейное время O(n). Все это мы оформили в небольшую библиотеку, которую назвали TableAdapter.


О том, что у нас получилось и как мы к этому пришли, и пойдет речь в статье.

Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии6

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

Время на прочтение9 мин
Количество просмотров12K
/start

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

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

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

Читать дальше →
Всего голосов 41: ↑38 и ↓3+35
Комментарии8

Машинное обучение в Додо. Как запустить новое направление, если ты разработчик

Время на прочтение5 мин
Количество просмотров15K
Под катом история о том, как в Додо появилось направление машинного обучения. Спойлер: это я его запустил. Хардкорных технических подробностей тут не будет, обязательно посвящу им отдельную статью. Сегодня больше про мотивацию и поддержку коллег.


Читать дальше →
Всего голосов 42: ↑37 и ↓5+32
Комментарии22

Виртуальная квартира: как покупают реальность вместо бетонной коробки

Время на прочтение5 мин
Количество просмотров23K
При покупке квартиры на этапе строительства людям приходится ориентироваться на планировку, часто распечатанную на чёрно-белом принтере, или на красивый цветной буклет, дающий примерно столько же информации. Когда дом уже построен, то у покупателей есть возможность вживую посмотреть на своё будущее жильё — вернее, на бетонную коробку, которая всегда кажется меньшей, чем будет после ремонта.

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

Директор по решениям для бизнеса Planoplan Алексей Ёжиков рассказал, как VR помогает покупателям не брать «кота в мешке».


Всего голосов 23: ↑21 и ↓2+19
Комментарии21

Алиса, Google Assistant, Siri, Alexa. Как писать приложения для голосовых ассистентов

Время на прочтение12 мин
Количество просмотров31K
image

Рынок голосовых ассистентов расширяется, особенно для русскоязычных пользователей. 2 недели назад Яндекс рассказала впервые про платформу Яндекс.Диалоги, 2 месяца назад Google представила возможность писать диалоги для Google Assistant на русском языке, 2 года назад со сцены Bill Graham Civic Auditorium Apple выпустила в открытое плавание SiriKit. Фактически, появляется новая отрасль разработки, где должны быть свои проектировщики, архитекторы и разработчики. Идеальный момент, чтобы поговорить про голосовые помощники и api для них.

В этой статье не будет подробных туториалов. Это статья об идеях и интересных технических деталях, на которых построены инструменты для сторонних разработчиков основных игроков рынка: Apple Siri, Google Assistant и Алисы от Яндекса.
Читать дальше →
Всего голосов 43: ↑43 и ↓0+43
Комментарии11

Порхающие* велосипеды. Что делать с сохранением состояния во Flutter?

Время на прочтение9 мин
Количество просмотров11K

(*одно из значений слова flutter — порхать)


Разбираемся, есть ли жизнь сохранение состояния во Flutter-приложении. Что будет, если ОС решит его перезапустить. Куда денется пользовательский ввод и навигация, и как с этим справляться.


Дисклеймеры:


  • для понимания нужно иметь стартовые знания о Flutter;
  • рассуждаю с точки зрения Android, про iOS — это не ко мне;
  • не являюсь специалистом по Flutter/Dart, подхожу с позиции новичка;
  • в некоторых местах опускаю второстепенные моменты (например, реализации вспомогательных функций), найти недостающее можно в полном коде проекта.
Читать дальше →
Всего голосов 38: ↑38 и ↓0+38
Комментарии12

Дизайн в условиях хакатона

Время на прочтение5 мин
Количество просмотров11K


Меня зовут Алиса, я старший дизайнер в Touch Instinct. Мы — аутсорс-компания. Скорость — один из важнейших критериев оценки нашей работы, наравне с качеством. Иногда для подготовки предложения для нового клиента нужно изучить, придумать и воплотить в жизнь концепцию приложения всего за пару дней. В таких ситуациях нет права на ошибку.

В марте я выступала на хакатоне, который мы организовали вместе с Партией еды. Рассказала участникам, как сделать хорошо за короткий срок. По мотивам лекции подготовила статью-памятку. Она будет полезна участникам команд, которые планируют участвовать в хакатонах, а также начинающим дизайнерам.
Читать дальше →
Всего голосов 33: ↑32 и ↓1+31
Комментарии4

Выиграй 100к на хакатоне Партии еды и Touch Instinct в Петербурге

Время на прочтение2 мин
Количество просмотров3.7K


3-4 марта в Санкт-Петербурге Партия еды делает свой первый большой хакатон. И, кажется, первый в России на тему Фудтеха. Touch Instinct помогает.

Лендинг про хакатон получился знатным, но вопросов от участников все равно много. Мы ответили на все, даже про цыган с первого канала.
Читать дальше →
Всего голосов 33: ↑31 и ↓2+29
Комментарии4

Анимация в мобильных приложениях. Тестируем Kite compositor

Время на прочтение6 мин
Количество просмотров10K


В 2017 году для MacOS вышла программа Kite compositor, которая может стать посредником между дизайнерами и разработчиками. Основная идея — быстрое создание анимации и прототипирование с последующей генерацией кода для платформы iOS. На структуре программы мы останавливаться не будем, на эту тему уже есть подробный материал. Цель нашей статьи — эксперимент. Дизайнер попробует создать анимацию с помощью программы, а разработчики проверят код и дадут обратную связь.
Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии8

Выкладываем приложение в App Store. Даже если вы не разработчик

Время на прочтение4 мин
Количество просмотров117K


Ранее писали про этап подготовки к релизу. Сейчас расскажем про публикацию приложения в AppStore. Пошаговый гайд будет полезен новичкам, которые до этого не сталкивались с полицией нравов из Купертино.

Читать дальше →
Всего голосов 25: ↑23 и ↓2+21
Комментарии4

Готовимся к релизу в App Store. Инструкция для новичков и лайфхаки

Время на прочтение5 мин
Количество просмотров77K


Подготовили гайд для заказчиков, которые занимаются публикацией приложения самостоятельно. Рассказываем о предрелизных хлопотах: как создать аккаунт разработчика, сколько времени заложить на оформление D-U-N-S number, какие скрины подготовить для стора.
Читать дальше →
Всего голосов 30: ↑25 и ↓5+20
Комментарии4

Как получить D-U-N-S number бесплатно

Время на прочтение2 мин
Количество просмотров123K


D-U-N-S number — международный идентификатор юридических лиц. В России добровольно его добывают в одном случае: когда в AppStore нужно зарегистрировать компанию-разработчика.

Расскажем, как добыть этот номер бесплатно и сэкономить 12 240.
Читать дальше →
Всего голосов 36: ↑35 и ↓1+34
Комментарии11

«Коллеги, все нравится, но...» или как построить работу с заказчиком

Время на прочтение11 мин
Количество просмотров19K


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

Я руковожу отделом дизайна и хочу поделиться нашим подходом к работе. В этой статье расскажу, как построить работу с клиентом так, чтобы она была эффективной и комфортной для обеих сторон.
Читать дальше →
Всего голосов 31: ↑30 и ↓1+29
Комментарии12

Тестовая документация. Превращаем таблицы в деревья

Время на прочтение9 мин
Количество просмотров90K


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

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

Вид тестовой документации также зависит от ситуации на проекте и ожиданий заказчика.
Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии12

Android Architecture Components в связке с Data Binding

Время на прочтение12 мин
Количество просмотров22K


Не так давно для андроид-разработчиков Google представил новую библиотеку — Android Architecture Components. Она помогает реализовать в приложении архитектуру на основе паттернов MVx (MVP, MVVM etc.). Кроме того, уже давно выпущена другая библиотека от Google — Data Binding Library. Она позволяет прямо в разметке связывать отображение UI-контролов со значениями, содержащимися в объектах. Это важная особенность паттерна MVVM — связывать слой View со слоем ViewModel.


Обе библиотеки направлены на построение архитектуры Android-приложений в MVVM стиле.
Я расскажу, как можно использовать их вместе для создания проекта с архитектурой на основе MVVM.


Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии8

Определяем номера с помощью CallKit

Время на прочтение7 мин
Количество просмотров20K


Когда в CRM 57000 контактов, людям совсем не хочется записывать их в айфон вручную. Надо найти решение поизящней, которое позволит не просто искать контакты в отдельном приложении, но и отображать имя человека при входящем звонке. Мы долго гуглили, а потом вспомнили про анонс фреймворка CallKit с WWDC. Информации по этой теме оказалось не так много: немногословная документация, статья на Хабре и ни одного пошагового руководства. Хочу восполнить этот пробел. На примере создания простого приложения покажу, как научить CallKit определять тысячи номеров.
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии5

Как стать тимлидом и не взорваться

Время на прочтение12 мин
Количество просмотров70K


Два года назад я начал негласно исполнять роль iOS-lead в компании Touch Instinct и формированием стабильной работы iOS-отдела. Спустя полгода это трансформировалось в официальную должность. Из-за отсутствия опыта у меня возникало огромное количество проблем, которые вызывали жжение в области верхней части кресла. Это происходило из-за ряда факторов:


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

Если вы стали лидом и первоначальная эйфория сменилась небольшим горением и унынием, то пара советов не будет лишней.

Читать дальше →
Всего голосов 92: ↑89 и ↓3+86
Комментарии24

Утечки памяти в Android и способы их локализации

Время на прочтение4 мин
Количество просмотров19K


На одном из проектов столкнулась с утечками памяти. Воспользовалась первым правилом разработчиков — загуглила. К моему глубокому разочарованию нашла много статей для программистов и совсем чуточку для тестировщиков. Большинство публикаций датированы 2011-2014 годом.

Ниже информация об утечках памяти, которая пригодится в 2017 году. Расскажу, чем их наличие грозит приложению, и перечислю несколько подходов к локализации.
Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии4

Основы медиапланирования рекламной кампании и анализа семантического ядра в Яндекс.Директ

Время на прочтение4 мин
Количество просмотров6.4K


Недавно к нам пришел очередной рекламодатель. Сфера деятельности — продажа светодиодного оборудования — большие прожекторы и светодиодные ленты для уличного освещения и подсветки зданий и витрин. Соответственно речь идет о B2B, клиенту интересны только крупные заказы в его тематике со стороны строительных организаций, управляющих компаний, сектора ЖКХ и «совсем не интересны те кто хочет купить пару ламп для того чтобы сделать красивое освещение у себя на балконе».

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

Читать дальше →
Всего голосов 74: ↑65 и ↓9+56
Комментарии36

Синергия с Сontinuous Integration

Время на прочтение3 мин
Количество просмотров26K

Некоторые люди консервативны по своей природе, это всегда мешает принятию чего-то нового. Мне до сих пор непривычно использовать Google Docs вместо Word, хотя, когда речь заходит о совместной работе, преимущества первого неоспоримы. Многие компании (порой даже весьма крупные), занимаясь разработкой программного обеспечения, игнорируют доступные способы повышения производительности труда программистов. Например непрерывную интеграцию (Continuous Integration/CI), которая упрощает процесс разработки и контроль проекта. Готовые решения существуют на рынке давно. К сожалению, до сих пор кто-то продолжает издеваться над сотрудниками, теряя время и деньги. Этот пост — желание поделиться опытом успешного внедрения непрерывной интеграции, и, быть может, попытка достучаться до некоторых менеджеров. Ведь зачастую именно их недальновидность препятствует оптимизации производства.
Читать дальше →
Всего голосов 67: ↑44 и ↓23+21
Комментарии28
1

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность