Tìm hiểu liquid, mã nguồn mở dựa trên nền tảng [Phần 1]
Liquid là một mã nguồn mở, Ngôn ngữ mẫu được sáng tạo bởi Shopify dựa trên nền tảng ngôn ngữ Ruby. Nó là thành phần chính của các theme trong Shopify và được sử dụng để tải các nội dung động lên giao diện các cửa hàng. Liquid sử dụng sự kết hợp các tag (nhãn), object (đối tượng) và filter (bộ ...
Tổng quan về Ionic Framework
1. Introduction/ Giới thiệu Ionic là một framework dùng để phát triển ứng dụng hybrid dựa trên HTML5. Một ứng dụng hybrid là một ứng dụng di động được xây dựng bằng các công nghệ phát triển web như HTML5, CSS, JavaScript và sau đó được đóng gói trong một môi trường hiển thị nội dung có thể hoạt ...
Andorid NDK - C++ trên Android
1. Giới thiệu Chắc hẳn dev android nào cũng quá quen thuộc hay đã từng nghe quá nhiều về Android NDK hay build C, C++ trên Android Nhưng không phải ai cũng đã từng sử dụng nó, ngoài ra với đa phần phát triển apps, games trên frameword, lib, trên nền ứng dụng vì thế C, C++ trở nên không cần ...
Tìm hiểu về thư viện jsPDF
Những điều cần biết về PDF file ? I : Lợi ích khi sử dụng PDF file Trước hết, PDF là một định dạng phổ biến và khả chuyển (PDF là chữ viết tắt của portable document format) nên tệp PDF có thể đọc được ở mọi hệ thống. Các tệp PDF thường chứa font chữ nhúng ngay bên trong văn bản nên ...
WML - Wireless Markup Language P2
Overview Ở bài trước mình đã chia sẻ về WML cơ bản, cách cài đặt, cấu hình WML trên Apache và IIS. Mình cũng đã chia sẻ về các Element mà WML hiện có. Các bạn có thể đọc lại tại bài WML - Wireless Markup Language P1 Trong phần 2 này mình sẽ viết tiếp WML và chi tiết hơn về một số Element đặc ...
Sử dụng tính năng search của Xcode một cách hữu hiệu hơn
Chắc hẳn rằng khi dùng Xcode để phát triển app IOS, chúng ta ít nhiều đều sử dụng tính năng search này: Ở những project nhỏ, việc search bằng text thông thường có lẽ kết quả tìm kiếm vẫn ok, nhưng ở project to, kết quả trả về rác rất nhiều. Chính vì vậy bài viết này mình muốn chia sẻ với các ...
10 lỗi mà các lập trình viên Ruby on Rails hay mắc phải
Mở đầu Rails được xây dựng trên nguyên tắc convention over configuration nghĩa là gần như lập trình viên đã được giảm thiểu tối ta việc tuân thủ convention khi phát triển, thay vào đó bản thân Framework đã làm thay việc đó. Ví du: nếu database của ta có bảng user thì mặc định model sẽ là User và ...
Scope trong rails cách sử dụng và điểm khác biệt giữa class method
Xin chào các bạn. Hôm nay mình xin viết về Scope trong ruby on rails. Các scope được hỗ trợ bởi rails, giúp định nghĩa các điều kiện truy vấn, chúng ta có thể kết nối nhiều scope với nhau mà không tạo ra nhiều câu truy vấn. Về bản chất thì scope là 1 class method (có thể gọi là class method động) ...
Reflux vs. Redux
Thay vì giới thiệu hay chỉ ra từng điểm khác biệt (tốt hơn?) của Redux đối với Reflux thì chúng ta sẽ xem xét qua 3 ví dụ: Lưu state của UI vào store, lọc data trong store, đưa data vào store từ API. Có một lưu ý là các ví dụ được lấy từ code chuyển từ ES5 sang ES6/ES7, do đó bạn nên biết syntax ...
Cấu hình nginx share hosting nhiều domain
Hẳn hầu hết với mỗi lập trình viên web đều biết đến Nginx có thể cấu hình để share hosting nhiều ứng dụng web ở các tên miền khác nhau. Đối với lập trình viên PHP, việc lập trình đồng thời một lúc nhiều dự án là điều gần như bắt buộc. Môi trường thực hành: Mountain Lion 10.8.4 Nginx 1.5.5, PHP ...
Clean code
Code là gì ? Với lập trình viên, chắc hẳn không ai còn còn xa lạ gì với việc code, thậm chí chúng ta còn thường xuyên phải code xuyên màn đêm nữa. Đó là công việc cũng là đam mê của một lập trình viên chân chính Bùi Văn Nam viết 13:30 ngày 12/08/2018
Tập hợp những câu lệnh GIT hữu dụng
Dưới đây là một vài ví dụ về các câu lệnh Git mà tôi thường dùng. Git config git config --global user.name "John Doe" git config --global user.email "john@example.com" --global được sử dụng để áp dụng cho tất cả các projects. Nếu bạn ko sử dụng --global thì settings sẽ chỉ dùng cho riêng ...
Better Errors & RailsPanel
Học fix bug là điều cần làm tốt trước khi học code, và để fix được bug thì bạn cần phải hiểu được những errors messages. Tuy nhiên, nhiều lúc những errors messages của hệ thống thật là kì cục, khó hiểu hoặc là làm cho bạn thật khó để tìm được đoạn code bị lỗi, phần xử lý bị sai, điều đó làm cho ...
Tìm hiểu về Jade template
Chào các bạn, hôm nay tôi xin giới thiệu đến các bạn về 1 công nghệ làm giao diện web đó là Jade template. Trước khi đi vào bước cài đặt và sử dụng cơ bản, chúng ta cùng tìm hiểu vì sao nên sử dụng công nghệ này. Những điểm lợi thế trong công nghệ Jade template HTML là một ngôn ngữ để tạo ra ...
Phát triển game dựa trên game engine đa nền tảng cocos2d-x (P4) - Actions
Sau khi đã qua 3 bài giới thiệu về cocos2d-x, cũng như các thành phần cơ bản trong game : Phần 1 : https://viblo.asia/ThanhTa/posts/jaqG0lrxGEKw. Phần 2 : https://viblo.asia/ThanhTa/posts/NPVMaDb2RQOk. Phần 3 : https://viblo.asia/ThanhTa/posts/6BkGyK8XR5aV Kết thúc 3 phần, chúng ta đã nắm ...
Hướng dẫn test case cho người mới
Công ty em đang thiếu nhân lực nên sếp giao việc test case mà em lại là người không biết 1 chút nào về việc test này mong anh/chị hướng dẫn giúp em để em có thể hoàn thành công việc thật tốt
What Is the Difference Between a Block, Proc, and a Lambda in Ruby?
Ruby là một ngôn ngữ bậc cao vì vậy nó hỗ trợ rất nhiều những tính năng mạnh mẽ, một trong số đó là Block, Proc và Lambda. Chúng là những công cụ cho phép nhà phát triển có thể chuyển mã vào trong một phương thức để thực thi sau. Mặc dù rất hay sử dụng các tính năng này nhưng không phải ai cũng ...
SỬ DỤNG ELASTICSEARCH TRONG RAILS VỚI GEM SEARCHKICK
I. Cài đặt Elasticsearch sudo apt-get update sudo apt-get install elasticsearch start và restart lại server ES bằng lệnh sudo service elasticsearch start sudo service elasticsearch restart II. Cài đặt gem searchkick Thêm searchkick vào gem file gem “searchkick&rd ...
Tìm hiểu Laravel - Tạo form đăng nhập (P2)
Ở bài trước chúng ta đã cùng nhau tìm hiểu cách cài đặt để bắt đầu một project sử dụng Laravel, và kết quả sau khi chạy câu lệnh php -S localhost:8000 -t public (lưu ý khi chạy câu lệnh này thì dấu nhắc lệnh phải ở trong thư mục project) ta thu được như hình trên. Như vậy quá trình cài đặt, ...
Opencv image processing phần 1: Lý thuyết nắn ảnh với phương pháp morphing.
I. Morphing là gì Morphing là một kỹ thuật xử lý hình ảnh được sử dụng cho các biến trạng thái từ một hình ảnh khác. Ý tưởng: để có được một chuỗi hình ảnh trung gian mà khi đặt cùng với những hình ảnh ban đầu sẽ đại diện cho sự thay đổi từ hình này sang hình khác. Phương pháp đơn giản nhất ...