1. Trang chủ
  2. » Cao đẳng - Đại học

báo cáo thực tập FULL STACK SOFTWARE ENGINEER

18 28 0

Đ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 18
Dung lượng 231,23 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINHTRƯỜ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 FULL-STACK SOFTWARE ENGINEER Công ty thực tập: KMS Techn

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

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 FULL-STACK SOFTWARE ENGINEER

Công ty thực tập:

KMS Technology Việt Nam – UpStar

Labs Người phụ trách:

NGUYỄN XUÂN HÙNG

Thực tập sinh:

Hồ Chí Minh, 07/2020

-Trang 2-

Trang 2

Người phụ trách: NGUYỄN XUÂN HÙNG Thực tập sinh: NGUYỄN THÀNH LUÂN

-Trang 3-

LỜI MỞ ĐẦU

Trong thời đại hiện nay, Công nghệ thông tin nói chung và ngành Công nghệ phần mềm nói riêng vẫn luôn là một trong những nhân tố thiết yếu và đóng vai trò quan trọng nhất trong

sự phát triển chung của cả xã hội

Công nghệ Web - hay hiểu đơn giản là các trang web giao tiếp với người dùng ngày càng

đa dạng và phong phú, phục vụ cho mọi nhu cầu của con người từ việc bán hàng, cung cấp kiến thức, thông tin liên lạc… đã đặt ra một vấn đề chung chính là hình thức và chất lượng! Làm thế nào để cân bằng được 2 yếu tố chính yếu nói trên và tăng tính trải nghiệm của người dùng chính là bài toán mà bất kì một đội ngũ phát triển website nào cũng cần phải suy nghĩ đau đầu!

Sau những năm tháng trong môi trường đại học, với mong muốn áp dụng những kiến thức đã học trên lớp và học hỏi thêm những kinh nghiệm trong môi trường làm việc thực tế, cũng như muốn được tự trải nghiệm bản thân trong việc tham gia phát triển các sản phẩm của

ngành Công nghệ phần mềm Vì vậy, em đã quyết định chọn KMS Technology Việt Nam –

UpStar Labs với vị trí Full-stack Software Engineer Intern là nơi để thực hiện được dự

định này!

Người phụ trách: NGUYỄN XUÂN HÙNG Thực tập sinh: NGUYỄN THÀNH LUÂN

Trang 3

-Trang 4-

LỜI CẢM ƠN

Trân trọng gửi lời cảm ơn tới Công ty KMS Technology Việt Nam – UpStar Labs đã tạo điều kiện cho em có cơ hội thực tập trong dịp này!

Đặc biệt gửi lời cảm ơn đến anh Nguyễn Xuân Hùng, là người đã trực tiếp hướng dẫn, giúp đỡ em một cách tận tình, người đã sắp xếp và giao những task với mức độ phù hợp với trình độ của bản thân em, cùng những kiến thức, chia sẻ kinh nghiệm bổ ích cho quá trình thực tập!

Cảm ơn các anh chị trong bộ phận Marketing của team Katalon (UpStar Labs) đã cho em hiểu được cách mà một Website Landing Page vận hành như thế nào, cách phối hợp giữa những thành phần tạo nên nó: Design, Content, Developer, và Marketing ra làm sao, trong một môi trường làm việc thân thiện, thoải mái

Em cũng xin gửi lời cảm ơn tới các Thầy Cô trong Khoa Công nghệ phần mềm đã hỗ trợ, tạo điều kiện để em làm bài báo cáo này

Một lần nữa, em xin chân thành cảm ơn!

Tp.Hồ Chí Minh, ngày 27 tháng 07 năm 2020

Sinh viên thực hiện Nguyễn Thành Luân

Người phụ trách: NGUYỄN XUÂN HÙNG Thực tập sinh: NGUYỄN THÀNH LUÂN

-Trang 5-

Trang 4

NHẬN XÉT CỦA KHOA

.

.

.

.

.

.

.

.

.

, ngày tháng ……… năm 2020

Người nhận xét (Ký và ghi rõ họ tên)

Trang 5

Người phụ trách: NGUYỄN XUÂN HÙNG Thực tập sinh: NGUYỄN THÀNH LUÂN

