Thứ Sáu, 22 tháng 8, 2014

4 tính năng mới của Visual Studio 2012 mà bạn cần biết (16.03.2013, 08:05 am GMT+7)


Trong vài năm trở lại đây, việc xây dựng các ứng dụng ngày càng trở nên khó khăn hơn do sự phát triển ngày càng nhanh của công nghệ thông tin cùng với sự phát triển của các công cụ lập trình IDE khác nhau tạo nên các ứng dụng mang phong cách hoàn toàn khác nhau. Người dùng đang thay đổi cách nhìn mong muốn đối với ứng dụng. Họ mong đợi sẽ các ứng dụng sẽ ngày càng đơn giản hơn và chạy trên nhiều loại thiết bị khác nhau. Việc Microsoft phát hành phiên bản Visual Studio 2012 đã đóng góp thêm cho giới lập trình về một công cụ để xây dựng một loạt các ứng dụng ngày càng nhanh hơn. Việc phát triển thêm các công cụ kiểm thử cũng giúp người lập trình tạo ra các ứng dụng chất lượng cao.
 Tạo trang in
Trong phiên bản mới này điểm thu hút lớn nhất của Visual Studio 2012 là khả năng xây dựng các ứng dụng dành cho Windows 8. Và điều chắc chắn lớn nhất đó chính là phát triển ứng dụng cho Windows 8 chính là cái đích lớn nhất của việc phát hành Visual Studio 2012, nhưng đó không phải là tất cả. Visual Studio 2012 là phiên bản phát hành với rất nhiều tính năng. Một trong những thay đổi rõ ràng nhất chính là việc thiết lập hoàn toàn mới của Visual Studio. Bây giờ chúng ta sẽ đi sâu vào các tính năng mới mà bạn sẽ thấy ở Visual Studio 2012.
1. Giao diện mới
Nếu bạn đã từng sử dụng những phiên bản trước đây của Visual Studio, thì một trong những điều đầu tiên dễ thấy về Visual Studio 2012 chính là giao diện người dùng mới. Giao diện mới của Visual Studio tương đối bằng phẳng và hơi tối. Điều này làm cho người lập trình khó có thể phân biệt được các biểu tượng so với các phiên bản trước đây. Đối với một sản phẩm được cho là theo giao diện Windows 8 (trước đây gọi là Metro) thì cũng hiểu rõ ý tưởng cho việc thiết kế giao diện này chính là làm nổi bật trọng tâm vào các mã lệnh. Các biểu tượng có sự khác biệt nhỏ và các lệnh đều là các chữ cái viết hoa. Đối với vị trí các lệnh thì hầu hết giống với phiên bản trước. Nếu bạn muốn sử dụng các lệnh trên thanh thực đơn có chữ cái kết hợp chữ hoa và thường thì bạn hãy làm theo bước sau :
- Mở regedit.
- Điều hướng đến mục HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\ General.
- Tạo một giá trị kiểu DWORD mới với tên làSuppressUppercaseConversion.
- Đặt giá trị cho nó là 1.
Mặc dù có nhiều tính năng mới như tốt như việc ghim các tab, nhưng giao diện chính là điểm yếu lớn nhất trong phiên bản này.
Hinh1.png
2. Phát triển ứng dụng Windows 8
Với việc phát hành Windows 8, Microsoft thông báo một nền tảng mới là WinRT, làm cho Windows có thể chạy trên các thiết bị chạy bộ vi xử lý ARM. Một thế hệ mới của Windows 8 và Windows RT là các thiết bị máy tính bảng, bao gồm cả máy tính bảng Microsoft Surface. Visual Studio 2012 là công cụ để phát triển ứng dụng cho thế hệ mới của các thiết bị máy tính bảng - bao gồm cả thiết bị Windows 8 x86 vả Windows RT ARM.
Visual Studio 2012 cho phép bạn tạo các ứng dụng Windows 8 bằng cách sử dụng nhiều ngôn ngữ như : C++, Extensible Application Markup Language (XAML) với C# hoặc Visual Basic, HTML 5 với JavaScript và Cascading Style Sheets (CSS).
Để tạo ra ứng dụng Windows 8, Visual Studio 2012 bao gồm tập hợp các dự án mẫu như Blank App (XAML), Grid App (XAML), Split App (XAML), Class Library (Windows Store apps), Windows Runtime Component, Unit Test Library (Windows Store apps).
Một điều có thể bạn không mong muốn đó chính là để phát triển các ứng dụng Windows 8, bạn cần phải có giấy phép cho nhà phát triển ứng dụng. May mắn là ngay tại màn hình khởi động của Visual Studio 2012 có một liên kết để khởi động trình thuật sĩ để giúp bạn có giấy phép tạo ứng dụng Windows 8.
Sau khi bạn có giấy phép dành cho nhà phát triển, bạn có thể bắt đầu dùng ứng dụng mẫu nào đó để tạo ứng dụng cho Windows 8. Thiết lập dự án để xem ứng dụng có thể chạy trên Windows 8 hay trên WinRT. Một trong những tính năng tuyệt vời trong phát triển Windows 8 là bao gồm một trình mô phỏng mới dành cho máy tính bảng. Giả lập máy tính bảng tương tự gần như với tính năng giả lập điện thoại trong các phiên bản trước của Visual Studio. Giả lập máy tính bảng cho phép bạn kiểm tra các ứng dụng chạy trên máy tính bảng dùng Windows 8 mà không cần phải chạy chúng trên một thiết bị riêng biệt.
Hinh2.png
3. Expression Lend
Visual Studio 2012 bao gồm một phiên bản khá hạn chế tên là Expression Lend. Expression Lend là một công cụ thiết kế mạnh mẽ, cho phép lập trình viên thay đổi thiết kế về giao diện của ứng dụng, mà không yêu cầu dùng XAML. Các phiên bản của Expression Lend đi kèm với Visual Studio 2012 chỉ làm việc với các dự án Windows Store, mà không làm việc trên các loại dự án khác. Khi Expression Lend chạy, nó bắt đầu bằng cửa sổ riêng của nó ngoài Visual Studio 2012, nhưng nó không nhận các tập tin từ các solution đang mở. Khi bạn quay trở lại với Visual Studio 2012, IDE sẽ nhắc nhở bạn các tập tin đó vừa chỉnh sửa.
4. Web Development
Mặc dù các nhà phát triển Windows 8 sẽ quan tâm đến Visual Studio 2012, nhưng các lập trình viên web sẽ cũng thú vị với phiên bản này. Visual Studio 2012 có nhiều tính năng mới cho việc lập trình web, chẳng hạn :
- HTML 5: Visual Studio 2012 hỗ trợ đầy đủ HTML5. Ngoài ra nó có thể nhận dạng phiên bản HTML mà bạn đang dùng để điều khiển IntelliSense và khả năng kiểm tra lỗi cho phù hợp.
- IntelliSense cho JavaScript và jQuery : một tính năng tuyệt vời mới đó chính là việc IntelliSense bây giờ đã hỗ trợ đầy đủ cho JavaScript và jQuery.
- Page Inspector : có thể nói đây là tính năng mới quan trọng nhất của các nhà phát triển web. Page Inspector sẽ cung cấp cho bạn số dòng code đã được kết xuất trên máy chủ. Di chuyển chuột trên các khu vực khác nhau để làm nổi bật các đoạn code sẽ được thực thi.
- ASP.NET Web API : bao gồm ASP.NET MVC 4 và ASP.NET Web Forms. ASP.NET Web API mới có thể giúp bạn xây dựng và sử dụng các dịch vụ HTTP.
- Windows Azure : nếu bạn là nhà phát triển của Windows Azure, bạn sẽ đánh giá cao Visual Studio 2012 vì nó có thể xuất bản các giải pháp đến Windows Azure.
- IIS Express : trong các phiên bản trước đây của Visual Studio, việc xây dựng các ứng dụng máy chủ web có một số vấn đề tương thích với phiên bản IIS Server. Visual Studio 2012 sử dụng IIS Express như máy chủ web mặc định, do đó loại bỏ hầu hết các vấn đề tương thích.

Chia sẻ với các bạn một trang web chia sẻ các tutorial về lập trình:

Chia sẻ với các bạn một trang web chia sẻ các tutorial về lập trình:
http://www.tutorialspoint.com/index.htm

JSON - Objects

Creating Simple Objects

JSON objects can be created with Javascript. Let us see various ways of creating JSON objects using Javascript:
  • Creation of an empty Object:
var JSONObj = {};
  • Creation of new Object:
var JSONObj = new Object();
  • Creation of an object with attribute bookname with value in string, attribute price with numeric value. Attributes is accessed by using '.' Operator:
var JSONObj = { "bookname ":"VB BLACK BOOK", "price":500 };
This is an example which shows creation of an object in javascript using JSON, save the below code as json_object.htm:
<html>
<head>
<title>Creating Object JSON with JavaScript</title>
<script language="javascript" >

  var JSONObj = { "name" : "tutorialspoint.com", "year"  : 2005 };
  document.write("<h1>JSON with JavaScript example</h1>");
  document.write("<br>");
  document.write("<h3>Website Name="+JSONObj.name+"</h3>");  
  document.write("<h3>Year="+JSONObj.year+"</h3>");  

</script>
</head>
<body>
</body>
</html>
Now let's try to open json_object.htm using IE or any other javascript enabled browser, this produces the following result:
json objects

