Error 503 - Nguyên nhân và cách xử lý (Phần 1)

Bài viết được dịch từ https://www.cpi.ad.jp/column/column01/ Chào các bạn. Tôi là Matsuo – Web rider của team Web Marketing ở Kyoto. tôi sẽ đưa ra những “bí kíp” để thu hút khách hàng tới trang Web dưới con mắt của một Marketer, trong đó tập trung vào những tip để chọn Rental server ...

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

React Cách điều hướng hiển thị trên view

Trong React mỗi component sẽ trả về một view, Sự kết hợp của các component tạo thành giao diện của web. Khi số lượng các component nhiều thì các hiển thị các component trở nên khó kiểm soát. Cần tạo ra 1 cơ chế quản lý hiển thị các component hiệu quả và rõ ràng. Ví dụ: khi có 3 compoennt : A, ...

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

Phần 6: Policy cho user trong PrivacyIDEA

Phần 6: Policy cho user Phần 1 : Cài đặt PrivacyIDEA server Phần 2: Login ubuntu sử dụng OTP token key. Phần 3: Quản lý tập trung ssh-key bằng privacyIDEA. Phần 4: Basic Authen Apache sử dụng OTP token key. Phần 5: Sử dụng OTP PrivacyIDEA cho Freeradius. Phần 6: Policy cho user ...

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

Có nên dùng tails -f để đọc file log?

Less +F Trước đây mỗi khi cần theo dõi log trên server tôi thường dùng command: $ tail -f <tên file> và tôi tin chắc rằng cũng không ít người làm như tôi. Chuyện sẽ không có gì đáng nói cho đến một lần tôi sử dụng tail -f để theo dõi log production và admin của server khuyến cáo tôi ...

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

UX Review - Viblo.asia có perfect?

Yep, tôi dự định sẽ có một loạt bài chuyên mục review các điểm có vấn đề về UX/UI cần xem xét cải tiến của các sản phẩm nổi tiếng/được dùng nhiều để mọi người cùng ném đá chơi. Và khởi đầu không gì tốt hơn là review chính sản phẩm tôi đang sử dụng để chém cùng các bạn, trang viblo.asia này. Quan ...

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

Phần 3: Quản lý tập trung ssh-key bằng privacyIDEA.

Phần 3: Quản lý tập trung ssh-key bằng privacyIDEA. Phần 1 : Cài đặt PrivacyIDEA server Phần 2: Login ubuntu sử dụng OTP token key. Phần 3: Quản lý tập trung ssh-key bằng privacyIDEA. Phần 4: Basic Authen Apache sử dụng OTP token key. Phần 5: Sử dụng OTP PrivacyIDEA cho Freeradius. ...

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

Authorizing your Rails app with Authority and Rolify

Bài viết này mình xin giới tiệu 1 cách phân quyền mới mạnh mẽ và có thể sử dụng linh hoạt bằng cách sử dụng : Devise: Cung cấp chứng thực(authentication): cho phép người dùng đăng kí và đăng nhập, để bạn biết họ là ai. Rolify: Giúp bạn chỉ định vai trò ...

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

Waterfall vs Agile vs Scrum - Part 1: Agile là gì?

Trong công ty phần mềm, việc quản lý dự án đóng vai trò then chốt. Và một trong các bước đầu tiên khi bắt đầu dự án là xác định phương thức quản lý dự án. Đến đây, chúng ta sẽ nghe nhiều về các phương thức như: Waterfall, Agile, Scrum, Spiral, Kanban,... Với mỗi loại sẽ có những điểm mạnh, điểm yếu ...

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

Web developer extension for Chrome

1. Giới thiệu Là một lập trình viên web chuyên nghiệp chắc hẳn không ai là chưa từng sử dụng bất kì một extension trên trình duyệt nào để hỗ trợ cho việc code tốt hơn. Hôm nay tôi xin giới thiệu tới các bạn một extension trên trình duyệt chrome dành riêng cho các web developer. đó chính là web ...

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

Tạo infinite scroll với laravel 5.3 và jscroll

Infinite Scroll là hiệu ứng tải các bài viết kế tiếp bằng kỹ thuật AJAX sau khi cuộn trang tới một vị trí nào đó, chẳng hạn như kéo tới chân trang nó sẽ hiển thị các bài tiếp theo mà không cần bấm sang trang tiếp. Hôm nay mình sẽ hướng dẫn các bạn tạo một project sử dụng hiệu ứng này. 1. Tạo ...

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

