September 16, 2009
Ultimate IE6 Cheatsheet: How to fix 25+ Internet Explorer 6 Bugs →
Tập hợp những thủ thuật sửa lỗi cho IE6: hiển thị PNG, round corner, box model, favicon...
Lẽ ra chỉ cần 1 giải pháp duy nhất: Dừng hỗ trợ IE6.
Tập hợp những thủ thuật sửa lỗi cho IE6: hiển thị PNG, round corner, box model, favicon...
Lẽ ra chỉ cần 1 giải pháp duy nhất: Dừng hỗ trợ IE6.
2 thiết lập đơn giản để tăng tốc Photoshop:
Điều được tớ nhắc đến trong bài viết này không hẳn là một thủ thuật, đồng thời nó cũng không chỉ được áp dụng cho mỗi mình CakePHP. Nó là 2 chữ: đọc nhiều.
1. Bên cạnh những nguồn thông tin và tài liệu "chính thống" được nêu trên trang chủ CakePHP, như The Cookbook, The Bakery, hay những blog vốn đã nổi tiếng từ lâu vì những bài viết về CakePHP như cakebaker, Debuggable (trước là ThinkingPHP), bạn có thể tìm thấy hằng hà xa số các bài viết khác về framework này từ rất rất nhiều các blog khác.
Vào thăm ngần đó blog thường xuyên là điều không khả thi, và cũng không thật cần thiết, khi mà bạn chỉ cần nhớ một địa điểm duy nhất - Planet CakePHP. Trang web này tập hợp (gần như) tất cả các bài viết về CakePHP rải rác mọi nơi trên web về một mối, giúp bạn nhanh chóng cập nhật kiến thức của mình.
Hãy bookmark hoặc đăng ký nhận tin RSS từ feed aggregator này: http://planetcakephp.org/aggregator
2. Đôi lúc trong khi code, bạn sẽ cần thông tin về một số vấn đề thường gặp: Làm thế nào để sử dụng Auth Component? Làm sao để dùng theme? Cài đặt và sử dụng bake ra sao?
Bạn có thể tìm thấy danh sách các tutorial giải đáp những câu hỏi đó trong bài viết CakePHP Tutorials đăng trên blog PseudoCoder.
Một địa chỉ khác mà trước kia tớ thường lui tới là trang Frequent discussions trên CakePHP Google Group. Tuy nhiên, tại thời điểm viết bài, khi truy cập hiện ra thông báo lỗi "Sorry, you have to be a manager of this group to view this page" - có lẽ trang web này đang trong giai đoạn bảo trì.
Vậy nhé. Đón xem phần sau, nếu có.
Tên bài này được đặt dựa theo bài viết Loại bỏ quảng cáo trong Internet Explorer với Adblock Pro mà tớ mới đọc được.
Khi còn sử dụng Firefox như trình duyệt mặc định của mình, extension ưa thích nhất của tớ là Adblock Plus. Chuyển qua dùng Opera một thời gian, tớ tìm đến tính năng Block Ads và các bộ lọc do người dùng tự tạo. Giờ với 90% thời gian lướt web bằng Safari, tớ không thể không cài đặt Safari AdBlock. Nói chung, tớ không thể chịu được cảm giác lên mạng với một mớ banner quảng cáo to đùng, (thậm chí) nhấp nháy trước mặt.
Quảng cáo được đặt khắp mọi nơi, từ website đến game và các phần mềm miễn phí. Điển hình của dạng thứ 3 có thể kể đến phần mềm phổ biến Yahoo! Messenger. Danh sách bạn bè, cửa sổ webcam, phòng chat,... - đâu cũng có 1 cái banner nhỏ ở dưới. Hiển nhiên bạn có thể tìm cách patch phần mềm này để loại bỏ quảng cáo, nhưng quá trình đó phải lặp lại cho mỗi phiên bản mới của Yahoo! Messenger. Rất mất thời gian.
Thử áp dụng quá trình tìm patch/plugin/extension để loại bỏ quảng cáo cho mỗi phần mềm trong máy bạn mà xem - nghĩ là ngán.
Vậy nên, mục đích bài viết này của tớ là chỉ ra (một vài) cách loại bỏ quảng cáo mà không cần biết nó được đặt ở đâu - website, game hay phần mềm.
1. counterCache
Như bạn có thể thấy, khi code với CakePHP, nếu tuân theo các quy ước liên quan đến việc đặt tên table, column, class..., bạn sẽ đỡ cho mình được rất nhiều công việc, ví dụ như xử lý các giá trị created - thời điểm tạo record, modified - thời điểm cuối record được sửa.
Check out "CakePHP Conventions" for more information, but suffice it to say that naming our table 'posts' automatically hooks it to our Post model, and having fields called 'modified' and 'created' will be automagically managed by Cake.
"Automagic" của Cake không dừng lại ở đó - bên cạnh các field created, modified, *_id, bạn có thể sử dụng field có tên dạng *_count để lưu số lượng record liên quan.
Một ví dụ đơn giản: Mỗi record trong table Comment có field post_id trỏ tới record liên quan trong table Post. Để đếm số lượng comment của một post nhất định, thay vì dùng findCount(), nghĩa là mất thêm 1 query, bạn chỉ việc xem giá trị field comment_count được Cake xử lý tự động.
Việc khai báo trong 2 file model post.php, comment.php đơn giản là:
Ổn đấy chứ?
Read More »(((more)))2. Debug o