viblo.asia viblo.asia

Rails và conditional validation trong model

Lời nói đầu I agree to terms of service and privacy policies Bắt đầu từ tháng 5/2018, cái checkbox vô dụng này đã trở thành quy định bắt buộc chung tại EU GDPR. Từ trước tới giờ, những thứ như vậy ta thường không lưu trong database làm gì - chỉ cần dùng code logic để check là đủ. Việc implement thoạt nhìn có vẻ đơn giản, nhưng nếu ta nghiên cứu...

viblo.asia viblo.asia

Build API errors response

I. Mở đầu Xin chào các bác (lay2) Hôm nay em sẽ xin trình bày một vấn đề khi xây dựng API với Rails - Errors response Đối với những newbie, khi lần đầu viết Rails API để phục vụ cho Mobile client, ta sẽ gặp vấn đề khi định nghĩa response trả về cho phía client. Với cá nhân em, thì (boiroivl) vì: Không biết format response trả về thế nào. Thông tin errors...

viblo.asia viblo.asia

Video upload với Ziggeo

I. Mở đầu Xin chào các bác (lay2) Chắc hẳn các bác đã quen thuộc với việc xem, hay chia sẻ các videos lên trên mạng. Trong vô số các trang web, có lẽ nổi tiếng nhất là gã khổng lồ Youtube. Cùng với việc phát triển các chức năng hướng tới người sử dụng, Youtube cũng phát triển cả API để developer có thể nhúng, chỉnh sửa, upload videos lên trên...

viblo.asia viblo.asia

Xây dựng Two factor authentication (2FA) cùng với Devise

I. Mở đầu Xin chào các bác (lay2) Ngày nay, dưới sự phát triển như vũ bão của những dịch vụ trên Internet. Những "tài sản" của chúng ta cũng dần dần được số hóa. Khi đó, việc chỉ sử dụng Username và Password theo truyền thống sẽ không còn đủ tính bảo mật nữa. Hãy thử nghĩ tới trường hợp người khác biết được Username và Password...

viblo.asia viblo.asia

Track performance với Skylight

I. Giới thiệu Xin chào các bác (lay2) Performance là một vấn đề rất quan trọng trong web app mà tất cả các developer đều phải quan tâm. Nhưng để xác định được vị trí, nguyên nhân làm giảm tốc độ trang web thì không phải là điều đơn giản, kể cả với những lập trình viên kinh nghiệm. Hôm nay mình sẽ giới thiệu với các bạn một công cụ khá...