Tải bản đầy đủ (.doc) (21 trang)

BÁO CÁO THỰC TẬP TẠI CÔNG TY VINAGAME

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (741.24 KB, 21 trang )

LỜI CẢM ƠN.
Đầu tiên, em xin gửi lời cảm ơn chân thành đến thầy Nguyễn Trung Thành
đã giúp đỡ và giới thiệu em thực tập tại Công ty VNG. Không những thế, trong
quá trình thực tập thầy đã chỉ bảo và hướng dẫn tận tình cho em những kiến thức
lý thuyết, cũng như các kỹ năng trong lập trình, cách giải quyết vấn đề, đặt câu hỏi
… Thầy luôn là người truyền động lực trong em, giúp em hoàn thành tốt giai đoạn
thực tập tốt nghiệp.
Cho phép em gửi lời cảm ơn sâu sắc đến Công ty VNG đã tạo mọi điều
kiện thuận lợi giúp em cũng như các sinh viên khác hoàn thành giai đoạn thực tập
tốt nghiệp.
Chân thành cảm ơn đến các bạn trong nhóm thực tập đã hỗ trợ để em có thể
hoàn thành tốt công việc được giao.
Em xin chân thành biết ơn sự tận tình dạy dỗ của tất cả các quý thầy cô
Khoa công nghệ thông tin – Học viện kỹ thuật quân sự
Sinh viên
Nguyễn Đình Đạt
Mục Lục:
LỜI CẢM ƠN 1
Mục Lục: 2
III Nội dung thực tập 3
1.Tìm hiểu về ngôn ngữ lập trình DART 3
2. Hướng dẫn cài đặt sử dụng Dart 12
IV . Kết quả đạt được 21
I Tên đề tài:
- Tìm hiểu và nghiên cứu về ngôn ngữ lập trình DART
II Giới Thiệu Về Đơn Vị Thực Tập:
1. Địa Chỉ:
- Công Ty Cổ Phần VNG
- Địa chỉ: Tầng 3 tòa nhà Trung Yên 1, Đường Trung Yên, Cầu Giấy, Hà Nội
- Tel: (84.4)3786.8866
- Fax: (84.4)3557.5754


2. Giới thiệu:
Công ty Cổ phần VNG được thành lập được thành lập ngày 9 tháng 9 năm
2004 ở Việt Nam , VNG gây chấn động khi ký được hợp đồng đầu tiên với “đại
gia” Kingsoft để mang Võ Lâm Truyền Kỳ về quê nhà, mở đường cho kỷ
nguyên game nhập vai tại Việt Nam. Trong vòng 1 tháng, VLTK đã tạo nên
cơn sốt chưa từng có tại Việt Nam với con số ấn tượng 20,000 PCU (lượng
người chơi truy cập tại cùng một thời điểm). Lĩnh vực hoạt động chính là lập
trình game, bảo trì và phát triển mạng xã hội ZingMe Với các sản phẩm nội
dung số và giải trí trực tuyến, người dùng có thể cập nhật những tin tức mới
nhất hay đơn giản là nghe những bản nhạc mình yêu thích với mp3.zing.vn và
trải nghiệm những trò chơi trực tuyến hấp dẫn với me.zing.vn hay đọc những
tin tức hấp dẫn tại báo new.zing.vn
III Nội dung thực tập
1. Tìm hiểu về ngôn ngữ lập trình DART
1.1 Sơ lược về ngôn ngữ lập trình DART
Dart là một ngôn ngữ lập trình web do Google phát triển. Nó được chính
thức công bố tại Hội thảo GOTO ngày 10-12 Tháng Mười năm 2011 tại
Aarhus. Mục đích của Dart không phải để thay thế JavaScript như là ngôn ngữ
kịch bản chính bên trong trình duyệt web, mà là cung cấp sự lựa chọn hiện đại
hơn
Mục đích của sử dụng của Dart là để giải quyết các vấn đề của JavaScript
(các vấn đề như hiện nay không thể giải quyết bằng việc cải tiếng ngôn ngữ)
trong khi cung cấp hiệu năng tốt hơn, khả năng “có thể dễ dàng trở thành công
cụ trong các dự án lớn” và an ninh tốt hơn.
Dart , một dự án mã nguồn mở nhằm mục đích giúp các nhà phát triển xây
dựng được các ứng dụng phức tạp và có hiệu quả cao hơn trên nền web. Sử
dụng ngôn ngữ lập trình Dart, bạn có thể dễ dàng gọi ra các thuộc tính bằng
cách sử dụng các công cụ hỗ trợ có tích hợp trong các thư viện của ngôn ngữ
Dart, và một số kỹ thuật lập trình .
Mặc dù Dart là một ngôn ngữ mới nhưng nó đã có các công cụ như

