Потому что не "готово" и "взял", а "готово к ревью", "взял на ревью", "готово к тестированию", "взял в тестирование", "готово к деплою", "взял деплоить", "ГОТОВО", и у каждой пары "готово к"/"взял в" свой ответственный. Но если всё это в условную джиру запихнуть - будет адище
По поводу "забываний": часть проверок удобно выносить в детерминированный скрипт и просить агента в скиле запускать этот скрипт на этапе валидации, чтоб скрипт с ошибкой текстом выплёвывал, как это фиксить.
Типа `dotnet package list | grep FluentAssertions | ...` или что-то более умное, ast-grep для кусков старого кода, которые часто встречаются и должны быть заменены, и тд.
Если есть, то можно было бы обойтись без CPLD и ISA: RS232-TTL адаптер -> MCU с USB Host (STM32F411/F401 на BlackPill) -> USB мыша. Или даже MCU с BT/BLE (esp32?) + BT/BLE мыша
Иногда, когда чувствую характерное гудение/жужжание в голове при работе с агентами, беру очередной сгенеренный агентом план и ручками его имплементирую: думалка почти отключается, мышечная память включается, через полчаса - час как новенький.
Лучше, конечно, сходить траву потрогать, но не всегда получается.
Но можно, если страшно, запитать и от павербанка - на 45-60вт их уже довольно много дешевых, а в работе всей разницы это нагрев и подстройка не за пол-секунды, а за секунду.
Если вы логику РКН из РФ понимаете, то поймете и логику OFAC/BIS/внутреннего комплаенса компании из США.
Зачем корсару получать по шапке от местных регуляторов за оказание услуг/предоставление продуктов (пусть и соытовых), тратиться на юристов, когда можно заблочить все проблемные регионы по GeoIP?
А кому надо те и купят через посредников, и скачают через vpn.
Наверное, в таком случае вы не будете подаваться на вакансию с требованием "strong SQL skills" с резюме в котором много SQL на последних местах работы.
Очень перекликается с моим опытом проведения собесов в 2024. Хоть и LLM тогда были попроще и менее популярны, и волки не такие шерстяные, но вот с 10-15 годами опыта в финтехе не суметь join с group by по паре таблиц сделать - это прям классика.
У нас (РФ и соседи), как мне кажется, такой большой культурный разрыв что после предложения "встретиться/созвониться на 15-20 минут" от незнакомца в лучшем случае загостят. Ну т.е. я бы сильно напрягся, если бы мне такое предложили, да и многие мои коллеги тоже. Вдруг там мошенник/конкурент/силовик какой-то.
Сам пришел примерно к такой же системе, и тоже после рождения ребенка. Разве что у меня вместо 1.5-часовых супер-фокусов помодоры - 25-минутные мини-супер-фокусы.
Судя по статье, не "Моки - это технический долг", а "Кривые моки и грязный тестовый код - это технический долг".
В первом примере у вас тесты с моками влезли на один экран. Во втором - на два, и это без определения всех зависимостей FakeЧегоТоТам, которые ещё пару экранов займут.
Сколько времени займёт "причёсывание" одного экрана с моками и четырёх экранов с самописными фейками при необходимости? Как быстро самописные фейки превратятся в полу-универсальные и кривые самописные моки, когда тестов прибавится?
Все вот эти
Его можно легко продебажить
Мы просто декларативно указываем, что хотим получить, и оно работает
никакие изменения ... НЕ ВЛИЯЮТ на тест, пока что-то в действительности не сломается
можно достичь теми же моками, с меньшим количеством строк, просто уделяя какое-то время дизайну тестового кода. Безумный копипаст так же точно угробит FakeЧегоТоТам, только будет ещё больше грязи.
Потому что не "готово" и "взял", а "готово к ревью", "взял на ревью", "готово к тестированию", "взял в тестирование", "готово к деплою", "взял деплоить", "ГОТОВО", и у каждой пары "готово к"/"взял в" свой ответственный. Но если всё это в условную джиру запихнуть - будет адище
Зато "будущие" вместо furures
Впечатляющая работа!
По поводу "забываний": часть проверок удобно выносить в детерминированный скрипт и просить агента в скиле запускать этот скрипт на этапе валидации, чтоб скрипт с ошибкой текстом выплёвывал, как это фиксить.
Типа `dotnet package list | grep FluentAssertions | ...` или что-то более умное, ast-grep для кусков старого кода, которые часто встречаются и должны быть заменены, и тд.
В Windows удобно запускать Claude code внутри Git Bash: ему тогда и многие core utils доступны, и grep/sed/awk, и собственно git.
Круто!
А RS232 порта на вашем ретро-пк нет?
Если есть, то можно было бы обойтись без CPLD и ISA: RS232-TTL адаптер -> MCU с USB Host (STM32F411/F401 на BlackPill) -> USB мыша. Или даже MCU с BT/BLE (esp32?) + BT/BLE мыша
ЭТОЙ УБОРЩИЦЕЙ БЫЛ ИЛОН МАСК
Есть существующие аналоги:
https://github.com/router-for-me/CLIProxyAPI - авторизуется через oauth в claude/openai/gemini/etc и предоставляет к ним доступ через openai/antrophic compatible API
https://github.com/musistudio/claude-code-router - позволяет запускать claude code с моделями из этого API, и многих дгугих (OpenRouter, DeepSeek, Qwen etc)
Полезное, спасибо!
А теперь, "claude, сделай из этой статьи и комментариев SKILL rust-coder"
Знакомо.
Иногда, когда чувствую характерное гудение/жужжание в голове при работе с агентами, беру очередной сгенеренный агентом план и ручками его имплементирую: думалка почти отключается, мышечная память включается, через полчаса - час как новенький.
Лучше, конечно, сходить траву потрогать, но не всегда получается.
Справедливо при работе с блоком питания.
Но можно, если страшно, запитать и от павербанка - на 45-60вт их уже довольно много дешевых, а в работе всей разницы это нагрев и подстройка не за пол-секунды, а за секунду.
Мой T90 на 210 жалах от 30вт неплохо работает.
Если вы логику РКН из РФ понимаете, то поймете и логику OFAC/BIS/внутреннего комплаенса компании из США.
Зачем корсару получать по шапке от местных регуляторов за оказание услуг/предоставление продуктов (пусть и соытовых), тратиться на юристов, когда можно заблочить все проблемные регионы по GeoIP?
А кому надо те и купят через посредников, и скачают через vpn.
Наверное, в таком случае вы не будете подаваться на вакансию с требованием "strong SQL skills" с резюме в котором много SQL на последних местах работы.
Спасибо, годная статья.
Очень перекликается с моим опытом проведения собесов в 2024. Хоть и LLM тогда были попроще и менее популярны, и волки не такие шерстяные, но вот с 10-15 годами опыта в финтехе не суметь join с group by по паре таблиц сделать - это прям классика.
RustDesk например. Если не хочется чтоб оно из локалки ходило в интернет - включить в настройках direct ip access
Так, давайте ещё гайд взлёта и посадки в F29 Retaliator, и спустя 30+ лет я буду спать спокойнее
У нас (РФ и соседи), как мне кажется, такой большой культурный разрыв что после предложения "встретиться/созвониться на 15-20 минут" от незнакомца в лучшем случае загостят. Ну т.е. я бы сильно напрягся, если бы мне такое предложили, да и многие мои коллеги тоже. Вдруг там мошенник/конкурент/силовик какой-то.
Понаблюдаем.
Есть ещё https://github.com/asterinas/asterinas - чуть более зрелый и с немного другими целями, но тоже somewhat-linux-compatible и на rust.
Супер!
Сам пришел примерно к такой же системе, и тоже после рождения ребенка. Разве что у меня вместо 1.5-часовых супер-фокусов помодоры - 25-минутные мини-супер-фокусы.
Судя по статье, не "Моки - это технический долг", а "Кривые моки и грязный тестовый код - это технический долг".
В первом примере у вас тесты с моками влезли на один экран. Во втором - на два, и это без определения всех зависимостей FakeЧегоТоТам, которые ещё пару экранов займут.
Сколько времени займёт "причёсывание" одного экрана с моками и четырёх экранов с самописными фейками при необходимости? Как быстро самописные фейки превратятся в полу-универсальные и кривые самописные моки, когда тестов прибавится?
Все вот эти
можно достичь теми же моками, с меньшим количеством строк, просто уделяя какое-то время дизайну тестового кода. Безумный копипаст так же точно угробит FakeЧегоТоТам, только будет ещё больше грязи.
Кажется, было бы нагляднее привести просто график вместо текста.
Цифры не выверял - прост попросил llm набросать csv по статье