mẹo vặt

08

Vấn đề lỗi Internal error 500 khi xem Issue

Mới update Redmine của mình lên version 1.0, làm theo các bước upgrade thấy chạy rất mượt, nhưng hôm nay mới phát hiện ra một bug. Khi mở một issue có update thì luôn bị Internal error 500. Mình mở file log production.log trong thư mục log thì thấy ghi lỗi từ file _history.rhtml vì không xác định được biến issue. Ruby on Rails học chưa xong nên đành google thì mường tượng được nguyên nhân của lỗi này, có thể do mình cài Advance Roadmap nên plugin này tác động vào sự hiện thị của issue. Thấy mọi người chia sẻ sửa lỗi này bằng cách chỉnh sửa lại file _history.rhtml như sau

-    <%= render_notes(issue, journal, :reply_links => reply_links) unless journal.notes.blank? %>
+    <%= render_notes(@issue, journal, :reply_links => reply_links) unless journal.notes.blank? %>

Sau khi patch xong thấy Redmine lại chạy mượt ^_^

28

Di cư sang Chrome

Đối với mình trong các trình duyệt Web thì Firefox đang là lựa chọn hàng đầu vì nó rất hữu dụng cho công việc phát triển Website. Nhưng gần đây hiện tượng ngốn RAM của nó thật kinh khủng và ngày càng thấy sự chậm chạp của nó, nên giờ đây mình bắt đầu sử dụng Chrome của Google để thay thế dần. Phiên bản mới của Chrome đã cho người dùng cài thêm Extensions, nhưng tìm đi tìm lại thì chưa có Extension nào ở Chrome sánh được với Firebug của Firefox nên đành sử dụng Firefox cho công việc phát triển, còn việc khác thì dùng Chrome cho nhẹ nhàng.

Khi sử dụng Chrome thì những Extension ưa thích của mình gồm có

  • oGet for Chrome: tương tự FlashGot trong Firefox, được sử dụng để gọi các trình download bên ngoài như các chương trình FlashGet, IDM,...
  • Roboform: trình quản lý mật khẩu
  • ScribeFire: một công cụ viết blog
  • Web Developer: tương tự với Extension cùng tên trong Firefox

Mong rằng trong tương lai gần sẽ có Firebug trên Chrome ^_^

24

Google công bố Font API

Ngày 19 tháng 5, Google đã công bố Font API mới và kho chứa font mã nguồn mở để mọi người có thể sử dụng thiết kế trang web miễn phí. Google Font API cho phép bạn nhúng bất kỳ font Google lên trang web của mình chỉ bằng dòng CSS đơn giản. Đơn thuần Font API sử dụng @font-face để khai báo font cần hiển thị, cho dù font chỉ định chưa được cài trên máy tính của bạn nhưng nó vẫn sẽ hiển thị được chính xác (mình đã thử thì chỉ có trên Iphone và các dòng máy điện thoại thì @font-face không làm việc).

Việc sử dụng @font-face đơn giản như vậy mà từ trước đến giờ mình lại bỏ qua và tìm các cách thay thế như là Cufon và sFIR. Phải chăng trước kia @font-face chưa được hỗ trợ nhiều trên trình duyệt? Không phải vậy, mình đã thử đọc lại thông tin về @font-face thì thấy được hỗ trợ từ rất sớm từ các trình duyệt khác nhau. Vậy là từ giờ người thiết kế website sẽ có thêm công cụ linh hoạt để sử dụng font trên trang web của mình.

Đối với những website Việt Nam thì Google công bố font mã nguồn mở cũng không thay đổi lắm cách thức sử dụng font trên site của họ. Vì những font trên google đang có không hỗ trợ Unicode. Mấy ngày nữa mình sẽ tự tạo một thư viện riêng dành cho bộ font hỗ trợ tiếng Việt (cầu mong không bị kiện vì vi phạm bản quyền font) ^_^

20

Cài đặt Windows 7 không dùng DVD

Cùng với sự phát triển của Windows, bộ cài Windows 7 đã phình to vượt qua đĩa CD thông thường. Bây giờ bạn muốn cái Windows 7 chắc toàn phải cái từ DVD. Tuy nhiên có nhiều lúc ổ DVD hỏng hoặc đĩa DVD hỏng (tình trạng đĩa CD và DVD hiện nay không khác gì đĩa mềm 10 năm trước, toàn Tàu khựa nên nhanh hỏng), trong trường hợp này chúng ta nên tìm các cài từ USB hoặc với bộ cài có sẵn trên ổ cứng.

Để cài đặt được Windows 7 từ USB thì chúng ta phải có USB có dung lượng ít nhất là 3G. Cách tạo bộ cài trên USB và đĩa cứng gần giống nhau về phương thức.

  1. Format USB (có thể phải dùng chương trình format USB để tạo MBR cho chuẩn) hoặc phân vùng đĩa cứng cần cài về NTFS.
  2. Nếu bạn có bộ cài trên máy thì chỉ cần copy các thư mục boot, sources và file bootmgr vào USB hoặc phân vùng đĩa cứng cần cài.
  3. Chuyển vào chế độ Console (sử dung cmd) và truy cập vào thư mục boot, gõ lệnh bootsect /nt60 X: (trong đó X là chữ cái đại diện cho tên ổ USB hoặc tên phân vùng đĩa cứng).
  4. Sau đó chúng ta khởi động máy từ USB hoặc từ đĩa cứng để cài đặt.

Việc cài đặt từ USB và ổ cứng sẽ được thực hiện nhanh hơn do tốc độ truy cập trên các thiết bị này nhanh hơn đọc đĩa quang. Chúc mọi người cài Windows 7 thành công!

06

Ubercart - Can't add products to Shopping cart

Hôm nay gặp một lỗi rất khó chịu trên Ubercart, đó là khi chưa đăng nhập vào website, chọn một mặt hàng để cho vào giỏ hàng thì toàn hiện ra thông báo "There are no products in your shopping cart.". Điều khó chịu ở đây là mình cài đặt Ubercart trên máy tính của mình thì không gặp vấn đề này, nhưng khi export dữ liệu rồi cài trên máy khác với mã nguồn giống nhau thì các máy các đều gặp vấn đề này. Ban đầu mình nghĩ đến do đường dẫn session chưa được cấu hình chính xác, nhưng sau khi loay hoay một hồi thì thấy các thông số cấu hình không có gì là khác biệt, nhưng máy của em Lương vẫn bị lỗi. Cuối cùng vẫn phải sử dụng đến ông Google để tìm ra vấn đề. Hóa ra khi export dữ liệu rồi import vào máy khác thì trong bảng users bản ghi đầu tiên đã bị thay đổi, ban đầu bản ghi đầu tiên có uid bằng 0, sang đến máy khác thì uid này lại không phải bằng không. Mà trong Drupal, thông tin bản ghi đầu tiên chính là dành cho tài khoản vô danh, chính điều này đã làm session của giỏ hàng không còn đúng nữa. Sau khi dùng phpmyadmin thay đổi bản ghi đầu tiên uid về 0 thì chương trình lại chạy ngon ơ! Câu hỏi đặt ra là tại sao khi backup bằng Sql Dumper và restore thì uid của bản ghi đầu tiên trong bảng Users lại bị thay đổi?

Flickr recent photos

Cu Ti - 3 tuoiCao sơn quái xếTrên đỉnh núiCu PitLộ hàngWhat the hell do I

Syndicate

Syndicate content