เบเปˆเบฝเบงเบเบฑเบšเบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบš 1C

เบซเบ™เบถเปˆเบ‡เปƒเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเบ”เบตเบ‚เบญเบ‡ 1C: เป€เบ—เบเป‚เบ™เป‚เบฅเบเบตเบงเบดเบชเบฒเบซเบฐเบเบดเบ”เปเบกเปˆเบ™เบงเปˆเบฒเบเบฒเบ™เปเบเป‰เป„เบ‚เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ, เบžเบฑเบ”เบ—เบฐเบ™เบฒเป‚เบ”เบเปƒเบŠเป‰เป€เบ—เบเป‚เบ™เป‚เบฅเบเบตเปเบšเบšเบŸเบญเบกเบ—เบตเปˆเบ–เบทเบเบ„เบธเป‰เบกเบ„เบญเบ‡, เบชเบฒเบกเบฒเบ”เป€เบ›เบตเบ”เบ•เบปเบงเป„เบ”เป‰เบ—เบฑเบ‡เปƒเบ™เบฅเบนเบเบ„เป‰เบฒเบšเบฒเบ‡เป† (เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰) เบชเปเบฒเบฅเบฑเบš Windows, Linux, MacOS X, เปเบฅเบฐเป€เบ›เบฑเบ™เบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบšเบชเปเบฒเบฅเบฑเบš 5 เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš - Chrome, Internet Explorer, Firefox, Safari, Edge, เปเบฅเบฐเบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เบตเป‰เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ. เบเบดเปˆเบ‡เป„เบ›เบเบงเปˆเบฒเบ™เบฑเป‰เบ™, เบžเบฒเบเบ™เบญเบเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเปƒเบ™เบฅเบนเบเบ„เป‰เบฒเบšเบฒเบ‡เป†เปเบฅเบฐเปƒเบ™เบซเบ™เป‰เบฒเบ‚เบญเบ‡เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเปเบฅเบฐเป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเป€เบเบทเบญเบšเบ„เบทเบเบฑเบ™.
เบŠเบญเบเบซเบฒ 10 เบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡ (2 เบฎเบนเบšเบžเบฒเบเปƒเบ•เป‰เบเบฒเบ™เบ•เบฑเบ”):

เบ›เปˆเบญเบ‡เบขเป‰เบฝเบกเบฅเบนเบเบ„เป‰เบฒเบšเบฒเบ‡เป†เปƒเบ™ Linux:

เบเปˆเบฝเบงเบเบฑเบšเบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบš 1C

เบ›เปˆเบญเบ‡เบขเป‰เบฝเบกเบ”เบฝเบงเบเบฑเบ™เบขเบนเปˆเปƒเบ™เป€เบงเบฑเบšเบฅเบนเบเบ„เป‰เบฒ (เปƒเบ™เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš Chrome):

เบเปˆเบฝเบงเบเบฑเบšเบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบš 1C

เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบžเบงเบเป€เบฎเบปเบฒเบˆเบถเปˆเบ‡เบชเป‰เบฒเบ‡เบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบš? เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เป€เบฅเบทเปˆเบญเบ‡เบ—เบตเปˆเบซเบ™เป‰เบฒเบžเปเปƒเบˆ, เป€เบงเบฅเบฒเป„เบ”เป‰เบเปเบฒเบ™เบปเบ”เบงเบฝเบเบ‡เบฒเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบชเปเบฒเบฅเบฑเบšเบžเบงเบเป€เบฎเบปเบฒ. เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบœเปˆเบฒเบ™เบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ”เปเบกเปˆเบ™เป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบชเปเบฒเบฅเบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบธเบฅเบฐเบเบดเบ”. เบซเบ™เป‰เบฒเบ—เปเบฒเบญเบดเบ”, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบœเปˆเบฒเบ™เบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ”เบชเปเบฒเบฅเบฑเบšเบฅเบนเบเบ„เป‰เบฒเบšเบฒเบ‡เป†เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ (เบšเบฒเบ‡เบ„เบนเปˆเปเบ‚เปˆเบ‡เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เป‚เบ”เบเบงเบดเบ—เบตเบ—เบฒเบ‡เบเบฒเบ™, เป„เบ”เป‰เบขเบธเบ”เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™; เบ„เบปเบ™เบญเบทเปˆเบ™, เบเบปเบ‡เบเบฑเบ™เบ‚เป‰เบฒเบก, เป„เบ”เป‰เบ›เบฐเบ–เบดเป‰เบกเบฅเบนเบเบ„เป‰เบฒเบšเบฒเบ‡เป†เปเบฅเบฐเบˆเปเบฒเบเบฑเบ”เบ•เบปเบงเป€เบญเบ‡เปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบš). เบžเบงเบเป€เบฎเบปเบฒเบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเปƒเบซเป‰เบœเบนเป‰เปƒเบŠเป‰เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบกเบตเป‚เบญเบเบฒเบ”เบ—เบตเปˆเบˆเบฐเป€เบฅเบทเบญเบเป€เบญเบปเบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒเบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบšเบžเบงเบเป€เบ‚เบปเบฒเบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”.

เบเปˆเบฝเบงเบเบฑเบšเบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบš 1C

เบเบฒเบ™เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เป€เบงเบฑเบšเปƒเบซเป‰เบเบฑเบšเบฅเบนเบเบ„เป‰เบฒเบšเบฒเบ‡เป†เปเบกเปˆเบ™เป‚เบ„เบ‡เบเบฒเบ™เปƒเบซเบเปˆเบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™เปƒเบ™เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ. เบเบฒเบ™เบชเป‰เบฒเบ‡เบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบšเปเบกเปˆเบ™เป‚เบ„เบ‡เบเบฒเบ™เปƒเบซเบกเปˆเบซเบกเบปเบ”, เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบˆเบฒเบ scratch.

เบเบฒเบ™เบชเป‰เบฒเบ‡เบšเบฑเบ™เบซเบฒ

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™: เบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบšเบ•เป‰เบญเบ‡เป€เบฎเบฑเบ”เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบฅเบนเบเบ„เป‰เบฒเบšเบฒเบ‡เป†, เบ„เบท:

  1. เบชเบฐเปเบ”เบ‡เบชเปˆเบงเบ™เบ•เบดเบ”เบ•เปเปˆเบœเบนเป‰เปƒเบŠเป‰
  2. เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฐเบซเบฑเบ”เบฅเบนเบเบ„เป‰เบฒเบ—เบตเปˆเบ‚เบฝเบ™เป€เบ›เบฑเบ™เบžเบฒเบชเบฒ 1C

เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบœเบนเป‰เปƒเบŠเป‰เปƒเบ™ 1C เป„เบ”เป‰เบ–เบทเบเบญเบฐเบ—เบดเบšเบฒเบเป„เบงเป‰เปƒเบ™เบ•เบปเบงเปเบเป‰เป„เบ‚เบชเบฒเบเบ•เบฒ, เปเบ•เปˆเบขเปˆเบฒเบ‡เบˆเบฐเปเบˆเป‰เบ‡, เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบˆเบฑเบ”เบฅเบฝเบ‡ pixel-by-pixel เบ‚เบญเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบš; เบ›เบฐโ€‹เบกเบฒเบ™โ€‹เบชเบฒเบกโ€‹เบญเบฒเบโ€‹เปเบโ€‹เบฑโ€‹เบชโ€‹เบ‚เบญเบ‡โ€‹เบญเบปเบ‡โ€‹เบ›เบฐโ€‹เบเบญเบšโ€‹เบเบฒเบ™โ€‹เป‚เบ•เป‰โ€‹เบ•เบญเบšโ€‹เปเบกเปˆเบ™โ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰ - เบ›เบธเปˆเบกโ€‹, เบŠเปˆเบญเบ‡โ€‹เปƒเบชเปˆโ€‹เบ‚เปเป‰โ€‹เบ„เบงเบฒเบก (เบ‚เปเป‰โ€‹เบ„เบงเบฒเบกโ€‹, เบ•เบปเบงโ€‹เป€เบฅเบโ€‹, เบงเบฑเบ™โ€‹เบ—เบต / เป€เบงโ€‹เบฅเบฒโ€‹)โ€‹, เบฅเบฒเบโ€‹เบเบฒเบ™โ€‹, เบ•เบฒโ€‹เบ•เบฐโ€‹เบฅเบฒเบ‡โ€‹, เบโ€‹เบฃเบฒโ€‹เบŸโ€‹, เปเบฅเบฐโ€‹เบญเบทเปˆเบ™เป†โ€‹.

เบฅเบฐเบซเบฑเบ”เบฅเบนเบเบ„เป‰เบฒเปƒเบ™เบžเบฒเบชเบฒ 1C เบชเบฒเบกเบฒเบ”เบ›เบฐเบเบญเบšเบกเบตเบเบฒเบ™เป‚เบ—เบซเบฒเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ, เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™ (เป„เบŸเบฅเปŒ, เปเบฅเบฐเบญเบทเปˆเบ™เป†), เบเบฒเบ™เบžเบดเบก, เปเบฅเบฐเบญเบทเปˆเบ™เป†เบญเบตเบ.

เบ—เบฑเบ‡เบฅเบนเบเบ„เป‰เบฒเบšเบฒเบ‡เป† (เป€เบกเบทเปˆเบญเป€เบฎเบฑเบ”เบงเบฝเบเบœเปˆเบฒเบ™เป€เบงเบฑเบš) เปเบฅเบฐเบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบšเปƒเบŠเป‰เบŠเบธเบ”เบ”เบฝเบงเบเบฑเบ™เบ‚เบญเบ‡เบšเปเบฅเบดเบเบฒเบ™เป€เบงเบฑเบšเป€เบžเบทเปˆเบญเบ•เบดเบ”เบ•เปเปˆเบชเบทเปˆเบชเบฒเบ™เบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™ 1C. เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบนเบเบ„เป‰เบฒ, เปเบ™เปˆเบ™เบญเบ™, เปเบกเปˆเบ™เปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™ - เบฅเบนเบเบ„เป‰เบฒเบšเบฒเบ‡เป†เบ–เบทเบเบ‚เบฝเบ™เปƒเบ™ C ++, เบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบšเปเบกเปˆเบ™เบ‚เบฝเบ™เปƒเบ™ JavaScript.

เบšเบฒเบ‡เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”

เป‚เบ„เบ‡เบเบฒเบ™เบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบšเป„เบŠเบ•เปŒเป„เบ”เป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเบ™เบ›เบต 2006, เป‚เบ”เบเบกเบตเบ—เบตเบกเบ‡เบฒเบ™ (เป‚เบ”เบเบชเบฐเป€เบฅเปˆเบ) 5 เบ„เบปเบ™. เปƒเบ™เบšเบฒเบ‡เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™, เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเป„เบ”เป‰เบกเบตเบชเปˆเบงเบ™เบฎเปˆเบงเบกเปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบซเบ™เป‰เบฒเบ—เบตเปˆเบชเบฐเป€เบžเบฒเบฐ (เป€เบญเบเบฐเบชเบฒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡, เปเบœเบ™เบงเบฒเบ”, เปเบฅเบฐเบญเบทเปˆเบ™เป†); เบ•เบฒเบกเบเบปเบ”เบฅเบฐเบšเบฝเบš, เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ”เบฝเบงเบเบฑเบ™เบ—เบตเปˆเป€เบฎเบฑเบ”เบซเบ™เป‰เบฒเบ—เบตเปˆเบ™เบตเป‰เบขเบนเปˆเปƒเบ™เบฅเบนเบเบ„เป‰เบฒเบšเบฒเบ‡เป†. เป€เบซเบผเบปเปˆเบฒเบ™เบฑเป‰เบ™. เบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ‚เบฝเบ™เบญเบปเบ‡เบ›เบฐเบเบญเบšเปƒเบซเบกเปˆเปƒเบ™ JavaScript เบ—เบตเปˆเบžเบงเบเป€เบ‚เบปเบฒเป€เบ„เบตเบเบชเป‰เบฒเบ‡เปƒเบ™ C ++ เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰.

เปƒเบ™เบ•เบญเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเบ›เบฐเบ•เบดเป€เบชเบ”เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ” (เปเบกเป‰เบเบฐเบ—เบฑเป‰เบ‡เบšเบฒเบ‡เบชเปˆเบงเบ™) เบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เบฅเบนเบเบ„เป‰เบฒเบšเบฒเบ‡เป† C ++ เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบš JavaScript เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบ—เบฒเบ‡เบ”เป‰เบฒเบ™เปเบ™เบงเบ„เบดเบ”เบ—เบตเปˆเป€เบ‚เบฑเป‰เบกเปเบ‚เบ‡เบฅเบฐเบซเบงเปˆเบฒเบ‡เบชเบญเบ‡เบžเบฒเบชเบฒ; เบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบšเป„เบ”เป‰เบ–เบทเบเบ‚เบฝเบ™เป„เบงเป‰เปƒเบ™ JavaScript เบˆเบฒเบเบˆเบธเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™.

เปƒเบ™เป„เบฅเบเบฐเบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™, เบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบšเป„เบ”เป‰เบ›เปˆเบฝเบ™เบฅเบฐเบซเบฑเบ”เบฅเบนเบเบ„เป‰เบฒเปƒเบ™เบžเบฒเบชเบฒ 1C เบ—เบตเปˆเบกเบตเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เป‚เบ”เบเบเบปเบ‡เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ JavaScript. เบฅเบนเบเบ„เป‰เบฒเบšเบฒเบ‡เป†เบ›เบฐเบ•เบดเบšเบฑเบ”เปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™ - เบฅเบฐเบซเบฑเบ”เปƒเบ™เบžเบฒเบชเบฒ 1C เบเปเปˆเบชเป‰เบฒเบ‡เป„เบ”เป‰เบ–เบทเบเบฅเบงเบšเบฅเบงเบกเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ bytecode, เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ bytecode เบ™เบตเป‰เบ–เบทเบเบ•เบตเบ„เบงเบฒเบกเบซเบกเบฒเบเบเปˆเบฝเบงเบเบฑเบšเบฅเบนเบเบ„เป‰เบฒ. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบšเป„เบŠเบ•เปŒเป„เบ”เป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™ - เบ—เปเบฒเบญเบดเบ”, เบกเบฑเบ™เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš, เปเบฅเบฐเบญเบฑเบ™เบ—เบตเบชเบญเบ‡, เบกเบฑเบ™เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™เป€เบญเบเบฐเบžเบฒเบšเปƒเบ™เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒเบšเบฒเบ‡เปเบฅเบฐเป€เบงเบฑเบš.

