You are on page 1of 24

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA CÔNG NGHỆ THÔNG TIN 1

BÁO CÁO
THỰC TẬP TỐT NGHIỆP
ĐỀ TÀI: SỬ ĐỀ DỤNG CÔNG
NGHỆ .NET CORE VÀ MARIADB XÂY DỰNG WEBSITE QUẢN LÝ NHÂN
VIÊN

Đơn vị thực tập Công ty cổ phần MISA


Giảng viên hướng dẫn TS. Đỗ Thị Liên
Sinh viên Phạm Ngọc Long
Mã sinh viên B18DCCN357
Lớp D18CNPM3
SĐT 0379087882

HÀ NỘI, 2022

1
LỜI CẢM ƠN

Trong kỳ thực tập tốt nghiệp đợt này, em được Học viện phân công thực tập tại
Công ty cổ phần MISA. Trong sáu tuần thực tập tại Công ty cổ phần MISA, em đã
được học hỏi rất nhiều kinh nghiệm và kiến thức từ các anh chị tại công ty. Em đã
được tiếp xúc với khá nhiều công nghệ thực tế và quy trình làm việc của doanh
nghiệp.
Em xin chân thành cảm ơn các anh chị trong công ty đã giúp đỡ em hoàn thành
tốt đợt thực tập này. Sáu tuần tuy là ngắn ngủi nhưng em đã học được rất nhiều
điều từ công ty, từ anh chị. Những kiến thức em tiếp thu được trong đợt thực tập
này sẽ là hành trang vững chắc cho em trong tương lai sắp tới.
Do thời gian và kiến thức bản thân có hạn nên bài báo cáo sẽ không tránh khỏi
những thiếu sót về mặt nội dung, rất mong nhận được sự chỉ bảo góp ý của các
Thầy Cô. Qua đây em cũng xin gửi lời cảm ơn đến các Thầy Cô giáo trong Khoa
Công Nghệ Thông Tin đã dạy dỗ và truyền đạt cho chúng em những kiến thức quí
giá và đặc biệt gửi lời biết ơn sâu sắc tới Cô Đỗ Thị Liên đã hướng dẫn tận tình
cho em trong suốt quá trình thực tập và làm báo cáo.

Sinh viên thực tập


Long
Phạm Ngọc Long

2
MỤC LỤC:

Lời cảm ơn …………………………………………………………………… 2

I. Khái quát chung ……………………………………………….…………….. 4

II. Đề cương thực tập………………………………………………………….. 6

III. Lý thuyết ……………………………………………………………………8

1. HTML……………………………………………………………………………… 8

2. CSS………………………………………………………………………………… 8

3. Javascript và Jquery………………………………………………………………... 9

4. Ngôn ngữ lập trình C# và framework .NET CORE……………………………… 10

5. Hệ quản trị CSDL MariaDB……………………………………………………… 17

IV. Triển khai công nghệ vào website quản lý nhân viên ………………………21

V. Kết luận……………………………………………………………………... 24

3
Chương I: Khái quát chung

