рдЯреЛрд╕реНрдЯрд░ - рд╕рд░реНрд╡ рдХрд╛рд╣реА рдХрдВрдкреЛрд╕реНрдЯрд░рдордзреНрдпреЗ рдЬрд╛рддреЗ. рдлрд┐рд▓реНрдЯрд░ рдХрд░рд╛ рдЖрдгрд┐ рдЖрдирдВрдж рдШреНрдпрд╛

рдЕрд╕реЗ рдШрдбрддреЗ рдХреА рдЖрдпрдЯреА рд╡рд┐рд╖рдпрд╛рдВрд╡рд░реАрд▓ рд░рд╢рд┐рдпрди рдкреНрд░рд╢реНрдиреЛрддреНрддрд░реЗ рд╕рдВрд╕рд╛рдзрди рд╕реАрдЖрдпрдПрд╕рдордзреНрдпреЗ рдЦреВрдк рд▓реЛрдХрдкреНрд░рд┐рдп рдЖрд╣реЗ - рдЯреЛрд╕реНрдЯрд░. рддрдерд╛рдкрд┐, рдЬреЗрд╡реНрд╣рд╛ рдореА рддреНрдпрд╛рд▓рд╛ рдЬрд╡рд│реВрди рдУрд│рдЦреВ рд▓рд╛рдЧрд▓реЛ рддреЗрд╡реНрд╣рд╛ рддреЛ рдХрд╛рд╣реАрддрд░реА рдЧрдорд╛рд╡рдд рд╣реЛрддрд╛. рдпрд╛рдЪрд╛ рдкрд░рд┐рдгрд╛рдо рдмреНрд░рд╛рдЙрдЭрд░ рд╡рд┐рд╕реНрддрд╛рд░рд╛рдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рд╕реБрдзрд╛рд░рдгрд╛ рдХрд░рдгреНрдпрд╛рдд рдЖрд▓рд╛. рдорд▓рд╛ рднреЗрдЯ.

