Báo cáo thực tập kỹ thuật kỳ 20203 - Tổng Công ty Công nghiệp Công nghê cao Viettel [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

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ểnTổ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 Tổng Công ty Công nghiệp Công nghệ cao Viettel High Technology Industries Viettel Corporation Internet vạn vật Internet of things

Chữ viết tắt VHT IoT

5

CHƯƠNG 1. 1.1

GIỚI THIỆU VỀ ĐƠN VỊ TIẾP NHẬN

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 2016 2017

2018 2019

Khai trương Lumitel (Burundi) và Halotel (Tanzania) Metfone sáp nhập Beeline tại Cambodia Sản xuất thành công thiết bị hạ tầng cho mạng viên thông 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 Chính thức đổi tên thành: Tâp đoàn Công nghiệp – Viễn thông quân đội 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í Kỹ Sư Điều Khiển Tự Động

Mô tả công việc - Nhận dạng đối tượng, Mô hình hóa đối tượng, mô phỏng hệ thống - Thiết kế bộ điều khiển, nghiên cứu thuật toán điều khiển - Tối ưu tham số điều khiển theo mục tiêu - Kết hợp triển khai thuật toán, chỉnh định tham số, kiểm nghiệm hệ thống

Yêu cầu chuyên môn - Kỹ sư chuyên ngành: Điều khiển tự động hóa, cơ điện tử - Có kinh nghiệm làm việc trên phần mềm Matlab/Simulink - Có kinh nghiệm nghiên cứu thuật toán điều khiển hệ truyền động - CPA > 3.0 đối với sinh viên mới ra 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 Trình Phần Mềm Nhúng

- Xây dựng hệ thống phần mềm nhúng (từ lớp MCU tới lớp ứng dụng), - Triển khai các thuật toán điều khiển trên hệ thống nhúng. - Giao tiếp và kết nối các thiết bị ngoại vi - Xây dựng và tối ưu chu trình hoạt động.

- Kỹ sư chuyên ngành: CNTT, Điều khiển tự động hóa, cơ điện tử, Điện tử viễn thông - Có kinh nghiệm lập trình nhúng trên các nền tảng MCU, DSP và sử dụng các phần mềm code composer, code studio - Có khả năng debug, xử lý lỗi - CPA > 3.0 đối với sinh viên mới ra 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 Triển Phần Mềm

- Nghiên cứu các nền tảng công nghệ Data mining, AI, Big Data để xử lí dữ liệu lớn áp dụng vào bài toán thông mình hóa thiết bị mạng 5G. - Nghiên cứu nền tảng công nghệ ảo hóa Cloud Native (Kubernetes, Openshift, Docker, ...) để phát triển sản phẩm trên các nền tảng này. - Nghiên cứu, phát triển các module phần mềm trong hệ thống mạng lõi 5G

- Tốt nghiệp đại học loại khá trở lên các trường Đại học chính quy. - Chuyên ngành: Công nghệ thông tin, Khoa học máy tính, Điện tử viễn thông, Toán tin ứng dụng,…. - TOEIC tối thiểu 550 hoặc điểm IELTS, TOEFL tương đương. - Ưu tiên các nhân sự đã tham gia các hệ thống xử lí giao dịch lớn, đáp ứng nhiều người dùng tại một thời điểm - 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 Web giám sát, cấu hình, quản lí các hệ thống quản lí trong mạng lưới viễn thông.

Linux/Unix. - Có khả năng chịu áp lực cao trong công việc, sức khỏe tốt, sẵn sàng đi công tác trong và ngoài nước.

Chuyên Viên - Thiết kế, khởi tạo kịch bản kiểm thử Kiểm Thử Phần (test case) Mềm (Tester)  - Kiểm thử chương trình/sản phẩm theo kịch bản kiểm thử. - Kiểm tra chất lượng sản phẩm để đảm bảo sản phẩm được tạo ra đáp ứng yêu cầu của khách hàng -Tham gia đào tạo, hướng dẫn khách hàng sử dụng sản phẩm -Nghiên cứu, cập nhật các công cụ kiểm thử và các kiến thức mới hỗ trợ cho công việc -Đề xuất, cải tiến sản phẩm, quy trình kiểm thử

-Tốt nghiệp đại học chính quy loại Khá trở lên; ưu tiên tốt nghiệp chuyên ngành công nghệ thông tin, hoặc chuyên ngành liên quan -TOEIC 550 trở lên (nếu chưa có chứng chỉ có thể thi tại hệ thống riêng của công ty) - Có kiến thức về quy trình phát triển phần mềm, quy trình kiểm thử theo mô hình CMMi. -Sẵn sàng nghiên cứu, học hỏi kiến thức, công nghệ mới phục vụ dự án -Khả năng tư duy logic tốt, nhiệt tình, cẩn 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ế Phần Cứng

- Tốt nghiệp Đại học Chính quy loại Khá trở lên, chuyên ngành: Công nghệ thông tin, Khoa học máy tính, Toán tin ứng dụng, Điện tử viễn thông, hoặc các chuyên ngành kỹ thuật khác liên quan. - Trình độ tiếng Anh: TOEIC tối thiểu 550 hoặc điểm IELTS, TOEFL tương đương. - Có tối thiểu 2 năm kinh nghiệm làm việc về thiết kế phần cứng số. - Hiểu biết về các IC phức tạp (CPLD, ARM...), IC chức năng (ADC, DAC...), IC nhớ (DDR1, DDR2...) - Hiểu biết về thiết kế các mạch nguồn hiệu suất cao - Sử dụng tốt các phần mềm thiết kế mạch điện (Altium, Alegro...) để thiết kế các bo mạch phần cứng xử lý số tốc độ thấp.

- Nghiên cứu, thiết kế toàn bộ các bo mạch phần cứng số tốc độ thấp khá phức tạp, có nhiều chỉ tiêu đầu vào, đầu ra. - Thiết kế các bo mạch số có tốc độ giao tiếp Ethernet dưới 1Gbps với số lớp mạch in dưới 6 lớp; các bo mạch sử dụng DSP, ADC, DAC với tốc độ lấy mẫu dưới 100Msps với số lớp mạch in dưới 8 lớp; các bo mạch số sử dụng IC nhớ với tốc độ đọc ghi dưới 533MT/s, số lớp mạch in dưới 8 lớp,... - Thiết kế mạch nguồn switching đạt hiệu suất cao trên dòng cao, thiết kế các mạch tiền xử lý tín hiệu Audio trước khi đưa vào các bo mạch xử lý tín hiệu số tốc độ cao. - Xây dựng bài

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ư

, , 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 , 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

  • 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-Tapdoan-Viettel-lo-dien-i597809/

    [2]

    https://news.timviec.com.vn/tap-doan-viettel-la-gi-lich-su-phat-trien-cua-trum-vien-thongviet-nam-65983.html

    [3]

    http://itechseeker.com/tutorials/full-stack-development/angular/gioi-thieu-chung-ve-angular/

    26