This media is not supported in your browser
VIEW IN TELEGRAM
Создаём эффекты как в Apple Invites
Буквально неделю назад вышло новое приложение от Apple. Если вы задумывались, как можно реализовать анимацию с параллаксом при скролле (или вновь узнать немного больше о шейдерах), то с радостью делюсь проектом с официального сайта.
📖 В этом проекте можно посмотреть на разные эффекты при скролле, работу с цветами, кастомные переходы и расширенные эффекты с помощью шейдеров и рендеринга текста.
📺 Реализация вдохновлена этой сессией с WWDC24.
Кстати, в базе есть примеры более сложных шейдеров (💰 тут и ⭐️ тут).
😃 iOS Dev
Буквально неделю назад вышло новое приложение от Apple. Если вы задумывались, как можно реализовать анимацию с параллаксом при скролле (или вновь узнать немного больше о шейдерах), то с радостью делюсь проектом с официального сайта.
📖 В этом проекте можно посмотреть на разные эффекты при скролле, работу с цветами, кастомные переходы и расширенные эффекты с помощью шейдеров и рендеринга текста.
📺 Реализация вдохновлена этой сессией с WWDC24.
Кстати, в базе есть примеры более сложных шейдеров (
Please open Telegram to view this post
VIEW IN TELEGRAM
Умение доносить свои мысли
Печально наблюдать, как довольно часто в современном IT тарабарщину принимают за высокий скилл, а набор противоречащих друг другу заявлений за истину.
Я вижу, как посты редактируются после первого же комментария, как люди в публичном поле, имеющие приличный вес в сообществе, меняют их, удаляют и как ни в чём не бывало считают, что вводить тысячи читателей в заблуждение — это ок.
Поверьте, всегда можно отличить практика от того, кто это имитирует.
Всегда можно отличить знание от повторения.
Практикуйтесь в технической части. Решайте сложные задачи.
Формируйте собственное мнение.
😃 iOS Dev
Печально наблюдать, как довольно часто в современном IT тарабарщину принимают за высокий скилл, а набор противоречащих друг другу заявлений за истину.
Я вижу, как посты редактируются после первого же комментария, как люди в публичном поле, имеющие приличный вес в сообществе, меняют их, удаляют и как ни в чём не бывало считают, что вводить тысячи читателей в заблуждение — это ок.
Поверьте, всегда можно отличить практика от того, кто это имитирует.
Всегда можно отличить знание от повторения.
Практикуйтесь в технической части. Решайте сложные задачи.
Формируйте собственное мнение.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Игра «Жизнь» Конвея: реализация c использованием MetalKit
📖 Пост про автомат Конвея (и даже пример реализации на Swift) уже был в нашем канале.
Эндрю Глейв показал, как можно сделать визуализацию с использованием vertex & fragment шейдеров.
🛠 Код доступен на Github.
😃 iOS Dev
📖 Пост про автомат Конвея (и даже пример реализации на Swift) уже был в нашем канале.
Эндрю Глейв показал, как можно сделать визуализацию с использованием vertex & fragment шейдеров.
🛠 Код доступен на Github.
Please open Telegram to view this post
VIEW IN TELEGRAM
Objective-C всё ещё сохраняет лидирующую позицию с уровнем в 350к, Swift вплотную подобрался к 300 000.
Медианная зарплата в IT — 180 000 ₽, это на 19% больше первого полугодия 2024.
📖 Полные результаты исследования здесь, сравнить тенденцию изменений можно с этим постом.
Please open Telegram to view this post
VIEW IN TELEGRAM
NSAttributedString: создание, редактирование и управление атрибутами
UILabel стоит больше, чем вы думаете — это не просто утверждение, а факт. Если вы работали с большим количеством стилей, то эта тема может быть очень близка. А когда мы говорим про что-то более производительное, нет иного варианта, кроме как уйти к Core Text.
Несмотря на это, работа со строками встречается постоянно, в любых приложениях - поэтому знать особенности и способы редактирования полезно.
📖 В этой статье доступно изложены варианты работы с разными атрибутами (создание кликабельных ссылок, параграфов, вложений-картинок и не только).
Приятно, что автор понимает издержки и указывает про возможность кэширования таких строк.
😃 iOS Dev
UILabel стоит больше, чем вы думаете — это не просто утверждение, а факт. Если вы работали с большим количеством стилей, то эта тема может быть очень близка. А когда мы говорим про что-то более производительное, нет иного варианта, кроме как уйти к Core Text.
Несмотря на это, работа со строками встречается постоянно, в любых приложениях - поэтому знать особенности и способы редактирования полезно.
📖 В этой статье доступно изложены варианты работы с разными атрибутами (создание кликабельных ссылок, параграфов, вложений-картинок и не только).
Приятно, что автор понимает издержки и указывает про возможность кэширования таких строк.
Please open Telegram to view this post
VIEW IN TELEGRAM
Жёсткие рамки или при чём тут бесконечный скролл
При работе над разными проектами, чаще всего можно встретить два варианта построения процессов: долгие эпики на несколько кварталов (и даже лет) и значительно менее продолжительные спринты с фиксированными фичами.
При таком формате важно избегать состояния scope creep (или же неконтролируемое увеличение масштаба проекта, что особенно часто встречается в начале разработки, бывалые менеджеры проектов поймут о чём речь).
Чтобы это предотвратить, существует примерно миллион возможных вариантов скоринга спринтов, но практически все они рано или поздно рушатся.
Поэтому крайне важно сосредоточиться на том, что важно, и вам очень повезло, если на текущем месте работы руководящий состав это понимает. Фичи, затрагивающие производительность, должны быть выше по приоритету, нежели перекраска темы приложения, а стабильность проекта должна преобладать над потенциальным разрастанием фич в разные стороны (привет всем супер-приложениям, в которых даже фокус-группы ломаются над простейшими сценариями).
При этом жёсткие рамки должны быть сформированы на основе вашей архитектуры или принятых стандартов внутри команды, но на мой взгляд, диктовать разработчику конкретный способ решения не слишком эффективно.
В нашей команде я стараюсь придерживаться именно этой позиции: если есть фича, которую нужно реализваоть, необходимо закладывать нефиксированный временной отрезок внутри более длинной дистанции, в рамках которой эта фича должна быть реализована. Если получится выполнить таск ранее, чем до окончания спринта — прекрасно, но накладывать на разработчиков просьбы оценки времени в начале иногда лишнее, так как часто существует много переменных, которые зависят и от смежных команд, и от реализации на сервере, и от утверждения или изменения дизайна в процессе.
При этом ситуация, когда разработчик видит результат сразу или понимает, на каком этапе он находится, помогает оценить и свои силы, и приблизительно понять, в каких местах требуется оптимизация или проверка дополнительных корнер-кейсов.
В связи с этим я хотел бы вспомнить о человеке, из-за которого много времени буквально попадает в яму (можно встретить и соответствующий термин с дофаминовой петлёй).
Его имя — Аза Раскин. И именно ему мы должны сказать спасибо (или выразить негодование) за появление бесконечного скролла. Ведь в далеком 2006 году кроме пагинации не существовало альтернативы, и именно благодаря ему пользователи теперь значительно реже ощущают ход времени в ряде запрещённых соцсетей.
Хотелось бы, чтобы разработка все-таки не превращалась в бесконечный скролл, а мы с вами понимали, в какой момент должна быть перевёрнута нужная страница.
😃 iOS Dev
При работе над разными проектами, чаще всего можно встретить два варианта построения процессов: долгие эпики на несколько кварталов (и даже лет) и значительно менее продолжительные спринты с фиксированными фичами.
При таком формате важно избегать состояния scope creep (или же неконтролируемое увеличение масштаба проекта, что особенно часто встречается в начале разработки, бывалые менеджеры проектов поймут о чём речь).
Чтобы это предотвратить, существует примерно миллион возможных вариантов скоринга спринтов, но практически все они рано или поздно рушатся.
Поэтому крайне важно сосредоточиться на том, что важно, и вам очень повезло, если на текущем месте работы руководящий состав это понимает. Фичи, затрагивающие производительность, должны быть выше по приоритету, нежели перекраска темы приложения, а стабильность проекта должна преобладать над потенциальным разрастанием фич в разные стороны (привет всем супер-приложениям, в которых даже фокус-группы ломаются над простейшими сценариями).
При этом жёсткие рамки должны быть сформированы на основе вашей архитектуры или принятых стандартов внутри команды, но на мой взгляд, диктовать разработчику конкретный способ решения не слишком эффективно.
В нашей команде я стараюсь придерживаться именно этой позиции: если есть фича, которую нужно реализваоть, необходимо закладывать нефиксированный временной отрезок внутри более длинной дистанции, в рамках которой эта фича должна быть реализована. Если получится выполнить таск ранее, чем до окончания спринта — прекрасно, но накладывать на разработчиков просьбы оценки времени в начале иногда лишнее, так как часто существует много переменных, которые зависят и от смежных команд, и от реализации на сервере, и от утверждения или изменения дизайна в процессе.
При этом ситуация, когда разработчик видит результат сразу или понимает, на каком этапе он находится, помогает оценить и свои силы, и приблизительно понять, в каких местах требуется оптимизация или проверка дополнительных корнер-кейсов.
В связи с этим я хотел бы вспомнить о человеке, из-за которого много времени буквально попадает в яму (можно встретить и соответствующий термин с дофаминовой петлёй).
Его имя — Аза Раскин. И именно ему мы должны сказать спасибо (или выразить негодование) за появление бесконечного скролла. Ведь в далеком 2006 году кроме пагинации не существовало альтернативы, и именно благодаря ему пользователи теперь значительно реже ощущают ход времени в ряде запрещённых соцсетей.
Хотелось бы, чтобы разработка все-таки не превращалась в бесконечный скролл, а мы с вами понимали, в какой момент должна быть перевёрнута нужная страница.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Реализация шейдера с презентации Apple для iPhone 16e
В сообществе часто создают свои интерпретации логотипов, посвященным событиям от Apple. Например, для последней даже создали небольшой сайт, где можно посмотреть эффект на лого разных компаний.
Bobby Bobak, в свою очередь, портировал код на SwiftUI (можно настраивать и величину преломления, и блюр).
📖 Реализация доступна на GitHub.
📱 Оригинальный пост Стивена Хейни.
Кстати, вот тут, например, можно посмотреть на реализацию эффекта для Siri в iOS 18.
Напомню, что в базе iOS IQ есть целый ряд необычных и сложных шейдеров с примерами использования.
😃 iOS Dev
В сообществе часто создают свои интерпретации логотипов, посвященным событиям от Apple. Например, для последней даже создали небольшой сайт, где можно посмотреть эффект на лого разных компаний.
Bobby Bobak, в свою очередь, портировал код на SwiftUI (можно настраивать и величину преломления, и блюр).
📖 Реализация доступна на GitHub.
Кстати, вот тут, например, можно посмотреть на реализацию эффекта для Siri в iOS 18.
Напомню, что в базе iOS IQ есть целый ряд необычных и сложных шейдеров с примерами использования.
Please open Telegram to view this post
VIEW IN TELEGRAM
Что происходит, когда вы перемещаете файл в git?
Это интересный вопрос, поскольку каждый из нас работает с гитом постоянно. Кто-то предпочитает Xcode или Tower, кто-то юзает консоль, но так или иначе понимание принципов важно.
Многие считают, что коммиты в git - это диффы изменений, но Бруно Роша в своей статье опровергает этот тезис. Коммиты это снэпшоты (кроме исключения): то есть при любом изменении в файле, git будет хранить полную копию этого файла в репозитории.
Советую посмотреть в частности на то, как именно гит понимает, когда у нас два одинаковых файла (хоть и с разными именами).
📖 Про ряд других любопытных кейсов также можно почитать в оригинальной статье.
Не забудьте и про этот пост, где понятно рассказано об основах работы с гитом для iOS-разработчиков.
😃 iOS Dev
Это интересный вопрос, поскольку каждый из нас работает с гитом постоянно. Кто-то предпочитает Xcode или Tower, кто-то юзает консоль, но так или иначе понимание принципов важно.
Многие считают, что коммиты в git - это диффы изменений, но Бруно Роша в своей статье опровергает этот тезис. Коммиты это снэпшоты (кроме исключения): то есть при любом изменении в файле, git будет хранить полную копию этого файла в репозитории.
Советую посмотреть в частности на то, как именно гит понимает, когда у нас два одинаковых файла (хоть и с разными именами).
📖 Про ряд других любопытных кейсов также можно почитать в оригинальной статье.
Не забудьте и про этот пост, где понятно рассказано об основах работы с гитом для iOS-разработчиков.
Please open Telegram to view this post
VIEW IN TELEGRAM
Рисование карт с помощью Swift Charts
Стандартный фреймворк Swift Charts это мощный инструмент для отображения данных с помощью самых разных способов.
В своей статье Артём Новичков вдохновился крутой сессией с WWDC и придумал необычное решение с комбинацией GeoJSON и MapKit.
📖 А что из этого вышло можно увидеть здесь.
🛠 Код проекта на GitHub.
😃 iOS Dev
Стандартный фреймворк Swift Charts это мощный инструмент для отображения данных с помощью самых разных способов.
В своей статье Артём Новичков вдохновился крутой сессией с WWDC и придумал необычное решение с комбинацией GeoJSON и MapKit.
📖 А что из этого вышло можно увидеть здесь.
🛠 Код проекта на GitHub.
Please open Telegram to view this post
VIEW IN TELEGRAM
Task.sleep() vs Task.yield(): Объяснение различий
В Swift Concurrency можно использовать
И хотя оба варианта выглядят и ведут себя похоже, есть несколько различий, о которых полезно знать.
📖 В этой статье Антуан рассказывает про оба способа и объясняет, какие есть области применения в приложениях.
😃 iOS Dev
В Swift Concurrency можно использовать
Task.sleep()
и Task.yield()
, чтобы позволить определенной задаче «заснуть» или «выйти» на определенный период времени. И хотя оба варианта выглядят и ведут себя похоже, есть несколько различий, о которых полезно знать.
📖 В этой статье Антуан рассказывает про оба способа и объясняет, какие есть области применения в приложениях.
Please open Telegram to view this post
VIEW IN TELEGRAM
Простая настройка модуляризации для iOS-приложения
При этом подходе можно добиться целого ряда важных преимуществ.
Например, разбиение приложения на модули поможет не только облегчить совместную работу над проектом и повысить тестируемость, но и при правильных настройках улучшит скорость сборки.
📖 В этой статье показано, как можно структурировать такой проект (с использованием Core/Domain/Presentation слоёв), и, что немаловажно, как масштабировать этот подход для реализации более сложных и объёмных приложений.
🛠 Код доступен на GitHub.
🔗 В канале можно и посмотреть на подход Spotify к реализации модульной архитектуры.
А познакомиться с разными подходами для выбора нужной архитектуры проекта (и посмотреть на то, какие могут быть подводные камни) можно как всегда вот здесь (или же⭐️ прямо тут).
😃 iOS Dev
При этом подходе можно добиться целого ряда важных преимуществ.
Например, разбиение приложения на модули поможет не только облегчить совместную работу над проектом и повысить тестируемость, но и при правильных настройках улучшит скорость сборки.
📖 В этой статье показано, как можно структурировать такой проект (с использованием Core/Domain/Presentation слоёв), и, что немаловажно, как масштабировать этот подход для реализации более сложных и объёмных приложений.
🛠 Код доступен на GitHub.
🔗 В канале можно и посмотреть на подход Spotify к реализации модульной архитектуры.
А познакомиться с разными подходами для выбора нужной архитектуры проекта (и посмотреть на то, какие могут быть подводные камни) можно как всегда вот здесь (или же
Please open Telegram to view this post
VIEW IN TELEGRAM
Промпт-инженеры и их зарплаты
В канале я регулярно поднимаю вопросы, связанные с AI (от проблем у Stackoverflow, запрета использования в Apple до опросов).
И хотя польза от них есть, ведь эти инструменты можно использовать для решения вещей вроде базовых штук, связанными с анимациями или поиском каких-то свойств (буквально вместо поисковика), но есть то, чего стоит опасаться.
Во-первых, запросы на основе реального корпоративного кода часто запрещены (и я поддерживаю этот запрет, если только это не вами созданная и обученная сетка в локальном окружении).
Во-вторых, знаю ребят, которые пытались юзать ChatGPT (и аналоги) для решения алгоритмов и ломались уже на вещах уровня medium в литкоде. Особенно когда речь идёт о корнер-кейсах или нетривиальных условиях.
Будет неловко, если этот код попадёт в продакшен, как считаете?
В-третьих, и об этом ниже, на мой взгляд развитие ИИ должно было привести к решению базовых, даже бытовых вещей и оставить человеку возможность создавать что-то новое.
Но вот в чём парадокс, происходит ровно наоборот, хотя пару десятков лет назад казалось разве робот может написать симфонию.
Люди создают музыку с использованием нейросетей, рисуют картины, программируют и даже пишут книги.
Достаточно почитать про бум книг на амазоне, целиком придуманных нейросетями. Или про то, что произошло с медиумом, на котором ребята с чашкой чая пилят десятки пустых, наполненных водой, статей.
На счёт зарплат таких специалистов - отдельный разговор. Допустим, подписка на ChatGPT стоит от 20 до 200 долларов. Какое образование необходимо, чтобы пользоваться этим инструментом в IT-сфере?
Как думаете, должна ли быть отдельная должность с ограниченным пулом задач для промпт-инженеров в iOS, возможно ли это в целом? Могут ли у них быть собственные грейды?
😃 iOS Dev
В канале я регулярно поднимаю вопросы, связанные с AI (от проблем у Stackoverflow, запрета использования в Apple до опросов).
И хотя польза от них есть, ведь эти инструменты можно использовать для решения вещей вроде базовых штук, связанными с анимациями или поиском каких-то свойств (буквально вместо поисковика), но есть то, чего стоит опасаться.
Во-первых, запросы на основе реального корпоративного кода часто запрещены (и я поддерживаю этот запрет, если только это не вами созданная и обученная сетка в локальном окружении).
Во-вторых, знаю ребят, которые пытались юзать ChatGPT (и аналоги) для решения алгоритмов и ломались уже на вещах уровня medium в литкоде. Особенно когда речь идёт о корнер-кейсах или нетривиальных условиях.
Будет неловко, если этот код попадёт в продакшен, как считаете?
В-третьих, и об этом ниже, на мой взгляд развитие ИИ должно было привести к решению базовых, даже бытовых вещей и оставить человеку возможность создавать что-то новое.
Но вот в чём парадокс, происходит ровно наоборот, хотя пару десятков лет назад казалось разве робот может написать симфонию.
Люди создают музыку с использованием нейросетей, рисуют картины, программируют и даже пишут книги.
Достаточно почитать про бум книг на амазоне, целиком придуманных нейросетями. Или про то, что произошло с медиумом, на котором ребята с чашкой чая пилят десятки пустых, наполненных водой, статей.
На счёт зарплат таких специалистов - отдельный разговор. Допустим, подписка на ChatGPT стоит от 20 до 200 долларов. Какое образование необходимо, чтобы пользоваться этим инструментом в IT-сфере?
Как думаете, должна ли быть отдельная должность с ограниченным пулом задач для промпт-инженеров в iOS, возможно ли это в целом? Могут ли у них быть собственные грейды?
Please open Telegram to view this post
VIEW IN TELEGRAM
Синхронное выполнение задач в iOS-приложениях
Все iOS-разработчики справедливо беспокоятся о потенциальной блокировке основного потока. Поэтому практически всегда длительные задачи переносятся с него, чтобы сохранить отзывчивость приложения..
Но на самом деле, если процесс короткий, как справедливо подмечает Мэтт в своей статье, такое смещение может плохо сказаться на производительности. Так как хотя затраты на переключение минимальны, такая операция на/из потока не является бесплатной.
Добавление в код параллелизма сопровождается увеличением сложности сразу по нескольким направлениям (и оно может быть существенным).
📖 Больше примеров и полезных размышлений можно прочитать в оригинальном материале.
А разбор других (не менее важных) вопросов в разработке, подборку вопросов по многопоточности и многое другое можно найти💰 в закрытой базе и ⭐️ прямо здесь.
😃 iOS Dev
Все iOS-разработчики справедливо беспокоятся о потенциальной блокировке основного потока. Поэтому практически всегда длительные задачи переносятся с него, чтобы сохранить отзывчивость приложения..
Но на самом деле, если процесс короткий, как справедливо подмечает Мэтт в своей статье, такое смещение может плохо сказаться на производительности. Так как хотя затраты на переключение минимальны, такая операция на/из потока не является бесплатной.
Добавление в код параллелизма сопровождается увеличением сложности сразу по нескольким направлениям (и оно может быть существенным).
📖 Больше примеров и полезных размышлений можно прочитать в оригинальном материале.
А разбор других (не менее важных) вопросов в разработке, подборку вопросов по многопоточности и многое другое можно найти
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Grand Central Dispatch: большой разбор
Наш подписчик подготовил фундаментальный разбор GCD, и в отличие от многих аналогичных статей, наполнил его примерами, над которыми можно (и нужно) подумать.
Среди основных тем:
🔘 Основные концепты: thread, multithreading, GCD, task, queue
🔘 Типы очередей: main, global, custom
🔘 Quality of Service (QoS) и разбор приоритетов
🔘 Последовательная и параллельная очереди
🔘 Способы выполнения задач: async, sync
🔘 Deadlock
🔘 Упражнения для проверки знаний по GCD - весь код доступен на GitHub
Пообщавшись с Кириллом, было принято решение вынести некоторые задачи и в большую подборку.
📖 Оригинальную статью можно прочесть здесь.
Напомню, что доступ к этой и другим практическим темам можно получить💰 тут и ⭐️ прямо здесь.
😃 iOS Dev
Наш подписчик подготовил фундаментальный разбор GCD, и в отличие от многих аналогичных статей, наполнил его примерами, над которыми можно (и нужно) подумать.
Среди основных тем:
Пообщавшись с Кириллом, было принято решение вынести некоторые задачи и в большую подборку.
📖 Оригинальную статью можно прочесть здесь.
Напомню, что доступ к этой и другим практическим темам можно получить
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Симметричные и асимметричные эффекты в SwiftUI c добавлением модификатора Scroll Transition
📖 Делюсь неплохим гайдом с примерами кода по добавлению эффектов при скролле, важно помнить, что это доступно только с iOS 17.
А ещё напомню, что в канале есть несколько полезных постов:
🔗 Добавление растягиваемого заголовка в ScrollView с параллакс-эффектом для SwiftUI
🔗 Реализация эффектов ScrollView
🔗 Ещё один разбор ScrollTransitionConfiguration
А для UIKit можно чекнуть, как реализовать бесконечный скролл на базе UITableView + API HackerNews.
😃 iOS Dev
📖 Делюсь неплохим гайдом с примерами кода по добавлению эффектов при скролле, важно помнить, что это доступно только с iOS 17.
А ещё напомню, что в канале есть несколько полезных постов:
А для UIKit можно чекнуть, как реализовать бесконечный скролл на базе UITableView + API HackerNews.
Please open Telegram to view this post
VIEW IN TELEGRAM
Новый инструмент анализа производительности: Processor Trace
Длительное выполнение операций в главном потоке может привести к самым различным проблемам: от подвисаний и проблем отображения вплоть до того, что приложение перестанет отзываться в целом.
🛠 В Xcode 16.3 Beta 2 появился новый инструмент для проверки нагрузки: Processor Trace.
С его помощью можно получить информацию о выполняемом коде, включая ветвления и инструкции.
Но, как обычно, есть и большое но: мы можем использовать его только на M4 и на устройствах iPhone 16 и выше.
И недостаток поменьше: при использовании трассировки девайс будет работать приблизительно на 1 % медленнее.
Благодаря новому инструменту можно проверять активность процессора (и уже затем мы можем решать, что реально вынести в фон с помощью Swift Concurrency или dispatch queue).
📖 Обратите внимание и на этот пост с советами по повышению производительности.
😃 iOS Dev
Длительное выполнение операций в главном потоке может привести к самым различным проблемам: от подвисаний и проблем отображения вплоть до того, что приложение перестанет отзываться в целом.
🛠 В Xcode 16.3 Beta 2 появился новый инструмент для проверки нагрузки: Processor Trace.
С его помощью можно получить информацию о выполняемом коде, включая ветвления и инструкции.
Но, как обычно, есть и большое но: мы можем использовать его только на M4 и на устройствах iPhone 16 и выше.
И недостаток поменьше: при использовании трассировки девайс будет работать приблизительно на 1 % медленнее.
Благодаря новому инструменту можно проверять активность процессора (и уже затем мы можем решать, что реально вынести в фон с помощью Swift Concurrency или dispatch queue).
📖 Обратите внимание и на этот пост с советами по повышению производительности.
Please open Telegram to view this post
VIEW IN TELEGRAM
Музей науки Манчестера
В эти выходные нахожусь в Манчестере, и хотя красивых эпл сторов тут нет (кто давно читает канал, знает, что тут можно увидеть необычные магазины изнутри), я просто не мог не заглянуть в музей, посвященный знаковым изобретениям.
Вообще, локация этого музея сама по себе необычная, для этого выбрана территория бывшего первого в мире пассажирского вокзала (Манчестер—Ливерпуль-Роуд).
Понятен и акцент на исторические достижения в области промышленности. Но лично для меня было интересно посмотреть на реплику первого в истории компьютера, в котором можно было хранить инструкции выполнения программ в памяти.
И хотя он описан как маленький и примитивный (для своего времени), да и название у него символичное Малыш (или baby) сейчас эта махина выглядит просто огромной.
27 тонн, 15 на 7 метров с потребляемой мощностью в 150+ кВт. Вычислительная мощность — 357 операций умножения в секунду. При этом само умножение было реализовано очень любопытно и по факту 1 умножение равнялось 14 операциям сложения.
После такого задача писать мобильные приложения кажется немного проще 😌
😃 iOS Dev
В эти выходные нахожусь в Манчестере, и хотя красивых эпл сторов тут нет (кто давно читает канал, знает, что тут можно увидеть необычные магазины изнутри), я просто не мог не заглянуть в музей, посвященный знаковым изобретениям.
Вообще, локация этого музея сама по себе необычная, для этого выбрана территория бывшего первого в мире пассажирского вокзала (Манчестер—Ливерпуль-Роуд).
Понятен и акцент на исторические достижения в области промышленности. Но лично для меня было интересно посмотреть на реплику первого в истории компьютера, в котором можно было хранить инструкции выполнения программ в памяти.
И хотя он описан как маленький и примитивный (для своего времени), да и название у него символичное Малыш (или baby) сейчас эта махина выглядит просто огромной.
27 тонн, 15 на 7 метров с потребляемой мощностью в 150+ кВт. Вычислительная мощность — 357 операций умножения в секунду. При этом само умножение было реализовано очень любопытно и по факту 1 умножение равнялось 14 операциям сложения.
После такого задача писать мобильные приложения кажется немного проще 😌
Please open Telegram to view this post
VIEW IN TELEGRAM