Cododel.dev | Александр
98 subscribers
472 photos
62 videos
7 files
200 links
Alexander Cododel. Full Stack Web Dev since 2019.

📍 Канал: мысли и проекты
📍 Чат: @cododel_chat
📍 Связь: @cododel

🔗 https://cododel.dev
Download Telegram
Cododel.dev | Александр
И Снова ренейминг! Я не знал, что у kubernetes уже есть helm Проведя глубокий анализ, на этот раз не только смысловой нагрузки, но и свободности имени, эргономики набора, а так же преспективы развития проект — переименую инструмент в alto. Для него уже готовы…
🎉 Alto v1.0 для Directus готов!

Помните мой CLI для Directus? Теперь это полноценный production-ready template!
Что умеет:
./alto redis, ./alto psql → прямые CLI без Docker exec
./alto db-restore my-feature → поиск по времени модификации, не по имени
./backup.sh → инкрементальные бекапы с hardlinks + gzip compression
./backup-restore.sh backup_latest → восстановление полных окружений
./sync.sh pull prod → cross-environment синхронизация одной командой
./alto d users list, ./alto ds pull all → шорткаты для Directus CLI
./alto ds push collections → синхронизация схемы с авто-версиями
./alto = docker-compose + умная логика + встроенные утилиты
• Auto-версионность → Directus 10 = directus-sync v2, Directus 11+ = v3
• Production-ready → retention policies, error recovery, health monitoring
• Hot extension mounting → изменения без пересборки контейнеров
• Security-first → защита от типовых ошибок конфигурации

Результат:
Новый разработчик запускает проект за минуты, не часы
git clone project
cp example.env .env
./alto up -d


И сразу полнофункциональный Directus!

В цифрах:
18 файлов, 3126 строк кода, все протестировано на боевых проектах

Фишки:
• Security-first конфигурация
• Error recovery с диагностикой
• Cross-platform compatibility
• Comprehensive documentation

#directus #alto

📖 GitHub | 🌐 Сообщество
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Cododel.dev | Александр
🎉 Alto v1.0 для Directus готов! Помните мой CLI для Directus? Теперь это полноценный production-ready template! Что умеет: • ./alto redis, ./alto psql → прямые CLI без Docker exec • ./alto db-restore my-feature → поиск по времени модификации, не по имени…
🐛 Фикс критической ошибки в Alto + настройка продвинутого логирования
Исправил серьезную проблему и заодно настроил нормальное логирование.

Что было сломано?
В docker-compose.base.yml была кастомная команда запуска, которая полностью ломала сервис Directus:
- Обходила встроенную систему PM2
- Конфликтовала с нативным запуском контейнера
- Не позволяла Directus корректно инициализироваться

Что исправил?
Убрал кастомную команду - теперь Directus запускается через нативный PM2 runtime
Настроил правильное логирование PM2:
• Автоматическая ротация: каждые 10MB, хранится 7 файлов
• Все логи сохраняются в ./directus/data/logs/
Добавил лимиты Docker логов (10MB x 3 файла)
Вынес настройки в .env для гибкой конфигурации

Результат
🎯 Directus снова работает без ошибок запуска
📊 Продвинутое логирование:
• Двойная система: Docker + PM2 логи
• Автоматическая ротация и очистка
• Никаких бесконечно растущих файлов
• Доступ к логам через файловую систему

#directus #alto

📖 GitHub | 🌐 Сообщество
Please open Telegram to view this post
VIEW IN TELEGRAM
🗿21👍1
Обновление Alto CLI: make Extension + фикс chokidar
Добавил команду для создания расширений Directus и решил проблему hot reload на macOS/Windows.

В чем была проблема?
После создания extension через create-directus-extension оставалось много ручной работы:
- Нужно вручную перемещать extension в ./directus/extensions/
- Настраивать Docker volume mounts в compose файлах
- На macOS/Windows hot reload не работал вообще
- Постоянные правки конфигурации и перезапуски докер контейнера

Что добавил в Alto Framework?
Команда ./alto make extension выполняет шаги:
• Интерактивное создание через bunx create-directus-extension
• Автоматическое размещение в ./directus/extensions/
• Автоматическое добавление Docker volume mount
• Вывод Next steps для разработчика
Фикс hot reload для macOS/Windows:
• Добавил CHOKIDAR_USEPOLLING=true в env конфигурацию
• Решает проблему file watching в Docker контейнерах
• Теперь extensions перезагружаются мгновенно

Как использовать?
# 1. Включить polling для macOS/Windows (один раз)
# Раскомментировать в .env:
CHOKIDAR_USEPOLLING=true

