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

Báo cáo thực tập lập trình java web

16 86 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 Lập Trình Java Web
Tác giả Vòng Minh Huỳnh
Người hướng dẫn PTS. Nguyễn Duy Khánh, Anh Ngô Văn Tự
Trường học Trường Đại Học Công Nghệ Thông Tin - Khoa Công Nghệ Phần Mềm
Chuyên ngành Phần Mềm Và Công Nghệ Thông Tin
Thể loại Báo cáo thực tập
Năm xuất bản 2022
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 16
Dung lượng 590,5 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 TIN KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO THỰC TẬP LẬP TRÌNH JAVA WEB Công ty thực tập Công ty TNHH PALTech Thực tập sinh Vòng Minh Huỳnh TP Hồ Chí Minh, tháng 12 năm 2022 LỜI[.]

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 JAVA WEB

Công ty thực tập: Công ty TNHH PALTech Thực tập sinh: Vòng Minh Huỳnh

Trang 2

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

Trang 3

LỜI MỞ ĐẦU

Với sự phát triển ngày một mạnh mẽ của công nghệ thông tin và Internet ngày nay, lập trình web

- một nhánh phát triển - một bộ phận không thể thiếu của ngành công nghiệp phần mềm, càng lúc càng khẳng định vị thế, tầm quan trọng của mình trong vô vàn những ứng dụng, nghiệp vụ, … góp phần to lớn vào sự phát triển hầu hết về mọi mặt, mọi hoạt động của xã hội chuyển đổi số ngày nay Lập trình web hay dịch vụ web và công nghệ internet trên thực tế đã có một bề dày lịch sử phát triển trong quá khứ và đến nay, mảng phần mềm này vẫn đang được đẩy mạnh sử dụng trong nhiều lĩnh vực nói chung

và cũng như thương mại điện tử nói riêng

Nhờ vào những lí do trên mà ngày nay, hầu hết các doanh nghiệp đều đã trang bị cho mình một website nhằm tiếp cận khách hàng mục tiêu và tăng lượng chuyển đổi cho mình

Lập trình Web là công việc mà tại đó nó đảm nhận toàn bộ những nhiệm vụ liên quan đến dữ liệu từ nhóm thiết kế để tạo nên một bộ máy web hoàn chỉnh có tác động qua lại với cơ sở dữ liệu để thực thi nghiệp vụ nào đó Nhắc đến lập trình web, hầu như những nhà phát triển sẽ nghĩ ngay đến Java – một ngôn ngữ lập trình vô cùng mạnh mẽ nhờ vào khả năng biên dịch thành bytecode của chính nó

Theo như em tìm hiểu thì lập trình web yêu cầu cơ bản 2 yếu tố:

1 Kiến thức về code web và công nghệ thiết kế web

2 Kỹ năng Front-end và Back-end

Với ước mơ trở thành một nhà phát triển web fullstack, niềm say mê vào sự kì diệu của ngôn ngữ lập trình Java, em đã lựa chọn con đường lập trình Java Web để đi giữa vô vàn con đường của Ngành Công nghiệp phần mềm nói chung, lập trình web nói riêng

Từ định hướng và lựa chọn đó, sau ba năm học tập vất vả, ba năm nghiên cứu, tìm hiểu, học hỏi

và rèn luyện tại trường, vì khát khao có thêm kinh nghiệm và kĩ năng làm việc thực tế, cũng như muốn được tham gia phát triển web trong một môi trường chuyên nghiệp, năng động, mang đầy tính học hỏi,

em có đã dự định chọn cuối năm 3 đại học là thời điểm chín mùi để thực hiện khóa thực tập đầu tiên trong cuộc đời mình Vì vậy, em đã quyết định chọn PALTech - một môi trường làm việc chuyên nghiệp, mang tính chuyên môn cao, đầy sức trẻ và sự năng động để hiện thực dự định và mong muốn của mình

Trang 4

LỜI CẢM ƠN

Xin trân trọng gửi lời cảm ơn chân thành và sâu sắc đến Công ty TNHH PALTech đã cân nhắc

và quyết định mang lại cho em cơ hội quý báu để được học tập, rèn luyện, học hỏi và phụng sự tại quý công ty Tuy thời gian làm việc không quá dài thế nhưng dưới sự chỉ dẫn nhiệt tình của toàn bộ mọi người trong công ty và trong development team nói chung, nhóm thực tập sinh nói chung và em nói riêng đã tiếp thu được rất nhiều kiến thức chuyên môn quan trọng cũng như những kinh nghiệm làm việc trong ngành mà từ trước giờ em dường như chưa từng tiếp xúc và nhận ra, để có thể tham gia làm việc như một nhân viên thực sự Chân thành gửi lời cảm ơn to lớn đến toàn bộ mọi người trong công ty

