Giới thiệu một số method hay trong Rails

Trong bài viết này mình sẽ giới thiệu với các bạn một số method hay và thú vị hay dùng trong Rails. Sử dụng blank?/present? # String user = nil user . blank ? # => true user = "" user . blank ? # => true user = " " user . blank ? # => ...

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

Sử dụng gem savon Phần I

I. Giới thiệu 1. Savon là dùng để sử dụng để giao tiếp với các hệ thống SOAP. SOAP(Simple Object Access Protocol) là một giao thức do W3C định nghĩa [1]. SOAP áp dụng XML để xác định dữ liệu dạng văn bản (plain text) qua HTTP và SMTP. Web Service dùng SOAP trong quá trình truyền tải dữ liệu. SOAP ...

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

Rails Model Caching with Redis

Model level caching hay bị các developers bỏ qua, ngay cả các developers dày dặn kinh nghiệm. Phần lớn là do quan niệm sai lầm. Cache cấp độ thấp rất linh hoạt và bạn có thể làm việc với nó ở bất cứ ứng dụng nào. Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách dùng cache cho models của Rails bằng ...

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

MongoDB - cơ bản (phần 1)

Một số định nghĩa trước khi đi sâu về MongoDB. Đây là một cross-platform, DB hướng documents với hiệu năng cao, có thể đáp ứng cho đa dạng các hệ thống và dễ dàng để scale. Tư tưởng của MongoDB là thông qua khái niệm collection và document. Vì không tìm được từ tiếng việt hay ho hơn nên tạm thời ...

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

Cron trong linux cho newbie

Nếu bạn cần chạy những công việc (tôi sẽ gọi là task) ở phía server một cách lặp lại theo thời gian định trước nào đó thì có lẽ Cron sẽ giúp được cho bạn. Vậy Cron nó là cái gì ? Cron là một tiện ích giúp lập lịch chạy những dòng lệnh bên phía server để thực thi một hoặc nhiều công việc nào đó ...

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

Giới thiệu Fragment trong Android

Fragment cho phép phân chia Activity thành các thành phần được đóng gói đầy đủ và tái sử dụng được. Các Fragment có vòng đời và giao diện UI riêng của mình. Ưu điểm chính của Fragment là dễ dàng tạo ra thiết kế giao diện người dùng (UI) động và linh hoạt, phù hợp với các kích cỡ màn hình khác ...

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

Thống kê, bảng biểu cho trang admin web với RoR

Bài này mình sẽ làm 1 demo nhỏ về việc làm thống kê cho trang admin với gem rails_admin. Các bạn có thể tham khác bài trước https://viblo.asia/danglv/posts/6BAMYV49Gnjz để có thể tạo 1 trang admin cho ứng dụng rails. Để vẽ chart mình sẽ sự dụng gem 'fusioncharts-rails'. đầu tiên bạn download ...

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

Tối ưu hóa schema và data type trong MySQL - P1

Thiết kế tốt về cả logic lẫn physic là những cột mốc quan trọng đem tới hiệu năng cao, và bạn phải thiết kế schema của mình theo những câu query mà bạn sẽ chạy. Điều này thường dẫn đến việc trao đổi được mất. Ví dụ như denormalized schema có thể tăng tốc một số loại query nhưng lại làm những loại ...

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

Pagination trong Laravel

Giới thiệu Trong các framework mà tôi từng làm việc, tôi cảm nhận thấy laravel hỗ trợ việc phân trang rất đơn giản, nhanh gọn mà lại phù hợp với công nghệ hiện thời. Việc tích hợp và sử dụng phân trang trong laravel khá dễ dàng, Laravel có thể tạo nhanh chóng phạm vi link của các trang hiện tại ...

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

Repeat chuỗi nhiều lần trong javascript

Ví dụ bạn có chuỗi "ruby" và muốn nó in ra 5 lần, thì làm như thế nào trong Javascript. Có 2 cách như sau: Cách cũ: dùng hàm join của Array để tạo một chuỗi từ Array . Ví dụ: Array ( 6 ) . join ( "ruby " ) Cách mới hơn, dùng hàm repeat được cung cấp cho đối tượng String ...

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

Học Sass trong 15 phút

