Снова про перфоманс макросов
Я уже ссылался на эпичный тред на 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
Привет! На связи Podlodka Crew — организатор онлайн IT-конференций по разным аспектам разработки.
🔺 Хочешь создавать уникальные и высокотехнологические интерфейсы, на которые равняются другие?
Приходи на новый сезон конференции 15 апреля. Ведь в этот раз мы решили досконально разобраться в хардкорном UI. Дадим знания, которыми владеют единицы.
Разберём аспекты, которые станут вызовом даже для скилловых iOS-разработчиков. Редкие техники и инструменты, сложные кейсы и инновационные подходы — всё, чтобы создавать действительно выдающийся UI!
💜 Искусство layout`a и анимации текста. Подробно разберём каждое па этого танца с драконами в мире iOS UI.
💜 Лучшие практики и тонкости работы с анимациями на Metal в iOS-разработке. Стань железным человеком с точки зрения UI.
💜 AR-cooking. Раскроем рецепты от моделирования до управления 3D-пиццей.
💜 Перфоманс интерфейса. Окунёмся в редкие инструменты, секреты аналитики и решения распространённых проблем. Только для самых искушенных разработчиков!
© Внимание! ©
Переход по ссылке и покупка билета изменят твой перфоманс навсегда:
https://podlodka.io/ioscrew
Приходи на новый сезон конференции 15 апреля. Ведь в этот раз мы решили досконально разобраться в хардкорном UI. Дадим знания, которыми владеют единицы.
Разберём аспекты, которые станут вызовом даже для скилловых iOS-разработчиков. Редкие техники и инструменты, сложные кейсы и инновационные подходы — всё, чтобы создавать действительно выдающийся UI!
Переход по ссылке и покупка билета изменят твой перфоманс навсегда:
https://podlodka.io/ioscrew
Please open Telegram to view this post
VIEW IN TELEGRAM
Интероп Haskell и Swift
Представьте, что вы зачем-то хотите часть кода приложения написать на Haskell, и вызывать его из Swift. В статье разбирается, как правильно настраивать FFI и экспоузить нужные функции.
Представьте, что вы зачем-то хотите часть кода приложения написать на Haskell, и вызывать его из Swift. В статье разбирается, как правильно настраивать FFI и экспоузить нужные функции.
Инженерные практики, важные для больших проектов
Список практик, которые:
- Не имеют особого значения для маленьких проектов
- Значительно повышают продуктивность по мере роста проекта
- Их сложно внедрить, когда проект уже разросся
Вот некоторые из них:
👉Короткий и понятный README со ссылками на ключевые доки
👉Документация с четкой структурой, которую легко поддерживать и дополнять
👉Процессная документация, детально описывающая, как код попадает в master
👉Style guide с принятыми конвенциями
👉Бенчмаркинг
👉Fuzz testing
Список практик, которые:
- Не имеют особого значения для маленьких проектов
- Значительно повышают продуктивность по мере роста проекта
- Их сложно внедрить, когда проект уже разросся
Вот некоторые из них:
👉Короткий и понятный README со ссылками на ключевые доки
👉Документация с четкой структурой, которую легко поддерживать и дополнять
👉Процессная документация, детально описывающая, как код попадает в master
👉Style guide с принятыми конвенциями
👉Бенчмаркинг
👉Fuzz testing
matklad.github.io
Basic Things
After working on the initial stages of several largish projects, I accumulated a list of things that
share the following three properties:
share the following three properties:
Hello Developer: Апрель 2024
Новый выпуск ежемесячной рассылки Apple.
👉Новые туториалы для начинающих Swift и SwiftUI разработчиков
👉Обновления в Human Interface Guidelines
👉Статьи про устройство сборки приложений под macOS: сама сборка и подпись.
👉Интервью с разработчиками Knotwords
Новый выпуск ежемесячной рассылки Apple.
👉Новые туториалы для начинающих Swift и SwiftUI разработчиков
👉Обновления в Human Interface Guidelines
👉Статьи про устройство сборки приложений под macOS: сама сборка и подпись.
👉Интервью с разработчиками Knotwords