You are on page 1of 25

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN TỬ - VIỄN THÔNG


~~~~~  ~~~~~

BÁO CÁO THỰC TẬP KỸ THUẬT

Sinh viên: Phùng Mạnh Dũng


Mã số sinh viên: 20182446

Lớp: ĐTVT 02 – K63


Đơn vị thực tập: Trung tâm chỉ huy điểu khiển
Tổng công ty Công nghiệp Công nghệ cao Viettel

Hà Nội, 09/2021
LỜI NÓI ĐẦU
Trong quá trình học tập tại trường Đại học, thực tập là giai đoạn, quá trình cần thiết
cho sinh viên nói chung, sinh viên Đại học Bách khoa Hà Nội và sinh viên viện Điện tử -
Viễn thông nói riêng. Đây là cơ hội để sinh viên làm quen với môi trường làm việc thực
tế. Nhất là đối với những sinh viên ngành kỹ thuật, thực tập kỹ thuật là cơ hội cho sinh
viên kiểm nghiệm và áp dụng những kiến thức đã học để giải quyết vấn đề thực tiễn. Bên
cạnh đó, đây là thời gian các bạn sinh viên có thể tìm hiểu và biết rõ hơn về các vị trí
công việc, cơ hội việc làm tiềm năng sau khi ra trường để từ đó đưa ra những định hướng
học tập đúng đắn cho bản thân. Từ đây, ta có thể thấy rõ tầm quan trọng và ý nghĩa rất lớn
của kỳ thực tập kỹ thuật K63 của viện Điện tử - Viễn thông.
Đợt thực tập kéo dài từ 12/7 đến 12/8/2021. Ở Tổng Công ty Công nghiệp Công nghệ
cao Viettel (VHT), em đã được tìm hiểu về lập trình Front-end, được tham gia thiết kế và
lập trình một trang web hoàn chỉnh.Thực sự, đây là những kiến thức hết sức hữu ích giúp
cho sinh viên chúng em có thể tự nâng cao trình độ bản thân và có một nền tảng vững
chắc để đáp ứng được nhu cầu tuyển dụng của các công ty sau này.
Đối với cá nhân em, một tháng thực tập tại VHT giúp em tích lũy được một số kinh
nghiệm quý báu cho bản thân. Tuy còn gặp những khó khăn do vốn kiến thức chuyên
ngành của bản thân còn hạn chế, thời gian thực tập không dài và chưa quen với tác phong
làm việc nhưng nhờ có sự hướng dẫn chỉ bảo tận tình của các anh chị trong Công ty đã
giúp em đã hoàn thành đợt thực tập này.
Em xin gửi lời cảm ơn chân thành tới viện Điện tử - Viễn thông và công ty VHT đã
tạo điều kiện cho em thực hiện và hoàn thành đợt thực tập này. Em cũng xin gửi lời cảm
ơn chân thành tới anh Nguyễn Quang Bằng – Phó Giám đốc Trung tâm Chỉ huy điều khiển-
Tổng Công ty Công nghiệp Công nghệ cao Viettel và anh Phạm Đức Long - Kỹ sư lập trình
Web tại Trung tâm chỉ huy điều khiển – Tổng Công ty Công nghiệp Công nghệ cao
Viettel là những người đã trực tiếp theo sát giúp đỡ em hoàn thành tốt trong kỳ thực tập
vừa qua.
Em xin chân thành cảm ơn!

2
Những thuận lợi và khó khăn trong thời gian thực tập

 Thuận lợi
o Được thực tập Offline trong hai tuần đầu, giúp em được tiếp xúc với môi trường làm
việc chuyên nghiệp, tác phong như trong quân đội
o Các anh chị trong công rất giỏi, thân thiện, luôn tận tình giúp đỡ em khi gặp khó khăn
o Được công ty hỗ trợ ăn trưa, hỗ trợ máy tính, được đăng ký tiêm Covid

 Khó khăn
o Do tình hình dịch diễn biến phức tạp, nên em phải tiến hành thực tập online
vào hai tuần cuối, việc trao đổi qua kênh online còn gặp nhiều khó khăn bất
tiện

3
MỤC LỤC

Danh mục ký hiệu và chữ viết tắt..................................................................................................5


CHƯƠNG 1. GIỚI THIỆU VỀ ĐƠN VỊ TIẾP NHẬN.............................................................6
1.1 Giới thiệu về Tập đoàn Công nghiệp - Viễn thông Quân đội (VIETTEL).......................6

1.1.1 Lịch sử phát triển.............................................................................................................7


