Люблю интересные задачки. Недавно только думал как реализуют алгоритмы для рисования картин по-номерам из любой фотографии. Суть задачи простая, разбиваем изображение на полигоны, находим средний цвет в каждом полигоне и выбираем наиболее близкий из доступной палитры. Звучит просто? Но каждый из этапов со звездочкой: полигон какой формы, как выделить контуры? Какой размер полигона? Нужно ли мержить полигоны? Какое минимальное число цветов нужно для generic решения? Можно посмотреть решение на TypeScript но статья не про это.
Статья про решение похожей задачи: перевод в PixelArt. Основная проблема рендеринга пиксельной графики — сохранение четких границ пикселей при масштабировании. Можно использовать
.interpolation(.none)
модификатор, чтобы избежать размытия. Холст позволяет рисовать дополнительные элементы, такие как разделители. Так же используются модификаторы aspectRatio
, antialiased
для корректного рендеринга.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Простая статья с примерами использования
UIBezierPath
и trimmedPath
для создания закругленных углов.Много примеров кода и разных подходов к реализации внутри статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Рубрика рассуждения. Мы с вами переживаем не только LLM революцию но и ренессанс редакторов кода.
Открытие месяца - Zed, он заменил мне все кейсы использования Sublime Text и Merge.
AI ассистенты меняют подход к работе с исходниками, привычные принципы, на которых строились современные IDE на рассвете высокоуровневых языков программирования, постепенно уступают место вайб-кодингу. Разработчики все больше полагаются на искусственный интеллект для выполнения повседневных задач и IDE в современном их виде не достаточно гибкие чтобы успевать адаптироваться. Очень интересно как будет выглядеть setup разработчика через 3-5 лет. Как думаете, останутся ли редакторы и IDE в современном представлении или мы перейдем к чему-то совсем другому? Я уже стал чаще использовать для автоматизаций не привычный Swift а Python, т.к. с ним лучше справляется AI, а значит и мы с AI можем сделать задачу быстрее.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
Проксирование трафика это обязательная часть разработки мобильного приложения. У каждого есть свой любимый мультитул для проксирования, сам я использовал Charles, а последнее время полностью перешел на Proxyman. В статье как раз на примерах показывается как его настроить и использовать.Proxyman — инструмент для перехвата и имитации сетевых запросов. Его можно использовать для мокирования различных сценариев, тестирования API, подмены ответов и многого другого. В статье рассматривается как раз настройка и использование этого инструмента:
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9
Улучшите архитектуру Вашего Кода с помощью принципов SOLID (с примерами Swift)
Начинаем неделю с моей любимой рубрики, статья от подписчика Maxim Egorov. Тема статьи никогда не устареет, понимание применения SOLID принципов поможет вам улучшить ваш код. SOLID помогает писать чистый, масштабируемый и поддерживаемый код. Следование принципам уменьшает зависимости, повышает гибкость и упрощает расширение и тестирование.
⌨️ Принцип единой ответственности. Каждый объект должен выполнять только одну задачу и иметь только одну причину для изменения
⌨️ Принцип открытия/закрытия. Код должен быть открыт для расширения, но закрыт для модификации
⌨️ Принцип замещения - Лисков. Подклассы должны заменять родительский класс без изменения логики программы
⌨️ Принцип разделения интерфейсов. Классы не должны принуждаться к реализации методов, которые им не нужны
⌨️ Принцип инверсии зависимостей. Модули высокого уровня не должны зависеть от модулей низкого уровня
Выводы
🔵 Применение принципов SOLID делает код стабильным, адаптируемым и устойчивым к сложности
🔵 SOLID помогает предотвратить хаос в проектах
🔵 Улучшает организацию, поддержку, тестирование и расширение кода
🔵 SOLID помогает создавать масштабируемые и гибкие архитектуры
#solid
Начинаем неделю с моей любимой рубрики, статья от подписчика Maxim Egorov. Тема статьи никогда не устареет, понимание применения SOLID принципов поможет вам улучшить ваш код. SOLID помогает писать чистый, масштабируемый и поддерживаемый код. Следование принципам уменьшает зависимости, повышает гибкость и упрощает расширение и тестирование.
Выводы
#solid
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥1