Tải bản đầy đủ (.doc) (12 trang)

báo cáo thực tập lập trình JAVA (2)

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 (129.25 KB, 12 trang )

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 JAVA

Cơng ty thực tập

: FPT SOFTWARE

Người phụ trách

: Cáp Văn Vũ

Thực tập sinh

: Trần Quốc Tồn

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


2

LỜI MỞ ĐẦU

Ngày nay, CNTT đã và đang đóng vai trò quan trọng trong đời sống kinh tế, xã hội của
nhiều quốc gia trên thế giới, là một phần không thể thiếu trong xã hội năng động, ngày càng
hiện đại hố. Vì vậy, việc tin học hố vào một số lĩnh vực là hồn tồn có thể và phù hợp với xu
hướng hiện nay.
Trong thời đại công nghệ 4.0, các công việc thủ công hằng ngày dần được thay thế bằng


tự động hóa bởi cơng nghệ thơng tin. Ngơn ngữ lập trình Java ra đời giúp cho việc xây dựng
những ứng dụng quản lý công việc trong công ty, trường học, cửa hàng ... góp phần to lớn trong
việc giảm thiểu việc thực hiện thủ công ghi chép bằng tay như trước.
Bên cạnh đó, việc sử dụng ngơn ngữ lập trình Java để làm backend đã giúp hệ thống máy
chủ xử lý nhanh chóng và mạnh mẽ; chia sẻ nguồn tài nguyên máy chủ và giúp triển khai trên
đa nền tảng, đem lại nhiều lợi ích to lớn.
Sau bốn 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 ngành công nghiệp phần mềm trong một môi trường chuyên nghiệp, em có
dự định là sẽ thực tập trong hè. Vì vậy, em quyết định chọn công ty FPT Sofware - 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.

LẬP TRÌNH JAVA

TRẦN QUỐC TOÀN


3

LỜI CẢM ƠN

Trân trọng gửi lời cảm ơn Công ty FPT Software đã 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 team Java Backend,
em đã tiếp thu được những nhiều kiến thức, học hỏi nhiều kỹ năng, góp phần vào việc phát triển
sản phẩm cho công ty. Chân thành cảm ơn các anh chị trong team Back-end đã bỏ ra nhiều thời
gian, cơng sức để hướng dẫn em hồn thành đợt thực tập này.
Đặc biệt cảm ơn anh Cáp Văn Vũ, trưởng team Backend đã hướng dẫn, giúp đỡ cho em
tận tình vượt qua 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. Em biết ơn sâu sắc anh Nguyễn Thành An - PM dự án, người anh ln lắng nghe
và chia sẻ những khó khăn của nhân viên.

Bên cạnh đó, em chân thành cảm ơn anh Phùng Thanh Sang, người hướng dẫn, mentor
em làm quen với các công nghệ bên Java Backend. Và không quên anh Vũ Tấn Lợi, người trực
tiếp training, chỉ dẫn các kiến thức về Angular.
Cuối cùng, em thật lòng 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.
Trần Quốc Tồn
Tp.HCM, 22/12/2020

LẬP TRÌNH JAVA

TRẦN QUỐC TỒN


4

NHẬN XÉT CỦA KHOA

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

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

LẬP TRÌNH JAVA

TRẦN QUỐC TỒN


5

Mục lục
LỜI MỞ ĐẦU.............................................................................................................................................2
LỜI CẢM ƠN.............................................................................................................................................3
Mục lục........................................................................................................................................................5
Chương 2: Nội dung thực tập......................................................................................................................7

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