1.1.2 Mô hình tổ chức............................................................................................................... 8
1.2 Giới thiệu về Tổng Công ty Công nghiệp Công nghệ cao..................................................9
CHƯƠNG 2. NỘI DUNG THỰC TẬP.......................................................................................13
2.1 Các vị trí công việc trong công ty......................................................................................13
2.2 Các lĩnh vực hoạt động chuyên môn của công ty.............................................................15
2.3 Công việc được giao trong thời gian thực tập..................................................................15

2.3.1 Tìm hiểu về kiến thức lập trình sử dụng framework Angular........................................15
2.3.2 Thiết kế ứng dụng Web sử dụng Angular.....................................................................20
CHƯƠNG 3. NHẬN XÉT VÀ ĐỀ XUẤT...................................................................................24
3.1 Nhận xét............................................................................................................................... 24

3.1.1 Ưu điểm......................................................................................................................... 24
3.1.2 Nhược điểm...................................................................................................................24
3.2 Đề xuất................................................................................................................................. 24
CHƯƠNG 4. KẾT LUẬN............................................................................................................25
TÀI LIỆU THAM KHẢO............................................................................................................26

4
Danh mục ký hiệu và chữ viết tắt
Tiếng Việt Tiếng Anh Chữ viết tắt
Tổng Công ty Công nghiệp Công nghệ cao Viettel High Technology Industries VHT
Viettel Corporation
Internet vạn vật Internet of things IoT

5
CHƯƠNG 1. GIỚI THIỆU VỀ ĐƠN VỊ TIẾP NHẬN

1.1 Giới thiệu về Tập đoàn Công nghiệp - Viễn thông Quân đội (VIETTEL).

Tập đoàn Công nghiệp - Viễn thông Quân đội (VIETTEL) có trụ sở chính tại số 1 Trần Hữu Dực,
Mỹ Đình 2, Nam Từ Liêm, Hà Nội, Việt Nam. Thành lập vào 1/6/198910 , có hơn 100 triệu khác
hàng trên toàn cầu, thị trường đã đầu tư: Laos, Cambodia, Haiti, Mozambique, Peru, Timor Leste,
Cameroon, Tanzania, Burundi, Myanma

Ngành nghề sản xuất kinh doanh chính:


 Viễn thông
 Công nghệ thông tin
 Nghiên cứu sản xuất công nghệ cao
 Xây lắp hạ tầng viễn thông.

Hình 1.1 Tòa nhà trụ sở Tập đoàn Công nghiệp – Viễn thông Quân đội

6
Hình 1.2 Logo Viettel ( bên phải là logo mới)

1.1.1 Lịch sử phát triển


Tập đoàn Công nghiệp - Viễn thông Quân đội (VIETTEL) có trụ sở chính tại số 1 Trần Hữu
Dực, Mỹ Đình 2, Nam Từ Liêm, Hà Nội, Việt Nam. Thành lập vào 1/6/198910 , có hơn 100 triệu
khác hàng trên toàn cầu, thị trường đã đầu tư: Laos, Cambodia, Haiti, Mozambique, Peru, Timor
Leste, Cameroon, Tanzania, Burundi, Myanma Ngành nghề sản xuất kinh doanh chính: Viễn thông,
Công nghệ thông tin, Nghiên cứu sản xuất công nghệ cao, Xây lắp hạ tầng viễn thông.
Lịch sử phát triển :
Mốc thời gian Thành tựu
1/6/1989 Thành lập Tổng Công ty Điện tử thiết bị thông tin (SIGELCO), tiền thân của Tập
đoàn Viễn thông Quân đội (Viettel)
1995 Doanh nghiệp duy nhất được cấp giấy phép kinh doanh đầy đủ các dịch vụ viễn
thông ở Việt Nam
2000 Doanh nghiệp đầu tiên ở Việt Nam cung cấp dịch vụ thoại sử dụng công nghệ IP
2002 Cung cấp dịch vụ truy cập Internet
2003 Cung cấp dịch vụ điện thoại cố định (PSTN) và Cổng vệ tinh Quốc tế
2004 Cung cấp dịch vụ điện thoại di động và Cổng cáp quốc tế
2005 Cung cấp dịch vụ mạng riêng ảo
2006 Khai trương mạng viễn thông tại Lào và Campuchia
2007 Doanh thu đạt 1 tỷ đô la
Hội tụ 3 dịch vụ cố định -di động -Internet
2008 Doanh thu đạt 2 tỷ USD
Lọt vào top 100 thương hiệu viễn thông lớn nhất thế giới
2009 Trở thành Tập đoàn kinh tế Khai trương mạng 3G lớn nhất Việt Nam và là mạng
duy nhất trên thế giới ngay khi khai trương đã phủ được 86% dân số
2010 Hoàn thành chương trình kết nối Internet trường học tại Việt Nam tới gần 29.000
trường, cơ sở giáo dục (chiếm 72% số trường trên toàn quốc)
2011 Sáp nhập EVN Telecom
Cung cấp dịch vụ truyền hình trên hệ thống mạng băng rộng (IPTV)
Khai trương Trung tâm lưu trữ dữ liệu (IDC) lớn nhất
2012-2013 Trở thành doanh nghiệp viễn thông và CNTT lớn nhất Việt Nam
Sản xuất thành công điện thoại di động 2G
Sản xuất thành công điện thoại di động 3G
2014 Khai trương Bitel (Peru), Nexttel (Cameroon)
7
2015 Khai trương Lumitel (Burundi) và Halotel (Tanzania)
Metfone sáp nhập Beeline tại Cambodia
2016 Sản xuất thành công thiết bị hạ tầng cho mạng viên thông
2017 Tiên phong trong việc bùng nổ dịch vụ 4G thông qua việc là nhà mạng đầu tiên
chính thức khai trương dịch vụ 4G tại Việt Nam
Các thiết bị mạng lõi do Viettel sản xuất đã được đưa vào mạng lưới tại Việt Nam
và cả thị trường quốc tế, trong đó có có 300 trạm BTS 4G
2018 Chính thức đổi tên thành: Tâp đoàn Công nghiệp – Viễn thông quân đội
2019 Hoàn thành tích hợp hạ tầng phát sóng 5G đầu tiên tại Hà Nội
Bước chân vào thị trường xe công nghệ với ứng dụng MyGo

