Category : javascript

javascript
Как я создал Vanilla Calendar Pro — легкий и гибкий календарь на JavaScript с использованием TypeSc…

Превью Vanilla Calendar Pro v3Привет, Habr!Честно говоря, долго сомневался, стоит ли писать эту статью. Я понимаю, что среди комментариев наверняка будут такие, кто скажет: «Очередной никому не нужный датапикер». Но сегодня, когда Vanilla Calendar Pro собрал больше 480 звезд на GitHub и получает 17 тысяч скачиваний в месяц, я решил поделиться своей историей.Хочу сразу отметить: я не претендую на лавры лучшего разработчика календарей и датапикеров. Эта статья о моем первом опыте в open source, о…

  • суббота, 30 ноября 2024 г. в 00:00:13
javascript
JavaScript. Как сделать невероятно быстрый многопоточный Data Grid на 1 000 000 строк. Часть 1/2: н…

Demo | GitHubРисунок 1. Data Grid на 1 000 000 строк Особенности Fast Data Grid:Невероятно быстрыйМногопоточныйВсего 523 строчки кодаНет зависимостейVanilla JavaScriptПопробуйте скролл и поиск по 1 000 000 строк — Fast Data Grid.В статье перечислю нюансы работы с DOM. Про многопоточность в следующей статье.Чем меньше DOM - тем лучше. Изменить содержимое DIV быстрей чем удалить DIV и создать новыйБраузер медленно отрисовывает большое DOM-дерево. 1 000 000 строк высотой 20 px браузер вообще не на…

  • суббота, 30 ноября 2024 г. в 00:00:10
javascript
Как спрятать любые данные в PNG

Настало время открыть Америку! Меня действительно удивило предельно малое кол-во информации на данную тему. Будем исправлять.И так, сразу к делу! Что нам нужно знать, чтобы спрятать что-то внутри PNG картинки?Нам нужно знать, что PNG внутри себя хранит информацию о каждом пикселе. В каждом пикселе в свою очередь 3 канала (R, G, B), которые описывают цвет и один альфа-канал, который описывает прозрачность.LSB (Least Significant Bit) — младшие биты, которые мы можем использовать для своих темных …

  • пятница, 29 ноября 2024 г. в 00:00:06
javascript
Пишем плагины для Obsidian. Часть 2

Продолжаем писать собственные плагины для Obsidian. Первую часть статьи можете найти здесь. В ней мы:Выяснили, что можно писать плагины даже проще, чем это предлагает делать официальная документацияНаписали три маленьких плагина, которые уже вовсю используются на продакшене лично мнойГрозились написать четвертый финальный босс-плагинВот и приступим.Плагин 4. Chess Viewer. ИдеяЯ не шахматист, но интересуюсь :) У меня есть заметки с шахматными зарисовками. И я определенно не один такой, поскольку…

  • пятница, 29 ноября 2024 г. в 00:00:03
javascript
Отслеживание позиций торгового робота Московской биржи через CSV файл

Нахожусь в процессе написания механизма торгового робота, работающего на Московской бирже через API одного из брокеров. Брокеров имеющих своё АПИ для МосБиржи катастрофически мало — мне известно только о трёх. При этом, когда я стал публиковать модули робота (и полностью выложу готовый механизм робота на GitHub), то стал получать непонимание — например, мне писали в комментариях — зачем придумывать велосипед, когда уже есть QUIK — популярная российская платформа для биржевых торгов. В Квике уже…

  • четверг, 28 ноября 2024 г. в 00:00:06
javascript
Типизация свойства объекта в виде строки

ВведениеВсе так или иначе сталкивались с функцией или методом, которая принимает объект и свойство в виде строки с которым нужно что-то сделать. Пример:updateDate(user, "date");И когда изменяются свойства объекта (user.date → user.birthday), компилятор его нормально скомпилирует и мы лишаемся возможности отловить баг на стадии разработки.ПроблемаЧто в рабочих, что в пет-проектах, использую библиотеку Element plus. У него есть компонент ElTable c атрибутом date, принимающий список объект…

  • четверг, 28 ноября 2024 г. в 00:00:05
javascript
Эффект матового стекла для веба

В процессе разработки UI для игр Forza Horizon 3 и Forza Motorsport 7 я имел возможность поработать с потрясающими акриловыми матовыми элементами дизайна. Вот пример из Horizon 3:Вдохновлённый этим дизайном, я захотел создать похожий эффект при помощи HTML. В этом посте я расскажу о своих попытках создания красивого эффекта стекла, а также представлю пример кода и ассетов для тех, кто захочет попробовать реализовать эту методику самостоятельно. Вот как выглядит готовый результат:Готовый кодПреж…

  • четверг, 28 ноября 2024 г. в 00:00:04
javascript
Пишем плагины для Obsidian. Часть 1

ВступлениеПосле шумихи с Notion все ринулись кто куда, но так сложилось, что по большей части все стали смотреть в сторону Obsidian. И Хабр заполонили статьи про Obsidian и про плагины для Obsidian.Правда, к моему сожалению на техническом ресурсе Хабр я почему-то не нашел ни одной статьи о том, как написать свой собственный плагин, а не как использовать кем-то созданные решения. Я считаю это либо досадным недоразумением либо своим неумением использовать поиск Хабра. Накидайте мне в комментарии,…

  • четверг, 28 ноября 2024 г. в 00:00:03
javascript
Нужно ли онлайн-образование сейчас? В IT, по крайней мере

Предупреждаю, это будет относительно большая статья. Но советую дочитать до конца, особенно тем, кто сейчас учится или думает о построении плана обучения и своей дороги в программировании в целом. Этот пост основан на моем опыте: расскажу, как я нашел первую работу и обучался.Можно сказать, это «краткое резюме» моей 9-летней карьеры в IT в качестве frontend разработчика. Обязательно будет интересно! Даже если местами будет казаться скучно, продолжайте читать — оно того стоит.В нашем чате в теле…

  • среда, 27 ноября 2024 г. в 00:00:07