Toaster - เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบเปˆเบญเบเบชเบฐเบซเบผเบฒเบ. เบเบฑเปˆเบ™เบ•เบญเบ‡เปเบฅเบฐเป€เบžเบตเบ”เป€เบžเบตเบ™

เบกเบฑเบ™เบžเบฝเบ‡เปเบ•เปˆเป€เบเบตเบ”เบ‚เบทเป‰เบ™เบงเปˆเบฒเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ Q&A เบžเบฒเบชเบฒเบฅเบฑเบ”เป€เบŠเบเปƒเบ™เบซเบปเบงเบ‚เปเป‰ IT เปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เป€เบ›เบฑเบ™เบ—เบตเปˆเบ™เบดเบเบปเบกเปƒเบ™ CIS - เป€เบ•เบปเบฒเบญเบปเบš. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบฅเบฒเบงเบ‚เบฒเบ”เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบ‚เป‰เบญเบเป€เบฅเบตเปˆเบกเบฎเบนเป‰เบˆเบฑเบเบฅเบฒเบงเบขเปˆเบฒเบ‡เปƒเบเป‰เบŠเบดเบ”. เบ™เบตเป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เปƒเบ™เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡เบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบเบ‚เบญเบ‡เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš. เบกเบฒโ€‹เบžเบปเบšโ€‹เบ‚เป‰เบญเบ.

เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆ เบชเบณ เบ„เบฑเบ™:

  • เบŠเบทเปˆเบ‚เบญเบ‡เบ—เปˆเบฒเบ™: Toaster Comfort.
  • เบชเบฐเบ–เบดเบ•เบดเบœเบนเป‰เปƒเบŠเป‰: เป€เบ›เบตเป€เบŠเบฑเบ™เบ‚เบญเบ‡เบ„เปเบฒเบ–เบฒเบกเบ—เบตเปˆเบกเบตเบงเบดเบ—เบตเปเบเป‰เป„เบ‚; karma เบˆเบฒเบ Habr; เบชเบฐเบซเบผเบธเบšเบˆเบฒเบเป‚เบ›เบฃเป„เบŸเบฅเปŒ - เบ—เบฑเบ‡เปเบปเบ”เบ™เบตเป‰เปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™เบฅเบฒเบเบŠเบทเปˆเบ„เบณเบ–เบฒเบกเบ‚เบญเบ‡ Toaster.
  • เปเบˆเป‰เบ‡เบเบฒเบ™: เปƒเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ—เบตเปˆโ€‹เปเบ—เป‰โ€‹เบˆเบดเบ‡โ€‹เปƒเบ™โ€‹เป€เบงเบฑเบšโ€‹เป„เบŠโ€‹เป„เบ”เป‰โ€‹, เปƒเบ™ iconโ€‹, เบšเบงเบโ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹เปเบˆเป‰เบ‡โ€‹เบเบฒเบ™โ€‹เบŠเบธเบโ€‹เบเบนเป‰โ€‹, เบเบฒเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ„เปˆเบฒโ€‹เบซเบผเบฒเบโ€‹, เป€เบงเบฑเบšโ€‹เป„เบŠโ€‹เบ•เป‰เบญเบ‡โ€‹เป„เบ”เป‰โ€‹เป€เบ›เบตเบ” (wiki).
  • เบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡: เป€เบ‡เบทเปˆเบญเบ™โ€‹เป„เบ‚โ€‹เป‚เบ”เบโ€‹เบญเบตเบ‡โ€‹เปƒเบชเปˆโ€‹เบชเบนเบ”โ€‹: เบ—เปˆเบฒเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบŠเปˆเบญเบ™โ€‹เบ„เปเบฒโ€‹เบ–เบฒเบกโ€‹, เบชเบตโ€‹เปƒเบซเป‰โ€‹เป€เบ‚เบปเบฒโ€‹เป€เบˆเบปเป‰เบฒโ€‹, เปเบฅเบฐโ€‹เบเบฑเบ‡โ€‹เบชเบฐโ€‹เปเบ”เบ‡โ€‹เปƒเบซเป‰โ€‹เป€เบซเบฑเบ™โ€‹เบเบฒเบ™โ€‹เปเบˆเป‰เบ‡โ€‹เบเบฒเบ™ - เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ›เบฑเบšโ€‹เบ•เบฑเป‰เบ‡โ€‹เปเบšเบšโ€‹เบเบทเบ”เบซเบเบธเปˆเบ™โ€‹เปƒเบ™โ€‹เบฎเบนเบšโ€‹เปเบšเบšโ€‹เบ‚เบญเบ‡โ€‹เป€เบ‡เบทเปˆเบญเบ™โ€‹เป„เบ‚โ€‹เบขเปˆเบฒเบ‡โ€‹เบกเบตโ€‹เป€เบซเบ”โ€‹เบœเบปเบ™ (wiki).
  • เบญเบดเบ™เป€เบ•เบตเป€เบŸเบ”: เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เป€เบฅเบฑเบเบ™เป‰เบญเบ, เป€เบŠเบฑเปˆเบ™: เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบงเบฑเบ™เบ—เบตเบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™เบซเบผเบทเบชเบฐเปเบ”เบ‡เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบชเบฐเบซเบกเบฑเบเบขเบนเปˆเปƒเบ™เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบ„เปเบฒเบ–เบฒเบก.
  • เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš Habr: เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เป€เบฅเบฑเบเบ™เป‰เบญเบ (เบ—เบฒเบ‡เป€เบฅเบทเบญเบ), เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบชเบฑเป‰เบ™เบซเบเปเป‰เบซเบ™เป‰เบฒเปƒเบ™เบ„เปเบฒเป€เบซเบฑเบ™.
  • เปเบซเบผเปˆเบ‡เป€เบ›เบตเบ”: เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ” remake เบกเบฑเบ™เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบ—เปˆเบฒเบ™เป€เบญเบ‡เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เปเบ—เป‰เป† (เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™).
  • เบŸเบฅเบต: เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” MIT.
  • เบเบฒเบ™โ€‹เบšเปโ€‹เบฅเบดโ€‹เป‚เบžเบโ€‹เบ„เบงเบฒเบกโ€‹เบˆเปเบฒโ€‹: 30-50MB, เบ‚เบถเป‰เบ™เบเบฑเบšเบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบฅเบฐเบ„เบงเบฒเบกเบซเบ™เบฒเปเบซเบ™เป‰เบ™เบ‚เบญเบ‡เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ Toaster
  • ะ ะฐะทะผะตั€: 93KB เบชเปเบฒเบฅเบฑเบš v0.8.1 (unpacked, เบšเปเปˆเปเบกเปˆเบ™ minified code).
  • เป‚เบ„เบ‡เบฎเปˆเบฒเบ‡เบเบฒเบ™: เบ‚เบฒเบ”, เบชเบฐเบญเบฒเบ” JS (เบซเบ™เป‰เบญเบเบ—เบตเปˆเบชเบธเบ”).
  • เบ„เบธเบ™เบฐเบžเบฒเบšเบฅเบฐเบซเบฑเบ”: เบชเบฐโ€‹เป€เบฅเปˆเบโ€‹, เบ›เบฐโ€‹เบชเบปเบกโ€‹เบ‚เบญเบ‡โ€‹เบฎเบนเบšโ€‹เปเบšเบšโ€‹, เบฅเบฑเบโ€‹เบชเบฐโ€‹เบ™เบฐโ€‹เปƒเบซเบเปˆโ€‹, tricks เป€เบ›เบทเป‰เบญเบ™โ€‹, เบ„เบงเบฒเบกโ€‹เบ„เบดเบ”โ€‹เป€เบซเบฑเบ™โ€‹เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบซเบ™เป‰เบญเบโ€‹.
  • เบเบฒเบ™เบญเบฐเบ™เบธเบเบฒเบ”: toster.ru, habr.com, notifications, storage, unlimitedStorage

เปƒเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เป€เบฎเบฑเบ”เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบชเปเบฒเบฅเบฑเบšเบ•เบปเบ™เป€เบญเบ‡เบ”เป‰เบงเบเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบ”เบฝเบง: เป€เบžเบทเปˆเบญเบชเบฐเปเบ”เบ‡เบญเบฑเบ”เบ•เบฒเบชเปˆเบงเบ™เบ‚เบญเบ‡เบ„เปเบฒเบ–เบฒเบกเบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆเบฅเบฒเบงเบฅเบปเบšเบเบงเบ™เบเบปเบ”เบ›เบธเปˆเบก "Mark as solution". เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ„เปˆเบญเบเป†, เบญเบฑเบ™เบ—เปเบฒเบญเบดเบ”เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบญเบตเบเบญเบฑเบ™เบซเบ™เบถเปˆเบ‡เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก, เบˆเบปเบ™เบเปˆเบงเบฒเป€เบ„เบทเปˆเบญเบ‡เบกเบทเป„เบ”เป‰เป€เบ•เบตเบšเปƒเบซเบเปˆเป€เบ›เบฑเบ™ monster เบฎเป‰เบญเบเบเบดเป‚เบฅเป„เบš. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบซเบผเบฑเบเบเบฒเบ™เบ‚เบญเบ‡ "เบšเปเปˆเปƒเบŠเป‰เบชเบดเปˆเบ‡เบ—เบตเปˆเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™" เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบกเบˆเบปเบ™เป€เบ–เบดเบ‡เบ—เบตเปˆเบชเบธเบ”.

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

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

!tag("ะ‘ะปะพะบะธั€ะพะฒะฐะฝะธะต ั€ะตะบะปะฐะผั‹") && !contains(t,"ั€ะตะบะปะฐะผ") && contains(t,"ะฑะปะพะบะธั€ะพะฒ") && !tag("HTACCESS") || containsWord(t,"ั€ะบะฝ") || contains(t,"ั€ะพัะบะพะผะฝะฐะดะทะพั€") || contains(t,"ั€ะพัะบะพะผะฟะพะทะพั€") || contains(t,"ะณะพััƒะดะฐั€ัั‚ะฒ") || contains(t,"ะทะฐะฟั€ะตั‰ะตะฝ") || contains(t,"ะทะฐะฟั€ะตั‰ั‘ะฝ") || contains(t,"ะฟะธั€ะฐั‚ัะบ") || containsWord(t,"ะพะฑั…ะพะด") || containsWord(t,"ั€ะพัั‚ะตะปะตะบะพะผ") || containsWord(t,"ัั€ะพะฒะพะน") || containsWord(t,"ั€ั„") && tag("ะšะพะผะฟัŒัŽั‚ะตั€ะฝั‹ะต ัะตั‚ะธ") = notify

เบ‚เป‰เบญเบเบˆเบฐเป€เบงเบปเป‰เบฒเบ—เบฑเบ™เบ—เบตเบงเปˆเบฒเบŸเบฑเบ‡เบŠเบฑเบ™ eval() เบšเปเปˆเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบˆเบฐเบšเปเปˆเบกเบตเบ„เบงเบฒเบกเบกเปˆเบงเบ™เบซเบผเบฒเบ. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เบ‚เบฝเบ™ crutch เบ‚เบญเบ‡เบ‚เป‰เบญเบเป€เบญเบ‡เปƒเบ™ 5 KB เบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เป‚เบ”เบเปƒเบŠเป‰ เบชเบฑเบ™เบเบฒเบฅเบฑเบเบ‚เบญเบ‡เป‚เบ›เป‚เบฅเบเบ›เบตเป‰เบ™เบเบฑเบšเบเบฑเบ™. เบ™เบตเป‰, เบซเบ™เบถเปˆเบ‡เบญเบฒเบ”เบˆเบฐเป€เบงเบปเป‰เบฒเบงเปˆเบฒ, เปเบกเปˆเบ™ JS neutered เบชเบนเบ‡, เบ—เบฑเบ‡เปƒเบ™เปเบ‡เปˆเบ‚เบญเบ‡เบซเบ™เป‰เบฒเบ—เบตเปˆเปเบฅเบฐ syntax.

