TGViewer
Channel Public Channel
IT Makes Me Hate

IT Makes Me Hate

@iosmakesmehate

Авторский канал про разработку. Путь продуктовых самураев в MAANG.

Автор: @lvbond Senior iOS Yandex, ex-Avito, VK

лектор ВШЭ и тп

про ai тут: @aimakesmehate

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

Сайт iosmakesmehate.tech
Subscribers
4.16K
Photos
1.8K
Videos
286
Links
1.7K

Showing posts older than #4139 · Back to latest

Older Posts 20 shown
Post #4137 1.53K
Жизнь с AI: TDD

Читаю книгу AI Driven Swift Architecture и в ее фундаменте стоят тесты. Я уже писал много раз, что логичным шагом валидации сгенерированного кода будут автотесты.

Автор книги iOS Unit Testing такого же мнения. Он считает, что инженерная дисциплина никуда не уйдет в мире ии, а скорее преобразится. ИИ нужно валидировать и апрувить. В хороших проектах он усливает плюсы, а в плохих минусы.

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

LLM по умолчанию оптимизированы под корректность, читаемость и «конвенциональные best practices», но не под продвинутые эвристики TDD — когда тест устарел из-за триангуляции, когда более общий тест поглощает частные. Это решает человек.


Гайд по тестам:

1️⃣ CLAUDE.md это не документация, а правила, паттерны и другие описания требований к тестам

2️⃣ Transformation Priority Premise - тоже записывается в CLAUDE.md, и в примере Claude действительно начинает каждый шаг с чтения нужной секции перед генерацией.

3️⃣ Рефакторить надо и тесты. На уровне TDD недостаточно сказать "отрефактори", ассистент должен понимать зачем.

Хороший промпт называет проблему, привязывает ее к теории (а не к личному вкусу), ставит учебную цель, ограничивает рамкой и заканчивается "покажи изменения до применения".

4️⃣ Не сохраняй тесты как артефакты

Тесты должны эволюционировать вместе с архитектурой, а не цементировать ее и делать неповоротливой.

5️⃣ Перед применением теста пойми что они тестируют

Это поможет тебе не потерять контроль что происходит в коде

6️⃣ Правильность важнее колличества

Цель TDD это не количество тестов, а правильные тесты. Те, что ясно описывают поведение и защищают от регрессий.

7️⃣ Claude отлично исполняет четко заданные инструкции. Но какие инструкции приоритетны и как они описаны уже решает разработчик.

8️⃣ Изучите триангуляцию тестов. Уточняйте ее. Это увеличивает и ваше понимание, и контекст проекта для LLM.
Post #4136 1.56K
UniqueBox, Ref, and MutableRef in Swift 6.4

В Swift 6.4 подвезли три типа, которые звучат как кишки компилятора, но на деле закрывают вполне бытовую боль.
🟣UniqueBox - коробка с одним хозяином. Иногда значение нужно положить на кучу (оно большое, или нужен стабильный адрес), но при этом ты точно знаешь, что хозяин должен быть один. Раньше для этого брали класс и получали в нагрузку счетчик ссылок и возможность нечаянно расшарить. UniqueBox дает хранилище на куче без этого балласта.

🟣Ref - самый понятный когда копировать можно (читателей много), писать нельзя, источник
заморожен на время жизни ссылки.

🟣MutableRef - тут наоборот. Запись можно, копировать нельзя.

Раньше если бы мы делали class Box то это было бы тяжело по памяти. Так еще бы была бы нагрузка на ARC. Сейчас ни один из трех не делает retain/release.

В фичекодах это почти незаметно. Полезно когда вы делаете свои коллекции для BDUI или сложного лайаута.

В следующем посте попробую разобрать более практический пример с ссылкой на гит и цифрами
Post #4125 1.52K
Яндекс, почему у нас нет внутренней валюты за лайки и комментарии?

Ставь лайк если нужно записывать рилсы с корпоративной жизнью в Яндексе 💀

Источник
Post #4124 3.35K
Субботняя рубрика про книги

Еще одна книга в крутом переплете. Еще одна про единоборства. Еще одна про философии и кодексы.

