Tác giả: T.P.H

Golang module và cách sử dụng

Golang module và cách sử dụng

Kể từ phiên bản 1.11 chức năng go module đã được hỗ trợ. Go module là cách thức dependency management mới nhất và quan trọng mà go sẽ sử dụng cho tất cả phiên bản sau này. Mọi người nên biết và migrate sang để sử dụng go module thay vì dùng go path như cũ. Trong bài này, mình sẽ giới thiệu go module và cách sử dụng nó. 1. Mục tiêu Khi kết thúc bài Bạn sẽ hiểu rõ về go module Bạn có thể tự build 1 go package sử dụng go module 2. Yêu cầu ... »

Free gpu để train model machine learning với paperspace gradient

Free gpu để train model machine learning với paperspace gradient

Công cụ free để train model machine learning phổ biến nhất hiện nay chính là Google Colab. Tuy nhiên, với những người hay dùng linux và jupyter, mình thấy colab xài không được tự do lắm, chưa kể hạn chế lớn nhất của colab chính là tính liên tục của free gpu. Hôm nay, mình sẽ giới thiệu với các bạn một công cụ thay thế mà mình tình cờ biết từ reddit, đó chính là paperspace gradient 1. Hạn chế của google colab Google colab rất tiện trong việc share code và cùng edit code. Tuy nhiên, vì là ... »

Xử lý logging trong Golang

Xử lý logging trong Golang

Log là thành phần không thể thiếu trong mỗi ứng dụng. Có log ta mới biết ứng dụng đã và đang hoạt động thế nào, trạng thái ra làm sao, để từ đó ta có thể debug dễ dàng khi xảy ra lỗi. Trong khi các ngôn ngữ thông dịch cùng các framework đi kèm xử lý logging rất khỏe như PHP-Laravel, Ruby-Rails,... việc xử lý logging trong golang khá rườm rà và mất thời gian để người mới vận dụng nó. Bài viết sau đây sẽ mô tả cách xử lý logging phổ biến trong Golang đi cùng với ... »

React Hook và các hook thông dụng

React Hook và các hook thông dụng

Hook là chức năng được thêm mới từ phiên bản React 16.8. Với hook, chúng ta có thể quản lý state của component mà không cần đến class cho dài dòng. Nói không ngoa, class component implement được chức năng gì thì function component dùng hook implement được chức năng đó. 1. Một số lưu ý về hook: Hoàn toàn tự nguyện: Bạn có thể chọn dùng hook với các component mới mà không cần phải viết lại hay sửa lại các component cũ. Hoàn toàn tương thích ngược: Hook implement lại các chứng năng của class theo một ... »

Container Design Pattern cho hệ thống phân tán: Ambassador [Kỳ 2]

Container Design Pattern cho hệ thống phân tán: Ambassador [Kỳ 2]

Ở kỳ trước, mình đã giới thiệu về sidecar pattern , là pattern dùng một container gắn vào một container hiện có để củng cố chức năng. Ở kỳ này, mình sẽ giới thiệu về ambassador pattern, nơi mà dùng dùng một ambassador container như một phần trung gian giúp tương tác giữa container ứng dụng và phần còn lại của thế giới internet. 1. Ambassador pattern là gì Như các single-node pattern khác, ambassador pattern cũng gồm 2 container được liên kết chặt chẽ với nhau như là một cặp container cộng sinh, và chúng cùng được schedule trên cùng ... »

Headless Browser và kiểm thử với Headless Chrome

Headless Browser và kiểm thử với Headless Chrome

Hẳn chúng ta khi muốn thực hiện các tác vụ trên trang web như crawling data, automatic testing, automatic action, ... nếu dùng các tool thông thường thì sẽ gặp vấn đề về ajax, javascript,... từ đó không thể thực hiện hành động như mong muốn được. Headless browser ra đời để giải quyết vấn đề này. Bài viết này sẽ trình bày tổng quan cho bạn về Headless browser và ứng dụng phổ biến của nó là phục vụ automatic testing sử dụng Headless Chrome. 1. Headless Browser là gì Headless browser có vẻ là một cái tên kỳ quặc ... »

Tạo todo list app đơn giản với gRPC golang

Tạo todo list app đơn giản với gRPC golang

Hẳn chúng ta ai cũng quen làm việc với các REST API. Tuy nhiên, trong môi trường microservice, việc sử dụng REST API để giao tiếp giữa các service sẽ gây ra độ trễ đáng kể. gRPC ra đời để giải quyết vấn đề này. Trong blog này mình sẽ trình bày nội dung cơ bản liên quan đến gRPC và làm một todo list app demo để chúng ta biết cách sử dụng gRPC trong thực tế nhé. 1. gRPC là gì gRPC là một RPC platform được phát triển bởi Google nhằm tối ưu hoá và tăng tốc ... »

Container Design Pattern cho hệ thống phân tán: Sidecar pattern [Kỳ 1]

Container Design Pattern cho hệ thống phân tán: Sidecar pattern [Kỳ 1]

Cũng giống trong thập niên 80 của thế kỉ trước, lập trình hướng đối tượng đã cách mạng hóa cách phát triển phần mềm, khi đó một ứng dụng được tạo bởi rất nhiều thành phần module khác nhau. Hiện nay, chúng ta cũng chứng kiến sự thay đổi tương tự cho việc tạo dựng các hệ thống phân tán, kéo theo sự phổ biến của kiến trúc micro service được tạo bởi nhiều thành phần container khác nhau. Cũng giống như design pattern của các ngôn ngữ lập trình, tạo dựng và sắp xếp các container cho hệ thống ... »