đã bỏ ra nhiều thời gian, sức lực để hướng dẫn, chỉ điểm và dìu dắt em hoàn thành đợt thực tập này tại quý công ty

Đặc biệt cảm ơn team Infra đã hỗ em rất nhiều về các vấn đề kĩ thuật trong quá trình lập trình web; cảm ơn đặc biệt đến anh Hoàng Huỳnh Nghĩa, đã hướng dẫn, giúp đỡ cho em tận tình cả 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; cảm ơn chị Lê

Nguyệt Ánh Thùy Linh và chị Tôn Thị Thanh Thảo và team QC, đã training và cung cấp kiến thức cơ bản về nghiệp vụ các project lớn của công ty, hỗ trợ chúng em hiểu các project Trân trọng và chân

thành cảm ơn anh Nguyễn Duy Khánh, đã chỉ dẫn chúng em về cách làm báo cáo, lên kế hoạch, những

kỹ năng không thể thiếu về lập trình web nói chung về công việc tại vị trí Java Web Developer tại quý công ty; sâu sắc cảm ơn anh Ngô Văn Tự đã dẫn đầu cả team developer nói chung và cho nhóm thực tập sinh chúng em nói riêng trong các task công việc và phát triển các project; cảm ơn anh Nguyễn Minh Đặng và anh Huỳnh Minh Trí đã training cho em những kiến thức quan trọng về MySql, Angular và HTML để em có thể góp phần sửa lỗi cũng như duy trì các project trong thời gian qua Và một lời cảm

ơn đặc biệt nhất đến anh Đinh Hữu Quý – Buddy hay người anh đã đồng hành và chịu trách nhiệm với

em trong toàn bộ quá trình thực tập tại công ty, anh là người đã chỉ dạy chi tiết mọi kiến thức cần thiết khi làm việc và cũng như hỗ trợ em hoàn thành những task công việc từ nhỏ đến lớn từ dễ đến khó

Và cuối cùng xin cảm ơn quý thầy cô trong khoa Công nghệ phần mềm đã tạo điều kiện cho em làm bài báo cáo này một cách tường tận với một tinh thần chia sẻ

Vòng Minh Huỳnh TpHCM, ngày 20 tháng 12 năm 2022

Trang 5

NHẬN XÉT CỦA KHOA

Trang 6

MỤC LỤC

Chương 1 Giới thiêu công ty thực tập 7 Chương 2 Nội dung thực tập 8 Chương 3 Chi tiết về project và cách làm việc 13

Trang 7

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

1 Giới thiệu công ty PALTech

PALTech được thành lập vào năm 2015 tại Thành phố Hồ Chí Minh, là một công ty CNTT cung cấp và phát triển các nền tảng phần mềm có khả năng mở rộng, chất lượng tuyệt vời và tiết kiệm cho các nhu cầu hoạt động kinh doanh khác nhau

Công ty cũng cung cấp các dịch vụ kỹ thuật chất lượng cho tất cả các loại tổ chức từ các doanh nghiệp vừa và nhỏ (SME) cả trong và ngoài nước và hơn nữa là cung cấp các giải pháp chiến lược và sáng tạo để gia tăng giá trị kinh doanh cho khách hàng Song song đó, PALTech cung cấp một bộ giải pháp dựa trên web tích hợp và cũng phát triển các ứng dụng Internet tùy chỉnh dựa trên yêu cầu công việc được xác định trước từ yêu cầu của khách hàng

PALTech được dành riêng để xác định lại doanh nghiệp của hách hàng trên mạng toàn cầu để tăng trưởng và sản xuất cao hơn thông qua lợi thế cạnh tranh về tốc độ, chi phí và khả năng thích ứng Đây chủ yếu là một công ty phát triển phần mềm có chuyên môn về các giao dịch an toàn với tần suất cao, khối lượng lớn trên web và một loạt các POP và CDN độc quyền Ngoài ra nó cũng cung cấp các dịch vụ trong các lĩnh vực như QA, phân tích trang web, bảo mật hệ thống và kết nối mạng Bên cạnh các giải pháp cơ sở hạ tầng, phần mềm của PALTech về cơ bản là đa nền tảng: HTML5, CSS, jQuery và Java

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

PALTech thiết kế, tạo ra và duy trì những Website chạy trên đa nền tảng – thứ mà các doanh nghiệp khách hàng sử dụng để quản lí, thống kê về tài sản của họ và cũng như là tạo

ra các bảng báo cáo về chúng

Trang 8

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

Đợt thực tập với chủ đề “Lập trình Java Web” 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 cùng Angular và Spring MVC, đồng thời rèn luyện những kỹ năng mềm như làm việc nhóm, 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 web chuyên nghiệp, trẻ và năng động

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

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

