Как начать писать игры под 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
Как работать с закладками в Xcode
Начиная с Xcode 15, помимо обычных тудушек появилась возможность создавать и организовывать закладки по коду.
👉Их можно объединять в группы
👉Любую закладку можно пометить как выполненную
👉В качестве закладки можно использовать поисковый запрос
Начиная с Xcode 15, помимо обычных тудушек появилась возможность создавать и организовывать закладки по коду.
👉Их можно объединять в группы
👉Любую закладку можно пометить как выполненную
👉В качестве закладки можно использовать поисковый запрос
Канал Apple Developer на YouTube
Главное событие 2024 – Apple завели канал на YouTube, и начали выкладывать туда видео для разработчиков. Пока там только сессии с WWDC23, но, надеюсь, со временем появится и что-то уникальное.
Главное событие 2024 – Apple завели канал на YouTube, и начали выкладывать туда видео для разработчиков. Пока там только сессии с WWDC23, но, надеюсь, со временем появится и что-то уникальное.
Остались считанные часы до старта Podlodka iOS Crew!
Если пропустили – завтра мы начинаем сезон про хардкорный UI! Сложные анимации, хитрые оптимизации, перформанс – в общем, все, что нужно, чтобы поставить на место конкурентов.
Ну и чтобы вы поменьше сомневались, по промокоду
Забрать билет💥
Если пропустили – завтра мы начинаем сезон про хардкорный UI! Сложные анимации, хитрые оптимизации, перформанс – в общем, все, что нужно, чтобы поставить на место конкурентов.
Ну и чтобы вы поменьше сомневались, по промокоду
FINAL_CHANCE
скидка на билеты для тех, кто в воскресенье готов сделать планы на грядущую неделю чуточку интереснее. Никогда не знаешь, в какой момент понадобится вывести свой UI на новый уровень!Забрать билет
Please open Telegram to view this post
VIEW IN TELEGRAM
Dude Where Is My Touch Bar
Если в macOS приложении в
Если в macOS приложении в
NSUserDefaults
выставить YES
для ключа _NS_4445425547
, то в вашем приложении появится системное дебажное меню. Главный пункт, конечно, это Dude Where Is My Touch Bar!Сервис для визуализации JSON
Смотрите, какой кайфовый сервис для того, чтобы визуализировать любой JSON в виде древовидной диаграммы. Есть и поиск, и темная тема.
Смотрите, какой кайфовый сервис для того, чтобы визуализировать любой JSON в виде древовидной диаграммы. Есть и поиск, и темная тема.
Генератор для Privacy Manifest
С недавних пор практически каждое приложение должно включать в себя специальный манифест, в котором указывается, какие типы данных оно собирает и зачем использует различные неблагополучные фреймворки и API. Так вот, продолжаем неделю полезных инструментов – держите удобный генератор этих файлов.
А вот тут – более подробная статья про него.
С недавних пор практически каждое приложение должно включать в себя специальный манифест, в котором указывается, какие типы данных оно собирает и зачем использует различные неблагополучные фреймворки и API. Так вот, продолжаем неделю полезных инструментов – держите удобный генератор этих файлов.
А вот тут – более подробная статья про него.
Про распил монолита
Автор одного из любимейших приложений на моем айфоне, трекера калорий Foodnoms, написал подробную статью про то, как он рефакторил архитектуру приложения, правильным способом разбивая его на модули.
Автор одного из любимейших приложений на моем айфоне, трекера калорий Foodnoms, написал подробную статью про то, как он рефакторил архитектуру приложения, правильным способом разбивая его на модули.
Гайд по подготовке кодовой базы к Swift 6
Официальный гайд от Apple пока еще не появился, поэтому держите довольно неплохой от коммьюнити с разбором того, какие фичи появятся, и как порефакторить код для подготовки к ним.
Официальный гайд от Apple пока еще не появился, поэтому держите довольно неплохой от коммьюнити с разбором того, какие фичи появятся, и как порефакторить код для подготовки к ним.
Medium
Swift 6 Upgrade Preparation
Swift 5 updates have been slowly building up to the release of Swift 6. Some of the major updates have been the addition of async/await…