Một số lệnh hữu ích trên terminal

1. Xem log realtime Thông thường ta hay dùng lệnh tail -f /var/log/nginx/access.log để xem realtime log. Nhưng ta có thể không cần dùng option -f mà dùng trực tiếp lệnh tailf /var/log/nginx/access.log cũng có chức năng tương tự. Đỡ mỏi tay hơn 1 chút </p> <div class= Tác giả: Hoàng Hải Đăng viết 15:56 ngày 12/08/2018

9 Tips để tạo một Sprint Backlog tốt

The sprint backlog là một danh sách đơn giản bao gồm các task, các task này phải được thực hiện bởi team để bàn giao các chức năng trong phần tăng trưởng vào cuối sprint đó. Sprint backlogđược thực hiện trong phần thứ hai buổi họp Sprint planning với sự tham gia của tất cả các thành viên trong ...

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

Gem counter_culture trong rails giúp việc counter cache và tính tổng giữa bảng liên kết

Giới thiệu counter_culture giúp việc counter cache trong Rails app với cải tiến nhiều hơn trên counter cache chuẩn của Rails: Cập nhật counter cache khi các giá trị thay đổi không chỉ lúc tạo và xóa Hỗ trợ counter cache thông qua các mối quan hệ bảng nhiều cấp Hỗ trợ tên cột động để có thể ...

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

Tìm hiểu gem grape-swagger.

Gem grape-swagger cung cung cấp cho ta việc tự động generate document cho Grape API , khi dùng gem này kết hợp với gem Swagger UI ta có 1 giao diện quản lý API document rất đẹp, bạn có thể xem demo ở đây: the petstore demo . Cài đặt. để cài đặt gem, ta chỉ cần them vào Gemfile: gem ...

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

Cách dùng Notification trong Android

1. Định nghĩa: Notification là một thông điệp hiển thị thông tin đến cho người dùng bên ngoài ứng dụng. Nó thường xuất hiện phía trên cùng của màn hình. Để xem chi tiết thông điệp (thông báo), bạn chỉ cần kéo thanh Notification drawer xuống. Thực tế trong các dự án phát triển app thì việc sử dụng ...

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

Android Switch Icon and Double sided seekbar

