báo cáo thực tập lập trình viên backend

24 0 0
Tài liệu đã được kiểm tra trùng lặp
báo cáo thực tập lập trình viên backend

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Cách mạng công nghiệp 4.0 không chỉ là về sựchuyển đổi số mà còn về sự thay đổi toàn diện về cách chúng ta tương tác, làm việcvà tiếp cận thông tin.Vào vai một Golang backend developer,

Trang 1

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

BÁO CÁO THỰC TẬPLẬP TRÌNH VIÊN BACKEND

Công ty thực tập: Công ty cổ phần giảipháp thanh toán ViệtNam - VNPAY

Người phụ trách: Nguyễn Cao Ngọc Long

Trang 2

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

LỜI MỞ ĐẦU

Trong thời đại hiện nay, sức mạnh của công nghệ đã lan tỏa và thấm nhuầnvào mọi khía cạnh của cuộc sống Cách mạng công nghiệp 4.0 không chỉ là về sựchuyển đổi số mà còn về sự thay đổi toàn diện về cách chúng ta tương tác, làm việcvà tiếp cận thông tin.

Vào vai một Golang backend developer, tôi tin rằng việc xây dựng hệ thống cơsở dữ liệu và các ứng dụng web không chỉ là việc triển khai mã nguồn, mà còn là việctạo ra những nền tảng mạnh mẽ hỗ trợ cho các ứng dụng tiên tiến và dễ dàng mởrộng trong tương lai.

Thách thức không chỉ đến từ việc tạo ra những trang web đẹp mắt và thu hút,mà còn từ việc đảm bảo rằng những sản phẩm này hoạt động một cách hiệu quả, antoàn và linh hoạt trong môi trường số ngày càng phức tạp.

Khi bước vào VNPAY - một môi trường mà tôi tin tưởng là nơi để thể hiện sựsáng tạo và kỹ năng của mình - tôi đặt ra mục tiêu là không chỉ hoàn thành công việcmà còn đem đến giá trị đích thực cho cả dự án và cộng đồng công nghệ.

Với niềm đam mê, kiên trì và sự hứng khởi, tôi sẵn lòng học hỏi và chinh phụcnhững thách thức mới, với hy vọng rằng mỗi ngày sẽ là một cơ hội để làm tốt hơn vàđặt dấu ấn riêng trong lĩnh vực công nghệ.

Trân trọng, Lâm Phú Sỹ

LỜI CẢM ƠN

Em xin trân trọng gửi lời cảm ơn Nguyễn Cao Ngọc Long và Nguyễn Hữu Hoàng Hiếu

Trang 3

đã tạo điều kiện cho em cơ hội được thực tập tại công ty Dù trong thời gian ngắnnhưng nhờ sự chỉ dẫn nhiệt tình của anh, em đã tiếp thu những kiến thức quan trọngđể có thể tham gia một dự án thực tế

Chân thành cảm ơn các anh chị trong team đã bỏ ra nhiều thời gian, công sức đểhướng dẫn, hướng dẫn, giúp đỡ em tận tình trong khi làm quen môi trường mới cũngnhư trong việc tiếp cận kiến thức công nghệ, kỹ năng lập trình và tư duy sản phẩm đểcó thể thực hiện tốt dự án cá nhân và dự án thực tế trong thời gian qua

Em 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áo cáo này

TP HCM, ngày 31 tháng 12 năm2023

Trang 5

MỤC LỤCLỜI MỞ ĐẦU

LỜI CẢM ƠN

MỤC LỤC

CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP

1.1 Giới thiệu VNPAY

1.2 Sản phẩm công ty

1.3 Lịch làm việc khi thực tập tại công ty

CHƯƠNG 2: NỘI DUNG THỰC TẬP

2.1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty

2.2 Nghiên cứu kỹ thuật

Trang 6

CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP

1.1 Giới thiệu VNPAY

Hình 1.1 Logo VNPAYTên gọi

Tên gọi "VNPAY" là viết tắt của "Công ty Cổ phần Giải pháp Thanh toán Việt Nam" Tên gọi này thể hiện rõ mục tiêu của công ty là cung cấp các giải pháp thanh toán hiện đại, tiện lợi, an toàn cho người dân Việt Nam.

