1. Trang chủ
  2. » Cao đẳng - Đại học

Báo cáo thực tập lập trình BACK END với JAVA

18 114 2

Đ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

Định dạng
Số trang 18
Dung lượng 229,69 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 LẬP TRÌNH BACK-END VỚI JAVA Công ty thực tập : Công ty Inspire Lab Technology Thực tập sinh : Nguyễn Duy Tân T

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 BACK-END VỚI JAVA Công ty thực tập : Công ty Inspire Lab Technology

Thực tập sinh : Nguyễn Duy Tân

TP Hồ Chí Minh, 04 tháng 06 năm 2020

Trang 2

LỜI MỞ ĐẦU

Ngày nay, ngành công nghiệp web là một bộ phận không thể thiếu của ngành công nghiệp phần mềm Với tốc độ phát triển vô cùng mạnh mẽ, công nghệ web đã và đang là nhân tố kích thích sự phát triển của công nghệ thông tin thế giới, cả về phần cứng và phần mềm

Bản thân là một người đam mê công nghệ và mong muốn áp dụng công nghệ

để làm cho cuộc sống tốt hơn, em luôn luôn học hỏi, trau dồi thêm các kiến thức, kỹ năng cuộc sống và một vốn công nghệ cần thiết để phục vụ nhu cầu của bản thân Sau khi thử sức với nhiều lĩnh vực khác nhau của ngành công nghệ phần mềm, em quyết định chọn lập trình web với hướng chuyên sâu về back-end để làm định hướng cho sự nghiệp của mình

Thời điểm học kỳ hai của năm tư đại học, nhận thấy đây là thời điểm thích hợp

để bản thân tìm kiếm một cơ hội làm việc, trau dồi kinh nghiệm thực tế trong một môi trường chuyên nghiệp, nên em đã lên kế hoạch để đi thực tập Bản thân em sau một thời gian chuẩn bị kiến thức và ứng tuyển, đã nhận được cơ hội làm việc tại công ty Inspire Lab Technology Đây là công ty có môi trường chuyên nghiệp, hiện đại, phù hợp cho em trau dồi kiến thức, kinh nghiệm và phát triển các kĩ năng của bản thân

Trang 3

LỜI CẢM ƠN

Em xin trân trọng gửi lời cảm ơn sâu sắc đến quý Công ty Inspire Lab Technology đã tạo điều kiện cho em có cơ hội được thực tập và học hỏi trong môi trường chuyên nghiệ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 mentor, bản thân em đã tiếp thu được những kiến thức quan trọng để có thể phát triển một ứng dụng phần mềm thực tế Chân thành cảm ơn các anh chị mentor đã 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 em xin gửi lời cảm ơn đặc biệt đến anh Bùi Thanh Sang – Leader của công ty đã chân thành chia sẻ cho những kiến thức, kinh nghiệm trong công việc và cuộc sống, những lời khuyên bổ ích để em tiến bộ, phát triển hơn

Cuối cùng em xin gửi lòng biết ơn đến các thầy cô khoa Công nghệ Phần mềm, trường Đại học Công nghệ Thông tin, Đại học Quốc gia Thành phố Hồ Chí Minh đã nhiệt tình hỗ trợ, tạo điều kiện để em hoàn thành tốt môn thực tập doanh nghiệp này

Nguyễn Duy Tân

TP Hồ Chí Minh, ngày 04 tháng 06 năm 2020

Trang 4

NHẬN XÉT CỦA KHOA

……….………

……….………

……….………

……….………

……….………

……….………

……….………

……….………

……….………

……….………

……….………

……….………

……….………

……….………

……….………

……….………

……….………

……….………

……….………

……….………

……….………

……….………

……….………

……….………

Trang 5

………

MỤC LỤC

Chương 1: Giới thiệu về công ty thực tập 5

1 Giới thiệu công ty Inspire Lab Technology 5

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

2.3 Lập trình Web Service với Spring Framework 7 2.4 Quy trình phát triển phần mềm và Business của project 8

Chương 3: Chi tiết về project 11

Trang 6

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

1 Giới thiệu công ty Inspire Lab Technology

Inspire Lab Technology là công ty startup ở Việt Nam chuyên về lĩnh vực phát triển sản phẩm và gia công phần mềm Sau 2 năm hoạt động, công ty đã có hơn

50 thành viên và đã đạt được nhiều thành tựu trong kinh doanh, đứng vững trên thị trường phần mềm có tính cạnh tranh cao ở Việt Nam

2 Sản phẩm của công ty

Inspire Lab Technology cung cấp dịch vụ và giải pháp tối ưu phần mềm khách hàng với các dịch vụ: phát triển phần mềm theo yêu cầu, bảo trì hệ thống sản phẩm phần mềm, quản lý ứng dụng; kiểm thử và bảo đảm chất lượng phần mềm

