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
Что правда - то правда
😁2
Cododel.dev | Александр
Это конечная.. 😂 Я за неделю не нашел ни одного решения собрать типобезопасный проект на directus без ручного описания схем 🥸 Даже graphql codegen может выдавать optional типы из-за того что сам директус делает все модели Partial для поддержки выбора полей…
Кажется придумал typesafe для directus...
Убираем полностью генерацию типов специфичную для Directus тк пользы от неё мало.

Делаем schema пакет в монорепо
В нем ставим drizzle-orm + drizzle-kit + drizzle-zod + dotenv + nunjucks + tsx
Делаем команду для npm generate: drizzle-kit introspect + кастомный скрипт на nunjucks исполняемый через tsx который будет после introspect все экспортируемые модели в шаблоны рендерить с zod схемами и отдельно с z.infer типами

Вроде норм, пока выглядит рабочим, главное чтобы tree-shaking справлялся, а чтобы не палить схему всей базы данных - в скрипте генерации сделал разбивку по файлам, каждая таблица экспортирует схемы из своего файла, чтобы tree shaking отрезал неиспользуемые таблицы

Вопрос открыт ещё по полям, которые возможно нужно оставить приватными, на такой случай надо подумать над поддержкой tree-shaking самих схем
Cododel.dev | Александр
Кажется придумал typesafe для directus... Убираем полностью генерацию типов специфичную для Directus тк пользы от неё мало. Делаем schema пакет в монорепо В нем ставим drizzle-orm + drizzle-kit + drizzle-zod + dotenv + nunjucks + tsx Делаем команду для npm…
Оно работает!
И вполне неплохо

Полное соответствие типам из базы выходит, а потом можно сделать type guard фильтры и трасформации

Получилось даже сделать трансформации snake_case -> cameCase на уровне генератора схем.
В обратную сторону тоже должно работать, пока не проверял.
R — Refactoring

Оно бесплатно кстати, included в лимиты подписки

1070 запросов разных, больше всего на grok-code-fast-1, много на gemini-2.5-pro, claude-sonnet-4, чуть меньше ноунейм code-supernova

и немного claude-opus-4.1 (вопрос с типизацией импортов svg так и не решился пока — см комменты)
+1800$ как с куста

Забираю и покупаю машину
Forwarded from (НЕ)Экономист! | Cododel Crypto | Alexander
Приколы - такие приколы)
Надо теперь как-то успеть забрать со взломанного кошнлька, пока это не сделал машонник
Forwarded from (НЕ)Экономист! | Cododel Crypto | Alexander
0x07d1b4dae56980ff68f13dc9c66bbacb2fc918e70dc96a5856cf38058955dff9

Принимаем пополнение, фиксируем профит 😎💶
Please open Telegram to view this post
VIEW IN TELEGRAM
Майнерское оборудование на HiveOS — не подходит для инференса ML

Полезная информация на будущее
Там целый набор нюансов.

---
Под разработку брал сервер с ней на неплохих условиях
И в прошлый раз когда сервер нам отрубали тоже были схожие проблемы

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

В итоге промежуточный вывод делаю, что сейчас у меня достаточно знаний и наработок чтобы очень быстро подготовить сервер под проект с ML, но если там стоит HiveOS — ждать беды и геморроя. А они встречаются на народных хостингах.

Лучше сразу менять и подбирать полноценную OS.
Обновился до 26 iOS и MacOS

Новые обои мне нравятся, и новый дизайн Safari
Особенно на телефоне, когда при скролее нижний тулбар аккуратно уменьшается

В остальном вау эффекта не произвело, всё остальное все видели в рекламах с этим Liquid Glass

Из интересного, вот вам очень крутой шоукейс с жидким стеклом в Web
https://frontendmasters.com/blog/liquid-glass-on-the-web/

Жаль работает пока только в хроме, но думаю что скоро веб еще сильнее притеснит декстопную разработку, если решат проблему с производительностью интерфейсов (и криворукость React разработчиков 🤫)
Please open Telegram to view this post
VIEW IN TELEGRAM
Не, ну эт конечная
useMemo меняющий стейт...

К концу недели ждите меня седым от этого рефакторинга
У грока вывалилось. Будто он кастомные теги как-то рендерит при ответе, как у гемини форматирование съехало
Но у гемини markdown обычный в рантайме рендерится, а тут какие-то shdow-dom элементы будто какие-то

