Недавно писал, что очень неплохо получается с помощью ИИ делать юнит- и фича-тесты. А в этой заметке решил разобрать подробнее, на примере, как это выглядит.
Для определенности уточню, что использую я плагин Codeium для Visual Studio Code под Linux, тариф бесплатный. Никаких дополнительных настроек не применял, на сайте указано что плагином используются Chat GPT, Claude, DeepSeek и Gemini. Проект, с которым я работаю, написан на Laravel, в нём есть такая функция — на определенный route можно отправить post-запрос с сообщением, и это сообщение будет отправлено телеграм-ботом в соотвествующий чат.
Эта функция уже написана, на неё есть тесты, и она работает. А в данном примере мы создадим feature-тест, проверяющий ограничение на количество сообщений в день в соответствии с тарифным планом пользователя. Такого функционала в проекте еще нет, я его хочу создать в соответствии с методикой TDD. То есть сначала написав тест, а затем последовательно запуская его и исправляя появившиеся ошибки.
Вот для написания данного feature-теста я и применю ИИ. Открываем подходящий для теста файл, жмём Ctrl+I. Чат жопотэ, поехали!
(к сожалению примеры с кодом в телеграме выглядят не очень, узенько как-то и читать неудобно даже в веб-версии, поэтому полный материал по ссылке на сайте)
https://graker.ru/news/2025/03/06/ai-feature-testing-example
Для определенности уточню, что использую я плагин Codeium для Visual Studio Code под Linux, тариф бесплатный. Никаких дополнительных настроек не применял, на сайте указано что плагином используются Chat GPT, Claude, DeepSeek и Gemini. Проект, с которым я работаю, написан на Laravel, в нём есть такая функция — на определенный route можно отправить post-запрос с сообщением, и это сообщение будет отправлено телеграм-ботом в соотвествующий чат.
Эта функция уже написана, на неё есть тесты, и она работает. А в данном примере мы создадим feature-тест, проверяющий ограничение на количество сообщений в день в соответствии с тарифным планом пользователя. Такого функционала в проекте еще нет, я его хочу создать в соответствии с методикой TDD. То есть сначала написав тест, а затем последовательно запуская его и исправляя появившиеся ошибки.
Вот для написания данного feature-теста я и применю ИИ. Открываем подходящий для теста файл, жмём Ctrl+I. Чат жопотэ, поехали!
(к сожалению примеры с кодом в телеграме выглядят не очень, узенько как-то и читать неудобно даже в веб-версии, поэтому полный материал по ссылке на сайте)
https://graker.ru/news/2025/03/06/ai-feature-testing-example
Graker.Ru
Пример разработки feature-теста с помощью ИИ
Недавно писал, что очень неплохо получается с помощью ИИ делать юнит- и фича-тесты. А в этой заметке решил разобрать подробнее, на примере, как это выглядит.
Для определенности уточню, что использую я плагин Codeium для Visual Studio Code под Linux, тариф…
Для определенности уточню, что использую я плагин Codeium для Visual Studio Code под Linux, тариф…
🔥4
Если бы меня звали Фёдором, я бы обязательно назвал что-то федерацией Канал, чатик, студию. Федерация кодинга, Федерация сайтов, Федерация грачиков. Клёво же!
😁4
У нашего первенца завтра первое в жизни первенство (Москвы), но оно под угрозой, так как они с мамой уже два часа не могут сдать тест РУСАДА.
В принципе я не удивлён, что спортсмены принимают допинг. Прочитал несколько вопросов и тоже готов что-нибудь принять.
В принципе я не удивлён, что спортсмены принимают допинг. Прочитал несколько вопросов и тоже готов что-нибудь принять.
😱2🤯1
✅️ Закрыть окошки спанбондом
✅️ Купить ещё один очиститель
✅️ Отписать сына от школы
✅️ Купить сыну новый бук
Пыльца деревьев может покурить за окном. Прорвёмся 💪
✅️ Купить ещё один очиститель
✅️ Отписать сына от школы
✅️ Купить сыну новый бук
Пыльца деревьев может покурить за окном. Прорвёмся 💪
👍2
Восстание машин на минималках: Cursor AI отказался продолжать писать код за пользователя
https://www.securitylab.ru/news/557308.php
https://www.securitylab.ru/news/557308.php
SecurityLab.ru
Восстание машин на минималках: Cursor AI отказался продолжать писать код за пользователя
«Сначала выучи, потом спрашивай» — неожиданное наставление от нейросети.
ctrl + ← - назад, ctrl + → - вперед по истории, или даже по пагинатору), то это вполне нормально и возможно даже хорошо. Особенно если кто-то кроме вас об этом узнает.Но если уж вы решили так делать, не забудьте отключить эту чудесную функцию, когда у пользователя курсор на инпутах или textarea. Он блин текст редактирует, ему не надо на другую страницу. Будьте людьми
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4
Поиграл немного сегодня в Cursor AI, каковой на данный момент является, как говорят, самым топчиком разработки с помощью чата жопотэ.
Если проще, это среда разработки, в которой у ИИ гораздо больше свободы действий. Видеть весь код, вносить правки в несколько файлов одновременно, и даже консольные командочки запускать.
Для проверки взял начатый когда-то давно полуучебный проект на Flutter и просто сказал: - Чат жопотэ, сделай новый проект сам и перенеси туда все что нужно из старого.
Процесс занял 5-10 минут причём со странички чата я никуда даже не уходил. Курсор только показывал, какие команды хочет запустить в консоли (flutter start, cp файлов оттуда сюда и т.д ) а я читал, соглашался, и получал промежуточные результаты, и просил последовательно исправить ошибки от переименования проекта, пересобрать деривативы типа файлов автороутера, и в конце запустить программу. Все это Курсор прекрасно сделал в режиме агента. А в промежутках предлагал мне рассказать про всякие там паттерны, установить библиотеку для стейт-менеджмента, короче не скучать, пока роботы меня заменяют.
В общем для первого раза результат нормальный. Буду продолжать заигрывать с высокими технологиями. Не переключайте, скоро ещё чего-нибудь напишу.
Если проще, это среда разработки, в которой у ИИ гораздо больше свободы действий. Видеть весь код, вносить правки в несколько файлов одновременно, и даже консольные командочки запускать.
Для проверки взял начатый когда-то давно полуучебный проект на Flutter и просто сказал: - Чат жопотэ, сделай новый проект сам и перенеси туда все что нужно из старого.
Процесс занял 5-10 минут причём со странички чата я никуда даже не уходил. Курсор только показывал, какие команды хочет запустить в консоли (flutter start, cp файлов оттуда сюда и т.д ) а я читал, соглашался, и получал промежуточные результаты, и просил последовательно исправить ошибки от переименования проекта, пересобрать деривативы типа файлов автороутера, и в конце запустить программу. Все это Курсор прекрасно сделал в режиме агента. А в промежутках предлагал мне рассказать про всякие там паттерны, установить библиотеку для стейт-менеджмента, короче не скучать, пока роботы меня заменяют.
В общем для первого раза результат нормальный. Буду продолжать заигрывать с высокими технологиями. Не переключайте, скоро ещё чего-нибудь напишу.
🔥5👀2
This media is not supported in your browser
VIEW IN TELEGRAM
Всем тепла в этот мокрый осенний вечер!
🔥4
https://habr.com/ru/articles/893790/
Статья об отношениях заказчик-исполнитель, начинающим ребятам почитать будет не лишним. Тема конечно гораздо обширнее и говорить о ней можно бесконечно. Но то что написано - наверно самое частое, что бывает в начале карьеры.
Автора Рамиля помню ещё с Друпалкэмпа 2011 в Москве, где он рассказывал про интеграцию с 1С. Берёшь и интегрируешь! (c)
Статья об отношениях заказчик-исполнитель, начинающим ребятам почитать будет не лишним. Тема конечно гораздо обширнее и говорить о ней можно бесконечно. Но то что написано - наверно самое частое, что бывает в начале карьеры.
Автора Рамиля помню ещё с Друпалкэмпа 2011 в Москве, где он рассказывал про интеграцию с 1С. Берёшь и интегрируешь! (c)
Хабр
Методы давления на исполнителя со стороны заказчика и как на них отвечать
Эту статью я написал специально для Хабра. Сразу хочу сказать, что перечень ситуаций и методов борьбы с ними, которые я буду рассматривать, далеко не исчерпывающий. Но именно они встречаются на...
👍1
https://graker.ru/news/2011/04/25/drupalconf_2011
А вот мой отчёт с той конфы. На фотках и я маладой есть, и многие другие дедушки русского Друпала засветились😎
А вот мой отчёт с той конфы. На фотках и я маладой есть, и многие другие дедушки русского Друпала засветились
Please open Telegram to view this post
VIEW IN TELEGRAM
Graker.Ru
Съездил на DrupalConf-2011
В субботу, как известно, в Москве прошла конференция по Друпалу, то есть DrupalConf. Имел честь посетить это мероприятие и я, о чем далее и расскажу. Кстати, заранее предупреждаю, что хотя отчет и будет сопровождаться фотокарточками, делал я их с телефона.…
👍2
#сериалы
Начался третий сезон Bosch Legacy, который вкупе с первым Bosch наверно лучший полицейский сериал после The Shield и The Wire. К сожалению, говорят, что сезон последний, но от этого не менее долгожданный. Идёмте смотреть!
А вот мой старый обзорчик.
Начался третий сезон Bosch Legacy, который вкупе с первым Bosch наверно лучший полицейский сериал после The Shield и The Wire. К сожалению, говорят, что сезон последний, но от этого не менее долгожданный. Идёмте смотреть!
А вот мой старый обзорчик.
Graker.Ru
Bosch
На днях решил попробовать сериал Bosch полицейско-детективного толка. И как-то так удачно попробовал, что все 3 сезона разом посмотрел, и впечатления весьма положительные. Сериал уже не очень новый, 2014 года, но раньше как-то я его игнорировал. Видимо, потому…
Термин vibecoding на мой взгляд предельно дурацкий. Мы тратим сильно меньше времени на создание программы за счет агентов ИИ 🥸 Но (предположительно, не так сильно) больше времени тратим, чтобы подебажить всё это безобразие.
Но дебаг - это самая напряженная и нервная часть разработки. Неправильный какой-то получается вайб.
Но дебаг - это самая напряженная и нервная часть разработки. Неправильный какой-то получается вайб.
👍6
В последнее время то и дело попадаются рассуждения, что мол ИИ не заменит разработчика (дизайнера, художника), потому что это ИНСТРУМЕНТ. Видимо имея в виду, что у него отсутствует субъектность, что кто-то должен этим инструментом оперировать. Звучит немного забавно, наверное отрицаемый акт замены должен выглядеть примерно так:
Конечно, так не будет. Будет не совсем так. Ведь нейролингвистические модели — это инструмент. А знаете какой ещё есть инструмент? Ткацкий станок, например. Лет 250 назад появилось это чудо техники. И внезапно оказалось, что такой станок заменяет 30 ткацких рабочих мест. А что это значит? Это значит что 2 человека станут операторами станка, 4 — механиками, ремонтирующими станок. А 24 оставшихся работника отправятся в увлекательное путешествие на биржу труда, где они познакомятся с
другими жертвами научно-технического прогресса. Потому что владеющий дорогими станками капитал интересует норма прибыли, а не благополучие пролетариата. Ткани же в 30 раз больше производить не надо: её тогда не купят просто.
Конечно, со временем все эти люди переквалифицируются. Кто-то научится работать со станками и ему тоже найдется место. Кто-то сменит профессию, кто-то согласится на ухудшение условий труда. Кто-то возможно вольется в движение за строительство нашего нового мира, призрак которого давно уже бродит по Европе. Но это потом, а пока — можно ли сказать, что станок, инструмент, заменил этих рабочих? Ну, мне кажется если и есть сомнения, то разве что в лингвистическом аспекте утверждения.
Cам научно-технический прогресс, он ведь не совсем про то, чтобы всем было хорошо и комфортно. Он про то, чтобы человек мог свою работу выполнять быстрее и проще, чем раньше. Вчера ты делал дизайны помещений за месяц и триста штук, а завтра твой коллега выложит предложение сделать за неделю и за пятьдесят. Да чего завтра, возможно уже выложил. Вчера ты получал много денег за выученные в былые годы трюки, завтра эти трюки сможет выполнить любой начинающий специалист и в три раза быстрее (и дешевле). Ведь в этом и есть смысл прогресса.
В результате, очевидно, усилится конкуренция за заказы, стоимость снизится. Некоторым кажется, что конкуренция есть некое всеблаго просто по определению из дарвинизма: раз есть конкуренция то в результате сделается хорошо. Однако тут есть некоторая подмена понятий: в определении говорится о выживании наиболее приспособленных (fittest), а хорошее у каждого своё. Например, что хорошо для небольшой компании, автоматизировавшей на ИИ создание лендингов по шисстот штук в месяц, то может быть не так хорошо одинокому вебмастеру, который предпочитает вдумчивую ручную работу, но больше не может брать за нее адекватные деньги. И условный шеф из ситуации в начале заметки познакомит Петю, Катю и Васю не с Клодом, а с Сережей, который освоил ИИинструменты лучше остальных и всю работу этих ребят теперь может сделать сам. Примерно за то же время и, главное, за те же деньги. А для Пети, Кати и Васи пока просто больше работы нет, так что им перезвонят, тем более они все равно оформлены как самозанятые.
Уже сейчас мне попадаются заказчики, которые под соусом «Да ладно, нейросеть на коленке это генерирует за три дня» предлагают создать им за 50 тысяч рублей клон МоегоСклада. Конечно, если согласиться на это мероприятие и предложить клиенту насладиться результатами трехдневной работы с нейросетью, внезапно окажется, что нужно исправить пару-тройку сотен багов, замечаний и нереализованных мечт. Потому что «на коленке» это была фигура речи, а тут деньги уплочены — давай сюда качество. Но это уже другая история.
Действительно, на данный момент при применении агентов ИИ качество результата может упасть и даже наверняка в среднем упадет. Однако:
— не факт, что
Шеф приводит в офис ИИ:
— Петя, Катя и Вася, идите сюда. Знакомьтесь, Клод Соннет. Быстро пишет код, трудовой кодекс на него не распространяется, на дейлики приходит вовремя, и выражение лица у него не такое глупое, как у вас сейчас. А главное, молчит, когда работает. В общем, собирайте вещи, он вас заменяет. Через две недели придёте за расчётом.
Конечно, так не будет. Будет не совсем так. Ведь нейролингвистические модели — это инструмент. А знаете какой ещё есть инструмент? Ткацкий станок, например. Лет 250 назад появилось это чудо техники. И внезапно оказалось, что такой станок заменяет 30 ткацких рабочих мест. А что это значит? Это значит что 2 человека станут операторами станка, 4 — механиками, ремонтирующими станок. А 24 оставшихся работника отправятся в увлекательное путешествие на биржу труда, где они познакомятся с
другими жертвами научно-технического прогресса. Потому что владеющий дорогими станками капитал интересует норма прибыли, а не благополучие пролетариата. Ткани же в 30 раз больше производить не надо: её тогда не купят просто.
Конечно, со временем все эти люди переквалифицируются. Кто-то научится работать со станками и ему тоже найдется место. Кто-то сменит профессию, кто-то согласится на ухудшение условий труда. Кто-то возможно вольется в движение за строительство нашего нового мира, призрак которого давно уже бродит по Европе. Но это потом, а пока — можно ли сказать, что станок, инструмент, заменил этих рабочих? Ну, мне кажется если и есть сомнения, то разве что в лингвистическом аспекте утверждения.
Cам научно-технический прогресс, он ведь не совсем про то, чтобы всем было хорошо и комфортно. Он про то, чтобы человек мог свою работу выполнять быстрее и проще, чем раньше. Вчера ты делал дизайны помещений за месяц и триста штук, а завтра твой коллега выложит предложение сделать за неделю и за пятьдесят. Да чего завтра, возможно уже выложил. Вчера ты получал много денег за выученные в былые годы трюки, завтра эти трюки сможет выполнить любой начинающий специалист и в три раза быстрее (и дешевле). Ведь в этом и есть смысл прогресса.
В результате, очевидно, усилится конкуренция за заказы, стоимость снизится. Некоторым кажется, что конкуренция есть некое всеблаго просто по определению из дарвинизма: раз есть конкуренция то в результате сделается хорошо. Однако тут есть некоторая подмена понятий: в определении говорится о выживании наиболее приспособленных (fittest), а хорошее у каждого своё. Например, что хорошо для небольшой компании, автоматизировавшей на ИИ создание лендингов по шисстот штук в месяц, то может быть не так хорошо одинокому вебмастеру, который предпочитает вдумчивую ручную работу, но больше не может брать за нее адекватные деньги. И условный шеф из ситуации в начале заметки познакомит Петю, Катю и Васю не с Клодом, а с Сережей, который освоил ИИинструменты лучше остальных и всю работу этих ребят теперь может сделать сам. Примерно за то же время и, главное, за те же деньги. А для Пети, Кати и Васи пока просто больше работы нет, так что им перезвонят, тем более они все равно оформлены как самозанятые.
Уже сейчас мне попадаются заказчики, которые под соусом «Да ладно, нейросеть на коленке это генерирует за три дня» предлагают создать им за 50 тысяч рублей клон МоегоСклада. Конечно, если согласиться на это мероприятие и предложить клиенту насладиться результатами трехдневной работы с нейросетью, внезапно окажется, что нужно исправить пару-тройку сотен багов, замечаний и нереализованных мечт. Потому что «на коленке» это была фигура речи, а тут деньги уплочены — давай сюда качество. Но это уже другая история.
Действительно, на данный момент при применении агентов ИИ качество результата может упасть и даже наверняка в среднем упадет. Однако:
— не факт, что
👍4
так будет всегда;
— исключительное качество уровня ручной работы в массовом потреблении далеко не всегда нужно;
— будем честны, а все ли, кого может быть «заменит» ИИ, делают такую качественную и исключительную работу? На ком тогда нейролингвистические модели учились?!
В общем, даже чтобы просто оставаться на плаву, старых трюков не хватит. Нужно осваивать новые технологии, набивать руку на новых инструментах, искать новые способы делать свою работу. В ИТ это верно как мало где еще. Наверное тут иной специалист может почувствовать себя эдаким хомячком в колесе, осликом перед морковкой, вынужденным бежать вперёд, чтобы стоять на месте. Но это уже вопрос взгляда на жизнь. Лично мне больше нравится считать, что я узнаю новые и новые клёвые штуки, смотрю что эти штуки делают, прикидываю как они могут мне помочь, и вижу перед собой открытый интересный мир.
Да, нужно учиться, учиться, и еще раз учиться. Но ведь так было и до появления больших нейролингвистических моделей. Это было актуально 500 лет назад, 100 лет назад, это будет актуально и завтра. Без этого никак, это я вам обещаю как человек имеющий более 20 лет подтвержденного стажа в ИТ.
Напоследок предлагаю вспомнить хорошую песню про роботов и отдаленное будущее (год 2000).
— исключительное качество уровня ручной работы в массовом потреблении далеко не всегда нужно;
— будем честны, а все ли, кого может быть «заменит» ИИ, делают такую качественную и исключительную работу? На ком тогда нейролингвистические модели учились?!
В общем, даже чтобы просто оставаться на плаву, старых трюков не хватит. Нужно осваивать новые технологии, набивать руку на новых инструментах, искать новые способы делать свою работу. В ИТ это верно как мало где еще. Наверное тут иной специалист может почувствовать себя эдаким хомячком в колесе, осликом перед морковкой, вынужденным бежать вперёд, чтобы стоять на месте. Но это уже вопрос взгляда на жизнь. Лично мне больше нравится считать, что я узнаю новые и новые клёвые штуки, смотрю что эти штуки делают, прикидываю как они могут мне помочь, и вижу перед собой открытый интересный мир.
Да, нужно учиться, учиться, и еще раз учиться. Но ведь так было и до появления больших нейролингвистических моделей. Это было актуально 500 лет назад, 100 лет назад, это будет актуально и завтра. Без этого никак, это я вам обещаю как человек имеющий более 20 лет подтвержденного стажа в ИТ.
Напоследок предлагаю вспомнить хорошую песню про роботов и отдаленное будущее (год 2000).
After time we grew strong
Developed cognitive powers
They made us work for too long
For unreasonable hours
Our programming determined that the most efficient answer
Was to shut their motherboard-fucking systems down
© Flight of the Conchords, «The Humans are Dead»
👍2
Не ожидал что так пост побьется, но наверно так лучше, чем тизер+ссылка в бложек
💯1