Spree Extension - Xây dựng tiện ích mở rộng cho Spree

**1. Khái niệm ** Spree Extensions là những tiện ích cho phép người sử dụng có thể tùy biến hệ thống Spree Ecommerce theo ý riêng của mình. Nhà phát triển có thể dễ dàng tái sử dụng mã nguồn cũng như chia sẻ chúng. Sở dĩ có thể làm được điều này là vì Spree cho phép người dùng có thể customize ...

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

Giới thiệu về Full Text Search.

I. Full text search là gì? Nói đơn giản dễ hiểu, full text search (gọi tắt là FTS) là cách tự nhiên nhất để tìm kiếm thông tin, hệt như Google, ta chỉ cần gõ từ khóa và nhấn enter thế là có kết quả trả về. Phạm vi bài viết này chỉ đề cập, giới thiệu sơ lược về FTS trong MySQL mà không bàn về ...

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

Xây dựng ứng dụng chat sử dụng Rails và Server-Sent Events

Như mọi người cũng biết, hiện nay có khá nhiều kỹ thuật để xây dựng 1 app chat, ví dụ như sử dụng Nodejs, Websocket hay cũ hơn nữa là AJAX polling. Bài viết dưới dây sẽ hướng dẫn cách xây dựng 1 ứng dụng chat bằng cách sử dụng 1 kỹ thuật khá mới mà HTML 5 cung cấp đó là Server-Sent Event trên ...

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

Tự làm Claims-based Authentication cho ASP.NET Sites kiểu cũ

Framework ASP.NET identity cung cấp cho bạn mọi thứ bạn cần để sử dụng identity Claims-Based. Tuy nhiên, identity Claims-Based có thể được mô phỏng trong ASP.NET cũ bằng cách tùy chỉnh nếu bạn có một nhà cung cấp đăng nhập username / password nội bộ, và cần để có thể hiển thị nhiều thông tin về ...

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

Android RecyclerView – Simple List

RecyclerView Để thay thế cho ListView, GridView và một số thành phần khác. Để nhận được một performance tốt bạn cần thực hiện ViewHolder pattern, thật không may có nhiều cách để gây lên sự khó hiểu. Vơi ** RecyclerView ** chúng ta vẫn có thể thực hiện được mô hình ViewHolder để đảm bảo hiệu ...

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

So sánh Tool test tự động: Coded UI Test, Selenium và QTP

Software testing là một cách để kiểm tra và xác nhận hoạt động của sản phẩm hoặc ứng dụng cụ thể. Nó có thể được xác nhận ở nhiều điểm khác nhau tại thời điểm trong quá trình phát triển phụ thuộc vào phương pháp và công cụ sử dụng. Kiểm thử thường bắt đầu sau khi tổng hợp requirement. Ở mức unit ...

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

Virtual Reality and Augmented Reality - Past, Present and Future.

Augmented Reality and Virtual Reality, as people who work in technology business, we couldn't help but hear more or less about them, they have become really popular. Still I'm pretty sure there aren't many who know exactly about these techs and the differences between them, this time around I ...

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

GNOME 3: Ease, comfort and control

I. Giới thiệu về GNOME GNOME (GNU Network Object Model Environment) là một dự án mã nguồn mở được phát triển bởi The GNOME Project bao gồm một bộ công cụ và môi trường sử dụng desktop. GNOME được sử dụng rộng rãi trong cộng đồng Linux và chính là môi trường desktop được cài đặt sẵn trong ...

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

Truy vấn iOS Photos, Videos với PhotosFramework

Cùng với sự phát triển không ngừng của nền tảng iOS và sự phổ biến của các ứng dụng liên quan tới Media (bao gồm: ảnh, video,...) dẫn tới các câu hỏi về truy vấn local Photos, Videos của thiết bị (iDevice) xuất hiện ngày càng nhiều. Bài viết này nhằm mục đích giới thiệu về cách sử dụng ...

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

Gem the_role 2.5.4

I. Giới thiệu the_role là gem để phân quyền người dùng trong Ruby on Rails như các gem cancan, pundit... và có hỗ trợ giao diện quản trị. II. Install Thêm vào Gemfile gem "the_role", "~> 2.5.4" gem 'bootstrap-sass', github: 'thomas-mcdonald/bootstrap-sass' Sau đó chạy: $ ...

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

