Tải bản đầy đủ (.pdf) (19 trang)

Báo cáo thực tập lập trình backend với golang

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (346.74 KB, 19 trang )

1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

BÁO CÁO THỰC TẬP

LẬP TRÌNH BACKEND VỚI GOLANG

Cơng ty thực tập:

Công ty TNHH Finan

Người phụ trách:

Anh Nguyễn Minh Hiếu

Thực tập sinh:

Phan Ngọc Quang

TP. Hồ Chí Minh, tháng 12 năm 2022

Nguyễn Minh Hiếu

Phan Ngọc Quang


2

LỜI MỞ ĐẦU


Ngày nay, ngành công nghiệp phần mềm đã và đang là một trong những ngành nghề có
sức phát triển vô cùng mạnh mẽ, chiếm tỉ trọng lớn trong nền kinh tế tồn cầu và khơng hề có
đấu hiệu chậm lại. Nhu cầu thị trường cho một sản phẩm phần mềm hiện nay là cao hơn bao giờ
hết. Đứng trước đà phát triển này, cùng với nhu cầu vô cùng lớn, đã có nhiều cơng ty ra đời
nhằm đáp ứng thị trường.
Một trong những cơng ty đó là Finan. Đây là một cơng ty start up với mục đích là giúp
các tiểu thương vừa và nhỏ có thể kinh doanh một cách hiệu quả.
Sau ba năm học tập trên trường, do mong muốn có thêm kinh nghiệm thực tế, cũng như
muốn được tham gia làm việc trong một môi trường chuyên nghiệp, em có dự định là sẽ thực
tập trong kỳ hè này. Sau khi đi phỏng vấn ở nhiều cơng ty thì em quyết định chọn cơng ty Finan
- một môi trường lý tưởng, hiện đại, chuyên nghiệp - là nơi sẽ giúp em thực hiện được dự định
này.

Nguyễn Minh Hiếu

Phan Ngọc Quang


3

LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn Công ty Finan đã tạo điều kiện cho em có cơ hội được thực tập
tại công ty.
Chỉ trong một thời gian ngắn, nhưng nhờ sự chỉ dẫn nhiệt tình của các anh chị trong
nhóm trainer, nhóm thực tập chúng em đã tiếp thu được những kiến thức quan trọng để có thể
xây dựng những tính năng cho ứng dụng thực tế. Chân thành cảm ơn các anh chị trong nhóm
trainer đã bỏ ra nhiều thời gian,công sức để hướng dẫn chúng em hoàn thành đợt thực tập này.
Đặc biệt cảm ơn anh Nguyễn Minh Hiếu đã training Golang, hướng dẫn, giúp đỡ cho
chúng em tận tình cả những khó khăn trong cơng việc, đến những khó khăn việc làm quen với
mơi trường mới, ngồi ra anh cịn giúp chúng em hiểu cơng dụng, cách hoạt động của các công

nghệ đang được sử dụng trong ứng dụng của công ty; cảm ơn anh Lê Bá Sáng, đã giúp đỡ, hỗ
trợ chúng em rất nhiều về các vấn đề truy vấn SQL, giúp em có thể cải thiện được kỹ năng cũng
như mức hiệu quả của những câu truy vấn, ngồi ra anh cịn hỗ trợ chúng em trong việc hiểu rõ
nghiệp vụ cũ cũng như là định hướng hướng đi tối ưu nhất, hiệu quả nhất;
Cũng xin cảm ơn thầy cô trong khoa Cơng nghệ phần mềm đã nhiệt tình hỗ trợ, tạo điều
kiện em làm bài báo cáo này.
Phan Ngọc Quang
TP.HCM, ngày 10 tháng 12 năm 2022

Nguyễn Minh Hiếu

Phan Ngọc Quang


4

NHẬN XÉT CỦA KHOA

...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................

...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................

Nguyễn Minh Hiếu

Phan Ngọc Quang


5

