Telegram Group & Telegram Channel
Ух, последнее время навалило и я плотно занялся разработкой платформы Хекслета спустя несколько лет, после того, как я перестал писать туда код. На днях мы делаем большой релиз с выкаткой ИИ-ассиснта вроде того, что я сделал в code-basics.com. Хочу поделиться несколькими историями, которые в процессе возникли и как ИИ немного поменял мой подход к работе.

Удаление Docker Compose

Возможно вы скажете что я сошел с ума, но упрощая одно, Docker Compose делает сложным многое другое. Работа редактора, постоянное переключение внутри/снаружи (опять же история команд), сложности с сервисами (например интеграционные тесты), сложности с рестартом (когда это происходит по внутренним причинам а не снаружи). Все это сопровождает работу в Compose каждый день, а сетап окружения, по факту, делается один раз, в самом начале. Поэтому лучше один раз потратить чуть больше времени, зато потом не париться. Тем более сейчас все не так уж сложно: mise, overmind, caddy + базы и другие штуки прямо в докере, вместе работают как надо. Даже обвязка в виде команд занимает меньше строк чем docker-compose конфигурации:


# Procfile.dev
webserver: make services-webserver-run
vite: make services-frontend-run
app: make services-app-run
jobs: make services-jobs-run


В общем сначала я сделал это на code-basics.com, теперь мы это делаем и на репе Хекслета

Замена старья на Chatgpt

В коде наших проектов, как и во многих других, очень много мелких изолированных задачек, которые не всегда можно решить с помощью готовых библиотек. Например автокомплит для серверного html с поддержкой нужного UI, небольшой markdown редактор для разных textarea (крупные не подходят) с поддержкой bootstrap, все это либо отсутствует и надо пилить самим, либо крайне устарело. Подобные штуки редко поддерживают постоянно.

Я всегда избегал писать все это самостоятельно и мы долгое время были на устаревших либах, переодически вставляя туда костыли. А тут я попробовал просто генерить эти штуки. И пошло, за короткое время мы выкинули кучку либ, которые годами не обновлялись, при этом получили на каждую задачу по одному файлу от 50 до 150 строк, которые почти целиком сделал chatgpt.

Главное пожалуй то, что эти куски изолированы и в них не надо разбираться. Любой рефакторинг это снова отдал в chatgpt весь код целиком и попросил поправить, например, я так добавлял поддержку localStorage в редактор, который он мне сгенерил. И черт побери, это меняет отношение к коду и к тому что там делается. Подобный код перестает восприниматься мной как трата времени на написание не релевантных бизнесу либ.

Такая же история у меня была с интеграцией @sdk/ai от vercel. Я потратил целый день пытаясь его завести, мне даже пришлось полностью перелопатить его кишки в итоге я не смог его нормально завести для своих задач (смог, но с большим количеством подпорок). В конце я просто плюнул и сгенерил себе react hook, который делает все нужное (коммуникация с сервером, отправка прием данных). Посмотрите какая красота: https://github.com/hexlet-basics/hexlet-basics/blob/main/app/javascript/hooks/useAssistantStream.ts

Я не уверен что решился бы сам его писать. Не потому что не могу, а потому что не хочу тратить на это время. А щас это перестало быть проблемой.

Ссылки: Телеграм | Youtube | VK



group-telegram.com/orgprog/314
Create:
Last Update:

Ух, последнее время навалило и я плотно занялся разработкой платформы Хекслета спустя несколько лет, после того, как я перестал писать туда код. На днях мы делаем большой релиз с выкаткой ИИ-ассиснта вроде того, что я сделал в code-basics.com. Хочу поделиться несколькими историями, которые в процессе возникли и как ИИ немного поменял мой подход к работе.

Удаление Docker Compose

Возможно вы скажете что я сошел с ума, но упрощая одно, Docker Compose делает сложным многое другое. Работа редактора, постоянное переключение внутри/снаружи (опять же история команд), сложности с сервисами (например интеграционные тесты), сложности с рестартом (когда это происходит по внутренним причинам а не снаружи). Все это сопровождает работу в Compose каждый день, а сетап окружения, по факту, делается один раз, в самом начале. Поэтому лучше один раз потратить чуть больше времени, зато потом не париться. Тем более сейчас все не так уж сложно: mise, overmind, caddy + базы и другие штуки прямо в докере, вместе работают как надо. Даже обвязка в виде команд занимает меньше строк чем docker-compose конфигурации:


# Procfile.dev
webserver: make services-webserver-run
vite: make services-frontend-run
app: make services-app-run
jobs: make services-jobs-run


В общем сначала я сделал это на code-basics.com, теперь мы это делаем и на репе Хекслета

Замена старья на Chatgpt

В коде наших проектов, как и во многих других, очень много мелких изолированных задачек, которые не всегда можно решить с помощью готовых библиотек. Например автокомплит для серверного html с поддержкой нужного UI, небольшой markdown редактор для разных textarea (крупные не подходят) с поддержкой bootstrap, все это либо отсутствует и надо пилить самим, либо крайне устарело. Подобные штуки редко поддерживают постоянно.

Я всегда избегал писать все это самостоятельно и мы долгое время были на устаревших либах, переодически вставляя туда костыли. А тут я попробовал просто генерить эти штуки. И пошло, за короткое время мы выкинули кучку либ, которые годами не обновлялись, при этом получили на каждую задачу по одному файлу от 50 до 150 строк, которые почти целиком сделал chatgpt.

Главное пожалуй то, что эти куски изолированы и в них не надо разбираться. Любой рефакторинг это снова отдал в chatgpt весь код целиком и попросил поправить, например, я так добавлял поддержку localStorage в редактор, который он мне сгенерил. И черт побери, это меняет отношение к коду и к тому что там делается. Подобный код перестает восприниматься мной как трата времени на написание не релевантных бизнесу либ.

Такая же история у меня была с интеграцией @sdk/ai от vercel. Я потратил целый день пытаясь его завести, мне даже пришлось полностью перелопатить его кишки в итоге я не смог его нормально завести для своих задач (смог, но с большим количеством подпорок). В конце я просто плюнул и сгенерил себе react hook, который делает все нужное (коммуникация с сервером, отправка прием данных). Посмотрите какая красота: https://github.com/hexlet-basics/hexlet-basics/blob/main/app/javascript/hooks/useAssistantStream.ts

Я не уверен что решился бы сам его писать. Не потому что не могу, а потому что не хочу тратить на это время. А щас это перестало быть проблемой.

Ссылки: Телеграм | Youtube | VK

BY Организованное программирование | Кирилл Мокевнин


Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260

Share with your friend now:
group-telegram.com/orgprog/314

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

Founder Pavel Durov says tech is meant to set you free "For Telegram, accountability has always been a problem, which is why it was so popular even before the full-scale war with far-right extremists and terrorists from all over the world," she told AFP from her safe house outside the Ukrainian capital. Groups are also not fully encrypted, end-to-end. This includes private groups. Private groups cannot be seen by other Telegram users, but Telegram itself can see the groups and all of the communications that you have in them. All of the same risks and warnings about channels can be applied to groups. Perpetrators of such fraud use various marketing techniques to attract subscribers on their social media channels. Also in the latest update is the ability for users to create a unique @username from the Settings page, providing others with an easy way to contact them via Search or their t.me/username link without sharing their phone number.
from pl


Telegram Организованное программирование | Кирилл Мокевнин
FROM American