В статье я сначала коротко объясню, как лично я понимаю и использую FSD, для тех, кто не знаком с ней, или знаком, но хочет сравнить с чужим видением.Однако, пишу я это в основном для того, чтобы обратить ваше внимание, что названия Layers подобраны не по алфавиту, и лично мне это мешает. Подумайте, может и вам мешает. На мой взгляд, их стоит переименовать в алфавитном порядке, даже жертвуя смыслом, чтобы они лучше отображались в файловой структуре проекта.Краткий экскурс в FSDFSD - это популяр…
ПредисловиеВеб-разработчики часто сталкиваются с необходимостью динамически обновлять страницы без полной перезагрузки. С этим хорошо справляется технология ассинхронного обмена данными AJAX, однако я не нашел на просторах интернета простого мануала использования AJAX и решил создать его сам. В этой статье я собираюсь подробно показать взаимодействие фронтенда с AJAX и бекенда с Django, ограничившись минимумом кода. Статья больше рассчитана на новичков и станет отличной базой для дальнейшего ра…
Превью Vanilla Calendar Pro v3Привет, Habr!Честно говоря, долго сомневался, стоит ли писать эту статью. Я понимаю, что среди комментариев наверняка будут такие, кто скажет: «Очередной никому не нужный датапикер». Но сегодня, когда Vanilla Calendar Pro собрал больше 480 звезд на GitHub и получает 17 тысяч скачиваний в месяц, я решил поделиться своей историей.Хочу сразу отметить: я не претендую на лавры лучшего разработчика календарей и датапикеров. Эта статья о моем первом опыте в open source, о…
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 браузер вообще не на…
Настало время открыть Америку! Меня действительно удивило предельно малое кол-во информации на данную тему. Будем исправлять.И так, сразу к делу! Что нам нужно знать, чтобы спрятать что-то внутри PNG картинки?Нам нужно знать, что PNG внутри себя хранит информацию о каждом пикселе. В каждом пикселе в свою очередь 3 канала (R, G, B), которые описывают цвет и один альфа-канал, который описывает прозрачность.LSB (Least Significant Bit) — младшие биты, которые мы можем использовать для своих темных …
Продолжаем писать собственные плагины для Obsidian. Первую часть статьи можете найти здесь. В ней мы:Выяснили, что можно писать плагины даже проще, чем это предлагает делать официальная документацияНаписали три маленьких плагина, которые уже вовсю используются на продакшене лично мнойГрозились написать четвертый финальный босс-плагинВот и приступим.Плагин 4. Chess Viewer. ИдеяЯ не шахматист, но интересуюсь :) У меня есть заметки с шахматными зарисовками. И я определенно не один такой, поскольку…
Нахожусь в процессе написания механизма торгового робота, работающего на Московской бирже через API одного из брокеров. Брокеров имеющих своё АПИ для МосБиржи катастрофически мало — мне известно только о трёх. При этом, когда я стал публиковать модули робота (и полностью выложу готовый механизм робота на GitHub), то стал получать непонимание — например, мне писали в комментариях — зачем придумывать велосипед, когда уже есть QUIK — популярная российская платформа для биржевых торгов. В Квике уже…
ВведениеВсе так или иначе сталкивались с функцией или методом, которая принимает объект и свойство в виде строки с которым нужно что-то сделать. Пример:updateDate(user, "date");И когда изменяются свойства объекта (user.date → user.birthday), компилятор его нормально скомпилирует и мы лишаемся возможности отловить баг на стадии разработки.ПроблемаЧто в рабочих, что в пет-проектах, использую библиотеку Element plus. У него есть компонент ElTable c атрибутом date, принимающий список объект…
В процессе разработки UI для игр Forza Horizon 3 и Forza Motorsport 7 я имел возможность поработать с потрясающими акриловыми матовыми элементами дизайна. Вот пример из Horizon 3:Вдохновлённый этим дизайном, я захотел создать похожий эффект при помощи HTML. В этом посте я расскажу о своих попытках создания красивого эффекта стекла, а также представлю пример кода и ассетов для тех, кто захочет попробовать реализовать эту методику самостоятельно. Вот как выглядит готовый результат:Готовый кодПреж…