Сегодня с сыном забацали маленький проект
Сегодня с сыном забацали маленький проект. Взяли Клода, и он помог нам написать маковское приложение для скачивания видосов и музыки с ютюба.
Немного контекста:
Он пока только учится всякому такому, и у них даже в школе есть какие-то уроки по кодингу, но это всё чисто упражнения в песочницах. И хотя это тоже всё здорово, всё что они делают таким образом ограничено теми же учебными устройствами и программами, и оно не применимо в обычной жизни. А тут мы получили нечто что ему хочется за пределами обучения.
Есть такая платформа Роблокс — по виду как майнкрафт, то есть мега-пикселированный 3D мир, где бегаешь и что-то либо строишь либо это как FPS.
Обман там в том, что это подаётся как платформа где дети сами могут создавать игры - и звучит как классная среда для обучения. И это теоретически может так работать, на практике же дети просто там играют, вешая лапшу наивным родителям типа меня что это всё может быть полезно. Наверняка бывают такие дети которые прилежно что-то по своей инициативе не играют а создают, наверно такие проснувшись утром в воскресенье сами умываются, и тихонечно садятся за стол рисовать что-то красивое когда им ещё 3 годика.
Покуда я сам совсем не программист, мне сложно быть для него примером и сесть что-то показывать или делать вместе. Но с развитием нынешних ЛЛМ моделей я и сам стал этим практически регулярно делать, но сегодня мы попробовали вместе. Я показывал и рассказывал все шаги.
Вот какой мой процесс:
У меня для всяких ЛЛМ моделей отдельный браузер, это waterfox. Вот мы в нём открыли и ChatGPT и Claude. И начали просто рассказывая им что бы мы хотели получить, а именно простое маковское приложение, где мы указываем URL с ютюба, выбираем что нам нужно аудио или видео, и указываем в какую папку это созранять. Поведали что мы не программисты и нам нужно всё подробно, шаг за шагом. И попросили предложить общий план.
Из двух выданных общих обзоров процесса и планов на выполнение нам больше понравился Клод и мы дальше всё сделали уже с ним. Рассказали что хотим писать сам код в редакторе VS Code, и что хотим всё сохранять на гитхабе. И понеслось. Клод давал команды одну за другой с простыми пояснениями что, как и зачем, спрашивая что получалось после каждого шага.
Открыли терминал, поставили новую версию питона, добавили возможность оборачивать код в графический интерфейс с помощью PySide6, вернее сперва поспрашивали какие есть варианты, и вот на этих сошлись. Потом создали новую репозиторию на гите сразу закоммитили наши основные установки.
Добавили yt_dlp и FFmpeg которые позволят скачивать и конвертировать. Описали как хотим чтобы выглядел интерфейс. Потом сперва получилось сделать простенький именно интерфейс с полями и кнопками, добавили уже возможно скачивать. Перебороли пару замечаний от системы и уже смогли скачать первое видео и первое аудио, в нужные папки.
Далее сделали чтобы можно было сохранять настройки между запусками программы, придумали своё название, сделали в фигме иконку. Вернее сперва на бумажке он нарисовал эскиз, далее мы в фигме нарисовали картинку, вставили прямо в иконку название, используя конечно же мой шрифт, но думаю дальше они и шрифт попробует сам сделать для будущих проектов. Потом клод научил нас сконвертировать PNG в агрегированный набор иконок в формате icns и это всё добавили в приложение.
Следующими этапом уже добавили скрипт который из нашей питоновской программы делает самостоятельное приложение для мака, и вуаля. Уже можно ставить на другой комп и пользоваться как вполне работающими хоть и простеньким продуктом.
Там полно чего ещё можно улучшать. Но это всё же так интересно. Будем продолжать.