This a library that simplifies switch icons and is compatible from API 15 (Android 4.0.3).. Follow this easy tutorial to implement. Add it in your root build.gradle at the end of repositories allprojects { repositories { ... maven { url "https://jitpack.io" } ...

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

How Butterknife library works?

Trước đây khi Google chưa ra đời Data Binding Library thì thư viện Butterknife được sử dụng rộng rãi để viết code gọn hơn và nhanh hơn. Với Butterknife, chúng ta không cần phải lặp lại nhiều lần findViewById() hoặc setOnClick(), setLongClick(), ... mà chỉ cần khai báo Annotation, ví dụ Cách ...

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

CS50 - Introduction to computer science: khóa học khoa học máy tính từ Yale và Harvard

Kéo thử 20-30 reviews đầu tiên về khóa học CS50 - introduction to computer science, một điều vô cùng ngạc nhiên là không chỉ các review đều cho điểm tối đa 5*, mà 100% các reviews đều có những lời bình luận tốt đẹp về khóa học dù ngắn hay dài. Tại sao một khóa học giới thiệu căn bản lại có thể thu ...

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

Tạo ChatBot cho ChatWork với API Simsimi và Java

Đầu năm 2016, microsoft đã giới thiệu về Bot framework. Một công cụ sẽ giúp các nhà phát triển những chatbot cho riêng mình. Microsoft cho biết, trong tương lai con người sẽ nói chuyện với chatbot. Vậy chatbot là gì ? tại sao chúng ta sẽ nói chuyện với chatbot ? Không dài dòng nữa, chúng ta ...

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

Giới thiệu các thư viện Javascript hay liên quan đến ảnh

Chào các bạn, hôm nay mình sẽ viết một bài tổng hợp một số thư viện Javascript cho phép chúng ta xử lý ảnh, tạo hiệu ứng cho ảnh... 1. Sticker.js Đây là một thư viện tạo hiệu ứng nhãn dán cho hình ảnh, khi hover vào ảnh ta sẽ thấy giống như bóc một nhãn dán. Đây là thư viện độc lập không phụ ...

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

Functional Programming in Swift [Part 1]

Có rất nhiều ý kiến xung quanh việc swift có phải là Functional Programming hay không và liệu swift có thể viết theo hướng function hay không. Câu trả lời là có. Swift không hẳn là thuần hướng đối tượng, bản thân nó có thể viết theo hướng functional. Trong bài này mình sẽ làm rõ về những tính chất ...

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

PhpUnit Testing in Laravel 5.4 (P1)

Introduction Laravel được xây dựng với sự kiểm tra. Trên thực tế, hỗ trợ thử nghiệm với PHPUnit được đưa ra ngoài và tệp phpunit.xml đã được thiết lập cho ứng dụng của bạn. Khung này cũng được vận chuyển với các phương pháp trợ giúp thuận tiện cho phép bạn kiểm tra ứng dụng của mình. Một tệp ...

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

Let''s Learn Numpy

Numpy là gì? Numpy là một package chủ yếu cho việc tính toán khoa học trên Python. Vì Numpy hỗ trợ mạnh mẽ việc tính toán với matrix, vector và các các hàm đại số tuyến tính cơ bản nên nó được sử dụng nhiều trong việc implement các thuật toán Machine Learning. Khởi tạo vector và matrix Row ...

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

Tạo tree node model với ancestry - Rails

Giới thiệu Hôm nay tôi sẽ giới thiệu đến các bạn một công cụ trong Rails - giúp chúng ta dễ dàng hơn trong việc phân cấp có tính kế thừa( hoặc là cấu trúc tree) cho một single model - Ancestry. Việc phân cấp này cần thiết khi chúng ta có nhiều records cùng được định nghĩa bởi một model, mà ta ...

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

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

Phần 1: https://viblo.asia/p/laravel-tim-hieu-ve-http-requests-phan-1-XL6lAwzDKek Tài liệu: https://laravel.com/docs/5.4/requests Chúng ta sẽ cùng tiếp tục đến với phần 2: Retrieving Input **Retrieving All Input Data** Bạn có thể lấy tất cả dữ liệu input như một ```array``` bằng cách sử dụng ...

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

Khiếm khuyết và thất bại trong kiểm thử phần mềm phát sinh từ đâu và khi nào?

1. Lỗi trong đặc tả, thiết kế và thực hiện của phần mềm và hệ thống Lỗi khi sử dụng hệ thống Điều kiện môi trường Hư hỏng cố ý Hậu quả tiềm ẩn của các lỗi trước đó a. Lỗi trong đặc tả và thiết kế của phần mềm: Đặc điểm kỹ thuật cơ bản là một tài liệu bằng văn bản mô tả các khía cạnh ...

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

Tìm hiểu SmartPointer trong C++ - Phần 1

Một điều mà nó có thể nhanh chóng làm cho source code C++ của bạn trở lên phức tạp rối rắm đó chính là vấn đề về quản lý bộ nhớ. Trong quá trình lập trình, các lập trình viên sẽ mong muốn giảm thiểu tối đa các ảnh hưởng của việc quản lý bộ nhớ lên quá trình lập trình. Smart Pointers được tạo ra ...

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

Làm thế nào để làm website chạy được khi không có mạng??

Các website có nhiều nội dung tĩnh như trang blog, tin tức, tutorials, ... Các website ứng dụng không cần tương tác với remote database trên server (sử dụng database tại trình duyệt để thay thế). Hoặc chỉ đồng bộ local - remote khi có kết nối mạng Để website của chúng ta có thể chạy được ...

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

Computer vision - Image processing - Walk around part

I. Visual perception The human visual system (HVS) HVS bao gồm 2 thành phần chính: Mắt (có nhiệm vụ nhận ra cảm biến) Não (bộ xử lý) Cả 2 bộ phận trên đều được kêt nối bởi dây thần kinh thị giác. Hình ảnh được người xem biến thành thông tin như thế nào? ...

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

Mật khẩu người dùng được Devise lưu và bảo mật như thế nào.

I.Devise gem và và bcrypt Hiện nay với các ứng dụng sử dụng Framework Rails, chúng ta thường sử dụng gem devise cho module đăng kí, đăng nhập ( Devise hiện tại đang là gem được sử dụng nhiều nhất cho tính năng đăng nhập, theo thống kê năm 2016). Với module mã hóa mật khẩu người dùng và kiểm tra ...

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