Design Pattern - Adapter

Adapter Adapter là gì? Chúng ta có thể hiểu nôm na. Nó giúp các thành phần, hay những thiết bị khác nhau có thể kết nối với nhau. Ví dụ như một chiếc máy vi tính đời cũ dùng cổng PS2 vậy, nhưng chúng ta lại muốn dùng chuột với cổng USB. 2 thiết bị rõ ràng không thể kết nối với nhau vì 2 cổng ...

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

Sự phát triển của e-commerce trên thế giới, cơ hội thách thức ở Việt Nam

Bài viết đã được viết cách đây khá lâu, nhiều thông tin và nhận định đã không còn đúng ở thời điểm hiện tại, phần là do sự thay đổi nhanh chóng của công nghệ, phần khác có thể do tình hình kinh tế, xã hội trong nước và thế giới. Tác giả bài viết mong bạn đọc coi đây như một tài liệu mang tính chất ...

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

Scope (context) trong ruby

Scope mà tôi muốn nhắc đến không phải là class method của ActiveRecord scope :red , - > { where ( color : 'red' ) } # không phải cái này Scope ở đây bạn có hình dung đến 2 vấn đề thứ nhất đó là các biến, thứ 2 đó là khả năng truy cập. Hiểu được Scope bạn sẽ biết được ...

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

Sử Dụng FFMPEG với những câu lệnh đơn giản

I. FFMPEG là gì FFmpeg là một thư viện có rất nhiều tiện ích cho việc xử lý video. Tính năng nổi bật nhất có lẽ là khả năng encode/decode nhiều video format khác nhau, giúp convert qua lại nhiều định dạng video. Ngoài ra, chúng ta cũng có thể dùng FFmpeg để cắt một đoạn video, crop video, chụp ...

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

Tạo Decorator đơn giản với Gem Draper và kết hợp cùng Gem Kaminari

1. Decorator là gì ? Như chúng ta đã biết, Decorator là lớp phụ trợ, là cầu nối giữa Model và View. Hiện tại nó thường được xếp vào dạng “Presenter”. Ưu điểm của Decorator là : Thêm những xử lý cho 1 object mà không cần viết thêm những đoạn mã logic thừa thãi trong View và Model. ...

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

In ra bảng quan hệ n*n theo dạng ma trận với ít lần hit vào database

Bảng quan hệ (relation) giữa 2 model thường gặp và việc in ra dưới dạng ma trận 2 chiều đôi khi bị chậm lại vì việc hit vào database quá nhiều lần, hi vọng tip nho nhỏ sau đây có thể giúp ích phần nào công việc của bạn. Giả sử chúng ta có 2 bảng x_value, và y_value # x_value.rb class XValue ...

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

Sử dụng i18n trong javascript dùng gem i18n-js

Ngày nay việc phát triển các sản phẩm nói chung và xây dựng các website đa ngôn ngữ đang ngày càng phổ biến, trở thành nhu cầu tất yếu cho một sản phẩm hoàn hảo trên quy mô toàn cầu. Một công cụ rất hữu ích giúp chúng ta thực hiện việc biểu diễn đa ngôn ngữ trên website là I18n. Việc sử dụng I18n ...

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

Android Support Design Library

Giới thiệu Tháng 6/2014, Google chính thức giới thiệu Material Design ở hội nghị Google IO thường niên. Liền ngay sau đó, các ứng dụng Gmail, Inbox, Google Plus cập nhật design này. Đến tháng 5/2015, Google hỗ trợ cho lập trình viên thư viện để phát triển các component Material Design trên ...

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

Sử dụng enum trong ruby on rails

Enum là gì? Enum là kiểu dữ liệu liệt kê, giúp bạn tổ chức dữ liệu khoa học hơn, code được trong sáng dễ hiểu hơn. Khi khai báo một thuộc tính kiểu enum, bạn có thể lưu dữ liệu vào database theo kiểu integer nhưng có thể truy vấn theo tên. Ví dụ: class Conversation < ...

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

Tìm hiểu về Kiểm thử Matrix- hỗ trợ trong việc tạo testcase

Kiểm thử Matrix là gì? Ma trận là một bảng tính cho thấy thử nghiệm và nắm bắt các kết quả thử nghiệm bằng cách đặt chúng ra dưới dạng một bảng vuông có kích thước bằng số các nút trong đồ thị dòng, trong đó: Mỗi dòng/cột ứng với tên một nút, mỗi ô là tên một cung nối nút dòng đến nút cột. ...

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