-Trang 6-

MỤC LỤC

LỜI MỞ ĐẦU 3

LỜI CẢM ƠN 4

NHẬN XÉT CỦA KHOA 5

Phần I – GIỚI THIỆU CÔNG TY THỰC TẬP 7

1 TỔNG QUAN VỀ KMS TECHNOLOGY 7 2 TỔNG QUAN VỀ UPSTAR LABS 9 3 WEBSITE KATALON STUDIO 11

Phần II – NỘI DUNG VÀ QUÁ TRÌNH THỰC TẬP 13

Phần III – KẾT QUẢ THỰC TẬP 18 1 TỰ ĐÁNH GIÁ 18 2 NHÌN NHẬN VỀ THUẬN LỢI VÀ KHÓ KHĂN 18

Người phụ trách: NGUYỄN XUÂN HÙNG Thực tập sinh: NGUYỄN THÀNH LUÂN

Trang 6

-Trang 7-

Phần I – GIỚI THIỆU CÔNG TY THỰC TẬP

1 TỔNG QUAN VỀ KMS TECHNOLOGY

Hình 1.1 Logo của công ty KMS Technoly

KMS Technology là nhà cung cấp hàng đầu về phát triển phần mềm, dịch vụ kiểm thử và

tư vấn các giải pháp phần mềm Có trụ sở tại Atlanta, GA với các văn phòng ở California và Việt Nam, KMS đẩy mạnh việc cung cấp các giải pháp phần mềm sáng tạo thông qua

phương pháp lấy khách hàng làm trung tâm, tập trung và phát triển các giá trị kinh doanh cốt lõi

Các số liệu thống kê:

- Hơn 11 năm vận hành trong lĩnh vực

- Phục vụ trên 80 công ty khách hàng

- Hiện tại có hơn 1000 nhân viên

- Với tổng doanh số 4.7 tỷ dollars các sản phẩm được bán ra và tiết kiệm được 139 triệu dollars cho các giải pháp phần mềm

Khách hàng của KMS:

- Các công ty cổ phần

Người phụ trách: NGUYỄN XUÂN HÙNG Thực tập sinh: NGUYỄN THÀNH LUÂN

Trang 7

-Trang 8-

KMS là chuyên gia trong việc hoạt động với các công ty cổ phần Vì cũng là một nhà đầu tư, KMS biết cách cung cấp các dịch vụ làm tăng giá trị đầu tư và giá trị sản phẩm bán ra của những công ty đó

- Các công ty phần mềm

Phát triển phầm mềm và đảm bảo chất lượng là tiêu chỉ của KMS, cung cấp các tài nguyên cần thiết để cải tiến thời gian đưa sản phẩm ra thị trường, cải thiện chất lượng

và giảm chi phí chung

Lĩnh vực kinh doanh:

- Software Outsourcing

Hình 1.2 Logo KMS Technoly

- Startup Incubator

Hình 1.3 Logo UpStar Labs

- Solution Provider

Hình 1.4 Logo KMS Solutions

Điểm khác biệt của KMS:

KMS vừa là một “Doanh nhân”, vừa là một “Nhà vận hành” và một “Nhà đầu tư” Điều này làm cho KMS khác biệt so với các nhà cung cấp dịch vụ và giải pháp phần mềm khác KMS biết chính xác những điều làm nên một nền tảng dẫn đầu trong ngành công nghiệp

Người phụ trách: NGUYỄN XUÂN HÙNG Thực tập sinh: NGUYỄN THÀNH LUÂN

-Trang 9-

Trang 8

này bởi lẽ chính KMS đã tự mình làm ra điều đó với vườn ươm UpStar Labs cùng những sản phẩm của riêng mình

Hình 1.5 Các sản phẩm của KMS Technology

Thông tin khác:

- Website: https://www.kms-technology.com/

- Location:

➢ Việt Nam:

• Cộng Hoà

• Tản Viên

• UpStar Labs

• Đà Nẵng

➢ US:

• Atlanta

2 TỔNG QUAN VỀ UPSTAR LABS