Creating Array Objects

Below example shows creation of an array object in javascript using JSON, save the below code asjson_array_object.htm:
<html>
<head>
<title>Creation of array object in javascript using JSON</title>
<script language="javascript" >

document.writeln("<h2>JSON array object</h2>");

var books = { "Pascal" : [ 
      { "Name"  : "Pascal Made Simple", "price" : 700 },
      { "Name"  : "Guide to Pascal", "price" : 400 }
   ],                       
   "Scala"  : [
      { "Name"  : "Scala for the Impatient", "price" : 1000 }, 
      { "Name"  : "Scala in Depth", "price" : 1300 }
   ]    
}    

var i = 0
document.writeln("<table border='2'><tr>");
for(i=0;i<books.Pascal.length;i++)
{ 
   document.writeln("<td>");
   document.writeln("<table border='1' width=100 >");
   document.writeln("<tr><td><b>Name</b></td><td width=50>"
   + books.Pascal[i].Name+"</td></tr>");
   document.writeln("<tr><td><b>Price</b></td><td width=50>"
   + books.Pascal[i].price +"</td></tr>");
   document.writeln("</table>");
   document.writeln("</td>");
}

for(i=0;i<books.Scala.length;i++)
{
   document.writeln("<td>");
   document.writeln("<table border='1' width=100 >");
   document.writeln("<tr><td><b>Name</b></td><td width=50>"
   + books.Scala[i].Name+"</td></tr>");
   document.writeln("<tr><td><b>Price</b></td><td width=50>"
   + books.Scala[i].price+"</td></tr>");
   document.writeln("</table>");
   document.writeln("</td>");
}
document.writeln("</tr></table>");
</script>
</head>
<body>
</body>
</html>
Now let's try to open json_array_object.htm using IE or any other javascript enabled browser, this produces the following result:
json array objects

JSON là gì? JSON làm việc như thế nào - Phần 3


Cú pháp JSON 

Cú pháp JSON là một tập hợp con của cú pháp JavaScript

Các quy luật cú pháp JSON 

Cú pháp JSON là một tập hợp con của cú pháp đối tượng JavaScript.
  • Dữ liệu là các cặp tên/giá trị (name/values)
  • Dữ liệu được phân cách bằng dấu phẩy
  • Đối tượng nằm trong cặp ngoặc nhọn ‘{}’
  • Dấu ngoặc vuông giữ mảng ‘[]’

Cặp Tên/Giá trị của JSON

