[iOS] Xây dựng ứng dụng thanh toán trực tuyến với Shopify mobile buy SDK [Phần 1]

Mở đầu: Ngày nay việc mua bán, trao đổi qua các trang web bán hàng, thanh toán trực tiếp rất phong phú và đa dạng. Vậy đối với application thì sao? Bạn có bao giờ nghĩ mình sẽ tạo ra một app để phục vụ cho việc thanh toán trực tuyến hay chưa? Sau đây mình xin giới thiệu một SDK giúp cho việc xây ...

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

Roles permission - Chuyển từ Cancancan sang Pundit

Gần đây ứng dụng của chúng tôi đã chuyển từ CanCanCan thành Pundit. CanCanCan là một gem tuyệt vời nhưng chúng tôi đã phát triển nó thêm nữa. Đây là những bài học khác nhau. Thứ nhất, phải thừa nhận rằng CanCanCan rất dễ để bắt đầu và có sự tích hợp tuyệt vời với RailsAdmin, Devise và các gem ...

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

Cấu hình HA và Load balancing cho web server với công cụ haproxy và keepalive

Giả sử với mô hình gồm 2 load balance server và 2 web server để HA: Load Balance server 1: 192.168.2.10 Load Balance server 2: 192.168.2.11 Web Server 1: 192.168.2.12 Web Server 2: 192.168.2.13 Mô hình của chúng ta như sau: Các bước cấu hình: Trên 2 server HAProxy, chúng ta cài ...

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

5 phương thức của ActiveRecord mà bạn nên dùng

Đây là bài viết chia sẻ về các hàm trong ActiveRecord, chúng rất hữu ích trong một số trường hợp và sẽ giúp các bạn giảm thiểu tối đa code trong việc viết sql và các hàm do mình tự nghĩ ra. Giả sử chúng ra có 3 model là Books, Authors và Reviews được cài đặt như sau: class Book < ...

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

Vấn đề bảo mật trong Rails - phần 1

Hầu hết các frameworks phát triển web hiện này đều hỗ trợ và giúp đỡ các developer rất nhiều trong việc xây dựng các ứng dụng web. Một vài trong chúng còn giúp bảo mật tốt hơn cho ứng dụng web. Trong thực tế, không có một framework nào là hoàn hảo: nếu bạn sử dụng chúng một cách thông minh và khéo ...

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

Realtime cùng React và Rails

Gần đây dự án mình có xây dựng phần chat, sử dụng ActionCable của Rails. Trong quá trình tìm hiểu phần tài liệu, mình có đọc được 1 bài viết khá hay. Mặc dù đây không phải là bài viết về ứng dụng Chat nhưng ý tưởng và cách xây dựng khá thú vị, nên mình mạn phép dịch lại bài viết này để mọi người ...

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

Hướng dẫn tạo vòng quay Roulette trong Android

Hiện tại các ứng dụng về quay trúng thưởng khá phổ biến hiện nay. Song có thể tạo và custom view 1 cái roulette cũng gây không ít khó khăn cho các lập trình viên Do vậy trong bài viết này mình sẽ hướng dẫn mọi người tạo 1 Roulette cho Android Sản phẩm sẽ có như hình dưới đây: Ý tưởng để tạo ra ...

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

Cái giá phải trả cho Metaprogramming

I. Lời nói đầu: Xin chào các bác. Đến hẹn lại lên, bài viết hôm nay sẽ chia sẻ về Metaprogramming . (dance2) Chắc hẳn các bạn đã từng nghe hoặc sử dụng nó rồi. Metaprogramming là phương pháp viết code động, những đoạn code được sinh ra không phải do lập trình viên viết từ đầu đến cuối, mà nó ...

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

Hai hướng tiếp cận để học lập trình: Top-Down và Bottom-Up

Trước đây hơn 1 năm, tôi may mắn được sếp dẫn đi để cùng phỏng vấn một vài bạn có kinh nghiệm 1, 2 năm. Lần đầu được tham gia với vai trò là người phỏng vấn, tôi khá hứng thú và cũng tự mình chuẩn bị một vài câu hỏi chuyên sâu một tý, nhưng lúc trao đổi với sếp (trước khi vào phỏng vấn) thì sếp lại ...

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

Tạo Một Ứng Dụng Android Theo Mô Hình Flux Architecture