เบฎเบธเปˆเบ™เบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡ 1C: เปเบžเบฅเบฐเบ•เบฐเบŸเบญเบกเบงเบดเบชเบฒเบซเบฐเบเบดเบ”เบ—เบตเปˆเบกเบตเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบšเป„เบ”เป‰เบ–เบทเบเบ›เปˆเบญเบเบญเบญเบเบกเบฒเปƒเบ™เบ›เบต 2009. เบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบšเปƒเบ™เป€เบงเบฅเบฒเบ™เบฑเป‰เบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ 2 เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš - Internet Explorer เปเบฅเบฐ Firefox. เปเบœเบ™เบเบฒเบ™เบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบšเบ›เบฐเบเบญเบšเบกเบตเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ Opera, เปเบ•เปˆเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบšเบฑเบ™เบซเบฒเบ—เบตเปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เปเบเป‰เป„เบ‚เป„เบ”เป‰เปƒเบ™เป€เบงเบฅเบฒเบ™เบฑเป‰เบ™เบเบฑเบšเบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบเบฒเบ™เบ›เบดเบ”เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เปƒเบ™ Opera (เบกเบฑเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เบ—เบตเปˆเบˆเบฐเบ•เบดเบ”เบ•เบฒเบกเบ”เป‰เบงเบเบ„เบงเบฒเบกเปเบ™เปˆเบ™เบญเบ™ 100% เบงเปˆเบฒเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ›เบดเบ”, เปเบฅเบฐเปƒเบ™เป€เบงเบฅเบฒเบ™เบฑเป‰เบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฒเบ™เบ•เบฑเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบˆเบฒเบ. เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™ 1C) เบˆเบฒเบเปเบœเบ™เบเบฒเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบ•เป‰เบญเบ‡เบ–เบทเบเบ›เบฐเบ–เบดเป‰เบก.

เป‚เบ„เบ‡โ€‹เบ›เบฐโ€‹เบเบญเบšโ€‹เบเบฒเบ™โ€‹

เปƒเบ™เบˆเปเบฒเบ™เบงเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”, 1C: เป€เบงเบ—เบตเบงเบดเบชเบฒเบซเบฐเบเบดเบ”เบกเบต 4 เป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบ‚เบฝเบ™เปƒเบ™ JavaScript:

  1. WebTools โ€“ เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบ—เบตเปˆเปƒเบŠเป‰เบฎเปˆเบงเบกเบเบฑเบ™เป‚เบ”เบเป‚เบ„เบ‡เบเบฒเบ™เบญเบทเปˆเบ™เป† (เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เบ›เบฐเบเบญเบšเบกเบต Google Closure Library).
  2. เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ„เบงเบšเบ„เบธเบก FormattedDocument (เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™ JavaScript เปƒเบ™เบ—เบฑเบ‡เบฅเบนเบเบ„เป‰เบฒเบšเบฒเบ‡เปเบฅเบฐเบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบš)
  3. เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ„เบงเบšเบ„เบธเบก เบœเบนเป‰เบˆเบฑเบ”เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ (เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™ JavaScript เปƒเบ™เบ—เบฑเบ‡เบฅเบนเบเบ„เป‰เบฒเบšเบฒเบ‡เปเบฅเบฐเบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบš)
  4. เบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบš

เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเป‚เบ„เบ‡เบเบฒเบ™เบ„เป‰เบฒเบเบ„เบทเบเบฑเบšเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™ Java (เบซเบผเบทเป‚เบ„เบ‡เบเบฒเบ™ .NET - เบญเบฑเบ™เปƒเบ”เบเปเปˆเบ•เบฒเบกเบ—เบตเปˆเปƒเบเป‰เบŠเบดเบ”); เบžเบงเบเป€เบฎเบปเบฒเบกเบต namespaces, เปเบฅเบฐเปเบ•เปˆเบฅเบฐ namespace เปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™เป‚เบŸเบ™เป€เบ”เบตเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ. เบžเบฒเบเปƒเบ™เป‚เบŸเบ™เป€เบ”เบตเบกเบตเป„เบŸเบฅเปŒ เปเบฅเบฐเบซเป‰เบญเบ‡เบฎเบฝเบ™ namespace. เบกเบตเบ›เบฐเบกเบฒเบ™ 1000 เป„เบŸเบฅเปŒเปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™เบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบš.

เบ•เบฒเบกเป‚เบ„เบ‡เบชเป‰เบฒเบ‡, เบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบšเบชเปˆเบงเบ™เปƒเบซเบเปˆเปเบšเปˆเบ‡เบญเบญเบเป€เบ›เบฑเบ™เบฅเบฐเบšเบปเบšเบเปˆเบญเบเบ•เปเปˆเป„เบ›เบ™เบตเป‰:

  • เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบฅเบนเบเบ„เป‰เบฒ
    • เบชเปˆเบงเบ™เบ•เบดเบ”เบ•เปเปˆเบœเบนเป‰เปƒเบŠเป‰เบ—เบปเปˆเบงเป„เบ› (เป€เบกเบ™เบนเบฅเบฐเบšเบปเบš, เปเบœเบ‡)
    • เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ‚เบญเบ‡เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡, เบฅเบงเบกเบ—เบฑเบ‡, เปƒเบ™เบšเบฑเบ™เบ”เบฒเบชเบดเปˆเบ‡เบญเบทเปˆเบ™เป†, เบ›เบฐเบกเบฒเบ™ 30 เบเบฒเบ™เบ„เบงเบšเบ„เบธเบก (เบ›เบธเปˆเบก, เบ›เบฐเป€เบžเบ”เบ•เปˆเบฒเบ‡เป†เบ‚เบญเบ‡เบŠเปˆเบญเบ‡เปƒเบชเปˆเบ‚เปเป‰เบกเบนเบ™ - เบ‚เปเป‰เบ„เบงเบฒเบก, เบ•เบปเบงเป€เบฅเบ, เบงเบฑเบ™เบ—เบต / เป€เบงเบฅเบฒ, เปเบฅเบฐเบญเบทเปˆเบ™เป†, เบ•เบฒเบ•เบฐเบฅเบฒเบ‡, เบฅเบฒเบเบเบฒเบ™, เป€เบชเบฑเป‰เบ™เบชเบฐเปเบ”เบ‡, เปเบฅเบฐเบญเบทเปˆเบ™เป†)

  • เบฎเบนเบšเปเบšเบšเบงเบฑเบ”เบ–เบธเบกเบตเปƒเบซเป‰เบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเปƒเบ™เบฅเบนเบเบ„เป‰เบฒ (เบฅเบงเบกเบซเบผเบฒเบเบเบงเปˆเบฒ 400 เบ›เบฐเป€เบžเบ”: เบฎเบนเบšเปเบšเบšเบงเบฑเบ”เบ–เบธเบชเปˆเบงเบ™เบ•เบดเบ”เบ•เปเปˆเบ—เบตเปˆเบˆเบฑเบ”เบเบฒเบ™, เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป‚เบ„เบ‡เบฎเปˆเบฒเบ‡เบ‚เปเป‰เบกเบนเบ™, เบเบฒเบ™เบˆเบฑเบ”เบฎเบนเบšเปเบšเบšเบ•เบฒเบกเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚, เปเบฅเบฐเบญเบทเปˆเบ™เป†)
  • เบ™เบฒเบเปเบ›เบžเบฒเบชเบฒเบ‚เบญเบ‡เบžเบฒเบชเบฒ 1C เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™
  • เบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบเบ‚เบญเบ‡เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš (เปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ—เบตเปˆเบšเปเปˆเบฎเบญเบ‡เบฎเบฑเบšเปƒเบ™ JavaScript)
    • เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบฅเบฑเบš
    • เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเป„เบŸเบฅเปŒ
    • เป€เบ—เบเป‚เบ™เป‚เบฅเบเบตเบ‚เบญเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเบžเบฒเบเบ™เบญเบ, เปƒเบซเป‰เบžเบงเบเป€เบ‚เบปเบฒเบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เป„เบ”เป‰เบ—เบฑเบ‡เบฅเบนเบเบ„เป‰เบฒเบšเบฒเบ‡เปเบฅเบฐเป€เบงเบฑเบš

