Tạo file PDF dùng Laravel

Tổng quan Như tất cả chúng ta đều biết, tài liệu dưới định dạng pdf giờ khá là phổ biến. Vì sao nó lại phổ biến thì theo tôi tìm hiểu thì vì do các lý do sau: 1/ Tính phổ cập: Tức là các file pdf này dù mở ở hệ điều hành nào ta đều đọc được mà không phụ thuộc đã có font đó hay chưa. 2/ Tạo ra ...

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

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

Duyệt web với những trải nghiệm mới cùng Vimperator

Mở đầu Trong kỷ nguyên của công nghệ số như hiện nay, mọi thứ đều được người ta đưa lên nền web. Mỗi ngày, chúng ta dành nhiều giờ liền cho việc tìm kiếm thông tin, lướt qua các trang báo, chat, mạng xã hội,... Nếu bạn muốn có những trải nghiệm mới mẻ hơn trong việc duyệt web thì Vimperator ...

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

How to show/hide Toolbar when scrolling RecyclerView

Tiếp tục sau bài viết How to show/hide FloatingActionButton, hôm nay mình sẽ viết bài hướng dẫn show/hide Toolbar khi scroll RecyclerView. Mình sẽ làm project nho nhỏ để các bạn tiện theo dõi và có kết quả luôn </p> <div class= Tác giả: Bùi Văn Nam viết 15:01 ngày 12/08/2018

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

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

Canvas trong Android (Phần 1)

Giới thiệu Các đối tượng trên Android như TextView, EditText, ImageView đều được vẽ trên canvas của hệ thống Android. Vậy vẽ các các đối tượng này như thế nào thì bài viết này sẽ cùng các bạn làm rõ. Canvas là gì Canvas được xem như là một bền mặt (hình dung như tờ giấy, bảng) mà chúng ...

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

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