Giới thiệu về Scale-Invariant Feature Transform

Scale-Invariant Feature Transform (SIFT) là giải thuật trong lĩnh vực Computer Vision, dùng để nhận dạng và miêu tả những điểm đặc trưng(local features) trong ảnh. Giải thuật lần đầu được giới thiệu bởi David Lowe năm 1999. Giải thuật này(cùng với giải thuật anh em là SURF) được ứng dụng rộng rãi ...

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

Query performance optimization - MySQL

Khi làm việc với dữ liệu lớn thì tốc độ truy vấn dữ liệu là cả vấn đề. Việc tối ưu câu lệnh query, đánh index, tối ưu schema luôn phải thực hiện xong hành với nhau. Topic này xin được trình bày một số "mẹo" tối ưu query thực hiện với MySQL. Count() là hàm đặc biệt, nó làm việc theo hai cách rất ...

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

Quan điểm test

Như các bạn đã biết, trong quá trình kiểm tra chất lượng một sản phẩm phần mềm, việc tạo danh sách các mục cần phải kiểm tra có chất lượng tốt đóng một vai trò hết sức quan trọng. Bởi vì nó liên quan trực tiếp đến 1. tìm ra đầy đủ hay không đầy đủ những điểm khiếm khuyết của phần mềm và 2. chi phí ...

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

ElasticSearch in 5 minutes

Elasticsearch, so what's it? How does it work? Installing and running ElasticSearch. Directory Layout Indexing Data. Searching. Shutdown. **Reference ** API : https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html Search API : https://www.elastic.co/guide/e ...

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

Những điều bạn nên nhớ để viết code tốt

Bạn muốn viết code tốt. Bạn muốn trở thành người lập trình giỏi. Bạn quan tâm đến chất lượng những dòng code của mình. Vậy những điều bạn nên nhớ là: Ở trong bất kỳ tình huống nào, đừng cho phép mình viết ra những dòng code chỉ để thực hiện được chức năng mình mong muốn. Bạn phải luôn cố gắng ...

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

Simple Fuzzy Search

Fuzzy Seach (tìm kiếm "mờ"), hay còn hay được gọi là Approximate Search (tìm kiếm "xấp xỉ") là khái niệm để chỉ kỹ thuật để tìm kiếm một xâu "gần giống" (thay vì "giống hệt") so với một xâu cho trước. Chẳng hạn như bạn bạn nhập vào ô tìm kiếm từ khoá "tran dc thag" để tìm kiếm về tên một ...

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

[Typography] Beautiful stranger

Sử dụng thủ pháp viết tay trong nghệ thuật chữ luôn tạo được ấn tượng mạnh mẽ và dấu ấn cá nhân rõ nét trong sản phẩm thiết kế. Đây là cách được nhiều nhà thiết kế trên thế giới đưa vào ấn phẩm của mình, như một sự khẳng định tính độc nhất và sáng tạo. Handwritten typography có thể đứng độc ...

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

初めてでもできるSQL (2)DB作成および接続 ( Linux )

1. 起動 マウス右クリック→Open Terminal su と入力します。その際パスワードも入力します。 その後、画面の末尾が# と表示されれば操作は成功です。 【注意】末尾が$$まま変わらない場合は、絶対に先へ進まず、手順を確認してください。 /opt/lampp/lampp start /opt/lampp/bin/mysql 画面の末尾がmysql> と表示されればMySQLでの操作が可能です。 2. 終了 exit /opt/lampp/lampp stop exit 画面の末尾が$$と表示されれば操作は成功で ...

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

Design Pattern - Command

Command có thể gọi là một pattern đa năng Vì sao ư, hãy cũng tìm xem vì sao nhé. Tưởng tượng bạn đang xây dựng SlickUI(là một framework GUI). Bạn đang bận rộn tạo ra những button đẹp, những dialogs tuyệt vời và những icon bắt mắt. Nhưng mỗi lần bạn kết thúc công việc tạo ra framework giao diện ...

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

Giới thiệu về Celluloid - Part 1

Ở thời điểm vài năm trước đây, có một phương pháp rất đơn giản để cải thiện code. Nếu bạn cảm thấy những dòng code cần xử lý nặng của mình chạy chậm hơn những gì mình mong muốn, cách đơn giản nhất là chỉ việc ngồi đợi đến phiên bản nâng cấp phần cứng tiếp theo, tốc độ CPU sẽ được cải thiện và ...

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