1.1.2 Mô hình tổ chức


Ban lãnh đạo:

Chức vụ Họ và tên
Tổng giám đốc Lê Đăng Dũng
Phó Tổng Giám đốc Hoàng Sơn
Phó Tổng Giám đốc Tào Đức Thắng
Phó Tổng Giám đốc Nguyễn Đình Chiến
Phó Tổng Giám đốc Đỗ Minh Phương
Phó Tổng Giám đốc Nguyễn Thành Nam
Công ty mẹ bao gồm:
 Ban Tổng Giám đốc:
 Khối cơ quan Tập đoàn (13 ban/ ngành)
 Các đơn vị hoạch toán phụ thuộc:
o Khối Viễn thông trong nước:
 Tổng Công ty Mạng lưới
 Tổng Công ty Viễn thông
 63 chi nhánh Viettel tỉnh/thành phố
o Khối Viện và các Trung tâm nghiên cứu:
 Tổng Công ty Giải pháp Doanh nghiệp
 Tổng Công ty Công nghiệp Công nghệ cao
 Công ty An ninh mạng
 Trung tâm không gian mạng
 Viện hang không Vũ trụ
 T.T Nghiên cứu Thiết bị thông minh
 T.T Nghiên cứu và Phát triển Vi mạch
o Các đơn vị còn lại:
 Học viện Viettel
 Công ty Bất động sản
 Công ty truyền thông
8
 Trung tâm thể thao
 Văn phòng đại diện tại Ethiopia
 Các đơn vị hoạch toán độc lập:
o 6 Công ty Tập đoàn sở hữu 100% vốn điều lệ
o 8 Công ty Tập đoàn sơ hữu 50% đến dưới 100%

1.2 Giới thiệu về Tổng Công ty Công nghiệp Công nghệ cao

Hình 1.3 Tòa nhà Viettel tại Láng Hòa Lạc, Hà Nội

Tổng Công ty Công nghiệp Công nghệ cao Viettel được thành lập ngày 03/01/2019
theo quyết định của Tập đoàn Công nghiệp - Viễn thông Quân đội Viettel trên cơ sở
sát nhập 3 đơn vị đó là:
 Viện Nghiên cứu và Phát triển Viettel (thành lập năm 2011)
 Trung tâm Nghiên cứu Công nghệ mạng Viettel (thành lập năm 2014)
 Trung tâm Nghiên cứu phát triển Vi mạch Viettel (thành lập năm 2017)

9
Hình 1.4 Logo Tổng Công ty Công nghiệp Công nghệ cao Viettel

Tổng Công ty Công nghiệp Công nghệ cao Viettel được giao nhiệm vụ chính là
tập trung phát triển công nghiệp quốc phòng, công nghiệp điện tử viễn thông.
Việc thành lập Tổng công ty Công nghiệp công nghệ cao là tiếp tục giai đoạn
phát triển thứ tư của Viettel. VHT với 3 nền công nghiệp mũi nhọn là công nghiệp
quốc phòng, công nghiệp điện tử viễn thông, công nghiệp an ninh mạng, sẽ thực hiện
nhiệm vụ "Make in Vietnam", đưa các sản phẩm công nghệ mạng ra thị trường quốc
tế.