เบกเบตเบเบฒเบ™เบ›เบฐเบเบฒเบ”เป€เบกเบทเปˆเบญเบšเปเปˆเบ”เบปเบ™เบกเบฒเบ™เบตเป‰เบเปˆเบฝเบงเบเบฑเบš เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบ Toster. เปƒเบ™เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบš, TE เบกเบตเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ—เบตเปˆเบ‡เบฒเบกเบเบงเปˆเบฒเปเบฅเบฐเบšเบฒเบ‡เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆ Toster Comfort เบšเปเปˆเบกเบต. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก, เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบ‚เบญเบ‡เบ‚เป‰เบญเบเป€เบ™เบฑเป‰เบ™เบซเบ™เบฑเบเปƒเบชเปˆเบเบฒเบ™เบšเปเบฅเบดเป‚เบžเบเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบšเปเปˆเบกเบตเปƒเบœ bothers เปƒเบซเป‰เบ—เปˆเบฒเบ™เปƒเบŠเป‰เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบ—เบฑเบ‡เบชเบญเบ‡;

เปƒเบ™เบ—เบฒเบ‡เบ—เบตเปˆเบ”เบต, TC เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ‚เบฝเบ™เบ„เบทเบ™เปƒเบซเบกเปˆเบˆเบฒเบเบˆเบธเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เป€เบžเบฒเบฐเบงเปˆเบฒเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบชเบฒเบกเบฒเบ”เป€เบฅเบฑเปˆเบ‡เป„เบ”เป‰เบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบเบชเบญเบ‡เบ„เบฑเป‰เบ‡, เปเบฅเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš cache - 10 เป€เบ—เบทเปˆเบญ, เป‚เบ”เบเบเบฒเบ™เบ›เบฐเบ–เบดเป‰เบก localStorage เปเบฅเบฐ JSON.stringify() เปเบฅเบฐเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบšเบฒเบ‡เบงเบดเบ—เบตเปเบเป‰เป„เบ‚เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ. เปเบ•เปˆเบกเบฑเบ™เบšเปเปˆเปเบกเปˆเบ™เบ‚เป‰เบญเบเบ—เบตเปˆเบ•เป‰เบญเบ‡เป€เบฎเบฑเบ” feat เบ™เบตเป‰. เปเบฅเบฐเบ‚เป‰เบญเบเป€เบ›เบฑเบ™เปเบŸเบ™เบ‚เบญเบ‡เบซเบผเบฑเบเบเบฒเบ™ "เบ–เป‰เบฒเบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบ, เบขเปˆเบฒเปเบ•เบฐเบ•เป‰เบญเบ‡เบกเบฑเบ™". เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบ‚เป‰เบญเบเป„เบ›เบžเบฑเบเบœเปˆเบญเบ™, เบ‚เป‰เบญเบเบเปเบฒเบฅเบฑเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบšเบฑเบ™เบซเบฒเปเบฅเบฐ PR, เปเบ•เปˆเบšเปเปˆเปเบกเปˆเบ™เบ„เปˆเบฒเปƒเบŠเป‰เบˆเปˆเบฒเบเบ‚เบญเบ‡เบซเบ™เป‰เบญเบเบ—เบตเปˆเบชเบธเบ”. เบ‚เบญเบšเปƒเบˆเบชเปเบฒเบฅเบฑเบšเบ„เบงเบฒเบกเบชเบปเบ™เปƒเบˆเบ‚เบญเบ‡เบ—เปˆเบฒเบ™!

เบ—เบตเปˆเบกเบฒ: www.habr.com

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