Category : javascript

javascript
Nuxt I18n Micro: Как я решил написать свой i18n для NuxtJS

Nuxt I18n MicroВсем привет!Я занимаюсь разработкой на Nuxt с самого его появления, и у меня возникла очень большая проблема с реализацией i18n. Давайте по порядку.Чем плох модуль nuxtjs/i18n:значительно возрастает время сборкибольшой вес бандлаогромный роутинг на крупных проектахмедленная работаПытаясь хоть как-то решить эти проблемы, я начал создавать пулреквесты в оригинальный модуль. К сожалению, приняли только один, остальные просто повисли. Автор пытается интегрировать какие-то странные ре…

  • вторник, 3 декабря 2024 г. в 00:00:06
javascript
Onlyoffice и Р7 офис: макросы на Javascript (туториал)

Всем привет, я – Виталий Квитковский, руководитель программистов в небольшой государственной компании. В этом туториале я расскажу про базовые возможности написания макросов в программе "Р7 офис" – российском пакете, являющемся ответвлением Onlyoffice. Я пробовал запускать код в обеих программах, он работает одинаково. Есть некоторые отличия в деталях интерфейса, но в целом базовые функции работают одинаково.Главная причина, почему мне так нравятся макросы в этих пакетах – я веб-разрабо…

  • вторник, 3 декабря 2024 г. в 00:00:06
javascript
Призываю переименовать Layers в Feature-Sliced Design методологии

В статье я сначала коротко объясню, как лично я понимаю и использую FSD, для тех, кто не знаком с ней, или знаком, но хочет сравнить с чужим видением.Однако, пишу я это в основном для того, чтобы обратить ваше внимание, что названия Layers подобраны не по алфавиту, и лично мне это мешает. Подумайте, может и вам мешает. На мой взгляд, их стоит переименовать в алфавитном порядке, даже жертвуя смыслом, чтобы они лучше отображались в файловой структуре проекта.Краткий экскурс в FSDFSD - это популяр…

  • понедельник, 2 декабря 2024 г. в 00:00:07
javascript
AJAX-запросы в Django на примере простейшего приложения сбора и показа сообщений

ПредисловиеВеб-разработчики часто сталкиваются с необходимостью динамически обновлять страницы без полной перезагрузки. С этим хорошо справляется технология ассинхронного обмена данными AJAX, однако я не нашел на просторах интернета простого мануала использования AJAX и решил создать его сам. В этой статье я собираюсь подробно показать взаимодействие фронтенда с AJAX и бекенда с Django, ограничившись минимумом кода. Статья больше рассчитана на новичков и станет отличной базой для дальнейшего ра…

  • понедельник, 2 декабря 2024 г. в 00:00:06
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