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
báo cáo thực tập java back end developer

Đ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ử 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 TINKHOA 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 SolutionNgườ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 TINKHOA CÔNG NGHỆ PHẦN MỀM

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 choem 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ăm2023

Trang 6

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

Trang 7

CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP1.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ật2.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.

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 chohệ 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ự ánDe 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

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

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

anh Trần Anh Tuân

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

anh Trần Anh Tuân

anh Trần Anh Tuân

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

anh Trần Anh Tuân

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

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 ServerBiế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úpem 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ườikỹ 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ạnvà đạ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ảnlý 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

TÀI LIỆU THAM KHẢO

Spring Framework Documentation.

Trang 24

Spring Boot Documentation.

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

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

[2] Richardson, C (2018) Microservices Patterns: With examples in Java Manning Publications.

Sharma, A (2018) Mastering Spring Boot 2.0: Build modern, cloud-native, and distributed systems using Spring Boot Packt Publishing.

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

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

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

Tài liệu liên quan