Trong bài viết này tôi sẽ đi vào thực hành là tạo một ứng dụng nho nhỏ, chứ không đi sâu vào lý thuyết . Nhưng trước tiên tôi sẽ nói qua một chút về flux là gì. Giới thiệu sơ qua về kiến trúc Flux(Flux Architecture) Flux Architecture đã được xây dựng và sử dụng bới Facebook. Mục đích ban đầu ...

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

How to write better rspec

How to describe your methods Hãy rõ ràng về phương pháp bạn viết describe. Ví dụ, sử dụng documentation convention Ruby của "." (Hoặc: </p> <div class= Tác giả: Trịnh Tiến Mạnh viết 15:47 ngày 12/08/2018

K-Nearest Neighbour trong opencv2

1. K-Nearest Neighbour (kNN) K-nearest neighbor (KNN) là một trong những thuật toán supervised-learning đơn giản nhất trong Machine Learning. Ý tưởng của KNN là tìm ra output của dữ kiệu dựa trên thông tin của những dữ liệu training gần nó nhất. Để hiểu về ý tưởng của KNN thì trước hết ta xem ...

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

Upload large file with rails

Problem Chắc hẳn ai từng động đến việc upload video đều phải đối mặt với vấn đề khi dung lượng video quá lớn, rất có thể chúng ta sẽ không thể upload mà nhận về 1 lỗi 413(request entity is too large) hoặc request time out. Cách phù hợp nhất mình tìm hiểu được để giải quyết vấn đề này là chia ...

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

Lưu trữ API Key trong Rails

Tổng quan Khi làm việc với Rails chắc chắn bạn cũng đã sử dụng quá API Key (hoặc id, password) của các bên thứ 3 ví dụ như : AWS ACCESS KEY GOOGLE ANALYTIC KEY GOOGLE MAP KEY MAILCHIMP_API_KEY ... Và cũng đang thắc mắc là chúng ta nên lưu trữ những thông tin này ở đâu ...

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

Introduction to Org-mode

Org-mode is a personal information management and outlining tool for Emacs. This document is a documentation of what I learn in ord-mode Obtaining org mode Org-mode is part of Emacs 22 and above. Configuration Make sure org-mode get load and add some basic global key combinations: ...

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

Mình đã làm bể cá thông minh như thế nào - Giới thiệu phần cứng - Wemos (phần 2)

Xin chào các bạn! Tiếp tục với chủ đề Làm bể cá thông minh, hôm nay mình xin giới thiệu với các bạn các khái niệm liên quan đến phần cứng. Các lưu ý khi sử dụng bất kì em vi xử lý nào. Bên cạnh đó mình sẽ giới thiệu với các bạn về Esp8266 (cụ thể ở đây là Wemos) và cách chinh phục em nó. Bài ...

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

Tìm hiểu về JQuery part 5

Chào tất cả mọi người. Tháng 8 mình sẽ tiếp tục với các bài viết liên quan đến Jquery. Trong 4 phần trước thì Chúng ta đã tìm hiểu kha khá kiến thức về Jquery rồi . Hôm nay chúng ta sẽ tiếp tục đi tìm hiểu làm thế nào để Thao tác DOM trong jQuery . jQuery cung cấp các phương thức để thao tác với ...

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

API Authentication sử dụng JWT trong Laravel

Hôm nay mình xin giới thiệu tới các bạn một ví dụ về API Authentication trong Laravel sử dụng JWT. Đây là một ví dụ mà mình thấy khá hữu ích trong việc xác thực người dùng trong các ứng dụng web. JSON Web Token (JWT) là một tiêu chuẩn mở (RFC 7519) định nghĩa một cách nhỏ gọn và an toàn để ...

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

[Hackintosh] Cài macOS Sierra lên Skylake

Đối với các bạn yêu thích công nghệ, đặc biệt là các sản phẩm của Apple nói chung và các bạn developer iOS nói riêng thì macOS hay macbook là những sản phẩm được tối ưu giữa phần cứng và phần mềm rất tốt và đặc biệt được các bạn developer sử dụng rất nhiều vì sự tiện lợi, tối ưu của nó. Tuy nhiên ...

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

Generic Protocols with Associated Type

Chúng ta đã biết về protocol và thường xuyên sử dụng chúng. Nhưng bạn đã khi nào nghe nói về generic protocol hay chưa? Trong bài viết này, mình sẽ giới thiệu về generic protocol và dùng nó với associated type. Trước khi đi sau hơn về generic protocols, bạn nên làm quen với đoạn code dưới đây. ...

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