Creating Form Objects with ActiveModel and gem Virtus

Khi bạn muốn update nhiều ActiveRecord models chỉ trong một lần submit form, thì thường thường chúng ta sẽ dùng "accepts_nested_attributes_for". Những ai sử dụng "accepts_nested_attributes_for" thì cũng biết sự khó khăn của nó đem lại. Một giải pháp thay thế cho việc này là sử dụng "form object", ...

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

Automate task with gulp

Trong quá trình phát triển và xây dựng dự án, các lập trình viên frontend có thể bắt gặp những công việc lặp đi lặp lại nhiều lần như: reload lại trình duyệt khi có một file được thay đổi, compile và kiểm lỗi các file javascript, minify các file javascript, css, gộp các file css riêng lẻ thành một ...

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

Natural language processing with ruby - part 1, Data pre-processing

Xử lý ngôn ngữ là một kĩ thuật quan trọng nhằm giúp máy tính hiểu được ngôn ngữ của con người, qua đó hướng dẫn máy tính thực hiện và giúp đỡ con người trong những công việc có liên quan đến ngôn ngữ như nhận dạng chữ viết, dịch máy, khai phá quan điểm ... Có thể bạn đã biết, Google chính là một ...

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

New API Camera2 in Android

Kể từ API lever 21 (Android 5.0) Google giới thiệu tới cộng đồng lập trình viên thêm 1 camera api mới ( camera2 API ) và khuyến cáo mọi ng sử dụng Camera2 API thay cho Camera API với nhiều lựa chọn, tùy biến và hỗ trợ nhiều loại thiết bị đầu cuối hơn. Trong phiên bản mới này Google tách các thành ...

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

Real-Time Push Server in Rails

There are multiple ways to add push functionality to an application, including Pushr and Pub-Nub, which are quite elegant and simple solutions. There are also some more advanced options. In this article, I’m going to show you how to use Faye, a messaging system that runs on both Ruby and ...

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

[Bài dịch] Test data là gì? Hướng dẫn thiết kế test data

Trong phạm vi bài viết này, tôi sẽ giới thiệu tới các bạn tầm quan trọng của test data và một vài hướng dẫn giúp các bạn thực hiện test có sử dụng test data và thiết lập môi trường test thích hợp. TEST DATA LÀ GÌ? VÌ SAO NÓ LẠI QUAN TRỌNG? Mô tả một cách đơn giản thì test data là những dữ ...

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

Tìm hiểu về cách sử dụng thư viện quick search trong Rails

JQuery Quicksearch là một plugin thuận tiện cho việc lọc dữ liệu lớn với đầu vào được nhập bởi người dùng. Cài đặt Download và cập nhật các phiên bản mới nhất của jquery quicksearch tại đây. Cách sử dụng trong Rails Require thư viện jquery quicksearch vào file application.js //= ...

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

Row Store vs Column Store

Column Store và Row Store, 2 cách lưu dữ liệu trong database management system (DBMS), mỗi cách có điểm mạnh cũng như hạn chế riêng, vì thế mà mỗi cách lại được áp dụng vào một hệ thống cụ thể. Trong bài viết này mình sẽ giới thiệu với các bạn về 2 cách lưu trữ dữ liệu này. Mình sẽ minh họa dựa ...

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

Tổng quan về Laravel Echo

Laravel Echo là gì? Laravel Echo là một công cụ hỗ trợ việc kết hợp công nghệ WebSockets với các ứng dụng xây dựng trên nền Laravel của bạn trở nên dễ dàng hơn. Nó đơn giản hóa một số khía cạnh chung và đôi khi khá phức tạp khi thiết lập các tương tác với WebSockets. Chú ý: Echo hiện ...

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

Sử dụng counter cache để tăng performance cho rails application

Counter cache là kỹ thuật để tăng performance cho application thông qua việc tiết kiệm số lần gọi đến SQL. Cách thực thi rất đơn giản nhưng đem lại hiệu quả khá cao. Tình huống Chúng ta có bảng lessons, có quan hệ 1-n (has_many) với bảng words. Để đếm được số words có trong 1 lessons ...

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

Giới thiệu về Google Web Toolkit - GWT