Dữ liệu JSON được viết trong cặp Tên/Giá trị.
Một cặp Tên/Giá trị chứa tên 1 trường (trong dấu nháy đôi “”), theo sau là dấu phẩy, cuối cùng là giá trị:
Mã:
"firstName" : "John"
Cú pháp này khá dễ hiểu, và tương đương với lệnh JavaScript sau:
Mã:
firstName = "John"
________________________________________
Các giá trị của JSON
Giá trị (value) JSON có thể là:
  • 1 số (nguyên (integer) hay số thực (floating point))
  • 1 chuỗi (nằm trong dấu nháy đôi “”)
  • 1 số luận lý (true or false)
  • 1 mảng (nằm trong dấu ngoặc vuông [])
  • 1 đối tượng (nằm trong dấu ngoặc nhọn {})
  • Kiểu null
________________________________________
Các đối tượng JSON

Các đối tượng được đặt trong dấu ngoặc nhọn {}
Đối tượng có thể chứa nhiều cặp Tên/Giá trị (Name/Values):
Mã:
{ "firstName":"John" , "lastName":"Doe" }
Và tương đương với lệnh JavaScript sau:
Mã:
firstName = "John"
lastName = "Doe"
________________________________________
Mảng của JSON
Mảng JSON nằm trong dấu ngoặc vuông [].
1 mảng có thể chứa nhiều đối tượng:
Mã:
{
 "employees": [
  { "firstName":"John" , "lastName":"Doe" }, 
  { "firstName":"Anna" , "lastName":"Smith" }, 
  { "firstName":"Peter" , "lastName":"Jones" }
 ]
}
Trong ví dụ trên, đối tượng “employees” là 1 mảng chứa 3 đối tượng. mỗi đối tượng là 1 record của person (với 1 ‘first name và’ 1 ‘last name’).
________________________________________
JSON sử dụng cú pháp JavaScript
Bởi vì JSON sử dụng cú pháp JavaScript, nên không cần 1 chương trình trung gian làm việc giữ JSON và JavaScript.
Với JavaScript bạn có thể tạo 1 mảng các đối tượng và gán dữ liệu như sau:

Ví dụ:
Mã:
var employees = [
 { "firstName":"John" , "lastName":"Doe" }, 
 { "firstName":"Anna" , "lastName":"Smith" }, 
 { "firstName":"Peter" , "lastName": "Jones" }
];
Dòng đầu tiên trong mảng đối tượng JavaScript có thể được truy cập như sau:
Mã:
employees[0].lastName;
Kết quả:
Mã:
Doe
Dữ liệu mới được gán như sau:
Mã:
employees[0].lastName = "Jonatan";
Trong phần 4, tui sẽ chỉ cách chuyển chuỗi JSON qua đối tượng JavaScript.
________________________________________
JSON Files
  • Kiểu file của JSON là ".json"
  • Kiểu MIME của JSON là "application/json"

JSON là gì? JSON làm việc như thế nào - Phần 2


JSON - Giới thiệu

Ví dụ JSON:
HTML Code:
<html>
 <body>
  <h2>JSON Object Creation in JavaScript</h2>
  <p>
   Name: <span id="jname"></span><br /> 
   Age: <span id="jage"></span><br /> 
   Address: <span id="jstreet"></span><br /> 
   Phone: <span id="jphone"></span><br /> 
  </p>
  <script type="text/javascript">
   var JSONObject= {
    "name":"John Johnson",
    "street":"Oslo West 555", 
    "age":33,
    "phone":"555 1234567"
   };
   document.getElementById("jname").innerHTML=JSONObject.name 
   document.getElementById("jage").innerHTML=JSONObject.age 
   document.getElementById("jstreet").innerHTML=JSONObject.street 
   document.getElementById("jphone").innerHTML=JSONObject.phone 
  </script>

 </body>
</html>
________________________________________
Giống như XML
  • JSON là văn bản trơn (không có định dạng(màu sắc, cỡ chữ,…))
  • JSON là "tự mô tả" (người dùng có thể hiểu được)
  • JSON là phân cấp (có cấu trúc cây)
  • JSON có thể được phân tích cú pháp (parse) bởi JavaScript
  • Dữ liệu JSON có thể được truyền đi bằng AJAX
