#teqfw — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #teqfw, aggregated by home.social.
-
Декларация (не)зависимостей для ESM
Меня зовут Алекс Гусев и сегодня я расскажу о том, как ChatGPT убедил меня переписать библиотеку @teqfw/di , которую я бережно " выращиваю " с 2019-го года, и почему я всё-таки убедился. Эта JS-библиотека позволяет мне использовать в своих веб-приложениях позднее связывание и даёт возможность писать изоморфный код, который без изменений работает и в браузере, и на бэке. Без транспиляции исходников, без ручной регистрации зависимостей - так, как я привык делать в Java и PHP. Я почти 7 лет вручную выверял каждую строку этой библиотеки, а на прошлой неделе я отдал её на откуп Codex-агенту и вот что он с ней сделал.
https://habr.com/ru/articles/1003708/
#искусственный_интеллект #агенты #codex #llm #teqfw #будущее_здесь
-
От идей к коду: проверяю теорию внимания на практике
Всем привет, меня зовут Алекс Гусев. Это третья публикация в линейке ( раз , два ), посвящённой тому, как меняется работа со знанием в условиях его избытка и почему внимание становится ключевым ограничивающим ресурсом. В первых двух текстах я рассматривал персональные картины мира, то, как знание встраивается в опыт, роль внимания в этом процессе и в общих чертах затрагивал тему того, как внимание проявляется через поведение пользователей на современных платформах. Основной фокус тогда был на формулировке идей и их обсуждении. В этой статье я продолжаю ту же линию и перехожу к практическому шагу - к проверке этих идей в виде работающего эксперимента.
https://habr.com/ru/articles/995070/
#искусственный_интеллект #языковые_модели #агентная_разработка #эмбеддинги #векторные_представления #adsm #teqfw #внимание_пользователей #персонализация
-
LLM-first: парная разработка без вайбкодинга
Этот пост — мой личный разбор по итогам двух недель разработки простой файловой CMS для одного из моих пет-проектов. Мне нужен был SSR-сайт с мультиязычным контентом — около десятка страниц на двух языках. Всё под Git-контролем, переводы я делал вручную через DeepSeek API и выкладывал на продакшн через GitHub Actions. В какой-то момент стало понятно: отслеживать и переводить все мелкие изменения вручную — неудобно и утомительно. Тогда я решил автоматизировать этот процесс и взял в напарники ИИ. Не для вайбкодинга и генерации «по настроению», а для настоящего парного программирования. Результат — рабочий open-source проект, который можно развернуть, изучить и использовать. Но главное — это опыт. Это была не просто реализация CMS, а переосмысление роли ИИ в разработке. Под катом — мои подходы, наблюдения и выводы.
https://habr.com/ru/articles/914324/
#искусственный_интеллект #вайбкодинг #llmfirst #teqfw #dependency_injection #chatgpt #deepseek #cms
-
@teqfw/di: Coding JavaScript like a Java boss
Эта статья для тех, кто, как и я, хочет программировать на JavaScript в Java-стиле. Для тех, кто находит вдохновение в балансе между строгой архитектурной дисциплиной Java и творческой свободой JavaScript. Ранее я уже публиковал " философию " своей платформы TeqFW , а также инструкции для LLM ( раз , два ) по оформлению es-модулей в приложениях, написанных в стиле TeqFW . На этот раз я делюсь инструкцией для LLM по использованию внедрения зависимостей в таких приложениях. Для тех, кто не совсем понимает, что значит " программировать на JavaScript в Java-стиле ", приведу рабочий пример — это Node.js-утилита @flancer64/smtp-logger . Она сохраняет в базу данных все email'ы, которые Postfix отправляет наружу. Мне как раз понадобился такой функционал — и я реализовал его в стиле TeqFW : с явным управлением зависимостями и строгой модульной структурой. Под катом - пример JS-кода в Java-стиле.
https://habr.com/ru/articles/901678/
#teqfw #javascript #es6 #esmodules #dependency_injection #ioc
-
Типовой ES-модуль в TeqFW или «сборник вредных советов»
Я ранее описал принципы , которыми руководствуюсь при разработке веб-приложений, а также требования , предъявляемые со стороны платформы TeqFW к JS-коду. В этой публикации я покажу, как выглядит код типового модуля платформы, где не используется статический импорт . Хочу сразу отметить, что кажущаяся сложность материалов обусловлена непривычностью представленных концепций. Наработанный опыт и инерция мышления — сильные вещи! Тем, кто имеет ограниченный опыт в JS-разработке, этот материал будет проще для восприятия, в то время как опытным разработчикам предстоит преодолеть барьер устоявшихся привычек. На мой взгляд, несмотря на то что " TypeScript — это суперсет JavaScript ", самыми сложными концепции платформы станут именно для TS-разработчиков. Ну, вот - я предупредил, дальнейшее чтение - на ваш страх и риск.
-
Почему TeqFW использует только ES-модули?
Ни у кого не получится показать другому то, что тот не хочет или не может увидеть. Объяснять и показывать нужно только тем, кто а) может понять , б) хочет понять . В этой публикации я демонстрирую пару своих документов для LLM, которые предписывают " силиконовым ", какими правилами им следует руководствоваться при создании кода для моей платформы. " Силиконовым " можно впаривать любую дичь - они всеядные ( могут понять ) и покладистые ( согласны понять ). За это мы их и любим! Кому интересно, что за инструкции - прошу под кат. Кто хочет сразу получить ответ на вопрос в заголовке - могут задать его (и множество других) соответствующему преднастроенному GPT-чату . Кто не хочет ни того, ни другого - в вашей ленте есть ещё куча других, более интересных публикаций.
https://habr.com/ru/articles/892942/
#teqfw #tequila #ненормальное_программирование #почему_бы_и_нет #llm
-
Разница между ранним и поздним связыванием
В этой публикации я " на пальцах " попытаюсь объяснить, чем отличается раннее и позднее связывание кода для обычного программиста. Не для компилятора или статического анализатора, а для человека, который пишет JavaScript/TypeScript-код. Ну и немножко попиарюсь в конце.
https://habr.com/ru/articles/856578/
#late_binding #early_binding #inversion_of_control #dependency_injection #teqfw
-
Телеграм-бот на Node.js/grammY: Диалоги
В этой статье я продолжаю делиться результатами изучения создания телеграм-ботов в nodejs , начатой в предыдущих публикациях ( раз , два ). На этот раз я покажу, как организовать интерактивные диалоги с пользователями, используя модуль conversations библиотеки grammY. Мы рассмотрим, как настроить библиотеку для работы с диалогами, управлять их завершением, а также реализовать ветвления и циклы. Этот подход станет основой для более сложных проектов, где важно взаимодействие с пользователем.
-
Использование ChatGPT для автоматизации генерации кода в JS-проекте
В своих предыдущих статьях о разработке телеграм-ботов я делился опытом создания базового функционала и работы с командами через аргументы ( раз , два ). На этапе подготовки третьей статьи передо мной встал вопрос генерации однотипного кода для новых команд, что превратилось в рутинную задачу. Чтобы избежать этого и ускорить процесс, я решил задействовать ChatGPT. К моему удивлению, его помощь оказалась значительно весомее, чем я ожидал. Если коротко, то использование ChatGPT для автоматизации генерации кода эффективно при работе с шаблонами. Генерация однотипных фрагментов на основе шаблонов ускоряет процесс разработки и снижает количество рутинных задач. Чем точнее структура и наименования в шаблонах, тем легче модели корректно выполнять замены, Для тех же, кто хочет более детально ознакомиться с процессом взаимодействия человека и ChatGPT при создании JavaScript-проекта - добро пожаловать под кат.
https://habr.com/ru/articles/850846/
#chatgpt #javascript #nodejs #grammy #teqfw #telegram_bot #llm #кодогенерация #regexp
-
Node.js-бот для Телеграм: CRUD-L через аргументы команд
Я продолжаю описывать собственное погружение в мир телеграм-ботов, начатое в предыдущей публикации . Тогда я создал простого бота на Node.js с тремя стандартными командами ( /start , /help , /settings ) с использованием библиотеки grammY , который мог работать в режимах long polling и webhook . В этот раз я разработал бота, который манипулирует данными в базе по шаблону CRUD + List (CRUDL) с помощью аргументов команд. Из-за своей простоты, граничащей с примитивностью, это решение не подходит для коммерческих проектов, но может быть полезным в персональных проектах.
-
Мой опыт создания телеграм-бота на NodeJS/grammY
Арест Павла Дурова стал настолько ярким событием, что мне пришлось повнимательнее присмотреться к этому мессенджеру - чем же таким он значимо отличается от остальных социальных сетей. Так в поле моего зрения попали боты. Так-то я больше по веб-приложениям - ну, тех, что в браузере. Но боты тоже оказались ничего так. Так как я предпочитаю использовать JavaScript и на фронте, и на бэке, то среда существования для бота была определена сразу же - nodejs. Осталось определиться с библиотекой - Telegraf или grammY ? Так как у второй в примере использовался кошерный import , а у первой - старомодный require , я выбрал grammY . Под катом - пример телеграм-бота в виде nodejs-приложения с использованием библиотеки grammY , который запускается как в режиме long pooling , так и в режиме webhook , созданный с применением моей любимой технологии - внедрения зависимостей через конструктор (TL;DR).
https://habr.com/ru/articles/837610/
#телеграмбот #tl;dr #много_букв #javascript #модульный_монолит #teqfw
-
Загрузка es-модулей в браузерные приложения
Мне тут на днях попеняли, что, мол, я не в курсе, " что из esm до сих пор нельзя собрать бандл без транспиляции ". Ну что я могу сказать... я действительно не в курсе :) На мой взгляд, es-модули придумали как раз для того, чтобы загружать по мере необходимости JS-код непосредственно в браузер, и собирать модули в бандлы - это, ну... как гладить кошку против шерсти. Я понимаю, что традиции / привычки / требования бизнеса / обратная совместимость / корпоративная этика и т.п. говорят о том, что код для браузерных приложений должен поставляться в бандлах и точка! Тем не менее, в некоторых случаях (малые приложения, быстрое прототипирование, распределённая разработка) сборка бандлов является излишней и код в браузер можно и нужно загружать непосредственно в виде es-модулей.