Sắp xếp và tìm kiếm dữ liệu trong bảng sử dụng AngularJS

Hẳn là chúng là dân làm kỹ thuật thì không còn xa lạ gì với 2 khái niệm sắp xếp và tìm kiếm dữ liệu nữa. Hôm nay mình xin được giới thiệu với các bạn sắp xếp dữ liệu sử dụng Framework AngularJS như thế nào. Nào chúng ta cùng tìm hiểu bài viết dưới của tôi nhé. (ok)!... Chúng ta sẽ tìm hiểu ...

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

Tìm hiểu và hướng dẫn làm angularJS

Angular là một bộ thư viện javascript rất mạnh và thường được sử dụng để xây dựng project Single Page Application (SPA). Nó hoạt động dựa trên các thuộc tính mở rộng HTML (các atributes theo quy tắc của Angular). Đây là một bộ mã nguồn mở hoàn toàn miễn phí và được hàng ngàn các lập trình viên ...

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

Elasticsearch- Full-text Seach

Elasticsearch làm những gì? Elasticsearch giống như 1 database lưu trữ tài liệu theo 1 cách "crafty", và có thể hỗ trợ cho người dùng tìm kiếm nhanh trên 1 file lớn. Để bắt đầu, Elasticsearch đánh indexs từ theo các thuật toán khác nhau. Elasticsearch không quan tâm đến các từ chung như "is" hay ...

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

Android Overview Screen

Màn hình tổng quan (Overview Screen) - (cũng được gọi là recents screen , recent task list , or recent apps ) là một giao diện hệ thống (system-level UI) liệt kê các hoạt động (activities) và nhiệm vụ (tasks) mới truy cập. Người dùng có thể điều hướng thông qua danh sách được liệt kê ra và lựa ...

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

Why Should We Use Monitor Arm

*** Why a monitor arm is necessary? *** Nếu bạn đang làm một công việc phải ngồi hàng giờ trước màn hình máy tính, thì tôi đoán chắc rằng căng cơ cổ và mỏi mắt là hai điều không thể tránh khỏi. Về mặt hình thái học, ngồi một chỗ trong thời gian dài với một tư thế cố định là một cực hình, cách ...

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

Tìm hiểu về jQuery Validation Plugin

1. Client Validation Client Validator nghĩa là kiểm tra dữ liệu người dùng nhập vào trước khi submit. Điều này giúp giảm công việc cho server, giảm số lần response lại cho user để thông báo là họ nhập sai. Validation ở phía cliden nói chung thực hiện hai chức năng: Thẩm định cơ bản (Basic Form ...

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

Sử dụng Lazy loading directives trong AngularJS

Giới thiệu Với 1 trang web thông thường,khi người dùng truy cập vào lần đầu tiên thì sẽ không tránh khỏi việc load tất cả các file JS đc dùng.Việc này có thể ảnh hưởng khá nhiều tới performence cho hệ thống.Bài viết này sẽ giới thiệu với các bạn 1 cách để tránh việc này, đó là chỉ load các ...

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

Selenium và Jenkins

Mở đầu Trong quy trình phát triển một phần mềm, Test nói chung và UT nói riêng luôn là những process rất quan trọng. Tuy nhiên khi Application càng ngày càng lớn thì khối lượng Test càng phình to và cost sẽ vượt quá cost bỏ ra cho coding. Để giảm thiểu số công sức bỏ ra, developer thường hay ...

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

Thuật ngữ chuyên ngành CNTT

Từ chuyên ngành luôn là hành trang cần thiết đối với một comtor, nhất là đối với một comtor chưa có kinh nghiệm trong lĩnh vực CNTT thì việc hiểu ý nghĩa của từ chuyên ngành cũng là một điều không thể thiếu. Chính vì vậy, trong bài viết này mình xin giới thiệu về khái niệm của một số từ chuyên ...

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

Thiết kế giao diện XML - Ứng dụng Android

Giao diện là phần quan trọng nhất để giới thiệu ứng dụng của mình tới tay người dùng, nó chiếm trên 60% nhân tố quyết định thành công của ứng dụng, chiếm tới >80% việc giữ chân người dùng trong lần mở ứng dụng. Việc thiết kế giao diện có nhiều cách Tuỳ chỉnh trong Resouce Chỉnh sửa sử ...

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