1. Trang chủ
  2. » Giáo Dục - Đào Tạo

báo cáo thực tập java back end developer

24 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Báo cáo thực tập Java Back-end Developer
Tác giả Lê Đức Vinh
Người hướng dẫn Trần Anh Tuân
Trường học Trường Đại học Công nghệ Thông tin
Chuyên ngành Công nghệ phần mềm
Thể loại Báo cáo thực tập
Năm xuất bản 2023
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 24
Dung lượng 1,54 MB

Nội dung

Để thử thách bản thân trong ngành công nghiệp này, em đã lựa chọn JavaBack-end developer là định hướng cho việc học cũng như nghề nghiệp trong tươnglai.Sau những năm tháng trong môi trườ

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

JAVA BACK-END DEVELOPER

Công ty thực tập: Resources Software Solution

Người phụ trách: Trần Anh Tuân

Thực tập sinh: Lê Đức Vinh

Trang 2

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

JAVA BACK-END DEVELOPER

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

Công ty thực tập: Resources Software Solution

Người phụ trách: Trần Anh Tuân

Thực tập sinh: Lê Đức Vinh

Trang 3

LỜI MỞ ĐẦU

Trong cuộc cách mạng công nghiệp 4.0, công nghệ thông tin nói chung và ngànhCông nghệ phần mềm nói riêng luôn là nhân tố đóng vai trò quan trọng trong quá trìnhphát triển của xã hội

Do đó, một trang ứng dụng muốn được nhiều người sử dụng phải đáp ứng đượcyếu tố hình thức và nội dung Làm thế nào để sản phẩm tạo ra đạt chất lượng cao ở haiyếu tố trên luôn làm bất kì một đội ngũ phát triển website nào cũng cần phải suy nghĩđau đầu Để thử thách bản thân trong ngành công nghiệp này, em đã lựa chọn JavaBack-end developer là định hướng cho việc học cũng như nghề nghiệp trong tươnglai

Sau những năm tháng trong môi trường đại học, với mong muốn áp dụng nhữngkiến thức đã học và có được trải nghiệm trong môi trường thực tế, em đã quyết địnhtham gia vào Công ty Resource Software Solution – một môi trường lý tưởng vàchuyên nghiệp để thực hiện dự định

Trang 4

LỜI CẢM ƠN

Em xin trân trọng gửi lời cảm ơn Resource Sofware Solution đã 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ắn nhưng nhờ sự chỉ dẫnnhiệt tình của anh Tuân, em đã tiếp thu những kiến thức quan trọng để có thể tham giamột dự án thực tế

Chân thành cảm ơn anh Mentor Tuân và các anh trong team đã bỏ ra nhiều thờigian, 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ôitrường mới cũng như 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 gianqua

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 28 tháng 12 năm

2023

Trang 5

NHẬN XÉT CỦA KHOA

Trang 6

MỤC LỤC

LỜI MỞ ĐẦU 2

LỜI CẢM ƠN 3

NHẬN XÉT CỦA KHOA 4

MỤC LỤC 5

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

1.1 Giới thiệu Resource Software Solution 6

1.2 Sản phẩm nổi bật của công ty 6

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

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

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

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

2.2.1 Các công cụ làm việc 8

2.2.2 Ôn tập Java 9

2.2.3 Ôn tập, học thêm về Spring Boot 9

2.2.4 Tìm hiểu các công cụ để phát triển hệ thống phân tán với Spring 10

2.2.5 Tìm hiểu Oauth2 và Spring Authorization Server 10

2.2.6 Tìm hiểu thư viện JDBI 10

2.2.7 Tìm hiểu chuẩn RFC 7870 – Problem Details for HTTP APIs 11

2.2.8 Tìm hiểu SnowFlakeId và tạo Custom Identifier trong Hibernate 11

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

2.5 Giới thiệu về dự án 12

2.6 Quá trình thực hiện 17

2.7 Thực hiện 18

2.8 Kết quả 20

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

3.2 Điểm yếu 22

3.3 Chuẩn đạt được 22

TÀI LIỆU THAM KHẢO 23

Trang 7

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

1.1 Giới thiệu Resource Software Solution

