Máy nướng bánh mì - mọi thứ đều được đưa vào máy làm phân trộn. Lọc và thưởng thức

Tình cờ là tài nguyên Hỏi đáp bằng tiếng Nga về các chủ đề CNTT khá phổ biến ở CIS - Bánh mì nướng. Tuy nhiên, anh ấy đã bỏ lỡ điều gì đó khi tôi bắt đầu tìm hiểu kỹ hơn về anh ấy. Điều này dẫn đến sự cải tiến về hình thức tiện ích mở rộng của trình duyệt. Gặp tôi.

Ứng dụng này:

  • Tiêu đề: Máy nướng bánh mì thoải mái.
  • Thống kê người dùng: tỷ lệ câu hỏi có đáp án; nghiệp chướng từ Habr; tóm tắt từ hồ sơ - tất cả những điều này đều có trong danh sách câu hỏi của Toaster.
  • Thông báo: trong thời gian thực trên trang web, trên biểu tượng, cùng với thông báo đẩy, nhiều cài đặt, trang web phải được mở (wiki).
  • Bộ lọc: điều kiện dựa trên công thức: bạn có thể ẩn câu hỏi, tô màu chúng và cũng có thể hiển thị thông báo - tất cả điều này được cấu hình linh hoạt dưới dạng điều kiện logic (wiki).
  • Giao diện: những cải tiến nhỏ, chẳng hạn như hiển thị ngày chính xác hoặc hiển thị trạng thái đăng ký trong danh sách câu hỏi.
  • Giao diện Habr: cải tiến nhỏ (tùy chọn), ví dụ: dòng thụt lề trong nhận xét.
  • Mã nguồn mở: Bạn có thể tự làm lại nếu bạn thực sự muốn (nguồn).
  • Miễn phí: Giấy phép MIT.
  • Tiêu thụ bộ nhớ: 30-50 MB, tùy thuộc vào tùy chọn và cường độ sử dụng của Máy nướng bánh mì
  • Kích thước: 93KB cho v0.8.1 (đã giải nén, không rút gọn mã).
  • Khung: JS thiếu, sạch sẽ (chủ nghĩa tối giản).
  • Chất lượng mã: trung bình, pha trộn nhiều phong cách, tính năng lớn, thủ đoạn bẩn thỉu, ít bình luận.
  • Quyền: toster.ru, habr.com, notifications, storage, unlimitedStorage

Ban đầu, tôi tự tạo tiện ích mở rộng với một mục đích duy nhất: hiển thị tỷ lệ phần trăm câu hỏi của người dùng mà họ bận tâm khi nhấp vào nút “Đánh dấu là giải pháp”. Sau đó, từng chút một, cái đầu tiên và cái khác được thêm vào, cho đến khi công cụ này phát triển thành một con quái vật có dung lượng hàng trăm kilobyte. Tuy nhiên, nguyên tắc “không sử dụng những thứ không cần thiết” vẫn được tuân thủ đến cùng.

Một trong những tính năng chính hiện nay là sử dụng các công thức trong cài đặt. Bạn có thể làm hầu hết mọi việc với chúng, bất cứ điều gì bạn muốn để quản lý sự chú ý của mình. Điều chính là phải biết những gì muốn. Ẩn, thay đổi màu sắc và thông báo là ba khía cạnh chính cần chú ý khi làm việc với một trang web. Lọc mọi thứ và mọi thứ là chìa khóa cho sự thuận tiện.

Ví dụ về quy tắc linh hoạt sẽ cho phép bạn nhận thông báo về một chủ đề cụ thể:

!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

Tôi sẽ nói ngay rằng hàm eval() không thể sử dụng được. Vì vậy, bạn sẽ không có nhiều niềm vui. Vì vậy, tôi đã phải viết chiếc nạng của riêng mình bằng 5 KB mã bằng cách sử dụng ký hiệu đảo ngược của Ba Lan. Người ta có thể nói đây là JS được trung hòa cao độ, cả về chức năng và cú pháp.

Gần đây có một bài viết về Tiện ích mở rộng Toster. So sánh thì TE có giao diện đẹp hơn và một số tính năng mà Toster Comfort không có. Tuy nhiên, phần mở rộng của tôi nhấn mạnh đến việc tiêu thụ tài nguyên. Tuy nhiên, không ai làm phiền bạn khi sử dụng cả hai tiện ích mở rộng; chúng không nên xung đột.

Theo cách tốt, TC cần phải được viết lại từ đầu, vì công việc có thể được tăng tốc ít nhất hai lần và hoạt động với bộ nhớ đệm - 10 lần, bằng cách bỏ localStorage và JSON.stringify() và thay đổi một số giải pháp kiến ​​trúc. Nhưng người phải làm được điều này không phải là tôi. Và tôi là người hâm mộ nguyên tắc “nếu nó hoạt động thì đừng chạm vào nó”. Trong khi đi nghỉ, tôi tích cực giải quyết các vấn đề và quan hệ công chúng, nhưng không phải trả giá bằng sự tối giản. Cám ơn vì sự quan tâm của bạn!

Nguồn: www.habr.com

Thêm một lời nhận xét