เบ„เบธเบ™เบ™เบฐเบชเบปเบกเบšเบฑเบ”เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ

เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เปƒเบ™ JavaScript เบšเปเปˆเปเบกเปˆเบ™เป€เบฅเบทเปˆเบญเบ‡เบ‡เปˆเบฒเบ. เบšเบฒเบ‡เบ—เบตเบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบš 1C เปเบกเปˆเบ™เบซเบ™เบถเปˆเบ‡เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ”เป‰เบฒเบ™เบฅเบนเบเบ„เป‰เบฒเบ—เบตเปˆเปƒเบซเบเปˆเบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเบ‚เบฝเบ™เปƒเบ™ JavaScript - เบ›เบฐเบกเบฒเบ™ 450.000 เป€เบชเบฑเป‰เบ™. เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เบขเปˆเบฒเบ‡เบˆเบดเบ‡เบˆเบฑเบ‡เบงเบดเบ—เบตเบเบฒเบ™เบฎเบฑเบ”เบเบธเบกเบงเบฑเบ”เบ–เบธเปƒเบ™เบฅเบฐเบซเบฑเบ”เบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบš, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™.

เป€เบžเบทเปˆเบญเบซเบผเบธเบ”เบœเปˆเบญเบ™เบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เบฅเบนเบเบ„เป‰เบฒ, เบžเบงเบเป€เบฎเบปเบฒเบ—เปเบฒเบญเบดเบ”เปƒเบŠเป‰ obfuscator เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบญเบ‡, เปเบฅเบฐเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบเป€เบงเบ—เบต 8.3.6 (เป€เบ”เบทเบญเบ™เบ•เบธเบฅเบฒ 2014) เบžเบงเบเป€เบฎเบปเบฒเป€เบฅเบตเปˆเบกเปƒเบŠเป‰. Google Closure Compiler. เบœเบปเบ™โ€‹เบเบฐโ€‹เบ—เบปเบšโ€‹เบ‚เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เปƒเบ™โ€‹เบ•เบปเบงโ€‹เป€เบฅเบ โ€“ เบ‚เบฐโ€‹เบซเบ™เบฒเบ”โ€‹เบ‚เบญเบ‡โ€‹เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เบฅเบนเบโ€‹เบ„เป‰เบฒโ€‹เป€เบงเบฑเบšโ€‹เป„เบŠโ€‹เบ•โ€‹เปŒโ€‹เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบ„เบงเบฒเบกโ€‹เบ‚เบฑเบ”โ€‹เบชเบปเบ™โ€‹:

  • obfuscator เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡ โ€“ 1556 kb
  • Google Closure Compiler โ€“ 1073 kb

เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ Google Closure Compiler เป„เบ”เป‰เบŠเปˆเบงเบเบžเบงเบเป€เบฎเบปเบฒเบ›เบฑเบšเบ›เบธเบ‡เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบš 30% เป€เบกเบทเปˆเบญเบ—เบฝเบšเบเบฑเบš obfuscator เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบญเบ‡. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบˆเปเบฒเบ™เบงเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเบšเปเบฅเบดเป‚เบžเบเป‚เบ”เบเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เป„เบ”เป‰เบซเบผเบธเบ”เบฅเบปเบ‡ 15-25% (เบ‚เบถเป‰เบ™เบเบฑเบšเบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš).

Google Closure Compiler เป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰เบ”เบตเบเบฑเบšเบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเป€เบ™เบฑเป‰เบ™เปƒเบชเปˆเบงเบฑเบ”เบ–เบธ, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ‚เบญเบ‡เบกเบฑเบ™เบชเปเบฒเบฅเบฑเบšเบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบšเปเบกเปˆเบ™เบชเบนเบ‡เบ—เบตเปˆเบชเบธเบ”เป€เบ—เบปเปˆเบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰. Closure Compiler เป€เบฎเบฑเบ”เบšเบฒเบ‡เบชเบดเปˆเบ‡เบ—เบตเปˆเบ”เบตเบชเปเบฒเบฅเบฑเบšเบžเบงเบเป€เบฎเบปเบฒ:

  • เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ›เบฐเป€เบžเบ”เบ„เบปเบ‡เบ—เบตเปˆเบขเบนเปˆเปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡เป‚เบ„เบ‡เบเบฒเบ™ (เปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบเบงเบกเป€เบญเบปเบฒเบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบกเบต JSDoc annotations). เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเปเบกเปˆเบ™เบเบฒเบ™เบžเบดเบกเปเบšเบšเบ„เบปเบ‡เบ—เบตเปˆ, เปƒเบเป‰เบเบฑเบšเบฅเบฐเบ”เบฑเบšเบเบฒเบ™เบžเบดเบกเปƒเบ™ C++. เบ™เบตเป‰เบŠเปˆเบงเบเบˆเบฑเบšเบญเบฑเบ”เบ•เบฒเบชเปˆเบงเบ™เบซเบผเบฒเบเบžเปเบชเบปเบกเบ„เบงเบ™เบ‚เบญเบ‡เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเป‚เบ„เบ‡เบเบฒเบ™.
  • เบเบฒเบ™เบซเบผเบธเบ”เบœเปˆเบญเบ™เบ‚เบฐเบซเบ™เบฒเบ”เบฅเบฐเบซเบฑเบ”เป‚เบ”เบเบœเปˆเบฒเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เปƒเบซเป‰เบชเบฑเบšเบชเบปเบ™
  • เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบŠเบฑเปˆเบ™:
    • inline function เบเบฒเบ™เบ—เบปเบ”เปเบ—เบ™. เบเบฒเบ™เป€เบญเบตเป‰เบ™เบŸเบฑเบ‡เบŠเบฑเบ™เปƒเบ™ JavaScript เปเบกเปˆเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ—เบตเปˆเบกเบตเบฅเบฒเบ„เบฒเปเบžเบ‡เบžเปเบชเบปเบกเบ„เบงเบ™, เปเบฅเบฐเบเบฒเบ™เบ—เบปเบ”เปเบ—เบ™เปƒเบ™เปเบ–เบงเบ‚เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเบ—เบตเปˆเปƒเบŠเป‰เป€เบฅเบทเป‰เบญเบเป†เป€เบฎเบฑเบ”เปƒเบซเป‰เบฅเบฐเบซเบฑเบ”เป„เบงเบ‚เบถเป‰เบ™.
    • เบเบฒเบ™เบ™เบฑเบšเบ„เปˆเบฒเบ„เบปเบ‡เบ—เบตเปˆเปƒเบ™เป€เบงเบฅเบฒเบฅเบงเบšเบฅเบงเบก. เบ–เป‰เบฒเบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ‚เบถเป‰เบ™เบเบฑเบšเบ„เปˆเบฒเบ„เบปเบ‡เบ—เบตเปˆ, เบ„เปˆเบฒเบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡เบ‚เบญเบ‡เบ„เบปเบ‡เบ—เบตเปˆเบˆเบฐเบ–เบทเบเปเบ—เบ™เบ—เบตเปˆเบกเบฑเบ™

เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰ WebStorm เป€เบ›เบฑเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบšเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ.

เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเบฅเบฐเบซเบฑเบ”เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰ soundQube, เบšเปˆเบญเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบฅเบงเบกเบ•เบปเบงเบงเบดเป€เบ„เบฒเบฐเบฅเบฐเบซเบฑเบ”เบชเบฐเบ–เบดเบ”. เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐ, เบžเบงเบเป€เบฎเบปเบฒเบ•เบดเบ”เบ•เบฒเบกเบเบงเบ”เบเบฒเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบŠเบกเบ‚เบญเบ‡เบ„เบธเบ™เบ™เบฐเบžเบฒเบšเบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡ JavaScript เปเบฅเบฐเบžเบฐเบเบฒเบเบฒเบกเบ›เป‰เบญเบ‡เบเบฑเบ™เบกเบฑเบ™.

เบเปˆเบฝเบงเบเบฑเบšเบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบš 1C

เบžเบงเบเป€เบฎเบปเบฒเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบซเบเบฑเบ‡เปเบ”เปˆ?

เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ„เบ‡เบเบฒเบ™, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบžเบปเบšเบเบฑเบšเบšเบฑเบ™เบซเบฒเบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเบซเบผเบฒเบเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เปเบเป‰เป„เบ‚.

เปเบฅเบเบ›เปˆเบฝเบ™เบ‚เปเป‰เบกเบนเบ™เบเบฑเบšเป€เบŠเบตเบšเป€เบงเบต เปเบฅเบฐเบฅเบฐเบซเบงเปˆเบฒเบ‡เบ›เปˆเบญเบ‡เบขเป‰เบฝเบก

เบกเบตเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบตเปˆ obfuscation เบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡เบชเบฒเบกเบฒเบ”เปเบŠเบเปเบŠเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ‚เบญเบ‡เบฅเบฐเบšเบปเบš. เบฅเบฐเบซเบฑเบ”เบžเบฒเบเบ™เบญเบเบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบšเป„เบŠเบ•เปŒ, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™ obfuscation, เบญเบฒเบ”เบˆเบฐเบกเบตเบซเบ™เป‰เบฒเบ—เบตเปˆเปเบฅเบฐเบŠเบทเปˆเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบˆเบฒเบเบฅเบฐเบซเบฑเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ„เบฒเบ”เบซเบงเบฑเบ‡. เบฅเบฐเบซเบฑเบ”เบžเบฒเบเบ™เบญเบเบชเปเบฒเบฅเบฑเบšเบžเบงเบเป€เบฎเบปเบฒเปเบกเปˆเบ™:

  • เบฅเบฐเบซเบฑเบ”เบกเบฒเบˆเบฒเบเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเปƒเบ™เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ‚เปเป‰เบกเบนเบ™
  • เบฅเบฐเบซเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบ›เปˆเบญเบ‡เบขเป‰เบฝเบกเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบญเบทเปˆเบ™

เป€เบžเบทเปˆเบญเบซเบผเบตเบเป€เบงเบฑเป‰เบ™เบเบฒเบ™เบชเบฑเบšเบชเบปเบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบžเบปเบงเบžเบฑเบ™เบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ, เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เปเบ—เบฑเบ @expose:

/**
 * @constructor
 * @extends {Base.SrvObject}
 */
Srv.Core.GenericException = function ()
{
    /**
     * @type {string}
     * @expose
     */
    this.descr;

    /**
     * @type {Srv.Core.GenericException}
     * @expose
     */
    this.inner;

    /**
     * @type {string}
     * @expose
     */
    this.clsid;

    /**
     * @type {boolean}
     * @expose
     */
    this.encoded;
}

เปเบฅเบฐเป€เบžเบทเปˆเบญเบซเบผเบตเบเป€เบงเบฑเป‰เบ™เบเบฒเบ™ obfuscation เป€เบกเบทเปˆเบญเบžเบปเบงเบžเบฑเบ™เบเบฑเบšเบ›เปˆเบญเบ‡เบขเป‰เบฝเบกเบญเบทเปˆเบ™เป†, เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เบญเบฑเบ™เบ—เบตเปˆเป€เบญเบตเป‰เบ™เบงเปˆเบฒเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบเบฒเบ™เบชเบปเปˆเบ‡เบญเบญเบ (เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ—เบตเปˆเบงเบดเบ—เบตเบเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ–เบทเบเบชเบปเปˆเบ‡เบญเบญเบ).

/**
 * ะญะบัะฟะพั€ั‚ะธั€ัƒะตะผั‹ะน ะธะฝั‚ะตั€ั„ะตะนั ะบะพะฝั‚ั€ะพะปะฐ DropDownWindow
 *
 * @interface
 * @struct
 */
WebUI.IDropDownWindowExp = function(){}

/**
 * ะŸะตั€ะตะผะตั‰ะฐะตั‚ ะฒั‹ะดะตะปะตะฝะธะต ะฝะฐ 1 ะฒะฟะตั€ะตะด ะธะปะธ ะฝะฐะทะฐะด
 *
 * @param {boolean} isForward
 * @param {boolean} checkOnly
 * @return {boolean}
 * @expose
 */
WebUI.IDropDownWindowExp.prototype.moveMarker = function (isForward, checkOnly){}

/**
 * ะŸะตั€ะตะผะตั‰ะฐะตั‚ ะฒั‹ะดะตะปะตะฝะธะต ะฒ ะฝะฐั‡ะฐะปะพ ะธะปะธ ะบะพะฝะตั†
 *
 * @param {boolean} isFirst
 * @param {boolean} checkOnly
 * @return {boolean}
 * @expose
 */
WebUI.IDropDownWindowExp.prototype.moveMarkerTo = function (isFirst, checkOnly){}

/**
 * @return {boolean}
 * @expose
 */
WebUI.IDropDownWindowExp.prototype.selectValue = function (){}

เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰ Virtual DOM เบเปˆเบญเบ™เบ—เบตเปˆเบกเบฑเบ™เบˆเบฐเบเบฒเบเป€เบ›เบฑเบ™เบเบฐเปเบชเบซเบผเบฑเบ)

เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบˆเบฑเบ”เบเบฒเบ™เบเบฑเบš UI เป€เบงเบฑเบšเป„เบŠเบ•เปŒเบ—เบตเปˆเบชเบฑเบšเบชเบปเบ™, เบžเบงเบเป€เบฎเบปเบฒเบฎเบฑเบšเบฎเบนเป‰เบขเปˆเบฒเบ‡เป„เบงเบงเบฒเบงเปˆเบฒ DOM เบšเปเปˆเบ”เบตเบžเปเบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบœเบนเป‰เปƒเบŠเป‰เปเบšเบšเป€เบ„เบทเปˆเบญเบ™เป„เบซเบง. เป€เบเบทเบญเบšเบ—เบฑเบ™เบ—เบต, เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบ‚เบญเบ‡ Virtual DOM เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš UI. เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เป€เบซเบ”เบเบฒเบ™, เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡ DOM เบ—เบฑเบ‡เบซเบกเบปเบ”เบˆเบฐเบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเปเบฅเบฐ, เบžเบฝเบ‡เปเบ•เปˆเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™เบชเปเบฒเป€เบฅเบฑเบ”, เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเบชเบฐเบชเบปเบกเปเบกเปˆเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบเบฑเบšเบ•เบปเป‰เบ™เป„เบกเป‰ DOM.

เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบš

เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบšเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰เป„เบงเบ‚เบถเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเบžเบฐเบเบฒเบเบฒเบกเปƒเบŠเป‰เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ‚เบญเบ‡เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ (CSS, เปเบฅเบฐเบญเบทเปˆเบ™เป†) เบชเบนเบ‡เบชเบธเบ”. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบเบฐเบ”เบฒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เปเบšเบšเบŸเบญเบก (เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เป€เบเบทเบญเบšเบ—เบธเบเบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™) เบ–เบทเบเบชเบฐเปเบ”เบ‡เบชเบฐเป€เบžเบฒเบฐเป‚เบ”เบเปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ‚เบญเบ‡เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš, เป‚เบ”เบเปƒเบŠเป‰เบฎเบนเบšเปเบšเบšเปเบšเบšเป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ CSS.

เบเปˆเบฝเบงเบเบฑเบšเบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบš 1C

เบเบฒเบ™เบ—เบปเบ”เบชเบญเบš

เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เปเบฅเบฐเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”, เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡ (เบ‚เบฝเบ™เปƒเบ™ Java เปเบฅเบฐ C ++), เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบŠเบธเบ”เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบขเบนเปˆเป€เบ—เบดเบ‡เบชเบธเบ”. เบŠเบตเบฅเบตเบ™เบฝเบก.

เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปเบกเปˆเบ™เบ—เบปเปˆเบงเป„เบ› - เบกเบฑเบ™เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ—เบปเบ”เบชเบญเบšเป€เบเบทเบญเบšเบ—เบธเบเป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบกเบตเบ›เปˆเบญเบ‡เบขเป‰เบฝเบก, เปเบฅเบฐเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบˆเบถเปˆเบ‡เป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ—เบฑเบ‡เบฅเบนเบเบ„เป‰เบฒเบšเบฒเบ‡เปเบฅเบฐเบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบš. เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบšเบฑเบ™เบ—เบถเบเบเบฒเบ™เบเบฐเบ—เปเบฒเบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆเป€เบ›เบตเบ”เบ•เบปเบงเบเบฒเบ™เปเบเป‰เป„เบ‚เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ 1C เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เป„เบŸเบฅเปŒเบชเบฐเบ„เบดเบš. เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบฎเบนเบšเบžเบฒเบšเบ‚เบญเบ‡เบžเบทเป‰เบ™เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบซเบ™เป‰เบฒเบˆเป - เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ - เบ–เบทเบเบšเบฑเบ™เบ—เบถเบ. เป€เบกเบทเปˆเบญเบเบงเบ”เบชเบญเบšเป€เบงเบตเบŠเบฑเบ™เปƒเบซเบกเปˆเบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบš, เบชเบฐเบ„เบฃเบดเบšเบ–เบทเบเบซเบผเบตเป‰เบ™เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบกเบตเบชเปˆเบงเบ™เบฎเปˆเบงเบกเบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเบžเบฒเบšเบซเบ™เป‰เบฒเบˆเปเบšเปเปˆเบเบปเบ‡เบเบฑเบšเป€เบญเบเบฐเบชเบฒเบ™เบญเป‰เบฒเบ‡เบญเบตเบ‡เปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เปƒเบ”เบเปเปˆเบ•เบฒเบก, เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ–เบทเบเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบงเปˆเบฒเบฅเบปเป‰เบกเป€เบซเบฅเบง, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบœเบนเป‰เบŠเปˆเบฝเบงเบŠเบฒเบ™เบ”เป‰เบฒเบ™เบ„เบธเบ™เบ™เบฐเบžเบฒเบšเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบชเบทเบšเบชเบงเบ™เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบงเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบซเบผเบทเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเบงเบฒเบ‡เปเบœเบ™เปƒเบ™เบžเบถเบ”เบ•เบดเบเปเบฒเบ‚เบญเบ‡เบฅเบฐเบšเบปเบš. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบžเบถเบ”เบ•เบดเบเปเบฒเบ—เบตเปˆเบงเบฒเบ‡เปเบœเบ™, เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบˆเบฐเบ–เบทเบเบ—เบปเบ”เปเบ—เบ™เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ”เป‰เบงเบเบญเบฑเบ™เปƒเบซเบกเปˆ.

เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบเบฑเบ‡เบงเบฑเบ”เปเบ—เบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ”เป‰เบงเบเบ„เบงเบฒเบกเบ–เบทเบเบ•เป‰เบญเบ‡เบชเบนเบ‡เบชเบธเบ” 25 เบกเบดเบ™เบฅเบดเบงเบดเบ™เบฒเบ—เบต. เปƒเบ™เบšเบฒเบ‡เบเปเบฅเบฐเบ™เบต, เบžเบงเบเป€เบฎเบปเบฒ loop เบšเบฒเบ‡เบชเปˆเบงเบ™เบ‚เบญเบ‡เบชเบฐเบ„เบดเบš (เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบฎเบฑเบ”เบŠเป‰เปเบฒเบ„เปเบฒเบชเบฑเปˆเบ‡เป€เบ‚เบปเป‰เบฒเบซเบผเบฒเบเบ„เบฑเป‰เบ‡) เป€เบžเบทเปˆเบญเบงเบดเป€เบ„เบฒเบฐเบเบฒเบ™เป€เบชเบทเปˆเบญเบกเบชเบฐเบžเบฒเบšเบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เป„เบฅเบเบฐเป€เบงเบฅเบฒ. เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡เบเบฒเบ™เบงเบฑเบ”เปเบ—เบเบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™เบšเบฑเบ™เบ—เบถเบเป„เบงเป‰เปƒเบ™เบšเบฑเบ™เบ—เบถเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐ.

