Chương 2: Nội dung thực tậpĐợt thực tập với chủ đề “Lập trình Fullstask java”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 backend và frontend sử dụng ngôn ngữ
Trang 1KHOA CÔNG NGHỆ PHẦN MỀM
BÁO CÁO THỰC TẬP
FULL STACK JAVA WEB
Trang 2LỜI MỞ ĐẦU
Ngày nay, với tốc độ phát triển vô cùng mạnh mẽ của thị trường, các công ty lớn, cóchiến thuật phát triễn vững chắc, môi trường làm việc chuyên nghiệp, đó là nhân tố quan trọngthúc đẩy sự phát triển của công nghệ thông tin thế giới, cả về phần cứng và phần mềm
Cùng với xu thế phát triển của thế giới, Việt Nam cũng không phải ngoại lệ Các công typhần mềm Việt Nam đã và đang phát triển mạnh mẽ, để hòa nhập với những công ty hàng đầuthế giới Và môi trường làm việc của các công ty lớn chuyên nghiệp, có nhiều cơ để phát huykhả năng, trải nghiệm nhiều công nghệ mới, học hỏi được nhiều người có kinh nghiệm, kiếnthức đi trước Vì lý do này, em quyết định chọn khởi đầu tại công ty TNHH Cyberlogitec ViệtNam
Trang 3LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn Công Ty TNHH CyberLogitec Việt Nam đã 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 nhóm trainer, nhómthực tập chúng em đã tiếp thu được những kiến thức quan trọng để có thể làm được web vớijava Chân thành cảm ơn các anh chị trong nhóm trainer đã bỏ ra nhiều thời gian, công sức đểhướng dẫn chúng em hoàn thành đợt thực tập này
Đặc biệt cảm ơn anh Tú Nguyễn, hướng dẫn, giúp đỡ cho em tận tình cả những khó khăntrong 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 anh Tú Trần,anh Nhiên, anh Uy đã hỗ trợ chúng em rất nhiều về các vấn đề Devops trong quá trình làm ứng
dựng để có thể làm ra một sản phẩm trong thời gian qua Cảm ơn anh Trung, đã chỉ dẫn chúng
em về cách làm báo cáo, lên kế hoạch, viết mail, những kỹ năng không thể thiếu
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ềukiện em làm bài báo cáo này
Hoàng Thùy TrangTpHCM, ngày 22 tháng 07 năm 2020
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 7
1 Giới thiệu Công Ty TNHH Cyberlogitec Việt Nam 7
2 Sản phẩm của công ty 9
Chương 2: Nội dung thực tập 10
1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 10
2 Nghiên cứu kỹ thuật 10
2.1 Các công cụ làm việc 10
2.2 Tham gia training java cơ bản và nâng cao, Spring MCX, Spring boot, git, Oracle, mybatis và code project demo Spring MVC, mybatis, mysql, Webix 11
2.3 Tham gia Onjob vào dự án OPUS-CNTR 12
3 Thực hiện project 12
4 Lịch làm việc 13
Chương 3: Chi tiết về project 16
1 Project Management trainee 16
2 Onjob – tham gia vào dự án OPUS-CNTR 19
2.1 Tổng quan về dự án 19
2.2 Xử lý backend và frontend cho màn hình DOU_TRAIN_0002 19
2.3 Xử lý backend và frontend cho màn hình ESM_DOU_0108 20
2.4 Xử lý backend và frontend cho màn hình UI_SPEC 21
Trang 6TÀI LIỆU THAM KHẢO 22
TỔNG KẾT 24
1 Về kiến thức 24
2 Về kỹ năng 24
3 Các trải nghiệm, ý kiến của bản thân 24
Trang 7Chương 1: Giới thiêu công ty thực tập
1 Giới thiệu Công Ty TNHH Cyberlogitec Việt Nam
- Là Công ty TNHH CyberLogitec Vietnam là một off-shore Development center tạiViệt Nam, cung cấp các dịch vụ gia công cho SW Development, Testing và 24/7Service Desk
- Công ty chuyên về các giải pháp CNTT cho Logistics Business như vận chuyển, thiết
bị đầu cuối, giao nhận (shipping, terminal, forwarding) Ngoài ra, công ty cũngnghiên cứu các công nghệ mới cho Machine Learning (thị giác máy tính & chatbot),web, di động và thực tế ảo
- Công ty chuyên về các giải pháp CNTT cho Logistics Business như vận chuyển, thiết
bị đầu cuối, giao nhận (shipping, terminal, forwarding) Ngoài ra, công ty cũngnghiên cứu các công nghệ mới cho Machine Learning (thị giác máy tính & chatbot),web, di động và thực tế ảo
- Một số thông tin cơ bản của công ty CyberLogitec:
Về nghiệp vụ: Công ty đang có 2 mảng business cực lớn là Terminal vàShipping
+ Mảng Terminal, chuyên cung cấp các giải pháp quản lý cảng biển, kho bãi.Hiện tại đã có trên 10 quốc gia sử dụng
+ Mảng Shipping, mảng này rất mới và cũng rất lớn Các giải pháp hiện tạiđang dùng cho các hãng tàu thuộc nhóm Top 10 thế giới Data rất lớn
Trang 8+ Ngoài ra, có một mảng đang phát triển là các dự án về trí tuệ nhân tạo,Machine Learning và Data Analysis (Big Data)
Trang 9có rất nhiều sản phẩm như: Container Yard, BluePrint, Container Shipping …
Trang 10Chương 2: Nội dung thực tập
Đợt thực tập với chủ đề “Lập trình Fullstask java”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 backend và frontend sử dụng ngôn ngữ java, javascript,IBSheet, Oracle, … đồ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, khám phá và làm việc trong một môitrường làm việc chuyên nghiệp
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
Ngoài ra, thực tập sinh còn được giới thiệu về cách thức làm việc trongcông ty như thời gian đi làm, các quy định cần phải tuân thủ, cách sử dụngemail, blueprint trong công việc…
- Kết quả: Hiểu thêm về công ty CyberLogitec, 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, blueprint 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 Các công cụ làm việc
- Thời gian: 1 tuần (ngày 04/11/2019 – ngày 08/11/2019)
- Nội dung: Tìm hiểu về các công cụ sẽ được sử dụng trong quá trình làm việc.
Trang 11Trong thời gian này, supervisor đã hướng dẫn thực tập sinh tìm hiểu về cáccông cụ sẽ giúp ích cho trong công việc sau này Một số phần mềm trong số đónhư Skype, blueprint - sử dụng trong làm việc nhóm, Eclipse - Công cụ lập trìnhjava, DBeaver - Công cụ lập trình cơ sở dữ liệu.
- 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 các công cụ miễn phí, giúp dễ dàng kết hợp các công
cụ với nhau, so với việc dung các IDE
2.2 Tham gia training java cơ bản và nâng cao, Spring MCX, Spring boot, git,
Oracle, mybatis và code project demo Spring MVC, mybatis, mysql, Webix
- Thời gian: 2 tháng (ngày 11/11/2019 – 03/04/2020)
- Nội dung:
Training: Được training về các kỹ thuật java cơ bản, nâng cao, mybatis, oracle,
git những kiến thức quan trọng cho việc tham gia vào dự án:
+ Thêm lớp học+ Đăng ký lịch học+ Tạo thời khóa biểu+ Thêm sửa xóa thông báo(Được trình bày chi tiết ở chương 3: Chi tiết về project)
Trang 12- Thực hiện:
Tham gia đầy đủ các buổi training của công ty
Làm các bài thực hành, kiểm tra về kiến thức đã học
- Kết quả:
Nâng cao kỹ năng lập trình với ngôn ngữ java
Có được những kiến thức quan trọng cho việc lập trình web sau này
Ngoài ra còn được biết thêm một số quy tắc trong việc viết code sao cho đúngchuẩn, dễ đọc, dễ hiểu
2.3 Tham gia Onjob vào dự án OPUS-CNTR
- Thời gian: 3 tháng (Ngày 06/04/2020 đến ngày 03/07/2020)
- Nội dung: Làm quen dự án và thực hiện các task được giao
(Được trình bày chi tiết ở chương 3: Chi tiết về project)
- Thực hiện: Hoàn thành đầy đủ các task được giao
- Kết quả: Hiểu được sơ lược về dự án, có được những kiến thức quan trọng cho
việc lập trình, ngoài ra còn biết được các quy tắc khi code, code làm sao cho clean,đúng chuẩn, thành viên khác đọc code dễ hiểu
3 Thực hiện project
Sau ba 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ề Java, Oracle, Git, Mybatis, Webix Trong tháng thứ ba, trainer đã hướng dẫn thựctập sinh áp dụng những kiến thức đã học để thực hiện một website Management Trainee.Sau khi hoàn thành tốt giai đoạn training, thực tập sinh đã vận dụng các kiến thức đã cóvào giai đoạn onjob Sinh viên hoàn thành tốt các task được giao, tìm hiểu và lắm đượcnghiệp vụ của dự án
Chi tiết đồ án sẽ được nói ở phần sau
Trang 134 Lịch làm việc
Trang 14Thời gian Công việc Người hướng dẫn
Mức độ hoàn thành
Nhận xét của người hướng dẫn
Làm quen với cáccông cụ làm việctrong công ty
Học cách trao đổi,làm việc quaemail, blueprint
Anh Trung, ChịThanh
Thực hành oracle
Làm bài testoracle
cơ bản và nângcao
Trang 1503/04/2020 boot, mybatis,
webix, git
Thực hành
Làm bài project06/04/2020
đến
03/07/2020
Giai đoạn Onjob:
Thực hiện các taskđược giao
Anh Tú Nguyễn(team leader)
Trang 16Chương 3: Chi tiết về project
1 Project Management trainee
- Nhận thấy trong quá trình training các anh trainer phải sắp xếp thời khóa biểu saocho phù hợp với tất cả các bạn học viên (học viên là các bạn sinh viên còn lịchhọc ở trường và lịch học không trùng nhau) Việc thông báo trên skype và tổnghợp tạo thời khóa biểu trên excel tốn rất nhiều thời gian, công sức Nên em đãchọn project demo cho giai đoạn training là project Management trainee
- Front-end sử dụng css, javascript và bootstrap
- Back-end sử dụng Spring MVC kết hợp Hibernate
Tạo thời khóa biểu
Thêm sửa xóa thông báo
- Một số màn hình trong project:
Trang 17Hình 3.1: Màn hình đăng nhập
Hình 3.2: Màn hình sửa tài khoản
Trang 18Hình 3.3: Màn hình đăng ký lịch học
Hình 3.4: Màn hình thêm thông báo
Trang 192 Onjob – tham gia vào dự án OPUS-CNTR
2.1 Tổng quan về dự án
- Dự án OPUS-CNTR là dự án quản lý hoạt động của cảng biển
2.2 Xử lý backend và frontend cho màn hình DOU_TRAIN_0002
Hình 3.5: Màn hình DOU_TRAIN_0002
- Các yêu cầu xử lý:
URL: opuscntr/DOU_TRN_0002.do
Button area+ Retrieve button only
Search area+ two search condition: Subsystem, Cd ID
Result area
Trang 20+ two IBSheet Grid: Master, Detail
Senario+ Click the retrieve button to search the master grid
+ Click on a specific row in the master grid to search the detail gridaccording to the Cd ID value.(use master’s Cd ID value for search detailgrid)
- Kết quả đạt được: Hoàn thành tất cả các yêu cầu xử lý và các chức năng đã đượcgiao
2.3 Xử lý backend và frontend cho màn hình ESM_DOU_0108
Trang 21 Down Excel: When clicking Down Excel button, exported Excel Grid file has to same grid format.
data-on- Down Excel2: When clicking Down Excel2 button, system automaticallygoes to server site and gets data, then exports data directy to excel withoutloading data on Grid
Sub Sum: These records are summary data for 1 invoice
Total Sum: These records are summary data based on Currence for AllInvocie
- Kết quả đạt được: Hoàn thành tất cả các yêu cầu xử lý và các chức năng đã đượcgiao
2.4 Xử lý backend và frontend cho màn hình UI_SPEC
Trang 22 Save: When Click Save,+ Check whether changed data exists If not, shown message that "No changedata found".
+ Check mandatory fields filled
+ Save changed data in JOO_CARRIER table
Down Excel: Export data into Excel format Format shall be same as UIshown
Carrier: Show Carrier List in a select box format
Vendor: Numeric Type only be inputted
Create Date: Date format When Click Calander Icon, small screen showingcalander image appear
Row Delete: When Click Row Delete, checked Row will be removed
Row Add: When click Row Add, empty row shall be inserted at the bottom
* Table Requirements
Carrier, Rev Lane, Vendor Code & Customer Code must be filled beforesaving
Delete Flag shall be "N" once Row Add
Create/Update Date & User ID not be editable
- Kết quả đạt được: Hoàn thành tất cả các yêu cầu xử lý và các chức năng đã đượcgiao
TÀI LIỆU THAM KHẢO
[1]https://viettuts.vn/spring
[2]https://freetuts.net/hoc-oracle
[3]https://freetuts.net/hoc-java/java-core
Trang 24TỔNG KẾT
1 Về kiến thức
- Em đã học được những kiến thức cần có để trở thành một Java web Developer
- Những kiến thức về Oracle, Java core, Spring framework, Git, Webix, Mybatis thật sựrất bổ ích cho em
- Được trải nghiệm ở môi trường làm việc chuyên nghiệp, môi trường hoàn toàn khác sovới giảng đường đại học Được tiếp cận với nhiều công nghệ mới và được học hỏi cáchlàm việc của những đàn anh, đàn chị đi trước
2 Về kỹ năng
- Rèn luyện và trau dồi kỹ năng đọc và viết code ngắn gọn, rõ ràng, dễ chỉnh sửa và nângcấp về sau
- Rèn luyện khả năng làm việc độc lập, tự nghiên cứu và giải quyết vấn đề
- Học hỏi thêm về kỹ năng làm việc nhóm, cách giao tiếp, nêu ra vấn đề, tham gia đónggóp ý kiến, đề xuất giải pháp để giải quyết các vấn đề chung của nhóm
- Học tập và rèn luyện tính tự giác, sắp xếp công việc cụ thể, rõ ràng, hoàn thành công việcđúng tiến độ được giao
- Hình thành thói quen báo cáo tình hình công việc định kỳ để cả team nắm được tình hìnhhiện tại của cả dự án
3 Các trải nghiệm, ý kiến của bản thân
- Lần đầu tiên tham gia thực tập cũng như làm việc ở một môi trường thực tế, mặc dù đã
có sự chuẩn bị từ trước nhưng không thể tránh được sự bỡ ngỡ về tác phong cũng nhưquy trình làm việc ở môi trường công ty
- Sếp cùng các anh chị đồng nghiệp rất thân thiện và nhiệt tình, môi trường làm việc khôngquá áp lực giúp em có thể hoàn thành tốt các công việc được giao
Trang 25- Những kiến thức được học ở trường chỉ là những kiến thức nền tảng để từ đó đào sâunghiên cứu và thực hiện nhiều dự án thực tế để đáp ứng được yêu cầu về kiến thức và kỹnăng ở môi trường làm việc chuyên nghiệp.
- Ở công ty, với quy trình làm việc rõ ràng cùng với sự giám sát và quản lý của người cóchuyên môn tốt, các dự án đa phần đều hoàn thành đúng thời gian đề ra Điều này là mộtđiều mà sinh viên hay mắc phải trong các quá trình làm đồ án môn học như nhóm trưởng
bỏ mặc nhóm muốn làm gì làm hay cả nhóm lao vào làm chung nhưng vì không có xácđịnh rõ ràng công việc và sự phối hợp trong quá trình làm nên hiệu quả rất thấp
- Ngoài những kiến thức về kỹ thuật hay lập trình, để một sinh viên có thể thích ứng nhanhvới môi trường công ty thì yêu cầu kỹ năng mềm của sinh viên phải đạt một mức độ nhấtđịnh Có một số lượng không hề nhỏ sinh viên có kiến thức rất tốt nhưng kỹ năng mềmquá yếu nên không được nhận vào các công ty hoặc được chi trả mức lương thấp hơnnăng lực.Tự nghiên cứu, giải quyết vấn đề, nêu ra/trình bày vấn đề, kỹ năng giao tiếp vớiđồng nghiệp, kỹ năng về Tiếng Anh,… là những kỹ năng cơ bản sinh viên cần phải traudồi ngay khi còn là sinh viên để có thể đáp ứng được yêu cầu của các nhà tuyển dụng