Bài viết của Trịnh Tiến Mạnh

Giới thiệu gem Awesome Nested Set - Thích hợp cho quản lý model cấu trúc cây

Cách đây 1 tháng dự án tôi đang làm có thêm chức năng lưu trữ file theo cấu trúc thư mục, do chưa có kinh nghiệm nên lúc thiết kế database tôi cũng nghĩ chắc chỉ cần parent_id là đủ. Lúc đầu thì các yêu cầu không quá khó khăn với thiết kế database như trên thì có thể giải quyết ổn cả, như với ...

Tác giả: Trịnh Tiến Mạnh viết 15:01 ngày 12/08/2018 chỉnh sửa

Tối ưu Sublime Text - Tại sao không ?

Sublime Text là một IDE do Jon Skinner tạo ra vào tháng 1 năm 2008, được viết dựa trên ngôn ngữ lập trình Python và C++ . Là phần mềm trả phí, nhưng cho phép dùng thử vô thời hạn. Hỗ trợ trên các hệ điều hành phổ biến như Windows, Mac OS và các bản phân phối của Linux như ...

Tác giả: Trịnh Tiến Mạnh viết 15:01 ngày 12/08/2018 chỉnh sửa

Truyền dữ liệu sang javascript trong Ruby on Rails

Passing dữ liệu từ Rails sang JavaScript không phải là vấn đề mới nhưng vẫn chưa có nhiều bài viết về vấn đề này. Và hôm nay tôi sẽ giới thiệu với các bạn một vài cách để passing data sang JavaScript. Có nhiều cách để pass variables từ Rails application sang JavaScript nhưng trong bài viết này tôi ...

Tác giả: Trịnh Tiến Mạnh viết 15:01 ngày 12/08/2018 chỉnh sửa

Kiểm thử tự động và các công cụ được sử dụng trong kiểm thử tự động

A. Kiểm thử tự động 1. Kiểm thử tự động là gì? Kiểm thử tự động là việc sử dụng các công cụ để thực hiện các test case. Kiểm thử tự động cũng có thể nhập dữ liệu thử nghiệm vào hệ thống kiểm thử, so sánh kết quả mong đợi với kết quả thực tế và tạo ra các báo cáo kiểm thử chi tiết. ...

Tác giả: Trịnh Tiến Mạnh viết 15:01 ngày 12/08/2018 chỉnh sửa

Truyền block vào trong Ruby mà không dùng &block

Như chúng ta biết thì có 2 cách để nhận vào block trong một hàm của Ruby. Cách đầu tiên là sử dụng từ khoá yield như sau: def hello_world puts yield end hello_world { "Hello world" } # Hello world # => nil Cách khác là chèn vào trước argument cuối của một hàm với một dấu & ...

Tác giả: Trịnh Tiến Mạnh viết 15:01 ngày 12/08/2018 chỉnh sửa

Khi backend developer: gặp nạn. Cần sử dụng thông tin từ facebook cho ứng dụng.

Vẫn là tâm sự của backend developer trong 1 lần gặp nạn. Thông tin từ facebook: là những thông tin như bạn bè, giới tính, email, ngày sinh, độ tuổi, bài viết… Rồi trong thông tin bài viết lại có thêm các thông tin như người like, comment... Sử dụng: Về việc sử dụng thì hầu như là không ...

Tác giả: Trịnh Tiến Mạnh viết 15:01 ngày 12/08/2018 chỉnh sửa

Restricted Boltzmann machine - An overview

Restricted Boltzmann machine Restricted Boltzmann machine(RBM) is an algorithm, useful for dimensionality reduction, classification, regression, collaborative filtering, feature learning and topic modeling. RBMs are probabilistic graphical models that can be interpreted as stochastic neural ...

Tác giả: Trịnh Tiến Mạnh viết 15:01 ngày 12/08/2018 chỉnh sửa

HTML Collective - Phần 1

I. Giới thiệu và hướng dẫn cài đặt HTML Collective là một package hỗ trợ cho Laravel xây dựng lên các Form HTML, để cài đặt pakage này trên Laravel, chúng ta sử dụng câu lệnh sau (dành cho những bạn sử dụng composer) : composer require "laravelcollective/html":"^5.3.0" Sau khi composer thực ...

Tác giả: Trịnh Tiến Mạnh viết 15:01 ngày 12/08/2018 chỉnh sửa

Storage and AdMod Firebase

I.Storage Get started. Cloud Storage for Firebase cho phép bạn tải lên và chia sẻ nội dung do người dùng tạo ra, ví dụ như hình ảnh và video, xây dựng nội dung đa phương tiện cho ứng dụng của mình. Dữ liệu sẽ được lưu trữ trong bộ nhớ Google Cloud Storage,có thể lưu trữ dữ liệu có dung lượng ...

Tác giả: Trịnh Tiến Mạnh viết 15:00 ngày 12/08/2018 chỉnh sửa

Nghệ thuật viết code đẹp - Phần II: Nên viết comment như thế nào?

Bài viết này là phần 2 trong series Nghệ thuật viết code đẹp, tiếp nối Nghệ thuật viết code đẹp - Phần I: Viết flow điều kiện và vòng lặp dễ hiểu. Phần này được viết với mong muốn chia sẻ về cách xác định xem trường hợp nào chúng ta nên viết comment vào source code cho hiệu quả, tránh thiếu cũng ...

Tác giả: Trịnh Tiến Mạnh viết 15:00 ngày 12/08/2018 chỉnh sửa