Custom Validators of devise in Ruby on Rails 4

1. Thế nào là validation? Sau khi người dùng submit dữ liệu từ client lên server thì các validation mặc định sẽ hoạt động nhằm thông báo cho người dùng đã nhập đúng hay chưa. Ví dụ, khi ta dùng gem 'devise' để authenticate thì khi người dùng không nhập gì cả mà bấm nút login thì sẽ xuất hiện ra ...

Tác giả: Bùi Văn Nam viết 11:56 ngày 12/08/2018

Shader code Unity

Trong Unity 3D cũng như bất kỳ engine làm game nào khác, shader là 1 yếu tố vô cùng quan trọng với model để hiệu ứng hình ảnh trong game trở nên sống động, cuốn hút người chơi. Với các game lớn hiện nay như Swticher, Batman, ... shader trong game là cả 1 vấn đề cực lớn. Ở bài này, chúng ta sẽ tìm ...

Tác giả: Trịnh Tiến Mạnh viết 11:56 ngày 12/08/2018

Sự giống và khác nhau giữa Ruby và Java

Nguồn: http://a-auto50.blogspot.jp/2015/07/javaruby.html Tác giả: 鷲尾充報 Nguồn: http://www.atmarkit.co.jp/ait/articles/0803/25/news152.html Tác giả: 中越智哉,ナレッジエックス 1. Ruby Ruby là ngôn ngữ script hướng đối tượng được Matsumoto Yukihiro (Matz) phát triển. Nó là ngôn ngữ thông dịch nên mã ...

Tác giả: Hoàng Hải Đăng viết 11:56 ngày 12/08/2018

Quản lý log với Logstash, Elasticsearch, Kibana

1. Giới thiệu Với những hệ thống lớn việc quản lý log và phân loại log bằng việc xem file log của server để xác định thông tin của log, phân loại log là khá khó khăn. Cần thiết phải có một công cụ quản lý log một cách tốt hơn, sớm phát hiện những lỗi phát sinh của server hoặc kiểm tra các ...

Tác giả: Trịnh Tiến Mạnh viết 11:56 ngày 12/08/2018

Phân trang với Kaminari

Đối với việc phân trang trong một project Rails thì chúng ta thường hay sử dụng gem will_paginate, nhưng gem Kaminari cũng là 1 gem rất phổ biến. Bài viết này sẽ cho thấy sự linh hoạt trong việc phân trang của gem Kaminari . I. Cài đặt Thêm dòng sau vào Gemfile sau đó bundle install ...

Tác giả: Hoàng Hải Đăng viết 11:56 ngày 12/08/2018

Tìm Hiểu AngularJS - Filters (P4)

Filters là bộ lọc định dạng các giá trị của biểu thức để hiển thị cho người sử dụng. Ta có thể dùng chúng trong templates, controllers, services hay định nghĩa riêng custom filters của bạn một cách dễ dàng. I. Các Filters mặc định trong AngularJS 1. Cú pháp Đối với expression, Filter có ...

Tác giả: Tạ Quốc Bảo viết 11:56 ngày 12/08/2018

[ROR] File uploading with refile

With RoR geeks, we're so familiar with two famous gems Carrierwave and Paperclip when implementing file uploader for RoR project. In this post, I want to introduct an alternative for these big names, Refile . Who are you, Refile? Refile, an energetic guy came from Elabs and we can easily find ...

Tác giả: Tạ Quốc Bảo viết 11:56 ngày 12/08/2018

Linux thật tuyệt vời

Hàng ngày, chúng ta sử dụng các hệ điều hành như Windows hay Mac OS để phục vụ cho công việc hay tìm kiếm thông tin, giải trí, chơi game. Bên cạnh hai hệ điều hành này, tồn một hệ điều hành mã nguồn mở rất nổi tiếng đã được viết ra và phát triển từ khá lâu, đó là Linux. Mặc dù Linux thường được ...

Tác giả: Tạ Quốc Bảo viết 11:56 ngày 12/08/2018

Design Pattern - Adapter

Adapter Adapter là gì? Chúng ta có thể hiểu nôm na. Nó giúp các thành phần, hay những thiết bị khác nhau có thể kết nối với nhau. Ví dụ như một chiếc máy vi tính đời cũ dùng cổng PS2 vậy, nhưng chúng ta lại muốn dùng chuột với cổng USB. 2 thiết bị rõ ràng không thể kết nối với nhau vì 2 cổng ...

Tác giả: Trịnh Tiến Mạnh viết 11:55 ngày 12/08/2018

Sự phát triển của e-commerce trên thế giới, cơ hội thách thức ở Việt Nam

Bài viết đã được viết cách đây khá lâu, nhiều thông tin và nhận định đã không còn đúng ở thời điểm hiện tại, phần là do sự thay đổi nhanh chóng của công nghệ, phần khác có thể do tình hình kinh tế, xã hội trong nước và thế giới. Tác giả bài viết mong bạn đọc coi đây như một tài liệu mang tính chất ...

Tác giả: Tạ Quốc Bảo viết 11:55 ngày 12/08/2018

Scope (context) trong ruby

