ΠΏΡΡΠΊ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° , ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°, ΠΏΠΎΠ΄ΠΎΠ±Π½Π° Π½Π° Node.js, Π·Π° ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° JavaScript ΠΈ TypeScript, ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΈ ΠΎΡ Π±ΡΠ°ΡΠ·ΡΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°ΡΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π½Π° ΡΡΡΠ²ΡΡΠ°. Deno ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° JavaScript Π΄Π²ΠΈΠΆΠΊΠ° , ΠΊΠΎΠΉΡΠΎ ΡΡΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² Node.js ΠΈ Π±ΡΠ°ΡΠ·ΡΡΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Chromium. ΠΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ Ρ Π»ΠΈΡΠ΅Π½Π· MIT. ΠΡΠΎΠ΅ΠΊΡΡΡ Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½ ΠΎΡ Π Π°ΠΉΡΠ½ ΠΠ°Π» (), ΡΡΠ·Π΄Π°ΡΠ΅Π»Ρ Π½Π° JavaScript ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Node.js.
ΠΠ΄Π½ΠΎ ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΡΠ΅Π»ΠΈ Π½Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ² runtime Π·Π° JavaScript Π΅ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈ ΠΏΠΎ-Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π° ΡΡΠ΅Π΄Π°. ΠΠ° ΠΏΠΎΠ²ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ°, ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°ΡΠ° ΠΎΠΊΠΎΠ»ΠΎ Π΄Π²ΠΈΠΆΠΊΠ° V8 Π΅ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° Rust, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΈΠ·Π±ΡΠ³Π²Π°Π½Π΅ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ, ΠΏΡΠΎΠΈΠ·ΡΠΈΡΠ°ΡΠΈ ΠΎΡ Π½ΠΈΡΠΊΠΎΠ½ΠΈΠ²ΠΎΠ²ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΊΠ°ΡΠΎ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΏΠ°ΠΌΠ΅Ρ ΡΠ»Π΅Π΄ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π°Π½Π΅ΡΠΎ ΠΈ ΡΠ°Π·ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° Π½ΡΠ»Π΅Π²ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ. ΠΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ Π² Π½Π΅Π±Π»ΠΎΠΊΠΈΡΠ°Ρ ΡΠ΅ΠΆΠΈΠΌ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° , ΡΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° Rust. Tokio ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π²ΠΈΡΠΎΠΊΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Π±Π°Π·Π° Π½Π° ΡΡΠ±ΠΈΡΠΈΠΉΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡ ΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ Π·Π°ΡΠ²ΠΊΠΈ.
ΠΡΠ½ΠΎΠ²Π½ΠΈ Deno:
- ΠΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½ ΠΊΡΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ ΠΏΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅. ΠΠΎΡΡΡΠΏ Π΄ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΎΠΊΠΎΠ»Π½Π° ΡΡΠ΅Π΄Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΅ Π±Π»ΠΎΠΊΠΈΡΠ°Π½ ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΠ²Π½ΠΎ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅;
- ΠΠ³ΡΠ°Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° TypeScript ΠΎΡΠ²Π΅Π½ JavaScript;
- Runtime Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° Π΅Π΄ΠΈΠ½ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π΅Π½ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ ΡΠ°ΠΉΠ» ("deno"). ΠΠ° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Deno Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π·Π° Π²Π°ΡΠ°ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π΅Π΄ΠΈΠ½ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ ΡΠ°ΠΉΠ», Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠΊΠΎΠ»ΠΎ 10 MB, Π±Π΅Π· Π²ΡΠ½ΡΠ½ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΈ Π±Π΅Π· Π½ΡΠΆΠ΄Π° ΠΎΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°;
- ΠΡΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΡ ΡΡΠ΅Π· URL. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° welcome.js ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Β«deno https://deno.land/std/examples/welcome.jsΒ». ΠΠΎΠ΄ΡΡ ΠΎΡ Π²ΡΠ½ΡΠ½ΠΈ ΡΠ΅ΡΡΡΡΠΈ ΡΠ΅ ΠΈΠ·ΡΠ΅Π³Π»Ρ ΠΈ ΠΊΠ΅ΡΠΈΡΠ° Π½Π° Π»ΠΎΠΊΠ°Π»Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, Π½ΠΎ Π½ΠΈΠΊΠΎΠ³Π° Π½Π΅ ΡΠ΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ (Π·Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΡΠΈΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Ρ ΡΠ»Π°Π³Π° Β«βreloadΒ»);
- ΠΡΠ΅ΠΊΡΠΈΠ²Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΠΏΠΎ HTTP Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ°, ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½Π° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π²ΠΈΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ;
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π½ΠΈ ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ ΠΊΠ°ΠΊΡΠΎ Π² Deno, ΡΠ°ΠΊΠ° ΠΈ Π² ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΡΠ΅Π± Π±ΡΠ°ΡΠ·ΡΡ;
- ΠΡΠ²Π΅Π½ runtime, ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Deno ΡΡΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΡΠΎΠ»ΡΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ΅Π½ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π² ΠΊΠΎΠ΄Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΏΠΎ URL. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄ΡΠ» ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠΊΠ°ΠΆΠ΅ Π² ΠΊΠΎΠ΄Π° βimport * as log from "https://deno.land/std/log/mod.ts". Π€Π°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅, Π·Π°ΡΠ΅Π΄Π΅Π½ΠΈ ΠΎΡ Π²ΡΠ½ΡΠ½ΠΈ ΡΡΡΠ²ΡΡΠΈ ΠΏΠΎ URL, ΡΠ΅ ΠΊΠ΅ΡΠΈΡΠ°Ρ. ΠΡΠΈΠ²ΡΡΠ·Π°Π½ΠΎΡΡΡΠ° ΠΊΡΠΌ Π²Π΅ΡΡΠΈΠΈΡΠ΅ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ ΡΡΠ΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π·Π° Π½ΠΎΠΌΠ΅ΡΠ° Π½Π° Π²Π΅ΡΡΠΈΡΡΠ° Π²ΡΡΡΠ΅ Π² URL, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, "https://unpkg.com/liltest@0.0.5/dist/liltest.js";
- ΠΠΊΠ»ΡΡΠ΅Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈΠ½ΡΠΏΠ΅ΠΊΡΠΈΡ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ (ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«deno infoΒ») ΠΈ ΡΡΠΈΠ»ΠΈΡΠ° Π·Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ΄Π° (deno fmt).
- ΠΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π°Π±ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π»ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΈ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ;
- ΠΡΠΈΡΠΊΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈ Π² Π΅Π΄ΠΈΠ½ JavaScript ΡΠ°ΠΉΠ».
Π Π°Π·Π»ΠΈΠΊΠΈ Ρ Node.js:
- Deno Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΈΡ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ npm
ΠΈ Π½Π΅ Π΅ ΡΠ²ΡΡΠ·Π°Π½ Ρ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°, Π°Π΄ΡΠ΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΡΠ΅Π· URL ΠΈΠ»ΠΈ ΠΏΠΎ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΡ, Π° ΡΠ°ΠΌΠΈΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ Π½Π° Π²ΡΠ΅ΠΊΠΈ ΡΠ°ΠΉΡ; - Π Deno Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Β«package.jsonΒ» Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅;
- Π Π°Π·Π»ΠΈΡΠΈΡ Π² API, Π²ΡΠΈΡΠΊΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π² Deno Π²ΡΡΡΠ°Ρ promise;
- Deno ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΠ²Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ ΠΏΡΠ°Π²Π° Π·Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΌΡΠ΅ΠΆΠ° ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ°;
- ΠΡΠΈΡΠΊΠΈ Π³ΡΠ΅ΡΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ Π½ΡΠΌΠ°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ, Π²ΠΎΠ΄ΡΡ Π΄ΠΎ ΠΏΡΠΈΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ;
- Π Deno ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΌΠΎΠ΄ΡΠ»ΠΈ ECMAScript ΠΈ Π½Π΅ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° require().
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