Nếu bạn viết một lượng rất lớn về CSS, một bộ xử lý có thể làm giảm mức độ căng thẳng của bạn và giúp bạn tiết kiệm rất nhiều thời gian quý báu. Sử dụng các công cụ như Sass , less , Stylus hoặc PostCS . Làm stylesheets lớn , phức tạp dễ hiểu hơn và dễ dàng hơn để duy trì. Nhờ tính năng ...

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

Giới thiệu Google maps API

1.Giới thiệu Google maps Google Maps là một ứng dụng bản đồ trực tuyến trên web được cung cấp miễn phí bởi Google. Nó có thể dùng để nhúng vào các trang web của bên thứ ba thông qua Google Maps API. Nó cung cấp rất nhiều những tiện ích nâng cao giúp người dùng tìm kiếm đường đi,các địa điểm, các ...

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

Làm quen với Multithreading Trong C++

Dạo này loanh quanh nghe thấy từ multipe thread hơi nhiều. Từ những bài seminar đến trong project hiện tại cũng có nhiều vấn đề liên quan. Về cơ bản mình cũng không phải cao thủ gì, tuỳ nhiên cũng muốn lọ mọ 1 chút gọi là góp vui </p> <div class= Tác giả: Trịnh Tiến Mạnh viết 13:31 ngày 12/08/2018

Điều chỉnh thuộc tính adjustViewBounds của ImageView API Level 17 và thấp hơn với AdjustableImageView

Một yêu cầu mà hầu hết các ứng dụng đơn lẻ đó là: "Tôi muốn mở rộng việc hiển thị của ImageView để tương ứng với độ lớn của layout bao ngoài nó" Như thế này: Trên thực tế ImageView đã có sẵn tính năng này. Bạn có thể thiết lập đơn giản bằng cách cài đặt thuộc tính android:adjustViewBou ...

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

Tutorial : Sử dụng flask cho người mới bắt đầu ( Phần 5)

Phần tiếp này tôi sẽ cùng các bạn làm phần tạo user login cho ứng dụng post. để tạo phần login chúng ta sẽ sử dụng extensions Flask-Login và Flask-OpenID. Flask-login sẽ điều khiển logged in state và Flask-OpenID sẽ cung cấp authentication. 1.login Đầu tiên configure file app/__init__.py: ...

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

Cài đặt và cấu hình Symfony

Bắt đầu dự án với Symfony vô cùng đơn giản. Trong thực tế, bạn chỉ cần vài phút ngắn ngủi để chạy và làm việc với Symfony. Symfony cung cấp sẵn cho chúng ta một chương trình cài đặt, vô cùng tiện dụng. Tải trình cài đặt của Symfony về máy tính là bước đầu tiên bạn cần làm. Cài đặt Symfony ...

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

Tìm hiểu về ExoPlayer

Chơi nhạc và video là một hoạt động rất phổ biết trên tất cả các thiết bị Android. Và Android framework cung cấp lớp MediaPlayer như là một giải pháp nhanh chóng để thực hiện điều đó. Lớp MediaPlayer cũng cung cấp các api ở mức độ thấp như MediaCodec, AudioTrack và MediaDrm,để ta có thể xây dựng ...

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

Rails Authentication với gem Clearance

I. Mở đầu Xin chào các bác (lay2) Chắc hẳn các bác đã quen thuộc với Rails Authentication - hay hiểu nôm na là xác thực người dùng khi login đấy. Đối với rails, khi nói đến thuật ngữ này thì trong đầu ta nghĩ đến ngay gem Devise - 1 gem hỗ trợ để quản lý và xác thực người dùng rất rất phổ ...

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

Làm một task với Geofencing trong Android thì mất bao lâu?

Cuối tháng rồi mệt thật. (sleepy) Nói luôn với các bạn là bài viết này tập trung hướng dẫn các bạn cách quản lý sự kiện với Geofence và cân đong đo đếm thời gian cần thiết để thực hiện một task nào đó với nó chứ chả đi vào chi tiết quá từng hàm đâu nhé. Mà thực ra có muốn đi chi tiết cũng khó, cơ ...

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

RecyclerView trong Android ( phần 2 )

Tiếp theo phần 1 ở phần này mình sẽ giới thiệu tiếp tới các bạn 1 số tính năng nổi bật của RecyclerView Sử dụng RecyclerView 7. Notifying the Adapter Có nhiều phương thức được sử dụng để thông báo khi có thay đổi nguồn dữ liệu trong Adapter. notifyItemChanged(int pos) -> Thông báo ...

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