На очереди у нас еще много контента по SwiftUI (пара мок собесов по систем дизайну и лайфкодингу, разбор кишков и тп). Поэтому чуть отвлекемся.
Один из частых запросов сделать подборку вопросов и задач для UIKit. А именно по производительности. По SwiftUI мы уже сделали парочку, а по UIKit ни одного. Нас за это справедливо пнули.
Такие вопросы любят задавать на сеньорные уровни в Авито, Яндексе, Сбере. А еще эти знания помогли мне занять призовое место в конкурсе телеграма. Без них никуда.
Удивлен, что толком не говорил об этом раньше. Многим часто дают такие задачи на собесах. Они помогают определить степень экспертности кандидата и насколько он может сделать плавным UI. Это логично и адекватно, ведь мобильный разработчик чаще всего работает с UI, а здесь знание кишков максимально оправдано.
Еще более удивлен, как много кандидатов валит эту секцию.
Я люблю копать в эту тему. Сейчас объясню почему) В одной из команд нам пришлось оптимизировать чат. Это сложная задача с которой не справлялось множество прошлых разрабов. Во-первых, никто не хотел копаться в легаси 10летней давности, а во-вторых код был очень запутанный и сложный. Но мы справились и улучшили перфоманс чата. Для директоров это было супер важно и так мы получили хорошую надбавку по зп.
Что мы сделали? Много чего, но одна из сложных задач была переход с Auto Layout на Frame Based, что увеличило перфоманс в 2,5 раза. Я уже кстати раньше делал материал и гайд. Ставь лайк, если нужно больше постов про производительность в UIKit.
Собрал все важные вопросы, которые помогут вам выстроить план и найти нужные акценты по производительности. В общем, крутая подборка, одна из моих самых любимых.
Будет несколько частей.
Please open Telegram to view this post
VIEW IN TELEGRAM
Какой платформой для закрепления практики и самообучения вы пользуетесь/пользовались?
Anonymous Poll
72%
Leetcode
5%
essential developer
5%
Neetcode
6%
Coderun
6%
HackerRank
7%
Яндекс.Контест
1%
ByteByByte
1%
InterviewBit
24%
CodeWars
18%
Другое
Открываешь Карты — а они уже подкидывают, куда тебе сгонять: рамен на обед, парк на закате, бар после работы.
Не магия — машинка. Нейросеть жрёт логи, трекает поведение, запоминает твой вайб и подкидывает релевантные места.
Команда Яндекс Карт крутит миллионы сигналов: фото, клики, маршруты, время суток, день недели — всё идёт в печку ML.
Компьютерное зрение даже фотки в выдаче ранжирует: чтобы ты сразу такой — «Вау, я туда хочу».
Постоянно экспериментируют: A/B, новые фичи, адаптируют под мобильные железки.
GPU шевелят, геоданные жмут, сценарии тестят.
Кого они ищут:
Мобильных разрабов, которым в кайф не просто фичку накидать, а реально влиять на опыт миллионов.
Что будешь делать:
Если это про тебя — залетай в команду
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Это просто шутка
Я переобулся. Раньше я говорил что эти ваши тиктоки — рак. Нужны либо для деградации, либо для продаж. Но сейчас мою ленту заполнили талантливые ребята.
Их творческий вайб мотивирует. Даже делая с минимальным бюджетом чувствуется стиль, скилл и труд. Меня всегда цепляли истории искренних любителей своего дела. Кто с любовью и завидной преданностью делает свою работу.
Они говорят о кино, музыке, работе или учебе. Это не brainrot и не отупление. Это гармония с делом и развитием. Где есть легкость и забота о зрителе.
В общем, в эпоху коротких видосов нужно уметь легко и емко выражать свои мысли в минутный формат.
Я должен был бороться со злом, а не примкнуть к нему.
Подобрал небольшую коллекцию на мой взгляд очень качественных рилсов. Где отлично балансирует содержание и форма.
Возможно, ждите контент когда-нибудь что-нибудь. Хз.
Их творческий вайб мотивирует. Даже делая с минимальным бюджетом чувствуется стиль, скилл и труд. Меня всегда цепляли истории искренних любителей своего дела. Кто с любовью и завидной преданностью делает свою работу.
Они говорят о кино, музыке, работе или учебе. Это не brainrot и не отупление. Это гармония с делом и развитием. Где есть легкость и забота о зрителе.
В общем, в эпоху коротких видосов нужно уметь легко и емко выражать свои мысли в минутный формат.
Я должен был бороться со злом, а не примкнуть к нему.
Подобрал небольшую коллекцию на мой взгляд очень качественных рилсов. Где отлично балансирует содержание и форма.
Возможно, ждите контент когда-нибудь что-нибудь. Хз.
Обмен культурой через социальные сети
Побыв минимально без социальных сетей прошлый месяц я понял их минусы, а главное плюсы.
Выключая этот источник информации ты выпадешь из контекста. Не сечешь в мемах как дед. Как не понимать почему среди разрабов правильно ЭйАрСи, а не АРК.
Ты далек от той практикующей среды, которая наполнена своими шутками и деталями. Ведь ее неидеальность и устройство возможно понять только находясь в ней, варясь. А не наблюдая сбоку через переводчики.
Ты слышишь, как человек говорит, какие мемы он юзает, и уже понимаешь «свой» или «чужой». Кто в тренде, а кто устарел.
Мне самому было сложно находить себя в профессии. Я не знал, у кого спросить, что нормально, а что странно. Именно поэтому мне захотелось собрать вокруг этого канала людей, у которых можно поучиться, дружески посоперничать, по-доброму позавидовать.
Профессиональная культура — это заразительно. Если работа — твой дом, то соцсети — улицы, где можно встретить единомышленников, вдохновиться витриной чужого опыта и самому стать ориентиром. Это все становится родным городом, политика которого тебе не безразлична.
Важно только стараться не задерживаться в черных районах дольше рекомендованного.
В век асинхронных коммуникаций в мессенджере и удаленных созвонов в зуме мы начали строить свои цифровые общества. Заполнять одиночество, созданным ковидом, через чаты и аватары.
Как бы мы не доказывали, что все мы работаем исключительно ради денег, но это не так.
Мы ищем атмосферу, ценности, подходы. Иначе бы конференции и блоги имели только одну тему. В сухую цифру и мертвые метрики дохода.
Культура — не только о «офис с едой по бейджу» и офферы, а про уважение, рост, поддержку, процессы. Публичность создает доверие.
Культура не живёт в вакууме. Формируется коллективная мудрость. Кто-то делится кейсом, а кто-то добавляет контрпример — рождается новое понимание.
Формулируя и делясь лучше понимаешь свои и чужие ценности и подходы.
Делитесь не только результатами, но и процессом. Не бойтесь быть уязвимыми ведь культура создается живыми людьми.
Каждый пост или коммент это не хвастовство, а вклад в общее развитие системы.
Побыв минимально без социальных сетей прошлый месяц я понял их минусы, а главное плюсы.
Выключая этот источник информации ты выпадешь из контекста. Не сечешь в мемах как дед. Как не понимать почему среди разрабов правильно ЭйАрСи, а не АРК.
Ты далек от той практикующей среды, которая наполнена своими шутками и деталями. Ведь ее неидеальность и устройство возможно понять только находясь в ней, варясь. А не наблюдая сбоку через переводчики.
Ты слышишь, как человек говорит, какие мемы он юзает, и уже понимаешь «свой» или «чужой». Кто в тренде, а кто устарел.
Мне самому было сложно находить себя в профессии. Я не знал, у кого спросить, что нормально, а что странно. Именно поэтому мне захотелось собрать вокруг этого канала людей, у которых можно поучиться, дружески посоперничать, по-доброму позавидовать.
Профессиональная культура — это заразительно. Если работа — твой дом, то соцсети — улицы, где можно встретить единомышленников, вдохновиться витриной чужого опыта и самому стать ориентиром. Это все становится родным городом, политика которого тебе не безразлична.
Важно только стараться не задерживаться в черных районах дольше рекомендованного.
В век асинхронных коммуникаций в мессенджере и удаленных созвонов в зуме мы начали строить свои цифровые общества. Заполнять одиночество, созданным ковидом, через чаты и аватары.
Как бы мы не доказывали, что все мы работаем исключительно ради денег, но это не так.
Мы ищем атмосферу, ценности, подходы. Иначе бы конференции и блоги имели только одну тему. В сухую цифру и мертвые метрики дохода.
Культура — не только о «офис с едой по бейджу» и офферы, а про уважение, рост, поддержку, процессы. Публичность создает доверие.
Культура не живёт в вакууме. Формируется коллективная мудрость. Кто-то делится кейсом, а кто-то добавляет контрпример — рождается новое понимание.
Формулируя и делясь лучше понимаешь свои и чужие ценности и подходы.
Делитесь не только результатами, но и процессом. Не бойтесь быть уязвимыми ведь культура создается живыми людьми.
Каждый пост или коммент это не хвастовство, а вклад в общее развитие системы.
This media is not supported in your browser
VIEW IN TELEGRAM
В прошлом посте канала мы разбирали немного CADisplayLink. Зачем он и где мне помогал на работе или в конкурсах телеграма.
Наш подписчик решил поделиться из своей личной базы подборкой задач на CADisplayLink. Какие-то придумал сам, какие-то похожие давали на собесах.
В них узнаете:
Please open Telegram to view this post
VIEW IN TELEGRAM
Deploying Machine Learning Models with Vapor and Core ML
Сейчас будет абсолютно непродающий пост.
Еще немного про советы коллегам. Всем молодым ребятам, которые спрашивают нужно ли изучать iOS разработку в 16 лет я говорю — не нужно:)
Будь это знакомые, дети знакомых, родственники. На мой взгляд, популярность мобильной разработки и в целом фронтенда, особенно с развитием ИИ, сильно падает. Прошли те времена, когда за покрашенную кнопку дают кучу бабок. Сейчас мобилка становится сложнее и конкурентнее.
А вот ИИ бабки гребет и следующее десятилетие точно за ней. В среднем, я и мои знакомые только за подписки на курсоры и чатгпт отдают от 100$. Где- пользуются от силы этим всем 20% времени. Что это значит? Что в ии сейчас много пузыря и скама, как когда-то было в мобилках, фронте и бэке. А может быть и больше всех вместе взятых. Каждый ИИ плагин или обертка над чатгпт стоит от 20$ за месяц. Очевидно там много оверпрайса.
Ну в общем статья для тех, кто хочет аккуратно свитчнуться в ML и начинает с внедрения в мобилку
Стоит ли идти в иос разработку в 16 лет? Зависит от цели. Если вам нравится программирование и айфоны - да. Если нужны легкие деньги, то кмк лучше в мл:)
Сейчас будет абсолютно непродающий пост.
Еще немного про советы коллегам. Всем молодым ребятам, которые спрашивают нужно ли изучать iOS разработку в 16 лет я говорю — не нужно:)
Будь это знакомые, дети знакомых, родственники. На мой взгляд, популярность мобильной разработки и в целом фронтенда, особенно с развитием ИИ, сильно падает. Прошли те времена, когда за покрашенную кнопку дают кучу бабок. Сейчас мобилка становится сложнее и конкурентнее.
А вот ИИ бабки гребет и следующее десятилетие точно за ней. В среднем, я и мои знакомые только за подписки на курсоры и чатгпт отдают от 100$. Где- пользуются от силы этим всем 20% времени. Что это значит? Что в ии сейчас много пузыря и скама, как когда-то было в мобилках, фронте и бэке. А может быть и больше всех вместе взятых. Каждый ИИ плагин или обертка над чатгпт стоит от 20$ за месяц. Очевидно там много оверпрайса.
Ну в общем статья для тех, кто хочет аккуратно свитчнуться в ML и начинает с внедрения в мобилку
Стоит ли идти в иос разработку в 16 лет? Зависит от цели. Если вам нравится программирование и айфоны - да. Если нужны легкие деньги, то кмк лучше в мл:)
Teachable
Deploying Machine Learning Models with Vapor and Core ML
Ты не знаешь как делать задачу. Что будешь делать?
Anonymous Poll
29%
Начну делать как понял, потом разберусь
58%
Поищу решение сам
40%
Спрошу у коллег
64%
Спрошу у чатгпт
11%
Пойду в профильные чаты
36%
Вспомню как гуглить
37%
Обсужу с коллегами
4%
Другое
iOS Makes Me Hate
Ты не знаешь как делать задачу. Что будешь делать?
Кстати, заметьте как почти умерли «профильные чаты». Когда раньше форумы и сообщества были источником обмена инфы и поддержки, то с приходом чатгпт начался их закат.
Deeplink Manager по SOLID принципам
Навигация — это отдельная жопаболь любого разраба. В отличие от веба мы не рисуем по F5 дом дерево. У нас стэк из экранов + жизненный цикл приложения. Поэтому это создает кучу проблем, а также решений.
Разрабы пытались придумать кучу решений:
Паттерн Coordinator, который был популярен, а сейчас многими ненавистен. Роутеры, которые открывают экран последовательно. В SwiftUI вообще куча решений, со своими минусами и плюсами.
Для меня любая навигация, где есть огромный enum с экранами, который создает полотно из switch/case — жесткий костыль. Это не должно быть в проде.
Мобилка в итоге пришла к одному из удобных видов навигаций экранов — это диплинки. Каждый экран имеет свой идшник. Например, главная имеет путь yourapp.ru/1/main . Так мы легко управляем состоянием и создаем простую поддержку кода, не зависив от бойлер плейта.
На скриншотах набросал примерную концепцию на мой взгляд идеального диплинк хендлера. Сделаем в будущем мок-воркшоп по систем дизайну как проектировать навигацию в мобилке.
Навигация — это отдельная жопаболь любого разраба. В отличие от веба мы не рисуем по F5 дом дерево. У нас стэк из экранов + жизненный цикл приложения. Поэтому это создает кучу проблем, а также решений.
Разрабы пытались придумать кучу решений:
Паттерн Coordinator, который был популярен, а сейчас многими ненавистен. Роутеры, которые открывают экран последовательно. В SwiftUI вообще куча решений, со своими минусами и плюсами.
Для меня любая навигация, где есть огромный enum с экранами, который создает полотно из switch/case — жесткий костыль. Это не должно быть в проде.
Мобилка в итоге пришла к одному из удобных видов навигаций экранов — это диплинки. Каждый экран имеет свой идшник. Например, главная имеет путь yourapp.ru/1/main . Так мы легко управляем состоянием и создаем простую поддержку кода, не зависив от бойлер плейта.
На скриншотах набросал примерную концепцию на мой взгляд идеального диплинк хендлера. Сделаем в будущем мок-воркшоп по систем дизайну как проектировать навигацию в мобилке.