Один из самых частых кейсов в литкоде — это задачи со строками: палиндромы, анаграмы, сабстроки. Эти задачи могут встретиться и в реальной жизни, если вы делаете текстовый редактор или другие управление с текстом.
Да даже если просто хотите эффективней решать литкод или улучшить навыки программирования. Насмотренность в программирование очень важная вещь. Она формирует экспертность и инженерность.
Я попробовал собрать лучшие подходы к поиску анаграм. Публично пока покажу одну, но в ноушене разобрал еще 4 задачи. Они дадут крутые паттерны и помогут отказаться от глупой зубрежки
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Проектирование декларативного API
Контент про узкие знания уходят в небытие. Все уже устали спрашивать про память, многопоточку, UIKit. Это становится скучно. Легко можно загуглить, узнать у коллег. Чатгпт дает точнее ответы.
Мы начинаем новый цикл оценки знаний. Архитектуры, проектирование, стиль. Оценка инженерности теперь оценивается не сколько знаний ты имеешь, а как ты ими пользуешься. Насколько чистый твой код. Элегантны решения. Понятны и удобны механизмы, которые ты пишешь или ими делишься.
Хороший разраб теперь тот, чей код трогаешь и меньше материшься. Кто изучил как сделать хорошо себе и другим. Кто ищет лучшие практики и берет их в жизнь.
В статье автор разбирает одну из удобных и модных практик — декларативный стиль на примере валидатора. Как написать удобный и простой механизм проверки наших полей ввода.
Контент про узкие знания уходят в небытие. Все уже устали спрашивать про память, многопоточку, UIKit. Это становится скучно. Легко можно загуглить, узнать у коллег. Чатгпт дает точнее ответы.
Мы начинаем новый цикл оценки знаний. Архитектуры, проектирование, стиль. Оценка инженерности теперь оценивается не сколько знаний ты имеешь, а как ты ими пользуешься. Насколько чистый твой код. Элегантны решения. Понятны и удобны механизмы, которые ты пишешь или ими делишься.
Хороший разраб теперь тот, чей код трогаешь и меньше материшься. Кто изучил как сделать хорошо себе и другим. Кто ищет лучшие практики и берет их в жизнь.
В статье автор разбирает одну из удобных и модных практик — декларативный стиль на примере валидатора. Как написать удобный и простой механизм проверки наших полей ввода.
Вычислительные мощи и процессы нашего мозга
Сейчас будет основа основ, но часто замечаю как ее игнорируют. Поэтому извиняюсь, если кто-то подумает что за банальный пост.
Насколько быстро ты понимаешь информацию? Как долго держишь в голове прочитанное? Как хорошо строишь комплексные картины в голове?
Наши знания ничего не стоят. Главная задача образовательных программ — образовать нас. Дать ресурсы, методы и практики, которые помогут искать нас в этом бесконечно изменяющимся мире и эффективно использовать знания. Для этого мозгу требуется правильная диета, дисциплина, гигиена и питание.
Сегодня ты знаешь чуть меньше, но с правильной техникой обучения, легко нагонишь.
Бесполезно гнаться за документациями, секретными знаниями или сливами, если твой носитель, который мы называем мозгом, не способен эффективно работать с этими знаниями. Если у него нет нужных системных характеристик потянуть этот софт.
Всегда будут исследователи и паразиты. Одни будут обладать всеми нужными навыки для поиска и формирования правил игры, а другие просто потреблять. Вся моя искренняя нелюбовь к накрутчикам и лгунам, помимо неэстетичной и слабой философии, это искажение основ развития. Их наивность и заблуждения, что можно просто переступить подготовительные этапы и сразу всосать знания.
Это, как никогда не бывая в зале, сразу пытаться брать нагрузку в разы за пределами нормы. Или учить первоклашку базе 11 класса, пропуская остальные 10 классов. Мозг не выдержит. Он выплюнет знания как только мы раслабимся. Или заставит взять долгий период на восстановления, где все труды и работа пойдут под откос. В добавок все ресурсы тратятся на поддержку легенды, а побочный эффект этого — синдром самозванца. С таким грузом легкость не обретешь.
Любое развитие — это повторение с предельной искренностью к себе. Иттерации. Дробление огромной работы на маленькие части. Логированием и фиксом своих ошибок.
Иметь гибкость быстро перестроиться и жить не в истощенном режиме, где при этом успевать ускоряться. А где-то и мобилизироваться. При этом без нагрузки на здоровье.
Собрал подборку статей для развития мозга и здоровья:
- Mind Training for Programmers
- A Daily Workout For The Software Developer's Brain
- Why Regular Exercise is Important for Software Developers
Сейчас будет основа основ, но часто замечаю как ее игнорируют. Поэтому извиняюсь, если кто-то подумает что за банальный пост.
Насколько быстро ты понимаешь информацию? Как долго держишь в голове прочитанное? Как хорошо строишь комплексные картины в голове?
Наши знания ничего не стоят. Главная задача образовательных программ — образовать нас. Дать ресурсы, методы и практики, которые помогут искать нас в этом бесконечно изменяющимся мире и эффективно использовать знания. Для этого мозгу требуется правильная диета, дисциплина, гигиена и питание.
Сегодня ты знаешь чуть меньше, но с правильной техникой обучения, легко нагонишь.
Бесполезно гнаться за документациями, секретными знаниями или сливами, если твой носитель, который мы называем мозгом, не способен эффективно работать с этими знаниями. Если у него нет нужных системных характеристик потянуть этот софт.
Всегда будут исследователи и паразиты. Одни будут обладать всеми нужными навыки для поиска и формирования правил игры, а другие просто потреблять. Вся моя искренняя нелюбовь к накрутчикам и лгунам, помимо неэстетичной и слабой философии, это искажение основ развития. Их наивность и заблуждения, что можно просто переступить подготовительные этапы и сразу всосать знания.
Это, как никогда не бывая в зале, сразу пытаться брать нагрузку в разы за пределами нормы. Или учить первоклашку базе 11 класса, пропуская остальные 10 классов. Мозг не выдержит. Он выплюнет знания как только мы раслабимся. Или заставит взять долгий период на восстановления, где все труды и работа пойдут под откос. В добавок все ресурсы тратятся на поддержку легенды, а побочный эффект этого — синдром самозванца. С таким грузом легкость не обретешь.
Любое развитие — это повторение с предельной искренностью к себе. Иттерации. Дробление огромной работы на маленькие части. Логированием и фиксом своих ошибок.
Иметь гибкость быстро перестроиться и жить не в истощенном режиме, где при этом успевать ускоряться. А где-то и мобилизироваться. При этом без нагрузки на здоровье.
Собрал подборку статей для развития мозга и здоровья:
- Mind Training for Programmers
- A Daily Workout For The Software Developer's Brain
- Why Regular Exercise is Important for Software Developers
Simple Programmer
Mind Training for Programmers - Simple Programmer
Training the body is important. However, mind training is paramount for productivity, but it’s underemphasized among programmers and society at large.
Starscream vs Socket.IO
Писать свой клиент для сокетов — сложная задача. Там нужно учесть многие детали и нюансы. Многие не заморачиваются и тянут библиотеки. Я хоть и против затаскивания зависимостей в большой продукт, но такие вещи лучше старать делать через проверенные либы.
Самые популярные на мой взгляд это две:
- Socket.IO
- Starscream
При выборе либ я использую разные критерии:
🟣 репутация автора
🟣 Кол-во открытых ишью
🟣 последний коммит
🟣 отзывы комьюнити
А по каким критериям вы выбираете либы?
Писать свой клиент для сокетов — сложная задача. Там нужно учесть многие детали и нюансы. Многие не заморачиваются и тянут библиотеки. Я хоть и против затаскивания зависимостей в большой продукт, но такие вещи лучше старать делать через проверенные либы.
Самые популярные на мой взгляд это две:
- Socket.IO
- Starscream
При выборе либ я использую разные критерии:
А по каким критериям вы выбираете либы?
Please open Telegram to view this post
VIEW IN TELEGRAM
Строки — одна из непонятных и холиварных тем в Swift. Чаще, решая задачи на литкод, разработчики не запариваются с внутренностями строк и кастят строки в массивы Array(string). Ведь работать с массивом символов гораздо приятнее.
Я давно хотел разобрать эту тему, ведь мы не идем в эту сторону упрощения, а хотим разобраться как же правильно работать со строками. Ведь настоящий эксперт iOS изучает каждую деталь языка, а не уходит в костыли:
Ограничение до 01.07
Please open Telegram to view this post
VIEW IN TELEGRAM
Тренды мобильных приложений 2024
Пятничный пост. Часто нужно держать руку на пульсе. Понимать что может случиться с индустрией, чтобы найти зоны аплифтов или ям сокращений. Строить роадмап.
Делюсь интересной сборкой трендов, которые не так поверхностны, как могут казаться:
🟣 Low, Zero Code. Упрощение кодинга или его отсутствие становится популярным. Можно легко собрать сайт или приложение через специальные сервисы. Где-то даже заменить страницу Notion'ом. Крупные компании идут к конструкторам страниц или к BDUI. Разрабы никуда не деваются, но тренд становится более заметным
🟣 Фокус на камеры. Видеозвонки, медиа-контент, Youtube, Instagram. Мобильное устройство уходит в сторону развлечений. Даже с учетом кучи социальных сетей людям все равно мало приложений для знакомств и нетворкинга.
🟣 Премиум апки и контент. Раньше бесплатное было в моде, но из-за перенасыщенности контентом люди готовы платить деньги за более лучшие сервисы или информацию.
🟣 Новые медиа платформы. Интерес к аудиокнигам растет. Я сам уже год не читаю, а слушаю.
🟣 Западный банкинг наконец проснулся. Раньше считалось, что западный банкинг неудобный и устаревший. Но сейчас он проснулся и идет в сторону трендов и современности. Мобильные банки на западе начали активно развиваться.
Пятничный пост. Часто нужно держать руку на пульсе. Понимать что может случиться с индустрией, чтобы найти зоны аплифтов или ям сокращений. Строить роадмап.
Делюсь интересной сборкой трендов, которые не так поверхностны, как могут казаться:
Please open Telegram to view this post
VIEW IN TELEGRAM
Exploding Topics
14 Mobile App Development Trends (2024)
This new guide covers the biggest trends and opportunities in mobile apps and app development in 2024.
Фильтров опытов стало больше или проверенный временем
Время — главная метрика в ит. Сколько у тебя опыта? За сколько времени ты сделаешь задачу? Какая скорость интернета? Как быстро идет билд в пайплайне? Как можно оптимизировать работу кода? Почему Xcode такой медленный? Сколько лет эта библиотека объездилась в комьюнити? Какой у вас последний таргет? Привязка ко времени будет всегда. Бороться с этим — не понимать индустрию.
Одно из частых заблуждений, что года опыта, и их нассыщенность техническими вызовами, оценивает только рекрутеры в своих фильтрах резюме. Но это не так.
На самом деле на них смотрят все:
- технический спец, с первых вопросов на интервью, поднимает тему о ваших самых сложных задачах. Это понимание уже на 50% оценило и выстроило дальнейшее интервью, а где-то даже и закончило. Имея хоть небольшой опыт, он легко поймет сколько времени понадобится сделать хорошо задачу.
- нанимающий менеджер, имея фидбэк от технического и hr, смотрит на оценку опыта. Многие не знают, но часто менеджеры могут не поверить в оценку технического интервью. Пообщавшись о вашем опыте уже в живую, дать либо ниже, ниже выше оценки от теха.
- и только потом, рекрутер, зная весь фидбэк и мнения от техспецов, зная все недовольства менеджеров, ставит свои фильтры.
Став опытным ты сам будешь лучше понимать метрику. Оценивать коньяк по его выдержке. Шашлык не маринуется за секунду. А ребенок не рождается за час. У всего есть свой инкубационный период и возраст совершеннолетия
Время — главная метрика в ит. Сколько у тебя опыта? За сколько времени ты сделаешь задачу? Какая скорость интернета? Как быстро идет билд в пайплайне? Как можно оптимизировать работу кода? Почему Xcode такой медленный? Сколько лет эта библиотека объездилась в комьюнити? Какой у вас последний таргет? Привязка ко времени будет всегда. Бороться с этим — не понимать индустрию.
Одно из частых заблуждений, что года опыта, и их нассыщенность техническими вызовами, оценивает только рекрутеры в своих фильтрах резюме. Но это не так.
На самом деле на них смотрят все:
- технический спец, с первых вопросов на интервью, поднимает тему о ваших самых сложных задачах. Это понимание уже на 50% оценило и выстроило дальнейшее интервью, а где-то даже и закончило. Имея хоть небольшой опыт, он легко поймет сколько времени понадобится сделать хорошо задачу.
- нанимающий менеджер, имея фидбэк от технического и hr, смотрит на оценку опыта. Многие не знают, но часто менеджеры могут не поверить в оценку технического интервью. Пообщавшись о вашем опыте уже в живую, дать либо ниже, ниже выше оценки от теха.
- и только потом, рекрутер, зная весь фидбэк и мнения от техспецов, зная все недовольства менеджеров, ставит свои фильтры.
Став опытным ты сам будешь лучше понимать метрику. Оценивать коньяк по его выдержке. Шашлык не маринуется за секунду. А ребенок не рождается за час. У всего есть свой инкубационный период и возраст совершеннолетия
Таксономия Блума или как учиться эффективней
В прошлом посте мы говорили об оценке знаний и навыков, которые называются опытом. Поговорим о других техниках, которые помогают нам лучше обучаться.
Таксономия Блума — один из методов эффективного обучения, который сильно закрепился в IT. Основная идея заключается в том, что обучение — это последовательный процесс. Состоит он из 6 уровней: запоминание, понимание, применение, анализ, синтез и оценка. Каждый из них опирается на предыдущий: без знания невозможно понимание, без понимания — применение и далее. Например, если человек не знает, что такое молоток, то не поймет как с его помощью вбить гвоздь.
По Блуму, проверка знаний тоже охватывает каждый из этих уровней от простого к сложному: от знания к оценке навыков. Например, на старте важно проверить насколько хорошо продавец освоил теорию по технике продаж. Если он путается в основных терминах, проверять навыки бесполезно.
Этот метод идет в основе почти всех образовательных программ. И даже в ноушене я часто стараюсь идти по его формуле.
С помощью этой матрицы легко оценить свои или чужие знания. Их пользу или вред.
В прошлом посте мы говорили об оценке знаний и навыков, которые называются опытом. Поговорим о других техниках, которые помогают нам лучше обучаться.
Таксономия Блума — один из методов эффективного обучения, который сильно закрепился в IT. Основная идея заключается в том, что обучение — это последовательный процесс. Состоит он из 6 уровней: запоминание, понимание, применение, анализ, синтез и оценка. Каждый из них опирается на предыдущий: без знания невозможно понимание, без понимания — применение и далее. Например, если человек не знает, что такое молоток, то не поймет как с его помощью вбить гвоздь.
По Блуму, проверка знаний тоже охватывает каждый из этих уровней от простого к сложному: от знания к оценке навыков. Например, на старте важно проверить насколько хорошо продавец освоил теорию по технике продаж. Если он путается в основных терминах, проверять навыки бесполезно.
Этот метод идет в основе почти всех образовательных программ. И даже в ноушене я часто стараюсь идти по его формуле.
С помощью этой матрицы легко оценить свои или чужие знания. Их пользу или вред.
Подборка для того, чтобы пройти в FAANG
Плох тот солдат, кто не хочет иметь подготовку суперсолдата. Не все хотят работать в МААНГАх, но многие хотят иметь подготовку уровня мирового топ разраба. Пройти сложные испытания через 5 часов литкода, систем дизайна и фиты. Не важен факт где ты работал, важно как ты туда попал. Одно дело через знакомст и бэкдоры, в виде контрактов и связей. Другое дело пройдя жесткую конкуренцию и убив всех боссов хардкор режима. Последнее даст больше навыков и почета, чем первое.
Нет почести и уважения к тому, что ты прошел игру на сложности легче, чем другие. Нашел хаки, баги, читы. Нам нравятся другие игры. Мы хардкорщики. А читеры и абузеры механик это трусы и слабаки.
Возможно, никто из нас никогда не будет работать в гугле или эпле. Но зато мы будем стараться соответствовать их требованиям. Хотя, я думаю, что скоро мы достигнем сложных собесов как в МААНГАх и к этому нужно быть готовым.
Coding Interview
🟣 500 важных задач с литкода. Эксель табличка с задачами и с ссылками на видео решения.
🟣 сайт algoexpert. Тут можно лучше познакомиться с теорией и с тщательно подобранными вопросами.
System Design Interview
🟣 Grokking the System Design Interview. Полный курс по проектированию всех популярных сервисов.
Плох тот солдат, кто не хочет иметь подготовку суперсолдата. Не все хотят работать в МААНГАх, но многие хотят иметь подготовку уровня мирового топ разраба. Пройти сложные испытания через 5 часов литкода, систем дизайна и фиты. Не важен факт где ты работал, важно как ты туда попал. Одно дело через знакомст и бэкдоры, в виде контрактов и связей. Другое дело пройдя жесткую конкуренцию и убив всех боссов хардкор режима. Последнее даст больше навыков и почета, чем первое.
Нет почести и уважения к тому, что ты прошел игру на сложности легче, чем другие. Нашел хаки, баги, читы. Нам нравятся другие игры. Мы хардкорщики. А читеры и абузеры механик это трусы и слабаки.
Возможно, никто из нас никогда не будет работать в гугле или эпле. Но зато мы будем стараться соответствовать их требованиям. Хотя, я думаю, что скоро мы достигнем сложных собесов как в МААНГАх и к этому нужно быть готовым.
Coding Interview
🟣 сайт algoexpert. Тут можно лучше познакомиться с теорией и с тщательно подобранными вопросами.
System Design Interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Linkedin
𝐋𝐚𝐧𝐝 𝐲𝐨𝐮𝐫 𝐝𝐫𝐞𝐚𝐦 𝐣𝐨𝐛 𝐢𝐧 𝐅𝐀𝐀𝐍𝐆/𝐌𝐀𝐀𝐍𝐆 𝐂𝐨𝐦𝐩𝐚𝐧𝐢𝐞𝐬 | Tauseef Fayyaz
𝐋𝐚𝐧𝐝 𝐲𝐨𝐮𝐫 𝐝𝐫𝐞𝐚𝐦 𝐣𝐨𝐛 𝐢𝐧 𝐅𝐀𝐀𝐍𝐆/𝐌𝐀𝐀𝐍𝐆 𝐂𝐨𝐦𝐩𝐚𝐧𝐢𝐞𝐬
✅ 𝐂𝐨𝐝𝐢𝐧𝐠 𝐈𝐧𝐭𝐞𝐫𝐯𝐢𝐞𝐰
👉 Solve LeetCode medium-level problems (at least more than 250+ covering different topics)
👉 I have created an xlsx on top/important 500 leetCode questions (https://lnkd.in/dWn73jXd) and a video…
✅ 𝐂𝐨𝐝𝐢𝐧𝐠 𝐈𝐧𝐭𝐞𝐫𝐯𝐢𝐞𝐰
👉 Solve LeetCode medium-level problems (at least more than 250+ covering different topics)
👉 I have created an xlsx on top/important 500 leetCode questions (https://lnkd.in/dWn73jXd) and a video…
Forwarded from КиберТопор
Если законопроект примут, Apple будет обязана предустанавливать RuStore в iOS, иначе продажу гаджетов запретят в РФ — так депутаты хотят бороться с дискриминацией российских приложений в App Store и Google Play.
Теперь пользуемся андроидом.
🕹КиберТопор — Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Я не встречал людей, которые не понимали быстрый билд проекта. Может если только работники крупных финтехов, которые находили вторые работы, пока билдился проект. Без шуток, я слышал легенды, что обычное переключение ветки и новая сборка проекта, могла занимать почти час.
Модуляризация — один из важных подходов для хорошей работы. Она позволяет отсеять лишнее и дает архитектуру для масштабирования кодовой базы. А также помогает в изоляции сборки.
В статье есть хорошее описание назначения модуляризации, ее плюсов и минусов.
Please open Telegram to view this post
VIEW IN TELEGRAM
Runway
How to improve iOS build times with modularization | by Runway
Modularization establishes an architecture that allows scaling applications and codebases to grow while keeping build times in check. In this post, we’ll look at how all this plays out in the iOS world (though there are certainly themes common to all platforms…
Я продолжаю собирать материалы к марафону.
Уже накидал структуру каждого дня, а где-то даже презентации для докладов.
Каждый день у нас будет созвон, где мы либо будем слушать доклады, либо разбирать домашние задания. В одном из них я даже покажу пример реального фидбэка на эталонное прохождение таких секций.
Еще разберем почему в систем дизайне бесполезно зубрить схемы и как он хорошо вскрывает реальный опыт. Как сильно влияет реальная практика и насколько сильно беспомощна накрутка.
Please open Telegram to view this post
VIEW IN TELEGRAM
Хакаем mobile system design интервью
Статья с кликбейтным заголовком, которая разбирает процессы собесов в Apple, Google, Netflix и других тир 1 компаний. В ней хорошо описываются требования, которые будут оцениваться от интервьюера.
Обычно разработчику дают максимально абстрактную задачу. Например, "сделай ленту новостей как у твиттора". А дальше смотрят на такие пункты:
🟣 Насколько "правильные" вопросы задает интервьюеры
🟣 Как приоритизирует требования: разделяет на функциональные и нефункциональные
🟣 Насколько понятную схему он рисует
🟣 Определить границы хардов интервьюера
🟣 Определить софты: коммуникация, стрессоустойчивость, логичность и тп
🟣 Насколько хорошо понимаете работу за границами iOS
🟣 Как принимаете решения
Эти навыки невозможно получить без практики и опыта
Статья с кликбейтным заголовком, которая разбирает процессы собесов в Apple, Google, Netflix и других тир 1 компаний. В ней хорошо описываются требования, которые будут оцениваться от интервьюера.
Обычно разработчику дают максимально абстрактную задачу. Например, "сделай ленту новостей как у твиттора". А дальше смотрят на такие пункты:
Эти навыки невозможно получить без практики и опыта
Please open Telegram to view this post
VIEW IN TELEGRAM
THE MOBILE INTERVIEW
Cracking the Mobile System Design Interview (iOS & Android)
A complete step-by-step strategy to preparing and passing the iOS and Android system design interviews at small start-ups and Big Tech companies (FAANG).
Часто я нахожу дыры в своих знаниях. Связаны они с разными причинами: что-то я неправильно прочитал, где-то понял, другое устарело, забыл. Но всегда стараюсь быстро эти дырки залатать.
Недавно понял, что неправильно понимаю работу Hashable. В каких случаях поиск по ключу в словаре будет O(n)? Как связан hashValue и hasher? Что такое уникальность и эквивалентность? Когда компилятор за нас синтезирует соответствие этим протоколам? Хорошо, что теория и знание языка фиксится за вечер. Это не проектирование сложных систем
В этих вопросах мне помогли разобраться эти материалы:
Кстати, к теме инфо гигиене, скоро будет разбор на важные пропозалы. Хватит читать непонятные статьи и слушать экспертов с собесов. Сразу идем в первоисточники и исходники.
Please open Telegram to view this post
VIEW IN TELEGRAM
Мы уже стартанули марафон по систем дизайну, сделали отдельный чат и будем созваниваться каждый день вечером. Поэтому эту неделю будет очень много материала.
Пока готовился к первому докладу нашел пока лучшее видео про систем дизайн. Формат беседы гораздо лучше мне заходит, чем докладов. Он более детальный и живой.
Еще нравится в видео как общаются разные разработчики платформ: бэк, фронт, мобилка. Где видны четкие грани в чем же уникальность мобильного систем дизайна
https://www.youtube.com/watch?v=tW3F62fY1Vc
Пока готовился к первому докладу нашел пока лучшее видео про систем дизайн. Формат беседы гораздо лучше мне заходит, чем докладов. Он более детальный и живой.
Еще нравится в видео как общаются разные разработчики платформ: бэк, фронт, мобилка. Где видны четкие грани в чем же уникальность мобильного систем дизайна
https://www.youtube.com/watch?v=tW3F62fY1Vc
YouTube
#FaangTalk 62 iOS System Design: Чем уникален мобильный систем дизайн
Канал с анонсами https://t.iss.one/faangtalk_news
Чат по подготовке к интервью: https://t.iss.one/faangtalk
- Чем уникален мобильный систем дизайн
- Архитектуры MVC, MVP, MVVM, MVVM-C, and VIPER
- The Composable Architecture, scheme source
- TCA, repo
- CoreData…
Чат по подготовке к интервью: https://t.iss.one/faangtalk
- Чем уникален мобильный систем дизайн
- Архитектуры MVC, MVP, MVVM, MVVM-C, and VIPER
- The Composable Architecture, scheme source
- TCA, repo
- CoreData…