Let''s Build Facial Recognition System - part 1
Introduction Over the last decade or so, face recognition has become a popular topic for computer vision researcher and one of the most successful applications of image analysis and understanding. Day by day, they always try to build the better libs which help us to create face recognition system ...
Kotlin Design Pattern - P1 - Creational
1. Design pattern là gì? Design pattern là tập hợp các mẫu thiết kế lập trình dùng để giải quyết các vấn đề thường gặp trong lập trình để nhằm tăng năng suất, giúp code chất lượn hơn, giảm tiêu tốn tài nguyên trong quá trình maintain nói chung là có nhiều cái lợi. Cần phân biệt khái niệm này với ...
Android Giới thiệu về Kotlin (P1)
Kotlin là một ngôn ngữ phát triền dựa vào Java Vitual Machine được phát triển bở JetBrains5 - Công ty phát triển IntelliJ IDE Các tính năng thú vị của kotlin Trực quan và dễ học: Hầu hết các phần của kotlin rất giống với những gì chúng ta đã biết, IDE Android studio đã được kết hợp Kotlin ...
Arel, the SQL manager for Ruby (path 1)
Trong 1 bài viết trước, mình đã trình bày qua về việc sử dụng Arel để viết câu truy vấn SQL trong rails (https://viblo.asia/p/viet-scope-bang-arel-7prv31LkMKod), ở bài viết này mình xin dịch lại bài viết cách mà Arel manager SQL như thế nào Nguồn bài viết: https://jpospisil.com/2014/06/16/the-def ...
Monkey Testing
Monkey testing được định nghĩa rất ngắn gọn: là một phương pháp kiểm thử với đầu vào ngẫu nhiên, không theo testcase hay một chiến lược test nào. Chắc hẳn bạn đang tò mò với cái tên Monkey, sau đây là một số lý do giải thích cho cái tên này: Trong Monkey testing các tester (đôi khi cả ...
Scrum hoạt động như thế nào?
1. Lý do sử dụng scrum Theo mô hình phát triển truyền thống, việc xây dựng sản phẩm phải đi qua nhiều công đoạn -> do phải đi qua toàn bộ các quy trình này nên sản phẩm cần nhiều tháng hoặc nhiều năm mới có thể đi vào hoạt động -> không đáp ứng được nhu cầu của người dùng và giảm tính ...
Tạo hình với HTML và CSS
Xin chào mọi người. Chắc hẳn mọi người đã khá quen thuộc với trò xé dán giấy của các bé tiểu học. Trong post này, mình xin giới thiệu 1 chủ đề tương tự, khá đơn giản nhưng cũng rất thú vị: Tạo hình bằng HTML & CSS. Bằng những hình khối rất đơn giản: hình vuông, hình tròn, tam giác,... chúng ...
Dispatching custom events in javascript
Ở bài trước mình có giới thiệu về 2 khái niệm quan trọng trong event javascript đó là: Bubbling Event Capturing Event Khi chúng ta làm việc với javascript, đa phần thì làm việc các event mặc định như là click, hover, drag... Làm sao chúng ta có thể tạo ra custom event trong javascript cho ...
Mã thẻ Credit Card dùng để Test thanh toán tại Nhật.
Lời tựa Test thanh toán tiền luôn khiến các chị em QA rơi vào thế bị động, do phải đợi khách hàng cung cấp tài khoản, số Credit Card...v.v Để các chị em chủ động hơn trong việc test thanh toán, mình đã tham khảo và post lên đây một số thông tin về các loại thẻ. Hy vọng sẽ có ích cho mọi người khi ...
Đánh giá mức độ nghiêm trọng và độ ưu tiên trong quản lý bug
Trong kiểm thử phần mềm thì hai khái niệm Độ ưu tiên (Priority) và Độ nghiêm trọng (Severity) cũng không quá xa lạ, đặc biệt là trong quản lý bug. Hai khái niệm trên đã trở nên quá quen thuộc và phổ biến đến nỗi chúng ta hầu như không phân biệt được ý nghĩa cũng như sự khác nhau giữa hai khái niệm ...
HBase: Overview, Architecture và Data Flow
HBase là 1 hệ cơ sở dữ liệu phân tán, mã nguồn mở được xây dựng dựa trên Apache Software. Ban đầu, nó được gọi là Google Big Table, sau đó được đổi thành Hbase và được viết bởi ngôn ngữ Java. Hbase có thể lưu trữ lượng lớn data. Tính năng độc đáo của HBase HBase được sử dụng rộng rãi cho các ...
Tạo hiệu ứng loading khi dùng request ajax
Chào các bạn, các bạn có ghét nhìn thấy mấy cái icon loading này không vậy mà nếu khi không có nó xuất hiện thì bạn cũng sẽ chằng hiểu là request của bạn có được gửi hay chưa! ví dụ: như facebook, khi bạn đang ở một nơi có tốc độ mạng lên tới 1.5G rồi bạn thấy mình là người cực kì quan ...
Cơ bản về phân quyền cho file trong Linux (phần 1)
Hiện nay, Linux đang ngày càng trở nên phổ biến. Kể từ khi Linus Torvalds công khai mã nguồn của nhân Linux đến nay, càng ngày càng có nhiều lập trình viên trên thế giới quan tâm đến dòng hệ điều hành này. Nhiều công ty đã sử dụng các distro của Linux làm hệ điều hành mặc định cho nhân viên sử ...
MEAN vs. LAMP Stack: Pros and Cons
Web stacks đã phát triển qua nhiều thập kỷ với những tiến bộ trong công nghệ và ngôn ngữ backend. Hai Web stack phổ biến hiện nay là LAMP và MEAN. Chúng dựa vào hai công nghệ khác nhau cho ngôn ngữ backend, cơ sở dữ liệu và môi trường máy chủ.Thuật ngữ "stack" dùng để chỉ các công nghệ xếp chồng ...
Swift design patterns - Part 1
Design patterns là những giải pháp cho việc tái sử dụng những vấn đề chung trong thiết kế phần mềm. Nó là những thiết kế mẫu giúp code dễ hiểu và dễ tái sử dụng hơn. Nó cũng giúp ta tạo ra những đoạn code có liên kết "lỏng", nhờ đó, việc thay đổi hay thay thế các components trong code sẽ không gây ...
Series PHP - Lập trình hướng đối tượng (Phần 2)
Tiếp tục series, phần 1 mình đã đề cập đến những vấn đề cơ bản nhất trong Lập trình hướng đối tượng, các bạn có thể bấm vào link ở mục lục bên dưới để có thể xem nhanh phần cũ nhé. Các đặc điểm cơ bản của lập trình hướng đối tượng. Chúng được thể hiện như thế nào trong PHP Sự khác biệt giữa ...
Thuật toán di truyền - Ứng dụng giải một số bài toán kinh điển (phần 2)
Trong bài viết trước mình đã giới thiệu về thuật toán di truyền , ở bài viết này mình sẽ demo giải quyết một bài toán kinh điển là "Người bán hàng" Phát biểu bài toán Cho trước một danh sách các thành phố và khoảng cách giữa chúng, tìm chu trình ngắn nhất thăm mỗi thành phố đúng một lần. Ở ...
Ruby, Rails và nhiều thứ thú vị khác
Bài viết này giới thiệu về các method hay và tiện dụng trong ruby và rails như try, blank?, present?, pluck ... - Sử dụng Object#try(:method_name) thay vì kiểm tra nil - Sử dụng blank?/present? - Sử dụng presence - Khi kiểm tra sự tồn tại của 1 string thì nên dùng blank? thay vì nil? - Khi cần ...
Wemos kết nối socket.io (phần 3)
Xin chào các bạn! Bài trước mình đã giới thiệu sơ qua về Wemos. Hôm nay, chúng ta cùng bắt tay vào việc lập trình phần mềm điều khiển em nó nhé. I. Chuẩn bị công cụ Việc đầu tiên chúng ta cần cài đặt công cụ để lập trình. Ở đây mình dùng Arduino IDE. Bạn có thể tải về bản Arduino IDE mới nhất ...
Tìm Hiểu Custom Properties trong CSS3
Một ưu điểm của việc sử dụng Sass hoặt Less thay vì sử lý trực tiếp với CSS là khả năng sử dụng biến trong khi làm việc với việc tạo giao diện bằng CSS. Bởi vì việc sửa đổi một thuộc tính trong cả ngàn dòng css rất khó chiu hay gây nhầm lẫn , kể cả với việc Find và Replace toàn bộ vẫn tiềm ẩn một ...