Bên cạnh đó, công ty cũng phát triển mạnh mẽ ở lĩnh vực Product với các sản phẩm chuyên về blockchain và payment

Trang 7

Chương 2: Nội dung thực tập

Đợt thực tập với chủ đề “Lập trình back-end với Java” 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 web sử dụng ngôn ngữ Java

và Spring Framework, đồ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 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 phát triển phần mềm chuyên

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, nhân sự và các quy định đối với nhân viên

- Được bộ phận nhân sự giới thiệu về công ty, quá trình thành lập và phát triển, các sản phẩm, thành quả đạt được và hướng đi của công ty trong tương lai

- Ngoài ra được giới thiệu về nhân sự của công ty, nắm được các quy định đối với nhân viên, hiểu được văn hoá và tham gia vào các hoạt động, phong trào hàng ngày, hàng tuần trong công ty

Kết quả: Hiểu hơn về công ty Inspire Lab Technology, các đồng nghiệp, văn

hoá và môi trường làm việc Từ đó dễ dàng thích nghi hơn với môi trường mới

để đạt được năng suất cao trong công việc

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

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

Thời gian: 2 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

- Công cụ trao đổi, giao tiếp: Telegram, Gmail, Google Calendar

- Công cụ quản lý dự án: OpenProject

- Công cụ quản lý phiên bản phần mềm: Git, GitLab

Trang 8

- Công cụ liên quan lập trình: IntelliJ IDEA.

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

Kết quả: Làm quen, biết được công dụng và cách sử dụng các công cụ phục

vụ công việc

2.2 Tìm hiểu ngôn ngữ Java

Thời gian: 5 ngày (1 tuần)

Nội dung: Tìm hiểu các kiến thức cơ bản và nâng cao của Java

- Lập trình hướng đối tượng

- Các kiến thức Java cơ bản về Web Service, data type, bean, annotation, JVM, …

- Database, JPA, transaction handling, exception handling

- Tìm hiểu về Java convention và coding best practice

Thực hiện:

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

- Nghiên cứu, ứng dụng lý thuyết để xây dựng một sản phẩm đơn giản

- Báo cáo hàng ngày với Mentor về kiến thức đã nghiên cứu được

Kết quả:

- Nâng cao kỹ năng lập trình với ngôn ngữ Java

- Có được những kiến thức quan trọng về thiết kế kiến trúc cho project

- Ngoài ra còn được biết thêm một số quy tắc trong việc viết code sao cho đúng chuẩn, dễ đọc và dễ hiểu

2.3 Lập trình Web Service với Spring Framework

Thời gian: 8 ngày (2 tuần)

Nội dung: Các kiến trong lập trình back-end với Spring Framework

- Microservice với Spring / Spring Boot

- Spring data JPA

- Spring Security

Trang 9

- Spring Cloud

- Spring Batch

- Viết unit testing với Junit

Thực hiện:

- Tham gia đầy đủ các buổi training

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

- Thực hiện thuyết trình về kết quả đã nghiên cứu được

Kết quả:

- Hiểu được những khái niệm cơ bản trong lập trình back-end với Java

- Biết cách sử dụng các component của Spring Framework như Spring security, Spring Cloud, Spring Batch

- Nắm được cách triển khai ứng dụng với Docker

2.4 Quy trình phát triển phần mềm và Business của project

Thời gian: 5 ngày (1 tuần)

Nội dung:

- Quy trình phát triển phần mềm với Scrum

- Business của project

Thực hiện:

- Tham gia đầy đủ các buổi training

- Nghiên cứu tài liệu và source code của project

Kết quả:

- Nắm được quy trình và các khái niệm trong phát triển phần mềm với Scrum

- Hiểu được business của project ở mức đơn giản

- Nắm được cách tổ chức, quy tắc viết code trong source code của project

Trang 10

2.5 Tìm hiểu GRPC

Thời gian: 5 ngày (1 tuần)

Nội dung:

- Tìm hiểu về GRPC

- Hiện thực phương thức giao tiếp của 2 server thông qua GRPC

Thực hiện:

- Tham gia đầy đủ các buổi training

- Nghiên cứu tài liệu và source code của project

Kết quả:

- Sử dụng tốt GRPC trong dự án

- Xây dựng được demo nhỏ sử dụng GRPC

2.6 Tìm hiểu Kafka, ActiveMQ

Thời gian: 5 ngày (1 tuần)

Nội dung:

- Tìm hiểu về Kafka, ActiveMQ

- Hiện thực phương thức giao tiếp của 2 server thông qua Kafka, ActiveMQ

Thực hiện:

- Tham gia đầy đủ các buổi training

- Nghiên cứu tài liệu và source code của project

Kết quả:

