Giới thiệu về các mô hình Concurrency trong Ruby
Bài viết mô tả sự khác nhau giữa Processes, Threads, GIL là gì, EventMachine và Fibres trong Ruby. Khi nào thì sử dụng mỗi mô hình, các dự án mã nguồn mở nào sử dụng chúng, và ưu khuyết điểm của chúng là gì. Processes Chạy nhiều tiến trình không phải là cơ chế concurrency (Ứng dụng thực hiện ...
Những điểm mới trong Swift 4
Swift 4 là bản release mới nhất của Apple, dự định sẽ được đưa ra vào mùa thu năm 2017. Swift 4 tập trung cung cấp sự tương thích với Swift 3, trong bài này tôi sẽ giới thiệu các phần thay đổi của Swift mà ảnh hưởng tới code cũ nhiều nhất. Let's get started! Swift 4 được đi kèm trong Xcode 9, ...
Tìm hiểu PHP CLI (P1)
Nếu các bạn là người làm việc trong lĩnh vực công nghệ thông tin, dù không chuyên code php nhưng chắc hẳn các bạn đã ít nhiều biết đến hoặc có cơ hội làm việc với nó. Nó là một ngôn ngữ lập trình đã và đang khá phổ biến trên Thế Giới hiện nay. PHP giúp những nhà phát triển web chỉ trong một thời ...
Tìm hiểu về cổng thanh toán GMO
Giới thiệu GMO là một cổng dịch vụ thanh toán số 1 của Nhật, Nó hỗ trợ nhiều hình thức thanh toán (credit card, multipayment như pay-easy convenience-store ...). Nó cung cấp đầy đủ các phương thức thanh toán chính của Nhật (theo như trên doc của nó Bùi Văn Nam viết 15:54 ngày 12/08/2018
ReactJs với Ruby on Rails 5 (Phần 2)
Bây giờ mình tạo 1 model event # db/migrate/20170825065530_create_events.rb class CreateEvents < ActiveRecord::Migration[5.0] def change create_table :events do |t| t.string :name t.date :event_date t.text :description t.string :place t.timestamps end ...
Net::HTTP
Một HTTP client API của Ruby Net::HTTP cung cấp một thư viện rất mạnh, nó có thể sử dụng để xây dựng các HTTP user-agent. Để biết thêm về HTTP bạn hãy xem RFC2616. Net::HTTP được thiết kế để làm việc được với URI. URI::HTTP#host, URI::HTTP#port và URI::HTTP#request_uri được thiết kế để làm việc ...
Giới thiệu về Selenium Web Driver
Những bài viết trước mình đã tìm hiểu về Selenium IDE - 1 phần trong bộ kiểm thử tự động miễn phí Selenium. Để tiếp nối quá trình tìm hiểu và học tập, mình sẽ viết các bài viết Selenium Web driver. Trước hết, mình sẽ nhắc lại sơ qua về SELENIUM. A. SELENIUM 1. Selenium là gì? Selenium là bộ ...
How to avoid memory leaks in Java
Tự quản lý bộ nhớ trong máy ảo Java (JVM) được xem là tính năng mạnh nhất của Java, và là một trong những lý do khiến các lập trình viên chọn Java thay vì chọn các nền tảng và ngôn ngữ lập trình khác. Theo lý thuyết mà các Java-er thường quảng cáo là "bạn chỉ cần viết code tạo các đối tượng - ...
Thêm thuộc tính động vào Model ActiveRecord Rails
Trong quá trình làm việc thì chắc hẳn ai trong chúng ta cũng đã gặp trường hợp không thể nắm bắt hết tất cả các thuộc tính của 1 model hoặc thuộc tính sẽ phát sinh trong quá trình xây dựng ứng dụng. Một ví dụ điển hình là hệ thống theo dõi các địa chỉ liên lạc có một model Contact bao gồm name, ...
Bootstrap Tags Input
Chào các bạn, hôm nay mình xin phép giới thiệu một jquery plugins cung cấp giao diện người dùng cho Twitter Bootstrap để quản lý các tags đó là Bootstrap Tags Input. Bài viết của mình chủ yếu là dịch từ trang chủ http://bootstrap-tagsinput.github.io/bootstrap-tagsinput/examples/, mình sẽ không ...
Game với HTML canvas
Trong bài viết này tôi sẽ hướng dẫn tạo một game đơn giản mô phỏng chuyển động với canvas và javascript Đầu tiên ta sẽ tạo file html và một vẽ ra một khung mô phỏng game bằng canvas với kích thước là 600 * 400 Tham khảo github <!DOCTYPE html> <html> <head> <meta ...
Inject mọi thứ - ViewHolder và Dagger 2 (với Multibinding và AutoFactory)
Mục đích chính của Depedency Injection pattern được implement bởi Dagger 2 là tách riêng việc khởi tạo khỏi hành vi của đối tượng. Trong thực tế, điều này có nghĩa là tất cả các lời gọi toán tử new, newInstance sẽ không được gọi ở bất kỳ nơi nào khác ngoài Modules của Dagger. Cái giá của Dagger - ...
Laravel Deep Dive
Laravel là một trong những framework php nổi tiếng nhất hiện nay. Nó hỗ trợ cho lập trình viên rất nhiều trong việc tổ chức cấu trúc cho project, xử lý truy vấn dữ liệu, xử lý các tác vụ liên quan đến queue, job,, load các package cần thiết cho project... Tuy nhiên nó cũng làm cho lập trình viên ...
Mobile App Performance Testing: Strategy, CheckList, Tools
Đối với bất kỳ ứng dụng dành cho thiết bị di động nào, hiệu suất là rất quan trọng. Nếu ứng dụng dành cho thiết bị di động của bạn không hoạt động tốt, người dùng sẽ gỡ bỏ ứng dụng của bạn để tìm ứng dụng khác hoạt động tốt hơn. Ứng dụng di động của bạn cần phải được kiểm tra kỹ lưỡng trước khi ...
Quy hoạch động - một thuật toán thần thánh
Trong bài viết này, tôi sẽ giới thiệu với các bạn một thuật toán thần thánh: quy hoạch động. Nếu bạn tham gia các cuộc thi code, bạn nhất định phải biết thuật toán này. Gần một nửa các bài thi trong các cuộc thi code cần đến quy hoạch động. Tất nhiên, có những cách khác để giải bài toán đó. ...
Zero downtime deployment for Rails with Capistrano and Unicorn
Trên Viblo cũng có khá nhiều bài viết về việc auto deploy một ứng dụng Ruby on Rails với Capistrano. Nhưng mình cũng vẫn chia sẻ bài viết này với mục đích hướng dẫn mọi người chi tiết hơn trong việc cài đặt một server từ chưa có gì cho tới khi ứng dụng của chúng ta được chạy và có khả năng deploy ...
Hướng dẫn cách mở rộng disk Linux LVM khi mở rộng ổ cứng máy ảo
Bài viết này mình sẽ hướng dẫn các bạn cách nâng cấp ổ cứng server elastic search nói riêng và ổ cứng cho server Linux sử dụng LVM nói chung. I. Các bước chuẩn bị trước khi tiến hành nâng cấp. 1.Query get tổng số lượng các object trước khi tiến hành nâng cấp disk. (ví dụ cho trường hợp get số ...
Cơ bản về API testing (P1)
Nói đơn giản, API (Application Programming Interface) là cái cầu nối giữa client và server. Client ở đây có thể là máy tính, điện thoại sử dụng hệ điều hành khác nhau và được viết bằng những ngôn ngữ khác nhau. Tương tự, server back-end cũng được viết bằng các ngôn ngữ khác nhau. Để 2 thằng này có ...
Rails 5 & Vue.js: Hết âu lo và hứng thú hơn với frontend
Khi Node xuất hiện, nó nhanh chóng trở thành một xu thế. Khi Angualar ra đời, dev sử dụng nó mọi lúc mọi nơi. Rồi sau đó đến React, Flux/Redux, nhưng vẫn không khiến "tôi" hứng thú với frontend. Lý do là mỗi khi "tôi" cố gắng tiếp cận những xu hướng mới đó, "tôi" thật sự rất đau đầu với những ...
Tính toán dung lượng ổ cứng cần cho Elasticsearch
Gần đây trong dự án của mình có phát sinh yêu cầu cần nâng cấp ổ cứng cho Cluster Elasticsearch, tuy nhiên để đưa ra con số chính xác cần tăng thêm bao nhiêu thì mình lại không thể cho ra con số cụ thể. Sau khi search google một hồi thì mình tìm thấy công thức cho vấn đề này. http://svops.com/blog/ ...







