40
GIỚI THIỆU .NET Người trình bày: Ngô Thanh Tùng Phó TGĐ Softech

GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

GIỚI THIỆU .NET

Người trình bày: Ngô Thanh TùngPhó TGĐ Softech

Page 2: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

NỘI DUNG TRÌNH BÀY• Tổng quan về .NET• .NET làm được gì?• Nếu chọn .NET bạn cần phải học những gì?• Mục tiêu trở thành lập trình viên chuyên nghiệp.• Cơ hội nghề nghiệp.• Hỏi / Đáp

Page 3: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

TỔNG QUAN VỀ .NET• .NET Framework là gì?

• Do Microsoft phát triển.• Ra đời cuối năm 2000.• Là một tập hợp các kỹ thuật, công nghệ phát triển phần

mềm của Microsoft.• Hiện tại, .NET Framework chỉ chạy trên các máy tính có

hệ điều hành Microsoft Windows.• Phiên bản sắp tới 2015, .NET Framework trở thành

OPEN SOURCE và có thể chạy trên LINUX, UNIX, MACOS,…

Page 4: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

QUÁ TRÌNH PHÁT TRIỂN CỦA .NET.NET Framework 1.0 (Năm 2002, Visual Studio .NET 2002)

.NET Framework 1.1 (2003, Visual Studio .NET 2003)

.NET Framework 2.0 (2005, Visual Studio .NET 2005)

.NET Framework 3.0 (2006, Visual Studio 2005)

.NET Framework 3.5 (2008, Visual Studio 2008)

.NET Framework 4.0 (2010, Visual Studio 2010)

.NET Framework 4.5 (2012, Visual Studio 2012)

.NET Framework 4.5.1 (2013, Visual Studio 2013)

Page 5: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

CÁC THÀNH PHẦN CỦA .NET FRAMEWORK

Common Language Runtime (CLR)

Dynamic Language Runtime (DLR)

Base Framework Classes

ASP.NET (Web Forms, MVC)

Windows Forms, WPF

ADO.NET, Entity Framework, LINQ

Windows Workflow Foundation (WF)

Web Service, Web API, WCF

Parallel LINQ, Task Parallel Library

Page 6: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

