Tác giả: T.P.H

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

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

Ở kỳ trước, mình đã 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. Kỳ này mình sẽ giới thiệu tiếp về Adapter pattern, đây là pattern phù hợp khi chúng ta muốn giữ cho việc giao tiếp giữa các container được nhất quán. 1. Adapter pattern là gì Giống như bạn củ sạc iphone - cũng được gọi là adapter, chuyển dòng điện 220V xoay chiều nhà bạn sang 5V 1 chiều thì mới sạc được. ... »

Top 3 lỗi thông dụng ở solidity smart contract

Top 3 lỗi thông dụng ở solidity smart contract

Với sự bùng nổ của công nghệ blockchain nói riêng và ethereum nói riêng trong hơn 2 năm gần đây, ngày càng nhiều smart contract được deploy lên các nền tảng chạy EVM (máy ảo thực thi của ethereum và một số hệ khác như bsc, avax, ... đang sử dụng). Security là vấn đề tiên quyết của smart contract. Rất nhiều vụ hack smart contract đã xảy ra và hàng triệu đôla bị rơi vào tay hacker. Sau đây là 3 lỗi mình nghĩ là thông dụng nhất ở solidity smart contract, biết được những lỗi thông dụng giúp chúng ... »

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 ... »