Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ cli ΠΊΠ°ΠΊ ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Command-Line (CLI)
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΡΠ΅Π½ΡΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ β ΡΡΠΎ Π΅Π΄ΠΈΠ½ΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ»ΡΠΆΠ± ΡΠ΅Π½ΡΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ β ΡΡΠΎ ΠΌΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ»ΡΠΆΠ± ΡΠ΅Π½ΡΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΎΠΉΡΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΠ»ΠΈ Π½Π°ΡΡΡΠΎΠΈΡΡ Π²ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ Ρ Π²Π°Ρ Π΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ Π² ΡΠ΅Π½ΡΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠ± ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ CLI ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ ΡΠΌ. Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ GITHUB CLI ΡΠ΅Π½ΡΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΡΠΈΡΡΡΠΏΠ°Ρ ΠΊ ΡΠ°Π±ΠΎΡΠ΅
ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΠ°Ρ Π²Π΅ΡΡΠΈΡ Node.js β 12 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΡΡ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ CLI ΡΠ΅Π½ΡΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π²ΡΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ, Π½Π΅ Π·Π°ΠΏΡΡΠΊΠ°Ρ ΠΈΡ appcenter login ΡΠ°Π½ΡΡΠ΅:
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ CLI
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠΏΠΈΡΠΊΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΡΠΌ. Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ GITHUB CLI ΡΠ΅Π½ΡΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΠ·-Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ, ΠΊΠ°ΡΠ°ΡΡΠΈΡ ΡΡ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈΠΌΠ΅Π½ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈΠΌΠ΅Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ Π΄Π΅ΡΠΈΡΠΎΠ² ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΡ Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π·Π°ΠΏΡΡΠ°ΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΡΡΠΈΠ»Ρ GNU. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π² ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ CLI.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΊΡΠΈ-ΡΠ΅ΡΠ²Π΅ΡΠ°
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΠΊΡΠΈ-ΡΠ΅ΡΠ²Π΅Ρ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ npm config ΠΈ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ΅Π΄Ρ Ρ Π°Π΄ΡΠ΅ΡΠΎΠΌ ΠΏΡΠΎΠΊΡΠΈ-ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π°Π΄ΡΠ΅ΡΠ° ΠΏΡΠΎΠΊΡΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠΊΠ°Π·Π°Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, http:// ).
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ NPM
Π§ΡΠΎΠ±Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΊΡΠΈ-ΡΠ΅ΡΠ²Π΅ΡΠ° Π² NPM, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΡΠ΅Π΄Ρ
Π§ΡΠΎΠ±Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Ρ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ GUI ΠΈ CLI
ΠΠΎΠ³Π΄Π° Π²Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΠ΅ Π½Π° Linux, ΡΠΎ, ΡΠΈΡΠ°Ρ ΡΡΠ°ΡΡΠΈ ΠΏΠΎ ΡΠ΅ΠΌΠ΅ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°ΡΡΡ Π½Π° ΡΠΎΡΡΠΌΠ°Ρ , ΡΠ°ΡΡΠΎ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅ΡΠ΅ΡΡ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°ΠΌΠΈ, ΠΊΠ°ΠΊ GUI, CLI ΠΈ ΡΠ΅ΠΆΠ΅ TUI. Π ΡΡΠΎΠΉ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΎΠ·Π½Π°ΡΠ°ΡΡ, ΠΈ ΡΠ°Π·Π±Π΅ΡΡΠΌΡΡ, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΡΡΠΈ Π°Π±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΡ ΠΎΠ±ΡΡΠ½ΠΎ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ.
Π‘ΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²ΠΎΡΡΠΈ ΡΠ°Π΄ΠΈ ΠΎΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΡΠ΅ΡΠΌΠΈΠ½Ρ GUI, CLI ΠΈ TUI ΠΏΠΎΠΏΡΠ»ΡΡΠ½Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π² Linux-ΡΡΠ΅Π΄Π΅. ΠΡΠΈ ΡΠ»ΠΎΠ²Π° β ΡΠ°ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΆΠ°ΡΠ³ΠΎΠ½Π°, ΠΈ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ»ΡΡΠ°ΡΡ Π² Π»ΡΠ±ΡΡ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡΡ , Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ΅Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²ΡΠ·Π°Π½Ρ Ρ Linux.
GUI β Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
GIMP: GUI-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
Π Linux Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠΉ ΡΡΠ΅Π΄ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π°. ΠΠΎΠ²Π΅ΡΡ Π½Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ GUI-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ GIMP, VLC, Firefox, LibreOffice, ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΈ Ρ.Π΄. Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π·Π°Π΄Π°Ρ.
VLC: ΠΌΠ΅Π΄ΠΈΠ°ΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°ΡΠ΅Π»Ρ Ρ GUI
ΠΠΌΠ΅Π½Π½ΠΎ GUI ΠΎΡΠΊΡΡΠ» ΠΌΠΈΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ² Π΄Π»Ρ ΠΎΠ±ΡΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ; Π±Π΅Π· Π½Π΅Π³ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΎΡΡΠ°Π²Π°Π»ΠΈΡΡ Π±Ρ ΡΠ΄Π΅Π»ΠΎΠΌ Π³ΠΈΠΊΠΎΠ².
CLI β ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
CLI (Command Line Interface) β ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΈΡΠ°Π΅Ρ Π²Π²ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ. Π ΡΠ΅Π»ΠΎΠΌ, Π»ΡΠ±Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ· ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°, ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ Π² ΡΡΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ.
APT: ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ Ρ CLI Π² Debian-based Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ
Π£ ΡΡΠ°ΡΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ² Π½Π΅ Π±ΡΠ»ΠΎ ΠΌΡΡΠΈ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΎΡΠΎΠ² Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ. ΠΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΎΡΡ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ Π²Π²ΠΎΠ΄ ΠΈ Π²ΡΠ²ΠΎΠ΄, Ρ.Π΅. ΡΠ΅ΡΠ΅Π· CLI.
ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ ΡΡΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ, ΠΏΠΎΠ΄ΡΠΌΠ°ΠΉΡΠ΅ ΠΎΠ± Π΅ΡΡ Π±ΠΎΠ»Π΅Π΅ Π΄ΡΠ΅Π²Π½ΠΈΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Π°Ρ , Ρ ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ Π±ΡΠ»ΠΎ Π΄Π°ΠΆΠ΅ ΡΠΊΡΠ°Π½Π°, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π½Π°Π±ΠΈΡΠ°Π΅ΠΌΡΠΉ ΡΠ΅ΠΊΡΡ. ΠΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΡΠ²Π°Π»ΡΡ ΠΏΡΠΈΠ½ΡΠ΅ΡΠΎΠΌ Π½Π° Π±ΡΠΌΠ°Π³Π΅. ΠΠΈΡΠ½ΠΎ ΠΌΠ½Π΅ Π½ΠΈ ΡΠ°Π·Ρ Π² ΠΆΠΈΠ·Π½ΠΈ Π½Π΅ Π΄ΠΎΠ²ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠΌ. ΠΠ»ΠΈΠΆΠ°ΠΉΡΠΈΠΉ Π°Π½Π°Π»ΠΎΠ³ ΠΈΠ· ΡΠΎΠ³ΠΎ, Ρ ΡΠ΅ΠΌ Ρ ΠΈΠΌΠ΅Π» Π΄Π΅Π»ΠΎ β ΡΡΠΎ ΡΡ Π΅ΠΌΡ Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠΌΠΈ Ρ Π·Π°Π½ΠΈΠΌΠ°Π»ΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΡΡΠ±Ρ.
Π£ΡΡΠ» Π»ΠΈ CLI Π² ΠΏΡΠΎΡΠ»ΠΎΠ΅? ΠΠΎΠ²ΡΠ΅ Π½Π΅Ρ. Π£ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π΅ΡΡΡ ΡΠ²ΠΎΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ ΡΠ΅ΡΡ ΠΈΠ΄ΡΡ ΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ Linux Π½Π° Π³Π»ΡΠ±ΠΈΠ½Π½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅: ΠΏΠΎΠ΄Π½ΡΡΠΈΠΈ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ Π±ΡΠ°Π½Π΄ΠΌΠ°ΡΡΡΠ°, ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ.
Π‘ΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΡΠΈΠΌΠΈ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ GUI-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π½ΠΎ CLI Π΄Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΡΠΌΠΎΠΉ ΠΈ ΠΏΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅. Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΡΠ°Π±ΠΎΡΠ° GUI-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ ΠΠ‘ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ (ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅).
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ Ρ GUI ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΠΈΠ· ΡΠ΅Π±Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΎΠ±ΡΡΡΠΊΡ Π΄Π»Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² CLI. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Handbrake, ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΠΌΠ΅Π΄ΠΈΠ°-ΠΊΠΎΠ½Π²Π΅ΡΡΠ΅Ρ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΡΠ²Π»ΡΠ΅ΡΡΡ GUI-Π½Π°Π΄ΡΡΡΠΎΠΉΠΊΠΎΠΉ Π½Π°Π΄ CLI-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ffmpeg.
Π Π°Π±ΠΎΡΠ΅Π΅ ΠΎΠΊΠ½ΠΎ Handbrake
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ ΡΠ»ΠΎΠΆΠ½Π΅Π΅, ΡΠ΅ΠΌ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ. ΠΠ΄Π½Π°ΠΊΠΎ Π½Π΅ ΡΡΠΎΠΈΡ ΠΏΠ΅ΡΠ΅ΠΆΠΈΠ²Π°ΡΡ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΠΎΠ²ΠΎΠ΄Ρ. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΡΡ Π·Π°Π΄Π°Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Linux. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π·Π½Π°Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΡΠ°ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ Π²Π΅ΡΡΠΌΠ° ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ.
TUI β ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ
ΠΡΠΎΡ ΡΠ΅ΡΠΌΠΈΠ½ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΠ΅ΠΆΠ΅, ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π°. TUI (Text User Interface) β ΡΡΠΎ Π½Π°ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ CLI ΠΈ Π½Π°ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ GUI. ΠΠ΅ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ ΡΡΠΎ Π·Π½Π°ΡΠΈΡ? Π Π°Π·Π±Π΅ΡΡΠΌΡΡ ΠΏΠΎΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅.
ΠΠ°ΠΊ Π±ΡΠ»ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ Π²ΡΡΠ΅, ΡΠ°Π±ΠΎΡΠ° ΡΠΎ ΡΡΠ°ΡΡΠΌΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°ΠΌΠΈ Π±ΡΠ»Π° ΡΠ΅Π»ΠΈΠΊΠΎΠΌ ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° CLI. ΠΠ΄Π½Π°ΠΊΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΉ ΡΠΏΠ΅ΠΊΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ GUI ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠΌΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅. ΠΡΠΎ ΠΈ Π±ΡΠ΄Π΅Ρ TUI: Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π² Π½ΡΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΈ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ, ΡΠ°ΠΊ ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΡΡΠΈ.
Links: ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΡΠ½ΡΠΉ Π±ΡΠ°ΡΠ·Π΅Ρ
TUI β ΡΡΠΎ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ text-based user interface (ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ) ΠΈΠ»ΠΈ terminal user interface (ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ). Π‘Π»ΠΎΠ²ΠΎ «ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ» Π² ΡΡΠΎΠΌ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²ΡΡ ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π½Π° ΡΠΊΡΠ°Π½Π΅, Π² ΡΡΡΠ½ΠΎΡΡΠΈ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ΅ΠΊΡΡ β Π½Π°Π±ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΈΠΌΠΈΡΠΈΡΡΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, Π° ΡΠ»ΠΎΠ²ΠΎ «ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΡΠ½ΡΠΉ» β ΡΡΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΡΡΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°.
TUI-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ ΡΠ°ΠΊ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Ρ, ΠΊΠ°ΠΊ GUI ΠΈ CLI, Π½ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ. Π’Π°ΠΊ, ΠΊ ΡΡΠΎΠΉ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ Π±ΡΠ°ΡΠ·Π΅ΡΡ ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΠΈΠ³ΡΡ.
ΠΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ»ΡΡΠ°ΠΉ, ΠΊΠΎΠ³Π΄Π° TUI ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΠ΅ΡΠΈΡΡΡΡ β ΡΡΠΎ Π΅ΡΠ»ΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΊΠΎΠ΄Π΅ΠΊΠΎΠ² Π½Π° Ubuntu Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΈΠ½ΡΡΡ EULA ΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ±ΠΎΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ. TUI ΡΠ»ΠΎΠΆΠ½Π΅Π΅ Π² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ, ΡΠ΅ΠΌ GUI ΠΈ ΡΠ°ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ, Π½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈΠΌ Π²ΡΡ-ΡΠ°ΠΊΠΈ ΠΏΡΠΎΡΠ΅, ΡΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ.
ΠΡΠ²ΠΎΠ΄Ρ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ TUI ΡΠ°ΡΡΠΎ ΠΎΡΠ½ΠΎΡΡΡ Π² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ CLI, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ. ΠΠ°ΠΊΠΎΠ³ΠΎ ΠΌΠ½Π΅Π½ΠΈΡ Π½Π° ΡΡΠΎΡ ΡΡΡΡ Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π²Ρ β Π²ΡΠ±ΠΎΡ Π·Π° Π²Π°ΠΌΠΈ. ΠΠ°Π΄Π΅ΡΡΡ, Π²Π°ΠΌ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ»Π°ΡΡ ΡΡΠ° ΡΡΠ°ΡΡΡ ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ GUI, CLI ΠΈ TUI.
ΠΡΠ°ΡΠΊΠΎ ΠΈ Π±ΡΡΡΡΠΎ ΡΠ°Π·Π±ΠΈΡΠ°Π΅ΠΌΡΡ Ρ C++ CLI
Π’Π°ΠΊ ΡΠ»ΠΎΠΆΠΈΠ»ΠΎΡΡ, ΡΡΠΎ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΌΠ½Π΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ C++/CLI ΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ°ΡΡΠΎ ΠΎΠ±ΡΡΡΠ½ΡΡΡ Π½ΠΎΠ²ΠΈΡΠΊΠ°ΠΌ, ΡΡΠΎ ΡΡΠΎ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ, Π·Π°ΡΠ΅ΠΌ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π°Π΄ΠΎ. Π’Π°ΠΊ ΡΡΠΎ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΏΠΎΡΠ²ΠΈΠ»ΠΎΡΡ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠ°ΡΡΡ Ρ ΠΎΠ±Π·ΠΎΡΠΎΠΌ ΡΠ·ΡΠΊΠ°, ΠΎΡΠ²Π΅ΡΠ°ΠΌΠΈ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΌΠ΅ΡΡΠ°, Π³Π΄Π΅ ΠΌΠΎΠ³ΡΡ ΡΠ΄Π°ΡΠ½ΠΎ Π»Π΅ΡΡ Π³ΡΠ°Π±Π»ΠΈ.
Π§ΡΠΎ ΡΡΠΎ?
Π ΡΠΎΠΌΡ ΠΆΠ΅, Π² ΡΡΠΎΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΎ ΠΎΡΠ»ΠΈΡΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ Π½Π° Π½Π°ΡΠΈΠ²Π½ΡΠΉ ΡΠΈΠΏ ΠΈ Π½Π° ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ (Π² ΠΎΠ±ΠΎΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π°ΡΡ Β«*Β»), Π½Π΅ Π±ΡΠ»ΠΎ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° Π΄Π»Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ Π½ΡΠ»Π΅Π²ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΈ ΠΏΡΠΎΡΠ΅Π΅. ΠΡΠΎ ΠΈ ΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΎ Microsoft Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΡΠ΅Π²ΠΈΠ·ΠΈΠΈ ΡΠ·ΡΠΊΠ°, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΈ ΠΏΠΎΠΉΠ΄Π΅Ρ ΡΠ΅ΡΡ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅.
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΡΡΠΈ Π΄Π²Π΅ Π²Π΅ΡΡΠΈΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π½Π°Π·ΡΠ²Π°ΡΡΡΡ, ΠΊΠ°ΠΊ Π½ΠΈ ΡΡΡΠ°Π½Π½ΠΎ, Β«old syntaxΒ» ΠΈ Β«new syntaxΒ», ΠΈ ΠΊΠ°ΠΊΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ
ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠΏΡΠΎΡΠ΅ΠΌ, ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΡΡ
ΡΠ±ΠΎΡΠΎΠΊ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ°ΡΡΠΉ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ ΠΊΠ°ΠΊ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΉ ΠΈ ΠΏΡΠΎΡΡΠΎ ΠΏΠ»ΠΎΡ
.
ΠΠ°ΡΠ΅ΠΌ Π½ΡΠΆΠ½ΠΎ?
2) ΠΠΎΠΆΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΠΆΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° ΠΏΠ»ΡΡΠ°Ρ ΠΊΠΎΠ΄. ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ Π½Π°Ρ ΠΎΡΡΠ°Π»ΠΈΡΡ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ C++, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΠΎΠ±Π΅ΡΡΠΊΠΈ Π΄Π»Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² Π½Π° Π½Π°ΡΠΈΠ²Π½ΡΡ ΠΏΠ»ΡΡΠ°Ρ . ΠΡΠΎ Π΄Π°Π΅Ρ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎ Π²ΡΠ·ΠΎΠ²Ρ Π½Π΅ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π½Π΅ΠΆΠ΅Π»ΠΈ PInvoke, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ ΡΠΌΠ΅Π΅Ρ.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ?
ΠΡΠ΅ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ. ΠΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΊΠΎΠ΄Π° Π½Π° Π‘++/Π‘LI ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠ±ΠΎΡΠΊΠ°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ ΠΊΠ°ΠΊ MSIL ΠΊΠΎΠ΄, ΡΠ°ΠΊ ΠΈ ΠΌΠ°ΡΠΈΠ½Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π² ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΠ»ΠΈΡΡ ΡΡΡΠΎΠΊΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½Π° Β«ΡΠΈΡΡΡΡ
Β» ΠΏΠ»ΡΡΠ°Ρ
. Β«ΠΠΎ ΠΊΠ°ΠΊ ΠΆΠ΅ Π±ΡΡΡ Ρ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½ΠΎΡΡΡΡ?Β» β ΡΠΏΡΠΎΡΠΈΡΠ΅ Π²Ρ, ΠΈ Π±ΡΠ΄Π΅ΡΠ΅ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΠΏΡΠ°Π²Ρ. ΠΠΈΠΊΠ°ΠΊ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ ΡΠΎΠ±ΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊ Π΄Π»Ρ 32 ΠΈ 64 Π±ΠΈΡΠ½ΡΡ
Π²Π΅ΡΡΠΈΠΉ (ΡΠΎΠ±ΡΠ°ΡΡ Π²ΡΠ΅ ΠΏΠΎΠ΄ Β«Any CPUΒ»). Π’Π°ΠΊΠΎΠ²Π° ΡΠ°ΡΠΏΠ»Π°ΡΠ° Π·Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅Ρ
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π‘++. ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, ΡΡΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΡΠΎΠΌΡ Π²Π°ΡΠΈΠ°Π½ΡΠ°, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠΈΠΊΡ ΠΈΠ· ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΈ Π½Π΅ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΡΠ΅Π³ΠΎ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ:
β’ /clr β ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΈ Π½Π°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°.
β’ /Ρlr:pure β Π½Π°ΡΠΈΠ²Π½ΡΠΉ ΠΊΠΎΠ΄ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ ) ΠΊΠΎΠ΄, Π² ΡΠΎΠΉ ΠΌΠ΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π² Π‘#-ΡΠ±ΠΎΡΠΊΠ°Ρ
ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ unsafe.
β’ /clr:safe β Π’ΠΎΠ»ΡΠΊΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ ΠΊΠΎΠ΄. ΠΠ½Π°Π»ΠΎΠ³ β ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ C#-ΡΠ±ΠΎΡΠΊΠΈ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ unsafe.
β’ /clr:oldSyntax β Π°Π½Π°Π»ΠΎΠ³ /clr, ΡΠΎΠ»ΡΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ°ΡΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ.
ΠΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ?
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ Π΄Π»Ρ Π‘# ΠΈ C++/CLI.
ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ°
public sealed class Class1 : Class2
public ref class Class1 sealed : Class2
ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ
public struct Class1 : IEquatable
public value class Class1 : IEquatable
ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
public interface ISomeInterface
public interface class ISomeInterface
ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
Π C++/CLI Π΄Π»Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΡΠ»ΠΎΠΊ Π½Π° ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Β«^Β» Π²ΠΌΠ΅ΡΡΠΎ Β«*Β». ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ ΡΡΠΎΠ±Ρ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΠΎΠΌ Π½Π°Π΄ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΠΈ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π½Π°Π΄ΠΎ. Π’Π°ΠΊΠΆΠ΅ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΡΠ»ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΡ ΡΡΠ΅ΠΊΠ°:
Object obj();
ΠΡΠΎ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» Π»ΠΈΠ±ΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΡ
IDisposable (ΡΠ΅ΡΡ ΠΎΠ± ΡΡΠΎΠΌ ΠΏΠΎΠΉΠ΄Π΅Ρ ΠΏΠΎΠ·ΠΆΠ΅) Π»ΠΈΠ±ΠΎ Π΄Π»Ρ value-ΡΠΈΠΏΠΎΠ². ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ Π² ΠΏΠ»Π°Π½Π΅ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ value-ΡΠΈΠΏΠΎΠ² Π‘++/CLI Π΄Π°Π΅Ρ Π±ΠΎΠ»ΡΡΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Ρ, ΡΠ΅ΠΌ C#, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΌ Π²ΡΠ±ΠΈΡΠ°ΡΡ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΠ»ΠΊΡ ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΠΈΡΡΠ°ΡΠΈΡ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ Π½Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ boxing/unboxing ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°
ΠΠ΅ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ.
ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² ΠΌΠ΅ΡΠΎΠ΄
void Method( int byValue, ref int byRef, out int outValue);
void Method( int byValue, int %byRef, [ out ] int %outValue);
ΠΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π°
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ°Π±Π»ΠΎΠ½Π° IDisposable
protected virtual void Dispose( bool disposing)
<
if (disposing)
<
//release managed resources
>
//release unmanaged resources
>
Class1()
<
//release managed resources
//ΠΠ½Π°Π»ΠΎΠ³ ΡΠΈΠ½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠ°
!Class1()
<
//release unmanaged resources
>
>
Π§ΡΠΎ ΠΎΡΡΠ°Π»ΠΎΡΡ Π·Π° ΠΊΠ°Π΄ΡΠΎΠΌ?
ΠΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ Π² ΠΎΠ΄Π½Ρ ΡΡΠ°ΡΡΡ Π²ΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ. ΠΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠΌΠΈ ΠΎΡΡΠ°Π»ΠΈΡΡ ΡΠ°ΠΊΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΊΠ°ΠΊ:
β’ Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄Π΅Π»Π΅Π³Π°ΡΠΎΠ², ΡΠ²ΠΎΠΉΡΡΠ², ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ, foreach ΠΈ ΠΏΡΠΎΡΠ΅Π΅
β’ ΠΠΎΠ½Π³Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ· ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ Π² Π½Π΅ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ ΠΈ ΠΏΡΠΎΡΠΈΠΌ
β’ Π§ΡΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΈ Π½Π΅Ρ ΠΈΠ· ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π΅ΡΡΡ Π² Π‘# ΠΈ Π² ΠΎΠ±ΡΡΠ½ΠΎΠΌ C++
β’ ΠΡΠΎΠ±Π΅Π½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠΎ ΡΠ±ΠΎΡΠΊΠ°ΠΌΠΈ Π‘++/CLI
β’ ΠΠΎΠΏΡΠΎΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠΎΠ³Π΄Π° ΠΈ Π² ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠΈΠ³ΡΡΡ? ΠΠ΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ ΠΏΠΎΡΠ΅ΡΡΡΡ?
Π§ΡΠΎ ΠΏΠΎΡΠΈΡΠ°ΡΡ?
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ°ΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΈΠΌ. Π. Π. ΠΠ°ΡΠΌΠ°Π½Π°
Bauman National Library
ΠΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ
CLI (Command Line Interface)
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ (Π°Π½Π³Π». Command line interface, CLI ) β ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°(TUI) ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠΌ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ Π΄Π°ΡΡΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΡΡΡΠΌ Π²Π²ΠΎΠ΄Π° Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΡΡΠΎΠΊ (ΠΊΠΎΠΌΠ°Π½Π΄), Π² UNIX-ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΡΡΠΈ. Π’Π°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½ΡΠΎΠ»Ρ.
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΌΠ΅Π½Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΠΌ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
Π€ΠΎΡΠΌΠ°Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π½Π΅ ΡΠ΅Π³Π»Π°ΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΡΡΡ; ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ Π²ΡΠ²ΠΎΠ΄, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ, Π·Π²ΡΠΊΠΎΠ²ΡΠΌ ΠΈ Ρ. Π΄.
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
ΠΠ° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅-ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠ΅ΡΠ°ΡΠ°Π»ΠΎ ΡΠ΅ΠΊΡΡ Π½Π° Π±ΡΠΌΠ°Π³Π΅, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π±ΡΠ» Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ. ΠΠ° Π²ΠΈΠ΄Π΅ΠΎΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΠΎ ΡΠ°ΠΊΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ:
ΠΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΡΡΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΡΠΌΠ΅Π»ΠΎΠ΅ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΡΠ΅Π½Ρ ΠΌΠΎΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ.
Π€ΠΎΡΠΌΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡΠΈΠΉ ΡΠΎΡΠΌΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄ (Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Ρ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΡΡΠΈ):
[ΡΠΈΠΌΠ²ΠΎΠ»_Π½Π°ΡΠ°Π»Π°_ΠΊΠΎΠΌΠ°Π½Π΄Ρ]ΠΈΠΌΡ_ΠΊΠΎΠΌΠ°Π½Π΄Ρ [ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ_1 [ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ_2 [β¦]]]
Π‘ΠΈΠΌΠ²ΠΎΠ» Π½Π°ΡΠ°Π»Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΠΌΡΠΌ ΡΠ°Π·Π½ΡΠΌ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π΄Π»Ρ ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΡΠ°Ρ ΡΠ΅ΡΡΠ° ( / ). ΠΡΠ»ΠΈ ΡΡΡΠΎΠΊΠ° Π²Π²ΠΎΠ΄ΠΈΡΡΡ Π±Π΅Π· ΡΡΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π°, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠ°Ρ Π±Π°Π·ΠΎΠ²Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°: Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΡΠΎΠΊΠ° Β«ΠΡΠΈΠ²Π΅ΡΒ» Π² IRC ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Π° Π²Π²ΠΎΠ΄Ρ Β« /msg ΠΡΠΈΠ²Π΅Ρ Β». ΠΡΠ»ΠΈ ΠΆΠ΅ ΡΠ°ΠΊΠΎΠΉ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π΅Ρ, ΡΠΈΠΌΠ²ΠΎΠ» Π½Π°ΡΠ°Π»Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠΎΠ±ΡΠ΅ (ΠΊΠ°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² DOS).
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠ°ΠΌΡΠΉ ΡΠ°Π·Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ. Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°:
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π½Π΅ΠΊΠΎΠ΅ΠΉ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠΉ ΠΈΠ³ΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΠΊΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°:
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ:
Π ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ β ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. Π Windows ΡΠ·ΡΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΡΡΠΊΠΎΠΉ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·Π°ΡΠΈΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ POSIX ΠΈ Π΅Π³ΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ GNU.
Π ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ ΠΈΠ³ΡΠ°Ρ
ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π² ΠΈΠ³ΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π°ΡΡ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ.
ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΡΡΠ°Π»ΠΈ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΠΈ ΠΈΠ³ΡΡ, Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎ ΡΡΠΎ Π±ΡΠ»ΠΎ Π½Π° ΡΠ΅Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ , Π³Π΄Π΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ (Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅) Π±ΡΠ»ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ.
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡΠΊΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΠΈΠ³Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π°Π·Π²Π°Π½Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΠΊΠ²Π΅ΡΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΡΠ΅Π²ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠΎΠ»Π΅Π²ΡΠ΅ ΠΈΠ³ΡΡ β MUD. ΠΠΎΠΌΠ°Π½Π΄Ρ Π² ΡΠ°ΠΊΠΈΡ ΠΈΠ³ΡΠ°Ρ Π²Π²ΠΎΠ΄ΡΡΡΡ Π½Π° ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠΌ ΠΏΡΠ΅Π²Π΄ΠΎΠ΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅.
ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ³ΡΠ°Ρ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π΄Π»Ρ ΠΎΠ±Π»Π΅Π³ΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌ ΠΈΠ³ΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΈΠ³ΡΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ΅ΡΠ΅Π· ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠ΅Π½Ρ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ. ΠΠ΅ΡΠ²Π°Ρ ΡΠ°ΠΊΠ°Ρ ΠΈΠ³ΡΠ° β Quake. Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ β
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΌΠΎΠ΄Π΄Π΅ΡΠ°ΡΠΎΡΠ°ΠΌ, Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΌΠ΅Π½ΡΡΡ ΠΌΠ΅Π½Ρ; Π½ΠΎ ΠΎΠ½ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠ²ΠΎΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² DotA (ΠΊΠ°ΡΡΠ΅ Π΄Π»Ρ ΠΈΠ³ΡΡ Warcraft III) ΡΠ΅ΠΆΠΈΠΌ ΠΈΠ³ΡΡ Π·Π°Π΄Π°ΡΡ ΡΡΠ°ΡΡΠ½ΠΈΠΊ, ΠΈΠ³ΡΠ°ΡΡΠΈΠΉ ΡΠΈΠ½ΠΈΠΌΠΈ, ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΠΎΠ»Ρ.
GUI vs. CLI β ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π±ΠΈΡΠ²Π°
ΠΠ°ΡΡΠΎΡΡΠΈΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌΠΈ ΡΡΠΈΡΠ°Π΅ΡΡΡ, ΡΡΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π»ΡΡΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΡΠΈΠ΄ΡΠΌΠ°Π»ΠΈ ΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΡΠΈΠ΄ΡΠΌΠ°ΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π»ΡΡΡΠ΅ ΡΠΆΠ΅ Π½Π΅ΠΊΡΠ΄Π°. ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, Ρ ΠΎΡΠ΅ΡΡΡ ΠΏΠΎΡΠΏΠΎΡΠΈΡΡ.
Π§ΡΠΎΠ±Ρ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π°, Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π³ΠΎΠ²Π°ΡΠΈΠ²Π°ΡΡ ΠΎΠ± Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΡ Π°ΠΏΠ΅Π»ΡΡΠΈΠ½Π°Ρ . ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅ ΡΠ΅Π±Π΅ ΠΠ²ΡΠΎΠΊΠ°Π΄, Π΅ΡΠ»ΠΈ ΡΠ»ΡΡΠ°Π»ΠΈ ΠΈΠ»ΠΈ Π΄ΠΎΠ²ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ. ΠΠΎΠΆΠ½ΠΎ ΠΠ»Π»ΡΡΡΡΠ°ΡΠΎΡ ΠΈΠ»ΠΈ ΠΠΎΡΠ΅Π»ΠΡΠΎ, ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π΄Π°Π»Π΅ΠΊΠΎΠ΅ ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΡΠΎΠ±Ρ Π°Π±ΡΡΡΠ°Π³ΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΈ ΡΠ°ΡΡΡΠΆΠ΄Π°ΡΡ Π½Π΅ΠΏΡΠ΅Π΄Π²Π·ΡΡΠΎ. ΠΠΎΡΠ΅ΠΌΡ ΠΎΠ½ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ?
Π ΠΈΡ. 1. ΠΠ±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π² Π²Π°ΠΊΡΡΠΌΠ΅.
ΠΠ΄ΠΈΠ½ Π²Π·Π³Π»ΡΠ΄ Π½Π° ΠΎΠ±ΡΡΡ ΠΊΠ°ΡΡΠΈΠ½Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°Π·Ρ Π²ΡΠ΅ ΠΏΡΠΎΡΡΠ½ΠΈΡΡ Π΄Π»Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ°, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π½Π°Π΄ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ Π½Π°Π΄ΠΎ Π΄ΡΠΌΠ°ΡΡ, Π½Π°Π΄ΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ (ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΡΠ²Π΅Ρ β ΡΡΠΎ ΡΠ²ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΡΠΎ Π½Π΅ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΡΠ΅Ρ Π½ΠΈ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π½ΠΈ Π²ΡΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΈΠ²ΡΡΠΊΠΈ). ΠΠ° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΅ΠΌΠΊΠΎΠΉ ΡΡ Π΅ΠΌΠ΅ ΡΠ°Π·Π½ΡΠ΅ Π»ΡΠ΄ΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ²ΠΎΠ΅ β ΡΠΎ, ΡΡΠΎ ΡΠ΅ΠΉΡΠ°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ. ΠΠΎΡΠΎΡΠ΅, Π»ΡΡΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΡΠ²ΠΈΠ΄Π΅ΡΡ.
ΠΡΠΎΡΠΎΠ΅: Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅. Π Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ ΠΌΠΎΠΆΠ΅Ρ Π΄Π²ΠΈΠ³Π°ΡΡ ΡΠ°ΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π² ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠΌ ΠΆΠ΅ Π΅ΠΌΡ Π½ΡΠΆΠ½ΠΎ ΡΠ΅ΡΠΈΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Β«ΠΊΠ°ΠΊΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ, ΡΡΠΎΠ±Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Ρ Ρ ΠΎΡΡΒ». ΠΠ½ ΠΎΠΏΠ΅ΡΠΈΡΡΠ΅Ρ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅, Π·Π°Π΄Π°ΡΠ° Ρ Π½Π΅Π³ΠΎ Π² Π΄ΡΡΠ³ΠΎΠΌ, ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΠΎΡΠΌΠ°Π»ΠΈΠ·Π²ΠΎΠ°Π½Ρ Π² ΠΎΠ΄Π½Ρ ΡΡΠΎΡΠΎΠ½Ρ (ΠΊΠΎΠΌΠ°Π½Π΄Π° β Π·Π°Π΄Π°ΡΠ°), Π° ΡΠ΅ΡΠ°ΡΡ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ Π·Π°Π΄Π°ΡΡ. ΠΠΎ ΠΎΡΡΡΡΠ΅Π½ΠΈΡΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ°ΠΊΠ΅Ρ ΡΠ°ΠΉΡΠ° ΡΡΠ°Π·Ρ Π² Ρ ΡΠΌΠ»Π΅. ΠΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡ ΠΊ Π±Π°Π½Π°Π½Π°ΠΌ, Ρ ΠΌΠΎΠ³Ρ Π²Π·ΡΡΡ ΠΊΠΎΠ½Π΅Ρ ΠΎΡΡΠ΅Π·ΠΊΠ° ΠΈ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΈΡΡ Π΅Π³ΠΎ ΠΊ ΠΊΠΎΠ½ΡΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΎΡΡΠ΅Π·ΠΊΠ° (ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡ). Π― Π²ΠΈΠΆΡ, ΡΡΠΎ Π½Π°Π΄ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΠΈ Ρ Π΄Π΅Π»Π°Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎ.
ΠΡΠΎ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΠΎΠΆΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ. ΠΠ»ΡΠ΄Ρ Π½Π° Π΄Π΅ΡΠ΅Π²ΠΎ Π² gitk, Π½Π΅ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠ΅ΠΉΡΠ°Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, Π΄Π°ΠΆΠ΅ Π² ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΆΠ° ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π΅ΡΠ΅ Ρ ΠΈΡΡΠΎΠΉ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΈ. Π Π²ΠΎΡ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΡΡΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΆΠ΅ ΡΠ»ΠΎΠΆΠ½Π΅Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π²ΠΎΡ Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π²ΡΠ΅ ΡΠ΅Π½ΠΆΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ Π² Π΄ΡΡΠ³ΡΡ Π²Π΅ΡΠΊΡ. ΠΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ? ΠΠ° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΈΡ ΡΡΡΠΊ ΠΏΡΡΡ, Π²ΡΠ΅ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΠΌΠΈ, ΠΎΠ½ΠΈ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ Π³Π΄Π΅ Ρ Π½Π°Ρ ΠΎΠΆΡΡΡ ΠΈ ΠΊΡΠ΄Π° Ρ ΠΎΡΡ ΠΏΠΎΠΏΠ°ΡΡΡ, ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ Π½ Π΄Π΅Π»Π°ΡΡ ΡΠΎ, ΡΡΠΎ ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ, ΡΠΎ Π΅ΡΡΡ ΠΈΡ Π½ΡΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Ρ Ρ ΡΡΡΠ΄ΠΎΠΌ ΡΠ΅ΡΠ°Ρ ΡΡΡ Π·Π°Π³Π°Π΄ΠΊΡ (shame on me, ΠΌΠΎΠ³ Π±Ρ ΠΈ Π·Π°Π·ΡΠ±ΡΠΈΡΡ ΠΊ ΠΌΠΎΠΈΠΌ-ΡΠΎ Π³ΠΎΠ΄Π°ΠΌ), ΠΆΡΡΠΊΠΎ Π±Π΅ΡΡΡΡ ΠΎΡ ΡΠ²ΠΎΠ΅Π³ΠΎ Π±Π΅ΡΡΠΈΠ»ΠΈΡ (Π²ΡΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, Π° ΡΠΊΠ°Π·Π°ΡΡ Π½Π΅ ΠΌΠΎΠ³Ρ) ΠΈ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΡΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²ΠΎ ΡΠ°Ρ Π·Π»ΠΎΠ±Ρ Π·Π° ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π½Π° ΠΏΡΡΡΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΊΠ²Π΅ΡΡ.
ΠΠΎ Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΡΠΌΠΎΠ»ΠΈΠ½Π΅ΠΉΠ½ΡΠΌΠΈ, Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΎΡΡΠ°Π½Π΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° β ΠΌΠ½Π΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° Π΄Π΅ΡΠ΅Π²ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈ ΠΏΠΎΡΠΈΡ ΠΎΠ½ΡΠΊΡ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΡ Ρ ΡΡΠΈ ΡΠ΅Π²ΠΈΠ·ΠΈΠΉ Π² Π΄ΡΡΠ³ΠΎΠ΅. Π’ΠΎ Π΅ΡΡΡ, ΠΎΠΏΡΡΡ-ΡΠ°ΠΊΠΈ Π½Π΅ΡΡΠ½ΠΎ, Π² ΡΠ΅ΠΌ Π±ΠΎΠ½ΡΡ.
Π ΡΠ΅ΠΏΠ΅ΡΡ ΠΎ Ρ ΠΎΡΠΎΡΠ΅ΠΌ. ΠΠΈΠ±ΠΊΠΎΡΡΡ. ΠΠΎΡΡ. ΠΠ΅Π»ΡΠΌΠ΅Π½ΠΈ. Π― Π½Π΅ Π³Π»ΡΠΏΠ΅Ρ ΠΈ Π½Π΅ ΡΡΠ°Π½Ρ ΡΠΏΠΎΡΠΈΡΡ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ bash + unix utils ΡΠ²ΡΠ·ΠΊΠ° ΠΌΠΎΡΠ½Π°Ρ. Π’ΠΎΠ»ΡΠΊΠΎ Π²ΠΎΡΡΠΎΡΠ³ΠΈ ΡΡΡ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ²ΡΠ·Π°Π½Ρ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ bash β ΡΡΠΎ ΡΠ°ΠΊΠΎΠΉ REPL ΡΠΊΡΠΈΠΏΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Π΄Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠ΄Π°ΡΠ½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅Ρ (ΡΠΌ., Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ ΠΎΠ½ Π²ΡΡΡΠΎΠ΅Π½ Π² mc ΠΈΠ»ΠΈ Far, ΠΈ Π΄Π°, ΡΡΠΎ Π½Π΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ). ΠΠΌΠ΅ΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΡΠΉ ΡΠ·ΡΠΊ Ρ REPL-ΠΎΠΌ Ρ ΠΎΡΠΎΡΠΎ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΡΠΌ Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ Π·Π°Π΄Π°Ρ. (ΠΡΡΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΈΡΠ°ΡΠ΅Π»Ρ Π·Π½Π°Π΅Ρ, ΡΡΠΎ ΠΈ Π² ΠΠ²ΡΠΎΠΊΠ°Π΄Π΅ Π΅ΡΡΡ Π»ΠΈΡΠΏΠΎΠ²Π°Ρ ΠΊΠΎΠ½ΡΠΎΠ»Ρ, ΠΈ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΡΡΡΠ°ΡΠ½ΡΠ΅ Π²Π΅ΡΠΈ Π² Π½Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ β ΠΈΡΠΊΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π΄Π²ΠΈΠ³Π°ΡΡ Π»ΠΈΠ½ΠΈΠΈ). ΠΠΎ Π² ΡΠΈΠ»Ρ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π²ΡΡΠ΅ ΠΏΡΠΈΡΠΈΠ½ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΡΡΠΎ ΠΎΠ±ΠΌΠ΅Π½ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π° Π³ΠΈΠ±ΠΊΠΎΡΡΡ, ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ Π² cli Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠ΅ ΡΡΠΈΠ»ΠΈΡΡ-ΡΡΠ½ΠΊΡΠΈΠΈ. Π ΠΈΠΌΠ΅Π½Π½ΠΎ Π² ΡΡΠΎΠΌ ΡΡΡΡ ΠΈ Π³Π΅Π½ΠΈΠ°Π»ΡΠ½ΠΎΡΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
Π ΠΈΡ. 3. ΠΠΎΠΌΠ°Π½Π΄Π½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΠ²ΡΠΎΠΊΠ°Π΄Π°.