محمصة - كل شيء يذهب إلى السماد. تصفية والتمتع بها

لقد حدث أن مورد الأسئلة والأجوبة الروسي حول موضوعات تكنولوجيا المعلومات يحظى بشعبية كبيرة في رابطة الدول المستقلة - محمصة خبز كهربائية. ومع ذلك، كان ينقصه شيء ما عندما بدأت التعرف عليه عن كثب. أدى ذلك إلى تحسين شكل امتداد المتصفح. قابلني.

الميزات الرئيسية:

  • العنوان: راحة محمصة.
  • إحصائيات المستخدم: نسبة الأسئلة مع الحلول؛ الكرمة من حبر. ملخص من الملف الشخصي - كل هذا موجود في قائمة أسئلة محمصة الخبز.
  • إشعارات: في الوقت الفعلي على الموقع، على الأيقونة، بالإضافة إلى الإشعارات، العديد من الإعدادات، يجب أن يكون الموقع مفتوحًا (вики).
  • المرشحات: الشروط بناءً على الصيغ: يمكنك إخفاء الأسئلة وتلوينها وإظهار الإشعارات أيضًا - كل هذا يتم تكوينه بمرونة في شكل شروط منطقية (вики).
  • واجهة: تحسينات طفيفة، مثل إظهار التواريخ الدقيقة أو عرض حالة الاشتراك في قائمة الأسئلة.
  • واجهة الهبر: تحسينات طفيفة (اختيارية)، على سبيل المثال، خطوط المسافة البادئة في التعليقات.
  • المصدر المفتوح: يمكنك إعادة صنعه بنفسك إذا كنت تريد حقًا (مصادر).
  • مجاني : رخصة MIT.
  • استهلاك الذاكرة: 30-50 ميجابايت، حسب خيارات وكثافة استخدام المحمصة
  • الحجم: 93 كيلو بايت للإصدار 0.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 محايد للغاية، سواء من حيث الوظائف أو بناء الجملة.

كان هناك منشور مؤخرًا حول ملحق توستر. بالمقارنة، تتمتع TE بواجهة أفضل وبعض الميزات التي لا تتوفر في Toster Comfort. ومع ذلك، فإن امتدادي يؤكد على استهلاك الموارد. ومع ذلك، لا أحد يزعجك باستخدام كلا الامتدادين، فلا ينبغي أن يتعارضا.

بطريقة جيدة، يجب إعادة كتابة TC من الصفر، لأنه يمكن تسريع العمل مرتين على الأقل، والعمل مع ذاكرة التخزين المؤقت - 10 مرات، عن طريق التخلي عن localStorage وJSON.stringify() وتغيير بعض الحلول المعمارية. لكن لست أنا من يجب عليه القيام بهذا العمل الفذ. وأنا من محبي مبدأ "إذا نجح الأمر، فلا تلمسه". أثناء إجازتي، أتعامل بنشاط مع القضايا والعلاقات العامة، ولكن ليس على حساب البساطة. شكرًا لكم على اهتمامكم!

المصدر: www.habr.com

إضافة تعليق