Запомните. Моя любовь к восточным единоборствам пришла не от аниме.

Я вырос в маленьком селе. Там из-за отсутствия возможностей молодежь делилась на две половины: спортсмены и наркоманы. Классика любых ебеней. Одни старались выбраться, другие смерились упадку.

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

В прошлом году он стал серебряным призером России среди лучших учителей физкультуры. Из села к федеральному уровню. За 35 лет сотни учеников. Большинство до сих пор благодарны.

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

Если бы не эти ориентиры, то мы бы так и остались бы в колхозе.
Post #4123 1.63K
Короче я еще долгое время не понимал зачем додо такой крутой визуал. Казалось избыточно.

Но теперь я ПРОЧУВСТВОВАЛ.

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

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

Ты всегда подсознательно уверен в качестве.

Пацаны, не сломайте крутой UI/UX об кроссплатформы и бдуи. И никогда не уходите от натива
Post #4122 1.66K
🌿 Цикл статей про управлению памятью

Я продолжаю улучшать сайт. Сейчас он в бете и помимо фиксов багов и тп я стараюсь уплотнять его контентом.

Опубликовал на сайте в открытый доступ базу для новичков и не только. Если вы хотите освежить знания то вот:
🟣Управление памятью в iOS: Stack, Heap, RAM
🟣Управление памятью в iOS: MRC/MRR, ARC, Memory Leaks
🟣Управление памятью: Погружаемся глубже в Autorelease Pool
🟣Управление памятью в iOS: SideTable, RefCount, HeapObject, Object Lifecycle
🟣Управление памятью: Memory Layout, Memory Safety, Unsafe Pointer

⚠️ Все в бете. Поэтому кидайте свои фидбэки в отдельный чат — https://t.me/+1eLIzsuys1AyZGFi
Post #4121 1.47K

Forwarded from CodeCamp

Безумие: сотрудники сожгли ПОЛМИЛЛИАРДА долларов за месяц на Claude… случайно 🥲

По данным СМИ, работягам дали доступ к Claude, но забыли поставить лимиты и не мониторили расход. Юные вайбкодеры начали гонять агентов 24/7, уничтожив больше $500M всего за 30 дней.

Лицо босса, когда пришел счет — 💀
Post #4120 1.53K
Будут ли расти джуны в эпоху ИИ?

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

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

Джуны же не растут на рутине. И рутина никак не влияет используешь ли ты ии, или даешь однотипные задачи из JSON'ов как копию очередного экрана вручную.

1️⃣ Планка всегда растет

Тот же страх был с IDE, автокомплитом, Stack Overflow, высокоуровневыми языками. Каждый раз сомнения что "новое поколение не выучит изучит базу". Каждый раз планка просто поднималась выше. Джун теперь стартует не с "как написать цикл", а с "как понять, правильно ли ИИ написал этот цикл".

2️⃣ Меняется суть джуновской работы, а не ее наличие.

Раньше ценность джуна это руки, которые пишут код. Теперь это способность читать, валидировать, направлять, понимать чужой (в т.ч. сгенерированный) код. Это ближе к навыкам мидла, и дорасти до них можно быстрее. Произошла инфляция знаний.

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

ИИ не дает развиваться тем, кто этого сам не хочет и не умеет.
Post #4119 1.5K
AI Driven Swift Architecture

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

Взял "AI Driven Swift Architecture". Я считаю, не смотря на кучу всякого булщита в соц.сетях, но тема ии так еще и не раскрыта. Особенно на масштабах крупных компаний, где экосистемы и практики сильно различаются. Создавая в прямом смысле расслоения и неравенство.

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

В книге подробно проходятся по многим кейсам. Читайте.
Post #4118 1.55K
Рубрика Разбор Кейсов: Как сделать BDUI?

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

Во ВШЭ я проводил лекцию, где мы со студентами пошатали эту тему.
В Авито я 2 года писал на BDUI и нативных задач под iOS было около 30%. Сейчас в Еде мы сейчас проходим активный этап трансформации, здесь возможностей влияния больше и я даже пытаюсь лидировать пару направлений.

