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

Cách tạo 1 database với Lotus Framework

Tiếp tục bài viết lần trước về Bắt đầu một application với Lotus Framework chúng ta sẽ tìm hiểu thêm từng bước để xây dựng được 1 ứng dụng. Ở bài này mình xin đi vào việc sử dụng sqlite để tạo database, áp dụng lotus-model để tạo entity, sử dụng repository để giao tiếp với database và mapping dữ ...

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

So sánh tốc độ các thư viện render JSON

Như đã nói trong bài viết trước, mình sẽ chia sẻ tổng hợp kết quả của các benchmark mình đã dùng để so sánh tốc độ render JSON của các thư viện phổ biến hiện nay. Dữ liệu dùng để render Các thử nghiệm của mình dựa nhiều trên ý tưởng của bài so sánh RABL và AMS của THUVA THARMA. Mình cũng chia ...

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

[Ghi chép] .zip, Time.current vs Time.now, và .methods

Thỉnh thoảng trên Ruby Việt Nam chat, hay trong quá trình tìm kiếm mình sẽ gặp được một số vấn đề nhỏ nhỏ, thú vị và có thể hữu dụng nên thường lưu lại (dưới dạng nháp). Từ giờ mình sẽ đưa những ghi chép lẻ tẻ lên đây với chú thích rõ ràng. Vừa là để tra cứu lúc cần thiết và hi vọng sẽ có ích cho ...

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

Tạo API từ Lotus Framework

Tiếp tục bài viết lần trước về Bắt đầu một application với Lotus Framework & Bắt đầu một database với Lotus Framework bây giờ chúng ta sẽ tìm hiểu thêm cách tạo API từ Lotus Framework. Tại sao lại sử dụng Lotus để tạo web API Lý do đầu tiên Lotus là 1 web framework chính vì vậy nó hỗ ...

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

Truyền block vào trong Ruby mà không thông qua cách &block

Chú thích : Bản dịch tiếng Việt của bài viết Passing Blocks in Ruby Without &block của Paul Mucur Có 2 cách để nhận vào block trong một hàm của Ruby. Cách đầu tiên là sử dụng từ khoá yield như sau: def speak puts yield end speak { "Hello" } # Hello # => nil Cách khác là chèn ...

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

Bạn biết gì về toán tử "===" triple equals (case equality operator) trong Ruby?

Bạn biết gì về toán tử "===" triple equals (case equality operator) trong Ruby? Là một lập trình viên và thường xuyên nhảy việc thì chắc hẳn các bạn cũng đã từng gặp câu hỏi so sánh == với === trong Javascript khi đi phỏng vấn rồi phải không? Nếu chưa thì mình xin nhắc lại. Trong Javascript, ...

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

Tham khảo về memory-profiling và WeakRef trong Ruby

Gần đây tôi có đọc bài viết về analyize memory leak trên ruby của Sam Saffron. Bài viết có đề cập đến một số kỹ thuật debug khá thú vị như Sử dụng ObjectSpace để snapshot process hiện tại ObjectSpace.each_object do |o| begin object_ids << o.object_id rescue # skip ...

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

Tôi đã tuột quần với Bundler như thế nào?

Vài ngày trước mình gặp phải một cái lỗi rất quái khi làm việc với Bundler và Puma. 1. Quay lại vài ngày trước ... Như ta đã biết Bundler cung cấp hai hàm Bundle.require và Bundle.setup để group và require các thư viện trong project của chúng ta. Với Bundle.setup chúng ta có thể ...

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

Tìm hiểu về Lambda

Lambda là: 1 function mà nó không có tên cụ thể. nó có thể sử dụng để gán 1 đoạn code như 1 variable nó cũng là 1 object return về 1 value giống như những function bình thường khác Cách viết của Lambda: Có 2 cách để viết 1 lambda lambda -> Ruby dùng { } để viết ...

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

Road to Ruby Silver (Part 5)

This is just some note for who want to get Ruby Silver certification. :) Part 1 Part 2 Part 3 Part 4 5.1. Object class 5.1.1. Object's id a = "foo" a.object_id → 70257771679880 a.__id__ → 70257771679880 Use object_id, we can know the different between String ...

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