UpStars Labs là startup đầu tư và ươm mầm khởi nghiệp của KMS Technology Được hướng dẫn bởi một đội ngũ lãnh đạo toàn cầu, UpStar Labs xây dựng các sản phẩm phần mềm nổi tiếng thế giới bằng việc sử dụng nguồn nhân lực chất lượng cao ở Việt Nam và đầu

tư vào các công ty khởi nghiệp có ảnh hưởng lớn ở Mỹ và Việt Nam

Các số liệu thống kê:

- Hơn 100 nhân viên

- 5 sản phẩm

- 6 danh mục đầu tư

Người phụ trách: NGUYỄN XUÂN HÙNG Thực tập sinh: NGUYỄN THÀNH LUÂN

-Trang 10-

Các danh mục sản phẩm gồm có:

- QASymphony (2011) Nền tảng quản lý kiểm thử hàng đầu giúp đẩy nhanh quá trình

Trang 9

tung sản phẩm ra thị trường của team agile

- Katalon (2015) Giải pháp toàn diện automation testing hỗ trợ Web, Mobile, và API,

cung cấp các giải pháp tích hợp CI/CD, test scheduling, reporting và monitoring -

Kobiton (2016) Nền tảng kiểm thử trên thiết bị di động, cung cấp manual và automated

testing trên thiết bị thực

- Sprynkl (2019) Ứng dụng giúp cải thiện các giá trị cốt lõi và nét đặc trưng của một team

- Grove (Coming soon)

Hình 1.6 Các sản phẩm của UpStar Labs

Các danh mục đầu tư:

Người phụ trách: NGUYỄN XUÂN HÙNG Thực tập sinh: NGUYỄN THÀNH LUÂN

-Trang 11-

Hình 1.7 Các danh mục đầu tư của UpStar Labs

Thông tin khác:

- Website: https://www.upstarlabs.com/

3 WEBSITE KATALON STUDIO

Trang 10

Website: https://www.katalon.com/

Trang web chính thức của Katalon, một sản phẩm trong vườn ươm UpStar Labs của KMS Technology Bao gồm các trang landing page nhằm định hướng người dùng tới sản phẩm, các trang Blog, Support, Forum và Company Info… Là sự kết hợp của tất cả các bộ phận trong team Katalon, kể từ Product, Sales, Design, Content và Marketing, website Katalon chính là “bộ mặt” của sản phẩm, mang trong mình tầm quan trọng và trọng trách cực

kì lớn lao khi là “trang mở đầu” trong một “cuốn sách” giao tiếp với khách hàng Vậy nên việc thay đổi về các thành phần giao diện, cải thiện hiệu suất, tăng trải nghiệm người dùng và nâng cao hệ thống tracking giúp mang lại một cái nhìn tổng quan, để từ đó có những định hướng phát triển sản phẩm hoàn thiện và phù hợp với nhu cầu người dùng luôn là công việc hàng ngày của cả một đội ngũ phát triển sản phẩm nói riêng, và website Katalon nói riêng

Người phụ trách: NGUYỄN XUÂN HÙNG Thực tập sinh: NGUYỄN THÀNH LUÂN

-Trang 12-

Trang 11

Hình 1.8 Homepage của website Katalon

Người phụ trách: NGUYỄN XUÂN HÙNG Thực tập sinh: NGUYỄN THÀNH LUÂN

-Trang 13-

Trang 12

Phần II – NỘI DUNG VÀ QUÁ TRÌNH THỰC TẬP

Thời gian thực tập: 13/04 đến 13/08 (4 tháng, đang diễn ra)

Hình thức thực tập: Partime (tối thiểu 20 tiếng 1 tuần)

Nội dung thực tập: Tham gia xây dựng và phát triển các tính năng, giao diện của website

Katalon bằng việc sử dụng Wordpress với ngôn ngữ lập trình PHP và MySQL database Đồng thời tiếp cận với hệ thống tracking của sản phẩm được hiện thực bằng NodeJS

Nhật ký thực tập:

Thời gian Nội dung công việc Thực hiện và Kết quả đạt được

Tuần 1

(13/04

đến 19/4)

1 st day on-boarding session Được cấp máy tính riêng, được hướng dẫn

về tài khoản KMS và cách kết nối vào mạng nội bộ thông qua VPN của công ty

Tìm hiểu, build server local cho 2 project katalon

