Рубрика «swift»

Случайно услышал на просторах интернета, что у Сбера, оказывается, есть открытая модель, которая по бенчмаркам русского языка бьёт Whisper, проверил, и понял, что она не просто не хуже, она работает мгновенно да еще и на обычном процессоре, без GPU, а текст появляется быстрее, чем успеваешь отпустить кнопку

Дальше понеслось, собрал диктовку для себя, раздал друзьям, всем понравилось, начали пользоваться, и разумеется, повалились хотелки, а давай сделаем это, а пусть оно ещё вот так, из этого за пару недель вырос целый продукт.

Что получилось и как работает:

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

Полгода назад я начал писать сжатую файловую систему для macOS. Идея была довольно простой. В macOS уже существует decmpfs — встроенный механизм прозрачного сжатия файлов. Приложение продолжает видеть обычный файл, хотя физически его содержимое может храниться в сжатом виде. Но у этого подхода есть неприятное для моей задачи свойство: после изменения файла сжатие может исчезнуть.

Например, можно сжать node_modules, получить приличную экономию места, потом запустить сборку — часть файлов перезапишется, распакуется, и каталог постепенно снова начнёт занимать почти исходный объём. Мне хотелось другого поведения: Читать полностью »

Зачем понадобилась нативная оболочка

Я пользуюсь TorrServer на Mac и в какой-то момент поймал себя на том, что для обычного просмотра постоянно переключаюсь между Терминалом, Web UI и плеером. Сам сервер меня устраивал — не хватало именно нормальной оболочки вокруг него.

Так появился TorrServe Silicon — open-source приложение на SwiftUI для Mac с Apple Silicon. Сначала я хотел сделать буквально две кнопки: запустить и остановить сервер. Но проект довольно быстро вырос в медиатеку, поиск через Jackett, работу с метаданными, запуск внешних плееров и управление из строки меню.

Это не WebView и не новая реализация TorrServer.Читать полностью »

Экранный OCR-переводчик для macOS: читаем статьи и смотрим видео без переключения окон

При чтении технической литературы, англоязычных статей или просмотре видео с субтитрами я постоянно спотыкался об одну и ту же проблему.

Встречаешь незнакомый термин или редкое слово и начинается возня: выделить мышкой, скопировать в буфер, переключиться в браузер, вставить в переводчик, прочитать значение, вернуться обратно к чтению.

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

В зрелом iOS-проекте автоматизированные тесты — давно не экзотика. Unit-тесты проверяют отдельные компоненты, интеграционные тесты контролируют взаимодействие между слоями, а XCUITest проходит критичные пользовательские маршруты. Проблема начинается не с отсутствия автоматизации, а с её масштабирования.

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

Когда пытаешься починить сложный механизм простым напильником, в какой-то момент неизбежно приходится шаманить свой собственный швейцарский нож.

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

Всем привет! Хочу поделиться своим первым опытом в разработке мобильной игры для iOS — в жанре roguelite. Это pet‑проект, который неожиданно для меня самого дорос до релиза в App Store, так что расскажу и про идею, и про технические идеи. Надеюсь, будет интересно почитать:)

С чего всё началось

Я проходил курс по разработке под iOS и решил, что лучший способ реально закрепить материал — сделать несколько реальных проектов. Одним из таких проектов стал LootShrine — ссылка на игру в App Store.

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

Почему ИИ-индустрия платит «налог на Python» — и как быстрые компилируемые языки, в частности, Swift, открывают ей новые горизонты

Андрей Сапунов

Дисклеймер: это мнение автора. Автор — заинтересованная сторона: он ведёт открытый проект языковых моделей на Swift/MLX (swift-language-models) и написал книгу, весь код которой — на Swift. Читайте с поправкой на этот конфликт интересов. В качестве противовеса каждое число в статье снабжено ссылкой на первоисточник, а сильнейшим контраргументам отведён отдельный раздел 8.

Аннотация.Читать полностью »

Привет! Сегодня хочу поделиться, как мне кажется, очень полезной информацией о такой важной теме, как 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. Пользуюсь четвёртый месяц. Люто, бешено доставляет. Зависимостей никаких. Рекомендую.

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


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