Abstract : Vào khoảng tháng 5/2006, Google xuất bản Google Web Toolkit (GWT), một tập hợp những công cụ phát triển, những tiện ích lập trình và những widget giúp chúng ta tạo những ứng dụng web bằng cách mà trước đây chúng ta chưa từng làm. 1. Giới thiệu GWT là một framework mã nguồn mở ...

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

Tạo 1 cảnh động 3D đơn giản trên web với Three.js

Chúng ta chuẩn bị tạo ra một chiếc máy bay 3D đơn giản sử dụng three.js - thư viện 3D giúp việc thao tác với WebGL trở nên nhẹ nhàng hơn. WebGL còn khá lạ lẫm với nhiều người vì sự phức tạp cũng như cú pháp GLSL. Nhưng với three.js, 3D trong trình duyệt trở nên rất dễ dàng. Trong hướng dẫn ...

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

Từ IOS 10 Animation đã “ngon” hơn!!

_Ở WWDC16, những feature mới của Animation đã được giới thiệu. Như là phần dynamic animation được thêm vào, tạm dừng chuyển động... và nhiều tính năng "mềm dẻo" khác. Vì vậy bài viết này mình muốn giới thiệu với các bạn! _ Animation hiện tại Animation hiện tại có cấu trúc như sau : UIView . ...

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

Test automation trends of 2016

Năm 2016 đã đi được một nửa chặng đường, ngành công nghiệp tự động hóa đang trên đà phát triển từ năm 2015 đến năm 2016. Bạn hãy nhìn lại Trends trong năm 2015 nó đã mang lại nhiều tiến bộ khác nhau trong lĩnh vực automation testing. Chúng ta đã nghe rất nhiều công ty đi theo hướng Agile testing và ...

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

Vẽ đồ thị trong Rails với thư viện Chartkick

Mỗi ngày chúng ta đều làm việc với các ddnhj dạng dữ liệu khác nhau. Chúng ta có rất nhiều cách hiển thị dữ liệu khác nhau như: dạng bảng, đồ thị v.v.... Theo quan điểm của tôi thì biểu diễn dữ liệu dưới dạng đồ thị là một cách biểu diễn trực quan, giúp người dùng có sự tương tác và nhận thức ...

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

Ý nghĩa của optional trong swift

Tôi là một lập trình viên với 3 năm kinh nghiệm cũng đã từng là technical leader và trainner. Trong quá trình review source và training cho nhân sự mới thì một trong nhưng lỗi hay gặp nhất của một lập trình viên còn ít kinh nghiệm là : Không kiểm tra sự tồn tại giá trị của biến trước khi sử dụng. ...

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

Artificial Intelligence (AI). What the future holds for Mankind and Technology

Abstract Artificial Inteligence (AI) simply means the intelligence possesed by machines. It is just like the brain humans have which have evolved over generations but AI not only aims to replicate the human brain but also surpass it. In some area this has already been archieved, an example ...

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

Pattern - Microservices Architecture

Overview Microservices Architecture là một mô hình kiến trúc để phát triển hệ thống phần mềm. Chúng được ứng dụng để thay đổi cho mô hình cấu trúc một khối. Nhờ khả năng mở rộng rất dễ dàng của kiến trúc này mà nó được coi là kiến trúc lý tưởng để xây dựng lên nền tảng phát triển diện rộng trên ...

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

SQL dành cho tester (Phần I)

SQL là một ngôn ngữ chuẩn để truy cập các Cơ Sở Dữ Liệu (CSDL), vì thế trước khi thực hiện kiểm thử CSDL, điều kiện tiên quyết đối với các kiểm thử viên là cần có kiến thức về SQL. Hiện nay có rất nhiều tài liệu về SQL cũng như thực hành SQL trực tuyến, tuy nhiên nếu chưa có cơ hội làm việc về CSDL ...

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

Wicket hiển thị (e.g. PDF, Excel, Word) trong IFRAME

Trong bài viết này tôi sẽ trình bày cách hiển thị file pdf trên màn hình để xem trước nội dung file PDF trong Wicket. Tôi sẽ trình bày 2 vấn đề chính 1. Hiển thị file PDF lên màn hình 2. Sử dụng ajax để thay đổi file PDF Vì file pdf là dạng nội dung không thể hiển thị bằng thẻ HTML thông ...

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