Hình 1.5 Tổng Công ty Công Nghiệp Công nghệ cao tại 380 Lạc Long Quân
10
11
CHƯƠNG 2. NỘI DUNG THỰC TẬP

2.1 Các vị trí công việc trong công ty

Vị trí Mô tả công việc Yêu cầu chuyên môn


Kỹ Sư Điều - Nhận dạng đối tượng, Mô hình hóa - Kỹ sư chuyên ngành: Điều khiển tự
Khiển Tự Động đối tượng, mô phỏng hệ thống động hóa, cơ điện tử
- Thiết kế bộ điều khiển, nghiên cứu - Có kinh nghiệm làm việc trên phần mềm
thuật toán điều khiển Matlab/Simulink
- Tối ưu tham số điều khiển theo mục - Có kinh nghiệm nghiên cứu thuật toán
tiêu điều khiển hệ truyền động
- Kết hợp triển khai thuật toán, chỉnh - CPA > 3.0 đối với sinh viên mới ra
định tham số, kiểm nghiệm hệ thống trường
- Ngoại ngữ: Toeic quốc tế > 550 hoặc
chứng chỉ tương đương (Công ty hỗ trợ tổ
chức thi tuyển tiếng anh đầu vào)

Kỹ Sư Lập - Xây dựng hệ thống phần mềm - Kỹ sư chuyên ngành: CNTT, Điều khiển
Trình Phần nhúng (từ lớp MCU tới lớp ứng tự động hóa, cơ điện tử, Điện tử viễn
Mềm Nhúng dụng), thông
- Triển khai các thuật toán điều khiển - Có kinh nghiệm lập trình nhúng trên các
trên hệ thống nhúng. nền tảng MCU, DSP và sử dụng các phần
- Giao tiếp và kết nối các thiết bị mềm code composer, code studio
ngoại vi - Có khả năng debug, xử lý lỗi
- Xây dựng và tối ưu chu trình hoạt - CPA > 3.0 đối với sinh viên mới ra
động. trường
- Ngoại ngữ: Toeic quốc tế > 550 hoặc
chứng chỉ tương đương (Công ty hỗ trợ tổ
chức thi tuyển tiếng anh đầu vào)

Kỹ Sư Phát - Nghiên cứu các nền tảng công nghệ - Tốt nghiệp đại học loại khá trở lên các
Triển Phần Data mining, AI, Big Data để xử lí dữ trường Đại học chính quy.
Mềm liệu lớn áp dụng vào bài toán thông - Chuyên ngành: Công nghệ thông tin,
mình hóa thiết bị mạng 5G. Khoa học máy tính, Điện tử viễn thông,
- Nghiên cứu nền tảng công nghệ ảo Toán tin ứng dụng,….
hóa Cloud Native (Kubernetes, - TOEIC tối thiểu 550 hoặc điểm IELTS,
Openshift, Docker, ...) để phát triển TOEFL tương đương.
sản phẩm trên các nền tảng này. - Ưu tiên các nhân sự đã tham gia các hệ
- Nghiên cứu, phát triển các module thống xử lí giao dịch lớn, đáp ứng nhiều
phần mềm trong hệ thống mạng lõi người dùng tại một thời điểm
5G - Có kiến thức nền tảng về hệ điều hành:
13
- Nghiên cứu phát triển các hệ thống Linux/Unix.
Web giám sát, cấu hình, quản lí các hệ - Có khả năng chịu áp lực cao trong công
thống quản lí trong mạng lưới viễn việc, sức khỏe tốt, sẵn sàng đi công tác
thông. trong và ngoài nước.

Chuyên Viên - Thiết kế, khởi tạo kịch bản kiểm thử -Tốt nghiệp đại học chính quy loại Khá
Kiểm Thử Phần (test case) trở lên; ưu tiên tốt nghiệp chuyên ngành
Mềm (Tester)  - Kiểm thử chương trình/sản phẩm công nghệ thông tin, hoặc chuyên ngành
theo kịch bản kiểm thử. liên quan
- Kiểm tra chất lượng sản phẩm để -TOEIC 550 trở lên (nếu chưa có chứng
đảm bảo sản phẩm được tạo ra đáp chỉ có thể thi tại hệ thống riêng của công
ứng yêu cầu của khách hàng ty)
-Tham gia đào tạo, hướng dẫn khách - Có kiến thức về quy trình phát triển
hàng sử dụng sản phẩm phần mềm, quy trình kiểm thử theo mô
-Nghiên cứu, cập nhật các công cụ hình CMMi.
kiểm thử và các kiến thức mới hỗ trợ -Sẵn sàng nghiên cứu, học hỏi kiến thức,
cho công việc công nghệ mới phục vụ dự án
-Đề xuất, cải tiến sản phẩm, quy trình -Khả năng tư duy logic tốt, nhiệt tình, cẩn
kiểm thử thận, tỉ mỉ có trách nhiệm với chất lượng
sản phẩm
-Có khả năng làm việc nhóm, sẵn sàng hỗ
trợ các thành viên khác trong dự án
- Có kinh nghiệm về kiểm thử tự động là
1 lợi thế.