1. Giới thiệu công ty
FPT Software thành lập năm 1999, là công ty thành viên của FPT, Tập đồn Cơng nghệ
hàng đầu của Việt Nam. Sau 20 năm thành lập FPT Software hiện đang là công ty phần mềm
lớn nhất của Việt Nam và đứng trong Top 100 Nhà cung cấp dịch vụ Outsourcing toàn cầu do
International Association of Outsourcing Professionals (IAOP) đánh giá.
FPT Software theo đuổi mục tiêu gia công phần mềm để đáp ứng cho nhu cầu phát triển
CNTT của các hãng phần mềm trong nước, các công ty lớn trong nước và tham vọng hơn là
xuất khẩu phần mềm trên tồn thế giới cho các cơng ty nước ngồi biết đến tập đồn FPT,
mục đích chính là vươn đến tầm cao mới thông qua công nghệ nhằm nâng cao năng suất lao

động.

LẬP TRÌNH JAVA

TRẦN QUỐC TỒN


6

Đến với FPT Software, nhân viên được phép phát huy tối đa khả năng sáng tạo, nỗ lực
đưa các sáng tạo vào các giải pháp công nghệ thông tin nhằm nắm bắt các cơ hội đổi mới và
phát triển nhằm đạt được mục tiêu chung của tập đoàn là OneFPT - Công ty xuất khẩu phần
mềm hàng đầu tại Việt Nam.
2.

Sản phẩm của công ty
Là công ty chuyên xuất khẩu dịch vụ phần mềm, FPT Software cung cấp các dịch vụ
phát triển phần mềm và bảo trì, triển khai ERP, QA, chuyển đổi ứng dụng, hệ thống nhúng,
điện toán di động, điện toán đám mây… trong nhiều lĩnh vực như: Tài chính ngân hàng, Viễn
thơng, Y tế, Chế tạo, Cơng nghiệp xe hơi, Dịch vụ công… Hiện FPT Software đang tập trung
nghiên cứu và phát triển dịch vụ CNTT dựa trên những nền tảng công nghệ mới như IoT,
S.M.A.C, cho các lĩnh vực sản xuất máy bay, sản xuất ô tơ, ngân hàng, truyền hình vệ tinh,
viễn thơng trên phạm vi tồn cầu. Cơng ty hiện đã và đang cung cấp dịch vụ cho khoảng 450
khách hàng là các tập đồn lớn trên thế giới, trong đó có 43 khách hàng nằm trong danh sách
Fortune Global 500.
Từ 13 lập trình viên với giấc mơ đưa trí tuệ Việt Nam đi khắp năm châu, đội quân
FSOFT ở tuổi 18 với hơn 10.000 người, doanh thu hơn 230 triệu USD, tiếp tục biến giấc mơ
biến Việt Nam trở thành điểm sáng về CNTT trên bản đồ thế giới thành hiện thực với mục
tiêu đạt 1 tỉ USD doanh số năm 2020 và 30.000 người.
Sau 17 năm phát triển thị trường toàn cầu, đến nay FPT Software đã có 23 văn phịng

tại 14 quốc gia bao gồm Việt Nam, Nhật Bản, Singapore, Mỹ, Pháp, Đức, Slovakia,
Malaysia, Úc, Trung Quốc, Hàn Quốc, Myanmar, Philippines, Thái Lan.

LẬP TRÌNH JAVA

TRẦN QUỐC TỒN


7

Chương 2: Nội dung thực tập
Đợt thực tập với chủ đề “Lập trình Java - Backend” nhằm mục đích giúp sinh viên thực
tập học tập, làm quen với các công nghệ Java phía Backend, đồ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 cơng nghệ mới như Spring Boot, JHipster,
AWS. Ngoài ra, thực tập sinh được trực tiếp hướng dẫn bởi những anh mentor giàu kinh
nghiệm, tận tâm. Bên cạnh đó, sinh viên được 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, tích lũy những kiến thức giá trị.
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…
Kết quả : Hiểu thêm về công ty FPT Software, q trình thà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. Nghiên cứu kỹ thuật
2.1. Software Process Development
Thời gian : 1 ngày
Nội dung : Tìm hiểu về các cơng cụ và quy trình sẽ được sử dụng trong quá trình làm
việc:
- Tìm hiểu về hệ thống ISMS.
- Các quy trình phát triển phần mềm
- Unit testing
- Time Sheeting
- Secure Coding
- OSS Checking
Thực hiện : Thực hành học và sử dụng các phần mềm đã nêu trên, sau đó làm bài
kiểm tra để đánh giá chất lượng học viên.
Kết quả : Đạt bài kiểm tra và hồn thành mục tiêu khóa học đề ra.
2.2. Cloud Essentials for Developers
Thời gian : 2 ngày
LẬP TRÌNH JAVA
TRẦN QUỐC TỒN


