ΠΡΠΈΠ²Π΅Ρ, Π₯Π°Π±Ρ! ΠΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Ρ
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅:
ApexSQL Compare β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ SQL-ΠΊΠΎΠ΄Π°, ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠ°ΠΏΠΎΠΊ. Π Π°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΊΠΆΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π΄Π»Ρ SSMS ΠΈΠ»ΠΈ Visual Studio.ApexSQL Decrypt β ΠΏΠΎΡΠΎΠΊΠΎΠ²Π°Ρ Π΄Π΅ΡΠΈΡΡΠ°ΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² SQL Server: ΠΏΡΠΎΡΠ΅Π΄ΡΡ, ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΡΠΈΠ³Π³Π΅ΡΠΎΠ² ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ (view). Π Π°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΊΠΆΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π΄Π»Ρ SSMS ΠΈΠ»ΠΈ Visual Studio.ApexSQL Discover β ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² SQL Server ΠΈ ΡΠΎΠΏΡΡΡΡΠ²ΡΡΡΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² SSRS, SSAS ΠΈ SSIS.ApexSQL Refactor β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³Π° ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ SQL-ΠΊΠΎΠ΄Π°. Π Π°Π±ΠΎΡΠ°Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π΄Π»Ρ SSMS ΠΈΠ»ΠΈ Visual Studio.ApexSQL Model β ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² SQL Server. Π Π°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΊΠΆΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π΄Π»Ρ SSMS ΠΈΠ»ΠΈ Visual Studio.ApexSQL Plan β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Execution plans. Π Π°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΊΠΆΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π΄Π»Ρ SSMS.ApexSQL Complete β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ SQL ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ½ΠΈΠΏΠΏΠ΅ΡΡ (ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ Π΄Π»Ρ Π°Π²ΡΠΎΠ·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ). Π Π°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΊΠΆΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π΄Π»Ρ SSMS ΠΈΠ»ΠΈ Visual Studio.ApexSQL Propagate β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ SQL-ΠΊΠΎΠ΄Π° Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΠ Π·Π° ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·.ApexSQL Search β ΡΡΠΈΠ»ΠΈΡΠ° Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π΄Π°Π½Π½ΡΡ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² Π½Π΅Π΄ΡΠ°Ρ SQL Server. Π Π°Π±ΠΎΡΠ°Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π΄Π»Ρ SSMS ΠΈΠ»ΠΈ Visual Studio.ApexSQL DevOps Toolkit β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ CI/CD ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ΠΎΠ². ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΈΠ· Π²ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΡΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ Π²Π΅Π±-ΠΊΠΎΠ½ΡΠΎΠ»Ρ.
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ β ΡΡΠΎ ΡΠ°ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° ΠΏΠ»Π°ΡΠ½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ApexSQL. Π ΠΊΠΎΠ½ΡΠ΅ ΡΡΠ°ΡΡΠΈ ΠΊΡΠ°ΡΠΊΠΎ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ ΡΡΠΎ Ρ Π½ΠΈΡ Π΅ΡΡΡ ΠΈΠ· ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ.
1. ApexSQL Compare
ΠΠΎΡΠΎΡΠΊΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΎ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ
Π Compare ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ, ΠΏΠ°ΠΏΠΊΠΈ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ SQL Server. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π΄Π²ΡΠ½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΈ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ°Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΡΠΊΡΠΈΠΏΡΠ° Π΄Π»Ρ ΡΠΌΠ΅ΡΠ΄ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΎΡΠ»ΠΈΡΠ°ΡΡΠΈΡ ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². Π ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ΡΡΠΈΠ»ΠΈΡΠ° ΡΠΌΠ΅Π΅Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΠ²Π°ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ C#, C++, HTML, JavaScript, PostgreSQL, Python, T-SQL, Visual Basic, XML.
ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ βΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π² SSMS ΠΈ Visual Studio, Π²ΡΠ·ΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈΠ· ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΠΈΠ½ΡΡΠ°Π½ΡΠΎΠ² ΠΠ Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΏΡΡΠΌΠΎ ΠΈΠ· Object Explorer ΠΈ
2. ApexSQL Decrypt
ΠΠΎΡΠΎΡΠΊΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΎ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ
Π Decrypt ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° SSMS ΠΈΠ»ΠΈ Visual Studio ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅ΡΠΈΡΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΡΡΠ½ΠΊΡΠΈΡ, ΡΡΠΈΠ³Π³Π΅Ρ ΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ (view) Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠ»ΠΈΠΊ.
Π ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ DDL ΡΠΊΡΠΈΠΏΡ Π΄Π΅ΡΠΈΡΡΠ°ΡΠΈΠΈ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌ SQL Server.
3. ApexSQL Discover
ΠΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΡ
ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² SQL Server, ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² SSRS, SSAS ΠΈ SSIS ΠΏΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ IP-Π°Π΄ΡΠ΅ΡΠΎΠ² ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
ΠΠ· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΠ ΠΏΠΎ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ. ApexSQL Discover ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΠ»Π°ΡΡ Π½ΠΎΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΠΏΠΎΡΡΡ.
4. ApexSQL Refactor
ΠΠΎΡΠΎΡΠΊΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΎ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ
Π€ΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΡΠΎΠ±ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ²ΠΎΠΉ, ΡΡΠΎΠ±Ρ ΠΊΠΎΠ΄ Π²ΡΠ³Π»ΡΠ΄Π΅Π» Π΄Π»Ρ Π²Π°Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡΠΈΠ²ΡΡΠ½ΠΎ. Refactor ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΠ²Π°ΡΡ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² ΠΊΠΎΠ΄Π΅, ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π±Π»ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° Π² ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡ Β«*Β» Π² ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ.
ΠΠ΄Π½Π° ΠΈΠ· ΠΏΠΎΠ»Π΅Π·Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ β ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡ Π΄Π»Ρ ΠΎΡΠ΄Π΅Π»Π΅Π½ΠΈΡ Π½Π°ΠΈΠΌΠ΅Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
ΡΡΠΎΠ»Π±ΡΠΎΠ². ΠΠ± ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ
, Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ²Π»ΠΈΡΠ΅Ρ ΡΠ°ΠΊΠΎΠ΅ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅, Refactor ΡΠΎΠΎΠ±ΡΠΈΡ.
Π’Π°ΠΊΠΆΠ΅ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ Refactor ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΌΠ΅Π½ΡΡΡ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π²ΡΠ΅Ρ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ.
ΠΠ± ΡΡΠΈΡ
ΠΈ Π΄ΡΡΠ³ΠΈΡ
ΡΡΠ½ΠΊΡΠΈΡΡ
Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ Ρ
5. ApexSQL Model
Π£ΡΠΈΠ»ΠΈΡΠ° Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΡ SQL Server ΠΈ ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ. Π ΡΡΠΎΠΌ ΠΆΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ DDL-ΠΊΠΎΠ΄. ΠΡΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ.
Π€ΡΠ½ΡΠΈΠΎΠ½Π°Π» Model ΡΠ°ΡΡΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΡ
ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ²
6. ApexSQL Plan
ΠΠΎΡΠΎΡΠΊΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΎ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ
ΠΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. Π’Π°ΠΊΠΆΠ΅ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ApexSQL Plan ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ»Π°Π½Ρ Π² ΠΎΡΡΡΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ°Ρ HTML ΠΈ XML. Π§Π°ΡΡΡΠΉ ΠΊΠ΅ΠΉΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠΉ ΡΡΠΈΠ»ΠΈΡΡ β ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΏΠ»Π°Π½Π° ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ°ΠΌ.
ApexSQL Plan ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π²ΡΠ³ΡΡΠ·ΠΊΡ ΠΈΠ· Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π·Π°ΠΏΡΠΎΡΠΎΠ² (query store) ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ ΡΡΠΈΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² Π²ΠΈΠ΄Π΅ Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ².
7. ApexSQL Complete
ΠΠΎΡΠΎΡΠΊΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΎ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ
Π£ΡΠΊΠΎΡΠΈΡΠ΅Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π°. Π ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Π°Π»ΠΈΠ°ΡΡ, ΡΠ½ΠΈΠΏΠΏΠ΅ΡΡ ΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΡ ΠΊΠΎΠ΄Π°.
8. ApexSQL Propagate
Π ApexSQL Propagate ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΠΠ SQL Server, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΎΡΠ΅ΡΡΠ΄Π½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΠ°ΡΡΡΡΡΡ ΡΡΠΈΠ»ΠΈΡΠΎΠΉ ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
9. ApexSQL Search
ΠΠΎΡΠΎΡΠΊΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΎ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ
ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΠΎΠΈΡΠΊ ΠΏΠΎ ΡΡΡΡΠΊΡΡΡΠ΅ ΠΠ. ΠΡΡΡΠ΄Π° ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈΡ ΡΠ²ΡΠ·ΠΈ. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠΈΡΠΊΠ° ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΡΡΡΡ Π² HTML, CSV ΠΈ Excel.
10. ApexSQL DevOps Toolkit
ΠΠΎΡΠΎΡΠΊΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΎ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ
ΠΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΠΎΠΌ ΡΡΠΈΠ»ΠΈΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ PowerShell ΠΊΠΎΠ΄. Build, Review, Document ΠΈ Deploy Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ApexSQL DevOps Toolkit. ΠΠ΄Π΅ΡΡ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΠ½ΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ½ΠΈΡ-ΡΠ΅ΡΡΡ, Π·Π°Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ»Π°Π³ΠΈΠ½Π° ΠΊ TeamCity, Jenkins ΠΈ Π΄ΡΡΠ³ΠΈΠΌ.
Π Π±Π°Π·Π΅ Π·Π½Π°Π½ΠΈΠΉ ApexSQL Π΅ΡΡΡ
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΡΠ°Π·ΠΎΠ±ΡΠ°Π»ΠΈΡΡ Ρ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΌΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ, Π²ΠΊΡΠ°ΡΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄ΡΠΌ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ»Π°ΡΠ½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΎΠ±Π»Π°Π΄Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡΠ½ΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ.
ApexSQL Audit β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ Π°ΡΠ΄ΠΈΡΠ° ΠΠ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, Π² Ρ.Ρ. ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ HIPAA, GDPR, PCI. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΎΡΡΡΡΡ ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΊΡΠΈΠ½ΡΠΎΡ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ
ApexSQL Backup β Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π±ΡΠΊΠ°ΠΏΠ°, Π»ΠΎΠ³Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ ΠΈ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Π±ΡΠΊΠ°ΠΏΠ°. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±ΡΠΊΠ°ΠΏΠ° ΠΈ Π³ΠΈΠ±ΠΊΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΠΏΠ»Π°Π½Ρ Π±ΡΠΊΠ°ΠΏΠΎΠ².ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΊΡΠΈΠ½ΡΠΎΡ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ
ApexSQL Defrag β ΡΡΠΈΠ»ΠΈΡΠ° Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π΅ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ.ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΊΡΠΈΠ½ΡΠΎΡ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ
ApexSQL Job β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π°Π΄Π°Π½ΠΈΡΠΌΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΈΡΡΠΎΡΠΈΡ, ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ.ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΊΡΠΈΠ½ΡΠΎΡ
ApexSQL Log β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ Π»ΠΎΠ³Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π΄Π»Ρ Π°ΡΠ΄ΠΈΡΠ°, ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ°ΡΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΊΡΠΈΠ½ΡΠΎΡ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ
ApexSQL Recover β Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄ΡΠ½Π½ΡΡ , ΡΠ΄Π°Π»ΡΠ½Π½ΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΡΠ΅ΡΡΠ½Π½ΡΡ Π΄Π°Π½Π½ΡΡ .ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΊΡΠΈΠ½ΡΠΎΡ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ
ApexSQL Analyze β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΡΠ²ΡΠ·Π΅ΠΉ Π² ΠΠ.ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΊΡΠΈΠ½ΡΠΎΡ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ
ApexSQL Build β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΠ. ΠΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ.ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΊΡΠΈΠ½ΡΠΎΡ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ
ApexSQL Enforce β ΡΠ»ΡΡΡΠ°ΡΠ΅Π»Ρ SQL-ΠΊΠΎΠ΄Π°.ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΊΡΠΈΠ½ΡΠΎΡ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ
ApexSQL Generate β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΡΡΡΠΎΠΊ Π΄Π°Π½Π½ΡΡ Π·Π° ΠΎΠ΄ΠΈΠ½ ΠΊΠ»ΠΈΠΊ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΊΡΠΏΠΎΡΡ ΡΠ΅ΡΡΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ Π² SQL, XML, CSV, JSON ΠΈ Excel.ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΊΡΠΈΠ½ΡΠΎΡ
ApexSQL Mask β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ°, ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ Π² ΠΠ. ΠΠΌΠ΅Π΅Ρ 220+ ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΠΌΠ°ΡΠΎΠΊ ΠΈ 55+ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΠΈΠ»ΡΡΡΠΎΠ² Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ.ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΊΡΠΈΠ½ΡΠΎΡ
ApexSQL Script β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ DDL ΠΈ DML ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΠΎΠ½Π½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ².ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΊΡΠΈΠ½ΡΠΎΡ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ
ApexSQL Source Control β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ Ρ SSMS.ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΊΡΠΈΠ½ΡΠΎΡ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ
ApexSQL Trigger β Π°ΡΠ΄ΠΈΡ Π΄Π°Π½Π½ΡΡ Π² ΠΠ ΠΈ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΡ Π² DML.ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΊΡΠΈΠ½ΡΠΎΡ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ
ApexSQL Unit Test β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ½ΠΈΡ-ΡΠ΅ΡΡΠΎΠ² Π½Π°ΠΏΡΡΠΌΡΡ ΠΈΠ· ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ SSMS.ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΊΡΠΈΠ½ΡΠΎΡ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ ΠΊΠ°ΠΊΠΈΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π΄Π»Ρ Π°ΡΠ΄ΠΈΡΠ° ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΠ ΡΠΆΠ΅ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ΡΡ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΈΠΌΠΈ ΡΠ΅ΡΠ°Π΅ΡΠ΅.
Π§ΡΠΎΠ±Ρ Π·Π°Π΄Π°ΡΡ Π²ΠΎΠΏΡΠΎΡΡ ΠΏΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°ΠΌ ApexSQL, ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½Π° ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΡ ΠΈΠ»ΠΈ ΡΡΠΎΡΠ½ΠΈΡΡ ΡΠ΅Π½Ρ, ΠΎΡΡΠ°Π²ΡΡΠ΅ Π·Π°ΠΏΡΠΎΡ Π²
ΠΡΠ»ΠΈ ΡΠ΅ΡΠ°Π΅ΡΠ΅ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΡΡ Π·Π°Π΄Π°ΡΡ ΠΏΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Ρ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΏΠΎΡΠΈΡΠ°ΠΉΡΠ΅ Π½Π°ΡΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ ΡΡΠ°ΡΡΠΈ Π½Π° Π₯Π°Π±ΡΠ΅:
Π Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°ΡΡΡΡ Π½Π° Π½Π°ΡΡ
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com