This media is not supported in your browser
VIEW IN TELEGRAM
Приходите на стажировку в Яндекс!
Стажёры в Яндексе — это полноценные члены команды. Плечом к плечу с опытными разработчиками они улучшают сервисы Яндекса и помогают миллионам людей. Стажёры работают как полную неделю, так и по 20–30 часов. Можно выбрать удобный график.
Стажёров ищут почти во всех командах, в том числе в Поиске, Рекламе, Алисе, Облаке, Картах, Инфраструктуре, Такси, Лавке, Еде, Кинопоиске, Музыке.
Приходите на стажировку в Яндекс, чтобы узнать больше о продуктах, найти новых коллег и друзей в команде!
Переходите по ссылке, чтобы узнать все подробности и подать заявку: https://clck.ru/32dzhn
Стажёры в Яндексе — это полноценные члены команды. Плечом к плечу с опытными разработчиками они улучшают сервисы Яндекса и помогают миллионам людей. Стажёры работают как полную неделю, так и по 20–30 часов. Можно выбрать удобный график.
Стажёров ищут почти во всех командах, в том числе в Поиске, Рекламе, Алисе, Облаке, Картах, Инфраструктуре, Такси, Лавке, Еде, Кинопоиске, Музыке.
Приходите на стажировку в Яндекс, чтобы узнать больше о продуктах, найти новых коллег и друзей в команде!
Переходите по ссылке, чтобы узнать все подробности и подать заявку: https://clck.ru/32dzhn
accessibilityUserInputLabels для Voice Control
Чтобы пользователю Voice Control не нужно было угадывать, как именно вы назвали какую-то кнопку, и не нужно было бы просить скрин ридер зачитать названия всех элементов на экране, с помощью свойства accessibilityUserInputLabels можно задать сразу много возможных названий.
Если стало интересно, почитайте реплаи – там обсуждают нетривиальную задачу локализации этих названий.
Чтобы пользователю Voice Control не нужно было угадывать, как именно вы назвали какую-то кнопку, и не нужно было бы просить скрин ридер зачитать названия всех элементов на экране, с помощью свойства accessibilityUserInputLabels можно задать сразу много возможных названий.
Если стало интересно, почитайте реплаи – там обсуждают нетривиальную задачу локализации этих названий.
Ask Apple возвращается на этой неделе
Ask Apple – новый движ от Apple, который помогает разработчикам достучаться до инженеров чаще, чем раз в год на WWDC. Проходит в форме 1-1 сессий и групповых Q&A. Судя по всему, Ask Apple планируют проводить на ежемесячной основе, что прямо очень круто.
📆Расписание Q&A
📝Регистрация (нужен акк разработчика)
Ask Apple – новый движ от Apple, который помогает разработчикам достучаться до инженеров чаще, чем раз в год на WWDC. Проходит в форме 1-1 сессий и групповых Q&A. Судя по всему, Ask Apple планируют проводить на ежемесячной основе, что прямо очень круто.
📆Расписание Q&A
📝Регистрация (нужен акк разработчика)
Последний шанс влететь на Podlodka iOS Crew
Примета: если пропустить ноябрьскую Подлодку, то весь следующий год у вас будут проблемы с архитектурой на проекте.
Зачем идти на конфу:
- узнаете, почему семантика в архитектуре важнее типизированных подходов.
- разберетесь в гибридной архитектуре SwiftUI и UIKit.
- перестроитесь под реактивную архитектуру.
- научитесь проходить архитектурный собес.
- ну, и, конечно, отлично проведете неделю в нашей Телеге, общаясь с русскоязычными iOS разработчиками, которые расползлись по миру.
Старт уже сегодня, залетайте!
Примета: если пропустить ноябрьскую Подлодку, то весь следующий год у вас будут проблемы с архитектурой на проекте.
Зачем идти на конфу:
- узнаете, почему семантика в архитектуре важнее типизированных подходов.
- разберетесь в гибридной архитектуре SwiftUI и UIKit.
- перестроитесь под реактивную архитектуру.
- научитесь проходить архитектурный собес.
- ну, и, конечно, отлично проведете неделю в нашей Телеге, общаясь с русскоязычными iOS разработчиками, которые расползлись по миру.
Старт уже сегодня, залетайте!
podlodka.io
Онлайн-конференция Podlodka iOS Crew, сезон #15
Недельное мероприятие от команды Podlodka: ежедневные интерактивные сессии в Zoom по актуальным проблемам iOS-разработки, нон-стоп общение с экспертами и звёздами индустрии, закрытое профессиональное сообщество в Telegram.
Реализация JWT авторизации с рефреш токенами
- JWT – один из частых стандартов авторизации. Сервер генерирует токен, а вы его используете, чтобы подписывать запросы. Когда токен протухает, используете рефреш-токен, чтобы сгенерировать новый.
- В статье на примере простого мобильного приложения и бэкенда разбирается устройство JWT авторизации, архитектура и реализация клиентского кода, который отвечает за работу с токенами.
Перевод на русский язык
- JWT – один из частых стандартов авторизации. Сервер генерирует токен, а вы его используете, чтобы подписывать запросы. Когда токен протухает, используете рефреш-токен, чтобы сгенерировать новый.
- В статье на примере простого мобильного приложения и бэкенда разбирается устройство JWT авторизации, архитектура и реализация клиентского кода, который отвечает за работу с токенами.
Перевод на русский язык
Swift и Objective-C в рейтингах языков программирования
1️⃣Redmonk – индекс, рассчитываемый на основе количества вопросов на StackOverflow и проектов на GitHub
Swift – 11 место
Objective-C – 12 место
2️⃣SlashData – индекс, основанный на регулярном опросе 26.000 разработчиков со всего мира
Swift – 9 место (4.2 млн разработчиков)
Objective-C – 11 место (3 млн разработчиков)
3️⃣Octoverse – индекс, который строится GitHub на основе мх данных об опенсорсных проектах
Swift и Objective-C не попали в топ-10
4️⃣PYPL – индекс, который рассчитывается по частотности Google поисков вида «язык tutorial»
Swift – 10 место (доля рынка 2.11%)
Objective-C – 9 место (доля рынка 2.17%)
1️⃣Redmonk – индекс, рассчитываемый на основе количества вопросов на StackOverflow и проектов на GitHub
Swift – 11 место
Objective-C – 12 место
2️⃣SlashData – индекс, основанный на регулярном опросе 26.000 разработчиков со всего мира
Swift – 9 место (4.2 млн разработчиков)
Objective-C – 11 место (3 млн разработчиков)
3️⃣Octoverse – индекс, который строится GitHub на основе мх данных об опенсорсных проектах
Swift и Objective-C не попали в топ-10
4️⃣PYPL – индекс, который рассчитывается по частотности Google поисков вида «язык tutorial»
Swift – 10 место (доля рынка 2.11%)
Objective-C – 9 место (доля рынка 2.17%)
This media is not supported in your browser
VIEW IN TELEGRAM
SwiftUICraft – Minecraft на SwiftUI
Кто-то делает троллейбус из буханки хлеба, а кто-то – воксельную игру на SwiftUI. Реализовано все поверх Prism, легковесного 3D движка, про который я как-то в канале уже рассказывал.
Кто-то делает троллейбус из буханки хлеба, а кто-то – воксельную игру на SwiftUI. Реализовано все поверх Prism, легковесного 3D движка, про который я как-то в канале уже рассказывал.
Решение проблем с single size App Icon
При использовании новой фичи Xcode, app icon универсального размера, вы можете столкнуться с двумя ошибками: «CoreData: API Misuse: Attempt to serialize store access on non-owning coordinator» и «Command CompileAssetCatalog failed with a nonzero exit code». В статье разбирают причины их возникновения, связь фичи с CoreData и способы их решить.
Перевод на русский язык
При использовании новой фичи Xcode, app icon универсального размера, вы можете столкнуться с двумя ошибками: «CoreData: API Misuse: Attempt to serialize store access on non-owning coordinator» и «Command CompileAssetCatalog failed with a nonzero exit code». В статье разбирают причины их возникновения, связь фичи с CoreData и способы их решить.
Перевод на русский язык
ngrok – используем localhost как бэкенд
- ngrok – reverse proxy, который помогает дать доступ к сервису, поднятому на localhost, из внешнего интернета.
- Для этого достаточно выполнить всего одну команду:
- ngrok – reverse proxy, который помогает дать доступ к сервису, поднятому на localhost, из внешнего интернета.
- Для этого достаточно выполнить всего одну команду:
ngrok http <port>
- Это очень удобно для того, чтобы быстро поднять локальный бэкенд для своего приложения и протестировать что-то без необходимости его деплоить.Чтобы быть в тренде последних новостей из мира iOS разработки тебе надо подписаться на канал @iOS_broadcast.
📌 Там ты найдешь ежедневную подборку новостей с кратким обзором, а также интересные опросы, чтобы проверить свои знания.
Что интересно можно узнать:
▶️ iOS: Навигация по-новому
▶️ 4 видео для мобильных разработчиков. Анимации в React Native, keyboard avoiding в SwiftUI и другое
▶️ Продвинутый дебаг в Xcode: средства отладки, про которые часто забывают
▶️ Для чего нужна Witness Table?
Канал создан авторами @android_broadcast
📌 Там ты найдешь ежедневную подборку новостей с кратким обзором, а также интересные опросы, чтобы проверить свои знания.
Что интересно можно узнать:
▶️ iOS: Навигация по-новому
▶️ 4 видео для мобильных разработчиков. Анимации в React Native, keyboard avoiding в SwiftUI и другое
▶️ Продвинутый дебаг в Xcode: средства отладки, про которые часто забывают
▶️ Для чего нужна Witness Table?
Канал создан авторами @android_broadcast
Циферблат для Apple Watch, динамически генерирующийся по текущей топографии
David Smith, тот самый разработчик приложений для watchOS, реализовал один из самых красивых циферблатов, что я видел. На основе данных о вашей локации генерируется контурная топографическая карта. Выглядит потрясающе.
А вот еще циферблаты от него же, но уже с анимацией текущей погоды.
David Smith, тот самый разработчик приложений для watchOS, реализовал один из самых красивых циферблатов, что я видел. На основе данных о вашей локации генерируется контурная топографическая карта. Выглядит потрясающе.
А вот еще циферблаты от него же, но уже с анимацией текущей погоды.
Xbase – набор инструментов для iOS разработки в Neovim
Для любителей писать код в неконвенциональных для iOS экосистемы редакторах, например, в Neovim, появился набор инструментов, которые упростят эту задачу:
- Поддержка автокомплита и навигации по исходникам
- Возможность быстрого запуска симуляторов
- Логи билдов и print()
- Генерация xcodeproj
- Поддержка всяких фичей nvim
Кстати, если вы не понимаете, зачем вообще кто-то может хотеть писать код в Vim, послушайте недавний выпуск Подлодки с Кириллом Мокевниным про продуктивность разработки, где мы в том числе много обсуждали Vim.
Для любителей писать код в неконвенциональных для iOS экосистемы редакторах, например, в Neovim, появился набор инструментов, которые упростят эту задачу:
- Поддержка автокомплита и навигации по исходникам
- Возможность быстрого запуска симуляторов
- Логи билдов и print()
- Генерация xcodeproj
- Поддержка всяких фичей nvim
Кстати, если вы не понимаете, зачем вообще кто-то может хотеть писать код в Vim, послушайте недавний выпуск Подлодки с Кириллом Мокевниным про продуктивность разработки, где мы в том числе много обсуждали Vim.
Как освободить место от неиспользуемых платформ в Xcode
Xcode не очень хорошо справляется с подчисткой неиспользуемых версий платформ симуляторов. Может так оказаться, что вы продолжаете тратить бесценные гигабайты на харде на то, чтобы хранить образы платформ, которые уже не совместимы с вашей версией Xcode. В статье разбирается, где они хранятся, как их можно почистить и при необходимости скачать заново.
Перевод на русский язык
Xcode не очень хорошо справляется с подчисткой неиспользуемых версий платформ симуляторов. Может так оказаться, что вы продолжаете тратить бесценные гигабайты на харде на то, чтобы хранить образы платформ, которые уже не совместимы с вашей версией Xcode. В статье разбирается, где они хранятся, как их можно почистить и при необходимости скачать заново.
Перевод на русский язык
Variadic generics в Swift
Одна из следующих больших языковых фичей, которые появятся в Swift – variadic generics. С ее помощью можно будет определять дженерики с переменным количеством параметров.
Пример ситуации, где такая фича может быть полезна – оператор сравнения для tuples, который приходится перегружать по многу раз для того, чтобы описать его поведение с разным количеством параметров.
Обсудить пропозал и почитать чужие комментарии можно здесь.
Перевод на русский язык
Одна из следующих больших языковых фичей, которые появятся в Swift – variadic generics. С ее помощью можно будет определять дженерики с переменным количеством параметров.
Пример ситуации, где такая фича может быть полезна – оператор сравнения для tuples, который приходится перегружать по многу раз для того, чтобы описать его поведение с разным количеством параметров.
Обсудить пропозал и почитать чужие комментарии можно здесь.
Перевод на русский язык
Почему Rosetta 2 работает так быстро
Хардкорная статья с анализом устройства Rosetta 2 и сравнением сгенерированного ей кода с оригиналом.
Перевод на русский язык
Хардкорная статья с анализом устройства Rosetta 2 и сравнением сгенерированного ей кода с оригиналом.
Перевод на русский язык
Quick Navigation в DocC
- DocC – инструмент от Apple для генерации документации и спек для пользовательских библиотек в виде HTML.
- Скоро в DocC появится Quick Search, аналог похожим фичам в IDE.
- Quick Search будет уметь искать символы, похожие на пользовательский ввод, сортировать результаты по релевантности и работать с шорткатами.
- DocC – инструмент от Apple для генерации документации и спек для пользовательских библиотек в виде HTML.
- Скоро в DocC появится Quick Search, аналог похожим фичам в IDE.
- Quick Search будет уметь искать символы, похожие на пользовательский ввод, сортировать результаты по релевантности и работать с шорткатами.
Benchmark – SwiftPM плагин для запуска бенчмарков
- Работает как локально, так и на CI.
- Умеет замерять кучу разных метрик по перцентилям.
- Работает как локально, так и на CI.
- Умеет замерять кучу разных метрик по перцентилям.