Website chắc không còn xa lạ với mọi người trong thời đại công nghệ phát
triển như hiện nay. Website thật sự như là “ngôi nhà” để cung cấp những tiện
ích, thông tin, sản phẩm/ dịch vụ phục vụ người dùng. Thời đại 4.0 bùng nổ ai ai
cũng có nhu cầu tạo cho mình một trang web riêng, vì vậy công việc xâu dựng
website là không thể thiếu trong thời đại ngày nay.
Có rất nhiều lý do cho doanh nghiệp để sở hữu website cho riêng mình:
+Tăng tương tác: Website cho phép các sản phẩm tiếp cận được nhiều người
dùng hơn. Ngoài ra khách hàng cũng có thể dễ dàng giao tiếp được với doanh
nghiệp hơn thông qua Internet.
+Hiện diện online: Cho phép khách hàng tìm kiếm và tương tác với doanh
nghiệp ở bất kỳ đâu, bất kỳ lúc nào.
+Tăng uy tín: Tương tác tốt với khách hàng giúp doanh nghiệp trở nên uy tín và
có được sự tin tưởng của khách hàng.
+Mở rộng thị trường: Website có thể được truy cập từ khắp nơi trên thế giới
thông qua Internet, vì vậy các doanh nghiệp có thể tiếp cận với khách hàng tiềm
năng của mình ở bất kỳ đâu.
+Tối ưu chi phí: Chi phí vận hành một website thương mại điện tử chắc chắn sẽ
tiết kiệm hơn rất nhiều so với việc xây dựng một cửa hàng hay thuê mặt bằng
cho doanh nghiệp.
Có rất nhiều ngôn ngữ lập trình và công cụ để phát triển website. .NET CORE
là một framework của ngôn ngữ C# khá mạnh để giúp cho developer tạo ra một
backend tốt. Để quản lý cơ sở dữ liệu thì MariaDB là một sự lựa chọn không tồi.
Trong quá trình thực tập tại Công ty cổ phần MISA em đã được các anh chị
truyền đạt khá nhiều kiến thức về 2 nền tảng công nghệ này.

5
Chương II: Đề cương thực tập

+Giai Đoạn 1: Học online từ: 27/06/2022 - 19/7/2022

Thời gian làm việc và học tập:

- Chiều 14h – 17h30: Học online .

# Topics Duration Timelines Note


(days)
1 "- HTML/CSS 1 27/06/2022
- Các cách thức xây dựng layout cho
website"
2 "- Thực hành vẽ UI 1 29/6/2022
- Responsive"
3 "- Giới thiệu về JS/Jquery 1 1/7/2022
- Cơ bản về JS và cách sử dụng Jquery"
4 "- Giới thiệu về JS/Jquery 1 4/7/2022
- Cơ bản về JS và cách sử dụng Jquery"
5 - Giới thiệu cơ bản về Mariadb 1 6/7/2022
- Thiết kế CSDL với Mariadb
6 "- Lập trình hướng đối tượng với C# 1 8/7/2022
- Demo xây dựng ứng dụng Web Api với
Visual Studio."
7 "- Các quy tắc RESful 1 11/7/2022
- Các kỹ năng Debug cơ bản với Visual
Studio
- Tổng hợp và giải đáp các vấn đề trong

6
toàn bộ khóa học."
8 Nhận đề và làm bài 7 11/7/22022-
18/7/2022
9 Tham gia trình bày bảo vệ tốt nghiệp 1 19/7/2022
Total days 23

+Giai đoạn 2: Làm việc tại công ty: 25/7/2022-12/8/2022(9h-17h30)

7
ChươngIII: Lý thuyết

1. HTML cơ bản

● HTML Overview
● Debugging HTML
● HTML Text
● Hyperlinks
● Multimedia and embedded
● HTML Table
● HTML Form
● HTML Final Theory

2. CSS cơ bản

● CSS Overview
● Cascade and Inheritance
● CSS Selectors
● Box models
● Overflow contents
● Values and units
● Sizing item
● Backgrounds
● Borders
● Styling Images and Forms
● Debugging CSS

8
● Styling text
● CSS Layout
● CSS Animation

3. Javascript và Jquerry cơ bản

+ Javascript
● JavaScript overview
● Variables
● Number and Operators
● String
● Arrays
● Objects
● Conditionals
● Loops
● Functions
● Coding
● DOM
● Events and Listeners
● Debugging JavaScript and revision
+Jquerry
● Overview
● Basics
● Syntax
● Selectors
● Even Handlers

9
● AJAX
● DOM
● CSS Manipulation
● Effects

4. Ngôn ngữ lập trình C# và framework .NET CORE

4.1. Ngôn ngữ C#