Tên gọi "VNPAY" được đánh giá là ngắn gọn, dễ nhớ, dễ đọc, dễ phát âm, phù hợp với thị trường Việt Nam Tên gọi này cũng thể hiện được bản sắc Việt Nam, thể hiện sự tự hào của người Việt Nam về các sản phẩm, dịch vụ thanh toán điện tử do Việt Nam phát triển.

Lịch sử hình thành

VNPAY được thành lập vào ngày 08 tháng 07 năm 2014 bởi 5 ngân hàng hàng đầu

Trang 7

Việt Nam gồm: VietinBank, Vietcombank, BIDV, Agribank và MBBank Công ty có trụ sở chính tại thành phố Hồ Chí Minh.

Sự ra đời của VNPAY là một bước ngoặt quan trọng trong lĩnh vực thanh toán điện tửtại Việt Nam VNPAY là công ty Fintech đầu tiên tại Việt Nam được thành lập bởi các ngân hàng Sự thành lập của VNPAY đã góp phần thúc đẩy thanh toán không dùng tiền mặt tại Việt Nam.

Trong những năm đầu thành lập, VNPAY tập trung phát triển các sản phẩm thanh toán trực tuyến, thanh toán di động Đến năm 2017, VNPAY bắt đầu triển khai giải pháp thanh toán bằng mã QR Đây là giải pháp thanh toán nhanh chóng, tiện lợi và được người dân Việt Nam đón nhận tích cực.

Năm 2020, VNPAY đạt mốc 100 triệu người dùng Đây là cột mốc quan trọng đánh dấu sự phát triển vượt bậc của VNPAY trong lĩnh vực thanh toán điện tử tại Việt Nam.

Quy mô

VNPAY hiện là công ty Fintech hàng đầu Việt Nam trong lĩnh vực thanh toán điện tử Công ty có mạng lưới đối tác rộng khắp, bao gồm các ngân hàng, doanh nghiệp, cửa hàng,

Theo số liệu thống kê của VNPAY, tính đến tháng 12 năm 2023, công ty có hơn 100 triệu người dùng, hơn 300 ngân hàng và tổ chức tài chính tham gia liên kết, hơn 150.000 điểm chấp nhận thanh toán trên toàn quốc.

VNPAY cung cấp đa dạng các sản phẩm, dịch vụ thanh toán điện tử, bao gồm:● Thanh toán trực tuyến: thanh toán hóa đơn, mua sắm online, đặt vé, ● Thanh toán di động: thanh toán bằng mã QR, thanh toán bằng ví điện tử

Trang 8

● Năm 2019, VNPAY đạt mốc 50 triệu người dùng, trở thành công ty Fintech đầutiên tại Việt Nam đạt mốc này.

● Năm 2020, VNPAY đạt mốc 100 triệu người dùng, trở thành công ty Fintech đầu tiên tại Việt Nam đạt mốc này.

● Năm 2021, VNPAY đạt mốc 150 triệu giao dịch, trở thành công ty Fintech đầu tiên tại Việt Nam đạt mốc này.

Nhận định

VNPAY là một trong những công ty Fintech hàng đầu tại Việt Nam Với sự phát triển vượt bậc trong những năm qua, VNPAY đã góp phần thúc đẩy thanh toán không dùng tiền mặt tại Việt Nam.

Trong thời gian tới, VNPAY tiếp tục nỗ lực phát triển các sản phẩm, dịch vụ thanh toán điện tử hiện đại, tiện lợi, an toàn, góp phần nâng cao chất lượng cuộc sống của người dân Việt Nam.

1.2 Sản phẩm công ty

Dưới đây là một số sản phẩm, dịch vụ nổi bật của VNPAY:

● Ví điện tử VNPAY: Ví điện tử VNPAY là một trong những ví điện tử phổ biến nhất tại Việt Nam Ví điện tử VNPAY cho phép người dùng nạp tiền, chuyển tiền, thanh toán hóa đơn, mua sắm online, một cách nhanh chóng, tiện lợi.

Trang 9

● VNPAY-QR: Thanh toán bằng mã QR là một giải pháp thanh toán hiện đại, tiện lợi được nhiều người dùng lựa chọn Với giải pháp này, khách hàng chỉcần quét mã QR để thanh toán tại các cửa hàng, siêu thị,

Trang 10