MỤC LỤC
Chương 1: Giới thiêu công ty thực tập ............................................................................... 1
1. Giới thiệu công ty Finan.............................................................................................. 1
2. Sản phẩm của công ty ................................................................................................. 1
Chương 2: Nội dung thực tập ............................................................................................. 3
1. Tìm hiểu cơng ty và các kỹ năng cơ bản trong công ty .............................................. 3
2. Nghiên cứu kỹ thuật .................................................................................................... 3
2.1. Các cơng cụ làm việc............................................................................................ 3
2.2. Tìm hiểu ngơn ngữ Go ......................................................................................... 4
2.3. Tìm hiểu ngơn ngữ Go nâng cao .......................................................................... 4
3. Thực hiện project ........................................................................................................ 6
4. Lịch làm việc ............................................................................................................... 7
Chương 3: Chi tiết về project.............................................................................................. 9
1. Tổng quan.................................................................................................................... 9
2. Lộ trình ........................................................................................................................ 9
2.1. Tìm hiểu nghiệp vụ và fix bug đơn giản .............................................................. 9

2.2. Tính năng báo cáo với sản phẩm bán kèm ........................................................... 9
2.3. Tính năng hoàn trả đơn hang (làm cùng 1 anh trong team) ............................... 10
2.4. Convert API từ service cũ .................................................................................. 10
2.5. Cải tiến lại tính năng sổ nợ, thu chi .................................................................... 11
2.6. Nâng cấp danh mục của kho............................................................................... 11
2.7. Tính năng báo cáo dành cho web ....................................................................... 11

Nguyễn Minh Hiếu

Phan Ngọc Quang


1

Chương 1: Giới thiêu công ty thực tập

1. Giới thiệu công ty Finan
Finan là một công ty khởi nghiệp công nghệ có trụ sở tại Singapore tập trung vào việc
cung cấp cho các doanh nghiệp nhỏ và vi mô phát triển mạnh về các công nghệ kỹ thuật số và
tạo ra tác động bền vững cho cộng đồng.
Công ty Finan đã tạo ra các ứng dụng Sobanhang để giúp các doanh nghiệp nhỏ và vi mô
xây dựng các cửa hàng trực tuyến, bán cho nhiều khách hàng hơn và quản lý dịng tiền dễ dàng
trên điện thoại thơng minh.
Cơng ty được thành lập bởi các giám đốc điều hành hàng đầu có kinh nghiệm từ các
cơng ty khởi nghiệp hàng đầu thị trường bao gồm Lazada, Topica, Onemountgroup, Datamart
và được hỗ trợ bởi các nhà đầu tư hàng đầu, công ty mong muốn cung cấp cho 1 triệu doanh
nghiệp phục vụ thị trường 100 triệu khách hàng và tạo ra doanh thu 100 tỷ USD vào năm 2025.

2. Sản phẩm của công ty
Sổ Bán Hàng được biết đến là một ứng dụng quản lý bán hàng hiệu quả. Ứng dụng hiện

đang được hơn 300,000 nhà bán hàng tin dùng tại Việt Nam. Được ra mắt vào thời kỳ đỉnh điểm
của dịch Covid-19, Sổ Bán Hàng cung cấp giải pháp giúp bán hàng online, quản lý bán hàng
toàn diện chỉ trên một ứng dụng di động. Ứng dụng còn giúp các chủ cửa hàng thúc đẩy hoạt
động kinh doanh và gia tăng doanh thu bán hàng.
Hơn một năm ra mắt, Sổ Bán Hàng trở thành ứng dụng quản lý bán hàng phổ biến nhất
Việt Nam, với hơn 35,000 người dùng mới mỗi tháng.

Nguyễn Minh Hiếu

Phan Ngọc Quang


2
-

Cung cấp website bán hàng miễn phí

Khơng cần bỏ ra chi phí đắt đỏ, khơng cần mua hay mất phí duy trì tên miền, có ngay
website online chun nghiệp, dễ dàng cài đặt trong 2 phút, giúp tiếp cận thêm x5 lần khách
hàng. Người bán hàng có thể tạo ngay cửa hàng online trên ứng dụng. Hoàn toàn chủ động giới
thiệu cửa hàng của mình, tạo các chương trình khuyến mại cho khách hàng thân thiết qua SMS,
Zalo, tin nhắn Facebook...
-

Quản lý tất cả trên điện thoại, không cần đầu tư thiết bị.

Hoạt động như một máy bán hàng POS ngay trên điện thoại, Sổ Bán Hàng giúp các chủ
cửa hàng dễ dàng tạo và in hoá đơn bán lẻ với thiết bị không dây, quản lý sổ sách thu chi, quản
lý đơn hàng, khách hàng, hàng tồn kho, in hố đơn, xem báo cáo thu chi, lãi lỗ thơng minh trong
lòng bàn tay.