________________________________________
Không giống như XML
  • Không có thẻ kết thúc
  • Ngắn hơn
  • Nhanh hơn để đọc và ghi
  • Có thể được phân tích cú pháp bằng hàm dựng sẵn trong JavaScript là eval ()
  • Sử dụng mảng (Array)
  • Không dùng các từ reserve
________________________________________
Tại sao dùng JSON?
For AJAX applications, JSON is faster and easier than XML:
Sử dụng XML
  • Lấy một tài liệu XML
  • Sử dụng XML DOM để lặp qua tài liệu
  • Trích xuất các giá trị và lưu trữ trong các biến
Sử dụng JSON
  • Lấy một chuỗi JSON
  • Dùng hàm eval () chuyển chuỗi JSON thành đối tượng JavaScript

MICROSOFT VISUAL STUDIO 2013, TẢI VISUAL STUDIO 2013 KEY FULL VERSION

Visual Studio cung cấp giải pháp toàn diện nhất để dễ dàng phân phối các ứng dụng trên tất cả các nền tảng Microsoft, bao gồm điện thoại, máy tính để bàn, máy tính bảng, máy chủ, và các đám mây..

 Với một thuê bao MSDN có, bạn có thể truy cập đến hàng ngàn sản phẩm của Microsoft và bổ sung các dịch vụ, do đó bạn có tất cả mọi thứ bạn cần cho việc thiết kế, phát triển và thử nghiệm các ứng dụng trên nhiều nền tảng.

Các tính năng của Microsoft Visual Studio 2013:

1. Hỗ trở nhiều ngôn ngữ thông dụng.
   Visual Studio là cung cấp các công cụ và dịch vụ có thể được sử dụng để phát triển ứng dụng bao gồm nhiều nền tảng khác cũng như nền tảng của Microsoft. Nó cho phép bạn chia sẻ thông tin với người dân của tất cả thành viên trong nhóm phát triển không chỉ phát triển hơn nữa, tham gia dự án. Nếu bạn sử dụng Visual Studio, bạn có thể thực hiện sự nhanh nhẹn đội là công cụ phát triển cao, bạn đang sử dụng không phụ thuộc vào công cụ ngay cả trong Xcode hoặc Eclipse, mà là trong công việc. Họ cũng có thể thiết kế các ứng dụng NET nhiệm vụ quan trọng, ngay cả khi bạn có mã hóa của ứng dụng này là khả năng xử lý tốc độ cao trong C ++ AMP, nó đã đi trên nhiều thiết bị thử nghiệm và gỡ lỗi của HTML / JavaScript ứng dụng mà kết nối điện toán đám mây cũng có, bạn có thể chọn một môi trường phát triển quan trọng của Visual Studio để tất cả mọi người rằng hàng trăm ngàn nhà phát triển trên toàn thế giới đang sử dụng.


2. Tạo và quản lý dự án nhanh và dẻ dàng.
   Visual Studio có thể được tích hợp chức năng linh hoạt, thực hành quá trình phát triển của sự nhanh nhẹn cao để phù hợp với tốc độ xây dựng và tình hình của đội bóng. Việc sử dụng điện toán đám mây tại chỗ, bạn có thể sử dụng các công cụ quản lý vòng đời của Visual Studio, trong khi nâng cao chất lượng và duy trì sự nhanh nhẹn cao trong sự phát triển của vòng đời ngắn, và cung cấp cho nó để phát triển phần mềm. Với nó, bạn sử dụng các công cụ đã được xây dựng, và có chức năng của tất cả các khía cạnh của quá trình phát triển của quản lý tồn đọng kế hoạch chạy nước rút, và giao hàng liên tục.



3. Sự phát triển lan rộng hơn nữa trong Visual Studio trực tuyến.
   Với nó, bạn sử dụng Visual Studio trực tuyến, sau đó bạn có thể xây dựng trong quy hoạch phát triển và trong một cách đơn giản trong một thời gian ngắn, các phần mềm hỗ trợ nhiều nền tảng, để phát hành. Visual Studio trực tuyến cũng có thể xây dựng một môi trường như các công cụ theo dõi phát triển đội ngũ và dự án Git kho bạn có thể sử dụng môi trường phát triển tích hợp và hội nhập liên tục các (IDE) cho một kế hoạch hàng tháng, đã được lưu trữ. Bằng cách tận dụng một môi trường điện toán đám mây, nó có thể để loại bỏ các cài đặt phức tạp và lắp đặt các máy chủ, cài đặt, khởi động và chỉ mất một vài phút.



