Всем привет, меня зовут Сергей, я работаю в компании Joy Dev в должности iOS TeamLead. Эта статья - моя “проба пера” на Хабре. В ней, вместе с обзором видов диспетчеризации в Swift, мы рассмотрим несколько примеров, когда реализация методов в extension может вести себя неожиданным образом. Итак.
iOS developer
Многопоточность в iOS-разработке
Здравствуйте, уважаемые читатели Хабра!
Меня зовут Кирилл, я iOS-разработчик приложений Сбера в Студии Олега Чулакова.
Сегодня я хочу поговорить о важной теме, которая стоит в центре многих дискуссий в сообществе разработчиков, — многопоточности в Swift. Эта тема может казаться сложной и запутанной, но я уверен, что с правильным подходом и набором инструментов она станет более доступной.
В этой статье мы разберемся с основами многопоточности и познакомимся с такими инструментами Swift, как Grand Central Dispatch (GCD), OperationQueues, NSLock. А также существующими низкоуровневыми технологиями, такими как pthread и NSThread. Бонусом я расскажу про async/await. Мы обсудим, как эти инструменты помогают управлять асинхронными и параллельными операциями, и посмотрим на некоторые примеры их использования.
Приятного чтения, и давайте начнем наше путешествие в мир многопоточности Swift!
SOLID в Swift. Простое объяснение с примерами для начинающих
Принципы SOLID — это набор пяти основных принципов, которые помогают разработчикам создавать более понятный, гибкий и поддерживаемый код. Так же знание этих принципов довольно часто спрашивают на собеседованиях.
Давайте рассмотрим каждый из этих принципов с примерами нарушения и соблюдения на языке Swift.
Заблуждения Clean Architecture
На первый взгляд, Clean Architecture – довольно простой набор рекомендаций к построению приложений. Но и я, и многие мои коллеги, сильные разработчики, осознали эту архитектуру не сразу. А в последнее время в чатах и интернете я вижу всё больше ошибочных представлений, связанных с ней. Этой статьёй я хочу помочь сообществу лучше понять Clean Architecture и избавиться от распространенных заблуждений.
“Ешь и умней: здоровье мозга в тарелке?”
Что делать, когда близится дедлайн, а ничего еще не готово? Рекламный лозунг шоколадных батончиков подсказывает нам: «Заряжай мозги!». Старшее поколение вспомнит, как всем детям давали невкусный рыбий жир в школах и детских садах: «омега-3-жирные кислоты полезны для мозга». Тем, кто носил в детстве очки, рекомендовали есть побольше черники и моркови — «для зрения». Но насколько продукты питания действительно могут повлиять на состояние нашего мозга — и как именно?
Еда (пищевое подкрепление) выступает для нас таким же вознаграждением, как эротические или финансовые стимулы.
Очень часто еда служит не только средством насыщения и утоления чувства голода, но и получения положительных эмоций, награды («заедаем стресс»). В мозге человека за переживание вознаграждения отвечает система базальных ганглиев — структур, расположенных под корой головного мозга. Оказывается, что вкусная еда является для человека таким же сильным подкрепляющим стимулом, как деньги или эротические стимулы, и это подтверждается активацией в системе базальных ганглиев. Но обнаруживаются и специфичные реакции мозга человека именно для пищевых стимулов — активируется правый островок, структура, которая отвечает за синтез наших внутренних, или интероцептивных, ощущений. Когда мы смакуем каждый кусочек нового блюда, мы анализируем все оттенки вкуса.
Однако не только еда воспринимается по-особенному в мозге человека, но она также может влиять на работу мозга. В суточном рационе современного человека преимущественно преобладают углеводы (простые и сложные), и одним из самых известных простых углеводов (моносахаридом) является глюкоза. Нейроны и клетки мышц активнее всех других клеток организма потребляют глюкозу. Для того, чтобы клетки могли захватить глюкозу, необходим инсулин — гормон, вырабатываемый поджелудочной железой. Но в ряде случаев клетки организма теряют чувствительность к инсулину и становятся к нему невосприимчивыми (к факторам относят генетическую предрасположенность, абдоминальное ожирение и артериальную гипертензию). Глюкоза в этих случаях усваивается клетками недостаточно, а ее уровень в крови повышается. В ответ на это поджелудочной железой усиливается выработка инсулина — как защитная реакция организма. Такое состояние называется инсулинорезистентность.
Дайджест интересных материалов для мобильного разработчика #374 (7 — 13 декабря)
Как Uber переписал приложение iOS на Swift
Шёл 2016 год. Трампа ещё не избрали президентом, поэтому движение #DeleteUber пока не началось. Трэвис Каланик оставался гендиром, мы переживали фазу гиперактивного роста с открытием филиалов в других странах, общественные настроения в целом позитивные, все довольны, Uber на высоте.
Как мы делаем страховое приложение для людей
Если вы делаете полезный сервис, которым будут пользоваться люди, вы рано или поздно придете к тому, чтобы сделать и приложение. Само собой, если хотите, чтобы клиентам было удобно и чтобы клиенты вообще были (а ещё лучше, чтобы их становилось больше).
В этом посте мы расскажем про наше новое приложение — как мы его делали и как вообще люди относятся к страхованию, когда речь идет о покупке полиса через смартфон. Какие у страхования в принципе особенности, почему в некоторых отраслях боты — это зло и почему котам не стоит есть все лилии подряд.
Но сначала пару слов о нашем первом приложении. Мы делали его в качестве небольшого эксперимента, чтобы посмотреть, а нужно ли оно вообще и будут ли клиенты им пользоваться. У нас был 1 (один) разработчик, который в марте этого года собрал весь свой энтузиазм и начал с создания обертки под web view. В апреле мы выкатили приложение в Google Play, а в июне — в App Store.
Само собой, так как речь шла о webview, вы уже наверняка представили себе отзывы пользователей, которые с современных смартфонов открывали через приложение мобильную версию нашего сайта и успевали отлично размять палец в попытках долистать страницу с важной информацией до конца. Верстка получилась существом разумным, а поэтому — абсолютно непредсказуемым на разной диагонали экранов и в разную погоду.
Погружение в автотестирование на iOS. Часть 1. Как работать с accessibilityidentifier объектов
Всем привет!
Меня зовут Борис. Я AQA iOS-engineer в Vivid Money.
Это вступительная статья, в цикле статей по iOS-автоматизации, в которых хочется рассказать о пользе ui-тестов на проекте, их эффективном использовании и написании.
Данная статья будет полезна начинающим iOS-автоматизаторам, либо разработчикам, которые решили изучить XCUITest и покрыть свой проект ui-тестами.
Оверинжиниринг головного мозга
Попалась мне простая развлекательная задача: собрать данные о температуре воды и воздуха с пары HTML страниц и выдать результат, в JSON из API. Задача тривиальная, решается кодом строк в 40 (или около того) с комментариями. Конечно если писать руководствуясь принципом Quick & Dirty. Тогда написаный код будет с душком и не будет соответствовать современным стандартам программирования
TeamCity: настраиваем CI/CD в вашей команде
Привет, Хабр!
TeamCity — пожалуй, один из самых популярных CI/CD-серверов, который используют разработчики по всему миру. В этой статье я расскажу про базовые концепции, на которых он построен, и на примерах покажу, как можно настроить CI/CD в вашей команде.
Чаты на вебсокетах в iOS, если у вас WAMP
Разработка заняла примерно 9 месяцев, а я занимался реализацией клиент-серверного общения по сокету для iOS. Особенности нашей ситуации:
- Поддержка старых версий iOS, где нативных методов для общения по сокетам ещё не было — пришлось искать рабочую библиотеку и фиксить баги.
- Протокол WAMP на бэкенде — предстояло научить клиент декодировать any, декодировать протоколы и создать объект, который отвечает за отправку и приём сообщений.
Примечание: описанные ниже способы декодирования, можно применить и в других задачах.
Новости о машинном обучении Apple в 2020 году
В 2020 году машинное обучение на мобильных платформах перестало быть революционным новшеством. Интеграция интеллектуальных функций в приложения стала стандартной практикой.
К счастью, это вовсе не означает, что Apple прекратила разрабатывать инновационные технологии.
В этой публикации я кратко расскажу о новостях в отношении платформы Core ML и других технологий искусственного интеллекта и машинного обучения в экосистеме Apple.
BoxView — удобный autolayout для iOS
Хотя с появлением SwiftUI актуальность autolayout быстро уменьшается, пока этот механизм все еще активно используется, и библиотека может быть полезна для тех, кто создает (или меняет) UI непосредственно в коде.
Information
- Rating
- Does not participate
- Location
- Махачкала, Дагестан, Россия
- Registered
- Activity