-

Bán hàng dễ - Tiền về nhanh - Khơng lo thiếu vốn

Nhận thanh tốn thẻ, chuyển khoản, thu COD, VietQR Pro,... tiền về tài khoản ngay lập
tức tăng tỷ lệ chốt đơn lên trên 50% trong thời đại mới. Dễ dàng ghi lại các khoản thu chi.
Ngoài ra, người bán hàng có thể xem được lãi lỗ hàng ngày, tháng khơng lo thất thốt.
-

Tích hợp bán hàng đa kênh và giao vận với đơn giá cực ưu đãi.

Hỗ trợ bán hàng đa nền tảng như Shopee, Meta,... Shop cần giao hàng? Sổ Bán Hàng có
ngay tích hợp đơn vị vận chuyển cùng bảng giá ưu đãi và nhiều chương trình hấp dẫn.
-

Dịch vụ tài chính:

Tiếp cận các dịch vụ tài chính một cách đơn giản và dễ dàng nhất từ các đối tác chiến
lược HDBank, UOB..
Sổ Bán Hàng vinh dự nhận được hàng loạt giải thưởng lớn và nằm trong Top 10 startup
từ các tổ chức hàng đầu thế giới như Google, SKSF, Techfest,... Và trở thành đối tác chiến lược
của các tổ chức tài chính hàng đầu như: MasterCard, MBB, HDBank, UOB..

Nguyễn Minh Hiếu

Phan Ngọc Quang


3


Chương 2: Nội dung thực tập
Đợt thực tập với chủ đề “Lập trình Backend với Golang” nhằm mục đích giúp sinh viên
thực tập được đào tạo toàn diện về lập trình Golang, đồng thời rèn luyện những kỹ năng mềm
như làm việc nhóm, thuyết trình, giao tiếp, quy trình làm việc thực tế. Tại cơng ty, sinh viên có
cơ hội được học tập, khám phá và làm việc trong một mơi trường chun nghiệp.

1. Tìm hiểu cơng ty và các kỹ năng cơ bản trong công ty
Thời gian: 1 ngày
Nội dung: Giới thiệu về công ty, cách tổ chức của công ty
Được nghe người phụ trách giới thiệu về công ty, quá trình thành lập và phát triên (như
đã nhắc đến ở trên), quy trình làm việc từ cao xuống thấp, cách thức tổ chức của cơng ty .
Ngồi ra, thực tập sinh còn được giới thiệu về cách thức làm việc trong công ty như thời
gian đi làm, các quy định cần phải tuân thủ, cách sử dụng email trong công việc, giới thiệu các
phần mềm hỗ trợ làm việc, …
Kết quả:
Hiểu thêm về cơng ty SoBanHang, q trình thành lập và phát triển. Có thêm các kỹ
năng về việc làm việc nhóm với quy mơ lớn, làm việc có kế hoạch, có kỷ luật, có trách nhiệm
hơn.

2. Nghiên cứu kỹ thuật
2.1. Các công cụ làm việc
Thời gian: 0.5 ngày
Nội dung: Tìm hiểu về các cơng cụ sẽ được sử dụng trong quá trình làm việc.
Trong thời gian này, supervisor đã hướng dẫn thực tập sinh tìm hiểu về các cơng
cụ sẽ giúp ích cho trong cơng việc sau này. Một số phần mềm trong số đó như Lark- sử
dụng trong hầu hết tất cả hoạt động của công việc như: trao đổi thông tin, đọc/viết
document, điểm danh, …; DBeaver – sử dụng để thao tác với cơ sở dữ liệu;
Thực hiện:
Thực hành sử dụng các phần mềm đã nêu trên.


Nguyễn Minh Hiếu

Phan Ngọc Quang


4
Kết quả:
Lập trình sử dụng các cơng cụ miễn phí, giúp dễ dàng kết hợp các công cụ với nhau.
2.2. Tìm hiểu ngơn ngữ Go
Thời gian: 7 ngày
Nội dung: Tìm hiểu Go cơ bản, và hiểu được cú pháp của ngôn ngữ Go
-

