Igor Molchanov
73 subscribers
90 photos
4 videos
46 links
Для разговоров и обсуждений @molchanovia
Download Telegram
Я был в Питере всего дважды, но это пока что единственный город, который вызывает во мне чувство удовлетворения и спокойствия.

На тебя не давят высотки, хрущёвки, сталинки, бетонные коробки. Классицизм и барокко помогают ощутить тебе свободу, культурную и беспринципную. Так ещё и погода была хорошей за всё время пребывания.

Однако я был только в центре..) Уезжая, на окраине заметил настолько однотипные человейники, что даже страшно.. 👀
Forwarded from LXP IThub | NEWS
Мои дорогие одногруппники, да и все, кто учится у нас под крылом IThub.
Если вам необходимо скачать материалы из дисциплин нашего Булгакова (включая файлы, изображения, презентации), я сделал для вас решение, а точнее python скрипт.

Он неофициальный, писался за 5 часов, два из которых я вспоминал асинхронное программирование.

https://github.com/meg4cyberc4t/bulgakov-cache-script

Не стесняйтесь распространять для тех, кому это действительно может помочь!
А всё потому, что w3m не работает GNOME Terminal...
Благодаря нейросетям капчи стали умнее.
Теперь мы ищем не светофоры или автобусы, теперь в поиске "that require sunlight to grow" (нужен солнечный свет, чтобы расти).
Грамотная тех. документация? Интуитивный UX? А может лучше..
Опять издеваются над животными (((
Вышел наконец Dart 3.4, вышли макросы. 🔥Но только в dev ветке, однако это не мешает потрогать и дать себе ответы на много вопросов. Постараюсь ответить на те, на которые в статьях ещё не упомянули.
Где происходит сборка макросов?
Во время компиляции и только. Никаких перезаписей на диск, доп. файлов и так далее. Я уже рассказывал про аугментацию, благодаря которой это возможно.

Как отлавливаются ошибки при сборке?
Тут есть два поведения - анализатора и компилятора.
Анализатор прогоняет ваш код через код макроса и выдаст вам ошибку, которую сам макрос может вернуть. Она с подробным описанием, а значит вы сможете её понять и исправить.
Компилятор игнорит возвращаемые ошибки макросов и просто не соберёт их. Если макрос выдаёт ошибку, но нигде не используется - проект соберётся без него.

Как пишется макрос?
В многом процесс похож на написание build_runner для классов: Вам даётся ClassDeclaration и TypeDefinitionBuilder, где первым вы "определяетесь", а вторым рисуете ваш сгенерированный код.

JsonCodable уже можно использовать?
Нет. Текущий флаг - Experimental, реализация этого макроса сделана для примера. Пока что вы не сможете сигнорировать на нём некоторые поля, поменять стиль названий переменных и т.д., что может dart:convert.

Какие есть даты выпуска?
Выпуск макросов обещают к концу 2024 года. Написание макросов внутри sdk обещается к 2025, но начнётся раньше, поэтому к концу года точно сможем посмотреть ещё парочку.

Убьёт ли это build_runner?
Пока нет. И не уверен, что должно. И вижу в этом две причины:
1) На build_runner очень много кода уже написано и сгенерировано.
2) Макросы не могут трогать ничего дальше классов, в то время как build_runner мог трогать файлы другого формата! (assets_gen, graphql_codegen, retrofit и остальные)
Forwarded from Лысый из МТ
Media is too big
VIEW IN TELEGRAM
Презентацию Google не смотрел. Мне хватило сокращенной версии.

Суть, вроде бы, передана максимально полно.