Рубрика «iOS» - 46

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

Читать полностью »

Анонс конференции Mobius 2018 Piter - 1

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

Для начала озвучим дату: 20-21 апреля 2018 года, Санкт-Петербург. Остальное — под катом.
Читать полностью »

Дневник техлида: полгода разработки мобильного PvP - 1

В марте 2017 года мы собрали небольшую команду и взялись за разработку нового перспективного проекта. Без особых деталей могу сказать, что задача стояла интересная и соблазнительная — мобильный, синхронный, командный PvP. Спустя 7 месяцев активной разработки мне захотелось рассказать коллегам из других проектов и отделов Pixonic технические детали и я подготовил для них презентацию, которая в дальнейшем превратилась в эту статью.

Как техлид команды, я расскажу, с какими задачами и проблемами мы успели столкнуться, как их решаем и почему. Мы используем итеративный подход добавления функционала в проект и в данный момент у нас реализованы: PvP на iOS и Android (обе платформы играют на одних серверах); набор персонажей, три десятка игровых механик, боты; матчмейкинг; набор мета-фич (кастомизация персонажей, прокачка и другие); решена задача масштабируемости на весь мир.

Итак, поехали.Читать полностью »

Нейросеть для определения лиц, встроенная в смартфон - 1Apple начала использовать глубинное обучение для определения лиц начиная с iOS 10. С выпуском фреймворка Vision разработчики теперь могут использовать в своих приложениях эту технологию и многие другие алгоритмы машинного зрения. При разработке фреймворка пришлось преодолеть значительные проблемы, чтобы сохранить приватность пользователей и эффективно работать на железе мобильного устройства. В статье обсуждаются эти проблемы и описывается, как работает алгоритм.

Введение

Впервые определение лиц в публичных API появилось во фреймворке Core Image через класс CIDetector. Эти API работали и в собственных приложениях Apple, таких как Photos. Самая первая версия CIDetector использовала для определения метод на базе алгоритма Виолы — Джонса [1]. Последовательные улучшения CIDetector были основаны на достижениях традиционного машинного зрения.

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

Всем привет! На московской конференции Mobius 2017 мы провели конкурс Мамин Архитектор, в котором просили участников придумать свои оригинальные архитектуры мобильных приложений. В результате мы получили около ста пятидесяти заявок на победу! Под катом мы собрали лучшие работы участников и проанализировали основные тренды.
А ещё мы адаптировали наш конкурс для проведения онлайн. Вдохновляйтесь и присоединяйтесь!
Осторожно, очень много картинок, 18+!

Мамин архитектор: как мы собирали мобильные архитектуры и радовали родителей - 1

Читать полностью »

Сегодня в 18:30 по московскому времени в офисе SuperJob состоится встреча iOS-разработчиков. Присоединяйтесь к прямой трансляции!

Спикеры и темы:

Алексей Коньшин, старший разработчик мобильных приложений SuperJob, с докладом «Построение iOS-приложения из переиспользуемых модулей».

Расскажет о том, как в SuperJob ускорили разработку экранов приложения, разделив их на самостоятельные блоки, как использовали для этого библиотеку IGListKit, как сделали её ещё лучше и как удалось ускорить разработку и унифицировать code style, внедрив генерацию кода.

Ольга Выростко, iOS-разработчик «Яндекса», с докладом «Адаптация приложений под iOS 11 и iPhone X».

Расскажет о том, какие вопросы встали перед разработчиками после недавней презентации Apple. Например, как сделать, чтобы приложение гармонично смотрелось в новой версии операционной системы и стабильно работало на iPhone X, какие новые возможности можно использовать, чтобы процесс разработки шёл быстрее, проще и приятнее. Ещё мы поговорим о том, как изменилось UI-тестирование после перехода на xCode 9 и что в нём нового.
Читать полностью »

image

В этом туториале мы создадим простое, но полнофункциональное приложение под watchOS 4. А конкретнее, мы будем работать над приложением придуманной авиакомпании Air Aber для Apple Watch.

Из этого туториала вы узнаете:

  • Как добавлять целевую сборку watchOS 4 в приложение iOS.
  • Как обмениваться данными между двумя целевыми сборками.
  • Как добавить в Storyboard контроллер интерфейса watchOS и расположить объекты интерфейса.
  • Как создать подкласс WKInterfaceController и соединить всё вместе.
  • Как добавить новый контроллер интерфейса, добавить к нему таблицу и создать прототип из строк.
  • Как создать подкласс класса WKInterfaceController, чтобы заполнить таблицу, настроить строки и обрабатывать выбор.
  • Как сделать контроллер интерфейса модальным и передавать ему данные для отображения.
  • Как создавать анимации на основе изображений.
  • Как использовать API анимации watchOS 4.

Читать полностью »

Как расправиться с читерами и не переписать весь код - 1

Несколько лет назад появился прототип игры War Robots (тогда она еще называлась Walking War Robots). Это был первый опыт Pixonic в жанре тактического PvP, поэтому многие будущие проблемы были заложены в коде изначально. Но несмотря на ряд трудностей (популярность проекта стремительно росла, небольшая команда не могла полностью изменить архитектуру игры в краткие сроки), нам в итоге удалось свести к минимуму количество читеров, а также исправить другие недостатки оригинального кода. Расскажу немного подробнее.Читать полностью »

Hint

Перед прочтением этой статьи советую ознакомиться с предыдущей статьей о TensorFlowKit и поставить star репозиторию.

Я не люблю читать статьи, сразу иду на GitHub

GitHub: TensorFlowKit
GitHub: Example
GitHub: Другое
TensorFlowKit API
Посeтив репозиторий, добавьте его в «Stars» это поможет мне написать больше статей на эту тему.

image

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

Говоря об эффективной разработке систем машинного обучения, всегда поднимается вопрос контроля скорости обучения, анализа процесса обучения, сбора различных метрик обучения и тд. Особая сложность заключается в том, что мы (люди) привыкли оперировать 2х и 3х мерными пространствами, описывая различные процессы вокруг нас. Процессы внутри нейронных сетей происходят в многомерных пространствах, что серьезно усложняет их понимание. Осознавая это, инженеры по всему миру стараются разработать различные подходы к визуализации или трансформации многомерных данных в более простые и понятные формы.

Существуют целые сообщества, решающие такого рода задачи, например Distill, Welch Labs, 3Blue1Brown.
Читать полностью »

По наблюдениям авторов vc.ru, администрация мессенджера Telegram впервые полноценно заблокировала telegram-канал за нарушение прав на музыку. Раньше за пиратство каналы [не] блокировались, но пропадали из доступа у владельцев Telegram-клиентов под iOS и macOS — на технике Apple. Это не мешало «пиратскому» каналу жить дальше на других платформах. Сейчас пиратский канал «Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js