instance_eval, class_eval và module_eval trong Ruby

instance_eval Thêm các phương thức cho một instance hay class, module một cách "tốc hành" ("on-the-fly") là một pattern khá phổ biến trong Ruby(activerecord, activesupport, ...) Để thực hiện điều đó, chúng ta có thể dùng các phương thức BasicObject#instance_eval, Module#class_eval, ...

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

Chuyển link url trong text thành button

Trong 1 đoạn chat nhiều lúc chúng ta thường hay đính kèm theo url để gửi cho bạn bè nhưng chúng ta lại không muốn nó hiển thị trực tiếp vì thường các link đó quá dài -> Do đó mình có ý tưởng chuyển các url đó thành các button cho thân thiện. Mình đã hướng dẫn ở 1 bài viblo trước đây ...

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

System INTEGRATION Testing (SIT) - Kiểm thử tích hợp hệ thống

Kiểm thử tích hợp hệ thống là gì ? Kiểm thử tích hợp hệ thống được định nghĩa là một loại thử nghiệm được thực hiện trong môi trường đã tích hợp phần cứng và phần mềm để xác minh hành vi của hệ thống hoàn chỉnh. Đây là một thử nghiệm được tiến hành trên một hệ thống tích hợp hoàn chỉnh để đánh ...

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

Sự khác nhau giữa Issue và Risk trong quản lý dự án

1. Tổng quan Việc quản lý một dự án có thể hiểu là bạn thiết lập thời gian để hoàn thành những mục tiêu. Cho dù đó là dự án nhỏ hay lớn thì nhìn chung lại việc quản lý sẽ liên quan đến việc lập kế hoạch, tổ chức, sắp xếp và sử dụng các nguồn lực trong dự án. Quản lý dự án bao gồm những việc như ...

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

Xây dựng một Blockchain đơn giản nhất với Ruby & Rails

Hello ! Xin chào ! Ok ! Bạn đã click vào bài viết này , vậy thì có lẽ bạn - cũng giống như tôi - cũng đã ít nhất nghe về, cũng như có hứng thú với sự phát triển khủng khiếp trong thời gian gần đây của tiền ảo. Và có thể bạn cũng sẽ muốn tìm hiểu về Blockchains - một trong những công nghệ nền tảng ...

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

Tối ưu tải trang với HTTP/2 Server Push và Node.js

Từ phiên bản Node.js 8.4.0, Node.js đã đưa vào thử nghiệm HTTP/2. Tại phiên bản này chúng ta có thể bật HTTP/2 bằng cách sử dụng cờ --expose-http2 khi khởi động ứng dụng. Đến thời điểm hiện tại thì Node.js 10 đã ra đời và HTTP/2 là module mặc định, chúng ta không phải thêm cờ khi khởi động nữa. ...

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

Gọi columns, rows từ một mảng 2 chiều một các đơn giản trong Ruby với Array#transpose method

Giả sử bạn có một mảng 2 chiều với 3x3 phần tử. Thông thường khi tạo mảng 2 chiều như vậy chúng ta sẽ tạo thành 1 array với 3 phần tử, mỗi phần tử lại là 1 array với 3 phần tử. [1] pry(main)> grid = [ [1] pry(main)* [1,2,3], [1] pry(main)* [4,5,6], [1] pry(main)* [7,8,9] [1] ...

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

Testing preloading/eager-loading của ActiveRecord associations trong Rails

Là một developer quan tâm đến hiệu suất của hệ thống thì một trong những điều bạn cần lưu ý đó là loại bỏ N+1 query bằng cách sử dụng các method #includes, #preload hoặc #eager_load. Nhưng có bao giờ bạn nghĩ là làm thế nào để bạn biết bạn đã thực hiện thành công điều đó hay chưa? Có cách nào để ...

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

Kỹ thuật chuyển đổi IPv4 sang IPv6 sử dụng Công nghệ đường hầm (Tunnel)

Ở phần trước, chúng ta đã cùng nhau tìm hiểu về cấu trúc và các loại địa chỉ IPv6. Trong phần này, chúng ta sẽ cùng nhau tìm hiểu về kỹ thuật chuyển đổi IPv4 sang IPv6. Thủ tục IPv6 phát triển khi IPv4 đã được sử dụng rộng rãi, mạng lưới IPv4 Internet hoàn thiện, hoạt động dựa trên thủ tục này. ...

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

Tìm hiểu về gem Devise

Giới thiệu Devise và các Mô-đun Devise là một giải pháp xác thực cho Rails được tích hợp với Warden và được cung cấp bởi những người tuyệt vời tại Plataformatec. Devise cung cấp các mô-đun khác nhau: Xác thực Cơ sở dữ liệu: Điều này mã hóa và lưu trữ một mật khẩu vào cơ sở dữ liệu để xác nhận ...

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

Những lưu ý giúp làm việc tốt hơn với khách hàng trong một project

Cùng đồng hành trong công việc với khách hàng để hoàn thành tốt một project là việc mà dự án nào cũng có dù ít dù nhiều. Để làm tốt điều này, ngoài kiến thức chuyên môn thì các kỹ năng mềm như giao tiếp, thương lượng, đàm phán, quy trình, lãnh đạo...) đóng vai trò quan trọng không kém. Trên thực ...

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

Một vài gợi ý hữu ích để đọc code dự án trên Android Studio

Có lẽ tất cả các bạn developer ít nhất đều đã từng trải qua cảm giác này khi bắt đầu một dự án hoàn toàn mới đối với mình cùng với một bản base đã được xây dựng khá đầy đủ và hoàn chỉnh. Đó là cảm giác vô cùng bối rối (okay), đặc biệt là đối với những bạn fresher, vì vậy mục đích của bài viết này ...

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

Fabrication hay FactoryGirl nhanh hơn khi viết Rspec

Lời nói đầu Uni-test là 1 phần hết sức quen thuộc trong các dự ánh Ruby on Rails. Có khá nhiều testing framework dành cho Ruby on Rails, nhưng quen thuộc và có cú pháp đơn giản nhất phải kể đến là Rspec. Vậy Rspec là gì? ... Thì ở phạm vi bài viết này mình sẽ không đề cập đến, để tìm hiểu thêm ...

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

Hướng dẫn tạo nhắc nhở đều đặn trên chatwork.

Chào các bạn! Hôm nay mình sẽ hướng dẫn các bạn làm một công cụ tự động nhắc nhở mỗi giờ, mỗi ngày, hoặc mỗi tháng, giúp chúng ta không bị bỏ quên những việc cần làm. Như các bạn cũng biết, việc sử dụng những phần mềm nhắc việc hiện nay rất nhiều, nhưng chúng đều chỉ có thể sử dụng riêng ...

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

Laravel: Tìm hiểu về homestead (Phần 2)

Accessing Homestead Globally Đôi khi bạn muốn chạy vagrant up để khởi động máy ảo Homestead tại bất cứ đâu trong hệ thống. Bạn có thể làm điều đó trên Mac / Linux bằng cách thêm hàm Bash đơn giản vào Bash profile. Trên Windows, bạn có thể thực hiện việc này bằng cách thêm file "batch" vào PATH ...

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

Top 10 lỗi trong các website sử dụng RoR (P1)

Hôm nay mình xin giới thiệu tới các bạn bài viết khá hay đăng trên website rollbar.com (https://rollbar.com/blog/top-10-ruby-on-rails-errors/). Bài viết có thống kê 10 lỗi thường gặp nhất trên các website sử dụng Ruby on Rails và các cách khắc phục, mình lược dịch và có chỉnh sửa lại nội dung cho ...

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

MySQL Master-Slave Replication on the Same Machine

Gần đây mình có nhớ lại một vài kiến thức học từ thời đại học mà mình khá ấn tượng trong đó có công nghệ Replication của MySQL, Replication là gì thì bạn có thể tham khảo thêm ở bài viết sau cũng trên viblo Replication in MySQL.Ngày đó hồi còn đi học mình thực hành trong trường hợp Master và Slave ...

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

Tìm hiểu về Amazon Web Service (Phần 1)

I. AWS là gì Trước đó ta nên tìm hiểu về điện toán đám mây. Điện toán đám mây (Cloud computing) là mô hình điện toán sử dụng các công nghệ máy tính và phát triển dựa vào mạng Internet. Theo tổ chức IEEE "Nó là hình mẫu trong đó thông tin được lưu trữ thường trực tại các máy chủ trên Internet và ...

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

Phương pháp hiển thị Route định tuyến đường đi sử dụng DirectionsService của Google Maps

Trong bài viết lần này mình sẽ chia sẻ một phương pháp hiển thị route định tuyến tự động sử dụng dịch vụ DirectionsService của Google Maps mà mình tìm hiểu được. DirectionsService là gì ? Áp dụng Tổng kết DirectionsService là một chức năng của Google Maps cho phép tính toán các tuyến ...

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

Các thiết bị IOT kết nối internet như thế nào?

Xin chào các bạn! Hôm nay mình cùng các bạn sẽ đi tìm hiểu một chủ đề khá thú vị. Không phải là các công nghệ cao siêu dùng trong IOT. Không phải là các giao thức truyền tải, giao tiếp mạng. Và cũng chẳng phải là chuyện bao lâu thì chúng ta sẽ bị gắn chíp sinh học biến thành siêu nhân tường tận mọi ...

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