Các syntax, concept về kiểu dữ liệu, câu lệnh điều khiển (if else, for, while,…), slice,
map, struct, interface, hàm.

-

Các kiến thức về error handling, compiling, module,…

-

Gorountine, concurrency trong Go.

-

Làm quen, phát triển ứng dụng RESTful web service API với Go và Gin web
framework.

-


Đọc hiểu template source code của cơng ty.

Thực hiện:
-

Tự tìm hiểu và trao đổi với thành viên trong team thực tập và người phụ trách.

-

Làm các bài thực hành, kiểm tra về kiến thức đã học.

Kết quả:
-

Nắm được các cú pháp của ngôn ngữ Go.

-

Vận dụng vào các bài tốn.

-

Hiểu được template của cơng ty.

-

Ngồi ra cịn biết được cái quy tắc viết code của cơng ty.

2.3. Tìm hiểu ngơn ngữ Go nâng cao

Thời gian: 15 ngày
Nội dung:
Tìm hiểu cơng nghệ được sử dụng trong hệ thống kết hợp với Go và thực hành demo
-

Docker
Docker là một nền tảng cho developers và sysadmin để develop, deploy và run

application với container. Nó cho phép tạo các mơi trường độc lập và tách biệt để khởi
chạy và phát triển ứng dụng và môi trường này được gọi là container. Khi cần deploy lên

Nguyễn Minh Hiếu

Phan Ngọc Quang


5
bất kỳ server nào chỉ cần run container của Docker thì application của bạn sẽ được khởi
chạy ngay lập tức
-

Swagger
Swagger là một bộ công cụ mã nguồn mở để xây dựng OpenAPI specifications giúp

chúng ta có thể thiết kế, xây dựng tài liệu và sử dụng REST APIs.
Swagger cung cấp 3 tools chính:
▪ Swagger-Editor: dùng để design lên các APIs hồn tồn mới hoặc edit lại
các APIs có sẵn thơng qua 1 file config.
▪ Swagger-Codegen: dùng để generate ra code từ các file config có sẵn
▪ Swagger-UI: dùng để generate ra file HTML, CSS,… từ 1 file config

-

PostgreSQL
PostgreSQL được phát triển bởi PostgreSQL Global Development Group, có thể chạy

được trên nhiều nền tảng khác nhau như Mac OS X, Solaris và Windows. PostgreSQL là
một phần mềm mã nguồn mở miễn phí bởi vậy PostgreSQL có thể được dùng, sửa đổi và
phổ biến bởi bất kỳ ai cho bất kỳ mục đích nào.
PostgreSQL có tính ổn định cao. PostgreSQL là hệ thống quản lý cơ sở dữ liệu
đầu tiên triển khai tính năng kiểm sốt đồng thời nhiều phiên bản (MVCC).
Một số các tính năng nổi bật:
▪ Câu truy vấn phức hợp (complex query)
▪ Các kiểu dữ liệu: nguyên hàm (số nguyên, số, chuỗi, boolean), cấu trúc
(Date/Time, Array, UUID), document (JSON/JSONB, XML, Key-value),…
▪ Toàn vẹn dữ liệu: UNIQUE, NOT NULL, Primary Keys, Foreign Keys, Ràng
buộc loại trừ, Indexing,…
▪ Chức năng bảo mật: hỗ trợ xây dựng hàng rào bảo mật, xác thực mạnh.
▪ Khả năng mở rộng: thực hiện mở rộng hệ thống qua các phức thức lưu trữ, kết nối
cơ sở dữ liệu.
▪ Chức năng tìm kiếm văn bản: tìm kiếm văn bản đầy đủ, hệ thống hóa ký tự theo
cách khoa học.
-

Caching với Redis

Nguyễn Minh Hiếu

Phan Ngọc Quang



6
Redis là cơ sở dữ liệu mang phong cách NoSQL, lưu trữ dữ liệu với dạng KEYVALUE với nhiều tính năng được sử dụng rộng rãi. Nó có thể hỗ trợ nhiều kiểu dữ liệu
như: strings, hashes, lists, sets, sorted. Đồng thời có thể cho phép scripting bằng ngơn
ngữ Lua.
-

Elasticsearch và Kibana
Elasticsearch là một search engine, được kế thừa từ Lucene Apache, thực chất hoặt

