Side Story – Nâng cao kĩ năng code Go bằng cách code lại các phần mềm nổi tiếng

Giới thiệu Cách học nhanh nhất chính là vừa làm vừa học. Nếu các bạn đang không biết phải làm gì để nâng cao kĩ năng và kiến thức về ngôn ngữ Golang, thì trong bài này mình sẽ giới thiệu cho các bạn một số tài liệu mà hướng dẫn cho ta cách tự

Giới thiệu

Cách học nhanh nhất chính là vừa làm vừa học. Nếu các bạn đang không biết phải làm gì để nâng cao kĩ năng và kiến thức về ngôn ngữ Golang, thì trong bài này mình sẽ giới thiệu cho các bạn một số tài liệu mà hướng dẫn cho ta cách tự viết lại các phần mền nổi tiếng bằng Golang.

image.png

Những bài hướng dẫn này mình lấy từ github repo https://github.com/codecrafters-io/build-your-own-x, đây là một github repo rất nổi tiếng và rất hữu ích cho cộng đồng.

Build BitTorrent Client

BitTorrent là một phần mền rất nổi tiếng phục vụ cho công việc file sharing. Đây là bài hướng dẫn giúp ta tự viết một phần mền BitTorrent của riêng mình sử dụng ngôn ngữ Golang.

Building a BitTorrent client from the ground up in Go

image.png

Build Blockchain/Cryptocurrency

Blockchain chắc không còn gì xa lạ nếu chúng ta học IT, đây là một chủ để rất hot trong những năm gần đây. Và vì blockchain mà developer nhảy qua hết đi code blockchain, để lại hậu quả là mảng khác quá thiếu dev :))). Đây là bài loạt bài hướng dẫn về cách xây dựng blockchain bằng Go.

Building Blockchain in Go

image.png

Build Command-Line Tool

Tiếp theo là những bài hướng dẫn ta xây dựng các công cụ CLI, khi viết các công cụ CLI ta sẽ hiểu rõ hơn phần nào về hệ thống. Dưới đây là bốn bài hướng dẫn ta xây dựng bốn công cụ CLI khác nhau.

Visualize your local git contributions with Go

Build a command line app with Go: lolcat

Building a cli command with Go: cowsay

Go CLI tutorial: fortune clone

image.png

Build Container

Bài hướng dẫn về cách tự viết Container Runtime bằng Go là bài hay nhất mà mình đã đọc, trong bài này tác giả sẽ giải thích cho ta cách Container làm việc như thế nào, nó có những gì và làm sao dùng Golang để xây dựng nên những thứ đó, bài này cực hay. Đây đúng là bài viết mà sẽ giúp bạn phần nào trở nên hiểu rõ hơn về ngôn ngữ Golang và cách làm việc của Linux OS. Thank Julian Friedman and Liz Rice.

Build Your Own Container Using Less than 100 Lines of Go

Building a container from scratch in Go – Video

image.png

Build Game

Các bạn có bao giờ nghĩ rằng Golang có thể dùng để viết Game chưa? Nếu chưa thì bài này sẽ hướng dẫn các bạn.

Games With Go – Video

image.png

Build Neural Network

Nếu bạn làm AI thì chắc chắn phải biết Neural Network (mình thì không biết nhé 😂), thông thường ta sẽ viết bằng Python, nếu các bạn muốn thử thách bản thân mình thì hãy thử xây dựng một AI Model bằng Go nhé, mình thì chưa đủ trình 🤣.

Build a multilayer perceptron with Golang

How to build a simple artificial neural network with Go

Building a Neural Net from Scratch in Go

image.png

Build Shell

Shell giải thích đơn giản nhất là một Interface để user thao tác với OS thông qua command line. Bài này sẽ chỉ bạn tự viết một Shell Interface bằng Go, sau khi đọc xong bạn sẽ hiểu rõ hơn về cách OS làm việc.

Writing a simple shell in Go

Build Load Balancer

Load Balancer chắc không còn xa lạ với các bạn làm về hệ thống, Load Balancer sẽ giúp ta chia tải request về các server khác nhau. Tự viết Load Balancer sẽ giúp bạn nắm rõ hơn rất nhiều các kiến thức về hệ thống. Đây là bài hướng dẫn ta tự xây dựng Load Balancer bằng Go.

Let’s Create a Simple Load Balancer

image.png

Kết luận

Trong bài này mình chỉ muốn giới thiệu tới các bạn những resource hữu ích cho việc học và cải thiện kĩ năng của mình, rất nhiều bài ở trên mình cũng chưa đọc tới 😁. Ngoài Go ra thì ở trong github repo mình giới thiệu ở trên còn rất nhiều bài hay khác viết bằng các ngôn ngữ khác nhau, các bạn hãy vào xem nhé, rất hữu ích cho anh em mình. Nếu có thắc mắc hoặc cần giải thích rõ thêm chỗ nào thì các bạn có thể hỏi dưới phần comment.

Mục tìm kiếm đồng đội

Hiện tại thì công ty bên mình, là Hoàng Phúc International, với hơn 30 năm kinh nghiệm trong lĩnh vực thời trang. Và sở hữu trang thương mại điện tử về thời trang lớn nhất Việt Nam. Team công nghệ của HPI đang tìm kiếm đồng đội cho các vị trí như:

Với mục tiêu trong vòng 5 năm tới về mảng công nghệ là:

  • Sẽ có trang web nằm trong top 10 trang web nhanh nhất VN với 20 triệu lượt truy cập mỗi tháng.
  • 5 triệu loyal customers và có hơn 10 triệu transactions mỗi năm.

Team đang xây dựng một hệ thống rất lớn với rất nhiều vấn đề cần giải quyết, và sẽ có rất nhiều bài toán thú vị cho các bạn. Nếu các bạn có hứng thú trong việc xây dựng một hệ thống lớn, linh hoạt, dễ dàng mở rộng, và performance cao với kiến trúc microservices thì hãy tham gia với tụi mình.

Nếu các bạn quan tâm hãy gửi CV ở trong trang tuyển dụng của Hoàng Phúc International hoặc qua email của mình nha [email protected]. Cảm ơn các bạn đã đọc.

Nguồn: viblo.asia

Bài viết liên quan

WebP là gì? Hướng dẫn cách để chuyển hình ảnh jpg, png qua webp

WebP là gì? WebP là một định dạng ảnh hiện đại, được phát triển bởi Google

Điểm khác biệt giữa IPv4 và IPv6 là gì?

IPv4 và IPv6 là hai phiên bản của hệ thống địa chỉ Giao thức Internet (IP). IP l

Check nameservers của tên miền xem website trỏ đúng chưa

Tìm hiểu cách check nameservers của tên miền để xác định tên miền đó đang dùn

Mình đang dùng Google Domains để check tên miền hàng ngày

Từ khi thông báo dịch vụ Google Domains bỏ mác Beta, mình mới để ý và bắt đầ