Если делаете два близких приложения (например, клиентский фронтенд и админку) , и хотите расшарить какие-то компоненты и ресурсы, то есть несколько вариантов
1. Монорепозиторий. Оба проекта идут как пакеты и общие пакеты тоже отдельно. На любителя.
2. Выделить общее в отдельный
3. Делать в одном проекте, настроить на две точки входа. Собирать
4. Два отдельных
4.
#tip
1. Монорепозиторий. Оба проекта идут как пакеты и общие пакеты тоже отдельно. На любителя.
2. Выделить общее в отдельный
NPM
пакет и подключать его. Неудобно возиться с версиями и апдейтом.3. Делать в одном проекте, настроить на две точки входа. Собирать
Vite
будет в одну кучу с двумя html
файлами входа. Подразумевается, что так удобно работать на одном сайте с двумя мини-приложениями4. Два отдельных
vite.config.ts
файла, два html, два App.vue и роутера. В package.json
в скриптах прописываете свой Vite
конфиг и копирование своего html в index.html
. Запускается и собирается каждый как отдельный проект, в коде всё общее.4.
Git submodules
. Отдельный проект подключается как поддиректория в твой (общие компоненты).#tip
Написал статью про Model Context Protocol
Грубо говоря, это попытка выработать стандартный
На двух последних проектах окунулся в работу с
#ai #article
Грубо говоря, это попытка выработать стандартный
API
для соединения LLM
и инструментов - любых приложений, делающих что-то специфичное.На двух последних проектах окунулся в работу с
AI
и эта штука (MCP
) очень сильно может помочь в разработке приложений, использующих LLM
. Чтобы не выклянчивать у чатбота что-то в диалоге, а использовать его для управления специализированными инструментами и получать на порядок более качественный результат.#ai #article
Хабр
Model Context Protocol (MCP): Стандартизация взаимодействия AI-приложений
Где-то летом 2024 года в некоторых OpenAI сервисах появилась возможность использовать "инструменты". Инструмент — это функция, которая выполняется на сервере и возвращает некий результат. Например, в...
Эван тут запустил опрос. Задумал, поди, бэкенд фреймворк написать от скуки.
Хочется сказать: Ю, ты, конечно, красавчек. Но, во-первых,
P.S. Год назад на бэке отошел от любых фреймворков, абсолютно счастлив и жалею, что не сделал этого раньше
#backend #evanyou #laravel
Хочется сказать: Ю, ты, конечно, красавчек. Но, во-первых,
js
на бэке - это говно. Во-вторых, брать лучшие практики из Ларавеля, это как брать уроки танцев у стриптизерши из припортового бара. И, в-третьих, - дай нам Rolldown
, Vapor
и пофикси, наконец, этот гребаный Volar
, а потом делай что хочешь.P.S. Год назад на бэке отошел от любых фреймворков, абсолютно счастлив и жалею, что не сделал этого раньше
#backend #evanyou #laravel
В экспериментальных версиях браузеров уже появляется реализация
Уже доступен полифилл - @js-temporal/polyfill
#js #date
Temporal
- официальной замены Date
в JavaScript
const dateTime = Temporal.Now.plainDateTimeISO();
console.log(dateTime); // e.g.: 2025-01-22T11:46:36.144
// 1851222399924 is our timestamp
const launch = Temporal.Instant.fromEpochMilliseconds(1851222399924);
const now = Temporal.Now.instant();
const duration = now.until(launch, { smallestUnit: "hour" });
console.log(`It will be ${duration.toLocaleString("en-US")} until the launch`);
// "It will be 31,600 hr until the launch" <- @js-temporal/polyfill
// "It will be PT31600H until the launch" <- Firefox Nightly
Уже доступен полифилл - @js-temporal/polyfill
#js #date
Подписчик спросил, как используется
В последнем
1. Преобразование полученного из PDF утилитой pdf2text текста в структурированный JSON
2. Пользователь может вводить вручную данные в формы - например, пройденное лечение, а может просто надиктовать рецепт.
3. Генерация аналитических отчетов на основе разных данных (анализы, лечение, записи журнала)
В 1 и 2
В 3 результат зависит сильно от человека (составленного им промпта)
В проекте до этого была задача в ходе диалога получить от пользователя некую информацию. Использовал конечные автоматы на бэке для управления диалогом.
Вещи типа 1 и 2 встречаются во многих приложениях, и
Ну и в последние недели в
#ai
AI
в моих проектахВ последнем
LLM
используется в трех местах:1. Преобразование полученного из PDF утилитой pdf2text текста в структурированный JSON
2. Пользователь может вводить вручную данные в формы - например, пройденное лечение, а может просто надиктовать рецепт.
AI
преобразует снова в данные определенного формата3. Генерация аналитических отчетов на основе разных данных (анализы, лечение, записи журнала)
В 1 и 2
AI
преобразует неструктурированную информацию в структурированную - это она очень хорошо умеет.В 3 результат зависит сильно от человека (составленного им промпта)
В проекте до этого была задача в ходе диалога получить от пользователя некую информацию. Использовал конечные автоматы на бэке для управления диалогом.
Вещи типа 1 и 2 встречаются во многих приложениях, и
AI
тут может сильно улучшить UX
Ну и в последние недели в
Cursor
-е появились MCP сервера, я писал о них (но не пробовал), которые делают еще один качественный шажок в использовании AI
#ai
За что я ценю
Всю жизнь у меня было неприятное ощущение, что какой-бы [относительно] мощный комп у меня ни был, средства разработки на нем всё равно тормозили. Казалось, так будет всегда, и это просто правило.
С продуктами
#vscode #ide #jetbrains
VS Code
больше всего - за закрытие гештальта.Всю жизнь у меня было неприятное ощущение, что какой-бы [относительно] мощный комп у меня ни был, средства разработки на нем всё равно тормозили. Казалось, так будет всегда, и это просто правило.
VS Code
сломал это правило несколько лет назад.С продуктами
JetBrains
же просто парадокс какой-то.IDE
на Java
стали писать как только она появилась. И вот с 2000 года Java
не поменялась особо, JVM
не поменялись, код для написания IDE
примерно тот же, использующий те же библиотеки. Поменялось железо - раз так в 1000 стало мощней суммарно. А тормозит такой IDE
так же, как и тогда...#vscode #ide #jetbrains
Выпустил
Для чего он нужен?
1. Просите
2. Просите
3. Результат в текстовом виде в
Список поддерживаемых типов диаграмм (несколько десятков) здесь
#ai #lib #vitepress
v1.0.0
плагина vitepress-plugin-diagramsДля чего он нужен?
1. Просите
AI
добавить в проект VitePress
документацию2. Просите
AI
изучить кодовую базу какого-нибудь модуля (TimelineChart
в данном случае) и сгенерировать несколько диаграмм, описывающих его структуру и потоки данных3. Результат в текстовом виде в
markdown
файлах и сразу на экране. Никаких расширений IDE
ставить не нужно.Список поддерживаемых типов диаграмм (несколько десятков) здесь
#ai #lib #vitepress