C# (hay C sharp) là một ngôn ngữ lập trình đơn giản, được phát triển bởi đội
ngũ kỹ sư của Microsoft vào năm 2000. C# là ngôn ngữ lập trình hiện đại, hướng
đối tượng và được xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C++
và Java.
Trong các ứng dụng Windows truyền thống, mã nguồn chương trình được biên
dịch trực tiếp thành mã thực thi của hệ điều hành.
Trong các ứng dụng sử dụng .NET Framework, mã nguồn chương trình (C#,
VB.NET) được biên dịch thành mã ngôn ngữ trung gian MSIL (Microsoft
intermediate language).

Sau đó mã này được biên dịch bởi Common Language Runtime (CLR) để trở
thành mã thực thi của hệ điều hành. Hình bên dưới thể hiện quá trình chuyển đổi
MSIL code thành native code.

10
Hình 1: Quá trình chuyển đổi MSIL code thành native code

C# với sự hỗ trợ mạnh mẽ của .NET Framework giúp cho việc tạo một ứng
dụng Windows Forms hay WPF (Windows Presentation Foundation), phát triển
game, ứng dụng Web, ứng dụng Mobile trở nên rất dễ dàng.
Đặc trưng của ngôn ngữ lập trình C#
C# là ngôn ngữ đơn giản
C# loại bỏ một vài sự phức tạp và rối rắm của những ngôn ngữ như Java và c+
+, bao gồm việc loại bỏ những macro, những template, đa kế thừa, và lớp cơ sở
ảo (virtual base class).
Ngôn ngữ C# đơn giản vì nó dựa trên nền tảng C và C++. Nếu chúng ta thân
thiện với C và C++ hoặc thậm chí là Java, chúng ta sẽ thấy C# khá giống về diện
mạo, cú pháp, biểu thức, toán tử và những chức năng khác được lấy trực tiếp từ
ngôn ngữ C và C++, nhưng nó đã được cải tiến để làm cho ngôn ngữ đơn giản
hơn.

11
+C# là ngôn ngữ hiện đại
Điều gì làm cho một ngôn ngữ hiện đại? Những đặc tính như là xử lý ngoại lệ,
thu gom bộ nhớ tự động, những kiểu dữ liệu mở rộng, và bảo mật mã nguồn là
những đặc tính được mong đợi trong một ngôn ngữ hiện đại. C# chứa tất cả
những đặc tính trên. Nếu là người mới học lập trình có thể chúng ta sẽ cảm thấy
những đặc tính trên phức tạp và khó hiểu. Tuy nhiên, cũng đừng lo lắng chúng ta
sẽ dần dần được tìm hiểu những đặc tính qua các nội dung khoá học này.

+C# là một ngôn ngữ lập trình thuần hướng đối tượng
Lập trình hướng đối tượng (OOP: Object-oriented programming) là một
phương pháp lập trình có 4 tính chất. Đó là tính trừu tượng (abstraction), tính
đóng gói (encapsulation), tính đa hình (polymorphism) và tính kế thừa
(inheritance). C# hỗ trợ cho chúng ta tất cả những đặc tính trên.

+C# là một ngôn ngữ ít từ khóa


C# là ngôn ngữ sử dụng giới hạn những từ khóa. Phần lớn các từ khóa được sử
dụng để mô tả thông tin. Chúng ta có thể nghĩ rằng một ngôn ngữ có nhiều từ
khóa thì sẽ mạnh hơn. Điều này không phải sự thật, ít nhất là trong trường hợp
ngôn ngữ C#, chúng ta có thể tìm thấy rằng ngôn ngữ này có thể được sử dụng
để làm bất cứ nhiệm vụ nào.

12
4.2. Framework .NET CORE

4.2.1 .NET core là gì?


.NET core là phiên bản mới của .NET framework. Nó là một nền tảng miễn phí
và mã nguồn mở được phát triển, duy trì bởi Microsoft.