เบเปˆเบฝเบงเบเบฑเบšเบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบš 1C
เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเปเบฅเบฐเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบžเบฒเบเปƒเบ•เป‰เบเบฒเบ™เบ—เบปเบ”เบชเบญเบš

เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปเบฅเบฐ Selenium เป€เบชเบตเบกเป€เบŠเบดเปˆเบ‡เบเบฑเบ™เปเบฅเบฐเบเบฑเบ™; เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ–เป‰เบฒเบ›เบธเปˆเบกเบšเบฒเบ‡เบขเปˆเบฒเบ‡เปƒเบ™เบซเบ™เป‰เบฒเบˆเปเบซเบ™เบถเปˆเบ‡เป„เบ”เป‰เบ›เปˆเบฝเบ™เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบ‚เบญเบ‡เบกเบฑเบ™, Selenium เบญเบฒเบ”เบˆเบฐเบšเปเปˆเบ•เบดเบ”เบ•เบฒเบกเบ™เบตเป‰, เปเบ•เปˆเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™, เป€เบžเบฒเบฐเบงเปˆเบฒ. เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบš pixel-by-pixel เบ‚เบญเบ‡ screenshot เบเบฑเบšเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™. เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบ•เบดเบ”เบ•เบฒเบกเบšเบฑเบ™เบซเบฒเบเบฑเบšเบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบเบฒเบ™เบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™เบˆเบฒเบเปเบ›เป‰เบ™เบžเบดเบก เบซเบผเบท เป€เบกเบปเบฒเบชเปŒเป„เบ”เป‰, เป€เบžเบฒเบฐเบงเปˆเบฒเบญเบฑเบ™เบ™เบตเป‰เบ„เบทเบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบฑเบ™เบœเบฐเบฅเบดเบ”เบ„เบทเบ™เปƒเปเปˆ.

เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ—เบฑเบ‡เบชเบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เบกเบท (เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปเบฅเบฐ Selenium) เบ”เปเบฒเป€เบ™เบตเบ™เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ›เบปเบเบเบฐเบ•เบดเบˆเบฒเบเบเบฒเบ™เปเบเป‰เป„เบ‚เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ. เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบˆเบฐเบ–เบทเบเป€เบ›เบตเบ”เบ•เบปเบงเป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบ›เบฐเบˆเปเบฒเบงเบฑเบ™เบ‚เบญเบ‡ 1C: เปเบžเบฅเบฐเบ•เบฐเบŸเบญเบกเบงเบดเบชเบฒเบซเบฐเบเบดเบ”. เบ–เป‰เบฒ scripts เบŠเป‰เบฒเบเบงเปˆเบฒ (เป€เบกเบทเปˆเบญเบ›เบฝเบšเบ—เบฝเบšเบเบฑเบšเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ), เบžเบงเบเป€เบฎเบปเบฒเบชเบทเบšเบชเบงเบ™เปเบฅเบฐเปเบเป‰เป„เบ‚เบชเบฒเป€เบซเบ”เบ‚เบญเบ‡เบเบฒเบ™เบŠเป‰เบฒเบฅเบปเบ‡. เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปเบกเปˆเบ™เบ‡เปˆเบฒเบเบ”เบฒเบ - เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เปƒเบซเบกเปˆเบ„เบงเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบšเปเปˆเบŠเป‰เบฒเบเบงเปˆเบฒเบญเบฑเบ™เบ—เบตเปˆเปเบฅเป‰เบง.

เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เป€เบžเบทเปˆเบญเบชเบทเบšเบชเบงเบ™เป€เบซเบ”เบเบฒเบ™เบŠเป‰เบฒเบฅเบปเบ‡; เบชเปˆเบงเบ™เปƒเบซเบเปˆเปเบกเปˆเบ™เปƒเบŠเป‰ Dynatrace AJAX Edition เบšเปเบฅเบดเบชเบฑเบ”เบœเบฐเบฅเบดเบ” DynaTrace. เบšเบฑเบ™เบ—เบถเบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ—เบตเปˆเบกเบตเบšเบฑเบ™เบซเบฒเปƒเบ™เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒเปเบฅเบฐเปƒเบซเบกเปˆเป„เบ”เป‰เบ–เบทเบเบšเบฑเบ™เบ—เบถเบเป„เบงเป‰, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบšเบฑเบ™เบ—เบถเบเป„เบ”เป‰เบ–เบทเบเบงเบดเป€เบ„เบฒเบฐ. เปƒเบ™เบ‚เบฐเบ™เบฐเบ”เบฝเบงเบเบฑเบ™, เป€เบงเบฅเบฒเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ”เบฝเบง (เป€เบ›เบฑเบ™ milliseconds) เบญเบฒเบ”เบˆเบฐเบšเปเปˆเป€เบ›เบฑเบ™เบ›เบฑเบ”เปƒเบˆเบ•เบฑเบ”เบชเบดเบ™ - เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เป€เบŠเบฑเปˆเบ™: เบเบฒเบ™เป€เบเบฑเบšเบ‚เบตเป‰เป€เบซเบเบทเป‰เบญเบ–เบทเบเป€เบ›เบตเบ”เบ•เบปเบงเป€เบ›เบฑเบ™เปเบ•เปˆเบฅเบฐเป„เบฅเบเบฐเปƒเบ™เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš, เบžเบงเบเป€เบ‚เบปเบฒเบชเบฒเบกเบฒเบ”เบŠเป‰เบญเบ™เบเบฑเบ™เบเบฑเบšเป€เบงเบฅเบฒเบ›เบฐเบ•เบดเบšเบฑเบ”เบซเบ™เป‰เบฒเบ—เบตเปˆเปเบฅเบฐเบเบฒเบ™เบšเบดเบ”เป€เบšเบทเบญเบ™เบฎเบนเบšเบžเบฒเบš. เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰เบˆเบฐเป€เบ›เบฑเบ™เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒ JavaScript เบ›เบฐเบ•เบดเบšเบฑเบ”, เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ›เบฐเบฅเปเบฒเบกเบฐเบ™เบนเปƒเบ™ DOM, เปเบฅเบฐเบญเบทเปˆเบ™เป†. เบ–เป‰เบฒเบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒ / เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เปƒเบ™เบชเบฐเบ„เบดเบšเบ”เบฝเบงเบเบฑเบ™เป„เบ”เป‰เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เปƒเบ™เบชเบฐเบšเบฑเบšเปƒเบซเบกเปˆ, เบ™เบตเป‰เป€เบเบทเบญเบšเบชเบฐเป€เบซเบกเบตเบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบเบฒเบ™เบซเบผเบธเบ”เบฅเบปเบ‡เปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เปเบเป‰เป„เบ‚.

เบ™เบญเบเบˆเบฒเบเบ™เบตเป‰, เบซเบ™เบถเปˆเบ‡เปƒเบ™เป€เบซเบ”เบœเบปเบ™เบ‚เบญเบ‡เบเบฒเบ™เบซเบผเบธเบ”เบฅเบปเบ‡เปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™ Google Closure Compiler เบชเปเบฒเบฅเบฑเบšเป€เบซเบ”เบœเบปเบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบšเปเปˆเบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ—เบปเบ”เปเบ—เบ™เบ‚เบญเบ‡เบŸเบฑเบ‡เบŠเบฑเบ™ inline (เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบŸเบฑเบ‡เบŠเบฑเบ™เปเบกเปˆเบ™ recursive เบซเบผเบท virtual). เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเบžเบฐเบเบฒเบเบฒเบกเปเบเป‰เป„เบ‚เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เป‚เบ”เบเบเบฒเบ™เบ‚เบฝเบ™เบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡เปƒเบซเบกเปˆ.

เบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบเบ‚เบญเบ‡เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš

เป€เบกเบทเปˆเบญเบเบฒเบ™เปเบเป‰เป„เบ‚เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ—เบตเปˆเบšเปเปˆเบกเบตเบขเบนเปˆเปƒเบ™ JavaScript, เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบเบ‚เบญเบ‡เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš:

  • เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเป„เบŸเบฅเปŒ
  • เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš cryptography
  • เป€เบฎเบฑเบ”โ€‹เบงเบฝเบโ€‹เบฎเปˆเบงเบกโ€‹เบเบฑเบš เบญเบปเบ‡เบ›เบฐเบเบญเบšเบžเบฒเบเบ™เบญเบ

เบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบชเบญเบ‡เบชเปˆเบงเบ™. เบชเปˆเบงเบ™เบ—เปเบฒเบญเบดเบ”เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบญเบตเป‰เบ™เบงเปˆเบฒเบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบเบ‚เบญเบ‡เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš (เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบชเปเบฒเบฅเบฑเบš Chrome เปเบฅเบฐ Firefox เบ—เบตเปˆเบ‚เบฝเบ™เปƒเบ™ JavaScript), เป€เบŠเบดเปˆเบ‡เบžเบปเบงเบžเบฑเบ™เบเบฑเบšเบชเปˆเบงเบ™เบ—เบตเบชเบญเบ‡ - เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบ binary เบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบซเบ™เป‰เบฒเบ—เบตเปˆเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™. เบกเบฑเบ™เบ„เบงเบ™เบˆเบฐเบเปˆเบฒเบงเป€เบ–เบดเบ‡เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบ‚เบฝเบ™ 3 เบฎเบธเปˆเบ™เบ‚เบญเบ‡เบ™เบฒเบกเบชเบฐเบเบธเบ™เบ„เบนเปˆ - เบชเปเบฒเบฅเบฑเบš Windows, Linux เปเบฅเบฐ MacOS. เบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบเบ–เบฒเบ™เบชเบญเบ‡เปเบกเปˆเบ™เบชเบฐเปœเบญเบ‡เปƒเบซเป‰เป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡ 1C:เปเบžเบฅเบ”เบŸเบญเบกเบงเบดเบชเบฒเบซเบฐเบเบดเบ” เปเบฅเบฐเบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เป€เบŠเบตเบšเป€เบงเบตเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™ 1C. เป€เบกเบทเปˆเบญเบ–เบทเบเป€เบญเบตเป‰เบ™เป€เบ›เบฑเบ™เบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”เบˆเบฒเบเบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบš, เบกเบฑเบ™เบ–เบทเบเบ”เบฒเบงเป‚เบซเบผเบ”เปƒเบชเปˆเบ„เบญเบกเบžเบดเบงเป€เบ•เบตเบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒเปเบฅเบฐเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš.

เป€เบกเบทเปˆเบญเปเบฅเปˆเบ™เบขเบนเปˆเปƒเบ™ Safari, เบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰ NPAPI; เป€เบกเบทเปˆเบญเปเบฅเปˆเบ™เปƒเบ™ Internet Explorer, เบžเบงเบเบกเบฑเบ™เปƒเบŠเป‰เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบต ActiveX. Microsoft Edge เบเบฑเบ‡เบšเปเปˆเบ—เบฑเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบ, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบšเปƒเบ™เบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”.

เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ•เปเปˆเป„เบ›

เบซเบ™เบถเปˆเบ‡เปƒเบ™เบงเบฝเบเบ‡เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบ—เบตเบกเบ‡เบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบšเปเบกเปˆเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ•เบทเปˆเบกเบญเบตเบ. เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบšเบ„เบงเบ™เบˆเบฐเบ„เบทเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒเบšเบฒเบ‡เป†; เบซเบ™เป‰เบฒเบ—เบตเปˆเปƒเบซเบกเปˆเบ—เบฑเบ‡เบซเบกเบปเบ”เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบžเป‰เบญเบกเป†เบเบฑเบ™เปƒเบ™เบ—เบฑเบ‡เบฅเบนเบเบ„เป‰เบฒเบšเบฒเบ‡เปเบฅเบฐเป€เบงเบฑเบš.

เบงเบฝเบเบ‡เบฒเบ™เบญเบทเปˆเบ™เป†เบฅเบงเบกเบกเบตเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ, refactoring, เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเปเบฅเบฐเบ„เบงเบฒเบกเบซเบ™เป‰เบฒเป€เบŠเบทเปˆเบญเบ–เบท. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบซเบ™เบถเปˆเบ‡เปƒเบ™เบ—เบดเบ”เบ—เบฒเบ‡เปเบกเปˆเบ™เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเบ•เปเปˆเป„เบ›เป„เบ›เบชเบนเปˆเบฎเบนเบšเปเบšเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปเบšเบšเบšเปเปˆเบเบปเบ‡เบเบฑเบ™. เบšเบฒเบ‡เบซเบ™เป‰เบฒเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบšเปเบกเปˆเบ™เบชเป‰เบฒเบ‡เบขเบนเปˆเปƒเบ™เบ•เบปเบงเปเบšเบš synchronous เบ‚เบญเบ‡เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ. เบฎเบนเบšเปเบšเบš asynchronous เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบเบฒเบเป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบซเบผเบฒเบเบ‚เบถเป‰เบ™เปƒเบ™เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš (เปเบฅเบฐเบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเบขเบนเปˆเปƒเบ™เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš), เปเบฅเบฐเบ™เบตเป‰เบšเบฑเบ‡เบ„เบฑเบšเปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบ”เบฑเบ”เปเบ›เบ‡เป€เบงเบฑเบšเบฅเบนเบเบ„เป‰เบฒเป‚เบ”เบเบเบฒเบ™เบ›เปˆเบฝเบ™เบเบฒเบ™เป‚เบ— synchronous เบเบฑเบš asynchronous (เปเบฅเบฐ refactoring เบฅเบฐเบซเบฑเบ”เบ•เบฒเบกเบ„เบงเบฒเบกเป€เบซเบกเบฒเบฐเบชเบปเบก). เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เป€เบ—เบทเปˆเบญเบฅเบฐเบเป‰เบฒเบงเป„เบ›เบชเบนเปˆเบฎเบนเบšเปเบšเบš asynchronous เปเบกเปˆเบ™เบญเบฐเบ—เบดเบšเบฒเบเป‚เบ”เบเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบžเบทเปˆเบญเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เปเบเป‰เป„เบ‚เบ—เบตเปˆเบ›เปˆเบญเบเบญเบญเบเบกเบฒเปเบฅเบฐเบเบฒเบ™เบ›เบฑเบšเบ•เบปเบงเป€เบ—เบทเปˆเบญเบฅเบฐเบเป‰เบฒเบง.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™