Разработка BDUI это всегда дорого, сложно и тяжело.

Сложность делится на несколько категорий:

1️⃣ Техническая

По факту вы делаете аналог собственной кроссплатформы. Свой язык программирования через JSON, без компиляции, который пишет пара человек и первые кварталы стабильно наступает на грабли.

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

2️⃣ Психологическая и продуктовая

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

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

🟣Разрабов, которые привыкли к нормальным инструментам и практикам
🟣Тестировщиков, которым стало тестировать значительно сложнее
🟣Продакта, который не понимает, почему стандартные задачи теперь делаются вдвое дольше и с кучей багов

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

Формула идеального BDUI такая:
1️⃣ Рабочая дизайн-система. Которую умеют рисовать дизайнеры и которую уже обкатали разрабы.
2️⃣ Сильная система на бэке: продуманные API и их дизайн
3️⃣ BDUI SDK на каждом клиенте, который умеет без ошибок строить UI в тысяче разных кейсов. Баги будут 100%. Вопрос в том, насколько быстро вы их отловите.

BDUI ускоряет time to market для фич. Только большинство этих фич будут скорее всего неудачными. Вы должны придумывать как это уметь контролировать, мониторить, выпиливать.

Когда BDUI оправдан?

Почти все маркетплейсы и финтехи легко перекатываются на BDUI. Вам нужны сотни АБ тестов и почти индивидуальный лайаут под разных пользователей. Где вы торгуете разными товарами и это надо быстро менять.

📣 BDUI это не серебрянная пуля

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

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

Это короткий совет по BDUI. Какие бы вы советы дали нашему подписчику?

А по традиции я попрошу поставить 🔥 если такая рубрика интересна
Post #4117 1.6K
Как сделать читалку

На одном собесе по систем дизайну мне попалась задача "Сделай читалку". Где мы прям с интервьюером проговаривали почему WebView это норм вариант для MVP

Но крутая читалка это не допустит. Я раскручивал идею как:
• Сделать читалку на CoreText, TextKit
• Задумываться о безопасности
• Почему лучше не юзать SUI

В итоге я успешно прошел собес и получил хороший фидбэк.

В этой статье автор круто разбирает как масштабировать задачу из вебвью в технологичную читалку на низкоуровневом Core Text
chang-jui-lin.github.io From WebView to CoreText: Building a Native EPUB Reader for iOS | Yuedu Reader Engineering How CJK vertical writing pushed Yuedu Reader away from WebView and toward a custom CoreText rendering engine.
Post #4116 1.53K
❣️ Mobile Runtime 07.06.2026

Не ожидали такую тему?

Буду выступать с классической темой как дебажить, проектировать, ускорять медиаленту. Живой рассказ с каким проблемами столкнулись при разработке медиаленты. И зачем она вообще нужна была в приложении для доставки еды.
Post #4115 1.62K
Foundation Models Framework Example

Решил самостоятельно затестить фреймворк, но также и посмортеть на готовые примеры что он умеет:

1️⃣ Генерация ответов чатботов

Подойдет как в приложениях, так и в играх

2️⃣ итеграции с погодой, healthKit, Apple Music, Календарем и другими апи

3️⃣ Speech to Text

4️⃣ RAG-чат с индексацией документов и семантическим поиском через LumoKit/VecturaKit

5️⃣ Реалтайм стриминг и обновления
Post #4113 1.64K
🧬 Новый раздел на сайте: Задачи и вопросы

Почти 2.5 года мы делали марафоны, челенджи и решали задачи. Спорили и копали в самые разные стороны. Делились сложными тасками.

Я решил оформить это и структурировать в более интерактивную форму. Как литкод или codewars, но для iOS.

Презентую вам в бета версии задачник. В нем можно искать вопросы или решать задачи
🟣 ~1000 задач и вопросов для самопроверки и подготовки
🟣Темы: Память, UIKit, SwiftUI, Swift, Алгоритмы и другое
🟣Разделение на уровни: Jun, Middlem Senior
🟣Удобный поиск и фильтрация