8

Nội dung : Tìm hiểu về dịch vụ Cloud Computing của AWS
- Tìm hiểu về hệ sinh thái Cloud Computing
- AWS Service
- Security and IAM
- Compute Services
- Programmable Infrastructure
Thực hiện:

- Tìm hiều tổng quan về Cloud Computing và AWS.
- Học và làm các bài kiểm tra để đánh giá chất lượng học viên.
Kết quả: Hiểu và hoàn thành bài kiểm tra đánh giá.
2.3. DevOps Overview
Thời gian : 1 ngày
Nội dung : Tìm hiểu về DevOps trong cơng ty
- Các thành phần chính trong DevOps
- Triển khai DevOps trong FPT
- DevOps trong việc phát triển
Thực hiện:
- Học và làm các bài kiểm tra để đánh giá chất lượng học viên
Kết quả: Hiểu và hoàn thành bài kiểm tra đánh giá.
2.4. DevOps for Developers
Thời gian : 2 ngày
Nội dung : Tìm hiểu về các tool chain trong DevOps:
- Tool chain Gitlab
- Tool chain Jenkins
- Tool chain Sonar
- Tool chain Coverity
- Tool chain BlackDuck
- Tool chain Nexus
Thực hiện:
- Học và làm các bài kiểm tra để đánh giá chất lượng học viên
Kết quả: Hiểu và hồn thành bài kiểm tra đánh giá.
2.5. Tìm hiểu về Spring Boot
Thời gian : 1 tuần
Nội dung : Tìm hiểu về Spring Boot và xây dựng ứng dụng.
Thực hiện: Tìm hiểu về các vấn đề:
- Spring Data
- Spring Security: cơ chế xác thực và phân quyền

- Swagger
- Jhipter
Kết quả: Xây dựng được một ứng dụng Spring Boot đơn giản và đáp ứng được yêu
cầu của anh Mentor
2.6. Tìm hiểu về Angular
Thời gian : 1 tuần
LẬP TRÌNH JAVA

TRẦN QUỐC TOÀN


9

Nội dung : Tìm hiểu về Angular Framework
- Debugging
- Component and Databinding
- Directives
- Services and Dependency Injection
- Routing
- Observables
Thực hiện: Học theo khóa học và hồn thành bài kiểm tra của người hướng dẫn.
Kết quả: Nắm các kiến thức căn bản về Angular và hồn thành bài kiểm tra.
2.7. Tìm hiểu về Unit Test với Junit và Mockito
Thời gian : 5 ngày
Nội dung : Tìm hiểu về việc viết Unit bằng Junit và Mockito
- Unit Testing with Junit
- Mockito
- Powermock
Thực hiện: Học theo khóa học và hồn thành bài kiểm tra của người hướng dẫn.
Kết quả: Nắm các kiến thức căn bản về Unit Testing và hoàn thành bài kiểm tra.


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

1

2

3

4

Cơng việc
- Tìm hiểu về cơng ty, cách tổ chức
của cơng ty.
- Tìm hiểu quy trình phát triển phần
mềm.
- Tìm hiểu về DevOps.
- Tìm hiểu về Cloud.
• Tìm hiểu về Spring Framework
- Tìm hiểu Spring Data
- Tìm hiểu Spring Security
- Tìm hiểu Jhipster, Swagger
- Tạo ứng dụng demo
• Tìm hiểu về Angular:
- Debugging
- Component and Databinding
- Directives
- Services and Dependency Injection
- Routing

