ChatGPT для Swift: Топ 5 подсказок для генерации кода
Для многих чатгпт стал один из главных ассистентов. Кому-то даже заменил гугл и стэк овервлоу. За полтора года хайпа революции не случилось, но появились полезные советы по использованию:
🟣 Генерацию моделей под JSON
🟣 Написание юнит-тестов и моков
🟣 Написание кода под специфичные задачи
🟣 Добавление документации
🟣 Предложения по улучшению кода
Для многих чатгпт стал один из главных ассистентов. Кому-то даже заменил гугл и стэк овервлоу. За полтора года хайпа революции не случилось, но появились полезные советы по использованию:
Please open Telegram to view this post
VIEW IN TELEGRAM
SwiftLee
ChatGPT for Swift: Top 5 code generation prompts
Boost your productivity with ChatGPT for Swift code generation. Learn how to harness the power of AI to speed up your development process.
This media is not supported in your browser
VIEW IN TELEGRAM
Мои первые 100 задач в литкоде были максимально юзлес. Почему-то, я послушал советов в интернетах и тупо начал решать все подряд, поверхностно прочитав «грокаем алгоритмы»
Это была жесткая ошибка, где я потратил впустую десятки часов.
Главные советы:
1. Изучать техники и паттерны конкретно под iOS
2. Отличать хорошие задачи от плохих
3. Иметь насмотренноть и решать задачи разными решениями
4. Не зубри решения кодом
А я напоминаю что у меня есть открытый гитхаб с задачами и почти 200 других рекомендованных задач в закрытом ноушене
Это была жесткая ошибка, где я потратил впустую десятки часов.
Главные советы:
1. Изучать техники и паттерны конкретно под iOS
2. Отличать хорошие задачи от плохих
3. Иметь насмотренноть и решать задачи разными решениями
4. Не зубри решения кодом
А я напоминаю что у меня есть открытый гитхаб с задачами и почти 200 других рекомендованных задач в закрытом ноушене
ИТ уже давно переполняется спецами. Поиск работы занимает все больше времени. Например, на западе, чтобы найти работу даже сеньору, нужно сделать около 100 откликов и пройти 30-40 собеседований. А фильтр опыта и нехватка мест для джунов — меньшее из проблем.
Вкратце о треде:
Говорят, все что случается на западном рынке, с опозданием приходит к нам. Верим?
Please open Telegram to view this post
VIEW IN TELEGRAM
Reddit
From the iOSProgramming community on Reddit
Explore this post and more from the iOSProgramming community
Никто не хочет нанимать узкоспециализированного разработчика, который закрылся в решение задач только для своей платформы.
Тема горизонтального роста стоит очень остро. Она стоит гораздо чаще, чем в любой другой профессии. Самый популярный свитчинг из любой технической ветки — это в ветку манагера.
Но что делать, если ты не хочешь быть пипл-менеджером и тебе нравится писать код? Причин может быть много: от количества вакансий под мобилку до технических челенджей.
Для тех, кто задумался, собрал пару интересных статей:
Делитесь в комментах своим опытом перехода в другие стэки или наоборот, почему пришли в iOS
Please open Telegram to view this post
VIEW IN TELEGRAM
Недавно мне сказали, что начали читать мой ноушен чаще, чем хабр. Это сильная мотивация придумывать больше идей, которые будут полезны мне и вам. А также потенциальная точка масштабирования.
Что вы можете получить за подписку?
Предложение ограниченное (для старых подписчиков тоже действует скидка)
Please open Telegram to view this post
VIEW IN TELEGRAM
SwiftUI: советы по оптимизации
Нативная разработка — это чаще лучший пользовательский и технический опыт. Приложения на нативе в 9 из 10 случаев смотрятся плавнее и красивее, но все зависит от рук разработчика. Любое приложение можно сделать медленным и забагованным, если у тебя руки рака.
Хорошего инженера от плохо отличает, что хороший хочет делать работу хорошо. И у этой оценки всегда растущие требования. Одно из них — оптимизация.
Мы знаем много советов по оптимизации UIKit, но со SwiftUI все не так очевидно.
Автор статьи собрала десяток советов, которые не всегда были бы очевидные:
🟣 Для моделей используйте структуры вместо классов
🟣 Избегайте AnyView
🟣 Чаще используйте Lazy элементы
🟣 Используйте @Stateи @Binding вместо @ObservedObject или @EnvironmentObject
🟣 Используйте ForEach с явным id
И многие другие.
Нативная разработка — это чаще лучший пользовательский и технический опыт. Приложения на нативе в 9 из 10 случаев смотрятся плавнее и красивее, но все зависит от рук разработчика. Любое приложение можно сделать медленным и забагованным, если у тебя руки рака.
Хорошего инженера от плохо отличает, что хороший хочет делать работу хорошо. И у этой оценки всегда растущие требования. Одно из них — оптимизация.
Мы знаем много советов по оптимизации UIKit, но со SwiftUI все не так очевидно.
Автор статьи собрала десяток советов, которые не всегда были бы очевидные:
И многие другие.
Please open Telegram to view this post
VIEW IN TELEGRAM
Canopas blogs
SwiftUI Performance Tuning: Tips and Tricks
SwiftUI Performance Tuning: Tips and Tricks to boost your app’s performance.
Что такое mobile system design?
Большинство форматов собесов себя изживают. Пока мы зубрили доку по iOS рынок придумал еще 2-3 секции, чтобы снизить наши зарплатные ожидания и детальнее оценить кандидатов.
Задачи по знанию iOS часто скатываются в банальный опросник теории, которая на практике встречается редко. Алгоритмы также для многих спорные и требуют очень много времени для подготовки и хорошего навыка программирования.
Альтернативой этому приходит новый компромиссный формат собеседований. Многие подписчики и знакомые все чаще с ним сталкиваются в реальности даже не для сеньорных грейдов.
Мобильное проектирование приложений, или секция архитектуры, не требует сделать идеального решения. Но сильно помогает оценить опыт, харды и софты кандидата. Как он работает в условиях неопределенности и какие решения может предложить не имея ничего. Почти как в реальной жизни. Джуна от сеньора отличает то, что сеньор может работать в максимальной свободе и не ждет пока ему кто-то поможет.
У всех компаний эта секция проходит по-разному: в одних просят нарисовать только схему и поотвечать на вопросы. В других же могут попросить и покодить.
Автор статьи бегло пробегается по частому формату в фаанга. Какие вопросы задают и что могут спросить
Большинство форматов собесов себя изживают. Пока мы зубрили доку по iOS рынок придумал еще 2-3 секции, чтобы снизить наши зарплатные ожидания и детальнее оценить кандидатов.
Задачи по знанию iOS часто скатываются в банальный опросник теории, которая на практике встречается редко. Алгоритмы также для многих спорные и требуют очень много времени для подготовки и хорошего навыка программирования.
Альтернативой этому приходит новый компромиссный формат собеседований. Многие подписчики и знакомые все чаще с ним сталкиваются в реальности даже не для сеньорных грейдов.
Мобильное проектирование приложений, или секция архитектуры, не требует сделать идеального решения. Но сильно помогает оценить опыт, харды и софты кандидата. Как он работает в условиях неопределенности и какие решения может предложить не имея ничего. Почти как в реальной жизни. Джуна от сеньора отличает то, что сеньор может работать в максимальной свободе и не ждет пока ему кто-то поможет.
У всех компаний эта секция проходит по-разному: в одних просят нарисовать только схему и поотвечать на вопросы. В других же могут попросить и покодить.
Автор статьи бегло пробегается по частому формату в фаанга. Какие вопросы задают и что могут спросить
Чаты — это отдельный вид приложений. В нем нужно учитывать многие детали:
Вы наверное сами замечали, что тот же телеграм, при первой своей простоте, скрывает много интересных деталей. Ну или читали статьи про проектирование чата. Статья скорее рекомендация и не является универсальным ответом.
В ноушене я попробовал набросать частую задачу из собеседований и жизни. Когда-нибудь в будущем выложу в гитхаб.
Please open Telegram to view this post
VIEW IN TELEGRAM
Как пройти архитектурную секцию собеседования
Цепная реакция запущена. Цикл замкнулся и начался новый. Рынок изменится навсегда. Компании копируют друг друга и если одна начала убивать теорию и спускать систем дизайн и рефакторинг, то и другие, чтобы не отставать и адаптироваться к трендам, тоже начнут. Удивительно, что тинек, который без апок в сторе, задает тренды и живее всех живых в мобильной разработке. Что мертво умереть не может?
Теперь намного проще отличить джуна от лида. Не помогут узкие редкие знания, с минимальным прикладным импактом. Перестали оценивать эрудицию, начали практику. Вышло новое обновление и поменяло метовую сборку. Кто-то упадет в грейдах, кто-то наоборот поднимается. Чьи-то знания сожрет инфляция и они обесценятся, чьи-то же вырастут в цене.
Мне нравится этот тренд. Мобильная разработка растет вширь, в ней начинают циркулировать новые идеи. Сейчас смотрю и изучаю много материала для нового раздела в ноушене. Пока один из лучших докладов — это у Кирилла Розова. Обязательно советую
Цепная реакция запущена. Цикл замкнулся и начался новый. Рынок изменится навсегда. Компании копируют друг друга и если одна начала убивать теорию и спускать систем дизайн и рефакторинг, то и другие, чтобы не отставать и адаптироваться к трендам, тоже начнут. Удивительно, что тинек, который без апок в сторе, задает тренды и живее всех живых в мобильной разработке. Что мертво умереть не может?
Теперь намного проще отличить джуна от лида. Не помогут узкие редкие знания, с минимальным прикладным импактом. Перестали оценивать эрудицию, начали практику. Вышло новое обновление и поменяло метовую сборку. Кто-то упадет в грейдах, кто-то наоборот поднимается. Чьи-то знания сожрет инфляция и они обесценятся, чьи-то же вырастут в цене.
Мне нравится этот тренд. Мобильная разработка растет вширь, в ней начинают циркулировать новые идеи. Сейчас смотрю и изучаю много материала для нового раздела в ноушене. Пока один из лучших докладов — это у Кирилла Розова. Обязательно советую
YouTube
Кирилл Розов — Как пройти архитектурную секцию собеседования
Ближайшая конференция: Mobius 2024 Spring, 23 мая (online), 31 мая – 1 июня (offline, Москва)
Подробности и билеты: https://jrg.su/EH5c9Q
— —
За свою карьеру Кирилл провел много собеседований: редко какой кандидат может грамотно реализовать архитектуру Android…
Подробности и билеты: https://jrg.su/EH5c9Q
— —
За свою карьеру Кирилл провел много собеседований: редко какой кандидат может грамотно реализовать архитектуру Android…
Forwarded from Polymorphic Blueprint (Aѕtɛmiɾ)
Media is too big
VIEW IN TELEGRAM
#metal #advancedui
Metal in Action: Audio Player. Round V
Ультимативна версия визуализатора для аудиоплеера. Такая, что пришлось дунгрейднуть количество циклов volumetric rendering'a. Процедурное здесь все, кроме UI.
Дюна... одно из самых любимых произведений. Я старался объединить ключевые концепции этой вселенной: Арракис — можно увидеть на фоне с процедурными песчаными бурями, меланж — окутывает Арракис, блестит, развевается по волнам дюн и светится голубым при активных битах. Пустыня и приближение Шай-Хулуда видны в постоянном дрожании песков, синхронизированном под ритм музыки.
Буквы отрендерены через Signed Distance Function и поворачиваются по мере прогресса трека. Благо, это лишь одна функция и поворот на 90 градусов clockwise🐭
Поверхность Арракиса, точнее песчаная буря, зависит от битов трека, на основе которых происходит вычисление хеш функции для Fractal Brownian Motion и создает уникальный паттерн для движения бурь; Настраивается практически все, а все что нельзя настроить - можно всегда переписать😂
🏛 Polymorphic Blueprint
🎶 Смотреть со звуком
Metal in Action: Audio Player. Round V
Ультимативна версия визуализатора для аудиоплеера. Такая, что пришлось дунгрейднуть количество циклов volumetric rendering'a. Процедурное здесь все, кроме UI.
Дюна... одно из самых любимых произведений. Я старался объединить ключевые концепции этой вселенной: Арракис — можно увидеть на фоне с процедурными песчаными бурями, меланж — окутывает Арракис, блестит, развевается по волнам дюн и светится голубым при активных битах. Пустыня и приближение Шай-Хулуда видны в постоянном дрожании песков, синхронизированном под ритм музыки.
Буквы отрендерены через Signed Distance Function и поворачиваются по мере прогресса трека. Благо, это лишь одна функция и поворот на 90 градусов clockwise
Поверхность Арракиса, точнее песчаная буря, зависит от битов трека, на основе которых происходит вычисление хеш функции для Fractal Brownian Motion и создает уникальный паттерн для движения бурь; Настраивается практически все, а все что нельзя настроить - можно всегда переписать
Please open Telegram to view this post
VIEW IN TELEGRAM
SOLID принципы в Swift
Понимание солидов и умение применять их на практике, одно из самых частых, что выделяют экспертные разрабы как признак опытности.
Красиво красить кнопку и эффективно управлять памятью это лишь начальный этап. Дальше нужно задумываться о поддержке кодовой базе и эффективности архитектурных решений. Ведь чем сложнее и больше проект, тем дольше времени нужно для внесение изменений.
В ноушене собираю новый раздел по рефакторингу, который будет направлен на применимость сотен книг по архитектурам в iOS, а пока познакомимся с основой.
SOLID — это самое популярное в работе с поддержкой кода. Но даже тут возникает кучу вопросов.
Понимание солидов и умение применять их на практике, одно из самых частых, что выделяют экспертные разрабы как признак опытности.
Красиво красить кнопку и эффективно управлять памятью это лишь начальный этап. Дальше нужно задумываться о поддержке кодовой базе и эффективности архитектурных решений. Ведь чем сложнее и больше проект, тем дольше времени нужно для внесение изменений.
В ноушене собираю новый раздел по рефакторингу, который будет направлен на применимость сотен книг по архитектурам в iOS, а пока познакомимся с основой.
SOLID — это самое популярное в работе с поддержкой кода. Но даже тут возникает кучу вопросов.
Linkedin
iOS Swift S.O.L.I.D. Principles
Background: The SOLID principles were introduced by Robert C. Martin(a.
Быстрая скорость работы билда — главная цель крупных проектов. Будь это пайплайны CI/CD или сборка рабочего проекта все это имеет десятки или даже сотни рабочих часов.
Вы почти не увидите сейчас в сеньорных вакансиях, где бы не спрашивали о системах сборки. Это становится также важно, а может и важнее, чем хорошие архитектуры.
Я начал писать серию статей про системы сборок. В первой затронул:
Please open Telegram to view this post
VIEW IN TELEGRAM
AI для расчета сложности алгоритмов
Вам больше не нужно знать сложность алгоритмов. За вас это оценит нейросеть
Очень удобная вещь сразу на практике изучать какой сложности вы написали код. Забудьте все остальные материалы
Вам больше не нужно знать сложность алгоритмов. За вас это оценит нейросеть
Очень удобная вещь сразу на практике изучать какой сложности вы написали код. Забудьте все остальные материалы
TimeComplexity.ai
Use AI to analyze your code's Big O runtime time complexity.
Добавил в открытый доступ первую статью по кастомному Notification Centr'у. Я уже писал о нем ранее, а сейчас решил выложить полную статью в гитхаб.
Создание своего Notification Center встречается в крупные компании Окко, МТС, ВК. Данный пример не эталонный и скорее показывает одно из сотен решений. Он не гарантирует прохождение собеса, а лишь помогает ознакомиться с вариантами решений.
Поставленная задача такая:
В статье будет 3 примера, которые иттеративно улучшаются в зависимости от поставленых требований: от худшего к лучшему
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
ios-mobile-system-design/iOS/NotificationCenter.md at master · levabond/ios-mobile-system-design
A simple framework for mobile system design interviews for iOS - levabond/ios-mobile-system-design
Практические решения проблем с Swift Concurrency
Нет ничего идеального. Новый инструмент решит одни проблемы, но принесет новые.
Эйфория уходит и остается здравый смысл. Вот и комьюнити начинает решать проблемы новой системы многопоточности.
Еще один гитхаб репозиторий, который объединяет комьюнити для борьбы сдраконами багами и улучшением пользовательского опыта.
Еще раз убеждаюсь, что лучшие продукты можно сделать только имея лояльную аудиторию и собирая фидбэки, а соло авторы, часто, изобретают велосипеды или живут в своих фантазиях
Нет ничего идеального. Новый инструмент решит одни проблемы, но принесет новые.
Эйфория уходит и остается здравый смысл. Вот и комьюнити начинает решать проблемы новой системы многопоточности.
Еще один гитхаб репозиторий, который объединяет комьюнити для борьбы с
Еще раз убеждаюсь, что лучшие продукты можно сделать только имея лояльную аудиторию и собирая фидбэки, а соло авторы, часто, изобретают велосипеды или живут в своих фантазиях
GitHub
GitHub - mattmassicotte/ConcurrencyRecipes: Practical solutions to problems with Swift Concurrency
Practical solutions to problems with Swift Concurrency - mattmassicotte/ConcurrencyRecipes