Photo Editing với Canvas

Giới thiệu Canvas là một tính năng mới được thêm vào HTML5, được dùng để lập trình đồ họa hai chiều. Bằng việc sử dụng JavaScript API để thao tác <canvas>, chúng ta có thể tạo đồ họa hoặc animation có tương tác với người dùng. Hoặc vẽ đồ thị, trực quan hóa dữ liệu, thậm chí là xử lý video ...

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

Giới thiệu module Rails Concern

Kể từ bản Rails 4, một thư mục mặc định được tạo ra mỗi khi tạo project mới, đó là thư mục concerns. Ta sẽ tìm hiểu về module concern trong bài viết này. But first, let’s return to Ruby’s realm Module và included callback Ruby cung cấp một hàm callback có tên included cho ...

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

Những ngôn ngữ phổ biến 2016

Lựa chọn một ngôn ngữ không hề đơn giản Người lập trình biết rằng lựa chọn ngôn ngữ tốt nhất để sử dụng trọng dự án hay sự nghiệp, là cực kỳ quan trọng và cũng là thách thức. Ngay cả những câu hỏi cần trả lời không phải lúc nào cũng rõ ràng: Ngôn ngữ nào đang hot bây giờ? Ngôn ngữ nào đang ...

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

Upload và play file mp3 với Dropbox SDK

Trong bài hướng dẫn này, các bạn cần chuẩn bị 1 project đã cài đặt Dropbox SDK và đã implement chức năng connect đến tài khoản Dropbox. 1. Get danh sách nhạc Đầu tiên, bạn cần kéo các file nhạc mp3 vào project Khi đã thêm các bài nhạc vào project, khi project được build, các bài nhạc ...

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

Hướng dẫn làm việc với speech to text trong Android