.NET core là một framework đa nền tảng chạy trên các hệ điều hành: Windows,
Mac OS và Linux. Nó được dùng để xây dựng ứng dụng trên các thiết bị khác
nhau như mobile, desktop, web, cloud, máy học tập, game,..

Mặc dù nói .NET core là phiên bản từ .NET framework, nhưng thực tế nó được
viết lại từ đầu để đem lại những ưu điểm như nhanh, nhẹ và đa nền tảng.

4.2.2 Các đặc điểm nổi bật của .NET core


Open-source Framework
.NET Core là nền tảng nguồn mở được duy trì bởi Microsoft và có sẵn trên
GitHub theo giấy phép MIT và Apache 2. Nó là một dự án .NET Foundation.
Cross-platform
Đa nền tảng. .NET Core chạy trên hệ điều hành Windows, macOS và Linux. Có
thời gian chạy khác nhau cho mỗi hệ điều hành thực thi mã và tạo ra cùng một
output.
Nhất quán giữa các kiến trúc
Bạn có thể thực thi mã giống nhau trong các kiến trúc tập lệnh khác nhau (bao
gồm x64, x68 và RAM)
Hỗ trợ nhiều ngôn ngữ

13
Bạn có thể sử dụng ngôn ngữ lập trình C#, F# và Visual Basic để phát triển ứng
dụng .NET Core.
Triển khai linh hoạt
Các ứng dụng .NET Core có thể được triển khai song song (cài đặt toàn bộ
người dùng hoặc toàn hệ thống). No cũng có thể triển khai với các Container
Docker.
Khả năng tương thích
.NET Core tương thích với .NET Framework và Mono API (thông qua .NET
Standard).
Hỗ trợ bởi Microsoft
Vì .NET Core được phát triển bởi Microsoft nên tài liệu cũng như các cập nhật,
hỗ trợ được update thường xuyên. Từ đó, giúp người sử dụng có thể giải quyết
vấn đề nhanh chóng.
Công cụ CLI
.NET core bao gồm các công cụ CLI (Command – line –interface: Giao tiếp
thông qua dòng lệnh) để phát triển và tích hợp liên tục.
Kiến trúc mô-đun
.NET core hỗ trợ cách tiếp cận kiến trúc mô-đun bằng cách sử dụng các gói
NuGet. Có các gói NuGet khác nhau cho các tính năng khác nhau có thể được
thêm vào dự án .NET core nếu cần. Nhờ đó bạn sẽ ít tiêu tốn dung lượng bộ nhớ,
tăng hiệu suất và dễ bảo trì ứng dụng hơn.
4.2.3 Framework
.NET core được nhiều người sử dụng để xây dựng framework.

Các khung được phát triển dựa theo .NET core có thể kể đến như:

14
ASP.NET Core: là framework được phát triển bởi Microsoft dựa trên .NET
Core. Tuy nói là phiên bản cải biên, nhưng thực tế nó được phát triển gần như từ
đâu. Mục tiêu là đưa ra loại framework tối ưu hoá cho cloud.
Tizen: hệ điều hành Tizen ứng dụng cho các loại thiết bị thông minh như TV,
máy giặt, máy ảnh, tủ lạnh,..
Windows 10 Universal WIndows Platform (UWP): cấu trúc ứng dụng thống
nhất các nền tảng được tạo bởi Microsoft để phát triển ứng dụng chạy trên cả
desktop và mobile.
4.2.4 Bốn thành phần chính của .NET core.
Các thành phần cốt lõi của .NET core bao gồm:

CLI Tool: Công cụ CLI(Command – line –interface: Giao tiếp thông qua dòng
lệnh) là bộ công cụ để phát triển và triển khai .NET core
Roslyn: Trình biên dịch ngôn ngữ cho C# và Visual Basic
CoreFX: Tập hợp các thư viện khung (framework library)
CoreCLR (Command Language Runtime): Môi trường thực thi của .NET core,
CoreCLR sử dụng trình biên dịch trung gian dựa trên JIT. Nhờ đó nó có thể dịch
mã IL sang mã máy của những nền tảng mà nó hỗ trợ.

