RailRoady in rails application

Trong bài viết này, tôi sẽ chia sẽ cho mọi người những gì mà mình đã tìm hiểu về RailRoady. Có thể nói đây là một gem khá đơn giản và dễ dùng, các bạn sẽ không mất quá nhiều thời gian cho việc học cách dùng nó. Chức năng chính của RailRoady là giúp người lập trình viên có thể show quan hệ của ...

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

Use Token in advance login

Như các bạn đã biết hiện nay việc bảo mật cho chương trình cũng như website rất được các kĩ thuật viên cũng như khách hành quan tâm rất nhiều . Hôm nay mình xin chia sẻ việc sử dụng token để gia tăng tính bảo mật sử dụng trong chức năng đăng nhập của rails. Bước đầu tiên các bạn tạo bảng CSDL ...

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

Tìm hiểu về Action Cable trong Rails

I. Action cable là gì Action cable được Rails tích hợp WebSocket để hỗ trợ realtime được viết bằng Ruby . Nó cho phép ta client-side Javascript và server-side Ruby II.Config trong routes trong views III.Cấu trúc Rails chia nó ra làm 2 phần Server-side và Client-side 1. ...

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

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

6 tính năng khiến bạn phải học Javascript ES6 ngay bây giờ.

Nếu bạn là nhà một web developer, có thể bạn đã từng nghe một chút về ECMAScript 6 (ES6), mặc dù ban đầu nó có vẻ hơi khó hiểu. Đây chính là phiên bản tiếp theo của JavaScript, cung cấp các tính năng ngôn ngữ mới mà bạn có thể sử dụng lâu dài. ES6 sẽ hỗ trợ hầu hết trong các trình duyệt nổi tiếng ...

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

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

Reference Cycle for Closures

Một reference cycle xảy ra khi một đối tượng A có strong reference đến đối tượng B và ngược lại. Điều này không chỉ giữa các class với nhau mà còn giữa class và closure. Chúng ta thường thấy code với [weak self] hoặc [unowned self] xuất hiện trong closure, nhưng nó có cần thiết hay không? Liệu ...

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

Học gì để trở thành một Tester?

Trong lĩnh vực phần mềm Tester hay còn gọi là Engineer là nghề kiểm tra chất lượng phần mềm. Tester sẽ là người kiểm tra những sản phẩm (phần mềm hay ứng dụng) mà các lập trình viên đã làm ra. Nhìn chung công việc chính của tester là đảm bảo chất lượng của phần mềm, kiểm tra để phát hiện các lỗi ...

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

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

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

Khái niệm cơ bản về array và block trong ruby

A whole lot of programming deals with lists of things Hầu hết các ngôn ngữ lập trình đều có cấu trúc dữ liệu dạng mảng các các đối tượng, các số, các từ, các sản phẩm... Ruby cũng không phải ngoại lệ, Matz người viết ra ngôn ngữ ruby biết điều đón nên ông ấy đã làm việc một cách chăm chỉ để đảm ...

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

Xây dựng High Available cho MySQL Server với HAproxy và Keepalived trên Ubuntu

Mô hình lab logic : Trên thực tế, mình chỉ cần dựng 2 máy chủ, với mỗi máy được cài đặt cả 3 dịch vụ haproxy , keepalived và mysql-server. Và vì haproxy được cài đặt cùng với mysql-server nên để không xảy ra conflict thì chúng ta có 2 cách xử lý như sau : 1 - Giữ nguyên port mặc định của mysql ...

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

Kiến trúc hệ thống trên Laravel – phần 6

Các bài viết trong series Kiến trúc hệ thống trên Laravel – phần 1 : Tại sao phải áp dụng architect vào trong Laravel Kiến trúc hệ thống trên Laravel – phần 2 : OOP, Interface, Dependency Injection, IoC Kiến trúc hệ thống trên Laravel – phần 3 : Phân tích sâu vào việc sử dụng interface Kiến trúc ...

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

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

<Selenium 2 Testing Tools> Chương 5: Tìm kiếm phần tử

Ở chương này, chúng ta sẽ xem cách tìm kiếm các phần tử trên trang sử dụng WebDriver API. Một trong những thứ ta đã học ở chương trước là WebDriver, theo kiếm trúc của nó thì có 2 components chính. Cái đầu tiên là "driver". Cái này thì có commands để tìm kiếm phần tử. Ta sẽ bắt đầu tìm hiểu về các ...

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

The Fragments fragmentation problem

Way back when Honeycomb was released, Google introduced Fragments to make development for both tablets and phones a bit easier. Activities still remained the way to structure screens but now screens could have multiple fragments inside them, each with its own lifecycle. The classic example is the ...

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

【Project 007】Một số điểm quan trọng khi vận hành dự án có nhiều site

Hôm nay mình sẽ chia sẻ với mọi người một số kinh nghiệm khi làm dự án nhiều site. Hiện giờ chúng ta chủ yếu làm dự án 2 site hoặc 3 site, nhưng trong thời gian sắp tới có khả năng chúng ta phải làm các dự án 4-5 site. Trước đây mình từng có kinh nghiệm làm việc ở vị trí PMO cho 1 dự án có 5 site ...

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

15 đặc điểm của một lập trình viên giỏi

Nội dung Gần đây, trong khi lang thang trên mạng tôi đã đọc được khá nhiều tâm sự của các bạn trẻ trong việc đi phỏng vấn xin việc vào các công ty phần mềm. Có những bạn thành tích học tập khá tốt nhưng đôi khi các bạn lại không được tuyển dụng chỉ vì một số điểm trừ trong số những điều sau đây. ...

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

Mysql cơ bản trên Ubuntu (Phần II)

Link video hướng dẫn video Sau khi chọn cơ sở dữ liệu (database) để thao tác: use database_name ; Cấu trúc: CREATE TABLE IF NOT EXISTS table_name ( < column_name > < data_type > DEFAULT < default_value > [ column constraints ] , . . ...

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

Giới thiệu về gem Parallel

Parallel là một gem hỗ trợ xử lý song song của ruby. Hiện nay Ruby có 2 thư viện cơ bản Thread và Process. Tuy nhiên có rất nhiều vấn đề khi sử dụng 2 thư viện này cần phải giải quyết . Parallel là một vài thư viện có cách sử dụng khá đơn giản đặc biệt với các tác vụ như đọc và ghi dữ liệu. Sơ ...

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