ΠΡΠ΅Π΄ΠΈ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅ (Π΅ΡΠ΅Π½ΡΠ° Π½Π° 2016), ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π½ΠΎΠ²Π° Π²Π΅ΡΡΠΈΡ Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ½Π°ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅, Π² Π΅ΠΊΠΈΠΏΠ° Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π²ΡΠ·Π½ΠΈΠΊΠ½Π° Π²ΡΠΏΡΠΎΡΡΡ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Π½ΠΎΠ²ΠΈΡ ΡΡΠ°Π½Π΄Π°ΡΡ Π² Π½Π°ΡΠΈΡ ΠΊΠΎΠ΄. ΠΡΠ΅Ρ ΠΎΠ΄ΡΡ ΠΊΡΠΌ Π½ΠΎΠ²ΠΈΡ ΡΡΠ°Π½Π΄Π°ΡΡ, ΠΊΠ°ΠΊΡΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ ΠΌΠ΅, ΡΠ΅ΡΠ΅ Π΄Π° Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° ΠΏΠΈΡΠ΅ΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ΡΠ° ΠΏΠΎ-Π΅Π»Π΅Π³Π°Π½ΡΠ½ΠΎ, ΠΏΠΎ-ΠΏΡΠΎΡΡΠΎ ΠΈ ΠΏΠΎ-Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ, ΡΠ»Π΅ΡΠ½ΡΠ²Π°ΠΉΠΊΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ²ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄Π°. Π Π² ΠΏΡΠ΅Π²ΠΎΠ΄Π° Π½ΡΠΌΠ° Π½ΠΈΡΠΎ Π΅ΠΊΡΡΡΠ°ΠΎΡΠ΄ΠΈΠ½Π°ΡΠ½ΠΎ, Π°ΠΊΠΎ Π½Π΅ ΡΠ΅ Π²Π·Π΅ΠΌΠ°Ρ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΠΌΠ°ΡΠ°Π±ΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ΄ΠΎΠ²Π°ΡΠ° Π±Π°Π·Π° ΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° Π½Π°ΡΠΈΡ ΠΊΠΎΠ΄.
ΠΠ° ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ Π·Π½Π°ΡΡ, 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ β ΡΠΎΠ²Π° Π΅ ΡΡΠ΅Π΄Π° Π·Π° Π±ΡΡΠ·ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ Π½Π° ΠΊΡΠΎΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½ΠΈ Π±ΠΈΠ·Π½Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ runtime Π·Π° ΡΡΡ Π½ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΠ‘ ΠΈ Π‘Π£ΠΠ. Π ΠΎΠ±ΡΠΈ Π»ΠΈΠ½ΠΈΠΈ, Π² ΡΡΡΡΠ°Π²Π° Π½Π° ΠΏΡΠΎΠ΄ΡΠΊΡΠ° Π²Π»ΠΈΠ·Π°Ρ:
- , ΡΠ°Π±ΠΎΡΠΈ Π½Π° Windows ΠΈ Linux
- , ΡΠ°Π±ΠΎΡΠ΅Ρ Ρ ΡΡΡΠ²ΡΡ ΠΏΠΎ http(s) ΠΈΠ»ΠΈ ΠΏΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½ Π±ΠΈΠ½Π°ΡΠ΅Π½ ΠΏΡΠΎΡΠΎΠΊΠΎΠ», ΡΠ°Π±ΠΎΡΠΈ Π½Π° Windows, Linux, macOS
- , ΡΠ°Π±ΠΎΡΠ΅Ρ Π² Π±ΡΠ°ΡΠ·ΡΡΠΈΡΠ΅ Chrome, Internet Explorer, Microsoft Edge, Firefox, Safari (Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° JavaScript)
- Π‘ΡΠ΅Π΄Π° Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° (), ΡΠ°Π±ΠΎΡΠΈ Π½Π° Windows, Linux, macOS
- Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ°Π±ΠΎΡΡΡ Π½Π° Windows, Linux, macOS
- , ΡΠ²ΡΡΠ·Π²Π°Ρ ΡΠ΅ ΡΡΡ ΡΡΡΠ²ΡΡΠ° ΠΏΠΎ http(s), ΡΠ°Π±ΠΎΡΠΈ Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Ρ Android, iOS, Windows
- β ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΎΡΠ»Π°ΠΉΠ½ ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ, ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Π½Π° Android, iOS, Windows
- Π‘ΡΠ΅Π΄Π° Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° , Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° Java
- Π‘ΡΡΠ²ΡΡ
ΠΠΈΠ΅ ΡΠ΅ ΡΡΠ°ΡΠ°Π΅ΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΎ Π΄Π° ΠΏΠΈΡΠ΅ΠΌ Π΅Π΄ΠΈΠ½ ΠΊΠΎΠ΄ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΠ‘ β ΠΊΠΎΠ΄ΠΎΠ²Π°ΡΠ° Π±Π°Π·Π° Π½Π° ΡΡΡΠ²ΡΡΠ° Π΅ ΠΎΠ±ΡΠ° Π½Π° 99%, ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ β ΠΎΠΊΠΎΠ»ΠΎ 95%. Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ½Π°ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ Π΅ ΠΏΡΠ΅Π΄ΠΈΠΌΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° C++ ΠΈ ΠΏΠΎ-Π΄ΠΎΠ»Ρ ΡΠ° ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° ΠΊΠΎΠ΄Π°:
- 10 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΡΠ΅Π΄Π° C++ ΠΊΠΎΠ΄,
- 14 Ρ ΠΈΠ»ΡΠ΄ΠΈ ΡΠ°ΠΉΠ»Π°,
- 60 Ρ ΠΈΠ»ΡΠ΄ΠΈ ΠΊΠ»Π°ΡΠ°,
- ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½ ΠΌΠΈΠ»ΠΈΠΎΠ½ ΠΌΠ΅ΡΠΎΠ΄Π°.
Π Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠ΅Π²Π΅Π΄Π΅Π½ΠΎ Π½Π° C++14. ΠΠ° ΡΠΎΠ²Π° ΠΊΠ°ΠΊ Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡ ΠΌΠ΅ ΠΈ Ρ ΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°ΡΠ΅Π»ΡΡΠ²Π° ΡΠ΅ ΡΠ±Π»ΡΡΠΊΠ°Ρ ΠΌΠ΅ Π² ΠΏΡΠΎΡΠ΅ΡΠ°, ΡΠ΅ ΡΠ°Π·ΠΊΠ°ΠΆΠ΅ΠΌ Π΄Π½Π΅Ρ.

