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[.]
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 MỞ ĐẦU Với phát triển ngày mạnh mẽ công nghệ thông tin Internet ngày nay, lập trình web - nhánh phát triển - phận thiếu ngành công nghiệp phần mềm, lúc khẳng định vị thế, tầm quan trọng vơ vàn ứng dụng, nghiệp vụ, … góp phần to lớn vào phát triển hầu hết mặt, hoạt động xã hội chuyển đổi số ngày Lập trình web hay dịch vụ web cơng nghệ internet thực tế có bề dày lịch sử phát triển khứ đến nay, mảng phần mềm đẩy mạnh sử dụng nhiều lĩnh vực nói chung thương mại điện tử nói riêng Nhờ vào lí mà ngày nay, hầu hết doanh nghiệp trang bị cho website nhằm tiếp cận khách hàng mục tiêu tăng lượng chuyển đổi cho Lập trình Web cơng việc mà đảm nhận toàn nhiệm vụ liên quan đến liệu từ nhóm thiết kế để tạo nên máy web hồn chỉnh có tác động qua lại với sở liệu để thực thi nghiệp vụ Nhắc đến lập trình web, nhà phát triển nghĩ đến Java – ngơn ngữ lập trình vơ mạnh mẽ nhờ vào khả biên dịch thành bytecode Theo em tìm hiểu lập trình web yêu cầu yếu tố: Kiến thức code web công nghệ thiết kế web Kỹ Front-end Back-end Với ước mơ trở thành nhà phát triển web fullstack, niềm say mê vào kì diệu ngơn ngữ lập trình Java, em lựa chọn đường lập trình Java Web để đường 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 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 rèn luyện trường, khát khao có thêm kinh nghiệm kĩ làm việc thực tế, muốn tham gia phát triển web môi trường chuyên nghiệp, động, mang đầy tính học hỏi, em có dự định chọn cuối năm đại học thời điểm chín mùi để thực khóa thực tập đời Vì vậy, em định chọn PALTech - môi trường làm việc chun nghiệp, mang tính chun mơn cao, đầy sức trẻ động để thực dự định mong muốn LỜI CẢM ƠN Xin trân trọng gửi lời cảm ơn chân thành sâu sắc đến Công ty TNHH PALTech cân nhắc định mang lại cho em hội quý báu để học tập, rèn luyện, học hỏi phụng quý công ty Tuy thời gian làm việc không dài dẫn nhiệt tình tồn người cơng ty development team nói chung, nhóm thực tập sinh nói chung em nói riêng tiếp thu nhiều kiến thức chuyên môn quan trọng kinh nghiệm làm việc ngành mà từ trước em dường chưa tiếp xúc nhận ra, để tham gia làm việc nhân viên thực Chân thành gửi lời cảm ơn to lớn đến tồn người cơng ty bỏ nhiều thời gian, sức lực để hướng dẫn, điểm dìu dắt em hồn thành đợt thực tập quý công ty Đặc biệt cảm ơn team Infra hỗ em nhiều vấn đề kĩ thuật 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 khó khăn cơng việc, đến 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 chị Tôn Thị Thanh Thảo team QC, training cung cấp kiến thức nghiệp vụ project lớn công ty, hỗ trợ chúng em hiểu project Trân trọng chân thành cảm ơn anh Nguyễn Duy Khánh, dẫn chúng em cách làm báo cáo, lên kế hoạch, kỹ thiếu lập trình web nói chung cơng việc vị trí Java Web Developer quý công ty; sâu sắc cảm ơn anh Ngô Văn Tự dẫn đầu team developer nói chung cho nhóm thực tập sinh chúng em nói riêng task cơng việc phát triển project; cảm ơn anh Nguyễn Minh Đặng anh Huỳnh Minh Trí training cho em kiến thức quan trọng MySql, Angular HTML để em góp phần sửa lỗi trì project thời gian qua Và lời cảm ơn đặc biệt đến anh Đinh Hữu Quý – Buddy hay người anh đồng hành chịu trách nhiệm với em tồn q trình thực tập công ty, anh người dạy chi tiết kiến thức cần thiết làm việc hỗ trợ em hồn thành task cơng việc từ nhỏ đến lớn từ dễ đến khó Và cuối xin cảm ơn quý thầy cô khoa Công nghệ phần mềm tạo điều kiện cho em làm báo cáo cách tường tận với tinh thần chia sẻ Vòng Minh Huỳnh TpHCM, ngày 20 tháng 12 năm 2022 NHẬN XÉT CỦA KHOA MỤC LỤC Chương Giới thiêu công ty thực tập Chương Nội dung thực tập Chương Chi tiết project cách làm việc 13 Chương Giới thiệu công ty thực tập Giới thiệu công ty PALTech PALTech thành lập vào năm 2015 Thành phố Hồ Chí Minh, công ty CNTT cung cấp phát triển tảng phần mềm có khả mở rộng, chất lượng tuyệt vời tiết kiệm cho nhu cầu hoạt động kinh doanh khác Công ty cung cấp dịch vụ kỹ thuật chất lượng cho tất loại tổ chức từ doanh nghiệp vừa nhỏ (SME) nước cung cấp giải pháp chiến lược sáng tạo để gia tăng giá trị kinh doanh cho khách hàng Song song đó, PALTech cung cấp giải pháp dựa web tích hợp phát triển ứng dụng Internet tùy chỉnh dựa yêu cầu công việc xác định trước từ yêu cầu khách hàng PALTech dành riêng để xác định lại doanh nghiệp hách hàng mạng toàn cầu để tăng trưởng sản xuất cao thông qua lợi cạnh tranh tốc độ, chi phí khả thích ứng Đây chủ yếu cơng ty phát triển phần mềm có chun mơn giao dịch an toàn với tần suất cao, khối lượng lớn web loạt POP CDN độc quyền Ngồi cung cấp dịch vụ lĩnh vực QA, phân tích trang web, bảo mật hệ thống kết nối mạng Bên cạnh giải pháp sở hạ tầng, phần mềm PALTech đa tảng: HTML5, CSS, jQuery Java Sản phẩm cơng ty PALTech thiết kế, tạo trì Website chạy đa tảng – thứ mà doanh nghiệp khách hàng sử dụng để quản lí, thống kê tài sản họ tạo bảng báo cáo chúng Chương 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 đào tạo toàn diện lập trình Web Angular Spring MVC, đồng thời rèn luyện kỹ mềm làm việc nhóm, giao tiếp Tại cơng ty, sinh viên có hội học tập, khám phá làm việc môi trường phát triển web chuyên nghiệp, trẻ động Tìm hiểu cơng ty kỹ công ty Thời gian: ngày Nội dung: Giới thiệu công ty, cách tổ chức công ty Được nghe người phụ trách giới thiệu cơng ty, q trình thành lập 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ông ty Ngồi ra, thực tập sinh cịn giới thiệu cách thức làm việc công ty thời gian làm, quy định cần phải tuân thủ, cách sử dụng email công việc… Kết quả: Hiểu thêm cơng ty PALTech, q trình thành lập phát triển Có thêm kỹ việc sử dụng Email Slack cơng việc, làm việc có kế hoạch, có kỷ luật, có trách nhiệm Nghiên cứu kỹ thuật 1.1 Các công cụ làm việc Thời gian: ngày Nội dung: Tìm hiểu số công cụ, phần mềm sử dụng trình làm việc Trong thời gian ngày đầu, phận Infra giúp em cài đặt toàn thứ vị trí làm vệc, máy móc cài phần mềm whitelist (danh sách phần mềm phép cài đặt sử dụng máy tính làm việc cá nhân cơng ty) Bên cạnh đó, phận Infra hỗ trợ cung cấp update tài khoản cần thiết để em truy cập sử dụng trang web hay phần mềm hỗ trợ cho q trình làm việc cơng ty Jira, Aws, Jenkin, Gitlab, Log web, Slack, IntelliJ, Tortoise SVN TortoiseGit, Notepad++… Sau ba ngày, anh Đinh Hữu Qúy – buddy em hỗ trợ dẫn em flow làm việc sử dụng phần mềm trang web Anh giải thích cơng dụng số trang web Log, Jenkin, AWS-Jenkin Anh dẫn kết nối database với workbench tài khoản đặc biệt cho dev dẫn tường tận mẹo tổ chức folder công việc để tiện cho sau Thực hiện: Thực hành sử dụng phần mềm nêu Kết quả: Lập trình sử dụng kết hợp công cụ với Biết cách kết hợp công cụ để làm việc Làm quen với trang web hay công cụ 1.2 Tìm hiểu kết hợp Angular Spring Framework Thời gian: xuyên suốt trình làm việc từ đầu tới cuối Nội dung: Được training kỹ thuật Java nâng cao Học cách sử dụng công nghệ Angular Spring xuyên suốt trình làm việc Khi thực tập công ty, xuyên suốt trình em training làm việc với tiêu chí “Làm học, học làm” Tức giao task công việc, em anh hỗ trợ để giải toán qua bước 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 cơng việc – bảo trì kết - ghi nhớ - báo cáo Thực hiện: - Tham gia đầy đủ buổi training công ty - Ghi nhớ kiến thức vừa thân tìm hiểu áp dụng vào task Kết quả: - Nâng cao kỹ lập trình với ngôn ngữ Java - Nâng cao thành thạo với Angular kết hợp Spring - Có kiến thức quan trọng cho việc lập trình web - Ngồi biết thêm số quy tắc việc viết code cho chuẩn, dễ đọc, dễ hiểu làm quen extension bắt code xấu sonar 1.3 Tìm hiểu mơ hình MVC Spring Nội dung: Các kiến thức MVC Spring hỗ trợ làm việc với backend - Khái niệm mơ hình MVC Nắm khái niệm MVC, Framework hỗ trợ lập trình phát triển ứng dụng Java đặc biệt cơng việc Java web, dễ sử dụng tái sử dụng code - Các anomations @Controller thích cho biết lớp thích đóng vai trị Bộ điều khiển MVC Dispatcher Servlet quét lớp thích với để ánh xạ u cầu web tới phương thức thích @RequestMapping @RequestMapping để ánh xạ yêu cầu tới phương thức điều khiển Nó có thuộc tính khác để khớp theo URL, phương thức HTTP, tham số yêu cầu, tiêu đề loại phương tiện Bạn sử dụng cấp lớp để thể ánh xạ chia sẻ cấp phương pháp để thu hẹp thành ánh xạ điểm cuối cụ thể Tương tự có: @GetMapping @PostMapping 10 @PutMapping @DeleteMapping @PatchMapping Thực hiện: - Tham gia đầy đủ buổi trainning - Tìm kiếm tài liệu mạng để tìm hiểu thêm - Đọc code số package điển hình quan trọng để hiểu flow sử dụng cách hoạt động thực Spring project công ty Kết quả: - Hiểu khái niệm MVC - Biết flow hoạt động framework project thực 1.4 Lập trình IntelliJ Nội dung: Các kỹ thuật dùng intelliJ, kết hợp extension hay phần mềm để thực kết nối backend, sử dụng glassfish Thực hiện: - Tham gia đầy đủ buổi training - Kết hợp với Glassfish việc fix bug hay task Kết quả: - Đã sử dụng thành thạo công cụ IDE IntelliJ Thực project Sau tháng training thực hành, thực tập sinh nắm kiến thực Spring MVC Microservices, team QC/BA hướng dẫn thực tập sinh nghệp vụ ý nghĩa project công ty Chi tiết đồ án nói phần sau 11 Lịch làm việc Tuần Cơng việc Người hướng dẫn - Tìm hiểu công ty, cách tổ chức công ty Anh Đinh Hữu Qúy - Làm quen với công cụ làm việc công anh Nguyễn Duy Khánh, ty Hoàng Huỳnh Nghĩa - Học cách trao đổi, làm việc qua email Slack - Tìm hiểu ngơn ngữ lập trình Java nâng cao Anh Đinh Hữu Qúy - Thực hành Java anh Huỳnh Minh Trí - Tìm hiểu Spring MVC Anh Nguyễn Minh Đặng - Tìm hiểu Angular anh Đinh Hữu Quý - Tham gia training nghiệp vụ hay business Chị project 4+5+6 Lệ Nguyệt Ánh Thùy Linh chị Tôn Thị Thanh Thảo Giai đoạn thử sức: - Anh Đinh Hữu Qúy Được giao feature mới, nhỏ để hoàn thành anh Nguyễn Duy Khánh làm quen Giai đoạn thử sức(tiếp): - Anh Nguyễn Duy Tham gia làm quen flow giải bug Khánh nào? Flow làm việc team Tuần – Giai đoạn quen tham gia làm việc: hết thực tập kì - Anh Đinh Hữu Qúy Tham gia làm việc nhân viên and Ngô Văn Tự thức để lấy kinh nghiệm 12 Chương Chi tiết project cách làm việc Giới thiệu AQS Với nhu cầu tổng hợp báo cáo trao đổi tài sản số, nhu cầu tính tốn giá trị tổng hợp tài sản theo dõi quản lí liệu khơng tài sản mà từ nhiều nguồn khác khả phân tích xuất báo cáo cho doanh nghiệp hay cá nhân, tổ chức nước, AQS sinh để làm việc AQS projct điển hình cơng ty em may mắn tham gia vào project AQS project phục vụ doanh nghiệp, người dùng nước ngồi cho việc thống kê, theo dõi, quản lí xuất báo cáo kinh doanh, tài sản người dùng Được xây dựng từ năm 2019, đến trì phát triển tùy vào mục đích yêu cầu khách hàng Cho nên em tham giao vào project tham gia maintain cách fix bug phát triển số yêu cầu nghiệp vụ tham gia từ đầu việc xây dựng 1.1 Các mơi trường project AQS phát triển môi trường song song gọi là: QAT, STG PROD: - QAT: Là môi trường phát triển thấp mà developer làm việc task công việc hay bug Môi trường có sở liệu riêng để thuận tiện cho việc testing thử nghiệm feature từ nghiệp vụ - STG: Là môi trường phát triển có database riêng, mơi trường cao qat - PROD: môi trường khách hàng dùng Là môi trường bậc cao quan trọng Bất feature hay bug sinh phải thứ tự từ thấp đến cao theo kế hoạch định trước 13 1.2 Một số hình ảnh project Hình Màn hình User management AQS 14 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/ 15 TỔNG KẾT Như vậy, vòng vài tháng ngắn ngủi, em thu thập học nhiều thứ tác phong, kinh nghiệm làm việc developer thị trường Song song mặt chun mơn, em học nhiều kĩ thuật công nghệ từ công việc Chân thành cảm ơn giúp đỡ anh chị team developer PALTech giúp em hồn thành tập 16 ... trì Website chạy đa tảng – thứ mà doanh nghiệp khách hàng sử dụng để quản lí, thống kê tài sản họ tạo bảng báo cáo chúng Chương Nội dung thực tập Đợt thực tập với chủ đề ? ?Lập trình Java Web? ??... code web công nghệ thiết kế web Kỹ Front-end Back-end Với ước mơ trở thành nhà phát triển web fullstack, niềm say mê vào kì diệu ngơn ngữ lập trình Java, em lựa chọn đường lập trình Java Web để... sở liệu để thực thi nghiệp vụ Nhắc đến lập trình web, nhà phát triển nghĩ đến Java – ngơn ngữ lập trình vô mạnh mẽ nhờ vào khả biên dịch thành bytecode Theo em tìm hiểu lập trình web yêu cầu