● VNPAY-POS: VNPAY-POS là giải pháp thanh toán và quản lý bán hàng cho doanh nghiệp Giải pháp này giúp doanh nghiệp tiếp nhận thanh toán từ khách hàng một cách nhanh chóng, tiện lợi, đồng thời giúp doanh nghiệp quản lý bán hàng hiệu quả.

Các sản phẩm, dịch vụ của VNPAY đã góp phần thúc đẩy thanh toán không dùngtiền mặt tại Việt Nam VNPAY đã và đang nỗ lực không ngừng để phát triển cácsản phẩm, dịch vụ thanh toán điện tử hiện đại, tiện lợi, an toàn, góp phần nângcao chất lượng cuộc sống của người dân Việt Nam.

Trang 11

1.3 Lịch làm việc khi thực tập tại công ty

Khoảng thời gian thực tập 02/07/2023-10/9/2023

Thời gian làm việc trong ngày Công việc hằng ngày bắt đầu từ lúc 8h30đến 17h30

Thời gian nghỉ trưa Thời gian nghỉ trưa khoảng 1 tiếng từ 12h tới 13h

Thời gian báo cáo Sau mỗi ngày cuối tuần sẽ báo cáo tiến độ công việc với anh hướng dẫn.Để giải quyết hay trao đổi về dự án

họp để lên kế hoạch cho tuần tiếp theo Tổng kết công việc và phân công nhiệm vụ.

dẫn sẽ tổng kết trao đổi những vấn đề gặp phải và xem lại những nhiệm vụ trong tuần.

Trang 12

CHƯƠNG 2: NỘI DUNG THỰC TẬP

2.1 Tìm hiểu công ty và các kỹ năng cơ bản trong công tyTìm hiểu công ty và các kỹ năng cơ bản trong công tyMục tiêu:

● Giúp thực tập sinh hiểu rõ về công ty, cách tổ chức và hoạt động của công ty.

● Trang bị cho thực tập sinh các kỹ năng cơ bản cần thiết để làm việc trong công ty.

Nội dung:

● Giới thiệu tổng quan về công ty: lịch sử hình thành, tầm nhìn, sứ mệnh, giá trị cốt lõi, lĩnh vực hoạt động, sản phẩm/dịch vụ, ● Giới thiệu về cách tổ chức của công ty: cơ cấu tổ chức, các phòng

ban, chức năng nhiệm vụ của từng phòng ban,

● Giới thiệu về văn hóa làm việc của công ty: thời gian làm việc, các quy định, cách sử dụng email trong công việc,

Kết quả:

● Hiểu rõ về công ty, cách tổ chức và hoạt động của công ty.

● Có thêm các kỹ năng cơ bản cần thiết để làm việc trong công ty, bao gồm:○ Kỹ năng sử dụng email trong công việc.

○ Kỹ năng làm việc có kế hoạch, có kỷ luật, có trách nhiệm.Bổ sung:

● Nội dung có thể được điều chỉnh linh hoạt tùy thuộc vào đặc thù của từng

Trang 13

công ty.

● Ngoài ra, thực tập sinh có thể được tham gia các hoạt động khác như:○ Tham quan các phòng ban, bộ phận trong công ty.

○ Gặp gỡ, giao lưu với các nhân viên trong công ty.

○ Tham gia các buổi đào tạo, tập huấn về các kỹ năng chuyên môn.Với những nội dung bổ sung này, thực tập sinh sẽ có cơ hội hiểu rõ hơn về côngty, đồng thời được trang bị thêm các kỹ năng cần thiết để bắt đầu công việc mộtcách hiệu quả.

2.2 Nghiên cứu kỹ thuật

Protobuf là một ngôn ngữ định dạng dữ liệu nhị phân được sử dụng để trao đổidữ liệu giữa các ứng dụng GRPC là một giao thức liên lạc giữa các ứng dụng sửdụng Protobuf.

Trang 14

Protobuf sử dụng định dạng dữ liệu nhị phân để trao đổi dữ liệu giữa các ứngdụng Định dạng dữ liệu này có thể được nén và giải nén nhanh chóng, giúp tănghiệu suất giao tiếp.

Protobuf sử dụng cấu trúc dữ liệu được định nghĩa trước để mô tả dữ liệu đượctrao đổi Cấu trúc dữ liệu này bao gồm các trường dữ liệu, kiểu dữ liệu và thứ tựcủa các trường.

