Bài viết của Hoàng Hải Đăng

モデル中のSQLを綺麗に書く

きっかけ ActiveRecord 最高ですよね。ほとんどの事が SQL を記述しないで実現できることはもちろん、メソッドチェーンを使ってやりたい事を非常に簡潔に記述できます。 また、少し気を付けて実装するだけで、パフォーマンス問題が発生することも少ないです。 ですが、やはり例外はあるもので、どうしても SQL を記述しないといけない場面もあります。その時、どんなに綺麗に Ruby のコードを書いても、全く別の言語である SQL がコードに入ってくると、可読性が落ちます。 それを何とかできないか、と考えました。 ヒアドキュメント ...

Tác giả: Hoàng Hải Đăng viết 21:41 ngày 11/08/2018 chỉnh sửa

pluckメソッドがArrayのArrayではなくHashのArrayを返せるようにする

通好みのメソッドpluck Railsでアプリケーションを組むと、ActiveRecordのインスタンス生成コストが勿体ないな、と感じることが多いと思います。 そんな時の強い味方がpluckメソッドで、愛用される方も多いと思います。 Rails4からは複数のカラムも指定できて、使い勝手が向上しました。 複数カラムを指定すると、値がArrayのArrayで返って来ます。 例を示すと、例えばこんなデータがあるとすると employees id name created_at 1 Taro 2014-08-01 01:00:05 2 ...

Tác giả: Hoàng Hải Đăng viết 21:41 ngày 11/08/2018 chỉnh sửa

CSS Precedence

Đã bao giờ bạn cố chỉnh sửa một CSS rule nào đó mà nó vẫn không ăn, cứ ăn theo một CSS rule khác? Sao cái rule (đáng ghét) kia lại cứ được ưu tiên vậy? Hãy cùng tìm hiểu cách xác định rule nào được áp dụng theo 6 ví dụ sau: Ví dụ 1 Đầu tiên phải khẳng định lại 1 điều mà mọi người hay nhầm ...

Tác giả: Hoàng Hải Đăng viết 21:28 ngày 11/08/2018 chỉnh sửa

Các cách gọi lambda

Đây là một lambda sử dụng để cộng thêm một đơn vị cho số n cong_them_mot = ->(n) { n + 1 } Sau đây là 3 cách gọi lambda trên: cong_them_mot.call(10) cong_them_mot[10] cong_them_mot.(10) Nếu không rõ lambda là gì có thể xem qua bài viết này: Tìm hiểu về Lambda

Tác giả: Hoàng Hải Đăng viết 21:28 ngày 11/08/2018 chỉnh sửa

Phức tạp hoá vấn đề: Phân tích và mô phỏng nút cảm xúc của Facebook

Tiếp tục sê-ri Phức tạp hoá vấn đề lần này, chúng ta sẽ cùng tìm hiểu và mô phỏng lại một chức năng mà mọi người đang bắt đầu sử dụng hằng ngày, đó là chức năng thể hiện cảm xúc (reaction) của Facebook. Khi bạn rê chuột vào nút Like , một khối màu trắng sẽ hiện ra, đồng thời các biểu ...

Tác giả: Hoàng Hải Đăng viết 21:28 ngày 11/08/2018 chỉnh sửa

Nguy hiểm cực cơ bản nhưng ít đề phòng khi lựa chọn element để định dạng CSS

Chúng ta đã biết #id trong CSS là để chỉ đích danh một element, nó giống như số chứng minh thư của bạn, mỗi người xài một cái, không có hai người nào có chung số CMT. Còn .class thì khác, nó để nhóm những element có đặc điểm chung để xử lý luôn một chùm. Nó giống như sở thích của bạn. ...

Tác giả: Hoàng Hải Đăng viết 21:26 ngày 11/08/2018 chỉnh sửa

Tuyển tập 10 mẫu button ấn tượng trên Codepen

Lang thang thấy một số button rất đẹp trên Codepen nên tổng hợp lại. Các bạn click thẳng vào link tiêu đề để đến codepen nhé. ...

Tác giả: Hoàng Hải Đăng viết 21:25 ngày 11/08/2018 chỉnh sửa

Thêm vào authentication cho Lotus app

Chú thích : Đây là bản dịch tiếng Việt của bài viết gốc của tôi. Nếu bạn muốn xem bản tiếng Anh, xin hãy trỏ tới URL http://ruby-journal.com/lotusrb/how-to-add-basic-authentication-into-lotus-app/ Lời mở Lotus Framework là một Ruby Web Framework mới với chú trọng vào cấu trúc tách rời với ...

Tác giả: Hoàng Hải Đăng viết 21:25 ngày 11/08/2018 chỉnh sửa

Hiểu lầm tai hại của căn dọc (vertical-align) trong CSS

Khi người ta dùng nó để căn chiều dọc của block element , ví dụ một div , 1 ảnh... và thấy nó không có tác dụng. Bởi vì nó không sinh ra để căn chiều dọc của div, chỉ dùng để căn dọc inline element , ví dụ như 1 dòng chữ . 1 hàng ngang ảnh Tức là chỉ để căn dọc cho những ...

Tác giả: Hoàng Hải Đăng viết 21:25 ngày 11/08/2018 chỉnh sửa

Sự khác biệt giữa (<< & +=) của việc nối chuỗi trong String

Nhìn ví dụ dưới đây: Nối chuỗi với += first_name = "Paul" name = first_name last_name = "Brian" name += last_name Bây giờ mình kiểm tra: name ==> nó trả về kết quả PaulBrian first_name ==> nó trả về kết quả Paul Nối chuỗi với << first_name = ...

Tác giả: Hoàng Hải Đăng viết 21:24 ngày 11/08/2018 chỉnh sửa