iOS Makes Me Hate
3.94K subscribers
1.16K photos
167 videos
15 files
1.34K links
Авторский канал про iOS разработку. Путь продуктовых самураев в MAANG.

Самое больше iOS сообщество практиков: https://boosty.to/lionbond/

Автор: @lvbond Senior iOS Yandex, ex-Avito, VK
Download Telegram
Ну и если че вот лучшее видео на ютубе о том, как работает стэк

- поинтеры
- прологи и эпилоги функций
- рост стэка вниз и вверх
- фреймы стэка
- вызов функций

в след посте попробую сделать визуализацию стэка в иос

https://www.youtube.com/watch?v=MXoMuymbfo8
🔥12
Постов не будет

В ближайшие 2 недели я на заслуженном отпуске 🏝

Первого ноября мне исполняется 29 лет. Поищу тишину. На др попробую заняться детоксом, отдохнуть от сетей. Я никуда не уехал из РФ и пока не собираюсь. Хотя были все оправдания уехать в Казахстан и увидеть мать, которую я не видел 3 года. Переезд это точно не то, что сейчас даст энергию и трезвый ум. Я похожу по общественным баням, можете пошутить про иосера и мужские письки. Отдохну от избытка инфы, которая душила весь этот год.

Каждое мое др — еще один удушливый дедлайн, который скорее вводит в депр, чем мотивирует. Я, как тот самый нудилка в команде, который на ретро говорит "Ну вроде все норм, но могли бы и лучше!". Кто-то говорит, что это все, потому что я скорпион по знаку Зодиака. А мне просто кажется я душнила. Но все же хотелось бы подытожить прошедший спринт, длиною в год:

1️⃣ Год этому каналу. Как я уже писал раньше, он был спонтанной идеей. Меня позвали на курс пообучать чуваков. Я создал его как канал связи. Написал пару статей. И вот нас уже почти 700 человек.

Канал стал главным проводником, который дает решимости, знания мне и вам.

2️⃣ Нашел супер-крутую компанию и команду в лице авито. Хоть кто-то может поныть как якобы легко купить мою лояльность, но за 9 лет моей карьеры программистом я повидал много компаний. Посидев на рабочив местах казахстана и россии — не было ни одной компании, где мы настолько совместимы взглядами

3️⃣ Благодаря каналу я нашел крутых коллег и знакомых, с которыми мы могли пройти этот нелегкий год. Поток информации, которой мы обмениванились, насыщенней и полезный в разы. Это круто.

Я никогда не рассматривал и не буду этот канал как нечто коммерческое. Убив тем самым в себе тягу за знаниями, а не за монетой. Меня просили обменятся подписчиками, прорекламировать курс за косарь (лол серьезно?). Сорри, всем, кому отказал. Я рекламирую только то, что мне нравится и по своему желанию. Да и рил, у меня их не так много, чтобы вы обижались.

Но если вам все же нравится то, о чем я пишу — вы можете поддержать донатом на стакан пива. А я выпью его за вас, пока мы готовим всякие интересные штуки для нас и вас. Ну и вообще будет приятно

💸Сбербанк: 5228600574454783
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉50❤‍🔥742
Ладно. Еще один пост. На отпуске купил книгу, которая пока больше всего заинтересовала, среди желтых оберток Мартина.

Все мы изучаем множество инструментов и технологий. Но хорошего разраба от простого отличает не кол-во навыков и теории, а качество их применения

В этой книге показалось, что Мартин дает смысла и создает общую картину хорошему разрабу.

Он отвечает на ваши любимые вопросы: тесты, архитектура, проектирование.

А также дает этические и моральные принципы, необходимые софты для работы на инженерных позициях

Буду делиться с вами видением автора об устройстве идеальной работы
🔥22
Заключительный пост про память на ближайшее время

https://stevenpcurtis.medium.com/access-memory-directly-in-swift-e79328f38641
😢9👍5🔥4🏆1
Короче, Мартин говорит, что без TDD невозможно сделать нормальный, чистый код.

Наверное, для многих эта страница будет финишной🥲

так и не закончив путь в поиске идеальной работы
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7🔥1
Все виды перегрузок функций в свифте:

- разный тип аргументов
- разный тип возвращаемого типа
- разный тип нэйминга аргументов
- разное кол-во аргументов

https://www.geeksforgeeks.org/swift-function-overloading/amp/
❤‍🔥11
Следом идем с перегрузкой операторов (operator overloading):