R2S ra đời vào ngày một tháng tám năm 2019 với nhiệm vụ đào tạo nhân sựCNTT cho doanh nghiệp, phát triển phần mềm và tư vấn giải pháp CNTT

Đội ngũ sáng lập có anh Lê Hồng Kỳ và hiện tại anh là Giám đốc R2S

1.2 Sản phẩm nổi bật của công ty

 Đào tạo nhân sự làm được việc ngay cho doanh nghiệp (Resource)

 Phát triển phần mềm (Software)

 Tư vấn giải pháp CNTT cho các doanh nghiệp thực hiện chuyển đổi số

(Solution)

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

Em tham gia làm việc tại công ty bắt đầu từ ngày 3/7/2023 tới 25/9/2023, từ thứ 2đến thứ 6

Công việc hằng ngày bắt đầu từ lúc sáng 9h30 đến 12h và chiều 1h30 đến 18h.Thời gian nghỉ trưa khoảng 1 tiếng rưỡi Sau mỗi ngày làm việc em sẽ báo cáo tiến độcông việc trong ngày, đặt câu hỏi và nhận chia sẻ, giải đáp từ anh hướng dẫn, đặt mụctiêu cho ngày làm việc tiếp theo

Trang 8

Mỗi tuần sẽ họp tiến độ tuần 1 lần vào chiều thứ 6, mọi người sẽ cùng họp và bànbạc về các vấn đề đã giải quyết, tồn đọng, bài học, giải pháp và mục tiêu cho tuần tiếptheo.

Trang 9

CHƯƠNG 2: NỘI DUNG THỰC TẬP2.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, quy trình làm việc từ caoxuống thấp, cách thức tổ chức của công ty, các phòng ban về IT, HR, … Ngoài ra,thực tập sinh còn được giới thiệu về văn hóa làm việc trong công ty như thời gian đilàm, các quy định, cách sử dụng email trong công việc, …

Kết quả: hiểu thêm về công ty cổ phần Resource Software Solution, quá trìnhthành lập và phát triển Có thêm các kỹ năng về việc sử dụng email trong công việc,làm việc có kế hoạch, có kỷ luật, có trách nhiệm hơn

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

2.2.1 Các công cụ làm việc

Thời gian 2 ngày

Nội dung: Tìm hiểu các công cụ sẽ sử dụng trong quá trình làm việc

 Email công ty

 Trello để quản lý dự án và ghi chú

 IntelliJ Idea để lập trình Java

 Git để quản lý mã nguồn

 OpenVPN

 PostgreSQL

 Postman…

Thực hiện: Thực hành sử dụng các phần mềm đã nêu trên

Kết quả: Hiểu được về quy trình làm việc và các công cụ dùng trong quá trình làmviệc

Trang 10

2.2.2 Ôn tập Java

Thời gian: 3 ngày

Nội dung: Được ôn tập lại ngôn ngữ lập trình Java, OOP, một số design pattern từtài liệu được anh mentor cung cấp

Thực hiện:

 Tham gia đầy đủ các buổi training của công ty

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

Kết quả:

 Nâng cao kỹ năng lập trình Java

 Có được những kiến thức nền tảng cho việc lập trình Backend Java saunày.2.3 Thực hiện dự án cá nhân

2.2.3 Ôn tập, học thêm về Spring Boot

Thời gian: 5 ngày

 Nội dung: Ôn tập các khái niệm cơ bản trong Spring Framework từ tàiliệu được anh mentor cung cấp

Thực hiện:

 Đọc hiểu tài liệu Modern API Development with Spring and SpringBoot: Design highly scalable and maintainable APIs with REST, gRPC,GraphQL, and the reactive paradigm - Sourabh Sharma

Kết quả:

 Ôn tập lại các khái niệm nền tảng của Spring Framework

 Thực hiện dự án API CRUD cơ bản với Spring Boot

2.2.4 Tìm hiểu các công cụ để phát triển hệ thống phân tán với Spring

Thời gian: 5 ngày

Trang 11

Nội dung: Tìm hiểu thư viện Spring Cloud, cách cài đặt và cấu hình các thư việnliên quan.

Thực hiện:

 Đọc hiểu tài liệu Spring Microservices in Action - John Carnell

 Thực hiện một dự án nhỏ demo với Spring Cloud