Link Download Visual Studio 2013:
  • http://goo.gl/ryvGDM
Key Microsoft Visual Studio 2013​:
  • Ultimate: 87DQC-G8CYR-CRPJ4-QX9K8-RFV2B
  • Professional: KCQWK-Q43V3-M3F2T-83VGV-Y6VTX
  • Premium & Express: P27TG-XXX2W-XK8TK-QD9FK-V36W4
Lưu ý: Nhớ chọn đúng key cho phiên bản mình chọn nha!

Bắt đầu với ASP.NET MVC 5

Loạt bài này sẽ hướng dẫn bạn các bước cơ bản để tạo một ứng dụng ASP.NET MVC 5 sử dụng Visual Studio 2013 Preview. Một ứng dụng Visual Web Developer với mã nguồn C# cũng có sẵn để tải về, bạn có thể download tại đây.
Trong loạt bài này bạn sẽ chạy ứng dụng với Visual Studio. Bạn cũng có thể đưa ứng dụng lên Internet nếu triển khai nó đến một nhà cung cấp dịch vụ hosting. Microsoft cũng có cung cấp dịch vụ hosting miễn phí cho 10 web site nếu bạn có một tài khoản Windows Azure dùng thử miễn phí. Loạt bài này được viết bởi Scott Guthrie (twitter @scottgu ), Scott Hanselman  (twitter: @shanselman ), và Rick Anderson.

Bắt đầu

Trước tiên bạn sẽ cần cài đặt Visual Studio Express 2013 Preview for Web hoặc Visual Studio 2013 Preview.
Visual Studio là một trình IDE (trình tích hợp soạn thảo và các công cụ phát triển), cũng giống như bạn dùng Word để viết tài liệu, bạn sẽ dùng một IDE để viết ứng dụng. Trong Visual Studio, có một thanh công cụ dọc phía trên hiển thị một số tùy chọn cho bạn. Ngoài ra còn có một thanh menu cung cấp một cách khác để thực hiện các nhiệm vụ trong IDE (Ví dụ, thay vì chọn New Project từ trang Start, bạn cũng có thể dùng menu và chọ File>NewProject).

Tạo ứng dụng đầu tiên của bạn

Bạn có thể tạo ứng dụng dùng hoặc Visual Basic hoặc Visual C# như là ngôn ngữ lập trình. Nhấn vào New Project, sau đó chọn Visual C# phía bên trái, rồi chọn Web và chọn tiếp ASP.NET Web Application. Đặt tên ứng dụng của bạn là “MvcMovie” và nhấn OK.
Trong phần New ASP.NET Project dialog, nhấn vào MVC và tiếp tục nhấn Create Project.
Nhấn OK. Visual Studio dùng một template (mẫu) mặc nhiên cho ứng dụng ASP.NET MVC vừa tạo, do vậy bạn có ngay một ứng dụng chạy được mà chưa cần làm gì! Đây là một ứng dụng “Hello World!”, và nó là một nơi rất tốt để bắt đầu ứng dụng của bạn.
Nhấn F5 để bắt đầu debug, Visual Studio khi đó sẽ khởi chạy IIS Express và chạy ứng dụng của bạn. Visual Studio sau đó tiếp tục mở cửa sổ trình duyệt và mở trang home của ứng dụng bạn vừa tạo. Nhớ là trên thanh địa chỉ sẽ hiển thị localhost chứ không phải tương tự nhưexample.com. Đó là vì localhost luôn trỏ về máy tính của bạn, chính là máy tính mà ứng dụng vừa tạo của bạn đang chạy. Khi Visual Studio chạy một ứng dụng web, một cổng ngẫu nhiên sẽ được mở bởi máy chủ web. Như trong hình dưới đây, số hiệu cổng là 1234. Khi chạy ứng dụng, bạn có thể sẽ thấy một giá trị cổng khác.
Template mặc nhiên sẽ tạo sẵn cho bạn các trang Home, Contact và About. Hình trên không hiển thị các liên kết để các trang đó. Tùy thuộc vào kích thước của cửa sổ trình duyệt, bạn có thể sẽ cần nhấn vào nút navigation để xem các liên kết đó.