Kỹ Sư Thiết Kế - Nghiên cứu, thiết kế toàn bộ các bo - Tốt nghiệp Đại học Chính quy loại Khá
Phần Cứng mạch phần cứng số tốc độ thấp khá trở lên, chuyên ngành: Công nghệ thông
phức tạp, có nhiều chỉ tiêu đầu vào, tin, Khoa học máy tính, Toán tin ứng
đầu ra. dụng, Điện tử viễn thông, hoặc các
- Thiết kế các bo mạch số có tốc độ chuyên ngành kỹ thuật khác liên quan.
giao tiếp Ethernet dưới 1Gbps với số - Trình độ tiếng Anh: TOEIC tối thiểu
lớp mạch in dưới 6 lớp; các bo mạch 550 hoặc điểm IELTS, TOEFL tương
sử dụng DSP, ADC, DAC với tốc độ đương.
lấy mẫu dưới 100Msps với số lớp - Có tối thiểu 2 năm kinh nghiệm làm
mạch in dưới 8 lớp; các bo mạch số việc về thiết kế phần cứng số.
sử dụng IC nhớ với tốc độ đọc ghi - Hiểu biết về các IC phức tạp (CPLD,
dưới 533MT/s, số lớp mạch in dưới 8 ARM...), IC chức năng (ADC, DAC...),
lớp,... IC nhớ (DDR1, DDR2...)
- Thiết kế mạch nguồn switching đạt - Hiểu biết về thiết kế các mạch nguồn
hiệu suất cao trên dòng cao, thiết kế hiệu suất cao - Sử dụng tốt các phần mềm
các mạch tiền xử lý tín hiệu Audio thiết kế mạch điện (Altium, Alegro...) để
trước khi đưa vào các bo mạch xử lý thiết kế các bo mạch phần cứng xử lý số
tín hiệu số tốc độ cao. - Xây dựng bài tốc độ thấp.
14
đo cho các module phần cứng số. - Sử dụng tốt các phần mềm mô phỏng để
mô phỏng các tín hiệu điện trong quá
trình thiết kế bo mạch xử lý số tốc độ
thấp.

2.2 Các lĩnh vực hoạt động chuyên môn của công ty
Tổng Công ty Công nghiệp Công nghệ cao Viettel (VHT) hoạt động  3 lĩnh vực chính:

 Công nghệ quân sự: Đến nay VHT đã cung cấp cho Bộ Quốc phòng hàng chục khí tài quân
sự hiện đại. Trong đó, tiêu biểu là các dòng sản phẩm công nghệ cao và rất cao - tương đương
chuẩn NATO như các dòng ra đa công nghệ mới, hệ thống chỉ huy điều khiển, quang điện
tử… vốn đều phải nhập ngoại hoặc không thể nhập ngoại.

 Công nghệ viễn thông: trong năm 2020, VHT đã đóng gói thành công nhiều sản phẩm công
nghệ cao như thiết bị truy nhập vô tuyến gNodeB 5G, mạng lõi 5G, chip 5G (chip RFIC,
DFE)… sẵn sàng thương mại hóa theo lộ trình. Đặc biệt, thiết bị lõi 5G do VHT nghiên cứu
chế tạo sản xuất đã tham gia hoạt động và kết nối thông suốt trên mạng 5G của Viettel được
cung cấp ở mức dịch vụ thương mại thử nghiệm diện rộng từ tháng 11/2020 vừa qua.

 Thiết bị dân dụng. VHT đã hình thành một hệ sinh thái sản phẩm công nghệ cao hướng đến
phục vụ các nhu cầu thiết yếu của xã hội số đang hình thành và phát triển mạnh tại Việt Nam.
Các nền tảng, giải pháp mới của VHT như nền tảng kết nối Internet vạn vật (IoT Platform),
Camera giám sát sử dụng trí tuệ nhân tạo (AI), bộ điều khiển nguồn và lưu điện thông minh,
thiết bị quản lý tàu cá, các thiết bị theo dõi sức khỏe tim mạch từ xa, máy lọc và cấp không
khí tươi… được thử nghiệm thành công và đưa vào sản xuất hàng loạt.