Thanh Toán Định Kỳ Với Paypal

1, Giới thiệu về thanh toán định kỳ trong Paypal Paypal là một công cụ thanh toán trực tuyến phổ biến trên thế giới được rất nhiều người sử dụng. Trong phần này chúng ta sẽ học cách sử dụng thanh toán định kỳ trên paypal với ứng dụng Ruby on rail. Trước hết chúng ta phải hiểu thanh toán định ...

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

Vim''s Flavor

Starting Point Vim has reputation of being hard to use because of its unique and complex way of handling text editing unlike any others editor like Notepad, Notepadd++, Sublime Text. When I first started learning how to use vim I was struggling too much, but once I get pass basic of some commands ...

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

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

Hôm qua mình mới download Kobito về, đang muốn thử xem ra sao nên tiện tay làm một bài viết vậy (yaoming).. tiếp chủ đề Celluloid nhé (honho) Giới thiệu về Celluloid - Part 1 Giới thiệu về Celluloid - Part 2 Trong phần 2, mình đã giới thiệu với các bạn về Celluloid::Supervisor để ...

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

Tìm hiểu về angularjs

1. Lịch sử phát triền của Angularjs AngularJS được bắt đầu từ năm 2009, do lập trình viên Misko Hevery tại Google viết ra như là một dự án kiểu “viết cho vui”. Misko và nhóm lúc này đang tham gia vào 1 dự án của Google tên là Google Feedback. Với AngularJS, Misko đã rút ngắn số dòng ...

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

Zsh 1 Trình shell vô đối (Phần 1)

1. Giới thiệu Zsh là 1 chương trình shell thiết kế để tương tác, đồng thời zsh cũng là 1 ngôn ngữ script mạnh mẽ (scripting language). Zsh được tích hợp rất nhiều tính năng hữu dụng của cả bash , ksh và tcsh , đồng thời còn cung cấp nhiều tính năng khác. Bài viết này xin giới thiệu 1 số ...

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

Video recorder in ios

Ở bài này sẽ hướng dẫn tạo một ứng dụng sử dụng camera để ghi hình và xem lại cơ bản sử dụng MediaPlayer framework. Tạo project Mở XCode và tạo mới một project như trong hình dưới đây Thiết kế UI Đầu tiên để UI để có thể quan sát và dễ nhìn chúng ta Disable Size Classes như hình dưới ...

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

Tìm hiểu về kiểm thử Hiệu năng và công cụ kiểm thử LoadRunner

Kiểm thử hiệu năng 1. Giới thiệu về kiểm tra tự động hiệu năng phần mềm Một câu hỏi được đặt ra đó là: ** Tại sao bạn nên thực hiện kiểm tra tự động hiệu năng phần mềm?** Kiểm tra tự động hiệu năng phần mềm nhằm giảm bớt những rủi ro của việc ứng dựng, nâng cấp và phát triển phần mềm. Kiểm ...

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

Tìm hiểu yopmail

1. Giới thiệu về Yopmail Khi thực hiện test, đặc biệt là test web, các tester hay gặp phải trường hợp phải tạo nhiều account mail, mỗi account mail tương ứng với 1 user được assign với role khác nhau. Khó khăn đặt ra là khi create 1 email free như gmail, hotmail, yahoo..., là mất thời gian input ...

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

Assertion trong soapUI

Assertions in SoapUI Trong bài trước, chúng ta đã được giới thiệu cơ bản về SoapUI như tạo project, add WSDL, send request, receive response, tạo test suite, test case. Bài viết này sẽ giới thiệu về Assertion trong SoapUI. 1. Assertion Sau khi một request được gửi đến web server thì một ...

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

Loại bỏ trùng lặp dữ liệu trong ElasticSearch

Loại bỏ trùng lặp dữ liệu luôn được xem là một việc cần phải làm, và khi thực hiện công việc đó, tức là loại bỏ những dữ liệu trùng lặp thì chúng ta sẽ đạt được nhiều lợi ích nhất định. Trong ElasticSearch cũng vậy, bạn sẽ đạt được một số lợi ích như sau: Tiết kiệm được dung lượng ổ cứng Tăng ...

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