NGÔN NGỮ LẬP TRÌNH CSHARP (C#)• Microsoft giới thiệu C# như là một ngôn ngữ mới

có khả năng giải quyết tốt các khuyết điểm mà cácngôn ngữ truyền thống mắc phải. Và là ngôn ngữchủ đạo của .NET Framework.

• C# thừa kế từ C++, Java.• C# có các tính năng nổi bật:

• Định kiểu rõ ràng (Strong typing).• Khai báo tường minh (Declarative).• Ràng buộc chặt chẽ (Imperative).• Hướng đối tượng (Object-oriented)• Hướng thành phần (Component-oriented)

Page 7: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

VISUAL STUDIO• Visual Studio là công cụ.• Visual Studio là môi trường tích hợp để phát triển:

• Web, Desktop Application, Windows Store, WindowsPhone, XNA Game, Web Service, Testing, Team System.

Page 8: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

VISUAL STUDIO (UML)

Page 9: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

TEAM FOUNDATION SERVER

Page 10: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

TEAM FOUNDATION SERVER

Tester

Developer

Architect

ProjectManager

BusinessAnalyst

Designer Database Professional

Vai trò của Team Foundation Server trong ALM: Máy chủhợp nhất để quản lý tất cả các công việc trong phát triển dựán phần mềm.

Page 11: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

.NET 4.5 CÓ GÌ MỚI?• Desktop Application (Windows Forms):

• Ứng dụng cho máy tính để bàn chạy HĐH Windows

Page 12: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

.NET LÀM ĐƯỢC NHỮNG GÌ?• Desktop Application (Windows Forms):

• Ứng dụng cho máy tính để bàn chạy HĐH Windows

Page 13: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

DESKTOP APPLICATION – PHẦN MỀM HRS

Page 14: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

DESKTOP APPLICATION – PHẦN MỀM HRS

Page 15: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

DESKTOP APPLICATION – PHẦN MỀM ECS

Page 16: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

.NET LÀM ĐƯỢC NHỮNG GÌ?• Web Application (Webforms & MVC):

• Ứng dụng chạy trên nền WEB được triển khai tại máychủ IIS của Microsoft

Page 17: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

Web Application (Webforms)

Page 18: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

Web Application (ASP.NET MVC)

Page 19: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

.NET làm được những gì?• Windows Workflow Foundation (WF): Xây dựng

các thành phần, thư viện phục vụ các hệ thống cóchức năng XỬ LÝ CÔNG VIỆC THEO QUY TRÌNH (WORKFLOW)

Page 20: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

Windows Workflow Foundation (WF)

Page 21: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

.NET LÀM ĐƯỢC NHỮNG GÌ?• Windows Communication Foundation (WCF): Xây

dựng hệ thống có các thành phần hướng dịch vụ.• Thường áp dụng trong các loại:

• Các giao dịch xử lý cần bảo mật cao.• Trao đổi dữ liệu giữa các hệ thống, các nền tảng khác

nhau.• Các hệ thống có nhiều giao diện đầu cuối nhưng sử dụng

chung các nghiệp vụ xử lý.

Page 22: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

Windows Communication Foundation (WCF)

Page 23: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

Windows Communication Foundation (WCF)

CSDL Hải quan

CSDL Doanh nghiệp

Cổng tiếp nhận thông tin điện tử Hải Quan

Chương trình Softech ECS

Chương trình Softech ECS

Lưu dữ liệu 1

2

Chươngtrình

NHẬP THÔNG TIN KHAI BÁO ĐiỆN TỬ CÁC LOẠI HÌNH

-Loại hình Sản Xuất Xuất Khẩu.

-Loại hình Gia Công.

-Loại hình Đầu Tư.

-Loại hình Kinh Doanh CHI CỤC HẢI QUAN

WCF

Page 24: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

.NET làm được những gì?• Lập trình Game:

• Unity3D: Sử dụng C# là ngôn ngữ lập trình• XNA, OpenGL, DirectX: Lập trình game cho hệ máy

console XBOX.

Page 25: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

.NET làm được những gì?• Lập trình di động:

• Windows Store (Windows 8.1)• Windows Phone (Nokia Lumia)

Page 26: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

CHỌN .NET THÌ NÊN HỌC CÁI GÌ?• Ngôn ngữ lập trình C#

• Làm chủ ngôn ngữ lập trình.• Sử dụng thành thạo các thư viện phổ biến của .NET

Framework• Cơ sở dữ liệu:

• Hiểu rõ về lý thuyết của CSDL quan hệ.• Thiết kế cơ sở dữ liệu trên Microsoft Sql Server• Lập trình cơ sở dữ liệu với T-SQL trên Microsoft Sql

Server.• Phát triển ứng dụng DESKTOP• Phát triển ứng dụng trên WEB

Page 27: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

CHỌN .NET THÌ NÊN HỌC CÁI GÌ?• Ngôn ngữ lập trình C#

• Làm chủ ngôn ngữ lập trình.• Sử dụng thành thạo các thư viện phổ biến của .NET

Framework• Cơ sở dữ liệu:

• Hiểu rõ về lý thuyết của CSDL quan hệ.• Thiết kế cơ sở dữ liệu trên Microsoft Sql Server• Lập trình cơ sở dữ liệu với T-SQL trên Microsoft Sql Server.

• Phát triển ứng dụng DESKTOP (Winforms, WPF)• Phát triển ứng dụng trên WEB (HTML, WebForms,

MVC)

Page 28: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

CHỌN .NET THÌ NÊN HỌC CÁI GÌ?• Sử dụng thành thạo ADO.NET để truy cập CSDL từ

môi trường lập trình.• Sử dụng ADO.NET Entity Framework (ORM) và

LINQ.• Biết và vận dụng WebService, WCF để phát triển

các ứng dụng hướng dịch vụ.• Lập trình di động: Windows Phone

Page 29: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

VÀ SAU ĐÓ TIẾP TỤC HỌC NÂNG CAO:

• Web (Front-End):• Html5, Jquery, AngularJS, KnockoutJS, …

• Database:• Advanced Sql Server: Report Service, Analysis Service,

Integration Service, Service Broker.• Sql Azure (Database Cloud Computing)

• Programming: Design Pattern• NoSql:

• MongoDb, RavenDb, CrouchDb, CasandraDb, …• Real-time: SignalR

Page 30: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

CƠ HỘI NGHỀ NGHIỆP, VÀ LỰA CHỌN CỦA BẠN• Đừng bao giờ dùng số liệu thống kê ở đâu đó để

giải quyết vấn đề lựa chọn ngôn ngữ lập trình.• Bạn có thể lựa một ngôn ngữ nổi tiếng để dễ

dàng xin việc nhưng nó cũng sẽ đẩy bạn vàocảnh đối chọi với hàng ngàn ứng viên khác.

• Những ngôn ngữ lập trình khác nhau đượcdùng để giải quyết các dạng vấn đề khác nhau.

Page 31: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

CƠ HỘI NGHỀ NGHIỆP

Công nghệ lúc lên lúc xuống

Page 32: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

TRỞ THÀNH LẬP TRÌNH VIÊN CHUYÊN NGHIỆP

1

2

3

4

5

6

Page 33: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

MỤC TIÊU KỲ VỌNG CỦA MỘT LẬP TRÌNH VIÊN1. Không giới hạn ở bất kỳ 1 language (ngôn ngữ) hay 1 framework

(nền tảng) hay 1 specialization (chuyên môn CNTT).

2. Có kiến thức IT tổng quát và khả năng tìm hiểu sâu khi cần thiếtbất kỳ vấn đề gì thuộc: (1) Server – Network (2) Database (3) Webframeworks (4) Mobile frameworks 5 (Cloud Computing)

3. Hiểu và ứng dụng được UI/UX vào trong sản phẩm phần mềm.

4. Nắm bắt nhanh Business Logic và chuyển hóa thành TechnicalLogic.

5. Biết được khi nào cần hiểu rộng, khi nào cần hiểu sâu và làm rõvấn đề.

6. Có thể lập trình được nhiều ngôn ngữ, ít nhất 1 ngôn ngữ web và 1ngôn ngữ mobile.

Page 34: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

HỎI / ĐÁP

Câu 01: Hai tính chất nào sau đây khôngthuộc bốn tính chất cơ bản của LẬPTRÌNH HƯỚNG ĐỐI TƯỢNG?

a) Abstraction (Trừu tượng)b) Constructor (Khởi tạo)c) Polymorphism (Đa hình)d) Encapsulation (Bao phủ, bao đóng)e) Inheritance (Kế thừa)f) Overload (Nạp chồng)