Ứng dụng có cũng cung cấp sẵn chức năng đăng ký và đăng nhập. Bước tiếp theo là thay đổi các ứng dụng làm việc và học thêm một chút về ASP.NET MVC. Đóng ứng dụng ASP.NET MVC lại và chuẩn bị sửa một số code.

Big Data #6 – Hadoop là gì?

Hadoop là gì?
Apache Hadoop là 1 nền tảng mềm mã nguồn mở, miễn phí, dựa trên Java, cung cấp 1 ền tảng phân tán mạnh để lưu trữ và quản lý big data. Bản quyền Apache V2 license. Nó chạy ứng dụng trên các cụm phần cứng lớn và xử lý hàng ngàn terabytes dữ liệu trên hàng ngàn nodes. Hadoop lấy cảm hứng từ Google MapReduce và Google File System (GFS). Điểm mạnh của nền tảng Hadoop là cung cấp độ tin cậy và tính sẵn sàng cao.
What_is_Hadoop
Các thành phần lõi của Hadoop là gì?
Có hai thành phần chính của nền tảng Hadoop.
  • Hadoop MapReduce là cách chia 1 vấn đề dữ liệu lớn hơn thành các đoạn nhỏ hơn và phân tán nó trên nhiều máy chủ. Mỗi máy chủ có 1 tập tài nguyên riêng và máy chủ xử lý dữ liệu trên cục bộ. Khi máy chủ xử lý xong dữ liệu, chúng sẽ gởi trở về máy chủ chính.
  • Hadoop Distributed File System (HDFS) là hệ thống tập tin ảo. Có 1 sự khác biệt lớn giữa các hệ thống tập tin khác và Hadoop. Khi chúng ta di chuyển 1 tập tin trên HDFS, nó tự động chia thành nhiều mảnh nhỏ. Các đoạn nhỏ của tập tin sẽ được nhân rộng và lưu trữ trên nhiều máy chủ khác (thường là 3) để tăng sức chịu lỗi và tính sẵn sàng cao.
Bên cạnh 2 thành phần lõi, Hadoop cũng chứa 1 số modules:
  • Hadoop Common: các tiện tích thông dụng cho các module khác của Hadoop.
  • Hadoop Yarn: một nền tảng cho lập lịch và quản lý tài nguyên cụm (cluster).
Kiến trúc cụm Hadoop nhiều node
Xem tổng quan kiến trúc 1 cụm Hadoop nhiều node.
Hadoop_Architecture
Một cụm Hadoop nhỏ gồm 1 master node và nhiều worker / slave node. Như đã nói, toàn bộ cụm chứa 2 lớp. Một lớp MapReduce Layer và lớp kia là HDFS Layer. Mỗi lớp có các thành phần liên quan riêng. Master node gồm JobTracker, TaskTracker, NameNode, và DataNode. Slave / worker node gồm DataNode, và TaskTracker. Cũng có thể slave / worker node chỉ là dữ liệu hoặc node để tính toán.
Tại sao dùng Hadoop?
Các điểm thuận lợi khi dùng Hadoop:
  • Robus and Scalable – Có thể thêm node mới và thay đổi chúng khi cần.
  • Affordable and Cost Effective – Không cần phần cứng đặc biệt để chạy Hadoop.
  • Adaptive and Flexible – Hadoop được xây dựng với tiêu chí xử lý dữ liệu có cấu trúc và không cấu trúc.
  • Highly Available and Fault Tolerant – Khi 1 node lỗi, nền tảng Hadoop tự động chuyển sang node khác.
Hadoop
Tại sao Hadoop tên là Hadoop?
Năm 2005, Hadoop được tạo ra bởi Doug Cutting và Mike Cafarella khi làm việc tại Yahoo. Doug Cutting đặt tên Hadoop theo con voi đồ chơi của con trai mình.

