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

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

Автор: @lvbond Senior iOS Yandex, ex-Avito, VK
Download Telegram
🧬 Custom Notification Center

Делюсь частью закрытого контента для проектирования своего центра уведомлений. Наверное, это самая частая задача для iOS инежнера на собесах.

В ней требуется:
🟣Запроектировать класс
🟣Сделать его thread safety
🟣Сделать его memory safety
🟣type safety

Получилось ли у меня можно проверить на скриншоте. Спойлер нет

💎 Как же сделать его лучше можно узнать в закрытом контенте по подписке через бусти или по скидке тут
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
55
Что выведет в консоль?
1422
Когда смотришь презентацию Open AI
18
Как следить за перфомансом своего приложения

Скорость нашего приложения — одна из главных метрик. Например, в Авито есть отдельная платформенная команда Perfomance. Она, с помощью десятков метрик, следит за скоростью приложения. Это сложная наука.

У каждой команды есть предельный лимит. Если команда уронит метрики, то ей будет запрещено раскатывать фичи.

Если вы тоже задумываетесь как улучшить свое приложение и сделать пользователям хороший опыт, то вот статья о перфомансе.

Как-нибудь напишем свои инструменты для профайлинга.
6
🌿 Алгоритмы в реальной жизни: обход сабвьюх в вью

Часто говорят, что алгоритмы не встречаются в жизни. Также как и математика. Но красота в глазах смотрящего, как говорится.

Одна из частых задач на собесах у многих — это работа с деревом UIView. Да да, на самом деле это то же дерево, хоть многие этого не замечали.

🚘🚘 Давайте разберем такую задачу:

Есть класс MyView, который имеет subviews такого же типа, как и класс.

Необходимо написать функцию, которая выводит subviews на определенном уровне, как показано на дереве в скриншоте.


Остановитесь здесь и попробуйте решить задачу.

Когда вы вернетесь, то наверное многие из вас догадались, что это обычный алгоритм BFS (обхода в ширину).

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

Попробуем набросать решение во втором скрине. Можете покидать комменты что бы улучшили.

А какие еще примеры использования алгоритмов в реальной жизни вы знаете? Делитесь в комментах.

💎 Но а если не знаете можно посмотреть в бусти или трибуте
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
12
Обязательно ли высшее образование для программиста?

Эта тема часто спорная и мы в чате ее иногда поднимаем. Так как я стараюсь формировать благоприятную среду для развития в комьюнити часто анализирую по этому поводу. Ну и сам из семьи учителей в третьем поколении.

Ответ нет. Но зависит от задач. Условным работягам на стройке не нужны специальные знания для укладки кирпичей. Но архитектору уже без него будет сложно конкурировать.

Какие плюсы от образования?

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

Зачем? Потому что у ваших детей будут контакты с шейхами и детьми депутатов.

2. Софт скиллы. Изоляция чаще несет вред, чем пользу. Многие технические навыки можно получить прочитав доку, но общению с коллегами ты не научишься выбрав мизантропный стиль жизни.

3. Социальные лифты. Кто бы чего не говорил, но бюджет вузов имеет в разв больше средств и ресурсов выбраться из деревни обычным работягам. А иногда бывает и даже из страны

4. Навыки обучения. Раньше слово «самоучка» считалось негативным и даже оскорбительным. И на это были причины.

Человек без конкуренции не имеет методик и фундамента. Ему нужна хорошая оппозиция и надежная команда. Именно по этой причине есть олимпийские игры и запреты на допуск спортсменам. Никто никогда не выигрывал что-то великое соло тренируясь в сеновале.

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

Без этой среды прогресс будет низким.

6. Исследовательская работа. Есть исследования, где брали сравнение чем отличается специалист со средне-специальным образованием и высшим. В задачах исполнительных нет разницы, но в вопросах исследовательских и углубленных высшее образование дает набор знаний и практики, которое лучше помогают думать и, собственно, исследовать. Творчески подходить в задачам.

Все эти плюсы я и хочу развивать в нашем сообществе.
1633
🌿 Подборка материалов из закрытого ноушена

Иногда я буду делать напоминательные посты с подборками своего контента. Это нужно потому, что много материала уже копится и его легко могут упускать как новенькие, так и старенькие.

Я уже собрал около 200 вопросов и задач. Они точно должны быть полезны. А также важен ваш фидбэк и комментарии.

Поэтому вот:
🟣Toп вопроcов по собеседованиям | Алгоритмы
🟣Упражнение по проектированию мобильных систем: Чат
🟣Вопросы для собесов по Swift Concurrency
🟣Вопросы для собесов на память | Junior

📺 Ознакомиться с другими сборниками можно тут

Если у тебя есть идеи, то можешь с ними поделиться.

Также детально тут или тут.
Please open Telegram to view this post
VIEW IN TELEGRAM
8
Корпоративная культура — новый товар или как эволюционировала печенька