2.3 Công việc được giao trong thời gian thực tập
Trong quá trình thực tập tại Trung tâm chỉ huy điều khiển trực thuộc Tổng Công ty
Công nghiêp Công nghệ cao, em xin được mô tả công việc của mình như sau:

 Từ ngày 12/07/2021 – 25/7/2021: Người hướng dẫn là anh Phạm Đức Long đã
giao cho em tìm hiểu về một framework frontend là Angular, cụ thể component,
template, pipe, data binding, directive, service ,…

 Từ ngày 26/07/21 đến 12/08/21: Em được giao một bài tập là thiết kế một ứng
dụng Web sử dụng framework Angular có nhiệm vụ quản trị các thiết bị IoT, thiêt
bị tracking đo độ ẩm, nhiệt độ và các tham số môi trường.
2.3.1 Tìm hiểu về kiến thức lập trình sử dụng framework Angular

Angular là một javascript framework do google phát triển để xây dựng các Single Page
Application (SPA) bằng JavaScript , HTML và TypeScript . Angular cung cấp các tính năng tích hợp
15
cho animation , http service và có các tính năng như auto-complete , navigation , toolbar , menus ,…
Code được viết bằng TypeScript , biên dịch thành JavaScript và hiển thị tương tự trong trình duyệt.
Để học được angular thì chúng ta cần biết các kiển thức cơ bản sau:
 HTML
 CSS
 JavaScript
 TypeScript
 Document Object Model (DOM)
AngularJS được phát triển từ năm 2009 bởi Misko Hevery và một người bạn của anh là Adam
Abrons. Trong thực tế, Angular có hai phiên bản hoàn toàn khác nhau, đấy là Angular JS và Angular
Phiên bản AngularJS là phiên bản đàu tien, hiện tại được cho là đã lỗi thời, và được thay thế bằng
Angular2.
Bắt đầu từ Angular2 trở đi, nó có tên là Angular, có tư duy thay đổi hoàn toàn so với AngularJS.

Để dễ tiếp cận cách thức hoạt động của Angular, chúng ta sẽ tìm hiểu kiến trúc tổng quan của
Angular 2 bao gồm 8 thành phần chính là Modules, Components, Templates, Metadata, Data
binding, Directives, Services và Dependency injection [1] (Các phiên bản tiếp theo có bổ sung và
thay đổi cách sắp sếp các thành phần chính của Angular nhưng nội dung, ý nghĩa và cách thức sử
dụng cũng tương tự như Angular 2. Các bạn tham khảo chi tiết tại đây)
1. . Modules
Các ứng dụng Angular được phát triển dựa trên việc module hóa và mỗi module là một block thực
hiện một chức năng nhất định. Một ứng dụng Angular có thể có một hoặc nhiều modules và các
module được khai báo bằng @NgModule decorator với các tham số sau:
– declarations: tên các lớp view thuộc module này (Angular có 3 loại lớp view là: components,
directives và pipes).
– exports: tên các lớp view thuộc declarations có thể được sử dụng trong component templates của
các modules khác.
– imports: tên các modules sẽ được sử dụng trong module này.
– providers: tên các services mà module này cung cấp.
– bootstrap: tên lớp view dành cho root component, chỉ có root module mới thiết lập tham số này.
Sau đây là một ví dụ về Angular module (các module sẽ có đuôi file là .module.ts như
login.module.ts):

2. Component
Component được sử dụng để điều khiển view trong Angular (tương tư như Controller trong mô hình
MVC). Các component sẽ có đuôi file là .component.ts như login.component.ts)

16
3. Template
Template được viết dưới dạng HTML (ngoài việc sử dụng các HTML element như <p>, <h2>,
Angular sử dụng các syntax riêng như *ngFor, *ngIf…) giúp hiển thị ứng dụng Angular (các
template sẽ có đuôi file là .component.html như login.component.html)

4. Metadata
Metadata (siêu dữ liệu) được sử dụng để hướng dẫn Angular cách thức xử lý một class. Ví dụ như
HeroListComponent ở trên chỉ đơn thuần là một class và nó chỉ trở thành một Component khi ta
thêm các Metadata cho class này. Việc thêm metadata trong TypeScript được thực hiện bằng cách sử
dụng các decorator như @Component, @NgModule, @Inject,…. [2]
Ví dụ ta có thể thêm metadata cho HeroListComponent sử dụng @Component decorator như sau:

– selector (CSS selector): sử dụng selector để chèn component vào trong một template bất kỳ (Lưu ý:
ta phải cấu hình export component để đảm bảo các template có thể sử dụng được).
Ví dụ: nếu một đoạn code HTML chứa <hero-list></hero-list>, thì Angular sẽ chèn
HeroListComponent view vào giữa 2 tag này.
– templateUrl: khai báo địa chỉ HTML template.
– providers: tên các Services mà component sử dụng.
5. Data binding
Data binding được sử dụng để hỗ trợ việc trao đổi giữa template và component. Angular cung cấp 4
loại data binding là Interpolation, property binding, event binding và two-way data binding.
Ví dụ