Ngoà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 PALTech, quá 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 và Slack trong công việc, làm việc có kế hoạch, có kỷ luật, có trách nhiệm hơn

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

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

Thời gian: 4 ngày

Nội dung: Tìm hiểu về một số công cụ, phần mềm sẽ được sử dụng trong quá trình

làm việc

Trang 9

Trong thời gian một ngày đầu, bộ phận Infra sẽ giúp em cài đặt toàn bộ mọi thứ

về vị trí làm vệc, máy móc và cài các phần mềm trong whitelist (danh sách các phần mềm được phép cài đặt và sử dụng trong máy tính làm việc cá nhân tại công ty) Bên cạnh đó, bộ phận Infra cũng hỗ trợ cung cấp và update các tài khoản cần thiết

để em có thể truy cập và sử dụng những trang web hay phần mềm hỗ trợ cho quá trình làm việc tại công ty như Jira, Aws, Jenkin, Gitlab, Log web, Slack, IntelliJ, Tortoise SVN và TortoiseGit, Notepad++…

Sau đó ba ngày, anh Đinh Hữu Qúy – buddy của em sẽ hỗ trợ chỉ dẫn em về các flow làm việc cũng như sử dụng các phần mềm trang web đó Anh đã giải thích về công dụng của một số trang web như Log, Jenkin, AWS-Jenkin Anh đã chỉ dẫn các kết nối database với workbench bằng các tài khoản đặc biệt cho dev cũng như chỉ dẫn tường tận mẹo tổ chức các folder trong công việc để tiện cho sau này

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ập trình sử dụng kết hợp các công cụ với nhau Biết cách kết hợp các công

cụ để làm việc Làm quen được với các trang web hay công cụ mới như trên

1.2 Tìm hiểu về sự kết hợp giữa Angular và Spring Framework

Thời gian: xuyên suốt quá trình làm việc từ đầu tới cuối

Nội dung: Được training về các kỹ thuật Java nâng cao Học cách sử dụng các công

nghệ mới Angular và Spring trong xuyên suốt quá trình làm việc

Khi được thực tập tại công ty, xuyên suốt quá trình em được training và làm việc với tiêu chí “Làm là học, học là làm” Tức là khi được giao các task công việc, em sẽ được các anh hỗ trợ để giải quyết các bài toán đó qua các bước như sau: hiểu nghiệp

vụ - tìm hiểu ngôn ngữ - thực hành ngôn ngữ - áp dụng – giải quyết công việc – bảo trì kết quả - ghi nhớ - báo cáo

Thực hiện:

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

- Ghi nhớ những kiến thức vừa được bản thân tìm hiểu và áp dụng vào các task

Kết quả:

Trang 10

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

- Nâng cao sự thành thạo với Angular kết hợp Spring

- Có được những kiến thức quan trọng cho việc lập trình web

- 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, dễ hiểu cũng như các làm quen các extension bắt code xấu như sonar

1.3 Tìm hiểu về mô hình MVC trong Spring

Nội dung: Các kiến thức cơ bản về MVC trong Spring hỗ trợ làm việc với backend.

- Khái niệm cơ bản về mô hình MVC

Nắm được các khái niệm cơ bản về MVC, là một Framework hỗ trợ lập trình và phát triển các ứng dụng Java và đặc biệt ở công việc này đó là Java web, dễ sử dụng và tái sử dụng code

- Các anomations

@Controller là chú thích chính cho biết lớp được chú thích đóng vai trò

là Bộ điều khiển của MVC Dispatcher Servlet quét các lớp được chú thích với nó để ánh xạ các yêu cầu web tới các phương thức được chú thích bằng @RequestMapping

@RequestMapping để ánh xạ các yêu cầu tới các phương thức của bộ

điều khiển Nó có các thuộc tính khác nhau để khớp theo URL, phương thức HTTP, tham số yêu cầu, tiêu đề và loại phương tiện Bạn có thể sử dụng nó ở cấp lớp để thể hiện các ánh xạ được chia sẻ hoặc ở cấp phương pháp để thu hẹp thành một ánh xạ điểm cuối cụ thể.

Tương tự có:

@GetMapping

@PostMapping

Trang 11

@DeleteMapping

@PatchMapping

Thực hiện:

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

- Tìm kiếm tài liệu trên mạng để tìm hiểu thêm

- Đọc code một số package điển hình và quan trọng để hiểu được flow sử dụng cũng như cách hoạt động thực sự của Spring trong project của công ty

Kết quả:

- Hiểu được những khái niệm cơ bản trong MVC

- Biết được các flow hoạt động của framework và của project thực

1.4 Lập trình trên IntelliJ

Nội dung: Các kỹ thuật dùng intelliJ, kết hợp các extension hay phần mềm để thực

hiện kết nối backend, như là sử dụng glassfish

Thực hiện:

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