Dartbroad(cho phép bạn viết và chạy mã Dart trong trình duyệt của bạn) ,
DartEditor (cho phép bạn tạp, chỉnh sửa, và chạy các ứng dụng Dart). Hiện
nay trong SDK của Dart cũng có chưa các công cụ dòng lệnh chẳng hạn như
trình biên dịch Dart-to-JavaScript (chuyển từ mã Dart sang JavaScript để chạy
trên trình duyệt hiện tại) hay Dart Virtual Machine (VM, cho phép bạn chạy
mã Dart trên server) . Một công cụ mới có sẵn được xây dựng như một trình
duyệt Chromium, có tên là Dartium , trong công cụ này có chưa sẵn một Dart
VM.
1.2 Điểm nổi bật của Dart
- Dart rất dễ học : Một loạt các nhà phát triển có thể tìm hiểu Dart một cách
nhanh chóng. Đây là một ngôn ngữ hướng đối tượng với các class, kế thừa
đơn, hàm cấp cao và các cú pháp quen thuộc. Hầu hết các nhà phát triển có
thể học trong một ngày
- Dart biên dịch được sang JavaScript : Dart được thiết kế ngay từ đầu để
biên dịch sang JavaScript , giúp các ứng dụng viết bằng Dart có thể chạy
được trên toàn bộ các trình duyệt Web hiện nay.
- Dart đi kèm với trình soạn thảo nhẹ. Bạn có thể sử dụng Dart Editor để viết,
chạy và gỡ lỗi các ứng dụng Dart. Dart Edior có thể giúp bạn hoàn thành
mã, phát hiện các lỗi tiềm năng, gỡ lỗi cả dòng lệnh lẫn ứng dụng web,
thậm chí tái cấu trúc. Dart Editor không quá cần thiết khi viết mã Dart, nó
chỉ là một công cụ có thể giúp bạn viết code tốt và nhanh hơn
- Dart chạy cả client và server . DartVM (máy ảo Dart) có thể tích hợp vào
trình duyệt web, nhưng nó cũng có thể chạy độc lập trên dòng lệnh. Với
việc xây dựng thư viện hỗ trợ cho các tập tin, thư mục, sockets và thậm chí
cả web server, bạn có thể sự dụng Dart trong một ứng dụng hoàn thiện
- Dart hỗ trợ các kiểu dữ liệu có sẵn và các kiểu dữ liệu được người dùng yêu
cầu . Khi bạn muốn thể hiệu một cái gì đó mà bạn không thể sử dụng kiểu
dữ liệu hệ thống. Bạn có thể thêm vào kiểu dữ liệu như là chương trình
hoàn thiện của bạn, cấu trúc rõ ràng, và nhiều nhà phát triển tham gia dự án.
Kiểu dữ liệu tùy chọn của Dart là kiểu tĩnh đó nó đóng vai trò như một tài