động như 1 web server, có khả năng tìm kiếm nhanh chóng (near realtime) thơng qua
giao thức RESTful. Elasticsearch có khả năng phân tích và thống kê dữ liệu.
Elasticsearch là 1 hệ thống phân tán và có khả năng mở rộng tuyệt vời (horizontal
scalability). Lắp thêm node cho nó là nó tự động auto mở rộng cho bạn. Elasticsearch là
1 open source được phát triển bằng Java.
Kibana là một nền tảng phân tích hiển thị dữ liệu từ Elasticsearch một cách trực quan
dễ sử dụng,Kibana cũng là một cơng cụ mã nguồn mở miễn phí, cho tất cả mọi người sử
dụng. Kibana cung cấp các tính năng cho người dùng quản lý như biểu đồ cột, biểu đồ
đường, biểu đồ tròn, biểu đồ nhiệt và nhiều loại chart khác nữa.
-

Message queue
Message queue là hàng đợi chứa message, cho phép các thành phần/service trong một

hệ thống (hoặc nhiều hệ thống), trao đổi thông tin cho nhau. Message queue giao tiếp
không đồng bộ, xử lý tuần tự theo cơ chế FIFO - First In First Out
Thực hiện :
-

Tự tìm hiểu và trao đổi với thành viên trong team thực tập và người phụ trách.


-

Hoàn thành các demo sử dụng được các công nghệ trên theo yêu cầu.

Kết quả :
-

Hiểu được lý thuyết của các công nghệ và biết được nó áp dụng ở đâu khi nào.

-

Biết cách thực thi các công nghệ trong một project cụ thể.

3. Thực hiện project
Sau một tháng được training và thực hành, thực tập sinh đã nắm được những kiến thực
cơ bản về Go, cũng như là các công nghệ áp dụng trong hệ thống của công ty, và hiểu được cơ
bản luồng hoạt động của code. Thì chúng em được đưa vào làm dự án thực tế, cụ thể là
Nguyễn Minh Hiếu

Phan Ngọc Quang


7
SoBanHang (ứng dụng đã được giới thiệu ở trên). Chi tiết nội dụng em làm sẽ được nói ở phần
sau.

4. Lịch làm việc
Tuần

Cơng việc


Người hướng dẫn

Mức độ
hồn thành

Tìm hiểu về công ty, cách tổ chức
của công ty.
Làm quen với các công cụ làm
1-2

việc trong công ty.
Học cách trao đổi, làm việc giữa

Anh Nguyễn Minh Hiếu

100%

các team.
Tìm hiểu và thực hành trên ngơn
ngữ Go.
Tìm hiểu về các cơng nghệ và kỹ
thuật công ty đang áp dụng vào dự
2- 4

án

Anh Nguyễn Minh Hiếu

100%


Áp dụng để làm demo cho từng
cơng nghệ
Bắt đầu tìm hiểu nghiệp vụ của
5

ứng dụng SoBanHang
Fix những lỗi nhỏ để quen với

Anh Nguyễn Minh Hiếu

100%

cách làm việc trong dự án thực tế.
6

7

8

Làm tính năng báo cáo với sản
phẩm bán kèm
Làm tính năng hồn trả đơn hàng
cùng với anh Vũ Cơng Thành
Convert API từ service cũ sang
service mới (dùng thư viện mới)

Nguyễn Minh Hiếu

Anh Nguyễn Minh Hiếu,

anh Lê Bá Sáng
Anh Nguyễn Minh Hiếu,
anh Vũ Công Thành
Anh Lê Bá Sáng

100%

100%

100%

Phan Ngọc Quang


8
Anh Nguyễn Minh Hiếu,

9

Cải tiến lại tính năng sổ nợ, thu chi

10

Nâng cấp danh mục của kho

Anh Lê Bá Sáng

100%

Tính năng báo cáo dành cho web


Anh Lê Bá Sáng

100%

11-12

Nguyễn Minh Hiếu

anh Lê Bá Sáng

100%

Phan Ngọc Quang


9

Chương 3: Chi tiết về project
1. Tổng quan
Sau 1 tháng tìm hiểu ngơn ngữ Go, văn hóa, cách làm việc của cơng ty thì chúng em
được anh Nguyễn Minh Hiếu tạo điều kiện để tham gia phát triển sản phẩm của cơng ty
(SoBanHang). Vì vấn đề bảo mật của cơng ty nên các thông tin chi tiết về dự án em khơng chỉ
ra ở đây.