рдорд╣рддреНрд╡рд╛рдЪреА рд╡реИрд╢рд┐рд╖реНрдЯреЗ:

  • рдирд╛рд╡: рдЯреЛрд╕реНрдЯрд░ рдЖрд░рд╛рдо.
  • рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЖрдХрдбреЗрд╡рд╛рд░реА: рд╕рдорд╛рдзрд╛рдирд╛рдВрд╕рд╣ рдкреНрд░рд╢реНрдирд╛рдВрдЪреА рдЯрдХреНрдХреЗрд╡рд╛рд░реА; Habr рдкрд╛рд╕реВрди рдХрд░реНрдо; рдкреНрд░реЛрдлрд╛рдЗрд▓рдордзреАрд▓ рд╕рд╛рд░рд╛рдВрд╢ - рд╣реЗ рд╕рд░реНрд╡ рдЯреЛрд╕реНрдЯрд░рдЪреНрдпрд╛ рдкреНрд░рд╢реНрдирд╛рдВрдЪреНрдпрд╛ рд╕реВрдЪреАрдордзреНрдпреЗ рдЖрд╣реЗ.
  • рд╕реВрдЪрдирд╛: рд╕рд╛рдЗрдЯрд╡рд░ рд░рд┐рдЕрд▓ рдЯрд╛рдЗрдордордзреНрдпреЗ, рдЪрд┐рдиреНрд╣рд╛рд╡рд░, рддрд╕реЗрдЪ рдкреБрд╢ рд╕реВрдЪрдирд╛, рдЕрдиреЗрдХ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ, рд╕рд╛рдЗрдЯ рдЦреБрд▓реА рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ (рд╡рд┐рдХреА).
  • рдлрд┐рд▓реНрдЯрд░: рд╕реВрддреНрд░рд╛рдВрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЕрдЯреА: рддреБрдореНрд╣реА рдкреНрд░рд╢реНрди рд▓рдкрд╡реВ рд╢рдХрддрд╛, рддреНрдпрд╛рдВрдирд╛ рд░рдВрдЧ рджреЗрдК рд╢рдХрддрд╛ рдЖрдгрд┐ рд╕реВрдЪрдирд╛ рджреЗрдЦреАрд▓ рджрд░реНрд╢рд╡реВ рд╢рдХрддрд╛ - рд╣реЗ рд╕рд░реНрд╡ рд▓рд╡рдЪрд┐рдХрдкрдгреЗ рддрд╛рд░реНрдХрд┐рдХ рдкрд░рд┐рд╕реНрдерд┐рддреАрдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдЖрд╣реЗ (рд╡рд┐рдХреА).
  • рдЗрдВрдЯрд░рдлреЗрд╕: рдХрд┐рд░рдХреЛрд│ рд╕реБрдзрд╛рд░рдгрд╛, рдЬрд╕реЗ рдХреА рдЕрдЪреВрдХ рддрд╛рд░рдЦрд╛ рджрд░реНрд╢рд╡рдгреЗ рдХрд┐рдВрд╡рд╛ рдкреНрд░рд╢реНрдирд╛рдВрдЪреНрдпрд╛ рд╕реВрдЪреАрдордзреНрдпреЗ рд╕рджрд╕реНрдпрддреНрд╡ рд╕реНрдерд┐рддреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдгреЗ.
  • Habr рдЗрдВрдЯрд░рдлреЗрд╕: рдХрд┐рд░рдХреЛрд│ рд╕реБрдзрд╛рд░рдгрд╛ (рдкрд░реНрдпрд╛рдпреА), рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЯрд┐рдкреНрдкрдгреНрдпрд╛рдВрдордзреАрд▓ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рд▓рд╛рдЗрди.
  • рдореБрдХреНрдд рд╕реНрд░реЛрдд: рддреБрдореНрд╣рд╛рд▓рд╛ рдЦрд░реЛрдЦрд░ рд╣рд╡реЗ рдЕрд╕рд▓реНрдпрд╛рд╕ рддреБрдореНрд╣реА рддреЗ рд╕реНрд╡рддрдГрд╕рд╛рдареА рд░реАрдореЗрдХ рдХрд░реВ рд╢рдХрддрд╛ (рд╕реНрд░реЛрдд).
  • рдлреБрдХрдЯ: рдПрдордЖрдпрдЯреА рдкрд░рд╡рд╛рдирд╛
  • рдореЗрдорд░реА рд╡рд╛рдкрд░: 30-50MB, рдЯреЛрд╕реНрдЯрд░рдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рдЪреНрдпрд╛ рдкрд░реНрдпрд╛рдпрд╛рдВрд╡рд░ рдЖрдгрд┐ рддреАрд╡реНрд░рддреЗрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди
  • рдЖрдХрд╛рд░: v93 рд╕рд╛рдареА 0.8.1KB (рдЕрдирдкреЕрдХ рдХреЗрд▓реЗрд▓рд╛, рдЫреЛрдЯрд╛ рдХреЛрдб рдирд╛рд╣реА).
  • рдлреНрд░реЗрдорд╡рд░реНрдХ: рдЧрд╣рд╛рд│, рд╕реНрд╡рдЪреНрдЫ рдЬреЗрдПрд╕ (рдорд┐рдирд┐рдорд▓рд┐рдЭрдо).
  • рдХреЛрдб рдЧреБрдгрд╡рддреНрддрд╛: рд╕рд░рд╛рд╕рд░реА, рд╢реИрд▓реАрдВрдЪреЗ рдорд┐рд╢реНрд░рдг, рдореЛрдареА рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ, рдЧрд▓рд┐рдЪреНрдЫ рдпреБрдХреНрддреНрдпрд╛, рдХрд╛рд╣реА рдЯрд┐рдкреНрдкрдгреНрдпрд╛.
  • рдкрд░рд╡рд╛рдирдЧреНрдпрд╛: toster.ru, habr.com, notifications, storage, unlimitedStorage

рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛, рдореА рдПрдХрд╛ рдЙрджреНрджреЗрд╢рд╛рдиреЗ рд╕реНрд╡рддрдГрд╕рд╛рдареА рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗрд▓рд╛: рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рдкреНрд░рд╢реНрдирд╛рдВрдЪреА рдЯрдХреНрдХреЗрд╡рд╛рд░реА рджрд░реНрд╢рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдЬреНрдпрд╛рдордзреНрдпреЗ рддреНрдпрд╛рдиреЗ тАЬрд╕рдорд╛рдзрд╛рди рдореНрд╣рдгреВрди рдЪрд┐рдиреНрд╣рд╛рдВрдХрд┐рдд рдХрд░рд╛тАЭ рдмрдЯрдгрд╛рд╡рд░ рдХреНрд▓рд┐рдХ рдХрд░рдгреНрдпрд╛рдЪрд╛ рддреНрд░рд╛рд╕ рджрд┐рд▓рд╛. рдирдВрддрд░, рд╣рд│реВрд╣рд│реВ, рдкреНрд░рдердо рдПрдХ рдЖрдгрд┐ рдирдВрддрд░ рджреБрд╕рд░реЗ рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ, рдЬреЛрдкрд░реНрдпрдВрдд рддреЗ рдЯреВрд▓ рд╢рдВрднрд░ рдХрд┐рд▓реЛрдмрд╛рдЗрдЯреНрд╕рдЪреЗ рд░рд╛рдХреНрд╖рд╕ рдмрдирдд рдирд╛рд╣реА. рддрд░реАрд╣реА, тАЬрдЕрдирд╛рд╡рд╢реНрдпрдХ рдХрд╛рд╣реАрд╣реА рд╡рд╛рдкрд░реВ рдирдХрд╛тАЭ рд╣реЗ рддрддреНрддреНрд╡ рд╢реЗрд╡рдЯрдкрд░реНрдпрдВрдд рдкрд╛рд│рд▓реЗ рдЧреЗрд▓реЗ.

рдЖрддрд╛ рдореБрдЦреНрдп рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдкреИрдХреА рдПрдХ рдореНрд╣рдгрдЬреЗ рд╕реЗрдЯрд┐рдВрдЧреНрдЬрдордзреАрд▓ рд╕реВрддреНрд░рд╛рдВрдЪрд╛ рд╡рд╛рдкрд░. рддреБрдореНрд╣реА рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕реЛрдмрдд рдЬрд╡рд│рдЬрд╡рд│ рдХрд╛рд╣реАрд╣реА рдХрд░реВ рд╢рдХрддрд╛, рддреБрдореНрд╣рд╛рд▓рд╛ рддреБрдордЪреЗ рд▓рдХреНрд╖ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛рдпрдЪреЗ рдЖрд╣реЗ. рдореБрдЦреНрдп рдЧреЛрд╖реНрдЯ рдореНрд╣рдгрдЬреЗ рдХрд╛рдп рд╣рд╡реЗ рдЖрд╣реЗ рд╣реЗ рдЬрд╛рдгреВрди рдШреЗрдгреЗ. рд╕рд╛рдЗрдЯрд╡рд░ рдХрд╛рдо рдХрд░рддрд╛рдирд╛ рд▓рдкрд╡рд┐рдгреЗ, рд░рдВрдЧ рдмрджрд▓рдгреЗ рдЖрдгрд┐ рд╕реВрдЪрдирд╛ рдпрд╛ рддреАрди рдореБрдЦреНрдп рдмрд╛рдмреА рдЖрд╣реЗрдд рдЬреНрдпрд╛рдХрдбреЗ рд▓рдХреНрд╖ рджреЗрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдХрд╛рд╣реАрд╣реА рдЖрдгрд┐ рд╕рд░реНрд╡рдХрд╛рд╣реА рдлрд┐рд▓реНрдЯрд░ рдХрд░рдгреЗ рд╣реА рд╕реЛрдпреАрдЪреА рдЧреБрд░реБрдХрд┐рд▓реНрд▓реА рдЖрд╣реЗ.

рд▓рд╡рдЪрд┐рдХ рдирд┐рдпрдорд╛рдЪреЗ рдЙрджрд╛рд╣рд░рдг рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╖рдпрд╛рд╡рд░реАрд▓ рд╕реВрдЪрдирд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрдИрд▓:

!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() рдлрдВрдХреНрд╢рди рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдК рд╢рдХрдд рдирд╛рд╣реА. рддреНрдпрд╛рдореБрд│реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдЬрд╛рд╕реНрдд рдордЬрд╛ рдпреЗрдгрд╛рд░ рдирд╛рд╣реА. рдореНрд╣рдгреВрди, рдХреЛрдб рд╡рд╛рдкрд░реВрди рдорд▓рд╛ 5 KB рдордзреНрдпреЗ рд╕реНрд╡рддрдГрдЪреЗ рдХреНрд░реЕрдЪ рд▓рд┐рд╣рд╛рд╡реЗ рд▓рд╛рдЧрд▓реЗ рдЙрд▓рдЯ рдкреЛрд▓рд┐рд╢ рдиреЛрдЯреЗрд╢рди. рд╣реЗ, рдПрдХ рдореНрд╣рдгреВ рд╢рдХрддреЗ, рдлрдВрдХреНрд╢рдиреНрд╕ рдЖрдгрд┐ рд╕рд┐рдВрдЯреЕрдХреНрд╕ рдпрд╛ рджреЛрдиреНрд╣реА рдмрд╛рдмрддреАрдд рдЕрддреНрдпрдВрдд рдиреНрдпреВрдЯрд░реНрдб JS рдЖрд╣реЗ.

