InMoThoughts
40 subscribers
90 photos
1 video
4 files
57 links
Буду писать сюда свои тупые мысли. Вы сами на это подписались :)
Download Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
У меня последнее время складывается всё более стойкое ощущение, будто профессионализм по-тихоньку улетучивается из всех сфер. Баристы не всегда могут сказать, что в чём и как намешивается. Консультанты не всегда в курсе, о чем они консультируют. Менеджеры не разбираются в том, чем управляют. Да я в оффлайн магазинах уже давно отчаялся подходить к консультантам, потому что они ведут обычно к тем же стойкам и смотрят тоже самое, что я. Недавно в т-банке была очень долгая переписка - впаривали какую-то процедуру, которая нигде не описана и которая гораздо более дорогостоящая, чем запрошенная мной (примерно на 100%). Причём это было не на уровне "сегодня все впариваем вот это", а, складывалось впечатление, будто в саппорте даже и не знали, какие процедуры в банке вообще есть - слишком уж часто представители банка сменялись в чате.

Это какая-то моя шиза, или вы тоже с таким сталкиваетесь?
❤2
Чем делать такие тултипы - лучше не делать вообще 🌚
Сидишь, потеешь, собираешь, проклинаешь всё на свете, зная, что потом еще куча фиксов впереди... а оно работает O.o и ты такой: 🤨
Я опять убил 20 минут на попытки запуска винды.... И так и не запустил... Ну какого фига?
❤2
Старею - в либах версии не обновлялись больше недели... Надо уже скрипт сделать, который будет агентов на эту тему пинать
👍1
вы прикиньте, а ведь был котлин 1.3...
😱2
Выгружаю небольшой такой докер образ
😁2
android.builtInKotlin=false
android.newDsl=false


Вот вы знали, что есть такие флаги? Я не знал. А ИИшка знала, я бы мучался на новую DSL сейчас сидел переезжал бы
Просто напоминаю - мессаге треды - это про групповые чаты, а в личке это директ тред ид (или что-то такое)
InMoThoughts
Просто напоминаю - мессаге треды - это про групповые чаты, а в личке это директ тред ид (или что-то такое)
Я сначала не выкупил, а потом как выкупил, что они хотят получать драфт только в приватные чаты, но тредид у них тут не директ мессаге тред ид и это меня сбило с толку. Сижу, пытаюсь выхуеть
По иксу почти получилось отобразить время 🌚
😁3
Вот этот пост возбудил во мне желание написать свой пост на тему kmp и cmp. Для тех, кто не в курсе:

Kotlin MultiPlatform - технология в мире котлина, которая позволяет явно разделить код на "общий" и "платформенный" и соединять их при необходимости
Compose MultiPlatform - "flutter у нас дома" в KMP. Работает на skia (кажется, так называется) - библиотеке, которая отрисовывает на канвасе UI

Я очень люблю KMP. И вот насколько я люблю KMP, настолько же я не люблю CMP. Просто напомню:

• вы НЕ рисуете нативные элементы на экране
• вы НЕ переиспользуете накопленный годами отладок, исправлений, улучшений UI
• вы НЕ получаете нативный (всмысле, ориентированный на платформу) лэйаут и формфактор экрана

Это в догонку к тому, что CMP до сих пор работает нормально только на андроиде. Я не знаю ни одну другую патформу, где он работал бы нормально.

К чему я это всё? К тому, что, если бы JB в своё время выбрали вместо CMP на базе skia CMP на базе платформенных технологий (везде разных, но тем не менее) - сейчас, в эпоху ИИ, когда можно настроить агентскую систему дотошно проверять, как что там выглядит - CMP могла бы стать реально одной из ведущих технологий. Я искренне не в курсе, кто вообще использует CMP в текущем виде в проде для широких масс. Так чтобы эти широкие массы не плевались. Накидайте такие примеры, если они у вас есть.

Посыл у этого длиннопоста, на самом деле, простой. Различающиеся вещи - должны различаться. KMP это уважает. CMP пытается это обойти. Итог - я не вижу CMP приложений, о них не трубят, никто не говорит, что закрыл CMP что-то кроме андроид+иос.
👍1
Сегодня нравоучение будет по-меньше

Пробрасывайте CancellationException дальше всегда
А еще я вот что понял. Наверное, один из самых важных принципов в солиде - это инверсия зависимостей. И буквально его пропагандирует чистая архитектура. Разберем на примере MVVM: View -> ViewModel -> Model. То есть у вас внешний вид зависит от его поведения, которое зависит от внешнего мира, но не наоборот. Можно задаться вопросом - а как тогда передавать состояние из VM во View? И тут может быть несколько ответов:

•Через вызовы у View функций на получение состояния
•Через наблюдаемое состояние (например, корутиновские StateFlow)

Это самый важный принцип, потому что когда вы понимаете, что и от чего должно зависеть - внезапно, любое приложение становится легкорасширяемым. Ну потому что написать свою View для каждой платформы уже не проблема - у вас ото View ничего не зависит, вы новой платформой ничего не ломаете. Тоже самое с реализациями репозиториев. Будь они хоть миллион раз через одно место написаны, если они соответствуют контракту (ака проходят тесты репозитория) - то и вы ничего не потеряете
Непрошенный практический совет от неэскепрта (простите, если дубдирую умных чуваков - я их не смотрю 🌚):

Чтобы ваши иишные агенты галлюцинировали и косячили по-меньше, держите контекст <50%. Как этого достичь:

•Не стесняйтесь запускать подагентов, если агент это поддерживает, особенно - для разных кусков работы
• ast-index для более оптимального поиска вместо грепов и прочего такого
• Документация. Можно в не самом читаемом для людей виде - заметки от агентов для агентов дадут бонус благодаря тому, что не придется лазить во все исходники (минус - надо заставлять агентов актуализировать доку)
•По-возможности - ограничивать область работы. Для этого, как правило, рутовая документация помогает, если в ней указано, какой модуль для чего нужен

Если вдруг знаете еще что-то прикольное в этом плане - делитесь :)
Хотеть нечто подобное... Ех
А, всмысле?
Эх, сейчас бы мак студию гигов на 256 оперативы... а лучше - 512... Знатно меня сегодня жахнула погода, да🌚
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2