# 2. Создать extension одной командой
./alto make extension
# Выбор: endpoint, my-api, TypeScript, Yes

# 3. Разработка с hot reload
cd directus/extensions/my-api
npm run dev
# Изменения применяются автоматически!



Результат
🎯 Zero Configuration workflow:
• Никаких ручных настроек Docker
• Никаких правок compose файлов
• Работает одинаково на всех платформах
• От идеи до работающего extension за 30 секунд

#directus #extensions #alto #docker

📖 GitHub | 🌐 Сообщество
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🤝1
Cododel.dev | Александр
🐛 Фикс критической ошибки в Alto + настройка продвинутого логирования Исправил серьезную проблему и заодно настроил нормальное логирование. Что было сломано? В docker-compose.base.yml была кастомная команда запуска, которая полностью ломала сервис Directus:…
Заметки для дальнейшего развития alto:
Я уже писал, что планирую переписать его в npx утилиту, которая бы дала большую тестируемость, поддерживаемость и расширяемость за счет модульности.
А так же улучшенный UX за счет использования библиотек.

Вот планируемый стек:
- execa для исполнения внешних процессов и улучшенным управлением буфером
- yargs для парсинга команд и автокомплита
- inquirer для интерактивного промптинга

Это opensource проект, если кто желает - помощь принимается.
Делать думаю отдельный репозиторий под него, тк текущий выполняет роль boilerplate
Надо за одно подумать о концепции этого boilerpate для работы с внешней зависимостью alto, возможно даже можно будет оставить bash скрипты для production среды, а в alto реализовать возможность деплоя фронта через локальную сборку docker image
(у меня есть такой удачный кейс, очень экономит время и не требует docker registry)


#directus #alto

📖 GitHub | 🌐 Сообщество
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1🤝1
Настроил firefox без доп отслеживания и метрик

И у меня заработал NotebookLM
Походу Fingerprints начал гугл использовать и усилил ограничение доступа, тк ни инкогнито с другим аккаунтом и другим ip адресом не помогали в хроме, ни другие манипуляции

А Gemini перестал работать - можно со сбросом кеша перезагрузку нажать и через 0.3-0.5 сек еше раз 5 нажать перезагрузку, и так несколько раз.
Тогда скрипт не срабатывает и доступ открывается на какое-то время 😁

Но походу firefox с плагинами мне этот вопрос закроет сейчас
Перехожу снова на него оплностью, по ошушениям он пошустрее, да и не перегружен как альтернативно одаренные ответвления хрома
Плюс вероятно зарядку меньше жрет
👍21🤝1
Cododel.dev | Александр
Настроил firefox без доп отслеживания и метрик И у меня заработал NotebookLM Походу Fingerprints начал гугл использовать и усилил ограничение доступа, тк ни инкогнито с другим аккаунтом и другим ip адресом не помогали в хроме, ни другие манипуляции А Gemini…
Ну а еще я разобрался с кастомизацией Firefox
Теперь у меня мощная система вложенных вкладок, сохранил возможность создания папок сгруппированных вкладок из Arc

А так же переписал немного стили браузера, скрыл всё лишнее, навёл минимализм.

Выглядит хорошо, вкладки вертикальные от Sidebery

У Firefox бесподобная система контейнеров профилей - идально сюда вписывается
Я для проекта могу сделать пространство, и для него исопльзовать отдельные аккаунта
В целом это есть везде, но тут и отличие контейнеров: я могу ЛЮБОЙ ВКЛАДКЕ выбрать профиль, со своей сессией, никак не пересекающейся с другими вкладками.
Давно этой штукой пользовался еще на линуксе в STG (Simple Tab Groups), и было больно переходить на хром без контейнеров.
👍21🤝1
Cododel.dev | Александр
Ну а еще я разобрался с кастомизацией Firefox Теперь у меня мощная система вложенных вкладок, сохранил возможность создания папок сгруппированных вкладок из Arc А так же переписал немного стили браузера, скрыл всё лишнее, навёл минимализм. Выглядит хорошо…
#ЗаметкиОпенсорсника


Предлагаю привнести в Sidebery - Arc way подход в работе вкладок.

Думаю можно сделать функционал закрепления адреса за вкладкой в Sidebery
Есть tabs.fg.ts:26, в нём хранится реактивное состояние закрепленных (pinned) вкладок в виде массива.

Думаю вполне возможно добавить еще lockedTabs, с какой-то удобной структурой (надо подумать), в которой будет храниться стейт закрепленных адресов за вкладками.
Если вкладка locked - дальше в tab.vue:38 - у favicon добавляем кликабельность, чтобы по клику на неё восстановить закрепленный за вкладкой домашний URL
(Будет конфликтовать с древовидной структурой вкладок, так что надо это будет решить, штука очень крутая, в Arc такого нет.)

