Skip to content

Commit

Permalink
Merge branch 'dev' into 'master'
Browse files Browse the repository at this point in the history
Refacetor chapter 1

See merge request zalopay-oss/advanced-go-book!62
  • Loading branch information
phamtai97 committed Jul 31, 2019
2 parents 92d09ca + 81e90fc commit 66bed5a
Show file tree
Hide file tree
Showing 62 changed files with 2,224 additions and 1,467 deletions.
30 changes: 18 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
# Go Language Advanced Programming (Advanced Go Programming)
# Go Language Advanced Programming

## Table of Contents
- [Go Language Advanced Programming (Advanced Go Programming)](#Go-Language-Advanced-Programming-Advanced-Go-Programming)
- [Table of Contents](#Table-of-Contents)
- [Go Language Advanced Programming](#Go-Language-Advanced-Programming)
- [Giới thiệu](#Gi%E1%BB%9Bi-thi%E1%BB%87u)
- [Tại sao chúng tôi thực hiện bộ tài liệu này ?](#T%E1%BA%A1i-sao-ch%C3%BAng-t%C3%B4i-th%E1%BB%B1c-hi%E1%BB%87n-b%E1%BB%99-t%C3%A0i-li%E1%BB%87u-n%C3%A0y)
- [Tài liệu tham khảo](#T%C3%A0i-li%E1%BB%87u-tham-kh%E1%BA%A3o)
Expand All @@ -14,21 +12,29 @@

## Giới thiệu

![X](./images/background-book/ver1.0.0.png)
<div align="center">
<img src="./images/background-book/ver1.0.0.png">
<br/>
<span align="center">
<i></i>
</span>
</div>
<br/>

Ngôn ngữ [Golang](https://golang.org/) không còn quá xa lạ trong giới lập trình nữa. Đây là một ngôn ngữ dễ học, các bạn có thể tự học Golang cơ bản ở trang [Go by Example](https://gobyexample.com/). Đa phần các tài liệu về Golang từ cơ bản hay đến nâng cao đều do các nhà lập trình viên nước ngoài biên soạn. Bộ tài liệu [Advanced Go Programming](#Go-Language-Advanced-Programming-Advanced-Go-Programming) được chúng tôi biên soạn hoàn toàn bằng Tiếng Việt. Bộ tài liệu này trình bày về những vấn đề nâng cao trong Golang như CGo, RPC framework, Web framework, distributed,.... và các ví dụ minh họa cụ thể theo các chủ đề. Chúng tôi rất mong bộ tài liệu này sẽ giúp các bạn lập trình viên có thêm những kiến thức mới và nâng cao kỹ năng lập trình của bản thân.
Ngôn ngữ [Golang](https://golang.org/) không còn quá xa lạ trong giới lập trình nữa. Đây là một ngôn ngữ dễ học, các bạn có thể tự học Golang cơ bản ở trang [Go by Example](https://gobyexample.com/). Đa phần các tài liệu về Golang từ cơ bản hay đến nâng cao đều do các nhà lập trình viên nước ngoài biên soạn. Bộ tài liệu [Advanced Go Programming](#Go-Language-Advanced-Programming-Advanced-Go-Programming) được chúng tôi biên soạn hoàn toàn bằng Tiếng Việt. Bộ tài liệu này trình bày về những vấn đề nâng cao trong Golang như CGo, RPC framework, web framework, distributed systems,.... và các ví dụ minh họa cụ thể theo các chủ đề. Chúng tôi rất mong bộ tài liệu này sẽ giúp các bạn lập trình viên có thêm những kiến thức mới và nâng cao kỹ năng lập trình của bản thân.

## Tại sao chúng tôi thực hiện bộ tài liệu này ?

Chúng tôi thực hiện bộ tài liệu nhằm:

- Tạo ra bộ tài liệu chính thống cho nội bộ team sử dụng nói riêng và toàn bộ các team Teachnical của ZaloPay nói chung.
- Public ra bên ngoài để cộng đồng Golang Việt Nam có bộ tài liệu tiếng Việt do chính người Việt Nam biên soạn.
- Đây tiền đề để mọi người biết tới Zalopay, đồng thời tạo ra sân chơi mới có cơ hội giao lưu mở rộng mối quan hệ với các bạn có cùng đam mê lập trình.
- Tạo ra bộ tài liệu về Go cho nội bộ Zalopay sử dụng.
- Đây là cơ hội để mọi người biết tới teachnical stack của Zalopay.
- Public ra bên ngoài để cộng đồng Golang Việt Nam có bộ tài liệu tiếng Việt do chính người Việt Nam biên soạn.
- Đồng thời tạo ra sân chơi mới có cơ hội giao lưu mở rộng mối quan hệ với các bạn có cùng đam mê lập trình.

## Tài liệu tham khảo

Bộ tài liệu này được chúng tôi biên soạn dựa trên tài liệu [Go Language Advanced Programming (Advanced Go Programming)](https://github.com/chai2010/advanced-go-programming-book) do nhóm tác giả Trung Quốc [chai2010](https://github.com/chai2010) phát triển.
Bộ tài liệu này được chúng tôi biên soạn dựa trên kinh nghiệm và kiến thức tích luỹ trong quá trình làm việc tại Zalopay. Đồng thời chúng tôi có tham khảo các tài liệu bên ngoài như [Advanced Go Programming](https://github.com/chai2010/advanced-go-programming-book), [Khoá học Distributed Systems của Princeton](https://www.cs.princeton.edu/courses/archive/fall18/cos418/schedule.html).

## Mục lục

Expand All @@ -54,8 +60,8 @@ Các bạn có thể đóng góp bằng cách:

Dự án này được phát triển bởi các thành viên sau đây.

| [<img src="https://avatars1.githubusercontent.com/u/38773351?s=460&v=4" width="100px;"/><br /><sub><b>AJPham</b></sub>](https://github.com/phamtai97) | [<img src="https://avatars1.githubusercontent.com/u/26034284?s=460&v=4" width="100px;"/><br /><sub><b>thinhda</b></sub>](https://github.com/thinhdanggroup) | [<img src="https://avatars3.githubusercontent.com/u/10187757?s=460&v=4" width="100px;"/><br /><sub><b>trungdv</b></sub>](https://github.com/dvt1996) | [<img src="https://avatars2.githubusercontent.com/u/23535926?s=460&v=4" width="100px;"/><br /><sub><b>Quoc Anh</b></sub>](https://github.com/quocanh1897) | [<img src="https://avatars2.githubusercontent.com/u/32214488?s=400&v=4" width="100px;"/><br /><sub><b>Nguyễn Huỳnh Thoại</b></sub>](https://github.com/thoainguyen) | [<img src="https://avatars1.githubusercontent.com/u/3270746?s=460&v=4" width="100px;"/><br /><sub><b>Anh Le (Andy)</b></sub>](https://github.com/anhldbk) |
| :---------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------: |
| [<img src="https://avatars1.githubusercontent.com/u/38773351?s=460&v=4" width="100px;"/><br /><sub><b>phamtai97</b></sub>](https://github.com/phamtai97) | [<img src="https://avatars1.githubusercontent.com/u/26034284?s=460&v=4" width="100px;"/><br /><sub><b>thinhdang</b></sub>](https://github.com/thinhdanggroup) | [<img src="https://avatars2.githubusercontent.com/u/23535926?s=460&v=4" width="100px;"/><br /><sub><b>quocanh1897</b></sub>](https://github.com/quocanh1897) | [<img src="https://avatars2.githubusercontent.com/u/32214488?s=400&v=4" width="100px;"/><br /><sub><b>thoainguyen</b></sub>](https://github.com/thoainguyen) | [<img src="https://avatars1.githubusercontent.com/u/3270746?s=460&v=4" width="100px;"/><br /><sub><b>anhldbk</b></sub>](https://github.com/anhldbk) |
| :---------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------: |

## Liên hệ

Expand Down
13 changes: 11 additions & 2 deletions ch1-basic/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,16 @@
# Chương 1 Language Foundation
# Chương 1. Language Foundation

<div align="center">
<img src="../images/ch1.png">
<br/>
<span align="center">
<i></i>
</span>
</div>
<br/>

>*Tôi không biết tại sao bạn lại không vui trong suốt 10 năm qua. Nhưng hãy tin tôi đi, xóa bỏ đi những nặng nhọc trong quá khứ, dùng ngôn ngữ Go và trải nghiệm niềm hạnh phúc bắt đầu!*
>*Những viên gạch nhỏ được đóng góp cuối cùng sẽ xây được một lâu đài kiên cố - Xiao Zhang*
Chương này bắt đầu bằng vài lời giới thiệu ngắn về lịch sử của ngôn ngữ Go và phân tích chi tiết cuộc cách mạng của chương trình "Hello World" với những thế hệ ngôn ngữ đi trước. Sau đó, một số cấu trúc dữ liệu sẽ được trình bày như `arrays`, `strings`, và `slices`, tính chất `process-oriented``duck-object programming` được thể hiện bởi `functions`, `methods`, và `interfaces`, đặc biệt là mô hình `Go concurrent programming``error handling` cũng được giới thiệu sơ qua. Cuối cùng, một số trọng tâm trong việc phát triển chương trình trên các nền tảng macOS, Windows, và Linux, cũng như một vài editor và môi trường phát triển tích hợp (IDE) cũng được đề cập, bởi vì có công cụ tốt thì năng suất làm việc mới tăng lên.
Chương này bắt đầu bằng vài lời giới thiệu về lịch sử của ngôn ngữ Go và phân tích chi tiết cuộc cách mạng của chương trình "Hello World" với những thế hệ ngôn ngữ đi trước. Sau đó, một số cấu trúc dữ liệu sẽ được trình bày như `arrays`, `strings`, và `slices`, tính chất `process-oriented``duck typing` được thể hiện qua `functions`, `methods`, và `interfaces`, đặc biệt là mô hình `concurrent programming``error handling` cũng được giới thiệu sơ qua. Cuối cùng, một số trọng tâm trong việc phát triển chương trình trên các nền tảng macOS, Windows, và Linux, cũng như một vài editor và môi trường phát triển tích hợp (IDE) cũng được đề cập, bởi vì có công cụ tốt thì năng suất làm việc mới tăng lên.
Loading

0 comments on commit 66bed5a

Please sign in to comment.