Мы построили мир, который больше не понимаем или почему NASA не может скопировать свой же двигатель
Нашел отличную статью, в которой можно ещё раз посмотреть, как появляется иллюзия контроля и к чему это может привести.
Для себя я вынес интересный термин
А ещё там можно узнать про кайфовую историю, как инженеры формулы-1 снизили уровень хаоса в операционной одного из госпиталей.
Как бы там ни было и к чему нас не привели текущие изменения, важно сосредоточиться на основных постулатах:
🔘 Не забывайте чекать исходный код того, что используете.
🔘 Когда вам продают чудо-технологию, спрашивайте «Как это работает?».
🔘 Поддерживайте Open Source. Делитесь опытом (и своих провалов, и успехов).
🔘 Делать велосипеды - совсем не так плохо, как кажется (и в статье про это как раз есть отдельный раздел).
📖 Почитать её целиком можно на хабре.
😃 iOS Dev
Нашел отличную статью, в которой можно ещё раз посмотреть, как появляется иллюзия контроля и к чему это может привести.
Для себя я вынес интересный термин
tacit knowledge - эдакое знание, которое никак не получится передать через инструкцию.А ещё там можно узнать про кайфовую историю, как инженеры формулы-1 снизили уровень хаоса в операционной одного из госпиталей.
Как бы там ни было и к чему нас не привели текущие изменения, важно сосредоточиться на основных постулатах:
📖 Почитать её целиком можно на хабре.
Please open Telegram to view this post
VIEW IN TELEGRAM
15🔥23 9👍5👏3🤯3⚡1🏆1
Использование EventKit для реализации списка напоминаний
Чтобы создать в своем приложении настраиваемые списки напоминаний, можно подрубить фреймворк EventKit и организовать их, например, по контексту, проекту или приоритету.
📖 В этой статье можно посмотреть на пример реализации, создание интерфейса, а также на способ взаимодействия с системными Напоминаниями.
😃 iOS Dev
Чтобы создать в своем приложении настраиваемые списки напоминаний, можно подрубить фреймворк EventKit и организовать их, например, по контексту, проекту или приоритету.
📖 В этой статье можно посмотреть на пример реализации, создание интерфейса, а также на способ взаимодействия с системными Напоминаниями.
Please open Telegram to view this post
VIEW IN TELEGRAM
6 15🔥9👍6👏2🆒1
Как создать инструмент для автоматизации с помощью Swift и ArgumentParser
Несложное руководство, в котором есть пример создания CLI-тулзы с анализом аргументов, асинхронными запросами и примером парсинга JSON.
📖 Статья с примерами доступна тут
😃 iOS Dev
Несложное руководство, в котором есть пример создания CLI-тулзы с анализом аргументов, асинхронными запросами и примером парсинга JSON.
📖 Статья с примерами доступна тут
Please open Telegram to view this post
VIEW IN TELEGRAM
8 12🔥5👏3❤🔥2✍2💯2👍1🆒1
Работа с картами в SwiftUI
Apple ежегодно обновляет API MapKit, добавляя новые функции и позволяя разработчикам работать с картами, адаптируя их под свои приложения.
📖 Например, в этом материале рассмотрено сразу два примера, но в рамках MapKit есть много других интересных модификаторов.
К слову, на WWDC 2025 в видео «Go further with MapKit» было продемонстрировано, как именно прокачали поиск и отображение мест с помощью MapKit, новые API-интерфейсы геокодирования и новый фреймворк GeoToolbox.
🔗 А тут у нас был интересный пост про комбинацию карт и Swift Charts.
😃 iOS Dev
Apple ежегодно обновляет API MapKit, добавляя новые функции и позволяя разработчикам работать с картами, адаптируя их под свои приложения.
📖 Например, в этом материале рассмотрено сразу два примера, но в рамках MapKit есть много других интересных модификаторов.
К слову, на WWDC 2025 в видео «Go further with MapKit» было продемонстрировано, как именно прокачали поиск и отображение мест с помощью MapKit, новые API-интерфейсы геокодирования и новый фреймворк GeoToolbox.
Please open Telegram to view this post
VIEW IN TELEGRAM
9🔥11 7👍4👏4💯1
Путь наименьшего сопротивления
Нам всегда хочется выбирать более простой вариант из пула доступных. Не самый правильный или подкреплённый какими-то аргументами, не самый производительный, если так угодно. Нет, самый простой.
Так уж мы устроены.
Решение, на которое нужно потратить силы - чаще всего контринтуитивно. Смириться с тем, что небходимо потратить время на исследование документации или какого-то решения самостоятельно, порой кажется непозволительной роскошью.
Поэтому сейчас в сторе волна однотипных приложений (и миллион ещё на подходе), а процесс откликов на вакансии превращается в битву алгоритмов.
Зачем тратить силы и напрягать мышление, если есть подписка за 20 баксов? Зачем решать сложные задачи, если можно скормить нейронке и получить приемлемый, пусть и посредственный результат?
Знаете, я встречал даже точки зрения, в которых легко можно провести параллель с тем, как аркебузы вытеснили лучников в своё время.
Этот мир мне абсолютно понятен, как говорится. При этом на самом деле ничего кардинально не изменилось.
Умение строить системы все также будет основополагающим, решающим фактором при выборе кандидатов на высокие позиции. Контекст всё также будет важен. Написание кода всё также не самое решающее, что мы закладываем в свою профессию. Более того, это и фактически занимает далеко не всё время. И, как я писал ранее, это всего лишь верхушка айсберга, гораздо важнее процессы внутри.
Не хочется, чтобы в один момент профессия превратилась в:
😃 iOS Dev
Нам всегда хочется выбирать более простой вариант из пула доступных. Не самый правильный или подкреплённый какими-то аргументами, не самый производительный, если так угодно. Нет, самый простой.
Так уж мы устроены.
Решение, на которое нужно потратить силы - чаще всего контринтуитивно. Смириться с тем, что небходимо потратить время на исследование документации или какого-то решения самостоятельно, порой кажется непозволительной роскошью.
Поэтому сейчас в сторе волна однотипных приложений (и миллион ещё на подходе), а процесс откликов на вакансии превращается в битву алгоритмов.
Зачем тратить силы и напрягать мышление, если есть подписка за 20 баксов? Зачем решать сложные задачи, если можно скормить нейронке и получить приемлемый, пусть и посредственный результат?
Знаете, я встречал даже точки зрения, в которых легко можно провести параллель с тем, как аркебузы вытеснили лучников в своё время.
Чтобы стать профессионалом, лучнику приходилось обучаться с самого детства. Тренируя меткость в течение 10 лет, овладевая техниками и навыками шаг за шагом, которые выделяли его на фоне остальных. Но вот пришла эпоха аркебуз, и крестьянина можно было за пару недель обучить владению аркебузой. Дело оказывалось вовсе не в навыках или в том, что аркебуза намного дороже, а в процессе самого обучения.
Этот мир мне абсолютно понятен, как говорится. При этом на самом деле ничего кардинально не изменилось.
Умение строить системы все также будет основополагающим, решающим фактором при выборе кандидатов на высокие позиции. Контекст всё также будет важен. Написание кода всё также не самое решающее, что мы закладываем в свою профессию. Более того, это и фактически занимает далеко не всё время. И, как я писал ранее, это всего лишь верхушка айсберга, гораздо важнее процессы внутри.
Не хочется, чтобы в один момент профессия превратилась в:
Да, вы абсолютно правы, вы случайно спалили токены доступа во внутренний контур. Хотите, покажу ещё 10 вариантов, как не допустить такого в будущем.
Please open Telegram to view this post
VIEW IN TELEGRAM
21❤🔥18 9🔥7💯5👍1👏1🏆1
This media is not supported in your browser
VIEW IN TELEGRAM
Джуны сразу после курсов с ИИ-резюме пробиваются через автофильтры HR
🤣56😁15🔥8 3👏2👍1
Передача кастомных параметров и создание анимации с помощью Metal-шейдеров
Для того, чтобы начать делать что-то с помощью шейдеров, достаточно чекнуть официальную доку (да хотя бы layerEffect, где буквально из коробки у нас уже есть позиция пикселя, да ещё и layer в придачу).
А вот настоящий контроль начинается, когда мы переходим к передаче наших собственных параметров - тут уж есть где развернуться.
📖 В этой статье рассматривается несколько полезных способов прокинуть свои параметры, как создавать шаблоны вроде шахматной доски, а ещё как можно управлять шейдерами, используя время и немного математики для придания плавности.
🔗 Про более фундаментальные принципы можно посмотреть тут.
🔗 Или в этом посте о GM Shaders
Напомню, что в iOS IQ можно посмотреть на большую подборку необычных анимаций (и узнать несколько советов).
😃 iOS Dev
Для того, чтобы начать делать что-то с помощью шейдеров, достаточно чекнуть официальную доку (да хотя бы layerEffect, где буквально из коробки у нас уже есть позиция пикселя, да ещё и layer в придачу).
А вот настоящий контроль начинается, когда мы переходим к передаче наших собственных параметров - тут уж есть где развернуться.
📖 В этой статье рассматривается несколько полезных способов прокинуть свои параметры, как создавать шаблоны вроде шахматной доски, а ещё как можно управлять шейдерами, используя время и немного математики для придания плавности.
Напомню, что в iOS IQ можно посмотреть на большую подборку необычных анимаций (и узнать несколько советов).
🔗 Warp-эффект на metal-шейдере🔗 Beauty infinite loop🔗 Огненный шейдер
И многое, многое другое. А код всех реализаций есть💰 тут и⭐️ тут.
Please open Telegram to view this post
VIEW IN TELEGRAM
12 14🔥8✍5👍3
Как перейти на использование
Интересная статья (с мемами) о том, что вообще такое
Но без подводных камней также не обошлось, например, если у вас минимальная ось ниже 17 и не только.
📖 Почитать можно здесь.
📺 А посмотреть на пример использования в UIKit можно в сессии Apple.
😃 iOS Dev
@Observable, не сломав приложениеИнтересная статья (с мемами) о том, что вообще такое
@Observable, о том, какие проблемы можно решить и как вообще осуществить миграцию.Но без подводных камней также не обошлось, например, если у вас минимальная ось ниже 17 и не только.
📖 Почитать можно здесь.
📺 А посмотреть на пример использования в UIKit можно в сессии Apple.
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥17 7👍5👏3⚡2🏆1
Core AI вместо Core ML?
В заметке Марка Гурмана упоминается, что Apple понимает, что «машинное обучение» — это устаревший термин, который больше не резонирует с разработчиками и пользователями. И вероятно, нас ждёт новый фреймворк (или существенно изменённый старый).
При этом общая цель Core AI должна остаться прежней: помочь интегрировать внешние модели искусственного интеллекта в свои приложения.
Для разработчиков это, вероятно, будет означать появление новых способов интеграции ИИ без необходимости использования большого количества сторонних либ и создания инструментов с нуля.
Что думаете, будет ли расширение фич Core-фреймворка в новой оси? Наконец-то будут инновации?
🎉 - если ждёте изменений,🐾 - если всё останется как есть
😃 iOS Dev
В заметке Марка Гурмана упоминается, что Apple понимает, что «машинное обучение» — это устаревший термин, который больше не резонирует с разработчиками и пользователями. И вероятно, нас ждёт новый фреймворк (или существенно изменённый старый).
При этом общая цель Core AI должна остаться прежней: помочь интегрировать внешние модели искусственного интеллекта в свои приложения.
Для разработчиков это, вероятно, будет означать появление новых способов интеграции ИИ без необходимости использования большого количества сторонних либ и создания инструментов с нуля.
Что думаете, будет ли расширение фич Core-фреймворка в новой оси? Наконец-то будут инновации?
🎉 - если ждёте изменений,
Please open Telegram to view this post
VIEW IN TELEGRAM
18🎉36 12👍8🔥4 3❤🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
10x агент-инженер показывает, как у него собирается iOS-приложение без его участия с OpenClaw
😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
1🤣93😁13🔥8👏2 2👍1
DebugSwift - опенсорсный тулкит для отладки и оптимизаций iOS-приложений
Авторы репозитория пишут, что в нём есть сразу несколько полезных фич.
Среди них, например: мониторинг сети, производительности (включая обнаружение утечек памяти и несколько метрик в реалтайме, вроде CPU и FPS), а также средства для тестирования интерфейса вместе с сеткой, иерархией вью и так далее.
🛠 DebugSwift на GitHub - 1700 ⭐️.
😃 iOS Dev
Авторы репозитория пишут, что в нём есть сразу несколько полезных фич.
Среди них, например: мониторинг сети, производительности (включая обнаружение утечек памяти и несколько метрик в реалтайме, вроде CPU и FPS), а также средства для тестирования интерфейса вместе с сеткой, иерархией вью и так далее.
🛠 DebugSwift на GitHub - 1700 ⭐️.
Please open Telegram to view this post
VIEW IN TELEGRAM
8 19🔥6👏4👍3🆒2⚡1 1
Виды кэширования в iOS: разбор видов, возможных подходов, стратегий обновления и интересных задач
Я постарался собрать самые популярные подходы к реализации и рассмотрел их плюсы и минусы по важным параметрам: производительности, надёжности и стоимости + сложности реализации (тут и про трафик, и про стратегию обновления в целом).
От того, что именно мы планируем кэшить, будет и зависеть выбранный: ответ сети, изображения, модели, резы вычислений, где хранить (память, диск, БД) и как управлять инвалидацией.
Про концепты работы с кэшированием можно посмотреть и на GitHub: тут и вот здесь (уверен, что многие сталкивались и использовали это решение).
А ещё разобрал несколько популярных паттернов для реализации этой задачи.
Про TTL, версионирование и как лучше всего поступить при логауте - тоже есть.
Кстати, разобрался немного с mermaid-диаграммами, так что теперь будет больше красивых схем).
Знаю, что многие спрашивают это и в рамках секции по систем-дизайну, так что красивое и доступное структурирование никогда не помешает.
Весь код, все примеры и многое другое:💰 На бусти и ⭐️ в телеграме.
Внимание, цена изменилась, изменения будут и дальше - недавно преодолел важную отсечку по количеству материалов - поэтому если вы хотите расширить свой арсенал инструментов, рекомендую воспользоваться опцией в ближайшее время.
❤️ Спасибо всем, кто поддерживает iOS IQ - благодаря вам я нахожу силы на составление не только задач, но и кайфовых примеров, разборов и многого другого (и для вас все останется по-прежнему).
😃 iOS Dev
Я постарался собрать самые популярные подходы к реализации и рассмотрел их плюсы и минусы по важным параметрам: производительности, надёжности и стоимости + сложности реализации (тут и про трафик, и про стратегию обновления в целом).
От того, что именно мы планируем кэшить, будет и зависеть выбранный: ответ сети, изображения, модели, резы вычислений, где хранить (память, диск, БД) и как управлять инвалидацией.
Про концепты работы с кэшированием можно посмотреть и на GitHub: тут и вот здесь (уверен, что многие сталкивались и использовали это решение).
А ещё разобрал несколько популярных паттернов для реализации этой задачи.
Про TTL, версионирование и как лучше всего поступить при логауте - тоже есть.
Кстати, разобрался немного с mermaid-диаграммами, так что теперь будет больше красивых схем).
Знаю, что многие спрашивают это и в рамках секции по систем-дизайну, так что красивое и доступное структурирование никогда не помешает.
Весь код, все примеры и многое другое:
🧠 Что вы получите ещё, подписавшись:➡️ Карта изучения Swift Concurrency (примеры, разбор каждого уровня, полезные советы)➡️ Вопросы на чтение кода (несколько уровней: простых, посложнее)➡️ Многопоточность➡️ DispatchQueue: практические вопросы➡️ Swift Concurrency➡️ Алгоритмы: терминология и примеры + путь Яндекс Coderun (разбор нескольких десятков задач)➡️ Память: ARC, side table, флаги, утечки➡️ Результаты зарплатного опроса в нашем канале + сравнение с европейскими реальными зарплатами в iOS➡️ Разбор подходов к анимациям и лучшие паттерны (классические способы, Metal, комбинации - все подкреплено кодом)➡️ Утечки памяти в Swift: что с ними делать, как предотвратить?➡️ Навигация в SwiftUI: типы, отличия, разбор неочевидных моментов
Внимание, цена изменилась, изменения будут и дальше - недавно преодолел важную отсечку по количеству материалов - поэтому если вы хотите расширить свой арсенал инструментов, рекомендую воспользоваться опцией в ближайшее время.
❤️ Спасибо всем, кто поддерживает iOS IQ - благодаря вам я нахожу силы на составление не только задач, но и кайфовых примеров, разборов и многого другого (и для вас все останется по-прежнему).
Please open Telegram to view this post
VIEW IN TELEGRAM
8 11🔥6👍4❤🔥3🫡2👏1💯1
Apple Music будет отмечать контент, созданный ИИ
📖 Теперь появятся специальные теги, которые дистрибьюторы смогут использовать для обозначения элементов песни, созданных с помощью ИИ.
Среди них: обложка песни, сам трек, текст или видео, которое идёт вместе с музыкой (в Spotify был анонс схожих изменений ещё в сентябре)
💪 Такими темпами и моя шутка про специальную пометку приложений, сделанных нейросетью станет реальностью.
😃 iOS Dev
📖 Теперь появятся специальные теги, которые дистрибьюторы смогут использовать для обозначения элементов песни, созданных с помощью ИИ.
Среди них: обложка песни, сам трек, текст или видео, которое идёт вместе с музыкой (в Spotify был анонс схожих изменений ещё в сентябре)
Please open Telegram to view this post
VIEW IN TELEGRAM
7👏26🔥9 5❤🔥2👍1🎉1🏆1
На ваш взгляд, какая ситуация сейчас для iOS в России?
Anonymous Poll
10%
Рынок кандидата
90%
Рынок работодателя
1🤯20🔥5⚡4✍1❤🔥1👍1 1
Потокобезопасность в Swift - предотвращение гонок данных с помощью блокировок, очередей и акторов
Swift предоставляет мощные инструменты для реализации параллелизма. Но для создания надежных приложений важно понимать, что такое безопасность потоков (и как вообще обеспечить правильное поведение кода при одновременном доступе).
📖 В этой статье рассматривается несколько полезных разделов:
• Что из себя представляет потокобезопасность
• В чём её важность для приложения
• Как возникают конфликты данных
• Методы обеспечения безопасности потоков в Swift
• Как современная модель параллелизма Swift повышает безопасность
😃 iOS Dev
Swift предоставляет мощные инструменты для реализации параллелизма. Но для создания надежных приложений важно понимать, что такое безопасность потоков (и как вообще обеспечить правильное поведение кода при одновременном доступе).
📖 В этой статье рассматривается несколько полезных разделов:
• Что из себя представляет потокобезопасность
• В чём её важность для приложения
• Как возникают конфликты данных
• Методы обеспечения безопасности потоков в Swift
• Как современная модель параллелизма Swift повышает безопасность
Please open Telegram to view this post
VIEW IN TELEGRAM
9🔥17 9❤🔥4✍3👏1
Что упало — не пропало? EXC_BAD_ACCESS vs. LLDB
Делюсь занятной статьёй с хабра про один из возможных сценариев разбора неочевидного краша.
Есть советы, как читать backtrace, много инфы про регистры и про то, как отследить цепочку до причины падения приложения.
📖 Сама статья доступна здесь
А о продвинутых трюках lldb для Swift можно почитать в этом посте.
😃 iOS Dev
Делюсь занятной статьёй с хабра про один из возможных сценариев разбора неочевидного краша.
Есть советы, как читать backtrace, много инфы про регистры и про то, как отследить цепочку до причины падения приложения.
📖 Сама статья доступна здесь
А о продвинутых трюках lldb для Swift можно почитать в этом посте.
Please open Telegram to view this post
VIEW IN TELEGRAM
10👏20🔥11✍5❤🔥4 3🍾2
Модуляризация Swift-приложений с помощью SPM
В этой статье автор делится своим подходом по работе с зависимостями на проекте. И делит их на три типа: common (для логгеров и небольших тулкит-расширений), services (для работы с моделями API и эндпоинтами в целом), а также features.
Можно посмотреть на пример настройки таких пакетов (и полный граф зависимостей).
📖 А почитать можно тут.
😃 iOS Dev
В этой статье автор делится своим подходом по работе с зависимостями на проекте. И делит их на три типа: common (для логгеров и небольших тулкит-расширений), services (для работы с моделями API и эндпоинтами в целом), а также features.
Можно посмотреть на пример настройки таких пакетов (и полный граф зависимостей).
📖 А почитать можно тут.
Please open Telegram to view this post
VIEW IN TELEGRAM
19🔥13 8👍4👏2
This media is not supported in your browser
VIEW IN TELEGRAM
Анимация принтера в 30 строчек кода
Глупо отрицать, что многие непростые вещи сейчас можно сделать буквально за считанные минуты.
Например, на гифке один из эффектов в моём пет-проекте. Под капотом UIBezierPath, а значит, эффект можно полностью кастомизировать как угодно.
🏠 Как это выглядит в продакшне - можно посмотреть здесь.
А расширенный код фичи целиком:💰 вот тут и ⭐️ здесь.
😃 iOS Dev
Глупо отрицать, что многие непростые вещи сейчас можно сделать буквально за считанные минуты.
Например, на гифке один из эффектов в моём пет-проекте. Под капотом UIBezierPath, а значит, эффект можно полностью кастомизировать как угодно.
А расширенный код фичи целиком:
Please open Telegram to view this post
VIEW IN TELEGRAM
7 20❤🔥10🔥9👍5👌4👏3
За последний месяц время проверки приложений в App Store для вас
Anonymous Poll
29%
Увеличилось
6%
Уменьшилось
17%
Не изменилось
47%
Интересны ответы
3👌5✍2🍾2 2❤🔥1👍1🔥1💯1
Ещё один день
и теперь уже из каждого утюга новости о блокировке телеги. Той самой уютной, в которой сидит фактическое, пусть и с ботами вместе, но всё-таки большинство современной аудитории этих наших интернетов.
Современной - а значит: молодёжной, самой светлой, умной и продвинутой части 21 века. Тех самых умов, которые двигают науку, технологии, экономику и все остальные не менее важные сферы далее, вперёд.
Я зарегистрировался в телеграме не просто на ранних стадиях, а буквально в первых 10 000 человек (любой это может проверить через стандартный бот-чек времени реги акка). И с тех пор многое изменилось.
В телеге стало больше проблем, появился упор на развитие и финансовую составляющую от разработчиков (хоть и было заявление про отсутствие рекламы или платных услуг когда-то).
Но несмотря на это, этот продукт - фактический флагман современной iOS-разработки, все лучшее и самое производительное собрано здесь. Другие - копируют.
Я могу быть не согласен с основателем телеграма по многим вопросам. И у каждого из вас наверняка есть свои претензии к качеству.
Но вот что важно: площадки должны быть доступными, разнообразие выбора порождает конкуренцию, которая в свою очередь ведёт к технологическому прорыву.
Лимитировать доступ к буквально важнейшему средству общения сейчас - абсурдно.
Любой, кто проходил аудит приложения, понимает значение, что безопасность техническая это совершенно не то же самое, что и безопасность, связанная с социальной инженерией.
Пока это будет в моих силах - я продолжу писать здесь.
Спасибо за внимание.
😃 iOS Dev
и теперь уже из каждого утюга новости о блокировке телеги. Той самой уютной, в которой сидит фактическое, пусть и с ботами вместе, но всё-таки большинство современной аудитории этих наших интернетов.
Современной - а значит: молодёжной, самой светлой, умной и продвинутой части 21 века. Тех самых умов, которые двигают науку, технологии, экономику и все остальные не менее важные сферы далее, вперёд.
Я зарегистрировался в телеграме не просто на ранних стадиях, а буквально в первых 10 000 человек (любой это может проверить через стандартный бот-чек времени реги акка). И с тех пор многое изменилось.
В телеге стало больше проблем, появился упор на развитие и финансовую составляющую от разработчиков (хоть и было заявление про отсутствие рекламы или платных услуг когда-то).
Но несмотря на это, этот продукт - фактический флагман современной iOS-разработки, все лучшее и самое производительное собрано здесь. Другие - копируют.
Я могу быть не согласен с основателем телеграма по многим вопросам. И у каждого из вас наверняка есть свои претензии к качеству.
Но вот что важно: площадки должны быть доступными, разнообразие выбора порождает конкуренцию, которая в свою очередь ведёт к технологическому прорыву.
Лимитировать доступ к буквально важнейшему средству общения сейчас - абсурдно.
Любой, кто проходил аудит приложения, понимает значение, что безопасность техническая это совершенно не то же самое, что и безопасность, связанная с социальной инженерией.
Пока это будет в моих силах - я продолжу писать здесь.
Спасибо за внимание.
Please open Telegram to view this post
VIEW IN TELEGRAM
35❤🔥115👏32💯15🔥11🤗5 4👍2🍾1
This media is not supported in your browser
VIEW IN TELEGRAM
Фильтр Кувахара в iOS: делаем из фотки картину с помощью алгоритма
Знаете ли вы, как в приложениях получаются те самые эффекты «картины маслом» или акварели?
Чаще всего за этой магией стоит фильтр Кувахары - нелинейный сглаживающий алгоритм, который умеет убирать шум, но при этом сохраняет резкие границы объектов.
Вы практически наверняка видели этот фильтр в куче редакторов.
Но скорее всего ещё вы делали снимки МРТ или УЗИ, и именно с помощью этого фильтра они чистятся от всяких зёрен и лишнего шума. И хотя всегда есть крайние кейсы, этот фильтр получил широкое распространение.
На один из вариантов реализации можно посмотреть здесь.
А исходный код на SwiftUI+Metal уже доступен:💰 вот тут и ⭐️ здесь.
😃 iOS Dev
Знаете ли вы, как в приложениях получаются те самые эффекты «картины маслом» или акварели?
Чаще всего за этой магией стоит фильтр Кувахары - нелинейный сглаживающий алгоритм, который умеет убирать шум, но при этом сохраняет резкие границы объектов.
Вы практически наверняка видели этот фильтр в куче редакторов.
Но скорее всего ещё вы делали снимки МРТ или УЗИ, и именно с помощью этого фильтра они чистятся от всяких зёрен и лишнего шума. И хотя всегда есть крайние кейсы, этот фильтр получил широкое распространение.
На один из вариантов реализации можно посмотреть здесь.
А исходный код на SwiftUI+Metal уже доступен:
Please open Telegram to view this post
VIEW IN TELEGRAM
16 18✍6❤🔥5🔥4💯2⚡1