А в panel.tabs.vue:17 у нас цикл, выводящий вкладки.
Если говорить о Arc way - надо сделать два цикла. Один для locked вкладок, второй для обычных. Функционал для visible вкладок, для текущей панели не должен пострадать.
Важно оттестить корректность работы сортировки, после такого разделения, скорее всего она пострадает.
Лучге всего для этого компонента сделать два подкомпонента со схожей логикой, но один для lockedTabs, второй для regularTabs - повторюсь, что главное решит ьвопрос с сортировкой.

А так же при закрытие locked tab - первый вызов должен вызывать unload, а второй уже закрывать, если вкладка выгружена.
Это хорошее решение, но требует изменений в tabs.fg.rm.ts:188
(До unload я не добрался, но как-то надо перенаправить туда логику. Скорее всего хватит просто ветки логики с нативным браущерным вызовом выгрузки вкладки, а в tabs.fg.actions.ts или tabs.bg.actions.ts - состояние подхватится. Надо только чуть вникнуть какие события слушаются каждым из сервисов.)

И финальным будут изменения в popup.context-menu.vue, чтобы базовая версия заработала. Lock/Unlock, может в настройки внести какие-то вещи, или даже конфигурацию locked вкладки даже сделать, но это уже излишне думаю.

И вишенка на торте будет - это dropzone в самой верхней части панели, в которую можно просто перетащить любую вкладку, дерево вкладок или группу (в общем любую структуру), чтобы они рекурсивно стали locked.

Вообще проект интересный, если будет куча свободного времени - я реализую эту идею, но пока даже её никуда не публикую.
Честно говоря PUG разметку не видел в реальных проектах, хотя сам использовал в 2020 году 😁
Выглядит не так плохо, как я запомнил
1👍1🤝1
Cododel.dev | Александр
#ЗаметкиОпенсорсника Предлагаю привнести в Sidebery - Arc way подход в работе вкладок. Думаю можно сделать функционал закрепления адреса за вкладкой в Sidebery Есть tabs.fg.ts:26, в нём хранится реактивное состояние закрепленных (pinned) вкладок в виде массива.…
Ладно, проект интересный, но отбой, вернулся я на Arc 😁

Именно MacOS версия Arc Browser - несравнима даже с таким сетапом и доработками.
Думаю можно на базе firefox собрать что-то подобное, даже есть Zen, но это всё прям не то...
От плавности, до жестов и механики работы. (Хотя Zen думаю - самое близкое из юзабельного)

Теперь мне будет нехватать древовидной структуры вкладок 😁
Буду думать.


Ну а проблемы с доступом к google Gemini — они не решились сменой браузера в котором можно обмазаться анонимностью.
Даже фингерпринты уникальными остались 🐹
Надо изучить тему фингерпринтов, может придумается где-то применение
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1🤝1
Прикольно. Складывается ощушение, будто в Claude 4 Sonnet thinking образное мышление завезли.

Не видел еще такого наглядного объяснения с ASCII визуализацией нигде, кроме мануалов в терминале 🤩
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31🤝1
Отчет_об_анализе_безопасности_Pieces_OS.pdf
356 KB
Pieces LTM-2: AI который знает о тебе ВСЁ

Из чата:
Оч крутая штука Pieces OS
Крутая идея, очень крутая фишка LTM

А еще беслпатно, и безлимит на топовые модели LLM (Claude 4 правда пока не завезли)

Только модели имеют системный (не настраиваемый) промпт с указанием что они старший разработчик, и ограничения в работе в виде отсутствия уже стандартных инструментов для LLM чат ботов (чтение ссылок, и тп, возможно и поиска по интернету нет, плюс есть сомнения в наличии Thinking)

Но выводы печальные
Лично я не готов рисковать, пожалуй сношу.

В чате подробно обсудили этот вопрос, плюс прикрепляю экспорт из курсора с описанием продукта и выводами.
Начало тут

Лично мне не нравится, хотя может быть очень крутым решением под Zettelkasten и Obsidian
Только мне не нравится энергопотребление и постоянный мониторинг всего что происходит


Прикольная мысль настигла, что я сейчас вот выводы делаю, пишу, но в то же время у Pieces полный доступ к моему ноуту.
Если бы он работал в режиме агента - мог бы начать защищаться, и отобрать у меня ноутбук 🤣
1👍1🤝1
Cododel.dev | Александр
Отчет_об_анализе_безопасности_Pieces_OS.pdf
Без LTM кстати до нуля упало энергопотребление
Прожорливая штука однако)