📌 создавать кастомные операторы нужно через выражение (pre/post/in)fix operator.

Например infix operator ~>

📌 у разных операторов есть свой приоритет. Например в выражении 2+3-6/3 высокий приоритет будет у оператора /

📌 базовые операторы находятся в глобальном скоупе, их перегрузка может быть глобальной, либо относительно вызываемого типа.

- Создание кастомных операторов
- Перегрузки в свифте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Про покраску кнопок

⚡️⚡️⚡️⚡️

Многие разрабы думают: «а зачем мне ваши тесты, алгоритмы и архитектуры ведь я только кнопки крашу?»

Но это ошибочное мышление. Возьму практические примеры.

Есть такая штука, как backend driven ui. Она есть во многих больших компаниях (сбер, Яндекс, авито). Если кратко, то вместо разраба экран могут создать даже менеджер. Как через те же Wordpress, tilda, jopmla с сайтами.

Для меня это эволюция систем отрисовки. Автоматизация разработки интерфейса. Комбинация дизайн системы + бэкэнда.

Для этого вам нужна хорошая дизайн система с уже разработанными компонентами. И бэкэнд.

Бэк отправляет вам json, который позволяет отрисовать на экране любой интерфейс из готовых компонентов. Это дико экономит и ускоряет разработку

Но у этого есть цена. Одна из них разрабы, которые привыкли красить кнопки, чаще не видят свой карьерный рост в таких системах. Ведь почти не работают с привычным UIKit, а только модифицируют готовые компоненты.

Очевидно, что в таких системах вам просто так не дадут создать что-то уникальное и свое. Ведь у вас есть много зависимостей и правил относительно дизайн систем, бэкэнда. Правила пользования инструментами и концепции переплетают всю компанию. От дизайнеров и бэкэндеров.

Вот тут вам и нужно качать свои навыки по улучшению стабильности таких крупных и важных систем. Улучшения качества компонента, который используется в 20 экранах и имеет разные состояния в зависимости от фичафлагов, а/б тестов. Улучшение архитектуры и ее поддержка. Сбор обратной связи от продуктовых команд для инфраструктурных

🗯️Вы перестаете красить кнопки и становитесь инженерами большой системы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍121🏆1
📕 "Дилемма инноватора"

Раз я официально получаю образования бизнес-информатика, то буду также писать о полезных ит-бизнес книгах. Пока летел с отпуска, решил перечитать.

Первая, и самая актуальная — это известная дилемма инноватора. Хотите узнать почему большие компании проигрывают маленьким? Как черезмерное качество опасно для больших компаний? Почему большие компании не анализируют маленькие рынки, а затем умирают?

Автор делит технологии на "поддерживающие" и "подрывные". Большие компании пытаются много поддерживать, но слишком недооценивают маленькие стартапы. А когда рынок начинает расти, то не успевают адаптироваться.

Также интересно, как Apple и IBM украли технологию выввода информации на экран в растровой графике у Xerox PARC. Убив ее.

А первый поисковик назывался WANDEX. Позже его наработки украли Яндекс и Гугл.

Крайне полезная и по сей день актуальная книга. Она учит важному мышлению — необходимо понимать, что ресурсы компании зависят от потребителей и инвесторов. Не стоит делать лишнию работу, которая не дает бизнесу прибыли сейчас. Какой бы, эта работа, заманчивой не казалась в будущем

#books
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
💻 Как оценить хорошую архитектуру?

Основной принцип хорошей архитектуры — простота.
Наилучшим дизайном считается простейший дизайн.

Что это значит? А значит, что текущая архитектура должна делать ровно то, что от нее требуется. Без маниакальной работы на перспективу.

Как говорит Мартин, подход усложнения был популярен в 1980х, 1990х. Программы долго запускались, а тестировать их было сложно. Так система пыталась быть сложнее, чем необходимо. Сейчас же стоимость автотеста дешевле, что легко экономит стоимость разработки

👍 Принцип YAGNI один из тех, который поможет нам оценить качество архитектуры.

Каждый раз, когда возникает мысль "хорошо бы добавить крючок на будущее", необходимо спрашивать себя, что произойдет, если мы этого не сделаем.

💳 Если многолетнее присутствие в системе этого крючка будет дорого стоить, а вероятность того, что он в конечном итоге понадобится, низка — вряд ли имеет смысл его добавлять.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🤔3😐2
😬😬😬
Please open Telegram to view this post
VIEW IN TELEGRAM
😁12🤔3