Pembakar roti - semuanya masuk ke dalam komposter. Tapis dan nikmati

Kebetulan sumber Soal Jawab Rusia mengenai topik IT agak popular di CIS - Pemanggang roti. Namun, dia telah kehilangan sesuatu apabila saya mula mengenalinya secara dekat. Ini menghasilkan peningkatan dalam bentuk sambungan penyemak imbas. Jumpa saya.

Ciri-ciri utama:

  • Title: Keselesaan Pembakar Roti.
  • Statistik pengguna: peratusan soalan dengan penyelesaian; karma daripada Habr; ringkasan daripada profil - semua ini ada dalam senarai soalan Toaster.
  • Notis: dalam masa nyata di tapak, pada ikon, ditambah pemberitahuan tolak, banyak tetapan, tapak mesti dibuka (wiki).
  • Penapis: syarat berdasarkan formula: anda boleh menyembunyikan soalan, mewarnakannya, dan juga menunjukkan pemberitahuan - semua ini dikonfigurasikan secara fleksibel dalam bentuk keadaan logik (wiki).
  • Antara muka: penambahbaikan kecil, seperti menunjukkan tarikh tepat atau memaparkan status langganan dalam senarai soalan.
  • Antara muka Habr: penambahbaikan kecil (pilihan), contohnya, garis lekukan dalam ulasan.
  • Sumber terbuka: Anda boleh membuat semula untuk diri sendiri jika anda benar-benar mahu (sumber).
  • Percuma: Lesen MIT.
  • Penggunaan memori: 30-50MB, bergantung pada pilihan dan intensiti penggunaan Pembakar
  • Saiz: 93KB untuk v0.8.1 (dibongkar, bukan kod kecil).
  • Rangka kerja: hilang, bersih JS (minimalisme).
  • Kualiti kod: purata, campuran gaya, ciri besar, helah kotor, sedikit komen.
  • Kebenaran: toster.ru, habr.com, notifications, storage, unlimitedStorage

Pada mulanya, saya membuat sambungan untuk diri saya sendiri dengan satu tujuan: untuk menunjukkan peratusan soalan pengguna di mana dia bersusah payah mengklik butang "Tandakan sebagai penyelesaian". Kemudian, sedikit demi sedikit, pertama satu dan kemudian satu lagi ditambah, sehingga alat itu berkembang menjadi raksasa seratus kilobait. Walau bagaimanapun, prinsip "tidak menggunakan apa-apa yang tidak perlu" diikuti hingga akhir.

Salah satu ciri utama sekarang ialah penggunaan formula dalam tetapan. Anda boleh melakukan hampir apa sahaja dengan mereka, apa sahaja yang anda mahu menguruskan perhatian anda. Perkara utama ialah mengetahui apa yang dikehendaki. Menyembunyikan, menukar warna dan pemberitahuan adalah tiga aspek utama yang perlu diberi perhatian apabila bekerja dengan tapak. Menapis apa sahaja dan segala-galanya adalah kunci kepada kemudahan.

Contoh peraturan fleksibel yang membolehkan anda menerima pemberitahuan mengenai topik tertentu:

!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

Saya akan katakan dengan segera bahawa fungsi eval() tidak boleh digunakan. Jadi anda tidak akan berseronok. Oleh itu, saya terpaksa menulis tongkat saya sendiri dalam 5 KB kod menggunakan notasi Poland terbalik. Ini, boleh dikatakan, adalah JS yang sangat dikebiri, baik dari segi fungsi dan sintaks.

Baru-baru ini ada siaran tentang Sambungan Toster. Sebagai perbandingan, TE mempunyai antara muka yang lebih bagus dan beberapa ciri yang tidak dimiliki oleh Toster Comfort. Walau bagaimanapun, sambungan saya menekankan penggunaan sumber. Walau bagaimanapun, tiada siapa yang mengganggu anda untuk menggunakan kedua-dua sambungan; ia tidak sepatutnya bercanggah.

Dengan cara yang baik, TC perlu ditulis semula dari awal, kerana kerja boleh dipercepatkan sekurang-kurangnya dua kali, dan berfungsi dengan cache - 10 kali, dengan meninggalkan localStorage dan JSON.stringify() dan menukar beberapa penyelesaian seni bina. Tetapi bukan saya yang perlu melakukan prestasi ini. Dan saya peminat prinsip "jika ia berkesan, jangan sentuh". Semasa saya bercuti, saya aktif mengambil isu dan PR, tetapi tidak dengan mengorbankan minimalisme. Terima kasih kerana memberi perhatian!

Sumber: www.habr.com

Tambah komen