17
– Interpolation {{}}: hiển thị giá trị của hero.name của component trong <li> element
– Property binding []: truyền giá trị của selectedHero từ parent component sang hero property của
HeroDetailComponent
– Event binding (): (click) gọi hàm selectHero() của component khi người dùng thực hiện click chuột
– Two-way data binding [()]: là dạng data binding kết hợp cả property binding và event binding, do
đó sử dụng ký hiệu [()]. Ở ví dụ trên, property binding truyền sữ liệu tới input box và khi người dùng
thay đổi giá trị của input box thì giá trị này được truyền ngược lại với event binding.
6. Directives
Directives (chỉ thị) được sử dụng để chỉ dẫn cách thức hiển thị của template. Có hai loại directive là
structural directive (chỉ thị cấu trúc như ngFor, ngIf, ngSwitch) và attribute directive (chỉ thị thuộc
tính như ngModel, ngStyle, ngClass). Các directives này thường xuất hiện trong các element tag
tương tự như các thuộc tính của element.

– Structural directive: được sử dụng để thay đổi layout của template bằng cách thêm, xóa hoặc thay
đổi các elements.
*ngFor: chỉ dẫn Angular hiển thị mỗi hero trong heroes list
*ngIf: hiển thị HeroDetail component khi selectedHero=True
– Attribute directive: được sử dụng để thay đổi sự hiển thị (appearance) hoặc hành vi (behavior) của
một element. Ví dụ như ngModel thay đổi hành vi của input element bằng cách thiết lập giá trị hiển
thị của element này.
Lưu ý:
– Directives là một class với @Directive decorator và chúng ta hoàn toàn có thể viết các Directive
của riêng mình
– Component cũng là một directive (directive-with-a-template) nhưng trong kiến trúc của Angular thì
Component đóng vai trò quan trọng và là thành phần chính của các ứng dụng Angular nên nó được
phân tách riêng so với Directive
7. Service
Service được sử dụng để thực hiện một chức năng chuyên biệt nhất định (logging service, data
service…) và được sử dụng trong các Component thông qua dependency injection. Thông thường,
chúng ta sử dụng @Injectable() decorator để khai báo class là một service (các service sẽ có đuôi file
là .service.ts như login.service.ts).
Lưu ý: Angular khuyến cáo nên tận dụng tối đa Service thay vì viết các đoạn code trong Component
8. Dependency injection
Dependency injection là cách thức cung cấp một instance của một class với đầy đủ dependencies mà
class này yêu cầu (phần lớn các depencdencies là các services).
Phương thức hoạt động:
– Khi một component muốn sử dụng service, chúng ta sẽ định nghĩa service này tại tham số của
constuctor của component đó

18
– Khi khởi tạo component, Angular sẽ truy vấn tới injector về service mà component yêu cầu.
Injector gồm một container chứa các instance của các service đã được tạo ra trước đó. Nếu instance
của service được yêu không có sẵn trong Injector, Injector sẽ tạo ra một instance của service đó và
thêm vào container trước khi return lại Angular.
Lưu ý: chúng ta phải thực hiện khai báo service trong ít nhất một provider nào đó sử
dụng @Injectable() decorator hoặc @NgModule(), @Component()[3]
– Khi sử dụng lệnh ng generate service thì service đó sẽ được khai báo ở mức root. Khi đó Angular
chỉ tạo ra một instance của service và dùng chung cho mọi nơi
– Khi chúng ta cấu hình tham số providers tại một module nhất định thì một instance của service sẽ
được dùng chung cho toàn bộ component của module đó.

– Khi chúng ta cấu hình tham số provider tại mức component thì đối với mỗi instance mới của
component, một instance mới của service sẽ được tạo ra.

19
2.3.2 Thiết kế ứng dụng Web sử dụng
Angular

Nhiệm vu được giao:


 Thiết kế DB lưu thông tin thiết bị, gồm ảnh , vị trí tọa độ (kinh độ, vĩ độ), một số thông tin kèm theo
(kích thước, trọng lượng …)
 Thêm/sửa/xóa các thiết bị.
 Hiển thị danh sách các thiết bị, có filter theo một số tiêu chi
 Hiển thị vị trí thiết bị trên bản đồ
 Hiển thị các loại bảng biểu, biểu đồ thể hiện giá trị hiện tại của thiết bị.
 UI/UX tự thiết kế cho phù hợp