Kết quả:

 Biết được cách sử dụng Spring Cloud để triển khai một hệ thống phântán cơ bản

2.2.5 Tìm hiểu Oauth2 và Spring Authorization Server

Thời gian: 5 ngày

Nội dung: Tìm hiểu Oauth2 và thư viện Spring Authorization Server để bảo mậtcho hệ thống

Thực hiện:

 Tìm đọc cái tài liệu liên quan

 Demo trên project cá nhân

Kết quả:

 Sử dụng thành công Spring Authorization server để làm auth server cho

hệ thống

2.2.6 Tìm hiểu thư viện JDBI

Thời gian: 5 ngày

Nội dung: Tìm hiểu thư viện JDBI

Thực hiện:

 Tìm đọc cái tài liệu liên quan

Trang 12

 Demo trên project cá nhân.

Kết quả:

 Hiểu được cách sử dụng JDBI để áp dụng vào trong dự án

2.2.7 Tìm hiểu chuẩn RFC 7870 – Problem Details for HTTP APIs

Thời gian: 5 ngày

Nội dung: Tìm hiểu chuẩn RFC 7870 – Problem Details for HTTP APIs và áp dụng vào trong

Exception Handling của Spring

Thực hiện:

 Đọc tài liệu Internet Engineering Task Force (IETF)

 Thử nghiệm tích hợp vào một module của công ty

Kết quả:

 Hiểu được chuẩn RFC 7870 – Problem Details for HTTP APIs

2.2.8 Tìm hiểu SnowFlakeId và tạo Custom Identifier trong Hibernate

Thời gian: 5 ngày

Nội dung: Tìm hiểu SnowFlakeId của Twitter, ưu nhược điểm so với các

Identifier thường

dùng vào tạo Annotation để sử dụng cho Hibernate

Thực hiện:

 Tìm đọc cái tài liệu liên quan

 Demo trên project cá nhân

Kết quả:

 Sử dụng thành công SnowFlakeId

Trang 13

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

Sau gần 2 tháng được training và thực hiện các demo project, em đã nắm được cáckiến thức cần thiết về Java, Spring, sử dụng tốt các công cụ cần thiết cho dự án

2.5 Giới thiệu về dự án

De Heus Mobile App

Dự án De Heus Mobile App là một dự án out-sourcing được thực hiện theo yêucầu của một công ty chuyên cung cấp thức ăn gia súc, gia cầm

Mục tiêu của ứng dụng này để giúp cho khách hàng của công ty có thể thực hiệnviệc đặt hàng cũng như biết cách thức thanh toán, xem tin tức khuyến mãi, chiết khấucủa công ty,… một cách nhanh chóng, tiện lợi

Đối tượng sử dụng của ứng dụng này là các khách hàng ở vị trí đại lý cấp 1 Cáctệp khách hàng này là những khách hàng lấy hàng số lượng lớn để phân phối cho cácđại lý nhỏ hơn bên dưới (đại lý cấp 2, cấp 3, người dùng cuối,…) Với số lượng lấyhàng lớn, phía công ty cung cấp thức ăn gia súc, gia càm cần tạo sự tiện lợi cho kháchhàng cần đặt hàng, xem mức chiết khấu, khuyến mãi, mặt hàng mới, tổng lượng hàng

đã đặt, sản lượng tổng đã lấy hàng của từng năm,……

Nhóm của em gồm 6 người bao gồm:

 Trần Anh Tuân (Leader)

 Nguyễn Ngọc Công

 Bùi Ngọc Dũng

 Nguyễn Hạo Nhiên

 Phạm Nguyễn Minh Quang

 Lê Đức Vinh

Nhóm em có nhiệm vụ phát triển, bảo trì cho ứng dụng này

Một số hình ảnh về ứng dụng:

Trang 14

Giao diện đăng nhập

Trang 15

Giao diện đặt hàng

Trang 16

Giao diện thông tin sản phẩm

Trang 17

Giao diện tin tức

Trang 18

2.6 Quá trình thực hiện

Tuầ

n Công việc

Người hướng dẫn

Mức độ hoàn thành

Nhận xét của người hướng dẫn

1

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

việc trong công ty

Học cách trao đổi, làm việc qua

email

anh Trần Anh Tuân

100%

2 Tìm hiểu các công cụ làm việc anh Trần Anh Tuân 100%