рдиреБрдХрддреАрдЪ рдПрдХ рдкреЛрд╕реНрдЯ рдЖрд▓реА рд╣реЛрддреА рдЯреЙрд╕реНрдЯрд░ рд╡рд┐рд╕реНрддрд╛рд░. рддреБрд▓рдиреЗрдд, TE рдЪрд╛ рдПрдХ рдЪрд╛рдВрдЧрд▓рд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рдЖрд╣реЗ рдЖрдгрд┐ рдХрд╛рд╣реА рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдЖрд╣реЗрдд рдЬреА Toster Comfort рдордзреНрдпреЗ рдирд╛рд╣реАрдд. рддрдерд╛рдкрд┐, рдорд╛рдЭрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕рдВрд╕рд╛рдзрдирд╛рдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рд╡рд░ рднрд░ рджреЗрддреЛ. рддрдерд╛рдкрд┐, рджреЛрдиреНрд╣реА рд╡рд┐рд╕реНрддрд╛рд░ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЛрдгреАрд╣реА рддреБрдореНрд╣рд╛рд▓рд╛ рддреНрд░рд╛рд╕ рджреЗрдд рдирд╛рд╣реА; рддреНрдпрд╛рдВрдЪрд╛ рд╡рд┐рд░реЛрдз рд╣реЛрдК рдирдпреЗ.

рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ, TC рд▓рд╛ рд╕реБрд░рд╡рд╛рддреАрдкрд╛рд╕реВрди рдкреБрдиреНрд╣рд╛ рд▓рд┐рд╣рд┐рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдХрд╛рд░рдг рдХрд╛рдо рдХрдореАрдд рдХрдореА рджреЛрдирджрд╛ рд╡реЗрдЧрд╡рд╛рди рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ рдЖрдгрд┐ рдХреЕрд╢реЗрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рд╛ - 10 рд╡реЗрд│рд╛, localStorage рдЖрдгрд┐ JSON.stringify() рд╕реЛрдбреВрди рдЖрдгрд┐ рдХрд╛рд╣реА рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд▓ рдЙрдкрд╛рдп рдмрджрд▓реВрди. рдкрдг рд╣рд╛ рдкрд░рд╛рдХреНрд░рдо рдорд▓рд╛ рдХрд░рд╛рдпрдЪрд╛ рдирд╛рд╣реА. рдЖрдгрд┐ рдореА "рдЬрд░ рддреЗ рдХрд╛рдо рдХрд░рдд рдЕрд╕реЗрд▓ рддрд░ рддреНрдпрд╛рд▓рд╛ рд╕реНрдкрд░реНрд╢ рдХрд░реВ рдирдХрд╛" рдпрд╛ рддрддреНрддреНрд╡рд╛рдЪрд╛ рдЪрд╛рд╣рддрд╛ рдЖрд╣реЗ. рдореА рд╕реБрдЯреНрдЯреАрд╡рд░ рдЕрд╕рддрд╛рдирд╛, рдореА рд╕рдХреНрд░рд┐рдпрдкрдгреЗ рд╕рдорд╕реНрдпрд╛ рдЖрдгрд┐ рдкреАрдЖрд░ рдШреЗрдд рдЖрд╣реЗ, рдкрд░рдВрддреБ рдорд┐рдирд┐рдорд▓рд┐рдЭрдордЪреНрдпрд╛ рдЦрд░реНрдЪрд╛рд╡рд░ рдирд╛рд╣реА. рдЖрдкрдг рд▓рдХреНрд╖ рджрд┐рд▓реНрдпрд╛рдмрджреНрджрд▓ рдзрдиреНрдпрд╡рд╛рдж!

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