Рубрика «swift» - 30

В новом дайджесте рассказываем про быстрые команды Siri и заработок своим умом, дополненную реальность для музеев и дизайн для финтеха, снова про поиск работы и закат React Native, PWA и даже то, как не застрять в обучении. Подключайтесь!

Дайджест интересных материалов для мобильного разработчика #258 (18 июня — 24 июня) - 1Читать полностью »

Привет!

Меня зовут Александр Зимин, я iOS-разработчик в Badoo. Это перевод статьи моего коллеги Швиба, в которой он рассказал, что из себя представляла функция flatMap в Swift и почему одну из её перегрузок переименовали в compactMap. Статья полезна как для понимания процессов, происходящих в репозитории Swift и его эволюции, так и для общего развития.

Swift 4.1: почему Apple переименовала flatMap в compactMap - 1

В функциональном программировании есть чёткое определение того, что должна представлять собой функция flatMap. Метод flatMap берёт список и преобразующую функцию (которая для каждого преобразования ожидает получить ноль или больше значений), применяет её к каждому элементу списка и создаёт единый (flattened) список. Такое поведение отличается от простой функции map, которая применяет преобразование к каждому значению и для каждого преобразования ожидает получить только одно значение.
Читать полностью »

Данная статья является обновлением статьи Получение удаленных данных в iOS, написанной в ноябре 2015 с использованием Objective-C и потому морально устарешней. Сейчас же будет приведен код, переписанный на Swift 3 и iOS 10 (последней версией является Swift 4.1 и iOS 11, но мой компьютер их уже не поддерживает).

Краткая теория

Формат url

http://www.google.com/?q=Hello&safe=off

  • http — протокол, который определяет, по какому стандарту делается запрос. Еще варианты: https, ftp, file
  • www.google.com — имя домена
  • / — директория, где находятся необходимые нам ресурсы.
  • После вопросительного знака (?) идут параметры q=Hello&safe=off. Они состоят из пар ключ-значение.
  • При запросе также указывается метод, который говорит, как сервер должен обрабатывать этот запрос. По умолчанию, это метод GET.

Данный url из примера можно прочитать таким образом: http запрос с методом GET отправляется домену google.com, в корневую директорию /, с двумя параметрами q со значением Hello и safe со значением off.
Читать полностью »

Информационная безопасность банковских безналичных платежей. Часть 5 — 100+ тематических ссылок про взломы банков - 1

При подготовке материалов для следующих статьей набралась довольно обширная коллекция ссылок на темы:

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

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

В новом дайджесте мы обсуждаем прошедшую WWDC и ее новинки, задаем вопросы Авито, выбираем цветовую схему для приложения, выбираем атрибуцию. С праздником!

Дайджест интересных материалов для мобильного разработчика #256 (4 июня — 12 июня) - 1Читать полностью »

Сегодня в нашем дайджесте история одного PWA, проблемы раскрашивания, 10 фактов к 10-летию App Store, распознавание текста за 10 минут, прототипирование, цвета, микровзаимодействия и много другого!

Дайджест интересных материалов для мобильного разработчика #255 (28 мая — 3 июня) - 1Читать полностью »

Всем привет!

Очередная новинка в списке наших курсов: «Разработчик iOS», а значит пришло время интересных штук, которые мы находили за время подготовки курса. В этой заметке автор разбирает как записывать и воспроизводить запросы API для работы UI тестов.

Поехали.

Недавно я интегрировал Embassy и Succulent в свои UI тесты. Если вам нужно запустить UI тесты для приложения, использующего данные API, это руководство может предложить альтернативу mock / stub.

Проблемы:

  • Приложение использует данные API для заполнения UI ;
  • Использование stub’ов может потребовать написания и поддержки большого количества файлов;
  • При использование mock’ов, логика приложения может отличаться от фактического сетевого вызова;
  • Использование настоящего API соединения — СОВЕРШЕННО ИСКЛЮЧЕНО, слишком много переменных и сбоев

UI тесты в Xcode с Embassy и Succulent - 1

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

Вы когда-нибудь писали адаптеры для Keychain или NSUserDefaults? Они полностью состоят из однотипных сеттеров и геттеров. Предлагаю написать логику один раз, предоставив остальное рантайму. За реализацией прошу под кат.

клавиатура с кнопками copy и paste

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

Сегодня мы продолжаем обсуждать прошедший Google I/O, производительные API, вместе с Кармаком вспоминаем Джобса, рисуем формы и копаемся в пользователях. Присоединяйтесь!

Дайджест интересных материалов для мобильного разработчика #253 (14 мая — 20 мая) - 1Читать полностью »

На WWDC 2015 Apple объявила, что Swift — первый протокол-ориентированный язык программирования (видео сессии «Protocol-Oriented Programming in Swift»).

На этой сессии и ряде других (Swift in Practice, Protocol and Value Oriented Programming in UIKit Apps) Apple демонстрирует хорошие примеры использования протоколов, однако не даёт формального определения, что же такое Protocol-Oriented Programming.

В интернете множество статей о Protocol-Oriented Programming (POP), которые демонстрируют примеры использования протоколов, но и в них я не нашёл ясного определения POP.

Я попытался проанализировать примеры использования протоколов и сформировать принципы, которых стоит придерживаться, чтобы код можно было назвать протокол-ориентированным.
Читать полностью »


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