Опорная архитектура Node.js-приложений: рекомендации группы инженеров из IBM и Red Hat по разработке и эксплуатации Node.js-приложений
https://nodeshift.dev/nodejs-reference-architecture/
https://nodeshift.dev/nodejs-reference-architecture/
nodeshift.dev
Node.js Reference Architecture | Node.JS Reference Architecture
Overview
Использование шины событий для межкомпонентного взаимодействия
В данной статье рассматривается использование центрального узла, чтобы разработчики могли в полной мере использовать его потенциал для эффективной разработки на Vue.
https://blog.openreplay.com/using-an-event-bus-for-cross-component-communication/
В данной статье рассматривается использование центрального узла, чтобы разработчики могли в полной мере использовать его потенциал для эффективной разработки на Vue.
https://blog.openreplay.com/using-an-event-bus-for-cross-component-communication/
Openreplay
Using an Event Bus for Cross Component Communication
Learn how to use the Event Bus design pattern for communication among components
Полный стек TypeScript с tRPC и React
Следующий учебник представляет собой пошаговое руководство по созданию небольшого приложения CRUD с помощью Node + Express на сервере и React на клиенте.
https://www.robinwieruch.de/react-trpc/
Следующий учебник представляет собой пошаговое руководство по созданию небольшого приложения CRUD с помощью Node + Express на сервере и React на клиенте.
https://www.robinwieruch.de/react-trpc/
Robin Wieruch
Full-Stack TypeScript with tRPC and React - Robin Wieruch
How to use tRPC with React for full-stack type safety with TypeScript ...
Полное руководство по Web Workers
Web Workers позволяют улучшать производительность приложений за счет вынесения тяжелой логики из основного потока. В статье описаны способы работы с воркерами, а также их ограничения.
https://www.sitepoint.com/developing-faster-javascript-apps-the-ultimate-guide-to-web-workers
Web Workers позволяют улучшать производительность приложений за счет вынесения тяжелой логики из основного потока. В статье описаны способы работы с воркерами, а также их ограничения.
https://www.sitepoint.com/developing-faster-javascript-apps-the-ultimate-guide-to-web-workers
Sitepoint
Develop Faster JS Apps: the Ultimate Guide to Web Workers — SitePoint
Learn why long-running functions in JavaScript are problematic, and how to use web workers to address execution speed issues.
Forwarded from Node.JS [ru] | Серверный JavaScript
🛡Внедрение Guards NestJS. Аутентификация и авторизация на основе ролей
В этой статье рассмотрим наш кейс по внедрению guards для защиты данных от пользователя, который не имеет достаточно прав на их получение и/или изменение.
Читать...
В этой статье рассмотрим наш кейс по внедрению guards для защиты данных от пользователя, который не имеет достаточно прав на их получение и/или изменение.
Читать...
Forwarded from Linux для чайника
Скрипт, выполняющий резервное копирование каталогов и файлов
Замените
Сохраните скрипт в файл, например,
Затем запустите скрипт:
Замените
/path/to/source_directory1 фактическим путем к каталогам и файлам, резервную копию которых вы хотите создать. Аналогичным образом замените /path/to/backup_directory на путь к каталогу, в котором вы хотите хранить файлы резервных копий.Сохраните скрипт в файл, например,
backup_script.sh, и сделайте его исполняемым с помощью следующей команды:chmod +x backup_script.shЗатем запустите скрипт:
./backup_script.shForwarded from FrontEndDev
Регулярные выражения in JavaScript
Синтаксис регулярных выражений и методы работы с ними в JS. Большое руководство с примерами.
https://www.honeybadger.io/blog/javascript-regular-expressions/
Синтаксис регулярных выражений и методы работы с ними в JS. Большое руководство с примерами.
https://www.honeybadger.io/blog/javascript-regular-expressions/
Создание расписания конференции с помощью CSS Grid
https://css-tricks.com/building-a-conference-schedule-with-css-grid/
https://css-tricks.com/building-a-conference-schedule-with-css-grid/
CSS-Tricks
Building a Conference Schedule with CSS Grid | CSS-Tricks
It’s hard to beat the feeling of finding a perfect use for a new technology. You can read every handy primer under the sun and ooh-and-ahh at flashy demos,
Создание календарей с учетом требований доступности и интернационализации
https://css-tricks.com/making-calendars-with-accessibility-and-internationalization-in-mind/
https://css-tricks.com/making-calendars-with-accessibility-and-internationalization-in-mind/
CSS-Tricks
Making Calendars With Accessibility and Internationalization in Mind | CSS-Tricks
Doing a quick search here on CSS-Tricks shows just how many different ways there are to approach calendars. Some show how CSS Grid can create the layout
Книги по Linux для начинающих и профессионалов: выбираем лучшее
https://habr.com/ru/companies/ru_mts/articles/765308/
https://habr.com/ru/companies/ru_mts/articles/765308/
Хабр
Книги по Linux для начинающих и профессионалов: выбираем лучшее
В этой подборке — книги по Linux. В большинстве своём они предназначены для специалистов, но есть что почитать и новичку. Мы постарались собрать самые разные книги — для системных администраторов,...
Forwarded from FrontEndDev
Техника загрузки изображений-плейсхолдеров в низком разрешении
Улучшаем метрики Web Vitals при помощи предзагрузки картинок в плохом качестве.
https://csswizardry.com/2023/09/the-ultimate-lqip-lcp-technique/
Улучшаем метрики Web Vitals при помощи предзагрузки картинок в плохом качестве.
https://csswizardry.com/2023/09/the-ultimate-lqip-lcp-technique/
Forwarded from 🤟 TechRocks: веб-разработка
JavaScript только что добавил новое ключевое слово для создания переменной под названием using. Это ключевое слово является идеальной заменой let и const в определенных сценариях, таких как подключения к базе данных и обработка файлов.
Читать статью
Читать статью
Forwarded from mefody.dev
Очистка кэша и кук на стороне клиента
Как часто вам приходится просить пользователей сервиса перезагрузить страничку, очистить кэш, зайти в инкогнито? В моей практике такое было слишком часто.
По-хорошему, проблему инвалидацию кэша надо решать в самом приложении, а не просить пользователя. Но не просто так на слуху золотая цитата Фила Карлтона: «В информатике всего две сложные вещи: инвалидация кэша и именование сущностей».
В HTTP-заголовках можно найти интересное:
Гарри Робертс советует делать в веб-приложениях отдельную страничку с кнопками «Очистить куки», «Очистить кэш». Так у злоумышленников будет меньше возможностей сбрасывать жертвам ссылки, которые что-то чистят без спросу, потому что можно проверять
https://csswizardry.com/2023/10/clear-cache-on-customer-device/
Как часто вам приходится просить пользователей сервиса перезагрузить страничку, очистить кэш, зайти в инкогнито? В моей практике такое было слишком часто.
По-хорошему, проблему инвалидацию кэша надо решать в самом приложении, а не просить пользователя. Но не просто так на слуху золотая цитата Фила Карлтона: «В информатике всего две сложные вещи: инвалидация кэша и именование сущностей».
В HTTP-заголовках можно найти интересное:
Clear-Site-Data: "cache", "cookies". Сервер может отправить на клиент заголовок, который попросит браузер почистить куки и/или кэш. Работает везде, кроме Safari. То есть вместо того, чтобы просить пользователя что-то сделать в стрессовой ситуации, когда у него что-то не работает, а он девтулзы не открывал никогда до этого, можно сделать всё самим.Гарри Робертс советует делать в веб-приложениях отдельную страничку с кнопками «Очистить куки», «Очистить кэш». Так у злоумышленников будет меньше возможностей сбрасывать жертвам ссылки, которые что-то чистят без спросу, потому что можно проверять
Referer на сервере.https://csswizardry.com/2023/10/clear-cache-on-customer-device/
Csswizardry
How to Clear Cache and Cookies on a Customer’s Device – CSS Wizardry
There’s a super quick and easy way to clear cache on your customers’ devices. Are you using it yet?
Forwarded from Заметки разработчика
Регулярные выражения могут быть пугающими, но это не так! Узнайте все необходимое о регулярных выражениях и их использовании в JavaScript.
Строка — это, пожалуй, самый важный тип данных в программировании; все языки программирования и программное обеспечение в мире так или иначе используют строки. Они позволяют человеку легко общаться со сложными программами и машинами. Одна вещь, которая очень поможет вам как программисту, — это понимание того, как использовать строки и манипулировать ими, чтобы создавать программы, которыми смогут эффективно пользоваться пользователи.
Регулярные выражения позволяют разработчикам выполнять широкий спектр задач по обработке текста, таких как проверка данных, манипулирование строками и извлечение текста, в очень сжатой форме. В этой статье вы узнаете все, что нужно знать о регулярных выражениях, и сможете начать эффективно использовать их в своём JavaScript-коде.
https://www.dev-notes.ru/articles/javascript/regular-expressions/
Строка — это, пожалуй, самый важный тип данных в программировании; все языки программирования и программное обеспечение в мире так или иначе используют строки. Они позволяют человеку легко общаться со сложными программами и машинами. Одна вещь, которая очень поможет вам как программисту, — это понимание того, как использовать строки и манипулировать ими, чтобы создавать программы, которыми смогут эффективно пользоваться пользователи.
Регулярные выражения позволяют разработчикам выполнять широкий спектр задач по обработке текста, таких как проверка данных, манипулирование строками и извлечение текста, в очень сжатой форме. В этой статье вы узнаете все, что нужно знать о регулярных выражениях, и сможете начать эффективно использовать их в своём JavaScript-коде.
https://www.dev-notes.ru/articles/javascript/regular-expressions/
Заметки разработчика
Регулярные выражения в JavaScript
Регулярные выражения могут быть пугающими, но это не так! Узнайте все необходимое о регулярных выражениях и их использовании в JavaScript.
Forwarded from Bash Days | Linux | DevOps (ʜ ᴅ)
Часто люди бездумно засовывают в крон запуск долгоиграющих скриптов и потом ловят кучу багов.
К примеру некий скрипт запускается в кроне каждый час. В какой-то момент, время выполнения скрипта начинает составлять 70 и более минут. Соответственно следующий джоб через 60 минут запустит еще одну копию этого скрипта. И понеслась 3.14зда по кочкам.
Я ловил у ребят подобные перлы, когда сервер просто раком встает, а в фоне крутятся 100500 процессов, которые насилуют mysql как портовую шлюху, вдоль и поперек.
На такие случаи необходимо проверять запущен ли скрипт в данный момент. И если запущен, то при повторном запуске - ничего не делать.
Как такое реализовать? В бест-практиках это реализуется через lock файлы. Для удобства работы с lock файлами, в linux есть коробочный вариант утилиты, которая называется flock.
flock — утилита, которая позволяет использовать лок-файл для предотвращения запуска копии процесса (вашего скрипта, крона или чего-то еще). Например, используя cron нужно быть уверенным, что предыдущий запуск вашего скрипта уже завершен.
Пишем обработчик:
Как только скрипт завершит работу, ты сможешь запустить его повторно.
Сначала создается lock файл если его нет, а далее начинается магия с дескрипторами и логикой.
Вместо sleep можно вставить запуск функции типа main() где и будет основная логика скрипта. Либо вообще через source (или точку) заинклудить свой скрипт. То есть можно сделать универсальную штуку, чтобы в каждый скрипт не пихать flock.
Делаешь один обработчик и передаешь ему параметром путь до скрипта + путь до lock файла. А обработчик через source подгружает уже полезную нагрузку.
Моё решение возможно не самое изящное, но рабочее. Изучай. Слышал что такое можно провернуть каким-то образом через сокеты, но особо не вникал. Если в комментах поделишься, будет очень полезно. Спасибо!
tags: #linux #bash #utils
—
💩 @bashdays
К примеру некий скрипт запускается в кроне каждый час. В какой-то момент, время выполнения скрипта начинает составлять 70 и более минут. Соответственно следующий джоб через 60 минут запустит еще одну копию этого скрипта. И понеслась 3.14зда по кочкам.
Я ловил у ребят подобные перлы, когда сервер просто раком встает, а в фоне крутятся 100500 процессов, которые насилуют mysql как портовую шлюху, вдоль и поперек.
На такие случаи необходимо проверять запущен ли скрипт в данный момент. И если запущен, то при повторном запуске - ничего не делать.
Как такое реализовать? В бест-практиках это реализуется через lock файлы. Для удобства работы с lock файлами, в linux есть коробочный вариант утилиты, которая называется flock.
flock — утилита, которая позволяет использовать лок-файл для предотвращения запуска копии процесса (вашего скрипта, крона или чего-то еще). Например, используя cron нужно быть уверенным, что предыдущий запуск вашего скрипта уже завершен.
Пишем обработчик:
#!/bin/bashЗапускаем скрипт. Ничего полезного он не сделает, просто будет висеть 100 секунд. После того как ты запустил этот скрипт, в соседнем терминале попробуй запустить его же параллельно. В ответ ты получишь ожидаемое - Nice try.
lock="/tmp/bashdays.lock"
[[ -f "${lock}" ]] || touch "${lock}"
(
flock -n -o -x ${fd_lock} || { echo 'Nice try' >&2; exit 0; }
sleep 100
) {fd_lock}<"${lock}"
Как только скрипт завершит работу, ты сможешь запустить его повторно.
Сначала создается lock файл если его нет, а далее начинается магия с дескрипторами и логикой.
Вместо sleep можно вставить запуск функции типа main() где и будет основная логика скрипта. Либо вообще через source (или точку) заинклудить свой скрипт. То есть можно сделать универсальную штуку, чтобы в каждый скрипт не пихать flock.
Делаешь один обработчик и передаешь ему параметром путь до скрипта + путь до lock файла. А обработчик через source подгружает уже полезную нагрузку.
Моё решение возможно не самое изящное, но рабочее. Изучай. Слышал что такое можно провернуть каким-то образом через сокеты, но особо не вникал. Если в комментах поделишься, будет очень полезно. Спасибо!
tags: #linux #bash #utils
—
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Книги для Системного Администратора
Linux. Midnight Commander (mc) горячие клавиши (hot keys)
Сегодня мы поговорим о горячих клавишах (hotkey) Midnight Commander (mc). МС это файловый менеджер, существуют версии под Linux и Windows, мы будем рассматривать хот кей под Linux. Знание комбинаций клавиш позволяет значительно повысить удобство и скорость работы.
https://bookflow.ru/linux-midnight-commander-mc-goryachie-klavishi-hot-keys/
👉 @i_odmin_book
Сегодня мы поговорим о горячих клавишах (hotkey) Midnight Commander (mc). МС это файловый менеджер, существуют версии под Linux и Windows, мы будем рассматривать хот кей под Linux. Знание комбинаций клавиш позволяет значительно повысить удобство и скорость работы.
https://bookflow.ru/linux-midnight-commander-mc-goryachie-klavishi-hot-keys/
👉 @i_odmin_book