Совместное редактирование в Apple Notes реализовано на Server-side Swift
Если вас кто-то будет спрашивать о примерах использования Swift на сервере в продакшне, теперь вам есть, что ответить. Apple на недавней конференции про серверный Swift рассказали, что использовали его, чтобы реализовать коллаборативную работу над заметками. Деталей нет, да и картину адопшна это не сильно меняет, но интересно!
Если вас кто-то будет спрашивать о примерах использования Swift на сервере в продакшне, теперь вам есть, что ответить. Apple на недавней конференции про серверный Swift рассказали, что использовали его, чтобы реализовать коллаборативную работу над заметками. Деталей нет, да и картину адопшна это не сильно меняет, но интересно!
ВКонтакте объявила победителей грантового конкурса VK Fresh Code.
Создатели 25 самых успешных мини-приложений на базе платформы VK Mini Apps получили поддержку на развитие своих проектов. В дальнейшем их количество может увеличиться: ВКонтакте продолжит поддерживать талантливые команды, чтобы они продолжали творить на благо пользователей.
Создатели 25 самых успешных мини-приложений на базе платформы VK Mini Apps получили поддержку на развитие своих проектов. В дальнейшем их количество может увеличиться: ВКонтакте продолжит поддерживать талантливые команды, чтобы они продолжали творить на благо пользователей.
ВКонтакте
VK Mini Apps
Хотите создать мини-приложение или игру ВКонтакте? Вы по адресу! В нашем сообществе вы можете: • напрямую общаться с командой VK Mini Apps; • получить поддержку сообщества разработчиков и помощь в продвижении; • собрать команду или присоединиться к уже существующей;…
This media is not supported in your browser
VIEW IN TELEGRAM
Кастомный контейнер на Layout протоколе
Автор разбирает, как с помощью Layout протокола из SwiftUI собрать контейнер, который будет лэйаутить произвольное количество тегов фиксированной высоты и разной длины.
Перевод на русский язык
Автор разбирает, как с помощью Layout протокола из SwiftUI собрать контейнер, который будет лэйаутить произвольное количество тегов фиксированной высоты и разной длины.
Перевод на русский язык
Советы от ментейнера 185 библиотек
- Когда ты поддерживаешь сразу десятки библиотек, быстро теряешь контекст происходящего в каждой из них.
- Справиться с этим помогает техника «The perfect commit» – делать только такие коммиты, которые решают строго одну задачу, которые содержат подробную документацию и тесты для каждого изменения, и ссылаются на issue с обсуждением.
- Поддерживать уверенность в актуальности документации помогают специальные тесты, которые проверяют, что в ней упоминаются все ключевые концепции.
- В статье много дополнительных советов про все аспекты техники идеальных коммитов.
- Когда ты поддерживаешь сразу десятки библиотек, быстро теряешь контекст происходящего в каждой из них.
- Справиться с этим помогает техника «The perfect commit» – делать только такие коммиты, которые решают строго одну задачу, которые содержат подробную документацию и тесты для каждого изменения, и ссылаются на issue с обсуждением.
- Поддерживать уверенность в актуальности документации помогают специальные тесты, которые проверяют, что в ней упоминаются все ключевые концепции.
- В статье много дополнительных советов про все аспекты техники идеальных коммитов.
simonwillison.net
Coping strategies for the serial project hoarder
I gave a talk at DjangoCon US 2022 in San Diego last month about productivity on personal projects, titled “Massively increase your productivity on personal projects with comprehensive documentation and …
SwiftUI Custom Layout: Spacing
Продолжение цикла статей про работу с протоколом Layout. В этой разбирается, как настраивать расстояние между дочерними вьюшками, учитывать его при расчете лэйаута, и использовать разные значения для разных платформ.
Продолжение цикла статей про работу с протоколом Layout. В этой разбирается, как настраивать расстояние между дочерними вьюшками, учитывать его при расчете лэйаута, и использовать разные значения для разных платформ.
Stable Diffusion на CoreML
- Apple добавили поддержку модели Stable Diffusion в CoreML. Stable Diffusion – самая хайповая нейронка для генерации иллюстраций. Помните иконки, которые я выкладывал на прошлой неделе? Вот это – Stable Diffusion.
- Stable Diffusion умеет не только генерировать изображения по описанию, но и генерировать палитру, апскейлить изображения, редактировать их и много чего еще.
- Модель оптимизирована для работы на конечном пользовательском девайсе.
- Apple добавили поддержку модели Stable Diffusion в CoreML. Stable Diffusion – самая хайповая нейронка для генерации иллюстраций. Помните иконки, которые я выкладывал на прошлой неделе? Вот это – Stable Diffusion.
- Stable Diffusion умеет не только генерировать изображения по описанию, но и генерировать палитру, апскейлить изображения, редактировать их и много чего еще.
- Модель оптимизирована для работы на конечном пользовательском девайсе.
Foundation переписывают на Swift и выкладывают в open source
Вот что поменяется:
- Полностью избавятся от C, на котором сейчас написано все ядро Foundation. Благодаря избавления от интеропа улучшится перфоманс.
- Огромный Foundation будет разбит на более атомарные куски. Например, FoundationInternationalization, который будет содержать функции, нужные для локализации.
- Для всех эппловых платформ будет использоваться единая реализация Foundation.
- Процесс разработки будет открытым, а коммьюнити получит возможность контрибьютить свои изменения.
Перевод на русский язык
Вот что поменяется:
- Полностью избавятся от C, на котором сейчас написано все ядро Foundation. Благодаря избавления от интеропа улучшится перфоманс.
- Огромный Foundation будет разбит на более атомарные куски. Например, FoundationInternationalization, который будет содержать функции, нужные для локализации.
- Для всех эппловых платформ будет использоваться единая реализация Foundation.
- Процесс разработки будет открытым, а коммьюнити получит возможность контрибьютить свои изменения.
Перевод на русский язык
Swift.org
The Future of Foundation
The Foundation framework is used in nearly all Swift projects. It provides both a base layer of functionality for fundamentals like strings, collections, and dates, as well as setting conventions for writing great Swift code.
Команда Тинькофф ищет iOS-разработчиков💡
Большое комьюнити iOS-разработчиков решает крутые задачи — создает высоконагруженные сервисы для 27 миллионов клиентов, экспериментирует и ищет новые решения. Приглашает в команду iOS-разработчиков с опытом от трех лет!
Работать с Тинькофф значит:
— не ограничивать свои скиллы и вводить в сервисы новые фичи;
— делать жизнь миллионов людей удобнее и технологичней;
— расти в грейде по скиллам, а не по стажу в компании;
— становиться заметным в комьюнити iOS-разработчиков.
А еще команда всегда «за» действительно комфортную работу. Поэтому большинство бытовых забот делегируют компании: от расширенного ДМС и юридической помощи до питания и разных активностей.
Откликнуться и узнать подробнее о команде iOS-разработчиков Тинькофф: https://u.tinkoff.ru/mobile.pro
Большое комьюнити iOS-разработчиков решает крутые задачи — создает высоконагруженные сервисы для 27 миллионов клиентов, экспериментирует и ищет новые решения. Приглашает в команду iOS-разработчиков с опытом от трех лет!
Работать с Тинькофф значит:
— не ограничивать свои скиллы и вводить в сервисы новые фичи;
— делать жизнь миллионов людей удобнее и технологичней;
— расти в грейде по скиллам, а не по стажу в компании;
— становиться заметным в комьюнити iOS-разработчиков.
А еще команда всегда «за» действительно комфортную работу. Поэтому большинство бытовых забот делегируют компании: от расширенного ДМС и юридической помощи до питания и разных активностей.
Откликнуться и узнать подробнее о команде iOS-разработчиков Тинькофф: https://u.tinkoff.ru/mobile.pro
This media is not supported in your browser
VIEW IN TELEGRAM
Самое простое интро в шейдеры
Если вы никогда не писали свои шейдеры, и просто киваете с умным видом, когда кто-то начинает говорить про оптимизированный под GPU код, обязательно прочитайте статью.
💻Отличие CPU от GPU в вопросах вычислений
🤔Ограничения в разработке шейдеров
🎨Примеры шейдеров
Если вы никогда не писали свои шейдеры, и просто киваете с умным видом, когда кто-то начинает говорить про оптимизированный под GPU код, обязательно прочитайте статью.
💻Отличие CPU от GPU в вопросах вычислений
🤔Ограничения в разработке шейдеров
🎨Примеры шейдеров
AppCode 2022.3 – последняя поддерживаемая версия
- Вышла новая версия AppCode с поддержкой Xcode 14.2.
- Эта версия станет последней. Новые фичи больше не разрабатываются, купить AppCode больше нельзя.
- Поддержка текущей версии будет предоставляться до конца 2023 – в основном связанная с проблемами совместимости с текущей версией Xcode.
- Основная причина – «While we’ve had some growth in terms of adoption, we didn’t reach the market share we had hoped for»
- Вышла новая версия AppCode с поддержкой Xcode 14.2.
- Эта версия станет последней. Новые фичи больше не разрабатываются, купить AppCode больше нельзя.
- Поддержка текущей версии будет предоставляться до конца 2023 – в основном связанная с проблемами совместимости с текущей версией Xcode.
- Основная причина – «While we’ve had some growth in terms of adoption, we didn’t reach the market share we had hoped for»
Пример интеропа C++ и Swift
- В Swift есть экспериментальная поддержка интеропа с плюсами, которая не требует написания врапперов на ObjC.
- В статье разбирается, как в одном Swift пакете держать код на С++ и Swift, и напрямую использовать std::vector..
Перевод на русский язык
- В Swift есть экспериментальная поддержка интеропа с плюсами, которая не требует написания врапперов на ObjC.
- В статье разбирается, как в одном Swift пакете держать код на С++ и Swift, и напрямую использовать std::vector..
Перевод на русский язык
Простой способ улучшить читаемость логов в Xcode
В настройках Xcode можно изменить цвет логов брейкпойнтов, чтобы они визуально выделялись среди принтов:
Xcode > Settings > Themes > Console
В настройках Xcode можно изменить цвет логов брейкпойнтов, чтобы они визуально выделялись среди принтов:
Xcode > Settings > Themes > Console
SwiftUI Custom Layout: LayoutValueKey
- С помощью протокола LayoutValueKey можно привязать значение к вью внутри кастомного лэйаута, и использовать его позже в расчетах.
- Для этого надо создать структуру, реализующую протокол LayoutValueKey, и extension для вью, в котором этот параметр настраивается.
- В статье разбирается, как с помощью этой фичи можно реализовать якорную привязку внутри своего лэйаута.
Перевод на русский язык
- С помощью протокола LayoutValueKey можно привязать значение к вью внутри кастомного лэйаута, и использовать его позже в расчетах.
- Для этого надо создать структуру, реализующую протокол LayoutValueKey, и extension для вью, в котором этот параметр настраивается.
- В статье разбирается, как с помощью этой фичи можно реализовать якорную привязку внутри своего лэйаута.
Перевод на русский язык
Кастомные префиксы для чисел в NumberFormatter
У NumberFormatter есть одна неочевидная фича – вы можете задать свой собственный префикс для всех положительных или отрицательных чисел, используя свойства positivePrefix/negativePrefix.
У NumberFormatter есть одна неочевидная фича – вы можете задать свой собственный префикс для всех положительных или отрицательных чисел, используя свойства positivePrefix/negativePrefix.
Подключайтесь на новогодний лайв Подлодки! Новогоднее настроение, розыгрыш стимдека и все дела!
https://www.youtube.com/watch?v=154IhLgBvD8
https://www.youtube.com/watch?v=154IhLgBvD8
YouTube
Новогодний выпуск 2022: все звезды Подлодки вместе + разыгрываем Steam Deck!
🎄 Праздник к нам приходит: все звезды подлодки в эфире + возможность выиграть Steam Deck!
Приглашаем наших любимых слушателей на новогодний лайв в среду, 21 декабря, 19:00 (GMT+3)! В программе:
⭐️ Виталий Брагилевский, Павел Комаровский, и Глеб Новик…
Приглашаем наших любимых слушателей на новогодний лайв в среду, 21 декабря, 19:00 (GMT+3)! В программе:
⭐️ Виталий Брагилевский, Павел Комаровский, и Глеб Новик…
Огромный гайд по реализации in-app purchases на StoreKit
🛒Настройка покупок в App Store Connect
💻Отображение товаров в приложении, их покупка и верификация
🗓️Обработка событий обновления подписки, ее отмены и проблем с платежами
☁️Реализация подписок со своим сервером и без него
Код примеров клиента и сервера на GitHub
🛒Настройка покупок в App Store Connect
💻Отображение товаров в приложении, их покупка и верификация
🗓️Обработка событий обновления подписки, ее отмены и проблем с платежами
☁️Реализация подписок со своим сервером и без него
Код примеров клиента и сервера на GitHub
Отключение рекламных алертов от Xcode Cloud
Надоели алерты в Xcode? Установите флаг:
defaults write com.apple.dt.Xcode XcodeCloudUpsellPromptEnabled -bool false
Надоели алерты в Xcode? Установите флаг:
defaults write com.apple.dt.Xcode XcodeCloudUpsellPromptEnabled -bool false
Разработка сложных кастомных плагинов для Xcode Instruments
- Xcode с 2018 года позволяет разрабатывать собственные плагины для Instruments. Вот видео с WWDC, и хорошая вводная статья.
- Одна из основных проблем в разработке этих расширений – писать их надо на чистом XML. Для очень простых задач это еще терпимо, а для тех, где требуется несколько тысяч строк – вообще невозможно.
- В статье разбирается несколько приемов, как можно облегчить себе жизнь. Начиная с транспиляции своего Swift DSL в XML, заканчивая малоизвестными фичами XML вроде includes и conditionals.
Перевод на русский язык
- Xcode с 2018 года позволяет разрабатывать собственные плагины для Instruments. Вот видео с WWDC, и хорошая вводная статья.
- Одна из основных проблем в разработке этих расширений – писать их надо на чистом XML. Для очень простых задач это еще терпимо, а для тех, где требуется несколько тысяч строк – вообще невозможно.
- В статье разбирается несколько приемов, как можно облегчить себе жизнь. Начиная с транспиляции своего Swift DSL в XML, заканчивая малоизвестными фичами XML вроде includes и conditionals.
Перевод на русский язык
This media is not supported in your browser
VIEW IN TELEGRAM
Разговор с ChatGPT про статические и динамические фреймворки
Статью можно читать с двумя целями – вспомнить различия статических и динамических фреймворков и их влияние на перфоманс приложения, или посмотреть на очередной юзкейс того, как ChatGPT разбирает сложные инженерные вопросы и дает почти точные ответы.
Перевод на русский язык
Статью можно читать с двумя целями – вспомнить различия статических и динамических фреймворков и их влияние на перфоманс приложения, или посмотреть на очередной юзкейс того, как ChatGPT разбирает сложные инженерные вопросы и дает почти точные ответы.
Перевод на русский язык
Как подключить российский SSL-сертификат к iOS приложению
Выдача и продление SSL сертификатов превратилась в проблему, из-за чего в мобильных приложениях могут перестать проходить платежи разных эквайрингов. В статье разбирается, как правильным образом сконвертировать сертификаты от Минцтфры, зашить их в приложение и пройти проверку Apple.
Выдача и продление SSL сертификатов превратилась в проблему, из-за чего в мобильных приложениях могут перестать проходить платежи разных эквайрингов. В статье разбирается, как правильным образом сконвертировать сертификаты от Минцтфры, зашить их в приложение и пройти проверку Apple.
Хабр
Как подключить российский SSL-сертификат к iOS-приложению
Одна из санкций, которая досталась России, — запрет на выдачу и продление SSL-сертификатов. Это приводит к тому, что у некоторых компаний сертификат может протухнуть и сайты перестанут открываться....