Một số hiểu biết rút ra được trong quá trình làm dự án tuần vừa qua
Bài đăng này đã không được cập nhật trong 7 năm
Base 64 là gì?
Base64 là một chương trình mã hóa chuỗi ký tự bằng cách dùng thay thế các ký tự trong bảng mã ASCII 8 bit thông dụng thành bảng mã 6 bit. Nó thường được sử dụng để mã hóa các tập tin đa phương tiện (hình ảnh, âm thanh, video,…). Ký tự 64 trong Base64 là đại diện cho 64 ký tự trong bãng mã ASCII. Base64 thường được sử dụng trong việc truyền tải email. Tuy nhiên, ngày nay người ta đã sử dụng nó vào việc truyền tải hình ảnh trên website.Nói đơn giản thì base 64 là một quá trình encode tập tin thành các kí tự/
Khi nào nên sử dụng base 64 Nhược Điểm:
- Đoạn ký tự được conver sẽ có dung lượng lớn hơn file gốc khoảng 3-5%. Đối với ảnh lớn có thể lên đến 10-20%.
- Hình ảnh được tạo ra khi dùng Base64 Image sẽ không được lưu cache ở trình duyệt. Do đó, khi bạn load lại thì cũng có nghĩa là sẽ load lại toàn bộ hình.
Ưu Điểm:
- Nếu sử dụng base64 image cho các tập tin như icon rất hiệu quả? Vậy dùng cho hình to có hiệu quả không? Tất nhiên, nhưng mà phải tùy từng trường hợp. Ví dụ, nếu sử dụng trong các gallery hoặc album ảnh sẽ rất hiệu quả. Vì sẽ có rất nhiều request đưa ra để tải hình ảnh, và đối với các ảnh có dung lượng lớn thì các request sẽ phải xử lý tuần tự, tải xong nhóm request tập tin ảnh này thì mới tiến hành tải nhóm ảnh khác. Do đó, dùng Base64 trong trường hợp này sẽ rất tiện.
P/s: qua việc xử lí với ảnh base 64 mình cũng mới hiểu ra việc url bị giới hạn 2048 kí tự là do request header bị giới hạn chứ không phải là do thanh địa chỉ giới hạn, vì thế file base 64 ko hề bị ảnh hưởng dù có bn kí tự
Hiểu biết về linux
bản chất của linux là quản lí gói, down bộ cài quản lí vào thư mục bin để chạy các lệnh vì thế nên nếu bạn muốn remove một phần mềm trên máy hoàn toàn thì bạn chỉ cần remove folder chạy lệnh đó là xong. VD:
remove php
which php
// path/to/php
rm -rf /path/to/php
DONE :3
Sự khác nhau giữa find và find_by
Là một người mới làm quen và tìm hiểu về Ruby on rails, chúng ta ít nhất đôi lần code của mình hay bị reviewers comment "Dùng find__by thay vì find"
Chắc các bạn cũng đôi lần thắc mắc và muốn tìm câu trả lời. Lý do là vì sao nhỉ?
find sẽ bắn ra một Exception nếu không có bất kỳ một record nào được tìm thấy. Nó chính là nguyên nhân dẫn tới việc server sẽ bị "crash". Và thật là khó chịu với người dùng khi web bị crash mà không hiểu chuyện gì đang xảy ra.
find__by thì không như vậy, nó không bắn ra Exception, đơn giản là nó trả về return value là "nil" và server sẽ không bị gián đoạn nếu không có record nào có giá trị phù hợp được tìm thấy.
>> User.create name: 'THE USER' # creates a user with id = 1
>> User.find(1) # returns the user
>> User.find_by(id: 1) # returns the user
>> User.find(2) # raises an exception
>> User.find_by(id: 2) # returns nil
Export file pdf trong Rails
Vấn đề này chắc có rất nhiều người biết và đã từng làm. Bản Thân mình khi làm thì sử dụng gem wicked_pdf, trên mạng cũng có rất nhiều hướng dẫn nên mình cũng không nói sâu, chỉ lưu ý một việc là lên server nhớ cài font nếu không sẽ bị lỗi vì môi trường server không hỗ trợ font tiếng nhật ( nếu bạn không làm dự án cho khách hàng nhật thì không cần quan tâm :3)
All rights reserved