4.3: Lý thuyết

● .NET Core Overview


● ASP.NET Core Overview
● Install ASP.NET Core
● Create ASP.NET Core Web Application

15
● ASP.NET Core Project's Folder Structure
● wwwroot Folder
● Setup Host in Program.cs File
● Importance of Startup.cs File
● Working with Command-line Interface
● Configure the Default File to be Served on the Root Request
● ASP.NET Core Environment Variables
● Dependency Injections in ASP.NET Core
● Built-in IoC Container in ASP.NET Core
● Working with Middleware in ASP.NET Core
● How to Add Custom Middlewares in ASP.NET Core Application
● Serving Static Files in ASP.NET Core
● Serving Static Files From Any Folder in ASP.NET Core

Hình 2:Thành phần của .NET core

16
5. MariaDB

5.1: Giới thiệu

MariaDB là hệ quản trị cơ sở dữ liệu miễn phí được phát triển từ hệ quản trị cơ
sở dữ liệu mã nguồn mở MySQL. MariaDB được phát triển nhằm thay thế công
nghệ cơ sở dữ liệu MySQL, vì thế nó tương thích và cho một hiệu suất cao hơn
so với MySQL.
MariaDB được Michael “Monty” Widenius, developer hàng đầu của MySQL
dẫn dắt và phát triển. Ưu điểm lớn nhất của hệ quản trị này là tương thích với
nhiều hệ điều hành, bao gồm Linux CentOS, Ubuntu và Window với các gói cài
đặt tar, zip, MSI, rpm cho cả 32bit và 64bit với hiệu suất cao hơn so
với MySQL. 

Vì thế, MariaDB đang ngày càng được đông đảo các nhà phát triển sử dụng,
trong đó có wikipedia, Fullstack-Station,… MariaDB đang có xu hướng thay thế
cho MySQL – hệ quản trị cơ sở dữ liệu mã nguồn mở lâu đời nhất được sử dụng
từ trước đến nay.

Không phải ngẫu nhiên mà MariaDB được nhiều người yêu thích và sử dụng đến
vậy. Những ưu điểm lớn nhất của hệ quản trị này phải kể đến bao gồm:

● Hoàn toàn miễn phí


● Khắc phục những hạn chế của MySQL
● Bổ sung thêm nhiều Engine hơn
● Kết hợp cả SQL và NoSQL
● Hỗ trợ tiếng Việt

17
Hoàn toàn miễn phí

Đây là một hệ quản trị sử dụng mã nguồn mở hoàn toàn miễn phí. Do đó, người
dùng không cần phải bỏ tiền mua bản quyền và vẫn có thể sử dụng đầy đủ những
tính năng của phần mềm này.

Khắc phục những hạn chế của MySQL

MariaDB được phát triển từ MySQL, do đó nó kế thừa những đặc điểm chủ yếu
của hệ quản trị này từ phiên bản 5.1 -> 5.5. Do đó, người dùng có thể chuyển từ
MySQL sang MariaDB mà không ảnh hưởng đến hệ thống. 

Đặc biệt, những hạn chế của MySQL, khi chuyển qua MariaDB đều sẽ được
khắc phục một cách triệt để nhất, thậm chí có thể tăng tốc độ hơn so
với MySQL từ 3-5%. Ngoài ra, hệ quản trị này còn cải thiện hiệu năng và có
thêm nhiều chức năng mới hơn so với MySQL.

Bổ sung thêm nhiều Engine hơn

Ngoài các storage engines cơ bản như MyISAM, BLACKHOLE, CSV,


MEMORY, ARCHIVE, MERGE; MariaDB còn phát triển thêm các storage
engines khác bao gồm: Aria, XtraDB, FederatedX, OQGRAPH, SphinxSE, IBM
DB2I, Spider, PBXT,…

18
Kết hợp cả SQL và NoSQL