Để sử dụng Protobuf, các ứng dụng cần tạo các mô hình dữ liệu bằng cách sửdụng định nghĩa cấu trúc dữ liệu của Protobuf Các mô hình dữ liệu này sau đóđược sử dụng để mã hóa và giải mã dữ liệu.

Trang 15

GRPC là một giao thức liên lạc giữa các ứng dụng sử dụng Protobuf GRPC sửdụng HTTP/2 để truyền dữ liệu.

GRPC sử dụng các khái niệm như "gọi thủ tục từ xa" (RPC) và "tiểu trình" (stub) đểthực hiện giao tiếp giữa các ứng dụng.

Một ứng dụng muốn gọi một phương thức của ứng dụng khác sử dụng GRPC sẽtạo một đối tượng "stub" cho ứng dụng đó Đối tượng "stub" này sẽ đóng vai trònhư một đại diện cho ứng dụng khác.

Trang 16

Để gọi một phương thức của ứng dụng khác, ứng dụng sẽ gọi phương thức tươngứng của đối tượng "stub" Phương thức này sẽ gửi một yêu cầu RPC đến ứngdụng khác.

Ứng dụng nhận được yêu cầu RPC sẽ xử lý yêu cầu và trả về kết quả Kết quả nàysẽ được gửi trở lại ứng dụng gửi yêu cầu.

Điểm khác biệt so với REST và JSON

Protobuf và GRPC khác với REST và JSON ở một số điểm sau:

Tính năng Protobuf vàGRPC

REST vàJSONĐịnh dạng

dữ liệu

Dữ liệu nhịphân

Dữ liệuvăn bản

Kiểu giaotiếp

bìnhKhả năng mở

Trang 17

Ứng dụng của Protobuf và GRPC

Protobuf và GRPC được sử dụng trong nhiều lĩnh vực, bao gồm:

● Telecommunication: Protobuf và GRPC được sử dụng trong các hệ thống viễn thông để trao đổi dữ liệu giữa các thiết bị.

● Cloud computing: Protobuf và GRPC được sử dụng trong các dịch vụ đám mây để trao đổi dữ liệu giữa các ứng dụng.

● Real-time applications: Protobuf và GRPC được sử dụng trong các ứng dụng thời gian thực để trao đổi dữ liệu giữa các ứng dụng.

Kết luận

Protobuf và GRPC là hai công nghệ hiệu quả để trao đổi dữ liệu giữa các ứngdụng Protobuf sử dụng định dạng dữ liệu nhị phân để tăng hiệu suất, trong khiGRPC sử dụng giao thức HTTP/2 để tăng hiệu suất và khả năng mở rộng.

Trang 18

2.3 Thực hiện dự án cá nhân2.3.1 Công nghệ

● Protobuf: ngôn ngữ định dạng dữ liệu nhị phân

● GRPC: giao thức liên lạc giữa các ứng dụng sử dụng Protobuf2.3.2 Mô tả dự án

Dự án cá nhân của tôi là viết các API mô tả sự giao tiếp bằng GRPC và protobuf Dự án này được thực hiện trong vòng 1 tuần.

Mục tiêu của dự án là:Hiểu rõ về Protobuf và GRPC

Học cách sử dụng Protobuf và GRPC để viết các API2.3.3 Kết quả

Dự án đã được hoàn thành tốt Tôi đã hiểu rõ về Protobuf và GRPC, cũng như cách sử dụng chúng để viết các API.

Quá trình thực hiện dự án được chia thành các bước sau:1 Nghiên cứu về Protobuf và GRPC

2 Thiết kế các API3 Lập trình các API4 Kiểm tra các API

Trong quá trình nghiên cứu, tôi đã tìm hiểu về các khái niệm cơ bản của Protobufvà GRPC, bao gồm:

Trang 19

● Định dạng dữ liệu nhị phân của Protobuf● Giao thức HTTP/2 của GRPC

● Các khái niệm "gọi thủ tục từ xa" (RPC) và "tiểu trình" (stub) của GRPC

Sau khi nghiên cứu, tôi đã thiết kế các API của dự án Các API này mô tả các thaotác cơ bản như tạo, đọc, cập nhật và xóa dữ liệu.