Android đi kèm với một tính năng chuyển đổi lời nói thành văn bản thông qua đó bạn có thể cung cấp đầu vào là lời nói cho ứng dụng của bạn. Với khả năng này bạn có thể thêm một số tính năng mới cho ứng dụng của bạn như điều hướng bằng giọng nói (hữu ích khi bạn làm ứng dụng nhắm tới đối tượng à ...

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

Giới Thiệu Rspec phần 2

Testing class method và scope By giờ chugns ta test khả năng của model User với việc nó sẽ trả về danh sách các User với được bắt đầu với các kí tự dược đưa vào. Giả sư chúng ta nhập vào chữ T thì kết quả nhận được sẽ bao gồm "Tho Bay Mau", "Tieu Ho", nhưng "Bao Hong" sẽ không xuất hiện trong ...

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

How to use two-way data-binding in android

Using 2-way data-binding in android I. Introduce 1. Terms To understand this article, please see, what's data-binding in android from link below: https://viblo.asia/search/data-binding And terms of MVVM in android https://medium.cobeisfresh.com/architecting-android-with-data-binding ...

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

MV* Framework

Single Page Application: Before starting the discussion, first I would like to have some words with Single Page Application. Traditional web page rendering After the data and view are merged, the view is returned to the browser. The browser then receives the new HTML page and, via a UI ...

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

Vivaldi: Trình duyệt cho người dùng “Pro”

Sau hơn 1 năm phát hành bản thử nghiệm Alpha và Beta, ngày 6/4 vừa qua, trình duyệt Vivaldi đã chính thức tung ra phiên bản hoàn thiện 1.0 với mục tiêu giúp người dùng hoàn toàn kiểm soát trình duyệt web của họ. 1. Trang giới thiệu: Ngay khi khởi động, bạn có thể tùy chỉnh mọi thứ. Bạn sẽ ...

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

Query khi count record dữ liệu

Trong Rails đã hỗ trợ một method includes dùng để hổ trợ việc giảm query trong truy vấn cơ sở dữ liệu quan hệ. Như vậy ở đây mình đặt ra một bài toán như sau: Mình có table categories has_many với table posts và mình muốn lấy list categories và count các bài post tương ứng của category đó thì ...

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

A* Pathfinding

Hẳn là bạn đã từng chơi game hoặc đang phải làm một game nào đó mà có phải điều khiển nhân vật hoặc viết AI cho bot đi từ một điểm A tới một điểm B, đi qua các trở ngại như sông, nhà, tường, … muốn làm được điều đó hãy đọc bài viết này của tui. Thật ra những bài hướng dẫn về A-star ...

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

Thuật toán mã hóa DES

Thuật toán DES có những giai đoạn sau: quá trình sinh khóa, quá trình mã hóa, quá trình giải mã 1. Quá trình sinh khóa Là quá trình từ 1 khóa 64 bit, sinh ra 16 khóa con 48 bit như sơ đồ dưới đây: Từ khóa chính 64 bit qua bảng hoán vị PC-1 còn 56 bit. Rồi tách thành C0 (28 bit) với D0 ...

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

Upload ảnh lên flickr bằng laravel

Xin chào bạn đọc, khi làm một trang web chắc hẳn ai cũng biết lưu ảnh trên host của mình sẽ làm tốn rất nhiều bộ nhớ cũng như băng thông. Trong khi chưa có điều kiện để thuê 1 host có đủ băng thông và dung lượng để lưu những bức ảnh thân yêu của mình thì việc kiếm một host ngoài chuyên về lưu trữ ...

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

Viết tài liệu cho Restful API

Giờ đây những ứng dụng theo mô hình restfull api đang thực sự phát triển, nhưng có rất nhiều dự án lại không có một tài liệu rõ ràng để bên mobile và server có thể giao tiếp được với nhau một cách thuận tiện nhất, tôi đã chứng kiến nhiều dự án phải dùng đến excel để quản lý những api và tôi cũng là ...

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

Kiểu dữ liệu NaN trong JavaScript - Một cái nhìn sâu sắc

Có lẽ rằng trong khi lập trình nói chung và nhất là với Javascript nói riêng đã không ít lần chúng ta gặp trường hợp một biến của chúng ta trả về một kiểu dữ liệu không mấy đẹp đẽ lắm là NaN . Những người chưa hiểu sâu về nó thường nghĩ ngay đến đã có gì đó sai sai trong xử lý mà dẫn đến kiểu dữ ...

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

[Codeigniter Framework] Phần 4: Shopping cart trong Codeigniter

Tiếp tục seri bài viết về Codeigniter, hôm nay mình sẽ tìm hiểu 1 library khá quan trọng, đó là shopping cart . Trong Codeigniter, Shopping cart được lưu dưới dạng mảng và được mã hóa để lưu vào session. 1. Cấu hình Để sử dụng được shopping cart trong CI, ta phải load thư viện cho nó theo ...

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

Cơ sở dữ liệu Realm

Realm là gì ? Realm là một dạng cơ sở dữ liệu mới được xây dựng trên thiết bị di động, máy tính bảng. Realm sử dụng ít tài nguyên, dễ sử dụng, tốc độ nhanh và miễn phí kể cả những dự án mang tính thương mại. Nếu các bạn là một lập trình viên Android và iOS thì không mấy xa lạ với 2 dạng cơ sở dữ ...

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

C# advanced-Part 2: Delegate, Anonymous Method and Lambda Expression

In this series we will learn about delegate, anonymous method and lambda expression. Delegate: A delegate is a type safe function pointer. That is, it holds a reference(pointer) to a function. Using a delegate allows the programmer to encapsulate a reference to a method inside a delegate ...

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

DevOps là gì ? Phần II

Xem lại Phần I Devops giúp giải quyết những vấn đề này như thế nào ? Bước tiến Devops được xây dựng cho nhóm những người tin rằng ứng dụng phối hợp công nghệ hợp lý và thái độ có thể cách mạng hóa thế giới phần mềm. Tiêu chí để lựa chọn là những sysadmin-coders có kinh nghiệm, tài năng, có ...

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

Giới thiệu Gem Cloudinay

1. Giới thiệu Cloundinary là một dịch vụ điện toán đám mây cung cấp một giải pháp cho toàn bộ luồng quản lý hình ảnh của ứng dụng Web. Dễ dàng tải các hình ảnh lên đám mây.Tự động thực hiện thay đổi kích thước hình ảnh thông minh, cắt và chuyển đổi mà không cần cài đặt bất kỳ phần mềm phức ...

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