MariaDB là sự kết hợp của cả 2 loại cơ sở dữ liệu là SQL và NoSQL. Việc kết
hợp sẽ giúp hệ thống này có thể tích hợp được tất cả ưu điểm của cả 2 cơ sở dữ
liệu này là Dynamic Column và Cassandra Storage Engine.

Hỗ trợ tiếng Việt

Một ưu điểm tuyệt vời của MariaDB là đã có bản tiếng Việt. Mặc dù bản dịch
chưa thật sự hoàn hảo nhưng vẫn có thể hỗ trợ nhiều cho người dùng.

5.2: Lý thuyết

● MariaDB - Introduction
● MariaDB - Installation
● MariaDB - Administration
● MariaDB - Connection
● MariaDB - Create Database
● MariaDB - Drop Database
● MariaDB - Select Database
● MariaDB - Data Types
● MariaDB - Create Tables
● MariaDB - Drop Tables
● MariaDB - Insert Query
● MariaDB - Select Query
● MariaDB - Where Clause
● MariaDB - Update Query

19
● MariaDB - Delete Query
● MariaDB - Like Clause
● MariaDB - Order By Clause
● MariaDB - Join
● MariaDB - Null Values
● MariaDB - Regular Expression
● MariaDB - Transactions
● MariaDB - Alter Command
● Indexes & Statistics Tables
● MariaDB - Temporary Tables
● MariaDB - Table Cloning
● MariaDB - Sequences
● MariaDB - Managing Duplicates
● MariaDB - SQL Injection Protection
● MariaDB - Backup Methods
● MariaDB - Backup Loading Methods
● MariaDB - Useful Functions

20
Chương IV. Triển khai công nghệ vào website quản lý nhân
viên

1. Giao diện chính

2. Thêm nhân viên

Click thêm nhân viên sẽ mở giao diện chi tiết nhân viên

21
3. Giao diện chi tiết của một nhân viên

Có thể sửa thông tin nhân viên thông qua giao diện chi tiết nhân viên bằng cách
chọn 1 nhân viên trên giao diện chính, giao diện chi tiết nhân viên sẽ hiện ra để
người quản lý có thể chỉnh sửa thông tin của nhân viên đó.

4. Xóa nhân viên

22
Chọn 1 nhân viên nhiển thị trên giao diện chính và click button xóa.

23
ChươngV: Kết Luận
Trong quá trình thực tập, em đã có cơ hội làm quen một môi trường làm việc mới. Em
đã tính lũy những kinh nghiệm về kiến thức trong công việc cũng như các kinh nghiệm
về kỹ năng mềm.
Em được rèn luyện kĩ năng giải quyết công việc theo từng giai đoạn, cố gắng
hoàn thành công việc trong thời gian cho phép, mạnh dạn trao đổi và chia sẻ kiến
thức. Đồng thời cũng bồi dưỡng thêm rất nhiều kiến thức ngoài các kiến thức đã
học trên trường.

Thời gian thực tập tại MISA tuy không được nhiều nhưng cũng để lại cho em những
kiến thức bổ ích và những kinh nghiệm sẽ giúp ích cho em sau này có thể làm việc tốt
hơn. Em có được những kiến thức và kinh nghiệm là được sự giúp đỡ tận tình của các
anh chị giảng viên và anh chị quản lý trong suốt quá trình thực tập đã giúp cho em học
hỏi được thêm rất nhiều điều. Những kỹ năng làm việc và báo cáo của em đã cải thiện
rõ rệt. Em đã đạt được những việc như sau:

- Học cách trình bày, viết email, feedback, trình bày, làm việc nhóm...

- Học được nhiều kiến thức về HTML,CSS,Javascript và Jquery, .NET CORE,


MariaDB

- Học được cách làm việc theo đúng thời gian, phân bổ công việc cho phù hợp để vừa
đảm bảo công việc vừa có thể đảm bảo được sức khỏe.

24

You might also like