Professional Documents
Culture Documents
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
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
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)
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
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
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
21
Hình 2.3 Giao diện phần bản đồ 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.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