websites (Wordpress)

và katalon-backend-nodejs

• Tải IDE, applications, tools… hỗ trợ cho công việc về máy tính công ty

• Tìm hiểu được cấu trúc của một project Wordpress với custom theme

• Tìm hiểu được cách dựng một server dưới local thông qua XAMPP

• Nắm được cơ chế hoạt động của certificate SSL để dùng cho giao thức HTTPS trong một project wordpress

• Biết được cách import database, config các file có liên quan để dựng local cho website Katalon

• Config được project tracking sử dụng NodeJS để run dưới local và test thử một vài API thông qua Postman

Security Awareness Course Nắm được các chính sách về bảo mật thông

tin của công ty

Người phụ trách: NGUYỄN XUÂN HÙNG Thực tập sinh: NGUYỄN THÀNH LUÂN

-Trang 14-

Tuần 2

và 3

(20/04

Tham gia các buổi Daily meeting

Bước đầu hiểu khái quát được các công việc cần làm của bộ phận Marketing, cũng như vai trò và nhiệm vụ của bản thân trong team

Trang 13

đến

03/05)

Viết email template để gửi cho khách hàng theo

design

Biết được cách viết một email template sử dụng HTML và những hạn chế trong việc hiển thị email trên Outlook

Hiện thực trang

Selenium Landing Page

• Biết cách tạo ra một trang Landing Page trong wordpress theme và thêm vào wordpress admin

• Làm quen với các công cụ hỗ trợ trong việc phát triển website như InVision, Trello, Slack, TinyPNG, S3 Browser (Amazon Web Service)

• Nắm được các bước thực hiện trước khi deploy một website (test local -> test staging -> build production)

• Nâng cao khả năng CSS và responsive • Hạn chế: Vì là task đầu tiên phối hợp với mọi người nên là vẫn chưa chủ động được thời gian cũng như bám sát vào tiến độ dẫn tới bị trễ hạn 2 ngày

Tuần 4 –

giữa

tuần 8

(04/05

đến

03/06)

Cập nhật trang Partner Hiểu được một số vấn đề gặp phải trong

việc hiển thị ở các browser khác nhau (đặc biệt là Internet Explorer) và cách khắc phục

Optimize website Katalon Task lớn nhất và được xem là quan trọng

nhất trong thời gian thực tập

• Sử dụng Google Pagespeed Insight để audit và tiếp cận các cách có thể optimize website Nhận ra vấn đề lớn nhất nằm ở việc render-blocking resources, compressed images và content quá nhiều, dẫn tới DOM Tree lớn

• Các giải pháp tiềm năng:

✓ Eliminate render-blocking resources ✓ Compress images

✓ Remove unused CSS

✓ Cache and cookie

Người phụ trách: NGUYỄN XUÂN HÙNG Thực tập sinh: NGUYỄN THÀNH LUÂN

-Trang 15-

Trang 14

✓ Minify JS/CSS file

✓ Reduce server response time

• Tìm hiểu được các plugin hỗ trợ optimize website Tiến hành cài đặt và so sánh điểm hiệu suất chênh lệch, đồng thời kiểm tra về các lỗi xảy ra sau khi cài plugin

• Sử dụng máy ảo Linux để cài đặt Apache ModPagespeed với mục đích là kiểm tra kết quả giả lập việc optimize lên trực tiếp server Apply các filter của tool và report chi tiết sự thay đổi về hiệu suất của website

• Sử dụng tool optimize-image của anh Nguyễn Xuân Hùng để nén một lượng lớn image assets của websites

Viết tool crawl data

Pagespeed Insight sử

dụng NodeJS

• Mục tiêu là để giám sát các biến động về điểm số của Pagespeed Insight cho website Katatalon để tìm kiếm các giải pháp thích hợp

• Sử dụng cronjob scheduler để lập lịch và highchartjs để visualize data

Cập nhật giao diện trang

Search

Nâng cao khả năng đọc hiểu và maitain code

Fix lỗi thumbnail bị vỡ trên

trang

testautomationresources.com

Nắm được các bước để fix một vấn đề liên quan tới theme

Tà Hine trip với mọi người

trong team.

Giữa

tuần 8 –

tuần

12

(04/06

đến

05/07)

