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
This media is not supported in your browser
VIEW IN TELEGRAM
И снова React!
Простая библиотека для уведомлений

Сижу подучиваю его, по случаю выхода Tauri v2 из beta!
Rust базово уже знаю, а большая часть работы у меня в любом случае пока ожидается с веб технолиями или фронтом, по Rust я только мелкие задачки буду брать, и делать интерфейс им на React!

Ну а на видео - полностью самописная стилизованная на css modules библиотека, если можно так выразиться.

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

Сначала я чуть не изобрел заново Class Components, при этом не используя реальные классовые компоненты, и даже заставил это вё дело работать.
Под шумок смог реализовать возможность вызова экземпляров класса, будто это функция, как в PHP и Python.
Выложил сниппет в gist.
Достаточно вернуть toCallable(this) из конструткора любого класса, и реализовать ему метод call

Но меня остановил TypeScript, когда я уже смог типизировать абсолютно все свои извращения, но он мне не дал возможности создать тип, который бы представлял из себя смесь объекта и функции.
За что я его люблю, это за две вещи:
• Сильно прокачивает IDE, в плане подсказок кода (и AI ассистенты гораздо лучше тебя понимают)
• И ты если пошел не в ту сторону, если в своем уме, в процессе поиска решения и постоянного рефатокринга, рано или поздно задумаешься "А прав ли я?"

ЗЫ.
Исходники выложу если попросите.


#react #JavaScript #TypeScript
👍1
Cododel.dev | Александр
И снова React! Простая библиотека для уведомлений Сижу подучиваю его, по случаю выхода Tauri v2 из beta! Rust базово уже знаю, а большая часть работы у меня в любом случае пока ожидается с веб технолиями или фронтом, по Rust я только мелкие задачки буду…
Media is too big
VIEW IN TELEGRAM
Закончил полный цикл разработки Уведомлений на React

Интересный опыт.
Получилось закрыть дыры знаний в CSS анимации и узнать много нового о React.

В с последнего поста:
- Полностью переработана и оптимизирована анимация
- Оптимизирована работа с данными
- Переработан программный интерфейс вызова и работы с уведомлениями
- Разработан провайдер контекста, для возможности использования уведомлений в любом месте приложения
- Исправлена и переаботана структура библиотеки так, что теперь не ломает HMR
- Сохранена возможность использовать библиотеку без использования провайдера контекста

С исходниками можно ознакомиться тут

Позже хочу оформить как полноценную библиотеку и залить в NPM, так что пока просто файлы, без мусора.

#react #JavaScript #TypeScript
👍1
Cododel.dev | Александр
Наткнулся на видео, в котором раскрыты существенные нюансы по Rust. И я действительно их считаю существенными, потому чо похожий опыт был с фреймворками и другими языками... (Самый банальный пример, но довольно похожий, это React vs Svelte, у второго комьюнити…
🖼️ Бинарники, RUST и JavaScript (Bun)

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

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

Так сейчас я вспомнил один факт!
У JavaScript - есть шикарнейшая среда выполнения Bun, предоставляющая еще и набор довольно интерсных инструментов.
Полностью о нём пока не стану рассказывать, суть не в этом, а в возможности компиляции кода в бинарник. При этом, нечто подобное есть и в последних версиях NodeJS в виде патчинга бинарника интерпретатора JavaScript кодом (упоминалось начиная с 16, если не ошибаюсь).
Но в Bun умеет в рантайм исполнения TypeScript без необходимости сборки проекта в JavaScript. А ещё говорят, что есть возможность оптимизации этого TS/JS в байткод.

Но я вижу, что Bun явно в проигрыше по памяти, а производительность и не ставил под сомнение, Rust шустрее.
На скрине можно увидеть, что такой скрипт занимает 20Mb RAM, а сам по себе весит 57Mb:

setInterval( () => {
console.log(Date.now());
}, 1000);


Но!
Мне никогда и не требовалась производительность. У меня в приоритете скорость и удобство разработки.
А в NPM я помню, есть огромное разнообразие отличных библиотеки для CLI.
И упаковав это всё дело в бинарник весом ±60-120Mb — останется просто его закинуть на сервер, запустить, выбрать что нужно установить, И..(!)
Пойти пить чай на минут 15
(вместо 20-60 минут настройки сервера - мы тратим 5 минут и пьем чай 10-20, и это при наличии опыта, новичкам сильно больше сэкономит времени)

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

А ещё, для шарящих —бонусом к Cursor я взял в работу проект, на котором будет расширение для бразуера на React в WXT и бекендом на AppWrite
Так что будет чего интересного рассказать и обсудить


#NodeJS #Bun #Rust #JavaScript #TypeScript #Linux
Please open Telegram to view this post
VIEW IN TELEGRAM
Cododel.dev | Александр
Закончил полный цикл разработки Уведомлений на React Интересный опыт. Получилось закрыть дыры знаний в CSS анимации и узнать много нового о React. В с последнего поста: - Полностью переработана и оптимизирована анимация - Оптимизирована работа с данными…
This media is not supported in your browser
VIEW IN TELEGRAM
Сегодня приспичило жестко разобраться с контекстом в React
За основу взял проект с уведомлениями, тк там был и контекст, и срач

Ну вот навёл порядок, подцепил RSBuild, отрефакторил весь проект

А так же получил несколько консультаций у ИИ модельки в Cursor
(они кстати сейчас оч умные, по дефолту в режиме агента, и можно разрешить гуглить самостоятельно, а не по просьбе)


С исходниками можно ознакомиться тут

#react #JavaScript #TypeScript