⚠️ Все в бете. Поэтому кидайте свои фидбэки в отдельный чат — https://t.me/+1eLIzsuys1AyZGFi
Post #4112 1.67K
WWDC про AI: Coming bright up

Скоро очередной WWDC. Говорят, что-то будет про АИ и серьезное улучшение сири. Ну ждем. Наконец-то эпл осмелится выпустить что-то на прогретом рынке.

Поэтому на выходных я решил пройтись по всем WWDC где хоть как-то упомянули АИшки. Собрал самое интересное:

1️⃣ Foundation Models Framework.

Многие разрабы единогласно называют это главным событием WWDC25.

Эпл впервые открыла доступ к Foundation Models и дала юзать на девайсе LLM с сохранением приватности пользователей прямо в своих приложениях.

2️⃣ Deep dive into the Foundation Models framework.

Уже больше технички. Разбирают как работают sessions, guided generation под капотом, tool calling для автономного доступа к внешним данным и другое.

3️⃣ Code-along: Bring on-device AI to your app using the Foundation Models framework

Воркшоп как сделать приложение для планирования путешествий с использованием Foundation Models. Там и промт инжениринг, Xcode Playground, streaming и профилирование производительности

Делитесь также интересными WWDC. Может что-то упустил. Скоро отдельно сделаю лонгрид на сайте.
Apple Developer Meet the Foundation Models framework - WWDC25 - Videos - Apple Developer Learn how to tap into the on-device large language model behind Apple Intelligence! This high-level overview covers everything from...
Post #4111 1.64K
Сорян, но интервью Дудя с Костенко особенно актуально. На фоне всяких продаж воздуха от оптимизации резюме до накрутки опыта. От курсов по ии до нейросетей.

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

По таксономии Блума мы опять же разбирали, что если человек не имеет экспертизу и ни дня не работал или уже не работает, то он уже не эксперт. Он повторятор чужих методичек с корявым переводом
Post #4110 1.55K
Короче меня еще бесят всякие хард апдейты апок. Когда тебе блокируют полностью возможность пользоваться приложением.

Ладно я понимаю когда есть критическая уязвимость. Но такой не могу придумать в маркетплейсе.

Дайте свои комментарии когда это оправдано
Post #4109 1.55K
Субботняя рубрика про книги

Перечитываю "Дилемму инноватора". Я уже писал на нее краткий обзор 4 года назад, но в эпоху ии, многие считают она особенно актуальная. Особенно как жестко меняются рынки ит с поисковиками, маркетплейсами, разработкой ПО, и даже банками

Главная идея книги: "многие ит гиганты умирают из-за своей неповоротливости и страха рисковать"

1️⃣ ИИ идеальный подрывной инноватор по Кристенсену

Рост GPT и аи агентов повторяет успех из книги. Сначала огромный скепсис. Именно из-за этой вспышки проигрывают гонку конкуренты.

2️⃣ Google не мог агрессивно запускать ChatGPT конкурента, потому что это каннибализировало бы поисковую рекламу

3️⃣Ресурсы идут за существующими клиентами. Нельзя просто так было добавить ии в тот же поисковик гугла. Это бы разрушило привычный опыт для лояльной аудитории.

4️⃣ Невозможно анализировать несуществующие рынки. Бигтехи, которые перестраховываются на каждый коммит, не могли позволить себе действовать без аналитики.

«В хорошо управляемых компаниях именно хорошее управление стало самой серьезной причиной утраты лидерства. Они лишились своего господствующего положения именно потому, что тщательно исследовали тенденции рынка, изучали мнение потребителей, много вкладывали в развитие новых технологий и постоянно тратили большие средства на инновации, обещавшие хорошие прибыли.»
Post #4107 1.63K
Обновление Яндекс музыки

Самое яркое из обсуждений мобильных приложений - это недавнее обновление музыки. Пишут все. От разрабов до медиаблогеров.

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

Многие жалуются что стало хуже. Кто-то лучше. Музыка даже среди иосеров считалась лучшим представителем крутого UI/UX, рекомендаций и других штук.

А че сейчас? Делитесь мнениями.

Ставь 💀 если стало хуже. И 🔥 если все также топ
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →