SLIDE1

Friday, October 23, 2015

Going shopping in a traditional market or at a supermarket? Why?


Nowadays, supermarket is built and developed more and more, not only in the big city, but also in the province, the district. It changes shopping habits of people because of the following reasons.

The first reason is fast. All goods is arranged by the scientific rule on the shelves and the atmosphere is cool and fresh. You don’t spent more time to find the goods which you want to buy like in the traditional market. Even you don’t need to make line and wait or crowd to buy something you want. You just go and get and pay money.

The second reason is security. Because there are many security and surveillance cameras in the supermarket to protect customer from anything, any situation happen. So you can take your children go shopping with you. This is difficult for you if you go shopping in the traditional market.

The third reason is that you don’t negotiate for the price. At the supermarket, the price of the product is listed clearly under the product on the shelves. You have the option to select with its price.

The last reason is safe goods. Any good in the supermarket is listed the origin of goods, where production. They are checked by staff of supermarket to protect their customer. With fresh items such as fresh vegetable, meat or frozen items, they will be stored at temperature requirement. So they will be fresher and safer. If they were overdue, they would be cancel and not to be sold to customers.
These are some benefits of the supermarket. I hope you have a wise choice for your family.


Trần Khánh Toàn

Thursday, October 22, 2015

thông tin và đăng ký tham gia hackathon 2015

Hackathon - Job Search Innovation” là cuộc thi được tổ chức bởi TechLooper và Vietnamworks nhằm tìm kiếm những ý tưởng độc đáo về một trong những công nghệ: Internet of things, Big Data, Search and Matching với mong muốn giúp người tìm việc có nhiều cơ hội tìm được công việc mơ ước. Đặc biệt, giải thưởng hấp dẫn lên tới $10,000.

xem thêm chi tiết

Wednesday, October 7, 2015

xử lý FORM trong PHP

ví dụ 1 đoạn code form trong html như sau:
user name: pass word:
hiển thị form như sau:
user name:
pass word:

PHP cho phép ta lấy dữ dữ liệu từ form qua cú pháp:

$_GET['giá trị'] và $_POST['giá trị'], tùy theo phương thức gởi dữ liệu của form là get hay post.
phương thức GET
dùng để lấy dữ liệu từ form nhập liệu tuy nhiên nhiệm vụ chính của nó vẫn là lấy nội dung trang dữ liệu từ web server
phương thức POST
lấy dữ liệu từ form và chủ yếu là chuyển chúng lên web server

ví dụ với form nhập liệu ở trên, trong trang check.php có nhiệm vụ xử lý giá trị form gởi tới và in ra màn hình username và pass đã nhập, thì trang check.php sẽ được code như sau:
<? php
$name=$_POST['username'];
$pass=$_POST['password'];
echo "user name : ".$name."pass word : ".$pass;
?>

mảng trong PHP - khai báo và các hàm hổ trợ sẵn trên mảng PHP

1. định nghĩa mảng trong PHP

cú pháp: $tên_biến = array ("giá trị 1", "giá trị 2", "giá trị n",...);
mảng trong PHP nó tính từ 0 -> n-1.
ví dụ: $a=array(1,2,3,4,5);
thì khi muốn in ra giá trị 3 thì dùng lệnh echo $a[2];
ngoài cách khai báo mảng ở trên, PHP còn hổ trợ cách khai báo mảng sau:
$a[]=1;
$a[]=2;
$a[]=3;
.......

Tuesday, October 6, 2015

tại sao nên sử dụng XHTML thay cho HTML?

- vì XHTML là sự kết hợp giữa HTML và XML do đó tài liệu XHTML chính là tài liệu HTML nhưng được bổ sung thêm sự chắc chẽ trong cú pháp của XML, đảm bảo cấu trúc của trang web luôn thỏa điều kiện well-formed
- trình duyệt hiển thị XHTML nhanh hơn HTML vì không mất thời gian kiểm tra và sữa lỗi well-formed.

tạo FORM trong HTML

- form dùng để nhận thông tin từ người sử dụng hay phản hồi thông tin về người dùng
- người dùng có thể có các yêu cầu sau:
+ nhập vào câu trả lời, ý kiến
+ chọn câu trả lời từ danh sách
+ câu trả lời từ 1 hay 1 số tùy chọn

- dữ liệu có thể xử lý tại client hoặc xử lý tại server sau đó kết quả trả về cho người dùng
- sử dụng tag <form> để tạo form

thiết kế bảng HTML - dùng bảng để định dạng layout trang web

cấu trúc của 1 bảng:

column 1 column 2
row 1,col 1 row 2,col 2
row 2, col 1 row 2, col 2

kết quả sẽ như hình dưới

các thẻ HTML cơ bản

HTML gồm có 3 phần cở bản: tag, element, property


1. Tag

thẻ mở <tên thẻ> , thẻ đóng </ten thẻ>
- thẻ định dạng trang: <body>
- thẻ định dạng văn bản: <font>, <p>, <i>, <u>,...
- thẻ liên kết link: <a>
- thẻ định dạng danh sách: <ul>, <li>, <ol>
- thẻ định dạng hình ảnh: <img>

Monday, October 5, 2015

lập trình trên file trong PHP

Một trong những tác vụ đặc biệt của PHP đó là cho phép xử lý dữ liệu trực tiếp thông qua quá trình nhận và đọc nội dung trên 1 file dữ liệu. Điều này giúp cho PHP trở nên tinh tế và dễ tùy biến hơn khi xử lý 1 lượng dữ liệu có quy mô lớn. Việc thao tác mở, đọc, ghi, đóng file này cũng có ý nghĩa tuần tự như bạn đang làm việc trực tiếp trên 1 file dữ liệu thực thụ.


đóng mở 1 file trong PHP

Để mở 1 file ta sử dụng cú pháp sau: fopen("Đường dẫn", thuộc tính).
Trong đó Đường dẫn chính là đường dẫn tới file cần mở.
Thuộc tính bao gồm các quyền hạn cho phép thao tác trên file đó như thế nào.
Các thuộc tính cơ bản :
Ví dụ:

<?php
$fp=fopen("test.txt",r)or exit("khong tim thay file can mo");
?>
Tương tự như thế, để đóng 1 file ta có cú pháp như sau: fclose(file vừa mở)

Ví dụ:

<?php
$fp=fopen("test.txt",r)or exit("khong tim thay file can mo");
fclose($fp);
?>


Việc mở và đóng này không có ý nghĩa là chúng đã được đọc. Muốn đọc được nội dung của file chúng ta lại tiếp tục với thao tác lấy dữ liệu từ file nữa.

đọc 1 file trong PHP

PHP cho ta nhiều sự lựa chọn trong việc đọc 1 file. Có nhiều hình thức hỗ trợ nhưng hiện nay 2 hình thức phổ biến nhất vẫn là đọc file theo từng dòng và đọc file theo từng ký tự.

- Đọc file theo từng dòng:

Cú pháp : fgets(file vừa mở).
Ví dụ:

<?php
$fp=fopen("test.txt",r)or exit("khong tim thay file can mo");
echo fgets($fp);
fclose($fp);
?>

- Đọc file theo từng ký tự:

Cú pháp : fgetc(file vừa mở).

Ví dụ:

<?php
$fp=fopen("test.txt",r)or exit("khong tim thay file can mo");
echo fgetc($fp);
fclose($fp);

?>

Quy trình đọc sẽ diễn ra theo từng yêu cầu của cú pháp sử dụng. Nhưng sẽ có sự ràng buộc bởi việc kiểm tra đã đến cuối file chưa ?.

Ở đây chúng ta dùng cú pháp sau: feof(file vừa mở)
Ví dụ:

<?php
$fp=fopen("test.txt",r)or exit("khong tim thay file can mo");
while(!feof($fp))
{
echo fgets($fp);
}
fclose($fp);

?>

ghi file trong PHP

PHP cung cấp cho ta 1 cú pháp nhỏ để ghi dữ liệu vào 1file
Cú pháp cơ bản : fwrite("file vừa mở", "Nội dung cần ghi vào file")

Ví dụ:

 <?php
$fp=fopen("test.txt",a)or exit("khong tim thay file can mo");
$news="Trung Tam Tin hoc Viet Chuyenn";
fwrite($fp,$news);
fclose($fp);
?>

Tổng kết:


Việc sử dụng file một cách thành thạo sẽ giúp bạn dễ dàng vận hành các ứng dụng mang quy mô vừa và nhỏ như: website nhiều ngôn ngữ, bộ đếm,…và cả những công nghệ web mới như XML một cách dễ dàng. Qua bài học này chúng ta cũng hiểu được nguyên lý hoạt động, trình tự xử lý 1 file dữ liệu khi chúng được triệu gọi trong tài liệu PHP. 

các biểu thức cơ bản trong PHP

biểu thức điều kiện

Là biểu thức dùng kiểm tra 1 sự kiện. Nếu chúng thỏa điều kiện đó thì sẽ thực thi một hành động. Ngược lại sẽ là một hành động khác.

If(Điều kiện)
{
hành động
}

vòng lặp trong PHP

Phép lặp này yêu cầu phải thỏa mãn điều kiện thì mới thực thi được vòng lặp
Cú pháp:
While(điều kiện)
{
Hành động – thực thi
}
Ví dụ:

Cú pháp:
Do
{
Hành động thực thi
}while
Phép lặp này sẽ thực thi hành động ít nhất là một lần. Sau đó mới tiến hành kiểm tra điều kiện.

Cú pháp:
For( giá trị ; điều kiện ; biến tăng hoặc giảm)
{ Hành động }
Phép lặp này là phép toán gộp các tham số. Giúp người lập trình giảm thiểu thời gian phải khai báo biến và các tham số khi thực thi việc lặp dữ liệu.

biểu thức switch - case

Là biểu thức sử dụng để giảm thiểu quá trình xử lý dữ liệu nếu có quá nhiều phép toán if else.
Cú pháp:
Switch(biến)
{
Case giá trị 1: Hành động; Break;
…………
Case giá trị N: Hành động; Break;
Default: Hành động; Break;
}
Ví dụ:
Tổng kết:

Kết thúc bài học này, các bạn ít nhiều đã nắm được những thuộc tính cơ bản của các phép toán học trong PHP, ngoài ra chúng ta cũng từng bước hiểu được cú pháp của từng biểu thức.

Đối với các vòng lặp, chúng ta cần hiểu và vận chúng một cách linh hoạt và mềm dẻo, phân biệt được while và do…while. Sử dụng hàm switch trong trường hợp có quá nhiều giá trị if…else trả về.

toán tử trong PHP - gán, so sánh, kết hợp, logic

toán tử gán

Chúng ta đã từng tiếp xúc với toán tử này bởi việc khởi tạo 1 biến. Nó gồm ký tự đơn =. Toán tử gán lấy giá trị của toán hạng bên phải gán nó vào toán hạng bên trái.

Ví dụ:

$name = "Johny Nguyen";

toán tử số học

Là dạng phép tính giản đơn cộng, trừ, nhân, chia trong số học. Ngoài ra còn có phép chia lấy dư (%). Được sử dụng để lấy ra đơn vị dư của 1 phép toán.

toán tử so sánh

Là toán tử được sử dụng để thực hiện các phép toán so sánh giữa hai số hạng. Chi tiết, xem bảng bên dưới.

toán tử logic

Toán tử logic là các tổ hợp các giá trị boolean.
Ví dụ: toán tử or trở về true nếu toán tử trái hoặc toán tử phải là true.
True || false à true.
Ta có bảng các toán tử như sau:

toán tử kết hợp

Khi tạo mã PHP, chúng ta sẽ thường nhận thấy cần phải tăng hoặc giảm lượng biến một số nguyên nào đó. Bạn sẽ thường thực hiện điều này khi chúng ta đếm 1 giá trị nào đó trong vòng lặp.

hiệu suất máy tính và cách tính hiệu suất, các thông số liên quan

execution time: thời gian thực thi (s)
performance:hiệu suất
clock cycle: chu kỳ xung đồng hồ
clock rate: số clock cycle thực hiện trong 1 giây (Hz)
clock cycle time: thời gian thực hiện 1 clock cycle (s)
instruction: số lệnh của 1 chương trình cần thực hiện
CPI ( clock cycle per instruction): số clock cycle cần thực hiện trên 1 lệnh
MIPS( million instruction per second): số triệu lệnh thực hiện được trên 1 giây
IPS( instruction per second): số triệu lệnh thực hiện được trên 1 giây

bên trong phần cứng máy tính

phần cứng của 1 máy tính bất kỳ thực hien các chức năng cơ bản sau: nhập, xuất , xử lý và lưu trữ dự liệu

nhập

bàn phím, chuột

xuất

màn hình là bộ phận xuất chuẩn

xử lý

thùng chứa bộ xử lý và các thiết bị I/O khác

ảnh màu:

- mỗi bức ảnh là 1 ma trận các phần tử ảnh, hay pixel được biểu diễn thnahf 1 ma trân bit được gọi là bit map
- đối với ảnh màu: dùng 8 bit cho mỗi màu sắc (red, blue, green) tương đương 24 bit cho 1 pixel , cho phép hàng triệu màu khác nhau được hiển thị
- phần cứng máy tính hổ trợ đồ họa có thành phần chủ yếu là frame buffer để lưu nội dung bit map, chúng xác định nội dung cần hiển thị và ghi chúng lên buffer, sau đó in nôi dung buffer lên màn hình tương ứng

bên dưới một chương trình ứng dụng trong máy tính

 

hệ điều hành:

đóng vai trò giao tiếp giữa chương trình của nguwoif dùng với phần cứng đồng thời cung cấp nhiều dịch vụ khác nhau và các chức năng quản lý, một số chức năng quan trong như:
- điều khiển các hoạt động nhập xuất cơ bản
- cấp phất bộ nhớ và vùng lưu trữ
- quản lý, chia sẽ tài nguyên máy tính khi có nhiều ứng dụng chạy đồng thời

trình biên dịch:

dịch chương trình của các ngon ngữ cấp cao thành các lệnh mà phần cứng máy tính có thể thực thi

 Bảng chữ cái cho máy tính: 0 và 1  Để giao tiếp với một máy điện tử, ta cần gởi đi các tín hiệu điện. Các tín hiệu dễ dàng nhất cho máy hiểu là tín hiệu on (0) và off (1) (mở và tắt). 
• Bảng chữ cái tiếng Anh có 26 kí tự 
• Bảng chữ cái cho máy tính có 2 kí tự 
 số nhị phân (binary number); mỗi kí tự là một kí số nhị phân (binary digit) hay còn gọi là bit
Ngôn ngữ Assembly (Hợp ngữ): ngôn ngữ mô tả lệnh của máy tính thông qua kí hiệu biểu diễn (symbol) 
Assembler: chương trình dịch lệnh hợp ngữ sang lệnh nhị phân. 
Ngôn ngữ lập trình cấp cao: Các ngôn ngữ có tính linh động (portable) như C, Fortran, Java; bao gồm các từ và kí hiệu số học, có thể được dịch sang ngôn ngữ Assembly bởi một trình biên dịch 

máy tính - giới thiệu các khái niệm và công nghệ

 Máy tính – cuộc cách mạng thứ ba của nền văn minh  (cùng với cuộc cách mạng về nông nghiệp và công nghiệp) 
 Xu hướng nghiên cứu khoa học mới:
 • Các nhà khoa học tính toán, lý thuyết và thực nghiệm cùng hợp tác nhau trong việc khám phá ra những thành tựu mới trong thiên văn học, sinh học, hóa học, vật lý, v.v…
 Những ứng dụng được xem là “khoa học viễn tưởng” trước đây:
 Máy tính trong ô tô
 Điện thoại
 Dự án di truyền học người
 World Wide Web
 Công cụ tìm kiếm

Sunday, October 4, 2015

[PHP] Khái niệm biến, hằng, chuỗi và các kiểu dữ liệu trong lập trình PHP

a) Biến trong PHP.


Biến được xem là vùng nhớ dữ liệu tạm thời. Và giá trị có thể thay đổi được. Biến được bắt đầu bằng ký hiệu "$". Và theo sau chúng là 1 từ, 1 cụm từ nhưng phải viết liền hoặc có gạch dưới.
1 biến được xem là hợp lệ khi nó thỏa các yếu tố :
+ Tên của biến phải bắt đầu bằng dấu gạch dưới và theo sau là các ký tự, số hay dấu gạch dưới.
+ Tên của biến không được phép trùng với các từ khóa của PHP.

tổng quan về lập trình PHP

Ở phần trước chúng ta đã tìm hiểu về cách thức cấu hình và cài đặt PHP. Tiếp theo chúng ta sẽ nghiên cứu về cấu trúc cơ bản trong PHP. Về tổng quan PHP có cú pháp khá tương đồng với 1 số ngôn ngữ như C, java. Tuy nhiên, tự bản thân chúng cũng có những điểm rất riêng biệt.

giới thiệu ngôn ngữ PHP - ngôn ngữ của WEB động

PHP (Hypertext Preprocessor) là ngôn ngữ script trên server được thiết kế để dễ dàng xây dựng các trang Web động. Mã PHP có thể thực thi trên Webserver để tạo ra mã HTML và xuất ra trình duyệt web theo yêu cầu của người sử dụng.PHP là ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát. Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống CJava, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới.
Ngôn ngữ, các thư viện, tài liệu gốc của PHP được xây dựng bởi cộng đồng và có sự đóng góp rất lớn của Zend Inc., công ty do các nhà phát triển cốt lõi của PHP lập nên nhằm tạo ra một môi trường chuyên nghiệp để đưa PHP phát triển ở quy mô doanh nghiệp.

[c/c++] tìm từ dài nhất trong chuỗi

//code c tìm từ dài nhất trong 1 chuỗi ký tự nhập vào

#include"stdio.h"
#include"conio.h"
#include"string.h"
char *max(char *s)    
{
   char c[100], a[100];
   int i, j, k, max = 0;
   i = 0;  
   while (s[i]!='\o')//s[i] không phải là kí tự cuối cùng
   {
       j = 0; 
       if (s[i] != ' ')//nếu ký tự đang xét khác kí tự trắng
   { 
   while (s[i] != '\o')   //lặp với số lần không biết trước nên dùng while
   {//khi kí tự còn khác kí tự trắng
       if (s[i] == ' ') break;   //điều kiền để kết thúc vòng lặp while là gặp kí tự trắng
       c[j] = s[i];//dùng mảng chuổi c để lưu các kí tự thỏa và tăng i,j lên 1 đơn vị
       j++; i++;//trong vòng lặp đã có lệnh i++; rồi nên khi copy xong không cần dùng lệnh i++;
       //để thực hiện vòng lặp nữa
   } 
   c[j] = '\o';           //kí tự cuối cùng phải là kí tự kết thúc để chuổi có nghĩa
   if (max < strlen(c))  //nếu nó là chuổi dài hơn chuỗi max thì gán giá trị cho max
   {//copy chuỗi vào chuỗi a để lưu
       max = strlen(c);
       gets_s(a, c);
   }
}
else i++;  //nếu ban đầu nó là kí tự trắng thì tăng i để tiếp tục lặp
}    
   return a;
}
void main()
{
   char s[255];
   printf("nhap chuoi: "); fflush(stdin); gets_s(s);
   printf("tu dai nhat: %s\n", max(s));
}

hướng dẫn sử dụng wireshark

1. giới thiệu wireshark

Các giao thức mạng có thể được hiểu sâu hơn bằng cách quan sát chuỗi các thông điệp trao đổi giữa hai máy tính, nghiên cứu sâu các hành động của giao thức trong những trường hợp cụ thể. Điều này có thể đạt được bằng cách thực hiện các kịch bản mô phỏng trong môi trường mạng thực tế như Internet. Trong các bài thực hành Wireshark, chúng ta sẽ chạy nhiều ứng dụng mạng trong các kịch bản khác nhau sử dụng máy tính cá nhân trên môi trường mạng Internet.
Trong bài thực hành đầu tiên, chúng ta sẽ làm quen với Wireshark và thực hiện bắt các gói tin cơ bản, sau đó quan sát chúng.
Công cụ để quan sát các thông điệp trao đổi giữa các máy tính được gọi là công cụ bắt trộm gói tin (packet sniffer). Các công cụ này bắt trộm các gói tin được gửi đi hoặc nhận về máy tính. Chúng hoạt động ẩn bên dưới và không gửi bất kỳ gói tin nào. Các gói tin bị bắt trộm chỉ là bản sao chép của gói tin chính.
Hình 1 cho thấy cấu trúc của công cụ bắt trộm gói tin. Bên phải hình 1 là các giao thức (các giao thức trên Internet) và các ứng dụng (như là web browser và ftp client) chạy trên máy tính của chúng ta. Công cụ bắt trộm gói tin được thể hiện trong hình chữ nhật nét đứt là một phần mềm trên máy tính gồm có 2 phần. Thư viện bắt gói tin nhận bản sao của mỗi frame trên tầng liên kết dữ liệu được gửi đi hoặc nhận về máy tính. Nhắc lại rằng các thông điệp được trao đổi bởi các giao thức tầng cao hơn như HTTP, FTP, TCP, UDP, DNS hoặc IP đều được đóng gói trong frame ở tầng liên kết dữ liệu. Trong hình, môi trường truyền dẫn vật lý được giả định là Ethernet nên các gói tin ở các giao thức tầng trên đều được đóng gói trong Ethernet frame. Việc bắt các frames giúp chúng ta quan sát tất cả các thông điệp được gửi đi và nhận về máy tính của mình.
Hình 1: Cấu trúc của công cụ bắt trộm gói tin

Thành phần thứ 2 của một công cụ bắt trộm gói tin chính là bộ phân tích gói. Bộ phân tích gói có nhiệm vụ hiển thị nội dung của các trường trong một gói tin. Để làm được điều đó, bộ phân tích gói phải hiểu cấu trúc của tất cả các gói tin được trao đổi bởi các giao thức. Ví dụ, giả sử chúng ta quan tâm đến nội dung các trường trong các thông điệp của giao thức HTTP. Bộ phân tích gói phải hiểu định dạng của Ethernet frames, IP datagram, TCP segment và cuối cùng rút trích nội dung của thông điệp HTTP chứa trong TCP segment. Ngoài ra, bộ phân tích gói cũng hiểu giao thức HTTP và biết được các bytes đầu tiên trong thông điệp HTTP chứa chuỗi “GET”, “POST” hoặc “HEAD”.
Chúng ta sẽ sử dụng công cụ Wireshark [http://www.wireshark.org/] cho các bài thực hành. Nó cho phép chúng ta quan sát nội dung của các thông điệp được trao đổi bởi các giao thức tại các tầng khác nhau. Wireshark là một công cụ phân tích giao thức mạng miễn phí chạy trên Windows, Linux/Unix và Mac. Chúng ta có thể tìm đọc thêm các hướng dẫn về Wireshark tại địa chỉ:
 
http://www.wireshark.org/docs/wsug_html_chunked/
hoặc http://www.wireshark.org/docs/man-pages/
và các câu hỏi thường gặp tại  
http://www.wireshark.org/faq.html
Để chạy Wireshark, chúng ta phải cài Wireshark và thư viện bắt gói tin libpcap hoặc winPCap. Nếu thư viện libpcap chưa có trên máy tính, nó sẽ được cài trong quá trình cài Wireshark. Địa chỉ download: http://www.wireshark.org/download.html
Khi khởi động Wireshark, chúng ta sẽ thấy giao diện sau:
Hình 2: Giao diện khởi động Wireshark

Nhìn vào góc trên bên trái của giao diện, chúng ta sẽ thấy “Interface list”. Đây là danh sách của các network interfaces trên máy tính. Sau khi chọn một interface, Wireshark sẽ bắt tất cả các gói tin đi qua interface đó. Trong ví dụ ở trên, có một Ethernet interface và một Wireless interface.
Nếu click vào một trong những interfaces đó để bắt đầu bắt gói tin, một màn hình hiện ra như bên dưới, hiển thị thông tin về các gói tin bị bắt. Sau khi đã bắt gói tin, chúng ta có thể dừng lại bằng cách chọn Stop trên thanh menu.
Hình 3: Giao diện chính của Wireshark trong suốt quá trình bắt và phân tích gói tin

Giao diện Wireshark gồm có 5 thành phần chính:
·           Command menus: chứa các menu thực hiện các chứng năng chính của Wireshark. Chúng ta quan tâm đến File và Capture. File menu cho phép lưu các gói tin đã bị bắt hoặc mở file chứa các gói tin đã bắt từ trước. Capture menu cho phép bắt đầu bắt gói tin.
·           Packet-listing windows: hiển thị dòng thông tin tóm tắt cho từng gói tin bị bắt, bao gồm số thứ tự (số này được gán bởi Wireshark, không phải số thứ tự chứa trong header của gói tin), thời gian gói tin bị bắt, địa chỉ nguồn và đích, loại giao thức và thông tin đặc tả cho giao thức đó. Chúng ta có thể sắp xếp các dòng theo các tiêu chí bằng cách nhấp vào tên các cột tương ứng. Cột Protocol hiển thị giao thức hoạt động ở tầng cao nhất.
·           Packet-header details window: cung cấp các thông tin chi tiết về gói tin được chọn từ packet-listing window. Các thông tin này bao gồm chi tiết về Ethernet frame (giả sử gói tin được gửi và nhận thông qua Ethernet interface), IP datagram, TCP hoặc UDP segment. Cuối cùng, thông tin về giao thức ở tầng cao nhất cũng được hiển thị.
·           Packet-contents window hiển thị toàn bộ nội dung của frame dưới dạng ASCII và hexadecimal.
·           Hướng lên trên của giao diện Wireshark là packet-display filter. Tên giao thức và các thông tin khác có thể được nhập vào đây để lọc các gói tin trong packet-listing window. Ví dụ, chúng ta sử dụng packet-display filter để Wireshark ẩn tất cả các gói tin bắt được ngoại trừ những gói tin tương ứng với HTTP bằng cách gõ “http” vào khung này và chọn Apply.

2. hướng dẫn sử dụng

Chú ý rằng nếu chúng ta không thể chạy Wireshark trên Internet thật sự thì có thể mở file Wireshark_intro có sẵn trong thư mục wireshark-traces.
Giả định rằng máy tính chúng ta có kết nối Internet. Thực hiện các bước sau
·           Khởi động Web browser.
·           Khởi động phần mềm Wireshark.
·           Chọn Capture và chọn Interfaces.
Hình 4: Wireshark Capture Interface Window

·           Chọn Start đối với interface mà chúng ta muốn bắt gói tin. Lúc này Wireshark bắt đầu bắt tất cả các gói tin được gửi đến hoặc nhận về máy tính.
·           Sau khi đã bắt đầu bắt gói tin, một cửa sổ hiện ra như trong hình 3. Cửa sổ này hiển thị các packet đang được bắt. Chọn menu Capture và sau đó chọn Stop khi chúng ta muốn dừng bắt gói tin. Tuy nhiên, đừng dừng bắt lúc này vì chúng ta nên thử với một kết nối HTTP.
·           Trong khi Wireshark đang hoạt động, trên web browser, gõ: http://gaia.cs.umass.edu/wireshark-labs/INTRO-wireshark-file1.html và website sẽ hiện ra trên trình duyệt. Lúc này các Ethernet frames chứa các thông điệp HTTP đã được bắt bởi Wireshark.
·           Sau khi trình duyệt đã hiển thị trang INTRO-wireshark-file1.html (chỉ là một dòng chào mừng đơn giản), dừng bắt gói tin. Cửa sổ chính của Wireshark bây giờ giống như hình 3. Chúng ta đã có các gói tin chứa đầy đủ các thông điệp được trao đổi giữa máy tính và web server. Thông điệp HTTP trao đổi với gaia.cs.umass.edu web server phải xuất hiện đâu đó trong các gói tin được bắt. Có nhiều loại gói tin được hiển thị (tương ứng với nhiều giao thức). Mặc dù chúng ta chỉ đơn thuần download một trang web nhưng có nhiều giao thức khác chạy bên dưới mà chúng ta không thấy được.
·           Gõ “http” (không có ngoặc kép) vào packet-display filter sau đó chọn Apply để Wireshark chỉ hiển thị các thông điệp HTTP trong packet-listing window.  
·           Tìm thông điêp HTTP GET được gửi từ máy tính đến gaia.cs.umass.edu server (tìm trong packet-listing window đoạn chứa GET theo sau bởi gaia.cs.umass.edu). Sau khi chọn thông điệp HTTP GET, Ethernet frame, IP datagram, TCP segment và HTTP header sẽ được hiển thị ở packet-header window.
Hình 5: Cửa sổ Wireshark sau bước 9

Saturday, October 3, 2015

hướng dẫn cấu hình microsoft outlook để quản lý mail

cài đặt cấu hình outlook để quản lý mail

1.     Cài đặt ở gmail

Đăng nhập vào gmail và vào phần cài đặt chuyển tiếp/POP/IMAP…….. để bật POP để ứng dụng outlook có thể tải mail về

2.     Cài đặt trong outlook

Mở outlook lên và chọn tool -> account setting để mở hộp thoại cài đặt tài khoản email cho ứng dụng outlook



Trong tab e=mail chọn new để cài đặt e-mail mới


Chọn dịch vụ mail POP3, SMTP và chọn next


Chọn Click chọn checkbox Manually configure server setttings or additional server types, rồi chọn Next. Vì mình đang không sử dụng chức năng auto của ứng dụng mà là tự cài đặt thong số phương thức dịch vụ để nhận mail.


ở đây đang sử dụng email của google nên chọn internet mail để quản lý tài khoản email



Tiếp theo cấu hình như sau:
Your name: tên người dung
Email address: địa chỉ email cần quản lý
Account type: POP3
Incoming mail server: pop.gmail.com (server để nhận mail)
Outgoing mail server: smtp.gmail.com (server để gởi mail)
ở đây đang sử dụng e mail của google nên nhập các server như trên, nếu dung các dịch vụ mail khác thì sẽ có các server khác do nhà cung cấp dịch vụ đó cung cấp, thường  có dạng pop.domain.com và smtp.domain.com.
Cuối cùng là nhập password.

3.     Kết quả.





Friday, October 2, 2015

các cổng logic cơ bản OR, AND, NOT

cổng logic OR

ký hiệu cho cổng logic OR là dâu +, ví dụ C = A or B ký hiệu là C=A+B


cổng logic AND

thực hiện tương tự như phép nhân, ký hiệu A AND B là A.B


cổng logic NOT

là cổng mà nó sẽ đảo ngược giá trị của cổng hiện thời, 1 -> 0, 0->1, cổng luôn có 1 input và 1 out put với giá trị out put là đảo ngược của giá trị in put

mô tả mạch logic đại số

- nếu 1 mạch logic có cả 2 cổng AND và OR thì nó sẽ thực hiện AND trước, OR sau trừ khi có dấu ngoặc ngăn cách để chỉ cái nào thực hiện trước, cái nào thực hiện sau
- có bất kỳ 1 cổng NOT nào trong mạch thì giá trị out put tương đương với in put và có kèm thanh ngang trên đầu

quy tắc đánh giá 1 biểu thức boolean

- thực hiện NOT đối với in put đơn trước
- thực hiện các phép tính trong ngoặc
- thực hiện cổng AND trước rồi mới đến cổng OR
- nếu cả biểu thức có dấu thanh ngang trên đàu thì thực hiện bên trong trước rồi đổi dấu kết quả tìm được là xong
- caacsh tốt nhất để đánh giá là sử dụng bảng sự thật
+cho phép chúng ta đánh giá 1 cỏng và nhiều cổng có trong machj cùng 1 lúc
+dễ kiểm tra hoạt động cả mạch 1 cách chính xác
+ phát hiện và sử lý lỗi có trong mạch 1 cách dễ dàng