100%

5 Tìm hiểu Oauth2 và Spring

Authorization Server

anh Trần Anh Tuân

100%

8

Tìm hiểu SnowFlakeId và tạo

Custom Identifier trong

Hibernate

anh Trần Anh Tuân

100%

9 Tìm hiểu, cấu hình Spring

Security, viết tài liệu báo cáo

anh Trần Anh Tuân

100%

10

Thử nghiệm các API, fix một

số lỗi nhỏ theo yêu cầu của

mentor Tuân

anh Trần Anh Tuân

100%

Trang 20

 Cấu hình Spring Security

Trang 21

 Sử dụng Postman để test API:

2.8 Kết quả

Thực hiện tốt các task được mentor giao

Hiểu được cách thức hoạt động của Spring Authorization Server

Biết được cách sử dụng Postman để thử nghiệm một số API

Trang 22

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

Quãng thời gian thực tập tại công ty cổ phần Resource Software Solution đã giúp

em cải thiện bản thân rất nhiều trong quy trình làm việc thực tế, tác phong của người

kỹ sư phần mềm Được làm việc tại đây, em đã học thêm được kỹ năng mềm sử dụngmail, quản lý công việc, làm việc nhóm, giao tiếp với cấp trên

Chỉ trong thời gian hạn chế, em đã hoàn thành dự án cá nhân trong quá trìnhtraining với các tính năng, yêu cầu đặt ra ban đầu Ở giai đoạn ban đầu khi mới thamgia dự án, em thường có những sai sót về báo cáo cũng như quy trình làm việc Cácthiếu sót ấy cũng đã được anh chị tận tình hướng dẫn từng chút để em có thể hoànthành tốt công việc

Khi tham gia vào dự án thực tế, em cũng hoàn thành tốt các công việc đúng hạn

và đạt chất lượng tốt Được thực tập tại công ty là một cơ hội may mắn đối với em.Đây là một môi trường năng động, có cơ hội thăng tiến rõ ràng, thời gian làm việc linhhoạt Công ty quan tâm về mảng đào tạo nguồn nhân lực mới, sức khỏe tinh thần chonhân viên với các hoạt động thể thao như đá bóng, cầu lông được tổ chức hàng tuần

3.1 Điểm mạnh

Nâng cao khả năng làm việc nhóm, quản lý dự án, tư duy phản biện, kỹ năng quản

lý thời gian

 Học được cách làm việc trong môi trường doanh nghiệp

 Học được cách một dự án thực tế được triển khai và hoạt động như thế nào và biết được cách làm sao để áp dụng các kiến thức đã học để đưa ra các giải pháp với các vấn đề ở thực tế

 Học được cách nghiên cứu và làm việc độc lập

 Nâng cao khả năng đọc hiểu tài liệu tiếng anh

Trang 23

3.2 Điểm yếu

 Quy trình merge code ban đầu còn nhiều sai sót

 Giai đoạn đầu dự án vẫn cần anh mentor trợ giúp khá nhiều

 Còn hay mắc lỗi code convention, các lỗi conflict

 Kiến thức về hệ thống phân tán còn khá mới đối với em đòi hỏi phải tự tìm đọc,nghiên cứu tài liệu nhiều

 Cần rèn luyện thêm về kỹ năng viết tài liệu

3.3 Chuẩn đạt được

Goal Mục tiêu môn học

G1 Nắm bắt được xu hướng, nhu cầu xã hội và tính đặc thù của doanh nghiệpG2 Hiểu và giải thích được các khái niệm cơ bản, thuật ngữ và sơ đồ hệ thống

trong dự án

G3 Nắm được quy trình, phương pháp và công nghệ phát triển sản phẩm phần

mềm tại doanh nghiệp

G4 Có khả năng tìm hiểu vấn đề, mô hình hóa vấn đề và tham gia giải quyết vấn

đề

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

G6 Đọc, hiểu các tài liệu và giao tiếp bằng tiếng Anh

TÀI LIỆU THAM KHẢO

Spring Framework Documentation

Trang 24

Spring Boot Documentation

https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/

Java Documentation https://docs.oracle.com/en/java/

[1] Carnell, J (2021) Spring Microservices in Action (2nd ed.) Manning

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

w