Вы когда-нибудь работали с куки? Казалось ли вам при этом, что их использование организовано просто и понятно? Полагаю, что в работе с куки есть множество нюансов, о которых стоит знать новичкам.
Рубрика «ruvds_перевод» - 38
Паттерны отложенной инициализации свойств объектов в JavaScript
2021-05-16 в 11:58, admin, рубрики: javascript, ruvds_перевод, Блог компании RUVDS.com, Разработка веб-сайтовАвтор статьи, перевод которой мы публикуем сегодня, хочет рассказать о нескольких JavaScript-паттернах, направленных на отложенную инициализацию свойств объектов, для выполнения которой требуется произвести вычисления, создающие серьёзную нагрузку на систему. В основе всех этих паттернов лежит использование дескрипторов доступа — свойств объектов, описываемых парой функций — геттером и сеттером.
Shell-скрипт, который удалил базу данных, и история о том, как ShellCheck мог бы помочь это предотвратить
2021-05-16 в 8:02, admin, рубрики: linux, ruvds_перевод, shell script, Блог компании RUVDS.com, системное администрированиеСегодня хочу рассказать об одном случае из жизни, когда невинная ошибка при написании скрипта командной оболочки привела к удалению базы данных, используемой в продакшне. Расскажу я и о том, как ShellCheck (инструмент для линтинга и анализа скриптов, выходящий под лицензией GPLv3) мог бы обнаружить эту ошибку и предотвратил бы катастрофу. Да, сразу скажу, что я — автор ShellCheck.
Сравнение производительности CSS и CSS-in-JS в реальном мире
2021-05-15 в 14:01, admin, рубрики: css, javascript, ruvds_перевод, Блог компании RUVDS.com, Клиентская оптимизация, разработка, Разработка веб-сайтовТехнология CSS-in-JS заняла прочное место среди инструментов фронтенд-разработки. И возникает ощущение, что CSS-in-JS-тренд в ближайшем будущем лишь усилится. Особенно — в мире React. Например, в исследовании State of CSS, проведённом в 2020 году, приняли участие 11492 человека. Лишь 14,3% из них не слышали о Styled Components (о ведущей CSS-in-JS-библиотеке). А вот пользовались этой библиотекой более 40% участников исследования.
Мне уже давно хотелось найти серьёзный материал, посвящённый сравнению производительности CSS-in-JS-библиотек, вроде Styled Components, и доброго старого CSS. Но я, к сожалению, ничего такого, вроде сравнения их производительности на реальном проекте, а не на каком-то простом наборе тестов, найти не смог. Поэтому я решил сам сделать такое сравнение. Я перевёл реальное приложение со Styled Components на Linaria, на библиотеку, которая выполняет извлечение CSS в файлы во время сборки проекта. В результате в приложении, использующем Linaria, не выполняется генерирование стилей во время работы этого приложения на компьютере пользователя.
Читать полностью »
В bash безобидная с виду конструкция [[ $var -eq 42 ]] умеет выполнять и произвольный код
2021-05-14 в 13:01, admin, рубрики: linux, ruvds_перевод, Блог компании RUVDS.com, информационная безопасность, системное администрированиеЗнали ли вы о том, что следующий bash-скрипт способен выполнять произвольный код, который предоставит ему пользователь в ответ на запрос скрипта о вводе данных?
Заметки о Unix: сильные и слабые стороны errno в традиционных Unix-окружениях
2021-05-09 в 15:02, admin, рубрики: ruvds_перевод, UNIX, Блог компании RUVDS.com, Разработка под Linux, системное администрированиеНедавно я мимоходом отметил, что errno
был, в целом, хорошим интерфейсом в Unix-системах до появления в них многопоточности. Кого-то подобное высказывание может удивить, поэтому сегодня предлагаю поговорить о сильных и слабых сторонах errno
в традиционных Unix-окружениях, таких, как V7 Unix.
Сильной стороной errno
является тот факт, что этот интерфейс представляет собой простейший механизм, способный возвращать несколько значений из системных вызовов C, в которых нет непосредственной поддержки возврата нескольких значений (особенно — в ранних вариантах C). Использование глобальной переменной для «возврата» второго значения — это практически идеал того, что можно сделать в обычном C, если только не планировать передачу из C-библиотеки указателя на каждый системный вызов и функцию, которые собираются возвращать значение errno
(при таком подходе придётся, например, интенсивно пользоваться stdio
). Постоянная передача подобного указателя приводит не только к ухудшению внешнего вида кода. Такой подход увеличивает объём кода, и, из-за использования дополнительного параметра, приводит к повышению нагрузки на стек (или на регистры).
Читать полностью »
Сравнение производительности ASP.NET Core-проектов на Linux и Windows в службе приложений Azure. Продолжение
2021-05-09 в 10:02, admin, рубрики: ASP, azure, linux, Microsoft Azure, ruvds_перевод, windows, Блог компании RUVDS.com, Серверная оптимизация, Серверное администрированиеВ моём предыдущем материале речь шла о сравнении производительности ASP.NET Core-приложений, запускаемых в Windows и в среде Linux + Docker, работающих в службе приложений Azure. Эта тема интересна многим — поэтому я решил написать продолжение.
Я снова провёл испытания, используя подход, отличающийся от прежнего лучшей воспроизводимостью, такой, который даёт более надёжные результаты. Теперь я генерирую веб-нагрузку на серверы с помощью облачных инструментов Azure Cloud Agents, применяя Visual Studio и VSTS. И, более того, в то время как ранее я выполнял тесты с использованием HTTP, теперь тестирование проводилось с применением HTTPS.
Читать полностью »
Сравнение производительности ASP.NET Core-проектов на Linux и Windows в службе приложений Azure
2021-05-08 в 9:46, admin, рубрики: ASP, azure, linux, Microsoft Azure, ruvds_перевод, windows, Блог компании RUVDS.com, Серверная оптимизация, Серверное администрированиеЧто быстрее — ASP.NET Core-приложение, развёрнутое в Docker-контейнере на Linux, или такая же программа, но запущенная на Windows-сервере, учитывая то, что всё это работает в службе приложений Azure? Какая из этих конфигураций предлагает более высокий уровень производительности, и о каком «уровне производительности» можно говорить?