ΠΠΈΡΠΊΠ»Π΅ΠΉΠΌΠ΅Ρ
ΠΡΠΈΡΠΊΠΎ, Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ ΠΏΠΎ-Π΄ΠΎΠ»Ρ Π·Π° Π±Π°Π²Π½ΠΎΡΠΎ/Π±ΡΡΠ·ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ (Π½Π΅)Π³ΠΎΠ»ΡΠΌΠΎΡΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡΠ΅ ΠΊΠ»Π°ΡΠΎΠ²Π΅ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΎΠ·Π½Π°ΡΠ°Π²Π° Π΅Π΄Π½ΠΎ: ΡΠΎΠ²Π° Π΅ Π²Π°Π»ΠΈΠ΄Π½ΠΎ ΠΠ ΠΠΠ‘. ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π° ΡΠ°Π±ΠΎΡΡΡ Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠ΅ Π·Π° Π²Π°ΡΠΈΡΠ΅ Π·Π°Π΄Π°ΡΠΈ. ΠΠΈΠ΅ ΠΎΠ±Π°ΡΠ΅ ΡΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄Π΅Ρ ΠΌΠ΅ ΠΎΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡΠ΅ ΡΠΈ Π½ΡΠΆΠ΄ΠΈ: Π²Π·Π΅Ρ ΠΌΠ΅ ΡΠΈΠΏΠΈΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΎΡ Π½Π°ΡΠΈΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ, ΠΏΡΡΠ½Π°Ρ ΠΌΠ΅ Π³ΠΈ ΠΏΡΠ΅Π· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΈ, Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ ΠΌΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°, ΠΎΠ±Π΅ΠΌΠ° Π½Π° ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΠΌΠ°ΡΠ° ΠΏΠ°ΠΌΠ΅Ρ ΠΈ Ρ.Π½., ΠΈ ΠΎΡΠ΅Π½ΡΠ²Π°Ρ ΠΌΠ΅ β ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΠ²Π°Ρ Π»ΠΈ Π½ΠΈ ΠΈ Π½Π°ΡΠΈΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ ΡΠ΅Π·ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ ΠΈΠ»ΠΈ Π½Π΅. Π Π²Π·Π΅ΠΌΠ°Ρ ΠΌΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΡΠΎΠ²Π°.
ΠΠ°ΠΊΠ²ΠΎ ΠΈΠΌΠ°Ρ ΠΌΠ΅
ΠΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ ΠΏΠΈΡΠ΅Ρ ΠΌΠ΅ ΠΊΠΎΠ΄Π° Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ 8 Π² Microsoft Visual Studio. ΠΡΠΎΠ΅ΠΊΡΡΡ Π·Π°ΠΏΠΎΡΠ½Π° Π² Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° 2000-ΡΠ΅ ΠΈ ΠΈΠΌΠ°Ρ ΠΌΠ΅ Π²Π΅ΡΡΠΈΡ ΡΠ°ΠΌΠΎ Π·Π° Windows. Π Π°Π·Π±ΠΈΡΠ° ΡΠ΅, ΠΎΡΡΠΎΠ³Π°Π²Π° ΠΊΠΎΠ΄ΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ΅ ΡΠ°Π·Π²ΠΈ, ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π±ΡΡ Π° Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΏΡΠ΅Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ. ΠΠΎ ΠΊΠΎΠ΄ΡΡ Π±Π΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡ ΠΎΡ 1998 Π³ΠΎΠ΄ΠΈΠ½Π°, ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π΅ΡΠ½ΠΈΡΠ΅ Π°Π³ΠΎΠ»Π½ΠΈ ΡΠΊΠΎΠ±ΠΈ Π±ΡΡ Π° ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈ Ρ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΈ, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΡΠ° Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ, ΡΠ°ΠΊΠ°:
vector<vector > IntV;ΠΡΠ΅Π· 2006 Π³ΠΎΠ΄ΠΈΠ½Π°, Ρ ΠΈΠ·Π»ΠΈΠ·Π°Π½Π΅ΡΠΎ Π½Π° Π²Π΅ΡΡΠΈΡ 8.1 Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ°, Π·Π°ΠΏΠΎΡΠ½Π°Ρ ΠΌΠ΅ Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΠΌΠ΅ Linux ΠΈ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Ρ ΠΌΠ΅ Π½Π° Π²ΡΠ½ΡΠ½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° . ΠΠ΄Π½Π° ΠΎΡ ΠΏΡΠΈΡΠΈΠ½ΠΈΡΠ΅ Π·Π° ΠΏΡΠ΅Ρ ΠΎΠ΄Π° Π±Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Ρ ΡΠΈΡΠΎΠΊΠΈ Π½ΠΈΠ·ΠΎΠ²Π΅. Π Π½Π°ΡΠΈΡ ΠΊΠΎΠ΄ Π½Π°Π²ΡΡΠΊΡΠ΄Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ std::wstring, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° ΡΠΈΠΏΠ° wchar_t. ΠΠ΅Π³ΠΎΠ²ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ Π² Windows Π΅ 2 Π±Π°ΠΉΡΠ°, Π° Π² Linux ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΅ 4 Π±Π°ΠΉΡΠ°. Π’ΠΎΠ²Π° Π²ΠΎΠ΄Π΅ΡΠ΅ Π΄ΠΎ Π½Π΅ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Π½Π° Π½Π°ΡΠΈΡΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ ΡΡΡΠ²ΡΡΠ°, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈΡΠ΅ ΠΏΠ΅ΡΡΠΈΡΡΠ΅Π½ΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ. ΠΠΏΡΠΈΠΈΡΠ΅ Π½Π° gcc ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π΄Π° ΡΠ΅ Π·Π°Π΄Π°Π΄Π΅ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° wchar_t ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ ΡΡΡΠΎ Π΄Π° Π΅ 2 Π±Π°ΠΉΡΠ°, Π½ΠΎ ΡΠΎΠ³Π°Π²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°Π±ΡΠ°Π²ΠΈΠΌ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΎΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΡ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° glibc, Π° ΡΡ ΠΎΡ ΡΠ²ΠΎΡ ΡΡΡΠ°Π½Π° Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π° Π·Π° 4-Π±Π°ΠΉΡΠ½Π° wchar_t. ΠΡΡΠ³ΠΈ ΠΏΡΠΈΡΠΈΠ½ΠΈ Π±ΡΡ Π° ΠΏΠΎ-ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π°ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡΠ΅ ΠΊΠ»Π°ΡΠΎΠ²Π΅, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Ρ Π΅Ρ-ΡΠ°Π±Π»ΠΈΡΠΈ ΠΈ Π΄ΠΎΡΠΈ Π΅ΠΌΡΠ»Π°ΡΠΎΡΠΈ Π½Π° ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ° Π·Π° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅. Π ΠΎΡΠ΅ Π΅Π΄Π½Π° ΠΏΡΠΈΡΠΈΠ½Π°, ΠΊΠ°Π·Π²Π°Ρ βΠΏΠΎΡΠ»Π΅Π΄Π½Π°, Π½ΠΎ Π½Π΅ ΠΈ ΠΏΠΎ Π²Π°ΠΆΠ½ΠΎΡΡβ, Π±Π΅ΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π½ΠΈΠ·ΠΎΠ²Π΅ΡΠ΅. ΠΠΌΠ°Ρ ΠΌΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½ ΠΊΠ»Π°Ρ Π·Π° Π½ΠΈΠ·ΠΎΠ²Π΅, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π·Π°ΡΠ°Π΄ΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠ° Π½Π° Π½Π°ΡΠΈΡ ΡΠΎΡΡΡΠ΅Ρ Π½ΠΈΠ·ΠΎΠ²ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠΎΠΊΠΎ ΠΈ Π·Π° Π½Π°Ρ ΡΠΎΠ²Π° Π΅ ΠΊΡΠΈΡΠΈΡΠ½ΠΎ.
ΠΠ°ΡΠΈΡΡ Π½ΠΈΠ· Π΅ Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° ΠΈΠ΄Π΅ΠΈΡΠ΅ Π·Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° Π½ΠΈΠ·ΠΎΠ²Π΅ΡΠ΅, ΠΈΠ·ΠΊΠ°Π·Π°Π½ΠΈ ΠΎΡΠ΅ Π² Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° 2000-ΡΠ΅ . ΠΠΎ-ΠΊΡΡΠ½ΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΠ»Π΅ΠΊΡΠ°Π½Π΄ΡΠ΅ΡΠΊΡ ΡΠ°Π±ΠΎΡΠ΅ΡΠ΅ Π²ΡΠ² Facebook, ΠΏΠΎ Π½Π΅Π³ΠΎΠ²Π° ΠΈΠ½ΠΈΡΠΈΠ°ΡΠΈΠ²Π° Π² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Facebook Π±Π΅ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° ΡΡΡΠΈΠ½Π³, ΠΊΠΎΡΡΠΎ ΡΠ°Π±ΠΎΡΠΈ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ (Π²ΠΈΠΆΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° ).
Π Π½Π°ΡΠΈΡ ΡΡΡΠΈΠ½Π³ Π±ΡΡ Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π΄Π²Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π·Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ:
- ΠΠ° ΠΊΡΠ°ΡΠΊΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π²ΡΡΡΠ΅ΡΠ΅Π½ Π±ΡΡΠ΅Ρ Π² ΡΠ°ΠΌΠΈΡ ΠΎΠ±Π΅ΠΊΡ Π½Π° ΡΡΡΠΈΠ½Π³Π° (Π½Π΅ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° Π°Π»ΠΎΠΊΠ°ΡΠΈΡ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ).
- ΠΠ° Π²ΡΠΈΡΠΊΠΈ ΠΎΡΡΠ°Π½Π°Π»ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠΊΠ°ΡΠ° . Π‘ΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° ΡΡΡΠΈΠ½Π³Π° ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π° Π½Π° Π΅Π΄Π½ΠΎ ΠΌΡΡΡΠΎ, ΠΏΡΠΈ ΠΏΡΠΈΡΠ²ΠΎΡΠ²Π°Π½Π΅/ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±ΡΠΎΡΡ Π½Π° ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ.
ΠΠ° Π΄Π° ΡΡΠΊΠΎΡΠΈΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΡΠ° Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ°, ΠΈΠ·ΠΊΠ»ΡΡΠΈΡ ΠΌΠ΅ ΠΎΡ Π½Π°ΡΠΈΡ Π²Π°ΡΠΈΠ°Π½Ρ Π½Π° STLPort ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΠΏΠΎΡΠΎΡΠΈΡΠ΅ (ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅), ΠΊΠΎΠ΅ΡΠΎ Π½ΠΈ Π΄Π°Π΄Π΅ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΡΠ° ΠΎΡ ΠΎΠΊΠΎΠ»ΠΎ 20%. ΠΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ Π½ΠΈ ΡΠ΅ Π½Π°Π»ΠΎΠΆΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ . Boost Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎΡΠΎΡΠΈ, ΠΏΠΎ-ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ Π² ΡΠ²ΠΎΠΈΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠ½ΠΈ API (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° Π»ΠΎΠ³Π²Π°Π½Π΅), Π·Π°ΡΠΎΠ²Π° Π½ΠΈ ΡΠ΅ Π½Π°Π»ΠΎΠΆΠΈ Π΄Π° Π³ΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°ΠΌΠ΅, ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°ΠΉΠΊΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΡΠΎΡΠΈ ΠΎΡ Π½Π΅Π³ΠΎ. Π’ΠΎΠ²Π°, ΠΎΡ ΡΠ²ΠΎΡ ΡΡΡΠ°Π½Π°, Π·Π°ΡΡΡΠ΄Π½ΡΠ²Π°ΡΠ΅ ΠΏΡΠ΅Ρ ΠΎΠ΄Π° Π½ΠΈ ΠΊΡΠΌ Π½ΠΎΠ²ΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° Boost.
Π’ΡΠ΅ΡΠΈΡΡ ΠΏΡΡ
ΠΡΠΈ ΠΏΡΠ΅Ρ ΠΎΠ΄Π° ΠΊΡΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ° C++14 ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°Ρ ΠΌΠ΅ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΎΠΏΡΠΈΠΈ:
- ΠΠ° ΠΏΠΎΠ²Π΄ΠΈΠ³Π½Π΅ΠΌ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈΡ ΠΎΡ Π½Π°Ρ STLPort Π΄ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ° C++14. ΠΠΏΡΠΈΡΡΠ° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½Π°, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° STLPort Π±Π΅ΡΠ΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° ΠΏΡΠ΅Π· 2010 Π³. ΠΈ ΡΠ΅ΡΠ΅ Π΄Π° ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΠΌΠ΅ ΡΠ΅Π»ΠΈΡ ΠΌΡ ΠΊΠΎΠ΄ ΡΠ°ΠΌΠΈ.
- ΠΡΠ΅Ρ ΠΎΠ΄ Π½Π° Π΄ΡΡΠ³Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° STL, ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠ° Ρ C++14. Π‘ΠΈΠ»Π½ΠΎ ΠΆΠ΅Π»Π°ΡΠ΅Π»Π½ΠΎ Π΅ ΡΠ°Π·ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄Π° Π±ΡΠ΄Π΅ Π·Π° Windows ΠΈ Linux.
- ΠΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π²Π³ΡΠ°Π΄Π΅Π½Π° Π² ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Π·Π° Π²ΡΡΠΊΠ° ΠΠ‘.
ΠΡΡΠ²ΠΈΡΡ Π²Π°ΡΠΈΠ°Π½Ρ Π±Π΅ΡΠ΅ ΠΎΡΡ Π²ΡΡΠ»Π΅Π½ Π²Π΅Π΄Π½Π°Π³Π° ΠΏΠΎΡΠ°Π΄ΠΈ ΠΏΡΠ΅ΠΊΠ°Π»Π΅Π½ΠΎ Π³ΠΎΠ»ΡΠΌ ΠΎΠ±Π΅ΠΌ ΡΠ°Π±ΠΎΡΠ°.
ΠΡΠΊΠΎΠ»ΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΌΠΈΡΠ»Π΅Ρ ΠΌΠ΅ ΠΏΠΎ Π²ΡΠΎΡΠΈΡ Π²Π°ΡΠΈΠ°Π½Ρ; ΠΊΠ°ΡΠΎ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°Ρ ΠΌΠ΅ , Π½ΠΎ ΠΏΠΎ ΠΎΠ½ΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠ΅ΡΠ΅ ΠΏΠΎΠ΄ Windows. ΠΠ° Π΄Π° ΠΏΠΎΡΡΠ½Π΅ΠΌ libc++ Π½Π° Windows, ΡΠ΅ΡΠ΅ Π΄Π° ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ²ΡΡΡΠΈΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΠ° β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π° ΠΏΠΈΡΠ΅ΠΌ ΡΠ°ΠΌΠΈ Π²ΡΠΈΡΠΊΠΎ, ΡΠ²ΡΡΠ·Π°Π½ΠΎ Ρ ΠΏΠΎΡΠΎΡΠΈΡΠ΅, ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΠΏΠΎΡΠΎΠΊΠΈΡΠ΅ ΠΈ Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΡΡΡΠ°, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π² libc++ Π² ΡΠ΅Π·ΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ .
Π Π½ΠΈΠ΅ ΠΈΠ·Π±ΡΠ°Ρ ΠΌΠ΅ ΡΡΠ΅ΡΠΈΡ ΠΏΡΡ.
ΠΡΠ΅Ρ ΠΎΠ΄
Π ΡΠ°ΠΊΠ°, Π½ΠΈ ΠΏΡΠ΅Π΄ΡΡΠΎΠ΅ΡΠ΅ Π΄Π° Π·Π°ΠΌΠ΅Π½ΠΈΠΌ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° STLPort Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π° ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠΈ (Visual Studio 2015 Π·Π° Windows, gcc 7 Π·Π° Linux, clang 8 Π·Π° macOS).
ΠΠ° ΡΠ°ΡΡΠΈΠ΅, Π½Π°ΡΠΈΡΡ ΠΊΠΎΠ΄ Π±Π΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ ΠΎΡΠ½ΠΎΠ²Π½ΠΎ ΠΏΠΎ Π½Π°ΡΠΎΠΊΠΈ ΠΈ Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π²ΡΡΠΊΠ°ΠΊΠ²ΠΈ Ρ ΠΈΡΡΠΈ ΡΡΠΈΠΊΠΎΠ²Π΅, ΡΠ°ΠΊΠ° ΡΠ΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡΠ° ΠΊΡΠΌ Π½ΠΎΠ²ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΠ΅ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»Π½ΠΎ Π³Π»Π°Π΄ΠΊΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅, Π·Π°ΠΌΠ΅Π½ΡΡΠΈ Π² ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈΠΌΠ΅Π½Π°ΡΠ° Π½Π° ΡΠΈΠΏΠΎΠ²Π΅, ΠΊΠ»Π°ΡΠΎΠ²Π΅, ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΎΡ ΠΈΠΌΠ΅Π½Π° ΠΈ Π²ΠΊΠ»ΡΡΠ²Π°Π½ΠΈΡ. ΠΠΈΠ³ΡΠ°ΡΠΈΡΡΠ° Π·Π°ΡΠ΅Π³Π½Π° 10 000 ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈ ΡΠ°ΠΉΠ»Π° (ΠΎΡ 14 000). wchar_t Π±Π΅ΡΠ΅ Π·Π°ΠΌΠ΅Π½Π΅Π½ Ρ char16_t; ΡΠ΅ΡΠΈΡ ΠΌΠ΅ Π΄Π° ΡΠ΅ ΠΎΡΠΊΠ°ΠΆΠ΅ΠΌ ΠΎΡ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° wchar_t, ΡΡΠΉ ΠΊΠ°ΡΠΎ char16_t Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΠ‘ Π·Π°Π΅ΠΌΠ° 2 Π±Π°ΠΉΡΠ° ΠΈ Π½Π΅ ΡΠ°Π·Π²Π°Π»Ρ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΠ° Π½Π° ΠΊΠΎΠ΄Π° ΠΌΠ΅ΠΆΠ΄Ρ Windows ΠΈ Linux.
ΠΠ΅ ΠΌΠΈΠ½Π° ΠΈ Π±Π΅Π· ΠΌΠ°Π»ΠΊΠΈ ΠΏΡΠΈΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² STLPort ΠΈΡΠ΅ΡΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π΅ΡΠ²Π½ΠΎ Π΄Π° ΡΠ΅ ΠΊΠ°ΡΡΠ²Π° Π² ΡΠΊΠ°Π·Π°ΡΠ΅Π» ΠΊΡΠΌ Π΅Π»Π΅ΠΌΠ΅Π½Ρ, ΠΈ Π² Π½ΡΠΊΠΎΠΈ ΡΠ°ΡΡΠΈ Π½Π° Π½Π°ΡΠΈΡ ΠΊΠΎΠ΄ ΡΠΎΠ²Π° Π±Π΅ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΎ. Π Π½ΠΎΠ²ΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π° Π²Π΅ΡΠ΅ Π½Π΅ Π±Π΅ΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈ ΡΠ΅Π·ΠΈ ΠΌΠ΅ΡΡΠ° ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° Π±ΡΠ΄Π°Ρ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΈ ΠΏΡΠ΅Π½Π°ΠΏΠΈΡΠ²Π°Π½ΠΈ ΡΡΡΠ½ΠΎ.
Π ΡΠ°ΠΊΠ°, ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡΠ° Π½Π° ΠΊΠΎΠ΄Π° ΠΏΡΠΈΠΊΠ»ΡΡΠΈ, ΠΊΠΎΠ΄ΡΡ ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ° Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΠ‘. ΠΡΠ΅ΠΌΠ΅ Π΅ Π·Π° ΡΠ΅ΡΡΠΎΠ²Π΅.
Π’Π΅ΡΡΠΎΠ²Π΅ΡΠ΅ ΡΠ»Π΅Π΄ ΠΏΡΠ΅Ρ ΠΎΠ΄Π° ΠΏΠΎΠΊΠ°Π·Π°Ρ Π° ΡΠΏΠ°Π΄ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° (Π½Π° ΠΌΠ΅ΡΡΠ° Π΄ΠΎ 20-30%) ΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ (Π΄ΠΎ 10-15%) Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΊΠΎΠ΄Π°. Π’ΠΎΠ²Π° Π±Π΅ΡΠ΅, Π² ΡΠ°ΡΡΠ½ΠΎΡΡ, ΡΠ²ΡΡΠ·Π°Π½ΠΎ Ρ Π½Π΅ΠΎΠΏΡΠΈΠΌΠ°Π»Π½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡΠ΅ Π½ΠΈΠ·ΠΎΠ²Π΅. ΠΠ°ΡΠΎΠ²Π° ΠΎΡΠ½ΠΎΠ²ΠΎ ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π½Π°Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½, Π»Π΅ΠΊΠΎ ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠ΅Π½ Π½ΠΈΠ·.
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π° ΠΎΡΠΎΠ±Π΅Π½ΠΎΡΡ Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅ Π² Π²Π³ΡΠ°Π΄Π΅Π½ΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ: ΠΏΡΠ°Π·Π½ΠΈΡΠ΅ (Π±Π΅Π· Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ) std::map ΠΈ std::set ΠΎΡ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π°Π»ΠΎΠΊΠΈΡΠ°Ρ Π° ΠΏΠ°ΠΌΠ΅Ρ. Π Π² Π½Π°ΡΠΈΡ ΠΊΠΎΠ΄ ΠΏΠΎΡΠ°Π΄ΠΈ ΠΎΡΠΎΠ±Π΅Π½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΠΌΠ΅ΡΡΠ° ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ Π΄ΠΎΡΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠ°Π·Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΡΠΈΠΏΠ°. Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Π°Π»ΠΎΠΊΠΈΡΠ°Ρ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠ°ΠΌΠ΅Ρ, Π·Π° Π΅Π΄ΠΈΠ½ ΠΊΠΎΡΠ΅Π½ΠΎΠ² Π΅Π»Π΅ΠΌΠ΅Π½Ρ, Π½ΠΎ Π·Π° Π½Π°Ρ ΡΠΎΠ²Π° ΡΠ΅ ΠΎΠΊΠ°Π·Π° ΠΊΡΠΈΡΠΈΡΠ½ΠΎ β Π² ΡΠ΅Π΄ΠΈΡΠ° ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π½ΠΈ ΡΠΏΠ°Π΄Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΈ Π½Π°ΡΠ°ΡΠ½Π° ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ (Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ STLPort). ΠΠ°ΡΠΎΠ²Π° Π·Π°ΠΌΠ΅Π½ΠΈΡ ΠΌΠ΅ Π² Π½Π°ΡΠΈΡ ΠΊΠΎΠ΄ ΡΠ΅Π·ΠΈ Π΄Π²Π° ΡΠΈΠΏΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΎΡ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Ρ ΡΡΡ Π½Π°ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΡ Boost, ΠΊΡΠ΄Π΅ΡΠΎ ΡΠ΅Π·ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Π½ΡΠΌΠ°Ρ ΡΠ°ΠΊΠ°Π²Π° ΠΎΡΠΎΠ±Π΅Π½ΠΎΡΡ, ΠΈ ΡΠΎΠ²Π° ΡΠ΅ΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ Π·Π°Π±Π°Π²ΡΠ½Π΅ΡΠΎ ΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΎΡΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ.
ΠΠ°ΠΊΡΠΎ ΡΠ΅ΡΡΠΎ ΡΠ΅ ΡΠ»ΡΡΠ²Π° ΡΠ»Π΅Π΄ ΠΌΠ°ΡΠ°Π±Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ, ΠΏΡΡΠ²Π°ΡΠ° ΠΈΡΠ΅ΡΠ°ΡΠΈΡ Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡΠΈΡΠ΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠ΅ΡΠ΅ Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΈ ΡΡΠΊ Π½ΠΈ Π±Π΅ΡΠ΅ ΠΎΡ ΠΏΠΎΠ»Π·Π°, Π² ΡΠ°ΡΡΠ½ΠΎΡΡ, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΎΡΠ»Π°Π΄ΡΡΠ½ΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠΈ Π² Windows ΡΠ΅Π°Π»ΠΈΠ·ΡΠΈΡΡΠ°. Π‘ΡΡΠΏΠΊΠ° ΠΏΠΎ ΡΡΡΠΏΠΊΠ° Π½Π°ΠΏΡΠ΅Π΄Π²Π°Ρ ΠΌΠ΅, ΠΈ Π΄ΠΎ ΠΏΡΠΎΠ»Π΅ΡΡΠ° Π½Π° 2017 (Π²Π΅ΡΡΠΈΡ 8.3.11 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ) ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡΠ° Π±Π΅ΡΠ΅ Π·Π°Π²ΡΡΡΠ΅Π½Π°.
ΠΡΠΎΠ³
ΠΡΠ΅Ρ ΠΎΠ΄ΡΡ ΠΊΡΠΌ ΡΡΠ°Π½Π΄Π°ΡΡ C++14 ΠΎΡΠ½Π΅ ΠΎΠΊΠΎΠ»ΠΎ 6 ΠΌΠ΅ΡΠ΅ΡΠ°. ΠΠΎ-Π³ΠΎΠ»ΡΠΌΠ°ΡΠ° ΡΠ°ΡΡ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΠΏΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ°Π±ΠΎΡΠ΅ΡΠ΅ Π΅Π΄ΠΈΠ½ (Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΠΈΡΠ΅Π½) ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, Π° Π½Π° ΡΠΈΠ½Π°Π»Π½ΠΈΡ Π΅ΡΠ°ΠΏ ΡΠ΅ ΠΏΡΠΈΡΡΠ΅Π΄ΠΈΠ½ΠΈΡ Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»ΠΈ Π½Π° Π΅ΠΊΠΈΠΏΠΈΡΠ΅, ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΈ Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ - UI, ΠΊΠ»ΡΡΡΠ΅ΡΠ° Π½Π° ΡΡΡΠ²ΡΡΠΈΡΠ΅, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠ΅ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΡ ΠΈ Ρ.Π½.
ΠΡΠ΅Ρ ΠΎΠ΄ΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΎΠΏΡΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½ΠΈ ΠΏΠΎ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡΠ° ΠΊΡΠΌ Π½Π°ΠΉ-Π½ΠΎΠ²ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Π΅ΡΡΠΈΡ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ 8.3.14 (Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, ΡΠ΅Π»ΠΈΠ·ΡΡ Π΅ ΠΏΠ»Π°Π½ΠΈΡΠ°Π½ Π·Π° Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° ΡΠ»Π΅Π΄Π²Π°ΡΠ°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π°) Π²Π΅ΡΠ΅ Π΅ ΠΏΡΠ΅Π²Π΅Π΄Π΅Π½Π° Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ° .
Π‘Π»Π΅Π΄ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡ Π° ΠΏΠΎΠ²Π΅ΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ. ΠΠΊΠΎ ΠΏΡΠ΅Π΄ΠΈ ΠΈΠΌΠ°Ρ ΠΌΠ΅ ΡΠ²ΠΎΡ Π΄ΠΎΡΠ°Π±ΠΎΡΠ΅Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° STL ΠΈ Π΅Π΄Π½ΠΎ ΠΈΠΌΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ std, ΡΠΎ ΡΠ΅Π³Π° Π² ΠΈΠΌΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΡΠΎ std ΡΠ΅ Π½Π°ΠΌΠΈΡΠ°Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡΠ΅ ΠΊΠ»Π°ΡΠΎΠ²Π΅ ΠΎΡ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ°, Π² ΠΈΠΌΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΡΠΎ stdx - Π½Π°ΡΠΈΡΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π·Π° Π½Π°ΡΠΈΡΠ΅ Π·Π°Π΄Π°ΡΠΈ Π½ΠΈΠ·ΠΎΠ²Π΅ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, Π² boost - Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° boost. Π ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡΡ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ»Π°ΡΠΎΠ²Π΅ΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΎΠΏΡΠΈΠΌΠ°Π»Π½ΠΎ ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ Π½Π° ΡΠ΅ΡΠ΅Π½ΠΈΡΡΠ° Π½Π° Π·Π°Π΄Π°ΡΠΈΡΠ΅ ΡΠΈ.
ΠΠΎΠΌΠ°Π³Π° Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° ΠΈ βΡΠΎΠ΄Π½Π°ΡΠ°β ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΈΡΠ΅ Π·Π° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ () Π·Π° ΡΠ΅Π΄ΠΈΡΠ° ΠΊΠ»Π°ΡΠΎΠ²Π΅. ΠΠΊΠΎ ΠΊΠ»Π°ΡΡΡ ΠΈΠΌΠ° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π·Π° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ ΠΈ ΡΠΎΠ·ΠΈ ΠΊΠ»Π°Ρ ΡΠ΅ ΠΏΠΎΡΡΠ°Π²ΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, STL ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ° ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡΡ ΡΠ΅ ΡΠ°Π·ΡΠΈΡΡΠ²Π° ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ capacity ΠΈ Π΄Π° ΡΠ΅ ΡΠ΅Π°Π»ΠΎΡΠΈΡΠ° ΠΏΠ°ΠΌΠ΅Ρ).
ΠΡΠΆΠΈΡΠΊΠ° ΠΊΠ°ΡΡΠ°Π½
ΠΠ°ΠΉ-Π²Π΅ΡΠΎΡΡΠ½ΠΎ Π½Π°ΠΉ-Π½Π΅ΠΊΠΎΡΠ΅ΡΠ½ΠΎΡΠΎ (Π½ΠΎ Π½Π΅ ΠΊΡΠΈΡΠΈΡΠ½ΠΎ) ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΠΎΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡΠ° - ΡΡΠ΅ΡΠ½Π°Ρ
ΠΌΠ΅ ΡΠ΅ Ρ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΎΠ±Π΅ΠΌΠ° , ΠΈ ΠΊΡΠ°ΠΉΠ½ΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ ΠΎΡ Π±ΠΈΠ»Π΄Π° ΡΡΡ Π²ΡΠΈΡΠΊΠΈ ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π·Π°ΠΏΠΎΡΠ½Π° Π΄Π° Π·Π°Π΅ΠΌΠ° ΠΎΠΊΠΎΠ»ΠΎ 60 - 70 ΠΠ±. Π’Π°ΠΊΠΎΠ²Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΅ ΡΠ²ΡΡΠ·Π°Π½ΠΎ ΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈΡΠ΅ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΡΠ°Π½Π°Ρ
Π° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΊΡΠΈΡΠΈΡΠ½ΠΈ ΠΊΡΠΌ ΠΎΠ±Π΅ΠΌΠ° Π½Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΡΠ»ΡΠΆΠ΅Π±Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅. Π’ΠΎΠ²Π° Π½Π΅ Π²Π»ΠΈΡΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½ΠΎΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½ΠΎ ΡΡΠ·Π΄Π°Π²Π° ΡΠ΅Π΄ΠΈΡΠ° Π½Π΅ΡΠ΄ΠΎΠ±ΡΡΠ²Π° Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ°, ΠΏΠΎ-ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ. Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Ρ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡΡΠ° Π·Π° ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ ΠΌΡΡΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠ° Π½Π° Π±ΠΈΠ»Π΄ ΡΡΡΠ²ΡΡΠΈΡΠ΅ ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠΈΡΠ΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅. ΠΠ°ΡΠΈΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ ΡΠ°Π±ΠΎΡΡΡ Π²ΡΡΡ
Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π²Π΅ΡΡΠΈΠΈ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ°, ΠΈ ΡΡΠΎΡΠΈΡΠΈ Π³ΠΈΠ³Π°Π±Π°ΠΉΡΠΈ ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΏΠΎΠ½ΡΠΊΠΎΠ³Π° ΡΡΠ·Π΄Π°Π²Π°Ρ ΡΡΡΠ΄Π½ΠΎΡΡΠΈ Π² ΡΠ°Π±ΠΎΡΠ°ΡΠ°. ΠΡΠΎΠ±Π»Π΅ΠΌΡΡ Π΅ Π½Π΅ΠΏΡΠΈΡΡΠ΅Π½, Π½ΠΎ Π½Π΅ ΠΊΡΠΈΡΠΈΡΠ΅Π½, ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΌΡ Π·Π° ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΎΡΠ»ΠΎΠΆΠΈΡ
ΠΌΠ΅. ΠΠ°ΡΠΎ Π΅Π΄ΠΈΠ½ ΠΎΡ Π²Π°ΡΠΈΠ°Π½ΡΠΈΡΠ΅ Π·Π° ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΡΠ΅Ρ
Π½ΠΈΠΊΠ°ΡΠ° (Ρ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡ, Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ Google ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π±ΡΠ°ΡΠ·ΡΡΠ° Chrome).
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
