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 ...

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

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 ...

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

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 </p> <div class= Tác giả: 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 ...

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

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ác giả: Hoàng Hải Đăng viết 13:30 ngày 12/08/2018

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 ...

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

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 ...

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

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

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

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 ...

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

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ác giả: Trịnh Tiến Mạnh viết 13:30 ngày 12/08/2018

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, ...

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

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 ...

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

Tạo tags cho 1 rails app như wordpress với semantic ui

Trong bài trước mình đã giới thiệu tới các bạn autocomplete search trong semantic-ui, hôm nay mình xin giới thiệu 1 điều thú vị k kém của semantic ui là dropdown. Dropdown? Dropdown thì có gì thú vị? Trong semantic UI, dropdown cũng không có gì khác biệt với bootstrap, tuy nhiên nó có 1 phần mở ...

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

UDP Android client and Rails server

Khi xây dựng các ứng dụng chắc hẳn các bạn gặp rất nhiều trường hợp liên quan đến GPS. Các ứng dụng tương tác với người dung thông qua vị trí và phải cập nhật vị trí của mình liên tục lên server để quản lý. Việc này khá là tốn tài nguyên của server và lượng dữ liệu mà mobile phải sử dụng khi chúng ...

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

What is this

Bài viết đề cập đến 1 từ khóa thông dụng trong javascript 4 pattern của this gọi phương thức (method) gọi hàm số (function) gọi constructor gọi apply, call Gọi phương thức (method) Đây là pattern rất đơn giản và dễ hiểu. this đại diện cho object và có thể dùng để gọi method. var ...

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

Unity and C# Design patterns and concepts.

Unity is a really easy game engine to get started with, its interface is simple, it is filled with API that will help you build your game quicker than any other engines do, these reasons make Unity really popular and it is used to create many games. But, as much as Unity is easy to get to, if ...

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

Giới thiệu về Racktables (phần 2)

Tiếp nối phần trước, ở bài viết này chúng ta sẽ tìm hiểu về config các thành phần có trong racktables như: objects, IP, cable. Để có thể tạo được tủ rack, trước hết chúng ta phải tạo địa điểm quản lý tủ rack. 1. Tạo rack Từ main menu, ta chọn Rackspace Chọn tab Manage location, điền tên ...

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

random — Pseudorandom Number Generators (Part I)

Purpose: Implement một vài hàm sinh số ngẫu nhiên Avalable In: Python 1.4 trở lên Module random cung cấp một bộ sinh số ngẫu nhiên (PRNG - pseudorandom number generator) dựa vào giải thuật Mersenne Twister. Ban đầu được phát triển để sinh ra input cho các mô phỏng Monte Carlo, Mersenne ...

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

Các cách định nghĩa JSON format khi tạo một rails API

Bài viết hôm nay, tôi xin giới thiệu một số cách phổ biến hay được dùng để định nghĩa json format khi phát triển API dùng Rails: dùng respond_to block và as_json, sử dụng Presenter, dùng Jbuilder, dùng active_model_serializers. Để phục vụ cho các phần sau, trước tiên chúng ta sẽ tạo 2 models là ...

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

Tìm hiểu Apdapter Pattern

Tìm hiểu về Strategy pattern. </br> Bài viết được tham khảo từ cuốn Design pattern for dummies </br> Ở bài trước, tôi đã giới thiệu cho các bạn về Strategy pattern: https://viblo.asia/trung.nn.92/posts/znmMdy7YGr69. Hôm nay chúng ta sẽ tìm hiểm về Adapter pattern. Adapter ...

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