viblo.asia

Series NodeJs - Part 2

Trước khi bắt đầu thì cũng nên tìm hiểu 1 số ưu nhược điểm của NodeJs nhé. Để coi xem chúng ta có thể dùng NodeJs ở những trường hợp như thế nào? để tối ưu nhất... Ưu điểm: Tốn ít Ram hơn vì NodeJs chỉ nhận và xử lý nhiều kết nối với 1 signle thread. JSON APIs: với cơ chế event-driven, non-blocking I/O + JS sẽ thật tuyệt khi làm web bằng JSON Single page application: Với khả năng xử lý nhiều requests đồng thời phải hồi nhanh và...

viblo.asia

Làm quen với node js

Giới thiệu Xin chào mọi ngươì, Đây là các series về NodeJs sẽ đi từ những điều cơ bản, những khái niệm cơ bản nhất về JS nói chung và NodeJs nói riêng. Trước khi viết bài này mình cũng chưa biết gì và cũng chưa tìm hiểu j về nó cả. Vậy nên nếu phần viết của mình sai hoặc mình hiểu sai 1 vấn đề nào đó thì mọi người cứ góp ý nhé Javascript là ngôn ngữ lập trình single-threaded nghĩa là nó chỉ có 1 call stach, do vậy nó chỉ...

viblo.asia

Swagger - Viết API Document with Ruby On Rails

Giới thiệu Swagger là 1 tool hỗ trợ trong việc thiết kế Api 1cách dễ dàng. Swagger cho phép bạn miêu tả cấu trúc Api của bạn, nó sẽ giúp cho cấu trúc Api của bạn được xây dựng 1 cách đẹp và có thể tương tác với tài liệu API. Bạn thử tưởng tượng việc bạn phải viết 1 đống Api bằng tay, rất dễ nhầm lẫn mà không có cách kiểm tra tự động nào ngoài việc bạn phải tự ngồi check xem params, method, type... có đúng hay chưa. Chưa...

viblo.asia

Underscore - Lodash - Ramda

Giới thiệu Như các bạn đã biết. Java Script là 1 ngôn ngữ lập trình không quy định phong cách lập trình, Bạn có thể sử dụng JS như 1 kiểu lập trình hướng đối tượng hoặc là 1 kiểu functional. Tôi thì thích viết kiểu functional hơn. Vì nó giúp tôi dễ dàng test, tái sử dụng và dễ dàng đọc hiểu code hơn. Vì vậy khi bạn muốn viết 1 function JS, đầu tiên bạn cần chọn 1 thư viện library giúp bạn làm điều đó. Tôi sẽ nói về 3 thi...

viblo.asia

Generators trong JS

Generator Function Hiểu đơn giản function trong js khi được thực thi sẽ đảm bảo tính run to completion (các code khác sẽ không thể can thiệp và làm gián đoạn quá trình chạy của function đó ) Tuy nhiên generator function là 1 function có chức năng tạm ngưng thực thi trước khi hàm kết thục và có thể tiếp tục chạy ở 1 thời điểm khác... Normal function chỉ có thể return ra 1 giá trị - còn Generator Function có thể return về nhiều giá trị khác...

viblo.asia

Automatic Deploy Rails App lên Ubuntu server với Capistrano

Capistrano là gì? Lật lại phần 1 và 2 để deploy lên server: ssh vào server push code từ github về restart unicorn Vậy là mất 3 bước để deploy code lên server. Thì Capistrano sẽ làm thay chúng ta chỉ 1 câu lệnh trên local. An toàn hơn khi phiên bản mới deploy xong và sãn sàng chạy thì mới thay phiên bản hiện tại. (tránh những trường hợp xấu như rớt mạng, server down...) lưu 5 phiên bản gần nhất giúp bạn có thể quay về các bản cũ nếu ko ưng...

viblo.asia

Deploy Rails App lên Ubuntu server với Unicorn và Nginx

Unicorn là gì? Dễ hiểu là server HTTP cho Ruby. Cơ chế hoạt động là web server gửi các request tới worker Unicorn thông qua Unix sockets or TCP sockets.... Có nhiều lựa chọn khác Unicorn như Puma và Thin. Ở bài viết này mình sẽ giới thiệu về Unicorn Setup Unicoirn Config Unicoirn Rồi tiếp theo phần I. Chúng ta đã có 1 rails server trên instance. Và giờ chúng ta sẽ sử dụng Unicorn cho nó =.=" Thêm gem unicorn vào gemfile bundle install tạo folder current chưa...

viblo.asia

Làm quen với Rpec trong Rails

Ở bài viết này mình xin trình bài về Rspec trong Rails. Giới thiệu Rails đã tích hợp sẵn thư viện để test rồi. Tuy nhiên viết test theo phong cách BDD (Behavior Driven Development) hay hơn nhiều. Vậy test theo kiểu BDD là gì? Thay vì tập trung vào phát triển phần mềm theo hướng kiểm thử TDD, BDD tập trung vào phát triển phần mềm theo hướng hành vi. Dựa vào requirement các kịch bản test (Scenarios) sẽ được viết trước dưới dạng ngôn ngữ tự...

viblo.asia

Giới thiệu Gem Wicked PDF trong Rails

Giới thiệu Ở bài viết này mình xin giới thiệu về gem wicked_pdf. Gem Wicked PDF giúp bạn chỉ cần viết một trang HTML như bình thường, sau đó nó sẽ giúp bạn tạo file PDF 1 cách dễ dàng bằng việc sử dụng các tiện ích wkhtmltopdf để tạo file PDF. Wicked PDF làm việc trên ruby 1.8.7 -> 2.3 và rails 2 -> 5 Cách cài đặt wicked pdf thêm gem 'wicked_pdfvào gemfile vàbundle install` sau đó khởi tạo initializer bằng câu lệnh : rails generate...