Big Data #8 – HDFS là gì?

HDFS là gì?
HDFS là viết tắt của Hadoop Distributed File System và nó là 1 hệ thống lưu trữ chính được dùng bởi Hadoop. Nó cung cấp truy cập hiệu suất cao đến dữ liệu trên các cụm Hadoop. Nó thường ợc triển khai trên các phần cứng chi phí thấp. Các máy chủ chi phí thấp này rất dễ xảy ra lỗi phần cứng. Vì lý do này mà HDFS được xây dựng để có khả năng chịu lỗi cao. Tốc độ truyền dữ liệu giữa các nodes trong HDFS là rất cao, dẫn đến giảm thiểu nguy cơ lỗi.



ViewData, ViewBag và TempData – các tùy chọn truyền dữ liệu trong ASP.NET MVC

ASP.NET MVC cung cấp 3 tùy chọn ViewData, ViewBag và TempData để truyền dữ liệu từ controller vào view và trong request kế tiếp. ViewData và ViewBag tương tự như nhau, TempData thực hiện thêm nhiệm vụ. Chúng ta sẽ nói về điểm chính của 3 đối tượng:

Sự giống nhau giữa ViewBag và ViewData:

1. Giúp duy trì dữ liệu khi bạn di chuyển từ view vào controller
2. Được dùng để truyền dữ liệu từ controller vào view tương ứng
3. Chu kỳ tồn tại ngắn, giá trị sẽ thành null khi redirect xuất hiện. Đây là bởi vì mục tiêu thiết kế các đối tượng này là để giao tiếp giữa controller và view

Sự khác nhau giữa ViewBag và ViewData:

1. ViewData là 1 từ điển các đối tượng (dictionary) kế thừa từ lớp ViewDataDictionary và có thể truy cập dùng chuỗi key.
2. ViewBag là thuộc tính động (dynamic) mang đến thuận lợi từ đặc tính mới của C# 4.0
3. ViewData yêu cầu chuyển kiểu với các kiểu dữ liệu phức tạp và kiểm tra giá trị null để tránh lỗi
4. ViewBag không yêu cầu chuyển kiểu với các kiểu dữ liệu phức tạp

Ví dụ về ViewBag và ViewData:

public ActionResult Index()
{
    ViewBag.Name = "Ngoc Dinh NGUYEN";
    return View();
}
public ActionResult Index()
{
    ViewData["Name"] = "Ngoc Dinh NGUYEN";
    return View();
} 

Trong View:
@ViewBag.Name 
@ViewData["Name"]

TempData:

TempData cũng là 1 từ điển đối tượng (dictionary) kế thừa từ lớp TempDataDictionary, được lưu trong 1 chu kỳ rất ngắn. Điểm khác biệt chính là chu kỳ sống của đối tượng. TempData giữ thông tin trong khoảng thời gian HTTP Request. Điều này có nghĩa là chỉ từ 1 trang đến 1 trang khác. Điều này cũng hoạt động với 302/303 redirection bởi vì nó cùng HTTP Request. Giúp duy trì dữ liệu khi bạn di chuyển từ 1 controller sang 1 controller khác hoặc từ hành động này sang hành động khác. Nói cách khác, khi bạn redirect, TempData giúp duy trì dữ liệu giữa các redirect. Nó là biến cục bộ dùng trong session. Nó yêu cầu chuyển kiểu cho các kiểu dữ liệu phức tạp, và kiểm tra giá trị null để tránh lỗi. Thông thường nó dùng để lưu error message hoặc validation message.
public ActionResult Index()
{
    var model = new Review()
                {
                    Body = "Start",
                    Rating = 5
                };
    TempData["ModelName"] = model;
    return RedirectToAction("About");
}

public ActionResult About()
{
    var model = TempData["ModelName"];
    return View(model);
}

ST: http://dinhnguyenngoc.wordpress.com/2013/04/01/viewdata-viewbag-va-tempdata-cac-tuy-cho%CC%A3n-truyn-du%CC%83-li%CC%A3u-trong-asp-net-mvc/