Category : javascript

javascript
Как я запрограммировала собственный рукописный шрифт

У меня нередко бывает, что я решу не увлекаться слишком сильно какой-то затеей, но в итоге всё равно в неё погружаюсь. Так было и на этот раз. Недавно я создала на JavaScript собственный блочный шрифт, решив, что запрограммировать слитное рукописное письмо будет слишком сложно. Но не прошло и двух месяцев, как вот я здесь и готова рассказать о созданном мной механизме слитного письма. Пожалуй, в этом есть свой урок, но мы в его смысл углубляться не станем. ▍ Блочный шрифт Предыдущая моя ста…

  • суббота, 25 мая 2024 г. в 00:00:10
javascript
@ts-expect-error иногда не лучше @ts-ignore

Всем уже давно понятно, что вместо директивы @ts-ignore следует использовать директиву @ts-expect-error. Пригождается она даже самым квалифицированным и педантичным разработчикам, например, чтобы временно заглушить ложную ошибку типов из кривого @types/* пакета.Однако, далеко не все знают, что обе директивы одинаково опасны, если использовать их неосторожно, ведь заглушить ими можно не только ошибки типов, но и откровенно невалидный синтаксис, который гарантированно приведет к выбросу исключени…

  • пятница, 24 мая 2024 г. в 00:00:08
javascript
Как написание своего плагина может поменять то как вы пишете код

Привет, я — Лёша, и я люблю веб. Иногда это даже взаимно.В жизни часто бывает, что едва ты начинаешь думать, что наконец стал разбираться в чём-то, что-нибудь происходит и оно говорит тебе: “Нет”. И это не всегда плохо.Например, я думал, что более-менее знаю, как нужно писать код, пока не написал свой плагин. И это очень сильно поменяло мой подход к программированию.Код — это продукт, программисты — его пользователиПри создании плагина ты словно запускаешь стартап на минималках: нужно понять св…

  • пятница, 24 мая 2024 г. в 00:00:07
javascript
Демо City In A Bottle – система рейкастинга в 256 байтах

Привет всем любителям size coding, сегодня я расскажу о чём-то потрясающем: крошечном движке трассировки лучей (raycasting) и генераторе города, умещающихся в автономном файле HTML размером 256 байтов.В этом посте я поделюсь секретами работы этой волшебной программы. Вот видео результата из моего твита:Возможно, вы уже видели этот пост в моём Twitter. После публикации два года назад он стал самым популярным моим твитом.В этой потрясающей программе используется множество разных концепций, а их р…

  • пятница, 24 мая 2024 г. в 00:00:06
javascript
37 Советов от Senior Frontend Разработчика. Для начинающих

Мне очень понравился пост abbeyperini, и я решил поделиться своими советами после более чем 5-летнего опыта работы разработчиком программного обеспечения.Готовы? Давайте погрузимся 💪.1. Освойте основыДом, построенный на шатком фундаменте, развалится при малейшей проблеме.Аналогично, если у вас нет прочных основ:Вы будете испытывать трудности с JavaScript-фреймворкамиВы застрянете на первой незнакомой задачеВы не сможете уловить общие темы между некоторыми задачамиИтак, если вы хотите совершенст…

  • среда, 22 мая 2024 г. в 00:00:16
javascript
Как мне взбрело в голову свой Notion-like редактор написать

ВведениеМне в голову пришла идея пет-проекта, который изначально никак не был связан с текстовым редактором. Однако, в процессе работы все дошло до того, что пользователям нужно где-то набирать текст. Я люблю Notion и пишу там много и часто, поэтому решил сделать похожий (но сильно упрощенный) редактор в своём проекте. Не столько из нужды, сколько из любопытства, ведь я никогда не занимался ничем подобным и мало что знал о том, как писать текстовые редакторы.В статье хочу рассказать про атрибут…

  • среда, 22 мая 2024 г. в 00:00:16
javascript
Создание собственного графического клиента ChatGPT с помощью NextJS и Wing

P. S:К концу этой статьи вы создадите и развернете клиент ChatGPT с помощью Wing и Next.js.Это приложение может запускаться локально (в локальном облачном симуляторе) или развертываться у вашего собственного облачного провайдера.ВведениеСоздание клиента ChatGPT и его развертывание в вашей собственной облачной инфраструктуре - это хороший способ обеспечить контроль над вашими данными.Развертывание LLM в собственной облачной инфраструктуре обеспечивает конфиденциальность и безопасность вашего про…

  • среда, 22 мая 2024 г. в 00:00:14
javascript
Как я делал шрифтовые иконки. Совмещаем желание UX-дизайнеров и возможности фронтендеров

Привет, Хабр! Меня зовут Артём Поморцев. Я фронтенд-разработчик компании «Криптонит» и хочу поделиться своим опытом создания набора иконок (icon pack).Скажу сразу, что иконочные шрифты не всегда являются наиболее эффективным и надёжным вариантом, но они по-прежнему относительно просты и легки в реализации.ПроблемаНаша проблема заключалась в том, что мы переходили на новый дизайн. Тогда мы работали с фреймворком blueprint.js, и он не всегда отвечал требованиям UX-дизайнеров. Также было желание с…

  • среда, 22 мая 2024 г. в 00:00:13
javascript
Supercat Store — новый менеджер состояний на JavaScript

Всем привет! На связи Supercat и я хочу рассказать о менеджере состояний Supercat Store. Supercat Store - это JavaScript-библиотека, которая позволяет легко отслеживать и реагировать на изменения стейта приложения или его части.Коротко о Supercat Store:Легковесная: 12 kB - minified, 3.8 kB - minified + gzipped;Не зависит от фреймворков, агностик;Можно создавать столько сторов, сколько нужно;Использует мутабельную систему реактивности;Применяются ленивые вычисления для computed;Поддержка мгновен…

  • воскресенье, 19 мая 2024 г. в 00:00:16