Scope mà tôi muốn nhắc đến không phải là class method của ActiveRecord scope :red , - > { where ( color : 'red' ) } # không phải cái này Scope ở đây bạn có hình dung đến 2 vấn đề thứ nhất đó là các biến, thứ 2 đó là khả năng truy cập. Hiểu được Scope bạn sẽ biết được ...

Tác giả: Hoàng Hải Đăng viết 11:55 ngày 12/08/2018

Sử Dụng FFMPEG với những câu lệnh đơn giản

I. FFMPEG là gì FFmpeg là một thư viện có rất nhiều tiện ích cho việc xử lý video. Tính năng nổi bật nhất có lẽ là khả năng encode/decode nhiều video format khác nhau, giúp convert qua lại nhiều định dạng video. Ngoài ra, chúng ta cũng có thể dùng FFmpeg để cắt một đoạn video, crop video, chụp ...

Tác giả: Tạ Quốc Bảo viết 11:55 ngày 12/08/2018

Tạo Decorator đơn giản với Gem Draper và kết hợp cùng Gem Kaminari

1. Decorator là gì ? Như chúng ta đã biết, Decorator là lớp phụ trợ, là cầu nối giữa Model và View. Hiện tại nó thường được xếp vào dạng “Presenter”. Ưu điểm của Decorator là : Thêm những xử lý cho 1 object mà không cần viết thêm những đoạn mã logic thừa thãi trong View và Model. ...

Tác giả: Bùi Văn Nam viết 11:54 ngày 12/08/2018

In ra bảng quan hệ n*n theo dạng ma trận với ít lần hit vào database

Bảng quan hệ (relation) giữa 2 model thường gặp và việc in ra dưới dạng ma trận 2 chiều đôi khi bị chậm lại vì việc hit vào database quá nhiều lần, hi vọng tip nho nhỏ sau đây có thể giúp ích phần nào công việc của bạn. Giả sử chúng ta có 2 bảng x_value, và y_value # x_value.rb class XValue ...

Tác giả: Bùi Văn Nam viết 11:54 ngày 12/08/2018

Sử dụng i18n trong javascript dùng gem i18n-js

Ngày nay việc phát triển các sản phẩm nói chung và xây dựng các website đa ngôn ngữ đang ngày càng phổ biến, trở thành nhu cầu tất yếu cho một sản phẩm hoàn hảo trên quy mô toàn cầu. Một công cụ rất hữu ích giúp chúng ta thực hiện việc biểu diễn đa ngôn ngữ trên website là I18n. Việc sử dụng I18n ...

Tác giả: Trịnh Tiến Mạnh viết 11:54 ngày 12/08/2018

Android Support Design Library

Giới thiệu Tháng 6/2014, Google chính thức giới thiệu Material Design ở hội nghị Google IO thường niên. Liền ngay sau đó, các ứng dụng Gmail, Inbox, Google Plus cập nhật design này. Đến tháng 5/2015, Google hỗ trợ cho lập trình viên thư viện để phát triển các component Material Design trên ...

Tác giả: Trịnh Tiến Mạnh viết 11:54 ngày 12/08/2018

Sử dụng enum trong ruby on rails

Enum là gì? Enum là kiểu dữ liệu liệt kê, giúp bạn tổ chức dữ liệu khoa học hơn, code được trong sáng dễ hiểu hơn. Khi khai báo một thuộc tính kiểu enum, bạn có thể lưu dữ liệu vào database theo kiểu integer nhưng có thể truy vấn theo tên. Ví dụ: class Conversation < ...

Tác giả: Trịnh Tiến Mạnh viết 11:53 ngày 12/08/2018

Tìm hiểu về Kiểm thử Matrix- hỗ trợ trong việc tạo testcase

Kiểm thử Matrix là gì? Ma trận là một bảng tính cho thấy thử nghiệm và nắm bắt các kết quả thử nghiệm bằng cách đặt chúng ra dưới dạng một bảng vuông có kích thước bằng số các nút trong đồ thị dòng, trong đó: Mỗi dòng/cột ứng với tên một nút, mỗi ô là tên một cung nối nút dòng đến nút cột. ...

Tác giả: Trịnh Tiến Mạnh viết 11:53 ngày 12/08/2018

Sắp xếp và tìm kiếm dữ liệu trong bảng sử dụng AngularJS

Hẳn là chúng là dân làm kỹ thuật thì không còn xa lạ gì với 2 khái niệm sắp xếp và tìm kiếm dữ liệu nữa. Hôm nay mình xin được giới thiệu với các bạn sắp xếp dữ liệu sử dụng Framework AngularJS như thế nào. Nào chúng ta cùng tìm hiểu bài viết dưới của tôi nhé. (ok)!... Chúng ta sẽ tìm hiểu ...

Tác giả: Bùi Văn Nam viết 11:53 ngày 12/08/2018

Tìm hiểu và hướng dẫn làm angularJS

Angular là một bộ thư viện javascript rất mạnh và thường được sử dụng để xây dựng project Single Page Application (SPA). Nó hoạt động dựa trên các thuộc tính mở rộng HTML (các atributes theo quy tắc của Angular). Đây là một bộ mã nguồn mở hoàn toàn miễn phí và được hàng ngàn các lập trình viên ...

Tác giả: Tạ Quốc Bảo viết 11:52 ngày 12/08/2018