<grok-card data-id="3ebbee" data-type="citation_card"></grok-card><grok-card data-id="c9e6f5" data-type="citation_card"></grok-card>

- Здесь `ItemsService` инициализируется внутри метода, с передачей `schema` и `accountability` из контекста. Это avoids проблемы с экспортами типов.
- Для generics: Используй пакеты вроде `directus-extension-models` или `directus-typescript-gen` для генерации типов из схемы Directus (например, `OrderType` на основе полей коллекции 'orders').<grok-card data-id="5e3122" data-type="citation_card"></grok-card><grok-card data-id="c664b2" data-type="citation_card"></grok-card> Или `indirectus` для typed ItemsService.<grok-card data-id="647f57" data-type="citation_card"></grok-card>
- В hooks аналогично: register-функция получает context, и ты его передаёшь в свой сервис.<grok-card data-id="e2de1b" data-type="citation_card"></grok-card>

Если нужно больше деталей по типам, посмотри исходники Directus<a href="https://github.com/directus/directus/tree/main/packages/types" target="_blank" rel="noopener noreferrer nofollow"></a> или discussion #20670 на GitHub — там предлагают augment Express.Request для добавления типов вроде accountability.<grok-card data-id="4cc466" data-type="citation_card"></grok-card> Если у тебя конкретная версия Directus, уточни — типы могли измениться.
Media is too big
VIEW IN TELEGRAM
AppWrite
#AppWrite

настроил наконец по чуть-чуть, небольшими шагами
Вроде полностью всё работает

Даже сертификаты для сайтов заработали, но надо CNAME добавлять в домен, ждать какое-то время чтоб сертификат выпустился
На showcases уже подхватило

Там и локальное хранилище S3 like, и база данных с реалтаймом, с ролями, своим сервисом авторизации с кучей интеграций oauth, серверлесс функции

И чо интересно - еще и хостит сайты с автодеплоем

Запускается одним правильным заполнением кнфига и командой в терминале

Буду на нем хостить свои проекты, на своем сервере вместо Vercel, который сегодня кстати не работает))
This media is not supported in your browser
VIEW IN TELEGRAM
Любят в Apple с фотками что-то мудрить

Сначала HDR в 5S из трех фото склеивали, потом Live Photo, сейчас вот Spatial Scene добавили
Как сравнить цвета?

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

Я лично считаю что точное сходство с макетом вообще не критично, при использовании tailwind без настроек, если по всему проекту копипастой прописаны цвета шрифтов и тп инлайном в класса.

В таком случае можно относительно быстро коротким перебором вычислить самый подходящий цвет из темы библиотеки
В таком случае оч удобно оказалось попросить сделать "Калькулятор расстояния цветов" у claude sonnet 4 и через 15 секунд есть персонифицированное решение под задачу (В моем случае достаточно именно hex ввода)
🫡 I'm Done.
Please open Telegram to view this post
VIEW IN TELEGRAM
Не, ну есть же разника в читаемости даже с тем же Tailwind при использовании общих стилизованных компонентов и не использованием?

Как можно было вообще написать проект без компонентов??? 🫠
Эт я еще молчу, что можно без clsx было стилизовать disabled и что часть классов я уже переписал через поиск и замену
h-[64px] было повсеместным решением
Media is too big
VIEW IN TELEGRAM
С каких пор у GPT лимиты такие огромные?

Я нагуглил что голосовой чат у него 10 минут в день на бесплатном тарифе, но я сегодня как минимум час в нём провел, может полтора 🫣
Там ещё в конце два deep research параллельных, тк думал что один получилось остановить, так что можно добавить в лимиты ещё две простыни текста.. 🤯


Может ночью лимиты свободнее?
Spec-Driven Development
#SDD

Звучит интересно, особенно сейчас, когда спецификацию не нужно вылизывать самостоятельно, достаточно чётко технически описать требования, а опишет их AI

https://github.com/Fission-AI/OpenSpec
Надобно опробовать, тк главное преимущество которое описывает автор заключается в сохранении контекста задачи между чатами, даже, если модель ошибется и пойдёт по неправильному пути.
Придется так же перезапустить чат, но прогресс и план разработки будет зафиксирован в спецификации.

Нашел в реддите, пока фид курсора листал
https://www.reddit.com/r/cursor/s/yW88wO1qcH