diff --git a/README.russian.md b/README.russian.md index 9387a29e..7030112d 100644 --- a/README.russian.md +++ b/README.russian.md @@ -34,7 +34,7 @@

-# Добро пожаловать! 3 вещи, которые вы должны знать в первую очередь: +# Добро пожаловать! 3 вещи, которые вы должны знать в первую очередь **1. На самом деле вы читаете десятки лучших статей Node.js -** этот репозиторий представляет собой краткий обзор и список наиболее популярных материалов по рекомендациям Node.js, а также материалов, написанных здесь соавторами. @@ -46,13 +46,13 @@ ## Оглавление -1. [Практики структуры проекта (5)](#1-Практики-структуры-проекта) -2. [Практики обработки ошибок (11)](#2-Практики-обработки-ошибок) -3. [Практики стиля кода (12)](#3-Практики-стиля-кода) -4. [Тестирование и общие методы контроля качества (12)](#4-Тестирование-и-общие-методы-контроля-качества) -5. [Переход к производственным практикам (18)](#5-Переход-к-производственным-практикам) -6. [Практики безопасности (25)](#6-Практики-безопасности) -7. [Практики эффективности (2) (Работа в процессе️ ✍️)](#7-черновик-практики-эффективности) +1. [Практики структуры проекта (5)](#1-Практики-структуры-проекта) +2. [Практики обработки ошибок (11)](#2-Практики-обработки-ошибок) +3. [Практики стиля кода (12)](#3-Практики-стиля-кода) +4. [Тестирование и общие методы контроля качества (12)](#4-Тестирование-и-общие-методы-контроля-качества) +5. [Переход к производственным практикам (18)](#5-Переход-к-производственным-практикам) +6. [Практики безопасности (25)](#6-Практики-безопасности) +7. [Практики эффективности (2) (Работа в процессе️ ✍️)](#7-черновик-практики-эффективности)

@@ -259,7 +259,7 @@

-##! [✔] 3.3 Начинайте кодовый блок фигурными скобками на той же линии. +## ! [✔] 3.3 Начинайте кодовый блок фигурными скобками на той же линии **TL;DR:** Открывающие фигурные скобки блока кода должны находиться на той же строке, что и оператор открытия. @@ -272,7 +272,7 @@ function someFunction() { } // Избегайте -function someFunction() +function someFunction() { // code block } @@ -284,7 +284,7 @@ function someFunction()

-##! [✔] 3.4 Разделяйте свои выражения правильно +## ! [✔] 3.4 Разделяйте свои выражения правильно Независимо от того, используете ли вы точки с запятой или нет для разделения своих операторов, знание общих ошибок неправильных разрывов строк или автоматической вставки точек с запятой поможет вам устранить обычные синтаксические ошибки. @@ -292,7 +292,7 @@ function someFunction() **Иначе:** Как видно из предыдущего раздела, интерпретатор JavaScript автоматически добавляет точку с запятой в конце оператора, если его нет, или считает, что оператор не завершен, где он должен, что может привести к нежелательным результатам. , Вы можете использовать присваивания и избегать немедленного вызова выражений функций для предотвращения большинства непредвиденных ошибок. -### Пример кода +### 3.4 Пример кода ```javascript // Делайте так @@ -342,7 +342,7 @@ const count = 2 // it tries to run 2(), but 2 is not a function **Иначе:** Javascript -- это единственный язык в мире, который позволяет напрямую вызывать конструктор ("Class") без его инициализации. Следовательно, классы и конструкторы функций должщны различаться, начинаясь с UpperCamelCase. -### Пример кода +### 3.6 Пример кода ```javascript // для класса мы используем UpperCamelCase @@ -384,7 +384,7 @@ function doSomething() {} **Иначе:** Изменение внутренней структуры файлов или подписи может нарушить интерфейс с клиентами. -### Пример кода +### 3.9 Пример кода ```javascript // Делайте так @@ -404,7 +404,7 @@ module.exports.SMSNumberResolver = require("./SMSNumberResolver/SMSNumberResolve **Иначе:** Неравные переменные могут возвращать true при сравнении с оператором `==`. -### Пример кода +### 3.10 Пример кода ```javascript "" == "0"; // false @@ -559,7 +559,7 @@ null == undefined; // true # `5. Переход к производственным практикам` -## ![✔] 5.1. Мониторинг! +## ![✔] 5.1. Мониторинг **TL;DR:** Мониторинг -- это игра для выявления проблем до того, как их решат клиенты, очевидно, этому следует придать беспрецедентную важность. Рынок перегружен предложениями, поэтому подумайте о том, чтобы начать с определения основных метрик, которым вы должны следовать (мои предложения в подробностях), затем перейти к дополнительным необычным функциям и выбрать решение, которое помечает все поля. Нажмите "Подробнее" ниже для обзора решений. @@ -793,7 +793,7 @@ null == undefined; // true

-##! [✔] 6.5. Сборник общих рекомендаций по безопасности +## ! [✔] 6.5. Сборник общих рекомендаций по безопасности **TL;DR:** Это набор рекомендаций по безопасности, которые не связаны напрямую с Node.js -- реализация Node мало чем отличается от любого другого языка. Нажмите "Подробнее", чтобы просмотреть. @@ -837,7 +837,7 @@ null == undefined; // true

-##! [✔] 6.9. Экранируйте вывод HTML, JS и CSS +## ! [✔] 6.9. Экранируйте вывод HTML, JS и CSS @@ -916,7 +916,7 @@ null == undefined; // true -**TL;DR:** `eval` -- это зло, поскольку оно позволяет выполнять пользовательский код JavaScript во время выполнения. Это не только проблема производительности, но и важная проблема безопасности из-за вредоносного кода JavaScript, который может быть получен из пользовательского ввода. Другой языковой особенностью, которую следует избегать, является конструктор `new Function`. `setTimeout` и` setInterval` также никогда не должны передавать динамический код JavaScript. +**TL;DR:** `eval` -- это зло, поскольку оно позволяет выполнять пользовательский код JavaScript во время выполнения. Это не только проблема производительности, но и важная проблема безопасности из-за вредоносного кода JavaScript, который может быть получен из пользовательского ввода. Другой языковой особенностью, которую следует избегать, является конструктор `new Function`. `setTimeout` и`setInterval` также никогда не должны передавать динамический код JavaScript. **Иначе:** Вредоносный код JavaScript находит путь в текст, передаваемый в `eval` или другие функции оценки языка JavaScript в режиме реального времени, и получает полный доступ к разрешениям JavaScript на странице. Эта уязвимость часто проявляется как атака XSS. @@ -1032,7 +1032,7 @@ null == undefined; // true -**TL;DR:** Следует принять меры предосторожности, чтобы избежать риска случайной публикации секретов в открытых реестрах npm. Файл `.npmignore` может использоваться для внесения в черный список определенных файлов или папок, или массив` files` в `package.json` может выступать в качестве белого списка. +**TL;DR:** Следует принять меры предосторожности, чтобы избежать риска случайной публикации секретов в открытых реестрах npm. Файл `.npmignore` может использоваться для внесения в черный список определенных файлов или папок, или массив`files` в `package.json` может выступать в качестве белого списка. **Иначе:** Ключи API вашего проекта, пароли или другие секреты открыты для злоупотребления любым, кто сталкивается с ними, что может привести к финансовым потерям, подлогу и другим рискам.