Update version package

backend NodeJS vì vấn

đề security

Sử dụng Postman và list API có sẵn của anh Nguyễn Xuân Hùng để test kết quả trả

về sau khi cập nhật version của package Vì liên quan tới hệ thống tracking của cả sản phẩm nên cần test rất kĩ

Katalon Studio Roadmap • Hiện thực trang Katalon Studio

Roadmap

Người phụ trách: NGUYỄN XUÂN HÙNG Thực tập sinh: NGUYỄN THÀNH LUÂN

-Trang 16-

Trang 15

• Viết plugin Manage Data Roadmap để có thể tuỳ chỉnh dữ liệu của roadmap trong wordpress admin Hiểu được cấu trúc code của một plugin trong wordpress

• Hiểu được cơ chế backup server bằng cách sử dụng nhiều server khác nhau, khi một server bị down thì truy cập vào website vẫn không bị ảnh hưởng Tuy nhiên tồn đọng một vấn đề đó là việc đồng bộ dữ liệu nếu như dữ liệu đó được lưu ở server chứ không phải trong database (plugin Manage Data Roadmap

là một ví dụ điển hình)

Cập nhật trang Sign Up Tuy chỉ thay đổi một ít trong design nhưng

do sử dụng chung template tổng của cả theme, cần hết sức cảnh giác để tránh xảy

ra những lỗi không lường trước được Nâng cao được khả năng đọc hiểu và maintain, reuse code

Tìm kiếm lỗi của

plugin

wordpress-defender

Hiểu được cách tracking một lỗi của plugin

Fix lỗi hiển thị của icon Hiểu thêm được các vấn đề trong việc hiển

thị website trên IE browser và cách khắc phục

Tuần 13

– hiện

tại

(06/07

đến hiện

tại)

Blog post revamp – Cập

nhật toàn bộ trang blog

• Thay đổi toàn bộ giao diện của trang Blog với fixed data (vì chưa quen với hàm ajax load dữ liệu từ database nên sẽ viết trước với dữ liệu tự set cố định)

• Thay đổi giao diện và xử lí của header navigation

• Thêm chức năng Set Popular cho một bài post trong wordpress admin Tìm hiểu

về Wordpress Action Hook

• Viết mới và chỉnh sửa các function load

dữ liệu từ database phù hợp với design

Người phụ trách: NGUYỄN XUÂN HÙNG Thực tập sinh: NGUYỄN THÀNH LUÂN

-Trang 17-

Trang 16

mới sử dụng wpquery và ajax-load more

• Viết thêm các tuỳ chọn trong Theme Settings để thay đổi các thông số liên quan của trang blog Hiểu thêm được cấu trúc của một custom theme trong wordpress

• Tạo phân trang và xử lí cho list blogs • Viết CSS và hiệu chỉnh responsive trên nhiều thiết bị Sử dụng VNC Viewer để có thể test trên MacOS

• Sửa lại script xử lí scroll event cho các nội dung được yêu cầu

• Nắm rõ được cơ chế render của javascript để từ đó khắc phục vấn đề của box-shadow

• Hạn chế:

• Chưa thống nhất về bộ font của design

và font hiển thị trên web dẫn tới khó khăn trong việc code theo design

• Sự khác biệt hiển thị giữa Chrome và Safari

• Miss-comunication dẫn tới việc hiểu lầm

về design idea

Thêm Customer

Success Story của

Rekencentra

Tăng khả năng đọc hiểu code và sử dụng lại template có sẵn

Fix lỗi trang Webinars

bị gắn link sai

Sau khi có kinh nghiệm từ task Blog post revamp, ngay lập tức xác định được vị trí gây ra vấn đề và cách giải quyết

Viết tool export user từ

MySQL

Bước đầu suy nghĩ tới các vấn đề đặt ra về hiệu suất khi query đến một lượng lớn dữ liệu ở database

Làm quen với hệ

thống tracking của

Katalon

[Private]

Người phụ trách: NGUYỄN XUÂN HÙNG Thực tập sinh: NGUYỄN THÀNH LUÂN

-Trang 18-

Ngày đăng: 05/09/2021, 20:58

TỪ KHÓA LIÊN QUAN

w