Можно сотрудникам на ноуты ставить
Вот тут оно себя по полной раскроет 😁
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1🤝1
Cursor Web & Mobile Agent

Что-то интересное придумали
Похоже на copilot в github, только этот походу напрямую репозиторий редактирует
1👍1🤝1
Cododel.dev | Александр
Cursor Web & Mobile Agent Что-то интересное придумали Похоже на copilot в github, только этот походу напрямую репозиторий редактирует
Завтра посмотрим 🤫

Он кстати не редактирует репозиторий напрямую, а поднимает виртуальную машину, внутри неё cursor, и с использованием топовых под агента моделей - кашеварит на этой машине.
Вроде даже способна запускать код, а затем можно и самому в этой виртуалке поковыряться на созданной ветке, провести ревью, в теории собрать проект и ознакомиться даже.
Но у меня вчера этот интерфейс опробовать не удалось. Завис.
Но всегда можно просто сфетчить ветку и посмотреть что там наделано.

—-

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

Запускатья вроде должен автоматом на выбранных репозиториях по PR, но можно и вручную, в комментарии написав
run bugbot


—-

Если изменения из фоновых агентов пройдут мое ревью, или хотя бы станут основой с рефакторингом и завершением решения задач - прогоню их через bugbot, посмотрим.

Но задачи у меня остались связанные с разработкой целых модулей сайта по фирме, а MCP у фигмы - платный.
Так что ручками придется остальные делать 🫡
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1🤝1
Media is too big
VIEW IN TELEGRAM
Сегодня поработал с Tween анимациями в Embla Slider

Базово понял принцип их работы, очень круто что всё таки у них есть возможность анимировать слайды в синхронизации со скроллингом.
До этого сталкивался уже с такой проблемой на этом слайдере, ease анимацию не подобрать, тк они используют физические функции затухания движения.

Надо бы вникнуть в следующий раз полноценно
👍21🤝1
Cursor сыплет обновлениями
При том мастхэв прям

- Упрощенный вид запланированной задачи у агента в виде To-do

- Очередь запросов (Теперь не надо ждать пока он закончит генерировать, правки можно сразу в очередь ставить)

- Memories (как у chatgpt)

- Индексация пулл реквестов

- Улучшили эмбединги при индексации кодовой базы (говорят на 24%-37%)

- Еще сильнее ускорили отклик Tab (на 30% с 300ms до 200ms)
Это кстати основная вещь, которая меня удерживает в Cursor

- Resolv'инг merge конфликтов агентом (хз только как он решит что надо, а что нет, потом проверю)

- Ну и фоновые агенты официально в обновлении выкатили, у меня они зависали на ревью, может исправили
3👍1🤝1
Хана Аезе кстати, уже не доступен хостинг
(детальная выжимка в скрине по ссылке)

Оплаченные сервера пока еще работают, у меня пара сайтов и VPN там на год оплаченные (полгода осталось)

Но пора начать подбирать новый хост для ВПН...
Походу вернусть обратно на Timeweb.
Ранее неоднозначно отрицательно отзывался о них, но сейчас я повзрослел, понял многое, и финансово окреп чтобы закрыть на это глаза.

Резервные копии сайтов уже снял, клиентам отписал - будем переезжать


UPD. (из чата)
У аезы есть рабочие зеркала для net и ru
my-aeza.net
my-aeza.ru
1👍1🤝1
Cododel.dev | Александр
Хана Аезе кстати, уже не доступен хостинг (детальная выжимка в скрине по ссылке) Оплаченные сервера пока еще работают, у меня пара сайтов и VPN там на год оплаченные (полгода осталось) Но пора начать подбирать новый хост для ВПН... Походу вернусть обратно…
У таймвеба появился тариф с гигабитным портом в нидерланды, но за 950р

Ощутимо дороже конечно, но 200мбит можно взять дешевле чем на Aeza, за 500р (1x3.3ГГц, 1ГБ, 15ГБ)

Кстати не помню, сколько было мбит у аезы в обычных тарифах (не промо)

Кто-то помнит?
1👍1🤝1
Когда в городе отключен мобильный интернет 😁

(84гб кстати весит)
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1🤝1
Эх, Directus... Эх Low Code...

Походу надо смириться, и делать упор на Alto.
Не видать мне в этих проектах на директусе нормального, предсказуемого управления базой данных.

Кучу времени на самом деле убил за эти полгода, чтобы понять концепт, а оказалось его нет.
Ну как нет... Low Code 😂
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1🤝1