- Sử dụng tốt Kafka, ActiveMQ trong dự án

- Xây dựng được demo nhỏ sử dụng Kafka, ActiveMQ

2.7 Tìm hiểu Zookeeper

Thời gian: 5 ngày (1 tuần)

Nội dung:

Trang 11

- Tìm hiểu Zookeeper.

- Ứng dụng của Zookeeper trong dự án thực tế

Thực hiện:

- Tham gia đầy đủ các buổi training

- Nghiên cứu tài liệu và source code của project

Kết quả:

- Sử dụng tốt Zookeeper trong dự án

- Xây dựng được demo nhỏ sử dụng Zookeeper

3 Thực hiện project

Sau hơn 1 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ề Java, Spring Đồng thời đã ứng dựng kiến thức để xây dựng một project để demo và thuyết trình

Chi tiết đồ án sẽ được nói ở phần sau

4 Lịch làm việc

dẫn

Mức độ hoàn thành

1

- Giới thiệu về công ty, nhân sự và các quy định đối với nhân viên

- Tìm hiểu về các công cụ

sẽ được sử dụng trong quá trình làm việc

- Lên kế hoạch training

Bùi Thanh Sang 10 / 10

2 Tìm hiểu các kiến thức cơ bản Bùi Thanh Sang 10 / 10

Trang 12

và nâng cao của Java

3, 4 Các kiến thức và kinh nghiệm

lập trình back-end với Spring

Bùi Thanh Sang 10 / 10

5 Quy trình phát triển phần mềm

và business của project

Bùi Thanh Sang Minh Nhựt

10 / 10

6,7,8

Nghiên cứu các kiến thức nâng cao về technical của project

- Spring Cloud Data Flow

- Elastic Search

- MinIO

Bùi Thanh Sang 10 / 10

9 Bắt đầu tham gia dự án

với những task đơn giản

Bùi Thanh Sang 10 / 10

Chương 3: Chi tiết về project

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

Tên dự án: Quản lý User Profile

1.1 Business Requirement

Áp dụng các kiến thức đã được training để xây dựng project quản lý User Profile đáp ứng các yêu cầu phần mềm sau:

- Quản lý thông tin user

- Phân quyền cho user

- Authentication với Json Web Token

Project được triển khai dưới dạng 1 web service với các RESTful API

1.2 Các API chính

1.2.1 Đăng ký user mới

Trang 13

Đăng ký user mới với các thông tin cơ bản Hệ thống tiến hành xác thực các thông tin nhập vào, sau đó tạo user mới trong hệ thống Nếu tạo thành công, hệ thống trả về token cho user

API register user

1.2.2 Đăng nhập

Đăng nhập với username và password Nếu thành công, hệ thống trả về token phục vụ cho việc truy cập vào hệ thống của user

Trang 14

API login

1.2.3 Phân quyền cho user

Cung cấp quyền cho user truy cập vào tập dữ liệu nhất định

Trang 15

2 Thực hiện

Project được thực hiện cá nhân bởi 1 thực tập sinh:

- Nguyễn Duy Tân

1 thành viên mentor:

- Anh Bùi Thanh Sang

3 Kế hoạch

Giai đoạn alpha:

- Lên kế hoạch

- Tìm hiểu về công nghệ sử dụng: Spring Boot, Spring Security, Json Web Token, Docker, Jacoco, …

Kết quả: Hoàn thành 100% các yêu cầu đã được giao.

Trang 16

Giai đoạn beta:

- Cài đặt các API phục vụ cho business requirement

- Viết unit testing cho các API bên back-end

- Xây dựng hệ thống Authentication với Json Web Token

- Triển khai ứng dụng với Docker

- Chuẩn bị thuyết trình

Kết quả: Hoàn thành 80% các yêu cầu đã được giao.

Trang 17

TÀI LIỆU THAM KHẢO

https://spring.io/guides/tutorials/rest/

https://www.docker.com/

https://spring.io/projects/spring-security

https://spring.io/guides/topicals/spring-security-architecture

https://jwt.io/

TỔNG KẾT

Trang 18

Như vậy, chỉ trong vòng một khoảng thời gian ngắn khoảng 2 tháng, em đã được trải nghiệm và học hỏi rất nhiều kỹ năng, kiến thức quan trọng về ngôn ngữ Java, Spring Framework, quy trình phát triển phần mềm chuyên nghiệp Đây sẽ là nền tảng để em tiếp tục học hỏi, phát triển để trở thành một kĩ sư phần mềm chuyên nghiệp

Em xin chân thành cảm ơn anh Bùi Thanh Sang, và công ty Inspire Lab Technology đã tạo điều kiện và giúp đỡ em hoàn thành kỳ thực tập này

Ngày đăng: 05/09/2021, 20:58

TỪ KHÓA LIÊN QUAN

w