Cơ bản về Web Workers

Introduction JavaScript là một môi trường đơn luồng (single-threaded environment), có thể hiểu đơn giản là tại một thời điểm nhất định chỉ có một script được thực thi. Trong thời gian gần đây, việc sử dụng JavaScript trong việc xây dựng các ứng dụng web trở nên phổ biến hơn bao giờ hết, các ...

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

Phần 5: Sử dụng OTP PrivacyIDEA cho Freeradius.

Phần 5: Sử dụng OTP PrivacyIDEA cho Freeradius. Phần 1 : Cài đặt PrivacyIDEA server Phần 2: Login ubuntu sử dụng OTP token key. Phần 3: Quản lý tập trung ssh-key bằng privacyIDEA. Phần 4: Basic Authen Apache sử dụng OTP token key. Phần 5: Sử dụng OTP PrivacyIDEA cho Freeradius. ...

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

Tối ưu hóa hình ảnh trong Ruby

Tối ưu hóa hình ảnh (Image optimization) là một khoa học liên quan đến việc giảm kích thước của 1 hình ảnh trong khi vẫn duy trì được chất lượng hình ảnh đó với sự trợ giúp của các kỹ thuật cũng như các thuật toán khác nhau. Trong bài nayfm chúng ta sẽ xem xét làm thế nào để thực hiện và cài đặt ...

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

Khi nào Cần tự động hóa và Tại sao?

Trong bất kỳ vòng đời của dự án nào, mục tiêu của chúng ta là nên tự động hóa tất cả các hoạt động được lặp lại trong suốt quá trình phát triển và bảo trì hệ thống. Việc áp dụng Ruthless automation chính là apt để tự động hóa các nhiệm vụ như vậy. Trong một dự án, thường vì deadline chặt hoặc ...

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

Giới thiệu về UI Testing trong iOS

UITesting là gì? UI testing là một phương thức test thông qua giao diện người dùng (User Interface). Khái niệm này không có gì xa lạ cả, chúng ta vẫn thường xuyên thực hiện UI Testing một cách thủ công, bằng cách chạy app và dùng tay nhấn vào các đối tượng như buttong, textfield, tableview,... ...

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

Nghệ thuật viết code đẹp - Phần IV: Sử dụng biến một cách hợp lý

Hôm nay mình xin được giới thiệu tới các bạn phần 4 của series Nghệ thuật viết code đẹp với tựa đề Sử dụng biến một cách hợp lý. Link 3 phần trước các bạn có thể tham khảo ở đây: 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 Nghệ thuật viết code đẹp - Phần II: Nên ...

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

Từng bước build một ứng dụng React-Redux

Redux là một công cụ tuyệt vời để build 1 ứng dụng React. Và có hàng tấn ví dụ về nó trên internet. Nhưng chắc bạn cũng thấy - 1 ứng dụng React-Redux có quá nhiều thành phần như: “Reducers”, “Actions”, “Action Creators”, “State”, “Middleware&rdq ...

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

form_with trong Rails 5.1

Sắp tới form_for và form_tag sẽ được thay thế bởi form_with. Bài viết này tôi sẽ giải thích sự khác nhau giữa chúng thông qua các ví dụ 1. Một syntax cho tất cả Trước đây khi chúng ta muốn tạo ra 1 form mà không muốn sử dụng 1 model nào cho nó thường chúng ta sử dụng form_tag. <%= form_tag ...

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

Sử dụng gem cocoon tạo nested field trong Rails

Nếu là một lập trình viên làm việc với Rails chắc các bạn không cảm thấy xa lạ gì với thuật ngữ nested attribute, trong các dự án thực tế việc sử dụng tính năng này của Rails cũng khá phổ biến. Trong bài viết này, mình sẽ giới thiệu đến các bạn 1 gem khá phổ biến và quen thuôc dùng để tạo nested ...

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

OpenSSL in Ruby

OpenSSL là một tiện ích nguồn mở dùng để mã hoá dữ liệu. là một thư viện rất quan trọng trong nghành công nghệ bảo mật. Cung cấp cho ta rất nhiều các module hữu ích sử dụng để mã hóa (Encrypt) và giải mã (Decrypt). Trong đó có module Cipher của thư viện openssl được cung cấp mặc định trong Ruby. ...

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