Π²ΡΠΏΡΡΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ , Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π½ΠΎΠ²ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ (Π² ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ Π²Π½ΠΎΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΡΡΠ·Π½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ).
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ :
- ΠΠ°ΠΏΡΠ΅ΡΠ΅Π½ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΡΡΡΠΎΠΊ Β«HostΒ» Π²
Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Π·Π°ΠΏΡΠΎΡΠ°; - ΠΡΠΏΡΠ°Π²Π»Π΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ nginx ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π» Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ
Β«Transfer-EncodingΒ» Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Π·Π°ΠΏΡΠΎΡΠ°; - ΠΠ½Π΅ΡΠ΅Π½Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°ΡΡΠΈΠ΅ ΡΡΠ΅ΡΠΊΠΈ ΡΠΎΠΊΠ΅ΡΠΎΠ² ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° HTTP/2;
- Π£ΡΡΡΠ°Π½ΡΠ½ ΠΊΡΠ°Ρ (segmentation fault) ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°, ΠΏΡΠΎΡΠ²Π»ΡΡΡΠΈΠΉΡΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ OCSP stapling;
- ΠΠ½Π΅ΡΠ΅Π½Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² ΠΌΠΎΠ΄ΡΠ»Ρ ngx_http_mp4_module;
- Π Π΅ΡΠ΅Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ Ρ ΠΊΠΎΠ΄ΠΎΠΌ 494 Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ βerror_pageβ ΠΌΠΎΠ³ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ ΠΎΡΠ²Π΅Ρ Ρ ΠΊΠΎΠ΄ΠΎΠΌ 494 Π²ΠΌΠ΅ΡΡΠΎ 400;
- Π£ΡΡΡΠ°Π½Π΅Π½Ρ ΡΡΠ΅ΡΠΊΠΈ ΡΠΎΠΊΠ΅ΡΠΎΠ² ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎΠ΄Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΠΌΠΎΠ΄ΡΠ»Π΅ njs ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ aio.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ , ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° ΡΠ·ΡΠΊΠ° JavaScript Π΄Π»Ρ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ° nginx. ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ njs ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΡ ECMAScript ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°ΡΡΠΈΡΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ nginx ΠΏΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ. Π‘ΠΊΡΠΈΠΏΡΡ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΎΡΠ²Π΅ΡΠ°, ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠ°/ΠΎΡΠ²Π΅ΡΠ° ΠΈΠ»ΠΈ Π±ΡΡΡΡΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π·Π°Π³Π»ΡΡΠ΅ΠΊ Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π² web-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ .
Π Π½ΠΎΠ²ΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ njs ββΠ΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ΅ΠΆΠΈΠΌΠ° ΠΎΡΠΊΡΠ΅ΠΏΠ»Π΅Π½Π½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² r.subrequest(). ΠΡΠ²Π΅ΡΡ Π½Π° ΠΎΡΠΊΡΠ΅ΠΏΠ»Π΅Π½Π½ΡΠ΅ ΠΏΠΎΠ΄Π·Π°ΠΏΡΠΎΡΡ ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡΡΡ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΎΠ±ΡΡΠ½ΡΡ ΠΏΠΎΠ΄Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΎΡΠΊΡΠ΅ΠΏΠ»Π΅Π½Π½ΡΠΉ ΠΏΠΎΠ΄Π·Π°ΠΏΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ Π²Π½ΡΡΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π’Π°ΠΊΠΆΠ΅:
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ API Promises Π΄Π»Ρ ΠΌΠΎΠ΄ΡΠ»Ρ Β«fsΒ»;
- Π ΠΌΠΎΠ΄ΡΠ»Ρ Β«fsΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ access(), symlink(), unlink(),
realpath() ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅; - ΠΠ²Π΅Π΄Π΅Π½Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ;
- ΠΠ½Π΅ΡΠ΅Π½Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ Π² lexer;
- ΠΠ½Π΅ΡΠ΅Π½ΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π°ΡΠΈΠ²Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ Π² ΠΎΠ±ΡΠ°ΡΠ½ΡΡ
ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠ°Ρ
(backtraces).
ΡΠ»Π΅Π΄Π°Ρ ; - ΠΡΠΏΡΠ°Π²Π»Π΅Π½Ρ callback-Π²ΡΠ·ΠΎΠ²Ρ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ Β«fsΒ»;
- ΠΠ½Π΅ΡΠ΅Π½Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² Object.getOwnPropertySymbols();
- Π£ΡΡΡΠ°Π½Π΅Π½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΡΡΠ΅ΡΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π² njs_json_append_string();
- ΠΠ½Π΅ΡΠ΅Π½ΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π² encodeURI() ΠΈ decodeURI() Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ;
- ΠΠ½Π΅ΡΠ΅Π½ΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π² Number.prototype.toPrecision();
- ΠΠ½Π΅ΡΠ΅Π½ΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΏΡΠΎΠ±Π΅Π»Π° Π² JSON.stringify();
- ΠΠ½Π΅ΡΠ΅Π½ΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π² JSON.stringify() Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Number() ΠΈ String();
- ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΎ ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Unicode Π² JSON.stringify() Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ
ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ; - ΠΠ½Π΅ΡΠ΅Π½ΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΠΈΠΌΠΏΠΎΡΡ Π½Π΅ ΡΠΎΠ΄Π½ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ;
- ΠΠ½Π΅ΡΠ΅Π½ΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π² njs.dump() Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ Date() Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
