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

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

Автор: @lvbond Senior iOS Yandex, ex-Avito, VK
Download Telegram
Как литкод спас мою жизнь

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

Собесы чаще это вообще отдельный цирк. Тебе приходится надевать лучший парад, чтобы покрасоваться. Компании любят фильтровать людей по старым схемам:

1️⃣ Опыт. Если ты десять лет пилил кнопки в корпорации, значит, наверное, не облажаешься и тут.

2️⃣ Образование. Красный диплом топ ВУЗа — сертификат о наличии ума.

Но эти два критерия не оценивают главного — мотивацию.

Сотни тысяч выпусников ВУЗов не работают по профессии. Я сам 1 из 30 человек из своей группы, кто стал инженером. И считаю себя не самым талантливым. Кому-то просто не интересно. Кто-то ушел в блогеры, кому-то похер.

Также не мало ситуаций, когда выросший до высоких позиций сотрудник в одной компании, не дотягивал до джуна в другой. ЧСВ, лень, время — это не мотивировало его меняться.

И вот тут на арену выходит литкод.

Да, это испытание боем. Дешевое, тупое, но эффективное. Хочешь в индустрию? Докажи готов выполнить 500 "дурацких задач" в литкоде, чтобы выполнить таких же 500 "дурацких задач" в работе.

Теорики ноют: "а давайте дадим всем систем дизайн". Но тогда ты работу будешь искать не два месяца, как сейчас, а шесть.

Для многих литкод собесы стали единственным социальным лифтом. Люди из всех уголков мира начали выбираться из нищеты. Не благодаря связям или дорогому образованию, а благодаря мотивации, которая давала им ценность в глазах работадателя.

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

Литкод — это не лучший инструмент. Он не проверяет умение работать в команде или строить архитектуру. Но он стал социальным лифтом. Ты можешь сидеть в маленьком городе без связей и диплома топ-вузa, но если у тебя есть упорство и мотивация, ты способен пробиться. И в этом его настоящая ценность. Он учит главному — идти до конца.

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

ПРИШЛО ВРЕМЯ КАЧАТЬ СТЕРЖЕНЬ!
1482
Последняя неделя щедрых скидок

Успевай взять и получить тонну контента. Не пишите потом что не видели!

🧬 Получить доступ можно 💰 тут или ⭐️ тут
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Созвон "АИ на практике" прошел. Спасибо за 2.5 часа

Мы обсудили кучу вопросов.
- как общаться с LLM и что от него ждать
- разобрали что такое Attention, Context, температура и тп
- техники промт инжениринга
- изучили код телеграма с пощью курсора
- разобрали как AI внедряют разные компании и кого заменяют
- Решали задачи с собесов

Запись будет в ноушене

Спасибо вам за крутой вайб!

Следующие две недели практики. Будет задача дня, где мы на основе техник и трюков будем применять всё в жизни.
19
🧑 Рефакторинг в iOS разработке

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

Для меня это немного удивительно. Ведь недавно многие говорили, что LLM-ки — это тупо генератор рандомных слов и не понимает контекста.

Но на нашем AI-созвоне мы узнали, что это не так. Революцию в ИИ сделали трансформеры, которые умели учитывать контекст.

Мы на примере исходников телеграма использовали Cursor. Потрошили им проект и узнавали как сделать анимации и где лежит разные модули.

Можно уверено сказать, что теперь онбординг и анализ проекта стали проще в разы. Но давайте освежим память и вообще вспомним что такое рефакторинг на примере книги «Рефакторинг» Фаулера.

Вспомним основные принципы хорошего рефакторинга.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
101
🌄 Swift Concurrency и протоколы: главные грабли и как их обойти

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

Почему протоколы и Swift Concurrency часто конфликтуют?

🔘Твой класс помечен @MainActor, а протокол требует nonisolated метода. Получаешь по лицу ошибкой “Main actor-isolated method cannot satisfy nonisolated requirement”.

🔘Протокол ожидает sync-метод, а ты хочешь внутри сделать await. Приехали. Строй адаптеры или таски.

🔘Если тип пересекает границы акторов, он должен быть Sendable. Но многие протоколы (особенно старые) об этом не знают. Привет, гонки и нестабильность

Именно поэтому работа с протоколами в SC это неочевидный источник багов. А на деле танцуешь с изоляцией и обертками.

Это мастхев для тех, кто пишет на Swift, и хочет понять как совмещать протоколы и SC без боли

Полезные ссылки:
- ConcurrencyRecipes
- Understanding Concurrency in Swift 6 with Sendable protocol, MainActor, and async-await
- Exploring Actors and Protocol Extensions

Еще больше примеров на днях добавлю в ноушен
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
161
Почему 90% SwiftUI-приложений работают с DI неправильно

В SwiftUI культ @EnvironmentObject. Все тащат через него зависимости, как будто другого пути нет. Потом удивляются хаосу в коде.

Mohammad Azam, автор крутых заметок про SwiftUI архитектуры, рубит правду. Этот подход чаще ломает архитектуру, чем помогает.

Он напоминает про три проверенные практики:
- constructor injection
- environment values
- environment object.

И говорит прямо — хватит копировать модные паттерны

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