Тостер - ҳама чиз ба компост дохил мешавад. Филтр кунед ва лаззат баред

Ҳамин тавр мешавад, ки манбаи саволу ҷавоби Русия дар мавзӯъҳои IT дар ИДМ хеле маъмул аст - тостер. Бо вуҷуди ин, вақте ки ман бо ӯ аз наздик шинос шуданро сар кардам, ӯ чизеро гум мекард. Ин ба такмил додани шакли васеъшавии браузер оварда расонд. Бо ман вохӯред.

Хусусиятҳои асосӣ:

  • ном: Comfort тостер.
  • Омори корбар: фоизи саволҳо бо ҳалли онҳо; карма аз Ҳабр; хулоса аз профил - ҳамаи ин дар рӯйхати саволҳои Тостер аст.
  • Огоҳӣ: дар вақти воқеӣ дар сайт, дар нишона, инчунин огоҳиҳои push, танзимоти зиёде, сайт бояд кушода бошад (wiki).
  • Филтрҳо: шартҳо дар асоси формулаҳо: шумо метавонед саволҳоро пинҳон кунед, онҳоро ранг кунед ва инчунин огоҳиҳоро нишон диҳед - ҳамаи ин дар шакли шартҳои мантиқӣ чандир танзим карда шудааст (wiki).
  • Интерфейси: беҳбудиҳои ночиз, ба монанди нишон додани санаҳои дақиқ ё нишон додани ҳолати обуна дар рӯйхати саволҳо.
  • Интерфейси Habr: беҳбудиҳои ночиз (ихтиёрӣ), масалан, сатрҳои дар шарҳҳо.
  • Манбаи кушода: Шумо метавонед онро барои худ аз нав созед, агар шумо дар ҳақиқат мехоҳед (манбаъхо).
  • Озод: Иҷозатномаи MIT.
  • Истеъмоли хотира: 30-50MB, вобаста ба имконоти ва шиддати истифодаи тостер
  • Андоз аз: 93KB барои v0.8.1 (рамзи кушодашуда, кам карда нашудааст).
  • Чаҳорчӯба: гумшуда, JS тоза (минимализм).
  • Сифати код: миёна, омехтаи сабкҳо, хусусиятҳои калон, ҳилаҳои ифлос, чанд шарҳ.
  • Иҷозатҳо: 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 КБ код истифода барам аломати баръакси Лаҳистон. Ин, метавон гуфт, ки JS ҳам аз ҷиҳати функсияҳо ва ҳам аз ҷиҳати синтаксис хеле безарар аст.

Ба наздикӣ як мақолае дар бораи он буд Васеъ кардани Toster. Дар муқоиса, TE интерфейси хубтар дорад ва баъзе хусусиятҳое, ки Toster Comfort надоранд. Бо вуҷуди ин, васеъшавии ман истеъмоли захираҳоро таъкид мекунад. Бо вуҷуди ин, ҳеҷ кас шуморо барои истифодаи ҳарду васеъкунӣ халалдор намекунад; онҳо набояд ихтилоф кунанд.

Ба таври хуб, TC-ро аз сифр дубора навиштан лозим аст, зеро корро бо даст кашидан аз localStorage ва JSON.stringify() ва тағир додани баъзе қарорҳои меъморӣ ҳадди аққал ду маротиба суръат бахшидан ва бо кэш - 10 маротиба кор кардан мумкин аст. Аммо ман нестам, ки ин корнамоӣ кунам. Ва ман тарафдори принсипи "агар кор кунад, ба он даст нарасонед" ҳастам. Ҳангоме ки ман дар рухсатӣ ҳастам, ман фаъолона масъалаҳо ва PR-ро қабул мекунам, аммо на аз ҳисоби минимализм. Ба диққататон ташаккур!

Манбаъ: www.habr.com

Илова Эзоҳ