2. Lộ trình
2.1. Tìm hiểu nghiệp vụ và fix bug đơn giản
Thời gian: 1 tuần
Nội dung:
-


Tìm hiểu những nghiệp vụ cơ bản của ứng dụng bao gồm: đơn hàng, người dung,
sổ nợ, cửa hàng, ...

-

Tìm hiểu database: nhiệm vụ và chi tiết mỗi bảng

-

Fix những bugs đơn giản để làm quen với hệ thống

Thực hiện:
-

Đọc tài liệu kết hợp hỏi các anh trong công ty

-

Đọc source code và fix bug

Kết quả:
-

Hiểu được nghiệp vụ cơ bản và cách hoạt động trong hệ thống.

-

Làm quen với quy trình làm việc trong một dự án thực tế


2.2. Tính năng báo cáo với sản phẩm bán kèm
Thời gian: 1 tuần
Nội dung: Khi có sản phẩm bán kèm thì các con số như doanh thu, lợi nhuận sẽ bị ảnh
hưởng và danh sách sản phẩm (có bao gồm sản phẩm bán kèm)
-

Viết API trả ra danh sách sản phẩm có bao gồm sản phẩm bán kèm

-

Sửa API cũ khi có sản phẩm bán kèm

Thực hiện:

Nguyễn Minh Hiếu

Phan Ngọc Quang


10
-

Tìm hiểu SQL nâng cao, cách làm sao cho câu query tối ưu nhất

-

Viết truy vấn cho những API báo cáo

-


Viết API hồn chỉnh

Kết quả:
-

Hồn thành những API đó và được đưa lên cho người đùng sử dụng

-

Nâng cao khả năng viết truy vấn

2.3. Tính năng hồn trả đơn hang (làm cùng 1 anh trong team)
Thời gian: 1 tuần
Nội dung:
-

Đọc hiểu nghiệp vụ của tính năng

-

Viết API phần báo cáo, và chỉnh sửa những API cũ liên quan đến nghiệp vụ trả
hàng.

Thực hiện:
-

Trao đổi với các bên liên quan và người phụ trách để đưa ra phương án giải quyết.

-


Đọc code cũ và tiến hành chỉnh sửa.

Kết quả:
-

Hoàn thành chỉnh sửa các API được giao.

-

Học đọc cách đọc hiểu code của người khác và cải tiến code.

2.4. Convert API từ service cũ
Thời gian: 1 tuần
Nội dung:
-

Thực hiện convert lại những api cũ (dùn gokit) ở service cũ sang service mới
(dung gorm)

Thực hiện:
-

Đọc code cũ và tìm hiểu nghiệp vụ

-

Tiến hành convert

Kết quả:
-


Hiểu thêm những nghiệp vụ của sản phẩm

-

Các api mới đã chạy thành công và đúng nghiệp vụ

Nguyễn Minh Hiếu

Phan Ngọc Quang


11
2.5. Cải tiến lại tính năng sổ nợ, thu chi
Thời gian: 1 tuần
Nội dung:
-

Viết api phục vụ cho tính năng sổ nợ, thu chi

Thực hiện:
-

Đọc hiểu nghiệp vụ và trao đổi phương án thực hiện với leader

-

Tiến hành viết api

-


Thực hiện sửa lỗi cho tính năng

Kết quả:
-

Hồn thành tính năng 100% và được đưa lên cho người dùng sử dụng

-

Sử dụng message queue để trao đổi giữa các service trong hệ thống.

2.6. Nâng cấp danh mục của kho
Thời gian: 1 tuần
Nội dung:
-

Migrate data và chỉnh sửa các api liên quan (thay đổi danh mục và chức năng cửa
từng danh mục)

Thực hiện:
-

Lên danh sách những luồng liên quan đến danh mục kho

-

Trao đổi phương án giải quyết với người phụ trách

-


Tiến hành thay đổi

Kết quả:
-

Hoàn thành việc nâng cấp danh mục

-

Rèn được tính cẩn thận và khả năng bao quát được hết các trường hợp liên quan