- Observables
• Tìm hiểu về dự án:
- Đọc các thơng tin dự án: Kickoff,
overview.

LẬP TRÌNH JAVA

Người hướng dẫn
Anh Cáp Văn Vũ

Anh Phùng Thanh Sang

Anh Vũ Tấn Lợi

Anh Nguyễn Thành An

TRẦN QUỐC TOÀN


10

5

6

7

8

- Đọc tài liệu SRS.

- Đọc tài liệu về quy trình dự án
- Cài đặt mơi trường và các phần mềm
cần thiết.
• Testing với Junit và Mockito
- Tìm hiểu Junit
- Tìm hiểu Mockito
- Tìm hiểu Powermock
• Thực hiện API Withdraw User:
- Đọc tài liệu đặc tả yêu cầu.
- Đọc tài liệu chi tiết thiết kế API
- Vẽ sequence diagram cho chức năng
- Coding Convention
- Viết Unit Test cho chức năng
- Viết Checklist
- Check sonarlint
• Thực hiện API Update User Profile
- Đọc tài liệu đặc tả yêu cầu.
- Đọc tài liệu chi tiết thiết kế API
- Vẽ sequence diagram cho chức năng
- Tạo Q&A cho khách hàng
- Coding Convention
- Viết Unit Test cho chức năng
- Viết Checklist
- Kiểm tra sonarlint
• Thực hiện fix bugs trong các API
- Chạy postman kiểm tra lỗi
- Tiến hành sửa lỗi theo hệ thống đưa
ra
- Tạo Q&A cho khách hàng nếu có
thắc mắc

- Tạo Unit test
- Tạo checklist
- Kiểm tra coding convention
- Kiếm tra sonarlint

LẬP TRÌNH JAVA

Anh Cáp Văn Vũ

Anh Cáp Văn Vũ

Anh Cáp Văn Vũ

Anh Cáp Văn Vũ

TRẦN QUỐC TOÀN


11

TỔNG KẾT
Như vậy, chỉ trong vòng hơn hai tháng ngắn ngủi, em đã được học hỏi và trải nghiệm
được nhiều thứ bổ ích. Cơng ty đã giúp em học được các công nghệ hot hiện này như Spring
Boot, AWS hay Jhipster, biết tổ chức làm việc nhóm, giao tiếp trao đổi và giúp đỡ mọi người
trong cơng việc, có được khả năng làm việc một cách độc lập. Bên cạnh đó, em cịn học được
quy trình làm việc, tác phong chuyên nghiệp và có trách nhiệm với task được giao. Những điều
đó là nền tảng giúp em tích lũy kiến thức và kinh nghiệm vơ cùng q giá của mình trong tương
lai.
Chân thành cảm ơn sự giúp đỡ của các anh chị trong dự án và đặc biệt là anh Cáp Văn
Vũ - Leader team Backend, anh Nguyễn Thành An - PM dự án, anh Phùng Thanh Sang - Senior

Java, anh Vũ Tấn Lợi - Senior Angular và anh Nguyễn Sĩ Hiền - quản lý nhân sự dự án đã nhiệt
tình giúp đỡ em hồn thành kỳ thực tập này.
Đặc biệt, em sâu sắc cảm ơn quý thầy cô khoa Công nghệ Phần mềm đã dạy bảo, cung
cấp cho em những kiến thức nền tảng để có thể tham gia khóa thực tập của cơng ty. Một lần nữa
em xin chân thành cảm ơn.

LẬP TRÌNH JAVA

TRẦN QUỐC TỒN


12

TÀI LIỆU THAM KHẢO
AWS Cognito:
/>Java Unit Testing with Spring Boot & Mockito:
/>Spring Boot:
/> /> />Angular:
/> />
LẬP TRÌNH JAVA

TRẦN QUỐC TỒN



×