Sau đó, tôi đã lập trình các API bằng ngôn ngữ Go Trong quá trình lập trình, tôiđã sử dụng các thư viện Protobuf và GRPC của Go.

Cuối cùng, tôi đã kiểm tra các API bằng cách sử dụng các công cụ như Postman.

Dưới đây là một số bài học kinh nghiệm mà tôi đã rút ra được từ dự án này:● Protobuf và GRPC là hai công nghệ hiệu quả để trao đổi dữ liệu giữa các

ứng dụng.

● Protobuf sử dụng định dạng dữ liệu nhị phân để tăng hiệu suất, trong khi GRPC sử dụng giao thức HTTP/2 để tăng hiệu suất và khả năng mở rộng.● Việc sử dụng Protobuf và GRPC giúp việc trao đổi dữ liệu giữa các ứng

dụng trở nên đơn giản và hiệu quả hơn.

Tôi rất hài lòng với kết quả của dự án này Dự án đã giúp tôi học hỏi thêm nhiềukiến thức về Protobuf và GRPC

2.4 Tham gia dự án thực tế

Dự án này là một website nội bộ có tên là VAM (VNPAY Account Management).Website này quản lý các tài khoản của nhân viên phòng Điện toán đám mây của VNPAY.

Sử dụng các công nghệ bảo mật như SSO, LDAP, Passkey, …

Access Control List (ACL) là một tính năng để quản lý quyền truy cập tài nguyên của

Trang 20

Nội dung Thời gian Yêu cầu kết quả đạt được

Kết QuảChức năng

quản lý ACL

Tuần 4 - Tuần 5

Hoàn thành các tính năng:

● Quản lý ACL Group.●

● Quản lý ACL Rule

Chức năng quản lý ACL

Tuần 6 - Tuần 7

Hoàn thành các tính năng:

● User gửi yêu cầu ticket ACLRules.

Admin

approve/reject ACL Rules.● User xóa

ticket ● User gia hạn

Chức năng quản lý ACL

AuditLog● Migrate data

Đạt

Trang 21

Chức năng quản lý ACL

Tuần 8 - Tuần 11

● Thêm FunctionIds● Deploy tính

năng lên production

Chức năng quản lý ACL

Tuần 12 Refactor codeFix bug

Đạt

Trang 23

CHƯƠNG 3: TỔNG KẾT

Trong quá trình thực tập công ty CNTT, em đã có một trải nghiệm hết sức đáng giá.Em đã có cơ hội tiếp cận với một môi trường làm việc chuyên nghiệp và nhận đượcsự hỗ trợ tận tâm từ các đồng nghiệp và người hướng dẫn Em đã áp dụng kiến thứcđã học từ trường đại học vào các dự án thực tế và đã phát triển được nhiều kỹ năngquan trọng trong lĩnh vực CNTT Qua quá trình này, em đã nhận thấy tầm quan trọngcủa việc tiếp tục học tập và nỗ lực không ngừng trong việc nắm bắt các công nghệmới nhằm nâng cao khả năng làm việc và phát triển sự nghiệp trong ngành Chỉ trongthời gian hạn chế, em đã hoàn thành dự án cá nhân trong quá trình training với cáctính năng, yêu cầu đặt ra ban đầu

Khi tham gia vào dự án thực tế, em cũng hoàn thành tốt các tác vụ đúng hạn và đạtchất lượng tốt.

3.1 Điểm mạnh

- Khả năng học tốt các công nghệ mới được giao- Hòa đồng , thân thiện với mọi người trong công ty- Đưa ra sáng kiến, sáng tạo cho dự án

- Nghiên cứu, tìm hiểu các nguồn tham khảo trên internet, sử dụng trí tuệ nhân tạo trong công việc tốt, rút ngắn thời gian và tăng năng suất làm việc

3.2 Điểm yếu

- Giao tiếp công việc còn hạn chế

- Thiếu kinh nghiệm trong dự án thực tế về các công cụ , phần mềm cơ bản- Một số task thời gian hoàn thành trễ so với thực tế

- Viết code còn chưa tốt cần phải cải thiện hơn nữa trong tương lai3.3 Chuẩn đạt được

Goal

Trang 24

G5 Phát triển kỹ năng tư duy, kỹ năng làm việc nhóm và kỹ năng trình bày

Ngày đăng: 15/05/2024, 09:23

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan