Category : javascript

javascript
Простой мини-чат на FastApi: Современный интерфейс, вебсокеты и SQLAlchemy с деплоем

Привет, друзья! Сегодня я подготовил для вас увлекательную практическую статью о создании мини-чата на FastApi. Мы погрузимся в мир вебсокетов, узнаем, зачем они нужны и как применяются в реальных приложениях. Также я продемонстрирую работу с асинхронной SQLAlchemy на примере взаимодействия с базой данных SQLite.Для создания современного интерфейса мы обратимся к интересному и бесплатному сервису Websim.ai, который за пару минут сгенерирует нам интерфейс, включая страничку для входа/регистрации…

  • вторник, 1 октября 2024 г. в 00:00:04
javascript
Система типов и настройки

ПредисловиеНаписать заметку меня побудила статья Как устроена система типов typescript и собственный опыт.Я обратил внимание, что не всегда понимал семантику "extends" в разных контекстах и влияние настроек языка.В результате, то что меня смущало, оказалось рабочим поведением языка, но при этом непредсказуемым и небезопасным.ВведениеДля демонстрации я выбрал простое объединение string | number, которое буду помещать в различные контексты.Пример 1:type TA = number | string type TB = stri…

  • вторник, 1 октября 2024 г. в 00:00:04
javascript
Создание гиперкуба с помощью Three.js: как увидеть четвертое измерение?

Задавались ли вы когда-нибудь вопросом, можно ли выйти за рамки привычных трёх измерений? Мы привыкли видеть мир в 3D: кубы, сферы, пирамиды — все эти объекты легко вообразить и визуализировать. Но что, если мы попробуем заглянуть в четвёртое измерение? Это звучит как научная фантастика, но в мире математики и компьютерной графики всё возможно.Сегодня я расскажу вам, как создать интерактивный гиперкуб, или тессеракт — четырехмерный аналог обычного куба. Мы будем использовать Three.js, популярну…

  • понедельник, 30 сентября 2024 г. в 00:00:05
javascript
Как я создал тренажер для таблицы умножения: опыт разработки, сложности и MidJourney для UI

Пришло время дочке учить таблицу умножения, и я не смог найти нормальных тренажеров. В итоге, пара часов работы над программной частью и день работы над UI/UX вылились в полноценный проект для Яндекс.Игр.Стартовое окноВведениеМоя идея была простой — создать понятный и удобный тренажер для изучения таблицы умножения. Но, как это часто бывает, реализация оказалась гораздо сложнее, чем задумывалось. Самым трудным и интересным оказалось создание масштабируемого интерфейса, который бы корректно выгл…

  • понедельник, 30 сентября 2024 г. в 00:00:04
javascript
Слово this: управление контекстом выполнения в JavaScript

Привет, Хабр! Сегодня мы поговорим о this, потому что без четкого понимания, как работает this, ваш код может стать источником путаницы и ошибок.this в JS — это ключевое слово, которое ссылается на текущий контекст выполнения. Его значение зависит от того, где и как была вызвана функция, а не от того, где она была определена.В этой статье мы разберем все способы работы с контекстом выполнения, чтобы вы могли уверенно использовать this в любом сценарии.Разные контексты thisГлобальный контекст: п…

  • воскресенье, 29 сентября 2024 г. в 00:00:08
javascript
Object.freeze и Object.seal в JS

Привет, Хабр!Сегодня рассмотрим такие инструменты в JS, как Object.freeze и Object.seal. С помощью них можно установить надежный контроль над объектами, защитив их от нежелательных изменений. Как работают Object.freeze и Object.sealObject.freezeObject.freeze предотвращает любые изменения объекта. Это означает, что вы не сможете:Добавлять новые свойства.Удалять существующие свойства.Изменять значения уже существующих свойств.Посмотрим на пример:const user = { name: "Artem", age: …

  • суббота, 28 сентября 2024 г. в 00:00:09
javascript
Как мы делали просмотрщик BIM-моделей: взлеты, падения и уроки

Привет, Хабр! Если вы открыли эту статью, вероятно, вам интересна разработка BIM‑приложений, а конкретно — просмотрщиков 3D‑моделей (Viewer). Возможно, у вас уже есть свое BIM‑приложение, и вы столкнулись с трудностями, или вы только планируете начать разработку и собираете информацию. В любом случае, вы попали по адресу.Я расскажу вам историю о том, как мы создавали наш 3D Viewer, какие подводные камни встретились на пути, и какие уроки мы извлекли. Поехали!Выбор технологии: своя разработка vs…

  • суббота, 28 сентября 2024 г. в 00:00:07
javascript
UI- система или хроники Хаоса

Всем доброго времени суток. Давно я что-то ничего не писал, и вот созрел. Предлагаю сегодня поговорить о ui-системе. Зачем она нужна, когда она нужна, что дает, какие минусы имеет и вообще стоит ли ввязываться в это блуд.  Я часто слышу на разных конференциях, что панацея от всех болезней в бизнесе  —  это наличие дизайн-системы (ui-системы). Что, как только вы достигаете ее, то сроки сокращаются в 100500 раз. Что разработчики не хотят открутить голову дизайнерам, и, наоборот, что качество прод…

  • суббота, 28 сентября 2024 г. в 00:00:06
javascript
Компилируем и выполняем C на JavaScript

Мир работает на C. Этот язык лежит в основе сжатия файлов, сетевых взаимодействий и даже браузера, в котором вы читаете эту статью. Если код не написан на C, он всё равно взаимодействует с ABI, написанном на C (речь о C++, Rust, Zig, т.д.) и доступен в виде библиотеки на C. Язык C и C ABI — это прошлое, настоящее и будущее системного программирования. Вот почему мы разработали Bun v1.1.28, в которой предлагаем экспериментальную поддержку компиляции и выполнения нативного C из JavaScript hello…

  • суббота, 28 сентября 2024 г. в 00:00:05