Giới thiệu CSS3 Animation

Trước khi css3 ra đời việc tạo hiệu ứng cho website chủ yếu dựa vào jquery. mặc dù jquery đã đáp ứng rất tốt công việc này nhưng việc dùng jquery lại ít nhiều làm ảnh hưởng tới tốc độ load của website. Tuy nhiên css3 ra đời đã hỗ trợ 2 thuộc tính rất quan trọng là transform và animation, hai thuộc ...

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

Material Design trong Android

Material design là một hướng dẫn toàn bộ về góc nhìn, sự chuyển đông và tương tác về mặt thiết kế bất kể nền tảng và thiết bị. Material Design sử dụng các thành phần và hàm có thể áp dụng trên Android 5.0 ( API level 21). Chúng ta sẽ sử dụng material design thông qua các yếu tố: material theme ...

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

Live Search với Algolia

Chúng ta có thể làm tính năng search đơn giản trong Rails sử dụng gem như "Ransack". Cách này tận dụng khả năng có sẵn của truy vấn SQL, phù hợp với các trang web nhỏ. Với các ứng dụng lớn, search server độc lập là một giải pháp tốt hơn. Bạn có thể: Cài đặt search server của riêng mình, sử dụng ...

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

Java Anonymous Class

Anonymous Class là gì? Anonymous Class là một loại class trong Java, trong đó các class này không được định nghĩa tên ở cú pháp, tên của chúng chỉ được sinh ra do quá trình biên dịch mã nguồn. Sử dụng Anonymous Class giúp code ngắn gọn và súc tích. Kĩ thuật này cho phép khởi tạo và định nghĩa ...

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

Tổng quan về Crittercism SDK Android cho Unity3D và cách cài đặt

Giới thiệu Chào các bạn, hôm nay tôi xin giới thiệu với các bạn một SDK có hỗ trợ cho Unity3d,nó khá có ích cho các Unity develop. Bình thường theo tôi được biết đa số những người làm ứng dụng android và iOS đều đã biết và sử dụng Crittercism SDK . Nó được sử dụng để quản lý hiệu suất của các ...

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

SPA với AngularJS và Yeoman

AngulaJS là một framework phổ biến để làm front end. Tuy nhiên, việc cấu hình để bắt đầu phát triển, thử nghiệm một project AngularJS không hề đơn giản. Trong bài viết này, mình sẽ trình bày cách sử dụng Yeoman để đơn giản hóa việc cấu hình một project AngularJS. I. Cài đặt node.js và npm 1. ...

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

Memo Git Git Git - Uncreative

Mình xin phép chia sẻ một số kinh nghiệm khi làm việc với git trong dự án của mình. Tuy vậy mọi thứ chỉ là tương đối, có thể những chia sẻ này phù hợp hoặc không phù hợp với bạn. Mong các bạn đóng góp ý kiến. Tạo nhánh Chọn tên nhánh ngắn Giải thích ngắn ngọn, rõ ràng về task đang làm Bắt ...

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

Chia sẻ về các công nghệ phát triển application trên mobile.

Chào mọi người, Về xu thế và tiềm năng của mobile hiện nay thì chắc không cần phải bàn nhiều. Khi nói đến các thiết bị mobile thì đó không chỉ là điện thoại, máy tính bảng mà còn là các thiết bị đeo được trên cơ thể, nhỏ gọn dễ mang lại - wearable devices - ...

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

Đối ứng cho iPhone6/iPhone6 Plus

Với Xcode6 GM, chúng ta có thể tiến hành đối ứng iPhone6/6 Plus cho các iOS projects từ trước. Screen Resolution So sánh độ phân giải các thiết bị iPhone: iPhone4s iPhone5/5s iPhone6 iPhone6 Plus Physical Resolution 640x960 640x1136 750x1334 1080x1920 (1242 x 2208) ...

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

Giới thiệu Awesome Window Manager

Giới thiệu Awesome WM là một trong những trình quản lý cửa sổ trong hệ thống X Window của Linux. Awesome WM được phát triển trên nền của DWM , được viết lại bằng ngôn ngữ lua ( DWM viết bằng C). Chính xác hơn thì Awesome WM là 1 framework window manager, rất nhanh, nhỏ gọn, chiếm rất ít ...

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