liệu, thể hiện rõ ý định sử dụng của bạn. .
- Dart có quy mô kịch bản từ nhỏ tới lớn, các ứng dụng phức tạp. Sự phát
triển của Web là rất nhiều quá trình lặp đi lặp lại. Với nút reload đóng vai
trò như một trình biên dịch, xây dựng hạt giống của một ứng dụng web
thường là một kinh nghiệm thú vị khi viết một vài chức năng để thử
nghiệm. Khi ý tưởng phát triển, bạn có thể thêm vào các mã và cấu trúc.
Dart hỗ trợ các hàm cấp cao, kiểu dữ liệu tùy chọn, lớp và thư viện, các
chương trình Dart của bạn có thể bắt đầu từ nhỏ và sẽ phát triển theo thời
gian.
- Dart có một mảng rộng các thư viện có sẵn. Thư viện lõi hỗ trợ các kiểu dữ
liệu có sẵn và các tính năng cơ bản như ngày tháng,các biểu thức . Các ứng
dụng web sử dụng thư viện HTML, đã được tối ưu hóa cho Dart. Các ứng
dụng dòng lệnh (command-line) sử dụng thư viện I/O để làm việc với các
file, thư mục , sockets và server. Các thư viện khác bao gồm URI, UTF,
Crypto, Math
- Dart hỗ trợ chia sẻ mã. Quy trình lập trình web truyền thông không thể tích
hợp thư viện của bên thứ ba từ các nguồn tùy ý hoặc frameworks. Với Dart
gói quản lý (pub) và ngôn ngữ đặc trưng như các thư viện, bạn có thể dễ
dàng tìm hiểu, cài đặt và tích hợp mã .
- Dart là một mã nguồn mở.
1.3 Cấu trúc ngôn ngữ Dart
• Biến
Biến trong Dart được khai báo như trong các ngôn ngữ thông dụng hiện nay
Ví dụ
Var name = ‘Bob’; String name = ‘Bob’ ;
Nếu muốn giá trị của biến không thay đổi, sử dụng hai kiểu là “final” và
“const”
Final name = ‘Bob’;
• Kiểu dữ liệu có sẵn
Dart hỗ trợ các kiểu dữ liệu có sẵn như Strings, numbers, Booleans. Lists,

maps
Với hai kiểu dữ liệu Strings, và Numbers có thể ép kiểu cho nhau
// string ->int : Var one = int.parse(‘1’);
// string -> double: Var one = double.parse(‘1’);
// double -> string : String piAstring =3.14159.toStringAsFixed(2)
// int ->string : String oneAsstring = 1.toString();
Dart sử dụng list thay cho khai báo mảng như các ngôn ngữ thông thường
Var list = [1, 2, 3]; // khai báo mảng có 3 phần tử
assert(list.length== 3);
assert(list[1] == 2);
Maps là một đối tượng liên kết khóa với giá trị. Dart hỗ trợ và cung cấp
kiểu dữ liệu Map
Var gifts = { // A map literal
// keys values
‘fist’ : ‘partridge’,
‘second’ : ‘turtledoves’,
‘fifth’ : ‘golden rings’,
};
• Hàm
Ví dụ : printNumber(num number) {
Print(‘The number is $number’);
}
Đối với các hàm chỉ chứa trong nó một biểu thức ta có thể viết như sau
printNumber(num number) => print(‘The number is $number’);
Một điểm lưu ý của hàm đó là thông số tùy chọn, có hai loại là theo vị trí
hoặc theo tên.
Ví dụ : Optional named parameters(Thông số theo tên)
enableFlags ({bool bold, bool hidden}) {} // Tạo hàm enableFlags
enableFlags( bold: true, hidden: false); // thực thi hàm, truyền giá trị
Optional positional parameters (Thông số theo vị trí)

String say (String form, String msg, [String device] ){ /// tạo hàm say
Var result = ‘$from say $msg’;
If (device!= null){
Result = ‘$result with a $device’;
}
}
say (‘Bob’, ‘Howdy’); // kết quả : Bod say Howdy
• Toán tử
Dart hỗ trợ đầy đủ các toán tử như các ngôn ngữ lập trình thông thường
hiện nay

• Toán tử điều kiện
Trong Dart có sẵn các toán tử điều kiện gồm :
If and else , for, while and do-while, break and continue, switch and case ,
assert.
Assert là một toán tử điều kiện mới trong Dart, nó sử dụng như một khẳng
định nếu điều kiện Boolean là false
assert(text != null); // Chắc chắn biến có giá trị không null
assert(number < 100); // Chắc chắn biến có giá trị nhỏ hơn 100
• Kiểm soát lỗi
Mã Dart có thể ném và bắt các ngoại lệ. Trái ngược với Java, tất cả các
trường hợp ngoại lệ của Dart là ngoại lệ không được kiểm soát. Phương
pháp không khai báo những ngoại lệ có thể ném (throw) và bạn không cần
thiết bắt bất cứ ngoại lệ nào
Dart cung cấp các kiểu Exception và Error, cũng như rất nhiều phân nhóm
được định nghĩa trước.Tất nhiên, bạn có thể xác định những trường hợp
ngoại lệ của riêng bạn.Tuy nhiên, Dart có thế ném bất kì đối tượng nào
không null, chứ không chỉ các đối tượng Exception và Error, như là một
ngoại lệ.
• Lớp

Dart là một ngôn ngữ hướng đối tượng với các lớp , các thừa kế đơn. Mỗi
đối tượng là một thể hiện của lớp.
Để tạo một đối tượng, bạn có thể sử dụng từ khóa new với một constructor
của lớp . Tên của constructor có thể là ClassnamehoặcClassname.identifier
var jsonData = JSON.parse('{"x":1, "y":2}');
var p1 = new Point(2,2); // Create a Point using Point().
var p2 = new Point.fromJson(jsonData); // Create a Point using
Point.fromJson().
Class trong Dart cũng tương tự như những ngôn ngữ hiện nay .
class Point { num x; // Khai báo biến thực thể x
num y;
Point(this.x, this.y) ; // Khởi tạo contrustor
Num distanceTo(){ // Phương thức được tạo trong class
Var dx = x – other.x;
Var dy = y – other.y;
Return sqrt (dx*dx + dy*dy);
}
}
• Sử dụng thư viện
Cách gọi các thư viện trong Dart rất đơn giản
Import ‘dart:html’ // Sử dụng thư viện dart : html
• Isolates
Các trình duyệt wed hiện đại , ngay cả trên các nền tảng di động, đều chạy
trên các CPU đa nhân, để tận dụng được tất cả ưu điểm của các nhân này,
các nhà phát triển dùng các luồng chia sẻ bộ nhớ chạy đồng thời. Tuy
nhiên, tình trạng chia sẽ đồng thời dễ gây ra lỗi và có thể dẫn đến việc phức
tạp code. Thay thế vào đó, tất cả các mã Dart sẽ chạy trong các phân lập,
mỗi phân lập có bộ nhớ heap riêng của nó, để đảm bảo rằng trạng thái 1
phân lập không bị truy cập vào từ các phân lập khác.
1.4 Thư viện có sẵn của Dart

• Core library : Chứa cấu trúc dữ liệu và toán tử chung
• HTML library : Giao diện HTML5 DOM, dựa trên chuẩn đề xuất của
HTML5 theo qui định của W3C/WHATWG . Thư viện này được phát triển
song song với các tiêu chuẩn HTML5
• I/O library : Thư viện đầu vào ra cho server , đọc và viết file, mở thư mục,
mở networks sockets, và chạy HTTP servers
• Isolate library : Hỗ trợ tạo và giao tiếp liên tục với các phân lập, cơ chế
thống nhất và an ninh cho chương trình
• JSON library : Hỗ trợ cho việc phân tích và tạo mã hóa JSON cho văn bản
• Math library : Chứa các hàm sin, cos, max, min hay các hằng số pi, e
• JavaScript Interop : Sử dụng JavaScript từ mã Dart
• Unit test : Viết đơn vị test từ mã Dart
• Web UI : Xây dựng ứng dụng web, sử dụng API dự trên Web Components,
với các tính năng bổ sung
• Meta : Sử dụng chú thích để cung cấp cho các công cụ hỗ trợ thông tin
trong chương trình của bạn
1.5 Công cụ Dart
• Dart Editor : Hỗ trợ tạo, chạy, gỡ lỗi ứng dụng Dart
• Pub : gói quản lý có tính năng như thư viện được công bố trên
pub.dartlang.org
• Dart2js: Biên dịch từ mã Dart sang JavaScript
• Dart : máy ảo Dart
• Dartium : Trình duyệt có tích hợp sẵn Dart VM
Trình tự biên dịch Dart
Về phía client, bạn có thể triển khai các ứng dụng Dart theo hai cách. Đối
với các trình duyệt mà không có một máy ảo Dart nhúng, bạn có thể biên dịch mã
Dart JavaScript, bằng cách sử dụng các trình biên dịch dart2js. Trình biên dịch này
tạo ra ECMAScript5 tương thích với JavaScript từ mã Dart. Mã JavaScript này
làm việc trong các phiên bản mới nhất của Chrome, Safari, và Firefox, cộng với
IE9 +, điện thoại di động Safari và Chrome cho Android. Dart mã có thể chạy trực

tiếp trong trình duyệt có một máy ảo Dart, bao gồm Dartium và Chrome cuối
cùng.
Về phía máy chủ, mã Dart chạy trực tiếp bằng cách dòng lệnh comand. Sử
dụng các công cụ Dart để lăp lại nhanh chóng và hỗ trợ cho các tác vụ dựa trên
điện toán đám mây
Chế độ chạy
Production mode : là chế độ chạy mặc định của chương trình Dart., tối ưu
hóa tốc độ. Production mode bỏ qua các kiểu dữ liệu tĩnh và các báo cáo
Checkmode : là chế độ than thiện với các nhà phát triển,giúp bắt được cái
lỗi trong thời gian chạy
2. Hướng dẫn cài đặt sử dụng Dart
Dart cung cấp cho người sử dụng đủ các công cụ cần thiết để học và bắt đầu tạo ra
những ứng dụng mới bằng ngôn ngữ Dart.
Để bắt đầu làm quen với Dart ta cần phải thực hiện sau
• Vào trang chủ Dart : www.dartlang.org
• Download Dart Editor (Hiện hỗ trợ cho Windown, OS, Linux)
• Download Dart SDK
• Download Dartium (Trình duyệt đã có nhúng Dart)
Tất cả các phần trên, sau khi download về, chỉ cần giải nén là có thể sử dụng được.
Sau khi giải nén tất cả các file trên, vào folder Dart , kích dupe vào file
• DartEditor.app(Mac)
• DartEditor(Linux)
• DartEditor.exe (Windows)

Vì Dart là ngôn ngữ mới và vẫn trong quá trình thử nghiệm, Trong DartEditor có tích
hợp sẵn nút Feed Back chia sẽ lỗi và yêu cầu trực tiếp với nhóm phát triển Dart.

Rất dễ dàng để tạo một ứng dụng web đơn giản, hoặc ứng dụng command-line bằng
Dart Editor
• Click the New Application button . Chọn File -> New Application từ Dart

Editor menu .

• Hộp thoại New Application mở, gõ tên của ứng dụng chuẩn bị tạo. Nếu bạn
không thư mục lưu ứng dụng của mình,bạn có thể chọn lại.
• Nếu bạn tạo một ứng dụng web, chọn Generate content for a basic web app.
Nếu bạn sử dụng pub , chọn Add pub suppprt. Click finish để tạo một ứng
dụng mới

• Ứng dụng mới đã được tạo . Muốn mở ra các ứng dụng khác đã được tạo từ trước.
Chọn File -> Open folder .Ấn tổ hợp phím Ctrl + O (windows) hoặc Cmd +O với
Mac.
• Để thêm các file khác vào ứng dụng . Kích chuột phải vào tên Folder ứng dụng
cần thêm. Chọn New File , New Application, New Folder để thêm

• Chỉnh sửa ứng dụng
Sử dụng Ctrl + Space để dùng chức năng autocomplete.
Ví dụ : query(‘#text’).o lập tức sẽ hiện ra các gợi ý cần thiết.
Khi muốn tìm xem một hàm, biến, class được tạo ở đâu. Được gọi ở những phần
nào. Ta trỏ chuột đến
Hoặc kích chuột phải
Để bắt đầu chạy ứng dụng ta chọn file chạy , chọn . Để cấu hình chế độ
chạy cho ứng dụng . Vào Run -> Manage Launches .
Nếu chạy ứng dụng web , có thể chọn
File HTML hoặc đường dẫn URL đến ứng dụng
Trình duyệt thường chạy bằng JavaScript
Bật chế độ debug (Dartium)
Bật chế độ chạy checkmode (Dartium) hoặc không tích sẽ sang chế độ
Production mode.
Bạn có thể lựa chọn chạy ứng dụng bằng Dartium hoặc Trình duyệt thường


Sử dụng DartEditor để debug ứng dụng Dart

Trên trang chủ Dart có sẵn những ví dụ minh hoa cho ngôn ngữ này. Như ứng dụng
Clock, Sunflower…
IV . Kết quả đạt được
Trong khoảng thời gian 5 tuần thực tập hệ thống chương trình của em cơ bản là đã
hoạt động tốt, em sẽ cố gắng hoàn thiện hệ thống và thêm các chức năng để phục vụ tốt
cho hệ thống.
Dù thời gian thực tập chỉ diễn ra trong 5 tuần nhưng em đã học hỏi được rất nhiều
điều bổ ích, em xin chân thành cảm ơn các anh chị và các bạn trong team đã hướng dẫn
giúp đỡ em trong quá trình thực tập này.

Người viết báo cáo Xác nhận của cán bộ hướng dẫn
(ký, ghi rõ họ tên) (ký, ghi rõ họ tên)

×