2.7. Tính năng báo cáo dành cho web
Thời gian: 2 tuần
Nội dung:
-

Trao đổi với các bên liên quan để nắm rõ yêu cầu

-

Tái sử dụng code cũ và viết api mới

-

Viết tài liệu cho Web team

Nguyễn Minh Hiếu

Phan Ngọc Quang



12
Thực hiện:
-

Chủ động trao đổi với các bên liên quan

-

Trao đổi với người phụ trách để tìm giải pháp tối ưu nhất

-

Đọc code để có thể tái sử dụng

-

Viết api mới

Kết quả:
-

Về mặt cá nhân đã hoàn thành nội dung được giao nhưng thời gian thực tập đã hết
nên tính năng vẫn chưa hồn thiện do Web team cịn đang trong quá trình thực
hiện

-

Khả năng truy vấn tăng


-

Khả năng chia nhỏ vấn đề

Nguyễn Minh Hiếu

Phan Ngọc Quang


13
TÀI LIỆU THAM KHẢO
[1] T. V. Tung, “Triển khai Cluster RabbitMQ - High Availability,” [Trực tuyến]. Available:
a/p/tutorial-trien-khai-cluster-rabbitmq-high-availability-GrLZDa7Elk0.
[2] N. Đ. Trường, “Tìm hiểu Tokenizers phổ biến trong Elasticsearch,” [Trực tuyến].
Available:

a/p/tim-hieu-tokenizers-pho-bien-trong-elasticsearch-

GrLZDbke5k0.
[3] N.

Đ.

Trường,

“Custom

Analyzer


Elasticsearch,”

[Trực

tuyến].

Available:

a/p/custom-analyzer-elasticsearch-Ljy5VxwzZra.
[4] Simplilearn, “Kafka vs RabbitMQ: What Are the Biggest Differences and Which Should
You Learn?,” [Trực tuyến]. Available: />[5] N.

Saika,

“Writing

worker

queues,

in

Go,”

[Trực

tuyến].

Available:


/>[6] M. Okoko, “Using Elasticsearch, Logstash, and Kibana with Go applications,” [Trực
tuyến].

Available:

/>
with-go-applications/.
[7] N. Nguyen, “Những khái niệm cơ bản trong Elasticsearch,” [Trực tuyến]. Available:
a/p/phan-1-nhung-khai-niem-co-ban-trong-elasticsearch-V3m5WzzglO7.
[8] M. Monmen, “Caching đại pháp 1: Nấc thang lên level của developer,” [Trực tuyến].
Available:

a/p/caching-dai-phap-1-nac-thang-len-level-cua-developer-

V3m5WdO8KO7.
[9] MINHPHONG306, “[Golang] Tìm hiểu về worker pool,” [Trực tuyến]. Available:
/>[10] F.

Mendes,

“Using

Redis

Pub/Sub

with

Golang,”


[Trực

tuyến].

Available:

/>
Nguyễn Minh Hiếu

Phan Ngọc Quang


14
[11] L. X. Duy, “[Elasticsearch] Phân tích và tìm kiếm dữ liệu tiếng Việt,” [Trực tuyến].
Available:

a/p/elasticsearch-phan-tich-va-tim-kiem-du-lieu-tieng-viet-

3P0lPveoKox.
[12] M. Castilho, “Handling 1 Million Requests per Minute with Go,” [Trực tuyến]. Available:
/>[13] D. Bui, “Message-driven programming với Message broker và Apache Kafka,” [Trực
tuyến].

Available:

a/p/001-message-driven-programming-voi-message-

broker-va-apache-kafka-gDVK2OE0ZLj.
[14] P. Bolmér, “Redis as a Pub/Sub Engine in Go,” [Trực tuyến]. Available:
/>[15] BaoTrung, “Tích hợp Elasticsearch và Kibana vào Docker-Compose,” [Trực tuyến].

Available:

a/p/tich-hop-elasticsearch-va-kibana-vao-docker-compose-

Az45bymqlxY.
[16] Bamboo,

“Docker:

Chưa

biết



đến

biết

dùng,”

[Trực

tuyến].

Available:

a/p/docker-chua-biet-gi-den-biet-dung-phan-1-lich-su-ByEZkWrEZQ0.

Nguyễn Minh Hiếu


Phan Ngọc Quang



×