Код должен быть понятным человеку. Краткость — не самоцель. Понятность важнее.
“Clean Code” — Роберт Мартин
Продолжаю перечитывать книгу и хотел затронуть эту тему. Мы уже делали опрос ранее и выяснили, что лаконичность не всегда хорошо. Иногда лучше добавить чуть больше деталей или использовать понятные конструкции, чем сократить код до минимума.
«Стремясь уменьшить объем кода наших классов и методов, мы можем наплодить слишком много крошечных классов и методов»
Рефакторинг точно входит в топ задач разрабов. Их дают как в жизни, так и на интервью. Кандидату дают плохой код с пометкой "его писал джун" и просят его переписать. Так оценивается насмотренность кандидата и его понимание стандартов качество, много ли комментариев придется писать ему на ревью.
В крупных компаниях может быть до 50-100 реквестов в день и кодревью занимает очень много времени. Это большая и долгая работа. Требует как высоких технических навыков, так и коммуникативных, чтобы ни с кем не посраться.
Мы уже разбирали задачи с рефакторингом кода:
Давайте разберем на скриншотах детальней.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Позаботимся о памяти при использовании value-типов
Прикольный доклад, где поднимается тема некопируемых типов в реальном проекте. Совсем недавно в большом цикле про память их уже обсудили в рамках статей, и даже делали тестовые примеры. А уже это рассказывают на докладах. Ребята из озона хорошо раскрыли тему как это все помогает на практике. Плюс одна большая тема для обсуждений на собесах😂
🟣 Как некопируемые типы помогают в разработке
🟣 Зачем некопируемый тип использовать в запросах
🟣 Как это всё помогает в пагинации и сокетах
🟣 Как связан Rust и Swift
Мне же не хватило больше метрик и более осязаемых результатов: пользовательский опыт или отзывы разрабов, скорость билда, перфоманс, продуктовые метрики.
Еще больше информации про некопируемые типы:
- consume noncopyable types in Swift
- ~Escapable
Прикольный доклад, где поднимается тема некопируемых типов в реальном проекте. Совсем недавно в большом цикле про память их уже обсудили в рамках статей, и даже делали тестовые примеры. А уже это рассказывают на докладах. Ребята из озона хорошо раскрыли тему как это все помогает на практике. Плюс одна большая тема для обсуждений на собесах
Мне же не хватило больше метрик и более осязаемых результатов: пользовательский опыт или отзывы разрабов, скорость билда, перфоманс, продуктовые метрики.
Еще больше информации про некопируемые типы:
- consume noncopyable types in Swift
- ~Escapable
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Алексей Таран — Позаботимся о памяти при использовании value-типов
Подробнее о конференции Mobius: https://jrg.su/ojGU3B
— —
Скачать презентацию с сайта Mobius — https://jrg.su/HtMFMt
Начиная со Swift 5.9 миру была представлена концепция некопируемости для структур и перечислений. В числе возможных кейсов, где этот подход…
— —
Скачать презентацию с сайта Mobius — https://jrg.su/HtMFMt
Начиная со Swift 5.9 миру была представлена концепция некопируемости для структур и перечислений. В числе возможных кейсов, где этот подход…
Как эффективно работать со SwiftUI в продакшене? Внедрение в существующие проекты, тестирование, производительность, архитектура — вопросов по-прежнему много. Как сделать так, чтобы всё работало?
Новый сезон онлайн-конференции Podlodka iOS Crew (31 марта – 4 апреля) будет посвящен SwiftUI.
Глубокие доклады, технические разборы и реальные кейсы от опытных разработчиков. Сессии идут утром и вечером, можно совмещать с работой.
💡 Где печется SwiftUI — Георгий Остроброд (JigSpace, Latook Software) объяснит, как связаны SwiftUI и Metal, и покажет магию визуальных эффектов.
🛠 Как макросы изменили навигацию — Михаил Рубанов (Dodo Engineering) покажет, как макросы упрощают код, помогают объединять SwiftUI и UIKit и создают удобную навигацию, которую легко тестировать.
🏗 Архитектурные паттерны в SwiftUI — Борис Бугор (Aiphoria.AI) сравнит MVVM, Redux и TCA, чтобы выбрать лучший подход к управлению состоянием.
🔄 Из SwiftUI в UIKit и обратно — Дмитрий Куркин (Xymatic) разберёт грамотную интеграцию этих фреймворков без хаков.
Конференция сосредоточена на практической пользе – всё, что узнаете, можно сразу применять в работе.
👉 Билеты и подробности: https://podlodka.io/ioscrew 🎟
Новый сезон онлайн-конференции Podlodka iOS Crew (31 марта – 4 апреля) будет посвящен SwiftUI.
Глубокие доклады, технические разборы и реальные кейсы от опытных разработчиков. Сессии идут утром и вечером, можно совмещать с работой.
💡 Где печется SwiftUI — Георгий Остроброд (JigSpace, Latook Software) объяснит, как связаны SwiftUI и Metal, и покажет магию визуальных эффектов.
🛠 Как макросы изменили навигацию — Михаил Рубанов (Dodo Engineering) покажет, как макросы упрощают код, помогают объединять SwiftUI и UIKit и создают удобную навигацию, которую легко тестировать.
🏗 Архитектурные паттерны в SwiftUI — Борис Бугор (Aiphoria.AI) сравнит MVVM, Redux и TCA, чтобы выбрать лучший подход к управлению состоянием.
🔄 Из SwiftUI в UIKit и обратно — Дмитрий Куркин (Xymatic) разберёт грамотную интеграцию этих фреймворков без хаков.
Конференция сосредоточена на практической пользе – всё, что узнаете, можно сразу применять в работе.
👉 Билеты и подробности: https://podlodka.io/ioscrew 🎟
Чистый код: разбитые окна и ментальные модели
Чистый код — это хорошо сформулированный и продуманный код.
Перечитываю чистый код и понимаю, что эта та книга, к которой не стоит торопиться. Читая её, когда у меня было 1-2 года, многие мысли для меня были "очевидными" и книга казалась довольно примитивной. Я считал "Зачем читать книги, если есть статьи?". Также вижу как сейчас думают многие, только с LLM.
Ну что глубокого может быть в этой книге? Ну сказали тебе вынести константы в переменные, ну переименуй функции, ну декомпозируй на классы. Вроде все банально и просто. Но вот чтобы понять "для чего это всё" нужно довольно много ресурсов, опыта, шишек и времени.
Есть множество книг, к которым нужно придти подготовленным. Иметь багаж знаний, опыт, насмотренность, навыки. Не нужно перепрыгивать по карьерной лестнице, торопиться быть менеджером, блогером и отказываться от кодинга. Не получив нужную подготовку ты просто не поймешь многих деталей и нюансов. Об них ты будешь вечно спотыкаться, а когда тебе в очередной раз тыкнут в причину твоей неудачи ты просто снова будешь к ней слеп.
Например, мне очень нравится, как Мартин разбирает код как зеркало процессов и ментальных моделей команды. Связывая качество кода с теорией разбитых окон.
Чем больше в коде мелких правонарушений, тем их будет больше и за рамками кода. Что приведт к краху системы или к критической точки энтропии, которая увеличит хаос до таких размеров, где придется отказываться от поддержки и писать продукт с нуля.
Можно повторять эти слова, делая вид, что усвоил. Но отсутствие чуйки и понимания выдаст непройденные уроки.
Чистый код — это хорошо сформулированный и продуманный код.
Перечитываю чистый код и понимаю, что эта та книга, к которой не стоит торопиться. Читая её, когда у меня было 1-2 года, многие мысли для меня были "очевидными" и книга казалась довольно примитивной. Я считал "Зачем читать книги, если есть статьи?". Также вижу как сейчас думают многие, только с LLM.
Ну что глубокого может быть в этой книге? Ну сказали тебе вынести константы в переменные, ну переименуй функции, ну декомпозируй на классы. Вроде все банально и просто. Но вот чтобы понять "для чего это всё" нужно довольно много ресурсов, опыта, шишек и времени.
Есть множество книг, к которым нужно придти подготовленным. Иметь багаж знаний, опыт, насмотренность, навыки. Не нужно перепрыгивать по карьерной лестнице, торопиться быть менеджером, блогером и отказываться от кодинга. Не получив нужную подготовку ты просто не поймешь многих деталей и нюансов. Об них ты будешь вечно спотыкаться, а когда тебе в очередной раз тыкнут в причину твоей неудачи ты просто снова будешь к ней слеп.
Например, мне очень нравится, как Мартин разбирает код как зеркало процессов и ментальных моделей команды. Связывая качество кода с теорией разбитых окон.
Теория утверждает, что попустительство общества к мелким правонарушениям, таким как выбрасывание мусора в неустановленных для этого местах, вандализм, публичное пьянство, прыжки через турникеты в метро и прочие, непосредственно провоцирует людей на совершение аналогичных или более серьёзных правонарушений.
Чем больше в коде мелких правонарушений, тем их будет больше и за рамками кода. Что приведт к краху системы или к критической точки энтропии, которая увеличит хаос до таких размеров, где придется отказываться от поддержки и писать продукт с нуля.
Из всех правил я уделяю основное внимание дублированию. Если что-то делается в программе снова и снова, это свидетельствует о том, что какая-то мысленная концепция не нашла представления в коде. Я пытаюсь понять, что это такое, а затем пытаюсь выразить идею более четко.
Можно повторять эти слова, делая вид, что усвоил. Но отсутствие чуйки и понимания выдаст непройденные уроки.
Кстати, ищу крутых разрабов/манагеров/гостей для подкаста, воркшопа или мок-собеса. Темы:
🔘 BDUI
🔘 CI/CD
🔘 LLM
🔘 Опыт в FAANG
🔘 Опыт в крутых продуктовых или платформенных командах
🔘 Сложные задачи на SUI
🔘 мок-собесы
🔘 кроссплатформа
🔘 опыт разработки нестандартных фич
Если у тебя есть желание поделиться опытом из этих тем, или у тебя есть свои интересные темы, то пиши
@lvbond
Если у тебя есть желание поделиться опытом из этих тем, или у тебя есть свои интересные темы, то пиши
@lvbond
Please open Telegram to view this post
VIEW IN TELEGRAM
Почему учить других – хороший способ учиться самому
Довольно очевидная статья, но повторяет важные пункты почему обучение других — полезно для обучения себя:
🟣 Хочешь по-настоящему понять тему — попробуй объяснить её другим.
🟣 Чтобы донести суть, нужно упростить, найти примеры — и сам начинаешь лучше понимать.
🟣 Когда сам недавно разобрался, хорошо помнишь, где было непонятно — можешь объяснить проще.
🟣 Когда знаешь, что надо учить других — меньше тормозишь и глубже погружаешься.
Довольно очевидная статья, но повторяет важные пункты почему обучение других — полезно для обучения себя:
Please open Telegram to view this post
VIEW IN TELEGRAM
hardmodefirst.xyz
Teach to Learn: Why Sharing What You Know Makes You Smarter
Considering the powerful possibility that each of us is a learning, and a teacher, all the time
1 6
Media is too big
VIEW IN TELEGRAM
Наконец я сделал первый ролик. В лучших традициях современных трендов под клиповое мышление и зумеров.
Это подборка коротких популярных задач. Совмещаем приятное с полезным. Начнем с управления памятью.
Некоторые из них вы можете найти в ноушене, но я все же решил разобрать их. Так они идеально оценивают:
Пройдя ревью у своего чата я сделал максимально удобный для аудитории формат. Особое внимание не только актуальности контента и содержанию, но и стилю с формой. Визуал должен решать и я не пожалел на него времени и креативных сил. Хорошая визуализация закрепляет знания и лучше отпечатывает в памяти.
В 2025 будет очень много видео контента. Обещаю раз в 2 недели выпускать:
Ну и конечно с моим опытом качество формы и содержания контента будет улучшаться.
Все же видеоформат это один из ключевых форматов в обучении. Ставьте лайки.
Please open Telegram to view this post
VIEW IN TELEGRAM
О чем делать преимущественно контент следующий месяц?
Anonymous Poll
36%
SwiftUI
37%
Swift Concurrency
14%
Память
16%
UIKit
23%
Архитектуры
24%
Систем дизайн
26%
Многопоточность
17%
Чистый код
17%
Принципы программирования
23%
О чем хочешь
Сила обратной связи. Топливо программиста
Почти 20 лет назад я уехал из маленького села и всю жизнь боюсь в него вернуться.
Искал свое место в большом мире. И найдя класс информатика, где стоят компы с интернетом, открыл окно в мир. Это сейчас кажется, что интернет что-то обычные. А тогда, когда света не было месяцами, а расстояния между городами были большими, интернет казался магией.
Любопытство и желание изучить мир всегда двигали создать микро-ячейки общества. В 8ом классе я создал группу своего поселка, чтобы люди делились интересными новостями. На 3ом курсе колледжа создал аналог "Подслушано", где хотел собрать все его важные новости, делиться советами и гайдами. Я даже был наивен и думал это поможет сплотить друг друга, чтобы мы были полезны и решали общие проблемы. Но кроме сплетен это ни во что не вытекло. Как мы так не ценим то, что дано? Не используем эффективно такой мощный ресурс.
В знании сила, как говорила моя семья учителей. Создавая этот канал я также стремился собрать агрегатор полезной информации. Никаких маркетинговых планов, только желание сложить всё самое нужное. Обмениваться толковой инфой.
Ведь без обратной связи весь наш путь не имеет смысла. Я могу закрыться в комнате с книжкой, но ту ли книжку я читаю и правильно ли я её пойму? Создам ли я вакуумный пузырь, как тот мой колхоз, из которого я всю жизнь пытался сбежать и который до сих пор снится мне в кошмарах? Ответить на это мне поможет только мое окружение.
Чтение книг, документаций, статей, пет-проекты — всё это бесполезно и даже опасно в соло. Мы не станем лучше, если будем закрываться в комнате и жадно питаться любыми знаниями. Нам нужна обратная связь и люди. Кодревью, комментарии мыслям, конференции, комьюнити, критика и даже похвала.
Весь путь неэффективен, если ты не получаешь обратную связь. Не подскажут где подтянуть минусы, не похвалят плюсы.
Для меня важно, чтобы эксперт был практиком. Если он не пишет код и ушел от регулярных задач, не работает в найме или не встречается ежедневно с теми проблемами, с которыми боремся мы, то в чем его экспертиза? Он сам отказался от пути образования и начал быть теориком. Его экспертиза строится на пересказах и чужих проекциях. Это второсортные истории, перегоны. Все его советы — пересказы и повторение чужих слов. Они не подкреплены действиями.
Что происходит без обратной связи
🔘 Без мнения извне начинаешь вариться в собственных решениях. Иногда — неправильных. И даже не узнаешь об этом.
🔘 Нет практики обсуждения — нет улучшения архитектурного мышления. Начинаешь проектировать так, как удобно тебе, а не как удобно команде и бизнесу
🔘 Без того, чтобы кто-то сказал «тут можно проще», «это нечитабельно», «так не масштабируется», ты не замечаешь своих слепых зон.
🔘 Чем дольше без фидбэка — тем страшнее его получать. Начинаешь воспринимать любую критику как атаку, а не как помощь.
🔘 Опытные коллеги — это навигаторы. Они могут подсказать, куда расти, на что обратить внимание, что учить дальше. Без них можно ходить кругами.
Лучшая обратная связь — практика. Она указывает кто есть кто. Ставит на места и сортирует по справедливости.
Почти 20 лет назад я уехал из маленького села и всю жизнь боюсь в него вернуться.
Искал свое место в большом мире. И найдя класс информатика, где стоят компы с интернетом, открыл окно в мир. Это сейчас кажется, что интернет что-то обычные. А тогда, когда света не было месяцами, а расстояния между городами были большими, интернет казался магией.
Любопытство и желание изучить мир всегда двигали создать микро-ячейки общества. В 8ом классе я создал группу своего поселка, чтобы люди делились интересными новостями. На 3ом курсе колледжа создал аналог "Подслушано", где хотел собрать все его важные новости, делиться советами и гайдами. Я даже был наивен и думал это поможет сплотить друг друга, чтобы мы были полезны и решали общие проблемы. Но кроме сплетен это ни во что не вытекло. Как мы так не ценим то, что дано? Не используем эффективно такой мощный ресурс.
В знании сила, как говорила моя семья учителей. Создавая этот канал я также стремился собрать агрегатор полезной информации. Никаких маркетинговых планов, только желание сложить всё самое нужное. Обмениваться толковой инфой.
Ведь без обратной связи весь наш путь не имеет смысла. Я могу закрыться в комнате с книжкой, но ту ли книжку я читаю и правильно ли я её пойму? Создам ли я вакуумный пузырь, как тот мой колхоз, из которого я всю жизнь пытался сбежать и который до сих пор снится мне в кошмарах? Ответить на это мне поможет только мое окружение.
Чтение книг, документаций, статей, пет-проекты — всё это бесполезно и даже опасно в соло. Мы не станем лучше, если будем закрываться в комнате и жадно питаться любыми знаниями. Нам нужна обратная связь и люди. Кодревью, комментарии мыслям, конференции, комьюнити, критика и даже похвала.
Весь путь неэффективен, если ты не получаешь обратную связь. Не подскажут где подтянуть минусы, не похвалят плюсы.
Для меня важно, чтобы эксперт был практиком. Если он не пишет код и ушел от регулярных задач, не работает в найме или не встречается ежедневно с теми проблемами, с которыми боремся мы, то в чем его экспертиза? Он сам отказался от пути образования и начал быть теориком. Его экспертиза строится на пересказах и чужих проекциях. Это второсортные истории, перегоны. Все его советы — пересказы и повторение чужих слов. Они не подкреплены действиями.
Что происходит без обратной связи
Лучшая обратная связь — практика. Она указывает кто есть кто. Ставит на места и сортирует по справедливости.
Please open Telegram to view this post
VIEW IN TELEGRAM
По результатам голосования весь следующий месяц мы преимущественно будем говорить про SwiftUI.
Я придумал новый формат. Теперь будут темы месяца, где мы в начале и конце будем делать:
Только реальная и полезная информация на практике.
Такой формат будет более комплексным и системным. Поможет держать фокус и внимание. А также поможет всем нам лучше закрепить и структурировать темы. Сделать наши знания качественней.
Please open Telegram to view this post
VIEW IN TELEGRAM
Computer Sience и дисциплина мозга
Говорят, рынок умер. Но не для всех.
Сейчас для своего контента переслушиваю книгу "История на миллион долларов" и сильно срезанировала одна мысль:
Также идет сериал "Киностудия" и я уже за две серии его считаю гениальным. Где в уникальной форме рассказывается история о внутреннем конфлитке творца и маркетолога. Что важнее, создать крутой фильм и получить признание и славу в тусовке или склепать очередное говно для кассовых сборов?
Сейчас же IT медиа в кризисе идей. Шаблонные рассказы и поверхностные формы. Копии чужих идей и адаптации. Я считаю, что то же самое применимо в программировании.
Те, кто боится или не хочет копать вглубь, или выходить за необходимые стандарты на практике — будет рассказывать поверхностные истории.
Ключевой мыслью данного канала всегда является непрерывное развитие, делать больше и лучше, чем требуется. Поднимать планку независимо от справедливости вознаграждения. Это вечная и старая идея, но с современной формой.
Можно ли быть программистом не решая алгоритмы? Конечно. Но опыт многих и исследования показывают разницу когнитивных навыков.
Также как и можно лутать бабки писав только говнокод? Можно. Но сомнительно, что вы выдержите конкуренцию против тех, кто принесет проекту идеи лучше.
Можно ли жить долго, не занимаясь спортом и питаясь только бургером с двойной котлетой? Можно. Но качество жизни будет спорным.
Также и тут. Мы ищем лучшие практики и идеи. Внедряем спорт и фитнес в нашу инженерную жизнь и убираем вредные привычки. Тем самым находим новые смыслы и истории.
Рынок изменился. Ни один временный тренд не будет жизнеспособней вечных принципов.
Теперь легче пройти реальный путь, чем сфабриковать или считерить. Вы не устали петь одну и ту же песню три года? Система уже выпустила пачт, билд понерфили. Самой динамичной сфере надоел летний поверхностный трек группы одного хита. Ей нужны фрешмены. Люди с новыми идеями и подходами. Свежая версия обновлений.
Накрутчики сами стали гейткиперами. Теми, кто отказывается верить, что их методы перестали работать. Одни жадно цепляются за единственный источник дохода, ностальгируют по былым временам. Не хотят принимать реальность.
Я считаю, что путь «казаться, а не быть» — самый проигрышный на долгосрочной дистанции. Это как стероид, после которого импотенция. Не нужно загонять себя в клетку, где лежит бесплатный сыр. Ты станешь поверхностным пересмешником, который повторяет одну и ту же идею много лет. Выпуская ремастеры старых выпусков, вместо движения вперед. Не улучшаясь и не прогрессируя.
В нашем чате выделили главный навык для программиста — уметь адаптироваться. И это поможет только регулярная практика и умение адаптироваться к новым правилам, которые могут показаться абсурдными.
Говорят, рынок умер. Но не для всех.
Сейчас для своего контента переслушиваю книгу "История на миллион долларов" и сильно срезанировала одна мысль:
История – это не только то, что вы должны рассказать, но и то, как вы это сделаете. Если содержание банально, то и повествование будет шаблонным, а при наличии глубокого и оригинального замысла композиция сценария окажется уникальной. Обыденная и предсказуемая история потребует стереотипных персонажей для изображения избитых характеров. Для воплощения же новаторской задумки понадобятся оригинальная обстановка, исключительные персонажи и идеи.
Также идет сериал "Киностудия" и я уже за две серии его считаю гениальным. Где в уникальной форме рассказывается история о внутреннем конфлитке творца и маркетолога. Что важнее, создать крутой фильм и получить признание и славу в тусовке или склепать очередное говно для кассовых сборов?
Сейчас же IT медиа в кризисе идей. Шаблонные рассказы и поверхностные формы. Копии чужих идей и адаптации. Я считаю, что то же самое применимо в программировании.
Те, кто боится или не хочет копать вглубь, или выходить за необходимые стандарты на практике — будет рассказывать поверхностные истории.
Ключевой мыслью данного канала всегда является непрерывное развитие, делать больше и лучше, чем требуется. Поднимать планку независимо от справедливости вознаграждения. Это вечная и старая идея, но с современной формой.
Можно ли быть программистом не решая алгоритмы? Конечно. Но опыт многих и исследования показывают разницу когнитивных навыков.
Также как и можно лутать бабки писав только говнокод? Можно. Но сомнительно, что вы выдержите конкуренцию против тех, кто принесет проекту идеи лучше.
Можно ли жить долго, не занимаясь спортом и питаясь только бургером с двойной котлетой? Можно. Но качество жизни будет спорным.
Также и тут. Мы ищем лучшие практики и идеи. Внедряем спорт и фитнес в нашу инженерную жизнь и убираем вредные привычки. Тем самым находим новые смыслы и истории.
Рынок изменился. Ни один временный тренд не будет жизнеспособней вечных принципов.
Теперь легче пройти реальный путь, чем сфабриковать или считерить. Вы не устали петь одну и ту же песню три года? Система уже выпустила пачт, билд понерфили. Самой динамичной сфере надоел летний поверхностный трек группы одного хита. Ей нужны фрешмены. Люди с новыми идеями и подходами. Свежая версия обновлений.
Накрутчики сами стали гейткиперами. Теми, кто отказывается верить, что их методы перестали работать. Одни жадно цепляются за единственный источник дохода, ностальгируют по былым временам. Не хотят принимать реальность.
Я считаю, что путь «казаться, а не быть» — самый проигрышный на долгосрочной дистанции. Это как стероид, после которого импотенция. Не нужно загонять себя в клетку, где лежит бесплатный сыр. Ты станешь поверхностным пересмешником, который повторяет одну и ту же идею много лет. Выпуская ремастеры старых выпусков, вместо движения вперед. Не улучшаясь и не прогрессируя.
В нашем чате выделили главный навык для программиста — уметь адаптироваться. И это поможет только регулярная практика и умение адаптироваться к новым правилам, которые могут показаться абсурдными.
Литрес
История на миллион долларов: Мастер-класс для сценаристов, писателей и не только — Роберт Макки | Литрес
Рассказывать истории приходится людям разных профессий – не только писателям и сценаристам. Ведь зачастую, обдумывая доклад или презентацию, мы стараемся не ограничиваться скучным набором фактов. Но …
Ну что, потихоньку начинаем разгоняться. Следующий месяц мы говорим преимущественно про SwiftUI. Поэтому принес на разогревку полезные WWDC секции.
А в закрытой базе уже лежит два роадмапа
Please open Telegram to view this post
VIEW IN TELEGRAM
Apple Developer
Introduction to SwiftUI - WWDC20 - Videos - Apple Developer
Explore the world of declarative-style programming: Discover how to build a fully-functioning SwiftUI app from scratch as we explain the...
Андроид лучшая операционная система
Божественно красивая и удобная. Завязываю с iOS разработкой и начинаю пилить курсы по KMP, Compose.
Божественно красивая и удобная. Завязываю с iOS разработкой и начинаю пилить курсы по KMP, Compose.
Как использовать Cursor AI в iOS
Сейчас курсор — лучшая тулза для кодинга. У меня 3 подписки на LLM: Cursor, Claude, ChatGPT. Каждая выполняет свои задачи хорошо и с каждой нужно знакомиться.
Все они существенно упрощают и меняют опыт разработки. Когда раньше мы бегали в форумы, чаты или стэковерфлоу, то сейчас остались 1 на 1 с LLM.
К концу недели разберу даже пару гайдов как и где мне помогает Cursor. А еще слышал, что в некоторых командах яндекса cursor помогает автоматизировать кодревью бэка, мобилки и qa😎
Нашел хороший обозревательный ролик, который поможет лучше понять инструмент
Сейчас курсор — лучшая тулза для кодинга. У меня 3 подписки на LLM: Cursor, Claude, ChatGPT. Каждая выполняет свои задачи хорошо и с каждой нужно знакомиться.
Все они существенно упрощают и меняют опыт разработки. Когда раньше мы бегали в форумы, чаты или стэковерфлоу, то сейчас остались 1 на 1 с LLM.
К концу недели разберу даже пару гайдов как и где мне помогает Cursor. А еще слышал, что в некоторых командах яндекса cursor помогает автоматизировать кодревью бэка, мобилки и qa
Нашел хороший обозревательный ролик, который поможет лучше понять инструмент
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
How to use Cursor AI for iOS App Development (5 Techniques)
Learn five ways to use Cursor AI for iOS app development. You'll also learn how to set it up and use it with Xcode. You'll learn how to build apps from scratch, how to add features to an existing app, how to reverse engineer user interfaces and more!
In…
In…
Начиная изучать SwiftUI мы должны немного перестроить свое мышление. Это часто советуют уже опытные разработчики, когда переходят с UIKit. Важно не только хорошо изучить АПИ фреймворка, но и понять его философию. Так глубже и лучше поймешь применимость.
Собрал краткие советы с примерами.
UIKit имеет императивный, где мы явно указываем КАК построить интерфейс. То SwiftUI декларативный, где мы описываем ЧТО должно отображаться.
UIKit это про ручное обновление UI при изменении данных. SwiftUI про автоматическое обновление UI благодаря привязке к состоянию (@State, @Binding, @ObservedObject)
UIKit чаще это про Auto Layout с constraints. SwiftUI в основе стеков (VStack, HStack, ZStack)
Как же перестроить мышление?
UIKit это обработка событий и обновление UI. SwiftUI про обновление состояния, UI обновляется автоматически
UIKit часто использует наследование. SwiftUI строится на композиции небольших вью
Используйте правильные property wrappers (@State, @Binding, @ObservedObject, @EnvironmentObject)
Познакомьтесь с жизненным циклом SwiftUI (onAppear, onDisappear вместо viewDidLoad и т.д.). Это лучше даст понять легкость и простоту фреймворка.
В UIKit вы изменяете объект напрямую, присваивая значения его свойствам. В SwiftUI вы применяете модификаторы к представлению, и каждый модификатор создает новое представление с примененными изменениями. Где каждая операция возвращает новое неизменяемое вью
Какие советы вы бы добавили?
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1 19 3