Один из главных вопросов по навигации чем же отличается роутер от координатора. В своей функции они очень похожи — оба отвечаю за навигацию.
Главное же отличие такое: Роутер отвечает за вызов из одного экрана, а координатор управляет потоком экранов.
У координатора обычно есть набор дочерних экранов, где мы можем легко изменять порядок, добавлять или удалять экраны. При использовании координатора, роутер помогает закрывать и показывать ViewController'ы. Роутер не знает какой контроллер показывать, ему об этом сообщает координатор.
Когда использовать координатор:
- Когда хотим отделить знание экранов о друг друге.
- Хотим управлять последовательностью экранов
Доп. ссылки:
- Coordinator Pattern
- Router
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Обновление ноушена и комьюнити за неделю
Развитие — это беспрерывное движение. В нашей индустрии стоять на месте значит умирать. Каждый день я создаю контент для подписчиков ноушена, который частями перекатывается в этот канал. Так я развиваюсь сам и делюсь опытом с другими. Знания и подходы формулируются, прогресс становится быстрее и лучше.
Обучение — это навык. Обучаться вместе с единомышленниками и теми, кто влюблен в свою работу — в разы эффективней. Так ты определяешь свой и чужой. Так принимаемая информация лучше усваивается и ты не замечаешь объемы.
За эту неделю мы сделали:
🔘 Вопросы по собесам для мидлов по памяти часть 1
🔘 Вопросы по собесам для джунов по SwiftUI часть 1
🔘 Выделили лучшие идеи для программистов-прагматиков
🔘 Написали статьи про модификаторы и навигацию в SwiftUI
🔘 Выбрали тему для очередного созвона
🔘 В чате попытались перейти на темы, но откатили. А также поговорили про черные списки, как будущие коллеги собирают про нас фидбэк, про цифровые следы в интернете и о многом другом.
Полный список изменений в картинке
🌸 Вступить в сообщество и получить доступ к закрытым материалам можно тут.
Развитие — это беспрерывное движение. В нашей индустрии стоять на месте значит умирать. Каждый день я создаю контент для подписчиков ноушена, который частями перекатывается в этот канал. Так я развиваюсь сам и делюсь опытом с другими. Знания и подходы формулируются, прогресс становится быстрее и лучше.
Обучение — это навык. Обучаться вместе с единомышленниками и теми, кто влюблен в свою работу — в разы эффективней. Так ты определяешь свой и чужой. Так принимаемая информация лучше усваивается и ты не замечаешь объемы.
За эту неделю мы сделали:
Полный список изменений в картинке
Please open Telegram to view this post
VIEW IN TELEGRAM
Ритуальное ежегодное погребение иосеров или что такое цифровая услуга
Недавно мне сказали, что будущее за вебом и наши айфоны и мобилки никому не нужны. Банки переходят на веб, некоторые отделы расформировываются, а спрос на устройства падает.
Восемь лет назад, когда я был еще фуллстэк разрабом и хотел перейти в мобилку, мне кричали что она умрет. Есть перспективная технология React Native, которая похоронит всех мобильщиков и фронты будут писать для мобилки на джаваскрипте. Есть PWA приложения, которые работают не хуже, Есть офигенный вебвью, который ведь даже чем-то лучше.
Это все обычно пророчили люди, кто пользовался андроидом. Ведь как этот огрызок может конкурировать с миллионами терабайт озу, великолепным дисплеем на пару тысяч метров и колосальной свободой распространения апок. Айфоны — для лохов, кого обдурил Стив Джобс. И для тех, кто любит понтоваться.
Я с ними согласен и поэтому перехожу на андроид. Шутка. Но если серьезно такая риторика повторяется каждые пару лет и эту лодку пытаются шатать все. Одна кроссплатформа вымирает и приходит другая. PWA, BDUI и вебвью вот вот придут, но эффект как в том зацикленном меме с грузовиком, который вот вот въедет в столб. А айфоны это также для людей у кого есть понты, даже если эти люди платят зарплату и владеют бизнесом.
Подводя итоги что же такое айфон за те годы сопротивления. Айфон — это новый вид устройства, который изменил рынок цифровой экономики. Он сделал моду на мобильные приложения, он сделал удобным потребления контента и приковал внимания разработчиков, которые стали подражать.
Новый вид цифровых услуг, где ты экономишь свое время и деньги. Новый вид развлечений, где дизайн диктуется флагманской платформой. Новый вид бизнеса, где сфера услуг стала цифровой и ит-трансформация создала миллионы миллионеров.
Поверю ли я, что мобильная разработка умрет? Никогда. А те, кто так считает, просто теряют самую платежеспособную аудиторию. А кто пытается заменить натив на гибрид просто не понимает, что юзеру понятней и доступней нативная мобильная платформа, чем инородный вебвью или мобильная версия. Потеря места на рынке равно отдать свой бизнес бесплатно конкурентам. А на это место обязательно придет кто-то новый. Но это совсем другая история.
Недавно мне сказали, что будущее за вебом и наши айфоны и мобилки никому не нужны. Банки переходят на веб, некоторые отделы расформировываются, а спрос на устройства падает.
Восемь лет назад, когда я был еще фуллстэк разрабом и хотел перейти в мобилку, мне кричали что она умрет. Есть перспективная технология React Native, которая похоронит всех мобильщиков и фронты будут писать для мобилки на джаваскрипте. Есть PWA приложения, которые работают не хуже, Есть офигенный вебвью, который ведь даже чем-то лучше.
Это все обычно пророчили люди, кто пользовался андроидом. Ведь как этот огрызок может конкурировать с миллионами терабайт озу, великолепным дисплеем на пару тысяч метров и колосальной свободой распространения апок. Айфоны — для лохов, кого обдурил Стив Джобс. И для тех, кто любит понтоваться.
Я с ними согласен и поэтому перехожу на андроид. Шутка. Но если серьезно такая риторика повторяется каждые пару лет и эту лодку пытаются шатать все. Одна кроссплатформа вымирает и приходит другая. PWA, BDUI и вебвью вот вот придут, но эффект как в том зацикленном меме с грузовиком, который вот вот въедет в столб. А айфоны это также для людей у кого есть понты, даже если эти люди платят зарплату и владеют бизнесом.
Подводя итоги что же такое айфон за те годы сопротивления. Айфон — это новый вид устройства, который изменил рынок цифровой экономики. Он сделал моду на мобильные приложения, он сделал удобным потребления контента и приковал внимания разработчиков, которые стали подражать.
Новый вид цифровых услуг, где ты экономишь свое время и деньги. Новый вид развлечений, где дизайн диктуется флагманской платформой. Новый вид бизнеса, где сфера услуг стала цифровой и ит-трансформация создала миллионы миллионеров.
Поверю ли я, что мобильная разработка умрет? Никогда. А те, кто так считает, просто теряют самую платежеспособную аудиторию. А кто пытается заменить натив на гибрид просто не понимает, что юзеру понятней и доступней нативная мобильная платформа, чем инородный вебвью или мобильная версия. Потеря места на рынке равно отдать свой бизнес бесплатно конкурентам. А на это место обязательно придет кто-то новый. Но это совсем другая история.
Начал работать над второй часть вопросов для собеседований.
В ней хочу пройтись по:
Please open Telegram to view this post
VIEW IN TELEGRAM
Эстетический интеллект, стоимость внимания и simple life
Пока собирал материал для нашего следующего созвона про бабки, то случайно начал формулировать свою философию. О том, на что их нужно тратить и сколько стоит наша жизнь.
Богатый человек для нас определяется не колличеством ресурсов, а их правильным распределением. Слишком много золота в зубах не делает тебя привлекательным. Слишком сильная одержимость на бабках делает в своих и чужих глазах бедным и несчастным.
Я сформулировал несколько правил жизни из разных источников, которые помогают мне вести канал, жить и развиваться. А также на которых буду делать акцент в будущем:
🔘 Прокачивать эстетический интеллект. Об этом есть отличная книга, которую я упонял раньше. Мы работаем с премиум девайсами, а чаще какой-нибудь бюджетный айфон SE выглядят желанней, чем какой-нибудь ксяоми с ценой х2.
Даже ведя канал очень много для меня значит дизайн. Он не должен быть избыточно кричащим. Хороший и дорогой дизайн — сдержан и малословен.
🔘 Ценить свое внимание. Наблюдая за некоторыми меркантильными сообществами я вижу главную проблему. Они хотят денег, но не знают что купят на них. Поэтому их формат и философия, за много лет существования, не обрела форму. Они вечно наполняют себя разными темами для бесед, отвлекаются на разные сходки и говорят обо всем, но ни о чем. Спам и флуд засоряют эфир, а сотни чатов уводят от акцентов.
Хороший дизайн не пытается запутать избыточностью и перегрузкой, чтобы обмануть или отвлечь. Настоящий премиум дизайн хочет лаконично обнажиться.
Здесь я очень близок с философией Олега Торбосова, владельца премиум агенства, где у него была важная фраза "Самая главная валюта — это наше внимание". В своей философии хочется опять же придерживать емкости и фокуса. Где ты четко понимаешь для чего нужны тебе ресурсы, а не чтобы купить любую безделушку в свою песочницу. Часто, многие вещи не заслуживают наше внимание.
🔘 Стратегия Simple life. Все три принципа очень похожи и кажется, что говорят про одно: сдержанности, емкости и простоте. О каком месте в этой жизни ты можешь говорить, если вечно меняешь его? Прям как наши любимые айфоны. Но стратегия простой жизни не говорит о лени, она говорит о приоритетах. Как не нужно переполнять себя ненужными делами и отдавать себя немногим, но важным делам. Это отлично формулирует книга "Эссенциализм: путь к простоте"
Вся эта подводка для анонса небольшого редизайна канала и ноушена, который будет отражать мои принципы. А вы можете поделиться крутыми дизайнерами.
Пока собирал материал для нашего следующего созвона про бабки, то случайно начал формулировать свою философию. О том, на что их нужно тратить и сколько стоит наша жизнь.
Богатый человек для нас определяется не колличеством ресурсов, а их правильным распределением. Слишком много золота в зубах не делает тебя привлекательным. Слишком сильная одержимость на бабках делает в своих и чужих глазах бедным и несчастным.
Я сформулировал несколько правил жизни из разных источников, которые помогают мне вести канал, жить и развиваться. А также на которых буду делать акцент в будущем:
Даже ведя канал очень много для меня значит дизайн. Он не должен быть избыточно кричащим. Хороший и дорогой дизайн — сдержан и малословен.
Хороший дизайн не пытается запутать избыточностью и перегрузкой, чтобы обмануть или отвлечь. Настоящий премиум дизайн хочет лаконично обнажиться.
Здесь я очень близок с философией Олега Торбосова, владельца премиум агенства, где у него была важная фраза "Самая главная валюта — это наше внимание". В своей философии хочется опять же придерживать емкости и фокуса. Где ты четко понимаешь для чего нужны тебе ресурсы, а не чтобы купить любую безделушку в свою песочницу. Часто, многие вещи не заслуживают наше внимание.
Вся эта подводка для анонса небольшого редизайна канала и ноушена, который будет отражать мои принципы. А вы можете поделиться крутыми дизайнерами.
Please open Telegram to view this post
VIEW IN TELEGRAM
Мок-собес сеньора из бигтеха по System Design
Недавно меня спрашивали какие задачи могут встретиться на собесах по архитектуре. Это очень странно, ведь я писал про них в разделе system design. Потом я понял, что многие думают, что system design — это что-то про бэкенд. Хотя это большое заблуждение.
Если упрощать, то архитектуры, проектирование и system design — это одно и то же, но под разными углами. Выбор архитектурного паттерна лишь часть задачи из общей кучи.
Прикладываю отличный мок-собес, где за час пытаются запроектировать ленту новостей Фейсбука* (запрещен). Тут, при необходимости, можно детализировать и архитектуры, паттерны, бэк, хранилище, многопоточку и многое другое.
Основные критерии:
🔘 Разработка должна быть иттеративной
🔘 Бесконечная лента
🔘 Откуда приходят данные (сервер или кэш)?
🔘 Какой тип данных бывает: текст, изображения, видео и тп?
Это отличная частая задача, которая встречается как в обычной жизни, так и на собесах. Думаю в будущем разобрать отдельно в больших статья как проектировать ленту, чат и другие модули.
🌺 Больше задач по проектированию писал в ноушене
Недавно меня спрашивали какие задачи могут встретиться на собесах по архитектуре. Это очень странно, ведь я писал про них в разделе system design. Потом я понял, что многие думают, что system design — это что-то про бэкенд. Хотя это большое заблуждение.
Если упрощать, то архитектуры, проектирование и system design — это одно и то же, но под разными углами. Выбор архитектурного паттерна лишь часть задачи из общей кучи.
Прикладываю отличный мок-собес, где за час пытаются запроектировать ленту новостей Фейсбука* (запрещен). Тут, при необходимости, можно детализировать и архитектуры, паттерны, бэк, хранилище, многопоточку и многое другое.
Основные критерии:
Это отличная частая задача, которая встречается как в обычной жизни, так и на собесах. Думаю в будущем разобрать отдельно в больших статья как проектировать ленту, чат и другие модули.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Big-tech senior iOS dev system design interview prep: Design the Facebook feed | Live Dev Mentoring
One of our students in the iOS Lead Essentials program recently received job offers from Meta and Apple. Want to see one of the steps in his preparation? 👇
So watch this mentoring session now to help you prepare for the big day.
We highly recommend watching…
So watch this mentoring session now to help you prepare for the big day.
We highly recommend watching…
Forwarded from КиберТопор
This media is not supported in your browser
VIEW IN TELEGRAM
Vision Pro может полностью поменять сферу образования.
Так выглядит визуализация изучения работы сердца в очках от Apple.
Приложение называется Insight Heart.
🕹КиберТопор
Так выглядит визуализация изучения работы сердца в очках от Apple.
🕹КиберТопор
Хорошее приложение должно иметь хорошую навигацию. Поэтому до iOS 16 многие приложения на SwiftUI не назовешь хорошими.
Работа с навигацией в SwiftUI боль:
- Нельзя управлять стэком вызовов
- Почти невозможно сделать диплинки
- Нельзя вынести логику навигации из вью
Начиная же с iOS 16 разрабы сжалились и дали работягам NavigationStack, который упрощает работу. В этом WWDC разрабы попытались показать все плюсы нового API. Насколько оно реальное в больших проектах — решайте сами.
Please open Telegram to view this post
VIEW IN TELEGRAM
Apple Developer
The SwiftUI cookbook for navigation - WWDC22 - Videos - Apple Developer
The recipe for a great app begins with a clear and robust navigation structure. Join the SwiftUI team in our proverbial coding kitchen...
В ноушене вышла новая статья про навигацию с помощью NavigationStack, который вышел вместе с iOS 16
В ней попытался разобрать:
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Код Воробья для iOS разработчиков
Please open Telegram to view this post
VIEW IN TELEGRAM
AI и эмоциональный интеллект. Пора серьезно задумываться про эмоциональный ителлект
Время токсичных кодеров ушло. Еще лет 10 назад большинство разрабов думало, что могут быть Тони Старками, токсичить и делать все что угодно. Ведь кто их заменит? Хороший разраб это тот, кто код пишет. А задачи ставить и вести здоровые коммуникации это для обычных смертных.
В статье рассказывается как опросы Udemy показали, что AI вызвал всплеск интереса к курсам по мягким навыкам: активное слушание, работа с людьми, work-life баланс, командная работа.
То есть, из-за того, что AI забрал на себя часть хард скиллов, люди стали больше уделять софт скиллам, в том числе сочуствию и пониманию друг друга. Сейчас почти никто уже не смотрит только на хард скиллы. А с развитием ИИ софты становятся более ценными.
Пора не только писать хорошо код, но и хорошо понимать своих коллег
Время токсичных кодеров ушло. Еще лет 10 назад большинство разрабов думало, что могут быть Тони Старками, токсичить и делать все что угодно. Ведь кто их заменит? Хороший разраб это тот, кто код пишет. А задачи ставить и вести здоровые коммуникации это для обычных смертных.
В статье рассказывается как опросы Udemy показали, что AI вызвал всплеск интереса к курсам по мягким навыкам: активное слушание, работа с людьми, work-life баланс, командная работа.
То есть, из-за того, что AI забрал на себя часть хард скиллов, люди стали больше уделять софт скиллам, в том числе сочуствию и пониманию друг друга. Сейчас почти никто уже не смотрит только на хард скиллы. А с развитием ИИ софты становятся более ценными.
Пора не только писать хорошо код, но и хорошо понимать своих коллег
LeadDev
It’s time to take emotional intelligence more seriously
As AI encroaches further into the workplace, is emotional intelligence a more important skill than ever?
Обход деревьев: поиск в глубину
Продолжаю разбор техник решения алгоритмов. Поговорим о деревьях.
Обход дерева, как и все обходы графов, делается двумя методами:
🟢 в глубину (Depth-first)
🟢 в ширину (Breadth-first)
Какой из методов использовать?
🟣 если вы знаете что решение где-то не далеко от вашей ноды — то лучше использовать обход в ширь, чтоб не закапываться глубоко в дерево
🟣 если дерево очень глубокое, а решение редки — то лучше все таки попробовать поиск в ширь
🟣 если дерево очень широкое, то можно попробовать поиск в глубь, потому как поиск в ширь может забрать слишком много времени.
Мы разберем обход в глубину (DFS). Разбор будет в слайдах выше.
💎 Полную статью с объяснением про деревья и разбором задач литкода можно найти в ноушене
Продолжаю разбор техник решения алгоритмов. Поговорим о деревьях.
Обход дерева, как и все обходы графов, делается двумя методами:
Какой из методов использовать?
Мы разберем обход в глубину (DFS). Разбор будет в слайдах выше.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
На практике прокси-сервер обычно реализуется как класс-оболочка, реализующий тот же протокол и/или предоставляющий тот же интерфейс, что и класс, который он обертывает.
Когда нужно легко добавить логику до или после основной функциональность обернутого объекта, не изменяя его. Отлично подходит для принципа Лисков и открытости-закрытости SOLID'а.
Пример:
Мы хотим создать сервис, который трекает время выполнения экшенов. Для этого создаем прокси-обертку, которая принимает необходимый класс и трекает его логику. Реализация в слайде.
Please open Telegram to view this post
VIEW IN TELEGRAM
По каким качествам вы оцениваете авторитет руководителя?
Anonymous Poll
59%
Технические навыки
30%
Качество кода и умение программировать
68%
Софт скиллы
68%
Качество взаимодействия
46%
Опыт
4%
Должность
52%
Менеджерские навыки
4%
Возраст
4%
Количество подчиненных
4%
Другое
💎 Релиз вопросов для собесов по UIKit | Джун ч2
Один из моих любимых сборников. В нем я прошелся по:
🟣 Жизненный цикл UIView
🟣 Жизненный цикл AutoLayout
🟣 Обработка жестов
Для подписчиков доступна интересная задача с тачами и жестами. Позже опубликую в канале.
🌿 Этот и другие сборники можно найти тут
🧬 Ознакомиться с другими сборниками тут
Один из моих любимых сборников. В нем я прошелся по:
Для подписчиков доступна интересная задача с тачами и жестами. Позже опубликую в канале.
Please open Telegram to view this post
VIEW IN TELEGRAM
Обновление ноушена и комьюнити за неделю
Эта неделя была для меня горячей по работе, но я все равно старался наполнять контентом.
На этой недели мы:
🟣 Немного ушли в философию
🟣 Узнали про задачи для сеньоров по System Design
🟣 Разобрались с навигацией в SwiftUI
🟣 Обошли деревья в глубину
🟣 Поговорили про патрен прокси
🟣 В чате порасуждали про переходы в разные стэки, изучение в бэк, выгорание, завалы на работе, прохождение собесов и конечно же вилки.
Полный список изменений в картинке
🌸 Вступить в сообщество и получить доступ к закрытым материалам можно тут.
Эта неделя была для меня горячей по работе, но я все равно старался наполнять контентом.
На этой недели мы:
Полный список изменений в картинке
Please open Telegram to view this post
VIEW IN TELEGRAM