Рубрика «swift»

Привет! Сегодня хочу поделиться, как мне кажется, очень полезной информацией о такой важной теме, как Opaque types vs Existensial Types vs Generics — что это такое, в чём разница и что выбрать. Я действительно считаю эту тему важной, поскольку это мощнейшие инструменты, которые нам даёт swift, чтобы сделать код более гибким, поддерживаемым, универсальным и без лишнего дублирования. Погнали. 

Opaque types

Заглянем в официальную документацию:

Hide implementation details about a value’s type.

Скрыть детали реализации типа значения.

A function or method that returns an opaque type hides its return value’s type information. Instead of providing a concrete typeЧитать полностью »

Меняем Punto Switcher на macOS: открытый код, ноль телеметрии и ноль зависимостей — в обоих смыслах - 1

— Поставил RuSwitcher. Пользуюсь четвёртый месяц. Люто, бешено доставляет. Зависимостей никаких. Рекомендую.

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

Три ночи я был уверен, что у меня сломан рендер.

Вертикальные картинки — те самые 9:16, под обои телефона и под сторис, — на экране разъезжались горизонтальными полосами. Как будто старый телевизор поймал помехи. Квадрат рисуется нормально. Горизонталь — нормально. А вертикалку рвёт в труху.

Три раза я её «починил». И все три раза чинил вообще не то.

Правда оказалась дурацкой и красивой одновременно: файлы были в полном порядке. Рвало только то, как macOS показывала их на экране. Но к этому моменту я уже немного поседел.

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

В мобильной разработке мы привыкли, что красивый анимированный фон — это либо видео, либо пара слоёв с CAGradientLayer и медленным параллаксом. Для большинства задач этого хватает. Но иногда хочется большего: настоящий живой космос — туманности, которые медленно перетекают друг в друга, планеты с кольцами, звёзды разных классов и в центре — чёрная дыра с аккреционным диском, как в «Интерстелларе».

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

Эта статья — не ревью чужого кода и не пересказ абстрактных паттернов. Это практическое описание того, как я подхожу к проектированию сетевого слоя, какие решения считаю удачными, какие — опасными, и почему.
Основа текста — реальный подход к построению сети в production iOS‑приложении: с явной EndpointPolicy, RequestContext, interceptor‑pipeline, безопасным логированием, отдельной обработкой refresh flow, snapshot‑first чтением и выделенным transport для долгих upload‑сценариев.

Мой главный тезис простой: сетевой слой — это не «место, где отправляются запросы», а инфраструктура приложения. URLRequest и Читать полностью »

Короткая суть. Некоторые команды до сих пор хранят «правду» об API в трёх несовместимых местах: в голове бэкендера, в страничке Confluence, которая устарела ещё прошлой весной, и в реальном JSON, который прилетает с прода. Эти три источника постоянно расходятся, и расплачиваются за это все — особенно клиентские разработчики. OpenAPI — это способ свести правду к одному файлу-контракту, понятному и человеку, и машине. В статье я разбираю, зачем это нужно, почему кодогенерация — далеко не главная причина, но при этом проговариваю, во что внедрение обойдётся бэкенду, и где у подхода реальные слабые места.

СитуацияЧитать полностью »

Рабочее пространство AdaEditor

После долгого пути я рад представить AdaEngine 0.1.0: бесплатный игровой движок и фреймворк для приложений с открытым исходным кодом, написанный на Swift.

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

Привет, я Павел Семенищев, сетевой инженер в Yandex Infrastructure. В команде Network Operations Center (NOC) мы отвечаем не только за магистральные и дата‑центровые сети, но и за офисные, а также сети складов и дарксторов Яндекс Лавки. А это ОЧЕНЬ много удалённых точек присутствия, и при проблемах с Wi‑Fi на каждую сетевика не отправишь.

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

Я перестал верить стримингам. Не философски, а практически. Половина любимых альбомов либо ушла из каталогов, либо вернулась пересведенной так, что слушать тошно. Концертные записи, винил‑рипы, региональные релизы — их там и не было. А моя коллекция в FLAC просто лежит на диске и никуда не девается.

Для своей коллекции я написал плеер. Для себя. Через полгода это превратилось в нишевое приложение для iOS на 11 языках: с собственным DSP, распознаванием музыки и CarPlay.

Что в итоге внутри и где было не очевидно. Места, в которых документация молчит, а ты сидишь и гадаешь, почему оно вообще так себя ведет.

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

Делаю pet-проект — приложение, чтобы свайпать тендеры в телефоне и видеть AI-скоринг заказчика. Идея простая: свайпнул, посмотрел «ваш шанс — высокий/средний/низкий», дальше принимаешь решение, лезть в этот тендер или нет.

Чтобы скоринг был не из воздуха, нужно собрать всю историю заказчика — какие контракты у него были, как он платил, какой типичный дисконт от стартовой цены. Источник один — ЕИС zakupki.gov.ru. И вот тут я наступил на грабли которыми и хочу поделиться.

Если кто тоже думает парсить госзакупки — пост сэкономит вам пару недель.

Что у Минфина есть из официального

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


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