Рынок растет, требования появляются у всех. Зумеры диктуют новые правила, но и работадатели требуют новых навыков.

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

На такой системе ценностей выстроены многие государственные компании. Платят много, но относятся как к говну.

С приходом нового поколения все меняется. ИТ-компании по-другому начинают относиться к ресурсам и методикам удержания. Кадров мало, только окладами не завлечешь. Печеньками в офисе не подкупишь, в них никто не ходит.

Поколения X, Y, Z. Каждая новая переменная дает разный результат.

Нужно думать о другом. Так появляются более тонкие отношения. У тебя появляются неофициальные отпуска раз в месяц, под хитрым названием day off. Ты можешь начинать свою работу с гибкого времени и никто тебе не скажет что ты рано начал или поздно закончил. Тебе дают бюджет на развитие: деньги на английский, курсы, книги и конференции.

Ты стал партнером, который также вносит вклад в общее дело, как и бизнес вносит в тебя.

Я заметил, что давно перестал смотреть на бабки. Мне важнее отношения с компанией.

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

Бабки, в этих условиях, будто для меня как сделка с дьяволом и продажа своих перспектив и творческой свободы, на добровольное рабство
13
🧬 Три закона сложности ПО

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

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

Вот три закона любого кода:

1. Хороший дизайн со временем становится плохим
2. В погоне за рынком сложность растет быстрее
3. У сложности нет предела
Please open Telegram to view this post
VIEW IN TELEGRAM
42
Чем отличается эконом такси от комфорта

На своей первой работе, в риелторском агентстве, я часто встречал ненависть к айфонам. Наш директор считал этот телефон для понторезов. Глупой тратой денег.

Он всегда сравнивал эконом и комфорт, демонстративно показывая как ездит на дешевой машине. Ходил со старым андроидом. А эконом такси ничем не хуже комфорта.

Денег у него было много. Очень много. Мне всегда казалось это либо лицемерие, либо пиар стратегия быть ближе к народу, либо жадностью. Особенно с учетом того факта, что он отказывался платить белую зарплату и заставлял всех сидеть на ИП. А когда его заставили платить налоги, то жаловался на государство и давал интервью о своем аскетичном образе жизни.

Его политику и менталитет принимали директора разработки. Рефакторинг и комфорт в разработке — для нытиков и понторезов. Говоря ту же метафору с такси: скорость движения в эконом такси ничем не отличается от комфорта. О словах dev.exp они не знали.

Спустя время, по случайности, летя на самолете, я понял чем же отличается комфорт от эконома. После изматывающей поездки в 6 часов. Ты тратишь меньше ресурсов и меньше устаешь.

С тех пор я понял, что и в разработке мы все должны заботиться о комфорте своих коллег.
36
Media is too big
VIEW IN TELEGRAM
Согласны?
345
❤️ Лучшие инструменты для EQ

Я хоть и забросил менторство, но продолжаю встречаться по выходным с парой менти. Мы обсуждаем преимущественно систем дизайн, но иногда и что-нибудь другое.

Такие встречи мне нравятся. Я сам обмениваюсь знаниями и культурой, что сильно меня бустит как человека и эксперта. Часто даже бывает, что я вдохновляюсь нашими диалогами и пишу в канал или ноушен инфу. А иногда даже пытаюсь внедрить какие-то идеи в рабочие моменты.

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

Рассказывать зачем его качать и в чем он может пригодиться — нет нужды и это не цель поста. Скорее, хочется поделиться инстурментами его прокачки. О нем бесполезно читать или обсуждать — его нужно тренировать.

🍷 Эффективные инструменты по нашему мнению:

1. Художественная литература. Один из лучших вариантов прокачать эмпатию — это чтение нон-фикш книг. Так наш мозг получает нужные нейросвязи и мы гораздо глубже можем понимать что скрывается в человеческой коробке.

Моя бабушка учитель литературы и ее эмоциональный интеллект плюс любовь к литературе, мне кажется, помогли ей дослужиться до директора школы. Пусть и не самой большой в мире, но все же.

2. Спорт и командные виды. Здоровое спортивное соперничество и характер — основа развития. Часто ты борешься не только с соперником, но и с самим собой. Со своими пороками, ленью и вредными привычками. Берешь над собой контроль и вырабатываешь сознательность.

3. Искусство. Заниматься музыкой, писать картины, ходить на танцы — это тоже развитие нашего EQ. Я тут не силен, но в планах есть научиться играть на музыкальных инструментах или станцевать бачачу.

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

5. Встречи с правильным окружением. Есть люди, которые заряжают и учат тебя, даже когда ты обучаешь их. Здесь важно находить нужных людей, которые дают мотивацию и стимулы.

Насчет последнего пункта можно подумать о ежемесячных созвонах в качестве терапии или развития нашего EQ. Обменяемся культурным опытом.
Please open Telegram to view this post
VIEW IN TELEGRAM
12