Thư viện sử dụng :
 Tim hiểu thư viện ngx-mapbox-gl sử dụng cho bản đồ
 Tìm hiểu thư viện nebular hoặc ng-zorro sử dụng cho giao diện
Publie
 Tìm hiểu heroku để public lên trên web
Quá trình:

Sau khi nhận được bài toán, em đã tiến hành như sau:
 Tìm hiểu về nestjs, một framework của nodejs, dùng để lập trình backend
 Sử dụng POSTMAN viết các api đơn giản, như GET POST PUT DELETE thiết bị và người dùng,
 Từ nestjs,có thể kết nối với PostGreSQL, tạo được 2 bảng cơ sở dữ liệu là user và device,
 Về giao diện, sử dụng thư viện ng-zorro, và ngx-mapbox-gl để sử dụng cho bản đồ
 Sau khi đã test thử trên local, em đã deploy trang web lên Heroku

Sản phẩm:
Đây là link trang web mà em đã viết : https://dung-phung.herokuapp.com/
Về tổng quan, trang web có các chức năng như :
 Đăng nhập đăng ký người dung
 Thêm, bớt, sửa, xóa các thiết bị
 Hiển thị được vị trí tọa độ các thiết bị trên bản đồ
 Hiển thị được tham số nhiệt độ theo dạng biểu đồ đường theo thời gian thực.
Dưới đây là một vài hình ảnh minh họa:

20
Hình 2.1 Giao diện phần đăng nhập

Hình 2.2 Giao diện phần đăng ký

21
Hình 2.3 Giao diện phần bản đồ thiết bị

Hình 2.4 Giao diện phần thống kê thiết bị

22
Hình 2.5 Giao diện phần biểu đồ nhiệt độ theo thời gian thực

23
CHƯƠNG 3. NHẬN XÉT VÀ ĐỀ XUẤT

3.1 Nhận xét


3.1.1 Ưu điểm
- Được tìm hiểu trau dồi về kiến thức lập trình ứng dụng web (frontend backend và cơ sở dữ
liệu)
- Tăng khả năng đọc hiểu tài liệu tiếng Anh
- Được thực tập trực tiếp tại công ty ( 2 tuần đầu)
- Được công ty hỗ trợ ăn trưa, nghỉ trưa
- Các anh chị trong công ty đều rất giỏi, thân thiện, tận tình giúp đỡ khi em gặp khó khăn

3.1.2 Nhược điểm


- Thời gian thực tập còn hạn chế nên chưa hoàn thành hết mong muốn học tập của
bản thân

3.2 Đề xuất

Do thời gian thực tập hè khá ngắn, em mong có thể được thực tập ở công ty thêm thời gian
nữa, để có thể cải thiện khả năng và tư duy lập trình, phù hợp với định hướng của em sau khi ra
trường

24
CHƯƠNG 4. KẾT LUẬN
Đợt thực tập mang đến cho em nhiều kiến thức và kinh nghiệm bổ ích. Em được học
hỏi thêm nhiều điều từ kiến thức chuyên môn đến kinh nghiệm làm việc thực tế. em đã
được học:
- Kiến thức lập trình web cơ bản
- Nghiên cứu và tìm hiểu các tài liệu mới
- Có thể tự mình thiết kế và lập trình được một trang web hoàn chỉnh
Bên cạnh đó, qua đơt thực tập, em có hiểu biết thêm về các cơ hội việc làm trong
tương lai của mình, giúp em có cái nhìn thực tế hơn về ngành nghề bản thân đã chọn từ
đó đưa ra định hướng nghề nhiệp cho mình sau khi ra trường. Việc này góp phần giúp em
xác định mảng kiến thức cần bổ trợ khi trở về trường học.
Cùng với những định hướng rõ ràng hơn, khả năng ngoại ngữ và kỹ năng mềm của em
cũng được nâng cao qua kỳ thực tập này.
Em xin chân thành cảm ơn các thầy cô giẩng viên viện Điện tử - Viễn thông, các cán
bộ quản lý công ty VHT đã tạo điều kiện cho chúng em tham gia một khoảng thời gian
thực tập trong môi trường làm việc thực tế, chuyên nghiệp và đem lại nhiều kiến thức và
kỹ năng bổ ích.

25
TÀI LIỆU THAM KHẢO

[1] https://cand.com.vn/doanh-nghiep/VHT-Manh-ghep-Cong-nghiep-Cong-nghe-cao-cua-Tap-
doan-Viettel-lo-dien-i597809/
[2] https://news.timviec.com.vn/tap-doan-viettel-la-gi-lich-su-phat-trien-cua-trum-vien-thong-
viet-nam-65983.html
[3] http://itechseeker.com/tutorials/full-stack-development/angular/gioi-thieu-chung-ve-angular/

26

You might also like