Công nghệ được ứng dụng trong hầu hết các lĩnh vực quan trọng: giáo dục, y tế, văn hoá, du lịch, giao thông, … Chính vì sự phát triển mạnh mẽ của công nghệ thông tin, nhu cầu sử dụng các
Trang 1TRƯỜ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: GMO-Z.com RUNSYSTEM Người phụ trách: Nguyễn Phước Quang
Thực tập sinh: Trần Đoàn Phương
TP Hồ Chí Minh, tháng 7 năm 2023
Trang 2LỜI MỞ ĐẦU
Trong thời đại ngày nay, công nghệ thông tin giữ vai trò quan trọng ở mọi quốc gia trên thế giới, là yếu tố quan trọng trong công cuộc phát triển đất nước Công nghệ được ứng dụng trong hầu hết các lĩnh vực quan trọng: giáo dục, y tế, văn hoá, du lịch, giao thông, …
Chính vì sự phát triển mạnh mẽ của công nghệ thông tin, nhu cầu sử dụng các ứng dụng web ngày càng tăng cao hơn Để có thể xây dựng nên một ứng dụng web tốt, ngoài yếu tố giao diện thân thiện, dễ sử dụng, các thao tác xử lý logic và dữ liệu phía sau cũng rất quan trọng Nắm bắt được xu hướng đó, em đã lựa chọn Java back-end developer là định hướng phát triển bản thân và nghề nghiệp trong tương lai
Sau những năm tháng học tập trong môi trường đại học, với mong muốn áp dụng những kiến thức đã học và có được trải nghiệm trong môi trường thực tế, em đã quyết định tham gia vào GMO-Z.com Runsystem – một môi trường lý tưởng và chuyên nghiệp để thực hiện dự định của bản thân
Trang 3LỜI CẢM ƠN
Em xin trân trọng gửi lời cảm ơn đến anh Nguyễn Phước Quang đã tạo điều kiện cho em cơ hội được thực tập tại công ty Dù trong thời gian ngắn nhưng nhờ sự chỉ dẫn nhiệt tình của anh Quang, em đã tiếp thu những kiến thức quan trọng để có thể sẵn sàng tham gia vào các dự án thực tế
Ngoài kiến thức chuyên môn, em còn học được những kỹ năng cần thiết: quản lý thời gian, kỹ năng giao tiếp, làm việc nhóm Đây sẽ là hành trang quý giá cho em trên con đường phát triển sau này
Chân thành cảm ơn anh Nguyễn Thành Long và các anh chị trong team Java đã bỏ ra nhiều thời gian, công sức để hướng dẫn, hướng dẫn, giúp đỡ em tận tình trong khi làm quen môi trường mới cũng như trong việc tiếp cận kiến thức công nghệ, kỹ năng lập trình và tư duy sản phẩm để có thể thực hiện tốt dự án cá nhân và dự án thực tế trong thời gian qua
Em cũng xin 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áo cáo này
TP HCM, ngày 4 tháng 7 năm 2023
Trần Đoàn Phương
Trang 4NHẬN XÉT CỦA KHOA
Trang 5
MỤC LỤC
LỜI MỞ ĐẦU 2
LỜI CẢM ƠN 3
NHẬN XÉT CỦA KHOA 4
MỤC LỤC 5
CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP 6
1.1 Giới thiệu công ty GMO-Z.com RUNSYSTEM 6
1.2 Sản phẩm công ty 6
1.2.1 Smart OCR 7
1.2.2 Smart OCR 7
1.2.3 Smart Gift 7
1.2.4 Salefie 7
1.2.5 Odoo 8
1.2.6 Kaike 8
1.3 Lịch làm việc khi thực tập tại công ty 8
CHƯƠNG 2: NỘI DUNG THỰC TẬP 9
2.1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 9
2.2 Nghiên cứu kỹ thuật 9
2.2.1 Tuần 1 9
2.2.2 Tuần 2 10
2.2.3 Tuần 3 10
2.2.4 Tuần 4 11
2.2.5 Tuần 5 11
2.3 Thực hiện dự án cá nhân 11
2.3.1 Công nghệ 11
2.3.2 Mô tả dự án 12
2.3.3 Kết quả 12
2.4 Tham gia dự án thực tế 13
CHƯƠNG 3: TỔNG KẾT 14
3.1 Điểm mạnh 14
3.2 Điểm yếu 14
3.3 Chuẩn đạt được 14
TÀI LIỆU THAM KHẢO 16
Trang 6CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP
1.1 Giới thiệu công ty GMO-Z.com RUNSYSTEM
Hình 1.1 Logo GMO-Z.com RUNSYSTEM
GMO-Z.com RUNSYSTEM tiền thân là Công ty RUNSYSTEM, hoạt động trong lĩnh vực phát triển phần mềm, cung cấp các giải pháp công nghệ thông tin và dịch vụ công nghệ thông tin cho thị trường Việt Nam và Nhật Bản Với phương châm “Chúng tôi làm việc vì nụ cười của bạn”, chúng tôi luôn nỗ lực cải tiến môi trường làm việc, công nghệ và quy trình để tối đa hóa năng suất, cung cấp các sản phẩm chất lượng cao theo tiêu chuẩn toàn cầu, mang lại giá trị
to lớn cho khách hàng và các thành viên của GMO-Z.com RUNSYSTEM
Công ty hiện tại có năm chi nhánh:
- Bốn chi nhánh tại Việt Nam (Hà Nội, Huế, Đà Nẵng, Thành phố Hồ Chí Minh)
- Một chi nhánh tại Nhật Bản (Tokyo)
1.2 Sản phẩm công ty
Trang 71.2.1 Smart OCR
Hình 1.2 Smart OCR
- SmartOCR là giải pháp Trí tuệ nhân tạo để nhận dạng các ký tự trong tài liệu (văn bản in hoặc viết tay) từ dữ liệu hình ảnh, tài liệu, ảnh, …
1.2.2 Smart OCR
Hình 1.3 Smart RPA
- SmartRPA là một công cụ được thiết kế để tự động hóa các tác vụ kinh doanh, giúp tối ưu hóa chi phí và nâng cao năng suất cho doanh nghiệp
1.2.3 Smart Gift
Hình 1.4 Smart Gift
- SmartGift là một công cụ giúp cho các doanh nghiệp FMCG chăm sóc và kết nối trực tiếp với khách hàng thông qua những chiến dịch tiếp thị
1.2.4 Salefie
Hình 1.5 Salefie
- Salefie là giải pháp tương tác với nhân viên kinh doanh thông qua nền tảng website và ứng dụng di động
Trang 81.2.5 Odoo
Hình 1.6 Odoo
- ERP Odoo do GMO-Z.com RUNSYSTEM triển khai là bộ công cụ quản lý doanh nghiệp toàn diện, đa ngành, phù hợp với nhiều loại hình doanh nghiệp: sản xuất, thương mại,
logistics, bán lẻ
1.2.6 Kaike
Hình 1.7 Kaike
- Kaike là phần mềm kế toán thông minh dành cho doanh nghiệp nhỏ và siêu nhỏ giúp nâng cao hiệu quả quản lý bút toán, theo dõi dòng tiền, lập kế hoạch và dự báo dòng tiền thông minh
Ngoài ra còn rất nhiều sản phẩm hỗ trợ doanh nghiệp xây dựng phương thức vận hành tối ưu, loại bỏ các quy trình rườm rà
1.3 Lịch làm việc khi thực tập tại công ty
Em tham gia thực tập tại công ty bắt đầu từ ngày 05/06/2023 tới ngày 05/09/2023, các ngày làm việc trong tuần từ thứ hai đến thứ sáu Công việc hằng ngày bắt đầu từ lúc 8h đến 17h Thời gian nghỉ trưa là 1 tiếng, từ 12h đến 13h Mỗi ngày làm việc em sẽ báo cáo tiến độ công việc hai lần vào đầu ngày và cuối ngày Mỗi sáng thứ sáu hàng tuần sẽ có một cuộc họp với quản lý để báo cáo công việc trong tuần, đồng thời nêu những khó khăn để có thể hỗ trợ kịp thời
Trang 9CHƯƠNG 2: NỘI DUNG THỰC TẬP
2.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 tuần
Nội dung:
- Được giới thiệu về công ty, quy trình thành lập và phát triển
- Làm quen với bộ công cụ hỗ trợ làm việc của công ty: theo dõi chấm công, quản lý hiệu suất, nền tảng chat, …
- Được hướng dẫn quy trình làm việc của một developer
- Tìm hiểu về các quy định bảo mật thông tin của công ty
- Tìm hiểu về git
Kết quả: hiểu thêm về GMO-Z.com RUNSYSTEM, quá trình thành lập và phát triển, các quy định, văn hoá công ty Thành thạo các công cụ hỗ trợ làm việc, quy trình làm việc Hiểu rõ tầm quan trọng của bảo mật thông tin đối với một công ty công nghệ
2.2 Nghiên cứu kỹ thuật
2.2.1 Tuần 1
Nội dung: Tìm hiểu Java core
Hình 2.1 Logo Java
- Tìm hiểu gói java.util:
List và các thư viện đi kèm theo List
Map và các thư viện đi kèm theo Map, HashMap, HashTable
Set và các thư viện đi kèm theo Set
Date
Collections
Vectors
Properties
Rescource Bundle
Calendar
Enum
Iterator
- Tìm hiểu gói java.io:
Trang 10 FileInputStream
FileOutputStream
BufferedInputStream
BufferedOutputStream
- Tìm hiểu thêm một số lớp quan trọng như:
java.io.File: dùng để tạo file/folder, xóa file, get đường dẫn file,
java.io.PrintWriter: in file với autoflush
Lớp interface: Serializable, DataInput
Lớp exceptions thường gặp: FileNotFoundException, IOException,
UnsupportedEncodingException
- Tìm hiểu gói java.lang:
StringBuffer
StringBuilder
Kết quả: Hiểu và vận dụng được các thư viện trong gói java.util, java.io, java.lang Được mentor đánh giá nội dung kiến thức đã học
2.2.2 Tuần 2
Nội dung:
Hình 2.1 Logo Spring Boot
- Tìm hiểu về Spring Boot
- Áp dụng Spring Boot để xây dựng các RESTful API:
Login API
Student Management API
Upload / Download files API
Kết quả: Nắm được kiến thức cơ bản về Spring Boot, có khả năng vận dụng để xây dựng nên những API đơn giản theo chuẩn REST
2.2.3 Tuần 3
Nội dung:
- Nghiên cứu cách build file thực thi (.jar và exe) từ dự án Spring Boot
- Tìm hiểu về Redis
Kết quả:
- Biết cách sử dụng Build Artifact để tạo các file thực thi
Trang 11- Ứng dụng Redis để lưu trữ, caching dữ liệu
2.2.4 Tuần 4
Nội dung:
- Tìm hiểu về Elasticsearch
- Tìm hiểu về Liquibase
Kết quả:
- Biết cách sử dụng Elasticsearch kết hợp với cơ sở dữ liệu để tối ưu hoá các tác vụ tìm kiếm trong ứng dụng
- Thành thạo sử dụng Liquibase để quản lý lịch sử thay đổi trong cơ sở dữ liệu
2.2.5 Tuần 5
Nội dung:
- Tìm hiểu về Spring Security
- Tìm hiểu VueJS 3
Hình 2.3 Logo VueJS 3
Kết quả:
- Biết cách sử dụng Spring Security để xác thực các request gửi đến server, bảo mật JWT, phân chia quyền cho người dùng
- Nắm được các khái niệm cơ bản trong VueJS: component, template, lifecycle, cách triển khai một ứng dụng VueJS trên môi trường phát triển
2.3 Thực hiện dự án cá nhân
2.3.1 Công nghệ
Client:
- Sử dụng VueJS 3 để xây dựng giao diện người dùng
- Các thư viện hỗ trợ:
SASS
axios
vue3-notification
vue3-cookies
Server:
- Xây dựng RESTful API sử dụng Spring Boot 3
Trang 12- Cơ sở dữ liệu: MySQL
2.3.2 Mô tả dự án
- Đây là dự án demo cho quá trình tìm hiểu Spring Boot và VueJS của em, với các chức năng đơn giản:
Đăng nhập
Đăng ký
Hiển thị dashboard
Có routes kết nối các trang với nhau
Xác thực JWT và lưu vào cookies
2.3.3 Kết quả
- Xây dựng được ứng dụng Login hoàn chỉnh, nắm được quy trình phát triển một ứng dụng web từ cả phía client và server
- Giao diện ứng dụng:
Hình 2.4 Màn hình Login
Trang 13Hình 2.5 Màn hình Register
Hình 2.6 Màn hình Dashboard
2.4 Tham gia dự án thực tế
- Vì đang trong thời gian đào tạo tại công ty, em chưa có cơ hội được tiếp cận với các dự án thực tế Trong thời gian tới em sẽ được tham gia vào dự án và học hỏi thêm nhiều kiến thức,
từ đó trau dồi kinh nghiệm của bản thân
Trang 14CHƯƠNG 3: TỔNG KẾT
Quãng thời gian thực tập tại GMO-Z.com RUNSYSTEM đã giúp em cải thiện bản thân rất nhiều Ngoài những kiến thức và kỹ năng chuyên môn, em còn học được rất nhiều điều bổ ích
Vì triết lý của công ty là đặt việc phát triển con người làm trọng tâm, em luôn cảm thấy thoải mái khi làm việc trong môi trường chuyên nghiệp này
Thời gian thực tập còn hạn chế nên em chưa có được nhiều cơ hội tham gia vào các dự án thực
tế của công ty Thời gian thực tập còn lại em sẽ cố gắng trau dồi kiến thức để hoàn thành tốt công việc khi được tham gia vào dự án
3.1 Điểm mạnh
- Được làm việc tại môi trường chuyên nghiệp, được hướng dẫn bởi những anh chị có chuyên môn và tận tâm
- Chuyên cần, có ý chí cầu tiến, ham học hỏi
- Hoà đồng với mọi người trong công ty
- Tiếp thu kiến thức mới nhanh chóng
3.2 Điểm yếu
- Chưa có nhiều kinh nghiệm làm việc với Java trước đó, nên tốn nhiều thời gian để tìm hiểu kiến thức nền
- Vị trí nơi ở cách công ty xa, nên tốn nhiều thời gian di chuyển
3.3 Chuẩn đạt được
Goal Mục tiêu môn học
G1 Nắm bắt được xu hướng, nhu cầu xã hội và tính đặc thù của doanh nghiệp
G2 Hiểu và giải thích được các khái niệm cơ bản, thuật ngữ và sơ đồ hệ thống trong dự
án
G3 Nắm được quy trình, phương pháp và công nghệ phát triển sản phẩm phần mềm tại
doanh nghiệp
G4 Có khả năng tìm hiểu vấn đề, mô hình hóa vấn đề và tham gia giải quyết vấn đề G5 Phát triển kỹ năng tư duy, kỹ năng làm việc nhóm và kỹ năng trình bày
G6 Đọc, hiểu các tài liệu và giao tiếp bằng tiếng Anh
Trang 15Qua quá trình thực tập, em có thể tự đánh giá các chuẩn đạt được như sau:
- Nắm bắt được xu hướng, nhu cầu xã hội và tính đặc thù của doanh nghiệp (G1): 9/10
- Hiểu và giải thích được các khái niệm cơ bản, thuật ngữ và sơ đồ hệ thống trong dự án (G2): 7/10
- Nắm được quy trình, phương pháp và công nghệ phát triển sản phẩm phần mềm tại doanh nghiệp (G3): 10/10
- Có khả năng tìm hiểu vấn đề, mô hình hóa vấn đề và tham gia giải quyết vấn đề (G4): 9/10
- Phát triển kỹ năng tư duy, kỹ năng làm việc nhóm và kỹ năng trình bày (G5): 8/10
- Đọc, hiểu các tài liệu và giao tiếp bằng tiếng Anh (G6): 8/10
Trang 16TÀI LIỆU THAM KHẢO
1 Sản phẩm - RUNSYSTEM | GMO-Z.com RUNSYSTEM Joint Stock Company (2023)
Retrieved 11 July 2023, from https://runsystem.net/vi/san-pham/
2 Chúng tôi là ai? - RUNSYSTEM | GMO-Z.com RUNSYSTEM Joint Stock Company
(2023) Retrieved 11 July 2023, from https://runsystem.net/vi/cong-ty/chung-toi-la-ai/