- Kết hợp với Glassfish trong việc fix bug hay các task mới

Kết quả:

- Đã có thể sử dụng khá thành thạo công cụ IDE IntelliJ

2 Thực hiện project

Sau một 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ề Spring MVC và Microservices, cũng như team QC/BA đã hướng dẫn thực tập sinh về những nghệp vụ ý nghĩa project của công ty

Trang 12

3 Lịch làm việc

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 và Slack

Anh Đinh Hữu Qúy và anh Nguyễn Duy Khánh, Hoàng Huỳnh Nghĩa

2 - Tìm hiểu ngôn ngữ lập trình Java nâng cao

- Thực hành Java

Anh Đinh Hữu Qúy và anh Huỳnh Minh Trí 3

- Tìm hiểu về Spring MVC

- Tìm hiểu về Angular

Anh Nguyễn Minh Đặng

và anh Đinh Hữu Quý

4 + 5 + 6

- Tham gia training về nghiệp vụ hay business của các project

Chị Lệ Nguyệt Ánh Thùy Linh và chị Tôn Thị Thanh Thảo

5

Giai đoạn thử sức:

- Được giao 1 feature mới, nhỏ để hoàn thành và làm quen

Anh Đinh Hữu Qúy và anh Nguyễn Duy Khánh

6

Giai đoạn thử sức(tiếp):

- Tham gia làm quen flow giải quyết một bug sẽ như thế nào? Flow làm việc trong team

Anh Nguyễn Duy Khánh

Tuần 7 –

hết kì

thực tập

Giai đoạn quen và tham gia làm việc:

- Tham gia làm việc như một nhân viên chính thức để lấy kinh nghiệm

Anh Đinh Hữu Qúy và and Ngô Văn Tự

Trang 13

Chương 3 Chi tiết về project và cách làm việc

1 Giới thiệu về AQS

Với nhu cầu tổng hợp báo cáo về trao đổi tài sản số, nhu cầu tính toán giá trị tổng hợp của tài sản theo dõi và quản lí dữ liệu không chỉ là tài sản mà còn từ nhiều nguồn khác nhau cũng như khả năng phân tích và xuất ra các báo cáo cho các doanh nghiệp hay cá nhân, tổ chức cả trong và ngoài nước, AQS sinh ra để làm việc đó

AQS là một projct điển hình của công ty và em may mắn được tham gia vào project này AQS là project phục vụ các doanh nghiệp, người dùng nước ngoài cho việc thống kê, theo dõi, quản lí và xuất các báo cáo kinh doanh, tài sản của người dùng Được xây dựng từ năm 2019, đến nay vẫn được duy trì và phát triển tùy vào mục đích yêu cầu khách hàng Cho nên khi em tham giao vào project này thì sẽ được tham gia maintain nó bằng cách fix bug và phát triển một số yêu cầu nghiệp vụ mới chứ không phải tham gia

từ đầu trong việc xây dựng nó

1.1 Các môi trường của project.

AQS được phát triển trên 3 môi trường song song được gọi là: QAT, STG và PROD:

- QAT: Là môi trường phát triển thấp nhất mà developer sẽ làm việc đầu tiên đối với một task công việc hay một bug Môi trường này cũng sẽ có cơ sở dữ liệu của riêng nó để thuận tiện cho việc testing cũng như thử nghiệm những feature mới từ nghiệp vụ

- STG: Là môi trường phát triển cũng có database riêng, môi trường cao hơn qat

- PROD: là môi trường khách hàng dùng Là môi trường bậc cao nhất và quan trọng nhất

Bất cứ một feature hay 1 bug nào sinh ra đều phải đi đúng thứ tự từ thấp đến cao theo một kế hoạch đã được định trước

Trang 14

1.2 Một số hình ảnh project

Hình 1 Màn hình User management của AQS

Trang 15

TÀI LIỆU THAM KHẢO

[1] Lynn Beighley, Michael Morrison (2018), Headfirst PHP & MySQL, O'Reilly Media, Inc.

[2] Google ©2010-2022, https://angular.io/

[3] © 2022 VMware, Inc, https://spring.io/projects/spring-boot

[4] Copyright © Eclipse Foundation, https://glassfish.org/

Trang 16

TỔNG KẾT

Như vậy, chỉ trong vòng vài tháng ngắn ngủi, em đã thu thập được và học được rất nhiều thứ về tác phong, kinh nghiệm làm việc của một developer trên thị trường Song song đó về mặt chuyên môn, em cũng đã học được rất nhiều kĩ thuật cũng như công nghệ mới từ công việc

Chân thành cảm ơn sự giúp đỡ của các anh chị team developer của PALTech đã giúp em hoàn thành được kì thực tập của mình

Ngày đăng: 01/02/2023, 21:20

TỪ KHÓA LIÊN QUAN

w