bootg.com »
United States »
iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT » Telegram Web
Автоматическая публикация DocC на GitHub pages
Пример того, как настроить GitHub Actions, чтобы с каждым релизом вашей библиотеки обновленная DocC документация публиковалась на GitHub Pages.
Пример того, как настроить GitHub Actions, чтобы с каждым релизом вашей библиотеки обновленная DocC документация публиковалась на GitHub Pages.
Daniel Saidi
Publish DocC to GitHub Pages with GitHub Actions
In this post, we’ll see how we can use GitHub Actions to automatically build and publish a Swift Package’s DocC docs to GitHub Pages, eve...
Как отвечать на вопрос "Are you a trader?"
После новых регуляций в Европе, Apple начала задавать вопрос про то, являетесь ли вы трейдером, перед загрузкой новых приложений в App Store. Если вы зарабатываете со своих приложений хоть что-то, то на вопрос надо отвечать утвердительно. В статье пошагово разбирается, как предоставить Apple всю требуемую информацию.
После новых регуляций в Европе, Apple начала задавать вопрос про то, являетесь ли вы трейдером, перед загрузкой новых приложений в App Store. Если вы зарабатываете со своих приложений хоть что-то, то на вопрос надо отвечать утвердительно. В статье пошагово разбирается, как предоставить Apple всю требуемую информацию.
Гайд по миграции на Bazel
Очень подробный гайд по тому, как настроить сборку проекта с помощью Bazel на основе приложения для Mastodon:
👉Описание таргетов
👉Интеграция с Xcode
👉Настройка удаленного кеша
👉Модуляризация
Очень подробный гайд по тому, как настроить сборку проекта с помощью Bazel на основе приложения для Mastodon:
👉Описание таргетов
👉Интеграция с Xcode
👉Настройка удаленного кеша
👉Модуляризация
Brentley’s Blog
How to migrate an iOS app to Bazel
Wondering how to migrate your Apple-based project to Bazel? Whether it’s iOS, macOS, watchOS, tvOS, or visionOS, this guide is for you.
Как TextView работает под капотом
Лучшая статья прошлой недели. Разбор кучи деталей того, как TextView работает под капотом – начиная с того, как обратываются стили у AttributedString, заканчивая тем, как курсор реагирует на нажатие кнопок на клавиатуре в зависимости от положения в тексте.
Лучшая статья прошлой недели. Разбор кучи деталей того, как TextView работает под капотом – начиная с того, как обратываются стили у AttributedString, заканчивая тем, как курсор реагирует на нажатие кнопок на клавиатуре в зависимости от положения в тексте.
Снова про перфоманс макросов
Я уже ссылался на эпичный тред на Swift Forums, где разработчики жалуются на влияние наличия пакета SwiftSyntax на скорость компиляции кода с макросами. Так вот, проблемы остаются, даже если использовать предкомпилированный SwiftSyntax. Код с макросами, взятыми из примеров Apple, все равно собирается примерно в два раза дольше, чем без них.
Я уже ссылался на эпичный тред на Swift Forums, где разработчики жалуются на влияние наличия пакета SwiftSyntax на скорость компиляции кода с макросами. Так вот, проблемы остаются, даже если использовать предкомпилированный SwiftSyntax. Код с макросами, взятыми из примеров Apple, все равно собирается примерно в два раза дольше, чем без них.
WWDC пройдет 10-14 июня
Объявили даты WWDC. Все как в прошлом году, основной контент в онлайне, но кейноут пройдет в Apple Park.
Объявили даты WWDC. Все как в прошлом году, основной контент в онлайне, но кейноут пройдет в Apple Park.
DevToys – набор утилит для разработки
DevToys – опенсорсное приложение, состоящее из кучи небольших хелперов, которые упрощают ежедневную разработческую рутину. Вот некоторые из них:
👉Конвертер из JSON в Yaml
👉URL encoder/decoder
👉JSON форматтер
👉Тестер регулярок
👉Генератор хешей
DevToys – опенсорсное приложение, состоящее из кучи небольших хелперов, которые упрощают ежедневную разработческую рутину. Вот некоторые из них:
👉Конвертер из JSON в Yaml
👉URL encoder/decoder
👉JSON форматтер
👉Тестер регулярок
👉Генератор хешей
Привет, на связи Podlodka Teamlead Crew!
Пришли со свежими подробностями сезона.
Стартуем уже 1 апреля: научимся выбирать, внедрять, анализировать и масштабировать метрики.
Если вам кажется, что язык метрик сродни заклинаниям, которые знают лишь избранные, то вы попали по адресу. Мы пригласили крутых спикеров из известных компаний, которые обладают этим знанием и на метриках уже «собаку съели». Они научат правильно применять метрики, говорить с бизнесом и продактами на одном языке во благо разрабатываемому решению.
❓В каких сферах применимы метрики? Сергей Воробьёв объяснит как использовать популярные виды метрик и где брать для них данные.
❓Как принимать решения на основе метрик? Сергей Петрук из QIWI владеет этой магией: проведёт воркшоп по фреймворку принятия решений, разберёт реальные кейсы.
❓Как говорить с бизнесом на языке метрик? Серафима Чекулаева поделится священными тайнами продуктовых метрик и их потенциальной пользой.
Билеты уже на сайте, забирай свой!
https://podlodka.io/tlcrew
Пришли со свежими подробностями сезона.
Стартуем уже 1 апреля: научимся выбирать, внедрять, анализировать и масштабировать метрики.
Если вам кажется, что язык метрик сродни заклинаниям, которые знают лишь избранные, то вы попали по адресу. Мы пригласили крутых спикеров из известных компаний, которые обладают этим знанием и на метриках уже «собаку съели». Они научат правильно применять метрики, говорить с бизнесом и продактами на одном языке во благо разрабатываемому решению.
❓В каких сферах применимы метрики? Сергей Воробьёв объяснит как использовать популярные виды метрик и где брать для них данные.
❓Как принимать решения на основе метрик? Сергей Петрук из QIWI владеет этой магией: проведёт воркшоп по фреймворку принятия решений, разберёт реальные кейсы.
❓Как говорить с бизнесом на языке метрик? Серафима Чекулаева поделится священными тайнами продуктовых метрик и их потенциальной пользой.
Билеты уже на сайте, забирай свой!
https://podlodka.io/tlcrew
Обновления SwiftUI Field Guide
За месяц, прошедший с первого релиза, новый проект Криса Эйдхофа, интерактивный учебник The SwiftUI Field Guide, продолжает активно обновляться. Вот какие разделы там появились:
👉Safe Areas
👉Debugging Techniques
👉Introduction to SwiftUI
👉Alignment
👉Flow Layout
👉Stack Alignment
За месяц, прошедший с первого релиза, новый проект Криса Эйдхофа, интерактивный учебник The SwiftUI Field Guide, продолжает активно обновляться. Вот какие разделы там появились:
👉Safe Areas
👉Debugging Techniques
👉Introduction to SwiftUI
👉Alignment
👉Flow Layout
👉Stack Alignment
Benchmark – новый пакет для измерений перфоманса
Swift в своем блоге выложили статью про Benchmark, пакет для автоматизации тестирования перфоманса, который умеет работать с кучей разных метрик.
GitHub
Swift в своем блоге выложили статью про Benchmark, пакет для автоматизации тестирования перфоманса, который умеет работать с кучей разных метрик.
GitHub
Как начать писать игры под Playdate
Недавно я рассказывал, что на Swift теперь можно писать игры под консоль Playdate. Держите документацию от разработчиков консоли с подробными гайдами по настройке окружения, написанию своей первой игры и ее запуску на симуляторе.
Недавно я рассказывал, что на Swift теперь можно писать игры под консоль Playdate. Держите документацию от разработчиков консоли с подробными гайдами по настройке окружения, написанию своей первой игры и ее запуску на симуляторе.
Как улучшить нейминг SwiftUI компонентов
Простая идея по тому, как уменьшить количество классов вроде
Простая идея по тому, как уменьшить количество классов вроде
BlablablaDescriptionView
у вас в коде – вместо View использовать класс оборачиваемого элемента.Зачем переключаться с Xcode на Neovim
👉В отличие от Xcode, у Neovim есть мощная система плагинов, которая позволяет как писать собственные, так и модифицировать чужие.
👉ШОРТКАТЫ! Их много, а их хорошее знание повышает продуктивность во много раз.
👉Можно полностью отказаться от использования мыши или тачпада.
👉В процессе работы с Neovim вы научитесь чаще использовать терминал, и за счет разных утилит тоже прокачаете свою продуктивность.
👉Вы сможете открыть хоть все свои проекты одновременно, не боясь того, что закончится оперативка.
👉Если вы решите сменить техстек, все навыки Neovim останутся с вами.
👉В отличие от Xcode, у Neovim есть мощная система плагинов, которая позволяет как писать собственные, так и модифицировать чужие.
👉ШОРТКАТЫ! Их много, а их хорошее знание повышает продуктивность во много раз.
👉Можно полностью отказаться от использования мыши или тачпада.
👉В процессе работы с Neovim вы научитесь чаще использовать терминал, и за счет разных утилит тоже прокачаете свою продуктивность.
👉Вы сможете открыть хоть все свои проекты одновременно, не боясь того, что закончится оперативка.
👉Если вы решите сменить техстек, все навыки Neovim останутся с вами.
Forwarded from Teamlead Good Reads – тимлиды, архитектура, менеджмент людей и разработки (Egor Tolstoy)
Как декомпозировать проекты
Уметь декомпозировать свою работу на маленькие составные кусочки – это навык, которому довольно сложно научить. На ум просится довольно пошлое сравнение с ездой на велосипеде. Если вы попробовали декомпозировать проект, сделали это фигово, настрадались от своего кривого подхода сами или заставили страдать других людей, то в следующий раз, скорее всего, получится лучше.
Автор статьи делает попытку алгоритмизировать свой опыт. Мне кажется, получилось довольно неплохо, и я сохранил себе статью, чтобы в будущем скидывать джунам. Алгоритм такой:
👉Перечислите все задачи, которые на ваш взгляд надо сделать, чтобы завершить проект.
👉Для каждой задачи выпишите последовательный список шагов, которые надо сделать, чтобы ее завершить.
👉Посмотрите на каждую задачу, и попробуйте понять, достаточно ли конкретно она определена. Понять это помогут несколько вопросов: "Понятно ли, какое изменение требуется сделать?", "Могу ли я понять, как должна выглядеть задача в состоянии сделано?", "Если я превращу список шагов в тудушки, достаточно ли сделать их все, чтобы выполнить задачу?", "Достаточно ли у меня информации, чтобы начать работать над задачей прямо сейчас?".
Уметь декомпозировать свою работу на маленькие составные кусочки – это навык, которому довольно сложно научить. На ум просится довольно пошлое сравнение с ездой на велосипеде. Если вы попробовали декомпозировать проект, сделали это фигово, настрадались от своего кривого подхода сами или заставили страдать других людей, то в следующий раз, скорее всего, получится лучше.
Автор статьи делает попытку алгоритмизировать свой опыт. Мне кажется, получилось довольно неплохо, и я сохранил себе статью, чтобы в будущем скидывать джунам. Алгоритм такой:
👉Перечислите все задачи, которые на ваш взгляд надо сделать, чтобы завершить проект.
👉Для каждой задачи выпишите последовательный список шагов, которые надо сделать, чтобы ее завершить.
👉Посмотрите на каждую задачу, и попробуйте понять, достаточно ли конкретно она определена. Понять это помогут несколько вопросов: "Понятно ли, какое изменение требуется сделать?", "Могу ли я понять, как должна выглядеть задача в состоянии сделано?", "Если я превращу список шагов в тудушки, достаточно ли сделать их все, чтобы выполнить задачу?", "Достаточно ли у меня информации, чтобы начать работать над задачей прямо сейчас?".
Swift on Server 2024
Рабочая группа, занимающаяся развитием серверного Swift, рассказала про текущее положение дел и планы на следующий год.
👉Опубликованы результаты большого опроса про то, с какими проблемами сталкиваются разработчики.
👉Экосистема продолжает расти, особенно отмечают процесс инкубации новых пакетов и участие в GSoC.
👉Structured concurrency адоптится и новыми пакетами, и фундаментальными существующими, вроде SwiftNIO.
👉Важный новый тулинг: Swiftly, Dependabot, Chiseled Containers, OpenAPI generator.
👉Фокусы на 2024: усиленный маркетинг, подготовка к Swift 6, дальнейший адопшн Swift Concurrency.
Рабочая группа, занимающаяся развитием серверного Swift, рассказала про текущее положение дел и планы на следующий год.
👉Опубликованы результаты большого опроса про то, с какими проблемами сталкиваются разработчики.
👉Экосистема продолжает расти, особенно отмечают процесс инкубации новых пакетов и участие в GSoC.
👉Structured concurrency адоптится и новыми пакетами, и фундаментальными существующими, вроде SwiftNIO.
👉Важный новый тулинг: Swiftly, Dependabot, Chiseled Containers, OpenAPI generator.
👉Фокусы на 2024: усиленный маркетинг, подготовка к Swift 6, дальнейший адопшн Swift Concurrency.
Swift.org
SSWG 2024 Annual Update
In this annual post, the Swift Server WorkGroup (SSWG) reflects on the community, ecosystem-wide accomplishments and the workgroup’s focus areas for the year ahead.
Новые выпуски Подлодки
Я периодически залетаю сюда с дайджестом релевантных каналу выпусков Подлодки за последнее время. Так вот, их как раз накопилось несколько штук!
🇬🇧Саша Зимин, которого знает каждый уважающий себя айосер, рассказал про свой опыт переезда и жизни в UK. А я добавил про свой опыт получения Global Talent визы.
⏰Никита Прокопов записал фундаментальный выпуск про сложности задач работы с датой и временем.
📚Вместе с Виталием Брагилевским записали экспериментальный исторический выпуск про Аду Лавлейс и ее роль в истории программирования. Уникальный контент – Виталий прочитал все ее заметки в оригинале, выделил оттуда самое полезное и интересное, и детально разобрал в выпуске.
Я периодически залетаю сюда с дайджестом релевантных каналу выпусков Подлодки за последнее время. Так вот, их как раз накопилось несколько штук!
🇬🇧Саша Зимин, которого знает каждый уважающий себя айосер, рассказал про свой опыт переезда и жизни в UK. А я добавил про свой опыт получения Global Talent визы.
⏰Никита Прокопов записал фундаментальный выпуск про сложности задач работы с датой и временем.
📚Вместе с Виталием Брагилевским записали экспериментальный исторический выпуск про Аду Лавлейс и ее роль в истории программирования. Уникальный контент – Виталий прочитал все ее заметки в оригинале, выделил оттуда самое полезное и интересное, и детально разобрал в выпуске.
podlodka.io
Podcast Records
Слушайте бесплатно все выпуски подкаста Podlodka.
Как уменьшить размер приложения с помощью dynamic фреймворков
Если у вашего приложения есть экстеншны, к которым статически линкуются те же библиотеки, что и к основному таргету, вы без нужды сильно увеличиваете размер бинарника. В статье разбирается, как правильно отследить проблему и засетапить динамические фреймворки, чтобы ее решить.
Если у вашего приложения есть экстеншны, к которым статически линкуются те же библиотеки, что и к основному таргету, вы без нужды сильно увеличиваете размер бинарника. В статье разбирается, как правильно отследить проблему и засетапить динамические фреймворки, чтобы ее решить.
Про ментальное здоровье для программистов
Отличная статья про то, почему не забывать про свою менталочку – важно, и какие эвристики помогут не убиваться на работе. Моя любимая мысль – не все дедлайны одинаково важны, а некоторые – вообще высосаны из пальца.
Отличная статья про то, почему не забывать про свою менталочку – важно, и какие эвристики помогут не убиваться на работе. Моя любимая мысль – не все дедлайны одинаково важны, а некоторые – вообще высосаны из пальца.
Vadim Kravcenko
Mental Health in Software Engineering
I want to talk about something we don't discuss enough in our field: the mental health of software engineers, especially those of us who've taken on the