Page 35: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

HỎI / ĐÁP

Câu 02: Cơ sở dữ liệu MySql hiệnnay thuộc sở hữu của tập đoàn nào?

a) Sun Microsystemb) Infosysc) Oracled) IBM

Page 36: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

HỎI / ĐÁP

Câu 03: MongoDB thuộc loại CSDLnào sau đây?a) Relational Databaseb) Document Databasec) Key-Value Databased) Column Databasee) Graph Database

Page 37: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

HỎI / ĐÁP

Câu 04: Mô hình lập trình MVC viếttắt cho cụm từ nào?a) Model – View – Cacheb) Model – View – Controllerc) Model – View – Componentd) Model – Visual – Controllere) Model – Visual – Component

Page 38: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

HỎI / ĐÁP

Câu 05:public void call(String… args){}Hàm này có phải hàm đúng không?

Page 39: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

HỎI / ĐÁP

Câu 06:Int a = new Integer(“1”);Int a = Integer.parseInt(“1”);Câu lệnh nào trên đây đúng?Nếu cả 2 đều đúng nên dùng câulệnh nào?

Page 40: GIỚI THIỆU - office-softech.cdn.vccloud.vn · 1. Không giớihạnởbấtkỳ1 language (ngôn ngữ) hay 1 framework (nềntảng) hay 1 specialization (chuyên môn CNTT)

CẢM ƠN