Обзор CI в Airbnb
Команда Airbnb рассказывает, как они используют AWS, Terraform и Packer, чтобы управлять фермой из 300 Mac устройств и легко обновлять их окружение.
Перевод на русский язык
Команда Airbnb рассказывает, как они используют AWS, Terraform и Packer, чтобы управлять фермой из 300 Mac устройств и легко обновлять их окружение.
Перевод на русский язык
Дизайнерский гайд по паттернам навигации
Human Interface Guidelines не очень подробно распространяются на тему навигации. Вместо них держите супер-подробный сторонний гайд, в котором рассматриваются все часто встречающиеся способы организации структуры экранов, и детали поведения их интерфейсов.
Human Interface Guidelines не очень подробно распространяются на тему навигации. Вместо них держите супер-подробный сторонний гайд, в котором рассматриваются все часто встречающиеся способы организации структуры экранов, и детали поведения их интерфейсов.
Как Uber трекает время старта приложения
В iOS 15 появился автоматический прогрев приложений. Иногда операционная система сама запускает процесс приложения, чтобы, если пользователь захочет его включить, ждать пришлось бы меньше. Эта фича сильно усложнила мониторинг времени старта приложения, и в статье инженеры Uber рассказывают, как перепилили свою систему мониторинга.
Если кратко – с помощью MetrikKit собираются pre-launch метрики, с помощью собственной логики – post-launch метрики. Дальше они отправляются на сервер, там склеиваются, и попадают в мониторинг.
В iOS 15 появился автоматический прогрев приложений. Иногда операционная система сама запускает процесс приложения, чтобы, если пользователь захочет его включить, ждать пришлось бы меньше. Эта фича сильно усложнила мониторинг времени старта приложения, и в статье инженеры Uber рассказывают, как перепилили свою систему мониторинга.
Если кратко – с помощью MetrikKit собираются pre-launch метрики, с помощью собственной логики – post-launch метрики. Дальше они отправляются на сервер, там склеиваются, и попадают в мониторинг.
Ищем инженера, который займется интеропом Kotlin и Swift
Одно из главных направлений развития Kotlin Multiplatform – хороший интероп с iOS экосистемой. Сейчас интероп Kotlin со Swift работает только через Objective-C. Мы хотим это улучшить, в том числе за счет интеропа напрямую со Swift. В команду, которая занимается этой задачей, мы ищем сильного инженера с iOS бэкграундом.
Какие основные требования у вакансии (сразу предупреждаю, что опыта разработки языков и рантаймов мы не ожидаем):
💻Сильный бэкграунд в любых нативных языках (C++/Swift/Objective-C/Rust)
🤔Базовое понимание того, как работают виртуальные машины, рантаймы и операционные системы.
Вакансия с релокацией: Нидерланды, Германия, Кипр, Сербия или Армения. Отправляйте резюме, а если будут вопросы – пишите напрямую мне (@etolstoy).
*️⃣А если вы работали в платформенных командах, занимались инфрой, сборками и CI/CD, то вот еще одна кайфовая вакансия в тему.
Одно из главных направлений развития Kotlin Multiplatform – хороший интероп с iOS экосистемой. Сейчас интероп Kotlin со Swift работает только через Objective-C. Мы хотим это улучшить, в том числе за счет интеропа напрямую со Swift. В команду, которая занимается этой задачей, мы ищем сильного инженера с iOS бэкграундом.
Какие основные требования у вакансии (сразу предупреждаю, что опыта разработки языков и рантаймов мы не ожидаем):
💻Сильный бэкграунд в любых нативных языках (C++/Swift/Objective-C/Rust)
🤔Базовое понимание того, как работают виртуальные машины, рантаймы и операционные системы.
Вакансия с релокацией: Нидерланды, Германия, Кипр, Сербия или Армения. Отправляйте резюме, а если будут вопросы – пишите напрямую мне (@etolstoy).
*️⃣А если вы работали в платформенных командах, занимались инфрой, сборками и CI/CD, то вот еще одна кайфовая вакансия в тему.
This media is not supported in your browser
VIEW IN TELEGRAM
DocC туториалы по Composable Architecture
Если вы хотите вкатиться в ТСА, но смотреть кучу видеоуроков не ваш формат, то попробуйте новый интерактивный туториал на DocC, в котором разбирается создание новой фичи, работа с сайд-эффектами и покрытие всего тестами.
Если вы хотите вкатиться в ТСА, но смотреть кучу видеоуроков не ваш формат, то попробуйте новый интерактивный туториал на DocC, в котором разбирается создание новой фичи, работа с сайд-эффектами и покрытие всего тестами.
Новые Accessibility фичи
Как всегда в последние годы, Apple за несколько недель до WWDC представляет новые фичи доступности, которые появятся в следующей iOS. В этом году все особенно интересно!
👉Assistive Access. Новый упрощенный интерфейс для системных приложений, в котором выпилили все лишнее, оставили самые базовые элементы интерфейса и увеличили их в несколько раз. Куда там занести деньги, чтобы этот режим везде был по дефолту?
👉Live Speech. Генерация голоса, похожего на ваш, для озвучки введенного текста.
👉Point ans Speak. Озвучивание текстовых надписей, которые попадают на камеру.
Как всегда в последние годы, Apple за несколько недель до WWDC представляет новые фичи доступности, которые появятся в следующей iOS. В этом году все особенно интересно!
👉Assistive Access. Новый упрощенный интерфейс для системных приложений, в котором выпилили все лишнее, оставили самые базовые элементы интерфейса и увеличили их в несколько раз. Куда там занести деньги, чтобы этот режим везде был по дефолту?
👉Live Speech. Генерация голоса, похожего на ваш, для озвучки введенного текста.
👉Point ans Speak. Озвучивание текстовых надписей, которые попадают на камеру.
Как Apple могли бы переписать Core Data на Swift
Вторая вещь, которая происходит каждый год перед WWDC – люди скрещивают пальчики и ждут, что Apple выпустит современную замену для Core Data. Подписываюсь под всеми хотелками из статьи!
Перевод на русский язык
Вторая вещь, которая происходит каждый год перед WWDC – люди скрещивают пальчики и ждут, что Apple выпустит современную замену для Core Data. Подписываюсь под всеми хотелками из статьи!
Перевод на русский язык
Medium
What I Hope to See for Core Data at WWDC 2023
The WWDC23 Core Data Wishlist includes a Swift rewrite, API refactoring, improved SQLite support, a revamped Model Editor, and more.
package – новый access modifier
В Swift 5.9 появится новый модификатор доступа – package. К символам, помеченным таким образом, можно будет получить доступ только коду из того же пакета. В статье разбирается несколько примеров его использования и его совместимость с другими модификаторамич
Перевод на русский язык
В Swift 5.9 появится новый модификатор доступа – package. К символам, помеченным таким образом, можно будет получить доступ только коду из того же пакета. В статье разбирается несколько примеров его использования и его совместимость с другими модификаторамич
Перевод на русский язык
Проектирование навигации с учетом диплинков
Обработку Universal Links лучше всего не костылить, а встраивать прямо в вашу систему навигации.
Приходите на вебинар, где на практике разберут, как лучше всего спроектировать систему диплинков в SwiftUI приложении.
Вебинар является частью продвинутого онлайн-курса «iOS Developer. Professional» от OTUS
📆 Дата: 26 мая в 20:00
👉 Регистрация на вебинар
Обработку Universal Links лучше всего не костылить, а встраивать прямо в вашу систему навигации.
Приходите на вебинар, где на практике разберут, как лучше всего спроектировать систему диплинков в SwiftUI приложении.
Вебинар является частью продвинутого онлайн-курса «iOS Developer. Professional» от OTUS
📆 Дата: 26 мая в 20:00
👉 Регистрация на вебинар
Документация и схема событий аналитики
В какой-то момент в приложении Headhunter стало так много разных событий аналитики, что ребята решили навести в них порядок. Вот что получилось:
👉Отдельный репозиторий, который стал источником правды про все события.
👉Каждое событие описывается yaml файлом, который содержит название, описание, категории, к которым оно относится, и параметры.
👉Схема умеет рендериться в маркдаун, и благодаря этому генерируется человекочитаемый справочник всех событий.
👉Аналитики сами пишут yaml файлы.
👉Из схемы также генерируется код для приложения.
В какой-то момент в приложении Headhunter стало так много разных событий аналитики, что ребята решили навести в них порядок. Вот что получилось:
👉Отдельный репозиторий, который стал источником правды про все события.
👉Каждое событие описывается yaml файлом, который содержит название, описание, категории, к которым оно относится, и параметры.
👉Схема умеет рендериться в маркдаун, и благодаря этому генерируется человекочитаемый справочник всех событий.
👉Аналитики сами пишут yaml файлы.
👉Из схемы также генерируется код для приложения.
Как адоптить новые фичи в кроссплатформенной кодовой базе на iOS и macOS
Из-за того, что Apple выпускает стабильные версии новой iOS и новой macOS в разное время, вы можете столкнуться с довольно неприятной проблемой – после выхода Xcode 15.0 ваш кроссплатформенный код с поддержкой новых фичей перестанет собираться под мак. В статье разбирается, как комбинировать compile-time и runtime проверки, чтобы облегчить свою жизнь.
Из-за того, что Apple выпускает стабильные версии новой iOS и новой macOS в разное время, вы можете столкнуться с довольно неприятной проблемой – после выхода Xcode 15.0 ваш кроссплатформенный код с поддержкой новых фичей перестанет собираться под мак. В статье разбирается, как комбинировать compile-time и runtime проверки, чтобы облегчить свою жизнь.
Обзорная статья про Compose Multiplatform
На Хабре вышла неплохая обзорная статья на русском языке про то, как работает Compose Multiplatform, и как собрать свой первый простой проект. Если стало интересно, вот еще несколько материалов по теме:
Официальный блог пост с анонсом
Подробный доклад
На Хабре вышла неплохая обзорная статья на русском языке про то, как работает Compose Multiplatform, и как собрать свой первый простой проект. Если стало интересно, вот еще несколько материалов по теме:
Официальный блог пост с анонсом
Подробный доклад
Памятка по тому, как репортить баги Apple
Приближается выход Beta версий Xcode и новых SDK, а значит – тонны новых багов. Apple подготовили новую страницу документации про то, как репортить проблемы с максимально подробным контекстом, и какие инструменты могут это облегчить.
Ничего все равно не исправят, конечно же.
Приближается выход Beta версий Xcode и новых SDK, а значит – тонны новых багов. Apple подготовили новую страницу документации про то, как репортить проблемы с максимально подробным контекстом, и какие инструменты могут это облегчить.
Ничего все равно не исправят, конечно же.
Act – инструмент для локального запуска GitHub Actions
Act – консольная тула, которая позволяет прогонять любой GitHub Action локально. Нужен только установленный Docker Desktop.
Вызов экшна выглядит так:
Перевод на русский язык
Act – консольная тула, которая позволяет прогонять любой GitHub Action локально. Нужен только установленный Docker Desktop.
Вызов экшна выглядит так:
act pull_request --container-architecture linux/amd64
Перевод на русский язык
Grantisom
Using Act to Run Github Actions Locally
https://github.com/nektos/act
The Act package offers a convenient way to execute your GitHub Action workflows locally. It’s a valuable tool when debugging or working on issues that either have a long runtime or are complex, saving you those precious minutes.…
The Act package offers a convenient way to execute your GitHub Action workflows locally. It’s a valuable tool when debugging or working on issues that either have a long runtime or are complex, saving you those precious minutes.…