1. Trang chủ
  2. » Tất cả

Báo Cáo Thực Tập Java Developer.docx

24 11 3

Đ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 24
Dung lượng 238,86 KB

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 JAVA DEVELOPER Công ty thực tập TMA Solutions Người phụ trách Nguyễn Văn Mẫn Thực tập sinh Tống Đức Dũng TP Hồ Chí Minh, thá[.]

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 JAVA DEVELOPER Công ty thực tập : TMA Solutions Người phụ trách : Nguyễn Văn Mẫn Thực tập sinh : Tống Đức Dũng TP Hồ Chí Minh, tháng 12 năm 2022 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 JAVA DEVELOPER Công ty thực tập : TMA Solutions Người phụ trách : Nguyễn Văn Mẫn Thực tập sinh : Tống Đức Dũng TP Hồ Chí Minh, tháng 12 năm 2022 Báo cáo thực tập Tống Đức Dũng LỜI MỞ ĐẦU Ngày nay, ngành công nghiệp phần mềm ngành nghề có sức phát triển mạnh mẽ, chiếm tỉ trọng lớn kinh tế toàn cầu tiềm phát triển lớn Cùng với vấn đề nhằm nâng cao chất lượng sống người, nâng cao hiệu suất làm việc, thúc đẩy phát triển cho ngành nghề khác, nhu cầu phát triển phần mềm cao hết Đứng trước nhu cầu này, với đà phát triển khơng có dấu hiệu chững lại, có vơ số công ty đời nhằm đáp ứng nhu cầu thị trường Một công ty hàng đầu Việt Nam, có 25 năm kinh nghiệp lĩnh vực gia cơng phần mềm, TMA Solutions – Công ty TNHH giải pháp phần mềm Tường Minh Là đại thụ lĩnh vực công nghệ phần mềm, TMA Solutions ln mang ba phương châm: Respect, Honesty, Commitment Sau ba năm học tập trường, mong muốn có thêm kinh nghiệm thực tế, muốn tham gia hoạt động môi trường chuyên nghiệp, đồng thời nhận thấy giá trị, môi trường, mục tiêu mà TMA Solutions mang lại đáp ứng với nhu cầu thân, em định chọn TMA Solutions nơi bắt đầu cho nghiệp, nơi áp dụng kiến thức tích lũy từ mơi trường giảng đường Báo cáo thực tập Tống Đức Dũng LỜI CẢM ƠN Trân trọng gửi lời cảm ơn Công ty TNHH giải pháp phần mềm Tường Minh tạo điều kiện cho em có hội thực tập cơng ty Tuy thời gian thực tập kéo dài không lâu, nhờ nhiệt tình hỗ trợ mentor team member, thân em tiếp thu kiến thức thực tiễn quý báu, tham gia vào dự án thực tế, làm việc môi trường động, nhờ em hiểu thêm hiểu biết lĩnh vực gia công phần mềm Chân thành cảm ơn anh chị nhóm, bỏ nhiều thời gian, cơng sức để hướng dẫn em hồn thành tốt đợt thực tập Đặc biệt cảm ơn anh Nguyễn Hữu Đạt, training Java, Spring công cụ liên quan, hướng dẫn, giúp đỡ cho chúng em tận tình khó khăn cơng việc, dự án, đến khó khăn việc làm quen với môi trường Cảm ơn anh Võ Văn Quân, team leader giúp em hịa đơng với thành viên nhóm, giúp em quy trình thủ tục công ty, tạo điều kiện môi trường tốt cho em học hỏi làm việc Cảm ơn anh Nguyễn Văn Mẫn, manager tạo điều kiện cho em học tập làm việc đại gia đình hịa đồng, chun nghiệp vui vẻ, kịp thời thăm hỏi, động viên định hướng cho em suốt trình thực tập Cũng xin cảm ơn thầy cô 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 TP HCM, ngày 18 tháng 12 năm 2022 Tống Đức Dũng Báo cáo thực tập Tống Đức Dũng NHẬN XÉT CỦA KHOA Báo cáo thực tập Tống Đức Dũng MỤC LỤC MỤC LỤC CHƯƠNG I: GIỚI THIỆU CÔNG TY THỰC TẬP Giới thiệu công ty TMA Solutions .2 Sản phẩm công ty CHƯƠNG II: NỘI DUNG THỰC TẬP .4 Tìm hiểu cơng ty kỹ công ty Nghiên cứu kỹ thuật 2.1 Các công cụ làm việc 2.2 Tìm hiểu ngơn ngữ Java nâng cao 2.3 Lập trình Java với Spring framework 2.4 Lập trình Front-end với TailwindCSS CHƯƠNG III: CHI TIẾT VỀ PROJECT 13 Giới thiệu project 13 1.1 Yêu cầu .13 1.2 Các chức 13 Thực 14 Kế hoạch 14 CHƯƠNG IV: KẾT QUẢ 16 TỔNG KẾT 18 TÀI LIỆU THAM KHẢO 19 Báo cáo thực tập Tống Đức Dũng CHƯƠNG I: GIỚI THIỆU CÔNG TY THỰC TẬP Giới thiệu công ty TMA Solutions TMA Solutions thành lập năm 1997 Việt Nam, công ty hàng đầu Việt Nam phát triển gia công phần mềm Với phát triển vững mạnh suốt 25 năm qua, TMA Solutions 16 năm qua liên tiếp lọt top 10 công ty FinTech, AI IoT Được nhiều tờ trong nước thường xuyên đưa tin TMA Solutions có chi nhánh Việt Nam (6 thành phố Hồ Chí Minh thành phố Quy Nhơn) với văn phịng nước ngồi (Mỹ, Canada, Pháp, Nhật, Úc, Singapore) với đội ngũ 3800 kỹ sư tài năng, nhiệt huyết TMA có gần 10 năm làm việc với tập đồn cơng nghệ hàng đầu giới trường đại học lớn công nghệ 4.0 với 300 kỹ sư kinh nghiệm lĩnh vực Trí tuệ nhân tạo, Khoa học liệu, IoT, 4G/5G,… Sản phẩm công ty TMA Solutions chuyên cung cấp dịch vụ giải pháp liên quan nhiều lĩnh vực đời sống tài – ngân hàng, thương mại điện tử, bất động sản, bảo hiểm, viễn thông, giáo dục, Báo cáo thực tập Tống Đức Dũng TMA Solutions đối tác tin cậy có nhiều năm kinh nghiệm thực dự án lớn phức tạp với công nghệ với 100 khách hàng đến từ 30 quốc gia giới thị trường Bắc Mỹ, Châu Âu, Nhật Bản, Hàn Quốc, Ấn Độ,… Có thể kể đến số khách hàng truyền thống từ nhiều năm qua TMA Solution Avaya, Nokia, Mitel, Atacel-Lucent,… Ngồi đối tác gia cơng cho cơng ty nước ngồi, TMA cịn tự phát triển nhiều phẩm thông qua công ty thành viên TMA Innovation ứng dụng rộng rãi thu phản hồi tích cực đem lại lợi nhuận cao Báo cáo thực tập Tống Đức Dũng CHƯƠNG II: NỘI DUNG THỰC TẬP Nội dung thời gian thực tập nghiên cứu ngơn ngữ lập trình Java xây dựng ứng dụng tảng Java với Spring framwork Giúp thực tập sinh đào tạo ngơn ngữ lập trình Java, đồng thời rèn luyện kỹ mềm làm việc nhóm, thuyết trình, giao tiếp, làm việc môi trường chuyên nghiệp, có quy trình rõ ràng, tham gia buổi training, hết tham gia vào dự án thức cơng ty Tìm hiểu cơng ty kỹ công ty Thời gian: ngày (1 tuần) Nội dung: Giới thiệu công ty, cách tổ chức, giá trị cốt lõi, quy trình làm việc xử lý cơng việc, cải thiện kỹ mềm Được nghe trainer giới thiệu cơng ty, q trình thành lập phát triển, quy trình làm việc từ cao xuống thấp, cách thức tổ chức công ty Cách thức xử lý vấn đề phát sinh lúc làm việc từ vấn đề nhân sự, pháp lý đến máy móc,… 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ỹ mềm Kết quả: Hiểu thêm cơng ty, q trình thành lập phát triển, giá trị cốt lõi Có thêm kỹ mềm giúp ích 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 2.1 Các công cụ làm việc Thời gian: ngày Nội dung: Tìm hiểu công cụ sử dụng trình làm việc Trong thời gian này, supervisor hướng dẫn thực tập sinh tìm hiểu cơng cụ giúp ích cho cơng việc sau Một số phần mềm số Jira sử dụng quản lý công việc; IntelliJ IDEA IDE hữu ích phổ biến với lập trình viên, đặc biệt lập trình viên Java Thực hiện: Thực hành sử dụng phần mềm nêu Báo cáo thực tập Tống Đức Dũng Kết quả: Lập trình sử dụng cơng cụ miễn phí, giúp dễ dàng kết hợp công cụ với 2.2 Tìm hiểu ngơn ngữ Java nâng cao Thời gian: ngày (1 tuần) Nội dung: Tìm hiểu kiến thức kỹ thuật Java nâng cao - Lập trình hướng đối tượng Các kiến thức lập trình hướng đối tượng khái niêm, đặc tính tính kế thừa, tính đóng gói, tính ảo hóa, tính đa hình - Generics: Thuật ngữ “generics” hiểu tham số hóa kiểu liệu Việc tham số hóa kiểu liệu giúp cho lập trình viên dễ bắt lỗi kiểu liệu không hợp lệ, đồng thời giúp dễ dàng cho việc tạo sử dụng class, interface, method với nhiều kiểu liệu khác - JPA (Java Persistence API): JPA cung cấp đầy đủ công cụ cho phép thao tác với sở liệu cách đơn giản nhanh chóng JPA dùng để persist đối tượng Java (POJO – Plain Old Java Object) vào sở liệu lấy liệu từ sở liệu ánh xạ (mapping) đối tượng Java cách đơn giản - Design pattern: creational patterns (Signleton & Factory) Tìm hiểu mẫu thiết kế khởi tạo: Signleton Factory (Factory Method & Abstract Factory) ví dụ mẫu thiết kế ngơn ngữ lập trình Java - Java Collection Java collections khuôn khổ cung cấp kiến trúc để lưu trữ thao tác tới nhóm đối tượng Tất hoạt động mà bạn thực liệu tìm kiếm, phân loại, chèn, xóa, thực Java Collections Collection java root interface hệ thống cấp bậc Collection Java Collection cung cấp nhiều interface (Set, List, Queue, Deque,… ) Báo cáo thực tập Tống Đức Dũng lớp (ArrayList, Vector, LinkedList, PriorityQueue, HashSet, LinkedHashSet, TreeSet,…) Thực hiện: - Nghiên cứu tài liệu cung cấp kết hợp với tài liệu tự tham khảo - Làm thực hành, kiểm tra kiến thức học Kết quả: - Nâng cao kỹ lập trình với ngơn ngữ lập trình Java - Có kiến thức quan trọng cho việc lập trình Java - Ngồi cịn biết thêm số quy tắc việc viết code cho chuẩn, dễ đọc, dễ hiểu 2.3 Lập trình Java với Spring framework Thời gian: 10 ngày (2 tuần) Nội dung: Tìm hiểu kiến thức Spring vấn đề liên quan để tạo ứng dụng server side - Khái niệm Spring framework Báo cáo thực tập Tống Đức Dũng Spring framework bao gồm nhiều modules core, bean, context, AOP, JDBC, ORM, Servlet, Struts,… Các module gom nhóm thành nhóm Test, Spring Core Containter, Data Access/ Integration,… - IoC Containter (Spring Container) IoC (Inversion of Control): Đảo ngược điều khiển, giúp làm thay đổi luồng điều khiển chương trình cách linh hoạt Thường dùng với Denpendency Injection Trong Spring, Spring Container (IoC Container) tạo đối tượng, lắp rắp chúng lại với nhau, cấu hình đối tượng quản lý vòng đời chúng từ lúc tạo lúc bị hủy Spring container sử dụng DI (Dependency Injection) để quản lý thành phần, đối tượng để tạo nên ứng dụng Các thành phần, đối tượng gọi Spring Bean Để tạo đối tượng, cấu hình, lắp rắp chúng, Spring Container đọc thông tin từ file xml thực thi chúng - Dependency Injection: Dependency Injection mẫu thiết kế, khía cạnh Spring framework, qua Spring container “inject” đối tượng vào đối tượng khác “dependencies” Điều giúp chuyển trách nhiệm quản lý denpendency cho Spring container - AOP (Aspect Oriented Programming) Lập trình hướng khía cạnh, kỹ thuật lập trình nhằm phân tác chương trình thành module riêng rẽ, phân biệt, không phụ thuộc vào - Spring Autowired Thông thường, phải khai báo bean component cần sử dụng file XML để Spring container tìm quản lý Thực tế Spring tự động tìm dị tạo bean từ package ứng dụng cách sử dụng Annotation Một số annotation thường sử dụng Spring @Component, @Repository, @Service, @Controller Báo cáo thực tập Tống Đức Dũng - Spring Data JPA Dựa JPA, Spring Data JPA tích hợp ứng dụng xây dựng tảng Spring với JPA việc cung cấp JpaTemplates Việc sử dụng JPA giúp rút ngắn thời gian viết code tương tác truy vấn tới sở liệu - Spring Security Spring Security cung cấp nhiều tính bảo mật authentication, authorization cho ứng dụng Java Authorization giúp ứng dụng xác thực quyền để thực yêu cầu ứng dụng Spring Security hỗ trợ nhiều loại xác thực HTTP Basic authentication headers, Form-based authentication,… Trong HTTP Basic authentication header loại xác thực sử dụng rộng rãi với việc yêu cầu token lần thực request để thực xác thực - Spring Boot Là project xây dựng tảng Spring Framework Cung cấp các thức dễ dàng hơn, nhanh để xây dựng ứng dụng tảng web Nói ngắn gọn, Spring Boot kết hợp Spring framework Embedded Server Thực hiện: - Tham gia đầy đủ buổi trainning - Đọc hiểu tài liệu cung cấp tài liệu tự tìm hiểu thân - Thực tập để củng cố kiến thức Kết quả: 2.4 - Hiểu khái niệm lập trình Java với Spring - Xây dựng cấu trúc ứng dụng sử dụng Spring Java Lập trình Front-end với TailwindCSS Báo cáo thực tập Tống Đức Dũng Thời gian: 10 ngày (2 tuần) Nội dung: Tìm hiểu kiến thức framework CSS TailwindCSS để xây dựng giao diện client cho ứng dụng - TailwindCSS: Là ultility-first CSS framework, bao gồm built-in class chứa thuộc tính CSS, sử dụng CSS class cách kết hợp chúng - Built-in class: Các class viết sẵn Tailwind bao gồm tất thuộc tính CSS đặt tên theo xác ý nghĩa thuộc tính mà class viết, cách sử dụng built-in class, ta khơng cần phải viết dịng CSS mà thêm bớt thuộc tính CSS cho giao diện - TailwindCSS cho phép mức độ tùy biến giao diện mức chun sâu, khơng có component xây dựng sẵn Bootstrap, tùy biến giao diện thơng qua việc sử dụng built-in CSS Thực hiện: - Đọc hiểu tài liệu cá nhân tự tìm kiếm tài liệu thức Tailwind - Luyện tập sử dụng build-in class - Áp dụng vào project thực tập Kết quả: - Hiểu, biết cách cấu hình sử dụng thành thạo TailwindCSS - Áp dụng TailwindCSS vào ứng dụng client side Thực project Với hai tháng training thực hành, thực tập sinh nắm kiến thức từ mức đến vận dụng Java, Spring, TailwindCSS để áp dụng kiến thức tích lũy vào project, thời gian thực project tuần, bao gồm thời gian training củng cố kiến thức Báo cáo thực tập Tống Đức Dũng 10 Lịch làm việc Mức độ Tuần Công việc Người hướng dẫn hồn thành - Tìm hiểu cơng ty, quy trình Anh Nguyễn Văn Mẫn làm việc, quy trình xử lý - Anh Võ Văn Quân Làm quen với thành viên team - Làm quen với công cụ làm việc công ty - Học cách trao đổi, làm việc qua email - Tham gia buổi new-hire trainning - Tìm hiểu ngơn ngữ lập trình Java Anh Nguyễn Hữu Đạt nâng cao - Luyện tập cách làm tập ví dụ ngôn ngữ Java - Review lại kiến thức học, report tiến độ cơng việc ngày - Tìm hiểu ngơn ngữ lập trình Anh Nguyễn Hữu Đạt JavaScript với HTML - Tìm hiểu áp dụng TailwindCSS để xây dựng giao diện - Review lại kiến thức học, report tiến độ công việc ngày Báo cáo thực tập Tống Đức Dũng 11 Giai đoạn - Anh Nguyễn Hữu Đạt Tìm hiểu Spring Framework vấn đề liên quan - Xây dựng ứng dụng server side Spring framework - Hoàn thiện API sử dụng cho phía client side - Review lại kiến thức học, report tiến độ công việc ngày Giai đoạn hai - Thiết kế giao diện cho client side - Xây dựng giao diện hoàn thiện Anh Nguyễn Hữu Đạt cho phía client side với HTML, JavasScript TailwindCSS - Review lại kiến thức học, report tiến độ công việc ngày Giai đoạn ba - Anh Nguyễn Hữu Đạt Tích hợp API hoàn thành giai đoạn vào client side Hoàn sửa lỗi tồn đọng phát sinh tích hợp - Phát triển thêm số tính nâng cao - Review lại kiến thức học, report tiến độ công việc ngày Báo cáo thực tập Tống Đức Dũng 12 - Đọc hiểu source code dự án theo Anh Nguyễn Hữu Đạt domain phân công Luyện tập sử dụng công cụ phục vụ dự án - Tìm hiểu quy trình, thức làm việc - Nghiên cứu vai trò Build Police với Jenkins - Báo cáo cuối đợt thực tập - Nộp báo cáo final - Được cấp account để làm việc Anh Nguyễn Văn Mẫn dự án thức - Được nhận offer để trở thành nhân viên thức Báo cáo thực tập Tống Đức Dũng 13 CHƯƠNG III: CHI TIẾT VỀ PROJECT Giới thiệu project Music Player Application trình nghe nhạc trực tuyến xây dựng tảng web Là ứng dụng cho phép truy cập danh sách hát thông qua thư viện, thao tác với hát với thao tác thêm, xóa, sửa (CRUD) Có thể phát nhạc trình nghe nhạc thơng thường với giao diện 1.1 - Yêu cầu Tất liệu hát phải lưu trữ server side thông qua cở liệu tự chọn (MongoDB lưu trữ thông tin hát, Cloudinary lưu trữ liệu MP3/ hình ảnh) - Client side web client xây dựng HTML, JavaScript TailwindCSS - Giao thức kết nối client server REST Xây dựng API để từ client side thực truy vấn tới server side - Ứng dụng phía server side cần phải deploy để truy cập từ xa Sử dụng framework Spring để xây dựng tương tác với sở liệu 1.2 - Các chức Nghe nhạc: tương tự trình nghe nhạc với thao tác tạm dừng, tiếp tục, chuyển bài,… Giao diện hiển thị thông tin hát tác giả, thể loại, tên hát - Quản lý hát: thị danh sách thông hát có, thực số thao tác thêm, xóa, chỉnh sửa với phân quyền admin Có filter phân trang để lọc liệu Tất thao tác phải thông quan RESTful API thao tác với sở liệu - Nâng cao: o Bảo mật gọi tới API Spring Security o Hỗ trợ hai ngôn ngữ Tiếng Việt English o Responsive cho phía client side o Sử dụng hệ quản trị sở liệu SQL song song với MongoDB Báo cáo thực tập Tống Đức Dũng 14 Thực Cá nhân thực tập sinh với giúp đỡ tận tình team member AxS Dev Two, mentor Nguyễn Hữu Đạt Kế hoạch Giai đoạn một: server side - Nghiên cứu xây dựng ứng dụng theo Spring framwork với ngôn ngữ Java - Sử dụng MongoDB để cấu hình sở liệu với documents - Xây dựng API theo mơ hình repository/service/controller o Repository: thao tác trực tiếp với sở liệu o Service: hàm thực thi truy vấn liệu thông qua repository o Controller: nơi API gọi tới, controller gọi tới service để thực thi yêu cầu - Sử dụng Heroku để triển khai tự động ứng dụng server side Kết quả: - Xây dựng ứng dụng server side theo cấu trúc ứng dụng Spring Boot - Hoàn thành hầu hết API để thao tác với liệu từ database - Deploy server lên Heroku để gọi API từ client side Giai đoạn hai: client side - Xây dựng giao diện cho người dùng JavaScript, HTML TailwindCSS - Áp dụng kỹ thật cho client side Localization, Internalization - Triển khai ứng dụng lên Vercel để truy cập từ xa Kết quả: Hoàn thiện giao diện người dùng Giao đoạn ba: tích hợp hồn thiện Báo cáo thực tập Tống Đức Dũng 15 - Tích hợp server side client side việc sử dụng API xây dựng - Sửa lỗi tích hợp tính nâng cao Spring Security với acces token, Localization, Internalization - Hồn thiện sửa lỗi cịn tồn đọng phát sinh q trình tích hợp client side server side Kết quả: - Hoàn thiện toàn ứng dụng Báo cáo thực tập Tống Đức Dũng ... PHẦN MỀM BÁO CÁO THỰC TẬP JAVA DEVELOPER Công ty thực tập : TMA Solutions Người phụ trách : Nguyễn Văn Mẫn Thực tập sinh : Tống Đức Dũng TP Hồ Chí Minh, tháng 12 năm 2022 Báo cáo thực tập Tống... nhuận cao Báo cáo thực tập Tống Đức Dũng CHƯƠNG II: NỘI DUNG THỰC TẬP Nội dung thời gian thực tập nghiên cứu ngơn ngữ lập trình Java xây dựng ứng dụng tảng Java với Spring framwork Giúp thực tập sinh... với Jenkins - Báo cáo cuối đợt thực tập - Nộp báo cáo final - Được cấp account để làm việc Anh Nguyễn Văn Mẫn dự án thức - Được nhận offer để trở thành nhân viên thức Báo cáo thực tập Tống Đức

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

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w