Thủ thuật, hacking, tool, code, công cụ hiện đại

Thủ thuật, hacking, tool, code, công cụ

chia sẻ

Lập trình viết ứng dụng Facebook


Cảm giác của bạn thế nào khi nhìn thấy được “thành phẩm” của mình trên Facebook? Bài viết sẽ gợi ý cho bạn cách tạo một ứng dụng nhỏ trên Facebook.
Hiện tại, theo thống kê danh mục ứng dụng của Facebook có chứa khoảng hơn 550.000 ứng dụng. Bạn muốn “nhúng” những bài trình bày trong hồ sơ Facebook của mình hay muốn chia sẻ những quyển sách và bộ phim yêu thích với bạn bè, hay chỉ muốn chơi một số trò chơi với những thành viên "không quen" khác trên Facebook. Tất cả điều nói trên sẽ được các ứng dụng hiện có trên Facebook đáp ứng cho bạn. Tuy nhiên, nếu bạn không thích dùng những ứng dụng được “dọn sẵn” và không muốn nhìn thấy những thương hiệu của hãng thứ 3 hay các mẫu quảng cáo, thì bạn có thể tự phát triển ứng dụng Facebook theo cách riêng. 
Dưới đây sẽ là một số bước để giúp bạn tạo ra ứng dụng nhỏ trên Facebook theo ý muốn; đây chỉ là những ví dụ đơn giản về viết ứng dụng Facebook dùng code HTML và ASP.Net.
Để viết ứng dụng Facebook, bạn cần một số kiến thức về các ngôn ngữ lập trình web và cần biết một số máy chủ (web server) cho phép bạn có thể đặt ứng dụng Facebook lên đó.
1. Ứng dụng Facebook dùng code HTML


Bước 1: Giả sử bạn đã có tài khoản trên Facebook, thêm ứng dụng Developer (https://www.facebook.com/developers/) vào hồ sơ Facebook của bạn, sau đó nhấn “Set Up New App”.


Bước 2: Bạn đặt tên cho ứng dụng Facebook, đồng ý với những điều khoản trên Facebook.

Tiếp tục nhập mã bảo vệ, sau đó bạn có thể tải lên một số hình ảnh để chọn làm biểu tượng (logo) cho ứng dụng của bạn.


Bước 3: Bạn có thể dùng công cụ trình biên tập WYSIWYG HTML hay notepad, để ghi nội dung bạn muốn hiển thị bên trong ứng dụng Facebook. Trong ví dụ này sẽ thiết lập ứng dụng máy tính điện tử (calculator).
<html>
<head>
<title>PC World VN Calculator by JavaScript</title>
<script type="text/javascript" src="calculate.js"></script>
</head>
<body>


<h1>PC World VN Calculator by JavaScript</h1>
<form name="calculator">
<table border="0" cellpadding="2" cellspacing="0" background="/images/background.jpg" width="233" height="259">
<tr><td align="center" style="padding-bottom:0px;padding-top:15px"><input type="text" name="win" value="0" style="height:30px;width:190px;text-align:right;font-size:20px;font-weight:bold;border:1px solid #666666;padding-right:2px;" maxlength='15'></td></tr>
<tr><td>
<table border="0" cellpadding="5" cellspacing="1" align="center">
<tr><td style="padding-top:0px"><input type="button" value="CE" style="width:40px" onClick="calc('CE')"></td>
<td style="padding-top:0px"><input type="button" value="C" style="width:40px" onClick="calc('C')"></td>
<td style="padding-top:0px"><input type="button" value="+/-" style="width:40px" onClick="calc('+/-')"></td>
<td style="padding-top:0px"><input type="button" value="%" style="width:40px" onClick="calc('%')"></td></tr>
<tr><td><input type="button" value="7" style="width:40px" onClick="calc('7')"></td>
<td><input type="button" value="8" style="width:40px" onClick="calc('8')"></td>
<td><input type="button" value="9" style="width:40px" onClick="calc('9')"></td>
<td><input type="button" value="/" style="width:40px" onClick="calc('/')"></td></tr>
<tr><td><input type="button" value="4" style="width:40px" onClick="calc('4')"></td>
<td><input type="button" value="5" style="width:40px" onClick="calc('5')"></td>
<td><input type="button" value="6" style="width:40px" onClick="calc('6')"></td>
<td><input type="button" value="x" style="width:40px" onClick="calc('*')"></td></tr>
<tr><td><input type="button" value="1" style="width:40px" onClick="calc('1')"></td>
<td><input type="button" value="2" style="width:40px" onClick="calc('2')"></td>
<td><input type="button" value="3" style="width:40px" onClick="calc('3')"></td>
<td><input type="button" value="-" style="width:40px" onClick="calc('-')"></td></tr>


<tr><td><input type="button" value="0" style="width:40px" onClick="calc('0')"></td>
<td><input type="button" value="." style="width:40px" onClick="calc('.')"></td>
<td><input type="button" value="=" style="width:40px" onClick="calc('=')"></td>
<td><input type="button" value="+" style="width:40px" onClick="calc('+')"></td></tr>
</table>
</td></tr>
</table>
</form>
</body>
</html>


Bước 4: Truy cập máy chủ web của bạn, tạo một thư mục con gọi là “facebook” và tải lên file code (index.php hay index.html) mà bạn đã tạo ở trên. Trong trường hợp này, ứng dụng được đặt trên máy chủ web www.thegioigame.vn.


Cavas Page: là đường dẫn URL cho ứng dụng (http://apps.facebook.com/tgvt_fb_app/).
Canvas URL: là nơi đặt dịch vụ web (web service) để lưu trữ ứng dụng sẽ được liên kết với Facebook (http://www.thegioigame.vn/facebook).
Hoàn tất xong bạn nhớ lưu lại các thao tác vừa làm. Bạn hãy quan tâm đến 2 khóa: API Key và App Secret, 2 khóa này cần khai báo trong ứng dụng khi có truy cập thư viện (API) của Facebook.  


Bước 5: Thành quả cuối cùng của bạn. Đó chính là ứng dụng của riêng bạn hiện đã có mặt trên Facebook.


Qua 5 bước này sẽ giúp bạn phần nào hình dung ra cách thức tạo một ứng dụng đơn giản trên Facebook. Các bạn cũng có thể tự tạo những ứng dụng khác theo sở thích và nhu cầu của riêng mình.
Từ ứng dụng đơn giản này, bạn cũng có thể xây dựng các ứng dụng có mức độ phức tạp hơn, chẳng hạn có kèm thêm RSS để cập nhật tin tức, chèn thêm các đoạn video clip… Hy vọng các bạn sẽ tạo được nhiều ứng dụng bổ ích và hữu dụng để chia sẻ cùng với bạn bè.


2. Ứng dụng Facebook với ASP.Net
Bước 1:


Đăng nhập vào facebook: https://www.facebook.com/
Vào phần phát triển ứng dụng: https://www.facebook.com/developers/ , nhấn nút “Set Up New App” để tạo ứng dụng mới.
Bước 2:
Điền tên ứng dụng và chọn đồng ý, nhấn nút khởi tạo.

Nhập mã xác nhận rồi submit.


Bước 3: 
Tab About: Có thể mô tả ứng dụng trong phần Description, chọn icon, logo cho ứng dụng…


Tab Facebook Integration
Application ID và Application Secret là 2 key của ứng dụng cho phép ta viết code truy xuất thông tin.
Canvas Page là trang ứng dụng facebook.
Canvas URL sẽ là trang ASP.Net mà ta viết code truy xuất thông tin.


Trong ví dụ này, mã lệnh (code) sẽ được đưa lên 1 host free http://phuonglam.somee.com. Các bạn có thể vào trang http://somee.com/ để đăng ký 1 host free để sử dụng, trang này hỗ trợ khá tốt ASP.Net tất cả framework, tuy nhiên trang hiển thị sẽ bị phần quảng cáo ở phía trên và dưới (chịu thôi, đồ “chùa” mà).
Hoàn tất, nhấn Save Changes



Đường dẫn của ứng dụng sẽ là: http://apps.facebook.com/pcwsample/
Bước 4:  
Download Starter Kit tích hợp vào Visual Studio.
Cài đặt Starter kit:


Bước 5:
Khởi chạy Visual Studio tạo website. Chọn Facebook Starter Kit v2.1

Bước 6: 


Code; chỉnh tập tin web.config các “key” cho đúng với ứng dụng Facebook đã tạo ban đầu.
 
Starter Kit sẽ tự tạo cho chúng ta trang Default.aspx có nội dung như hình vẽ:  
Ghi chú


Image1 hiện thị hình ảnh của người tạo ứng dụng.
Control FriendList1 sẽ liệt kê hình bạn bè của người tạo ứng dụng.
DropDownList1 thay đổi sẽ làm thay đổi Image2 hiển thị hình ảnh bạn trong danh sách bạn bè friend list.
Bước 7: 
Đưa website lên host free đã tạo.


Bước 8:
Chạy ứng dụng facebook: http://apps.facebook.com/pcwsample/ 
Hộp thoại Request for Permission hiện ra, chọn Allow.

Kết quả cuối cùng:

Chúc các bạn thành công! 
Nguồn pcworld.com.vn

Tất cả các lệnh cấu hình trong CCNA theo chuyên mục

Phần 1. Routing - Định Tuyến (Các giao thức phức tạp)
OSPF.

Note: Tất cả những router có cùng area phải cấu hình giống nhau tất cả các thông số thì khu vực đó mới hoạt động đúng chức năng được.

1. Cấu hình cơ bản

Router(config)#router ospf process ID
Router(config-router)#network Network_number Wildcard_mask area_ID

2. Cấu hình priority ở các interface để bầu DR và BDR

Priority càng lớn thì khả năng được bầu làm DR càng cao, ngược với bầu Root brige của Switch, càng nhỏ thì lại càng được bầu.

Router(config)#interface fastethernet 0/0
Router(config-int)#ip ospf priority 55

Sau khi cấu hình xong priority có thể kiểm tra bằng lệnh.

Router# show ip ospf interface f0/0

3. Chỉnh sửa lại OSPF cost metric trong mỗi interface

Cost càng nhỏ thì tuyến đó càng được coi là best path

Router(config-int)#ip ospf cost 1

4.Cấu hình OSPF Authentication ở các interface và áp dùng vào router

Authentication key được hiểu như là password để các router trong cùng một vùng chia sẻ với nhau.

a.Cấu hình authentication đơn giản

Router(config-if)#ip ospf authentication-key password
Router(config-router)#area area number authentication

b.Cấu hình authentication theo dạng mã hoá, bảo mật cao.

Router(config-if)ip ospf message-digest-key key ID md5 encryption-type key
Router(config-router)#area area ID authentication message-digest

5.Cấu hình OSPF timer trong các interface

Router(config-if)ip ospf hello-interval timer
Router(config-if)ip ospf dead-interval timer

6.Cấu hình quảng bá một tuyến mặc định trong OSPF

Router(config-router)#default-information originate

7.Quảng bà một tuyến khác (không phải là default)

Router(config-router)#redistribute protocols subnets

8.Các lệnh show dùng để kiểm tra cấu hình OSPF

show ip protocol
show ip route
show ip ospf
show ip ospf interface
show ip ospf database
show ip ospf neighbor detail
clear ip route *
debug ip ospf events
debug ip ospf adj

EIGRP

1.Cấu hình cơ bản.

Router(config)#router eigrp autonomous number
Router(config-router)#network network number
Router(config-router)#eigpr log-neighbor-changes (Không có cũng được)
Router(config-router)#no auto-summary

2.Thay đổi băng thông và tự tổng hợp tuyến trong interface

Router(config-if)#bandwidth kilobits
Router(config-if)#ip summary-address protocol AS network number subnets mask

3.Cân bằng tải trong EIGRP

Router(config-router)#variance number

4.Quảng bá default route

Cách 1:
Router(config)#ip route 0.0.0.0 0.0.0.0 [interface/nexthop]
Router(config)#redistribute static

Cách 2:
Router(config)#ip default-network network number

Cách 3:
Router(config-if)#ip summary-network eigrp AS number 0.0.0.0 0.0.0.0

5.Quảng bá các tuyến khác trong EIGRP (không phải là default)

Router(config-router)#redistribute protocol process ID metrics k1 k2 k3 k4 k5
Ex: Router(config-router)#redistribute ospf metrics 100 100 100 100 100

6.Chia sẻ traffic trong EIGRP

Router(config-router)#traffic share {balanced/min}

7.Các lệnh kiểm tra cấu hình EIGRP

<!--[if !supLists]-->- <!--[endif]-->show ip eigrp neighbor
<!--[if !supLists]-->- <!--[endif]-->show ip eigrp interface
<!--[if !supLists]-->- <!--[endif]-->show ip eigrp topology
<!--[if !supLists]-->- <!--[endif]-->show ip eigrp traffic
<!--[if !supLists]-->- <!--[endif]-->debug eigrp fsm
<!--[if !supLists]-->- <!--[endif]-->debug eigrp packet

Phần 2. Switching - Chuyển mạch

1.Cấu hình cơ bản chung cho một Switch

Reset tất cả cấu hình của Switch và reload lại.

Switch#delete flash:vlan.dat
Switch#erase startup-config
Switch#reload

2.Cấu hình về Security và management

Switch(config)#hostname tên switch
Switch(config)#line console 0
Switch(config-line)#password mật khẩu
Switch(config-line)#login

Switch(config)#line vty 0 4
Switch(config-line)#pass mật khẩu
Switch(config-line)#login

3.Thiết lập địa chỉ IP và default gateway cho Switch

Switch(config)#interface vlan1
Switch(config-int)#ip address địa chỉ subnetmask
Switch(config)#ip default-gateway địa chỉ

4.Thiết lập tốc độ và duplex của cổng

Switch(config-int)#speed tốc độ
Switch(config-int)#duplex full

5.Thiết lập dịch vụ HTTP và cổng

Switch(config)#ip http server
Switch(config)#ip http port 80

6.Thiết lập, quản lý địa chỉ MAC

Switch(config)#mac-address-table static địa chỉ MAC interface fastethernet số vlan
Switch#show mac-address-table
Switch#clear mac-address-table

7.Cấu hình bảo mật cho cổng

Switch(config-if)#switchport mode acess
Switch(config-if)#switchport port-security

Cấu hình Static: Switch(config-if)#switchport port-security mac-address địa chỉ Mac

Cấu hình Sticky: Switch(config-if)#switchport port-security mac-address sticky (thông dụng nhất)

Switch(config-if)#switchport port-security maximum value
Switch(config-if)#switchport port-security violation shutdown

8.Tạo Vlan

Cách 1.

Switch#vlan database
Switch(vlan)#vlan number

Cách 2. Khi gán các cổng vào vlan, dù vlan chưa tồn tại nhưng Switch vẫn tự tạo.

Switch(config)#interface fastethernet 0/0
Switch(config-int)#switchport access vlan vlan-id

Muốn xoá vlan ta làm như sau:

Switch(config-if)#no switchport access vlan vlan-id
Switch#clear vlan vlan_number (xoá toàn bộ vlan )

9.Gán nhiều cổng vào trong vlan cùng một lúc, cấu hình Range

Đối với dãy cổng không liên tục.
Switch(config)#interface range cổng 1 , cổng 2 , cổng 3

Đối với một dãy liên tục.
Switch(config)#interface range cổng 1-n
Switch(config-range)#switchport access vlan vlan-id


Ví dụ:
Switch(config)#interface range f0/0 , f0/2 , f0/4
Switch(config)#interface range f0/0-10
Switch(config-range)#switchport access vlan 10

10.Cấu hình Trunk

Switch(config-if)#switchport mode trunk
Switch(config-if)#switchpor trunk encapsulation encapsulation-type
Switch#show trunk

11.Cấu hình VTP

Switch#vlan database
Switch(vlan)#vtp v2-mode
Switch(vlan)#vtp domain tên domain
Switch(vlan)#vtp {server/client/transperant}
Switch(vlan)#vtp password password (Tạo pass cho domain)
Switch#show vtp status

12.Cấu hình Inter-Vlan trên Router

Router(config)#interface fastethernet 0/0.1
Router(config-subif)#encapsulation type
Router(config-subif)#ip address địa chỉ subnetmask

Phần 3. Access-list và các cấu hình liên quan.

1.Nhắc lại về lý thuyết.

Có 2 loại access-list.

<!--[if !supLists]-->- <!--[endif]-->Loại thứ nhất: Standard IP Access-list chỉ lọc dữ liệu dựa vào địa chỉ IP nguồn. Range của loại này là từ 1à 99. Nên được áp dụng với cổng gần đích nhất.

<!--[if !supLists]-->- <!--[endif]-->Loại thứ hai: Extended IP Access-list lọc dữ liệu dựa vào
<!--[if !supLists]-->o <!--[endif]-->Địa chỉ IP nguồn
<!--[if !supLists]-->o <!--[endif]-->Địa chỉ IP đích
<!--[if !supLists]-->o <!--[endif]-->Giao thức (TCP, UDP)
<!--[if !supLists]-->o <!--[endif]-->Số cổng (HTTP, Telnet…)
<!--[if !supLists]-->o <!--[endif]-->Và các thông số khác như Windcard mask
Range của loại này là từ 100 à199. Nên được áp dụng với cổng gần nguồn nhất.

Hai bước để cấu hình Access-list
<!--[if !supLists]-->- <!--[endif]-->Bước 1: Tạo access-list trong chế độ cấu hình config.
<!--[if !supLists]-->- <!--[endif]-->Bước 2: Áp dụng access-list cho từng cổng tuỳ theo yêu cầu ở chế độ cấu hình (config-if)

Lưu ý:
<!--[if !supLists]-->- <!--[endif]-->Mặc định của tất cả Access-list là deny all, vì vậy trong tất cả các access-list tối thiểu phải có 1 lệnh permit. Nếu trong access-list có cả permit và deny thì nên để các dòng lệnh permit bên trên.
<!--[if !supLists]-->- <!--[endif]-->Về hướng của access-list (In/Out) khi áp dụng vào cổng có thể hiểu đơn giản là: In là từ host, Out là tới host hay In vào trong Router, còn Out là ra khỏi Router.
<!--[if !supLists]-->- <!--[endif]-->Đối với IN router kiểm tra gói tin trước khi nó được đưa tới bảng xử lý. Đối vơi OUT, router kiểm tra gói tin sau khi nó vào bảng xử lý.
<!--[if !supLists]-->- <!--[endif]-->Windcard mask được tính bằng công thức:
WM = 255.255.255.255 – Subnet mask (Áp dụng cho cả Classful và Classless addreess)
<!--[if !supLists]-->- <!--[endif]-->0.0.0.0 255.255.255.255 = any.
<!--[if !supLists]-->- <!--[endif]-->Ip address 0.0.0.0 = host ip address (chỉ định từng host một )

2.Cấu hình Standard Access-list (Ví dụ)

Router(config)#access-list 1 deny 172.16.0.0 0.0.255.255
Router(config)#access-list 1 permit any
Router(config)#interface fastethernet 0/0
Router(config-in)#ip access-group in

3.Cấu hình Extended Access-list (Ví dụ)

Router(config)#access-list 101 deny tcp 172.16.0.0 0.0.255.255 host 192.168.1.1 eq telnet
Router(config)#access-list 101 deny tcp 172.16.0.0 0.0.255.255 host 192.168.1.2 eq ftp
Router(config)#access-list 101 permit any any
Router(config)#interface fastethernet 0/0
Router(config-int)#ip access-group out

4.Cấu hình named ACL thay cho các số hiệu.

Router(config)#ip access-list extended server-access (tên của access-list)
Router(config-ext-nacl)#permit tcp any host 192.168.1.3 eq telnet
Router(config)#interface fastethernet 0/0
Router(config-int)#ip access-group server-access out

5.Permit hoặc Deny Telnet sử dụng Standard Acl (Ví dụ)

Router(config)#access-list 2 permit 172.16.0.0 0.0.255.255
Router(config)#access-list 2 deny any
Router(config)#line vty 0 4
Router(config-line)#password cisco
Router(config-line)#login
Router(config-line)#ip access-class 2 in

6.Xoá và kiểm tra Access-list

Muốn xoá thì ta dùng lệnh sau:
Router(config)# no ip access-list số hiệu

Kiểm tra Acl ta dùng các lệnh sau:

<!--[if !supLists]-->- <!--[endif]-->show access-list
<!--[if !supLists]-->- <!--[endif]-->show running-config
<!--[if !supLists]-->- <!--[endif]-->show ip interface

Phần 4. NAT – PPP – Frame Relay

I.Cấu hình NAT

* Cấu hình Static NAT

Cấu hình NAT trong chế độ Router(config). Các lệnh như sau

Router(config)#ip nat inside source static [inside local address] [inside global address]
Ví dụ:
R(config)#ip nat inside source statice 10.0.0.1 202.103.2.1 (Địa chỉ 10.10.0.1 sẽ được chuyển thành 202.103.2.1 khi đi ra khỏi Router)

Sau khi cấu hình xong phải áp dụng vào cổng in và cổng out, trong ví dụ dưới đây, cổng Ethernet là công in, còn cổng Serial là cổng out

Router(config)#interface ethernet 0
Router(config-if)#ip nat inside

Router(config)#interface serial 0
Router(config-if)#ip nat outside

* Cấu hình Dynamic NAT

Router(config)#ip nat pool [ tên pool] [A.B.C.D A1.B1.C1.D1] netmask [mặt nạ]
Router(config)#ip nat inside source list [số hiệu ACL] pool [tên pool]
Router(config)#access-list [số hiệu ACL] permit A.B.C.D windcard masks

Ví dụ:
R(config)#ip nat pool nat-pool1 179.9.8.80 179.9.8.95 netmask 255.255.255.0
R(config)#ip nat inside source list 1 pool nat-pool1
R(config)#access-list 1 permit 10.1.0.0 0.0.0.255

Sau đó áp vào cổng In và Out như Static NAT

Note: Giải địa chỉ inside local address và inside global address phải nằm trong giải cho phép của ACL

* Cấu hình PAT overload

*
o Cấu hình overload với 1 địa chỉ IP cụ thể.

Router(config)#ip nat pool [tên pool] [ip global inside] [subnet mask]
Router(config)#ip nat inside source list [tên số hiệu ACL] pool [tên pool] overload
Router(config)#access-list [số hiệu] permit [địa chỉ] [windcard mask]

Ví dụ:
R(config)#access-list 2 permit 10.0.0.0 0.0.0.255
R(config)#ip nat pool nat-pool2 179.9.8.20 255.255.255.240
R(config)#ip nat inside source list 2 nat-pool2 overload

*
o Cấu hình overload dùng địa chỉ của cổng ra.(Thường xuyên được dung hơn là trường hợp trên)

Router(config)#ip nat inside source list [tên số hiệu ACL] interface [cổng ra] overload
Router(config)#access-list [số hiệu] permit [địa chỉ] [windcard mask]

Ví dụ:
R(config)#ip nat inside source list 3 interface serial 0 overload
R(config)#access-list 3 permit 10.0.0.0 0.0.0.255

* Các lệnh Clear NAT/PAT

Lệnh xóa tất cả dynamic nat trên toàn bộ các interface.
Router#clear ip nat translation *

Lệnh xóa các single nat trên từng interface
Router#clear ip nat translation [inside/outside] [global ip - local ip]

Lệnh xóa các extended nat trên từng interface
Router#clear ip nat translation protocol [inside/outside] [global ip - global port – local ip – local port]

* Kiểm tra và Debug các NAT và PAT

Router#show ip nat translation
Router#show ip nat statics
Router#debug ip nat

* Cấu hình DHCP

Router(config)#ip dhcp excluded-address ip-address (end-ip-address)
Router(config)#ip dhcp pool [tên pool]
Router(dhcp-config)#network addess subnetmask
Router(dhcp-config)#default-router address
Router(dhcp-config)#dns-server address
Router(dhcp-config)#netbios-name-server address
Router(dhcp-config)#domain-name tên domain
Router(dhcp-config)#lease ngày/giờ/phút

* Kiểm tra và troubleshoot cấu hình DHCP

Router#show ip dhcp binding
Router#debug ip dhcp server events

* Trong trường hợp DHCP server không nằm cùng mạng với host

Note: khi DHCP server không cùng mạng với host thì ta phải dùng lệnh ip helper-address giúp host đến DHCP server.

Router(config)#interface [cổng nằm cùng mạng với host]
Router(config-if)#ip helper-address [địa chỉ của DHCP server]

Note: Trong trường hợp muốn gói tin của host được broadcast ở mạng chứa DHCP thì ta dùng thêm lệnh ip directed-broadcast ở cổng cùng mạng với DHCP server

Router(config)#interface [cổng nằm cùng mạng với dhcp]
Router(config-ì)#ip directed-broadcast

II. Cấu hình PPP

1. Cấu hình cơ bản:

R(config)#interface serial 0/0
R(config-if)#encapsulation ppp

2. Cấu hình PAP

Cấu hình PAP không yêu cầu hai Router giống nhau về password nhưng CHAP thì phải có.

(Cấu hình trên RA)
R(config)#host RA
RA(config)#username RB password 321
RA(config-if)#encapsulation ppp
RA(config-if)#ppp authentication pap
RA(config-if)#ppp pap sent-username RA password 123

(Cấu hình trên RB)
R(config)#host RB
RB(config)#username RA password 123
RB(config-if)#encapsulation ppp
RB(config-if)#ppp authentication pap
RB(config-if)#ppp pap sent-username RB password 321

3. Cấu hình CHAP. (yêu cầu phải giống nhau về password)

(Cấu hình trên RA)
R(config)#host RA
RA(config)#username RB password 123
RA(config-if)encapsulation ppp
RA(config-if)ppp authentication chap

(Cấu hình trên RB)

R(config)#host RB
RB(config)#username RA password 123
RB(config-if)encapsulation ppp
RB(config-if)ppp authentication chap


4. Các cấu hình khác của PPP

<!--[if !supLists]-->a. <!--[endif]-->Cấu hình Multilink

R(config-if)#encapsulation ppp
R(config-if)#ppp multilink

<!--[if !supLists]-->b. <!--[endif]-->Cấu hình Compression

R(config-if)#encapsulation ppp
R(config-if)#compress [predictor/stac/mppc]

<!--[if !supLists]-->c. <!--[endif]-->Cấu hình Error detection

R(config-if)#encapsulation ppp
R(config-if)#ppp quality [phần trăm]

5. Các lệnh kiểm tra cấu hình PPP

R#show interface (xem encapsulation)
R#debug ppp negotiation (Xem quá trình kết nối giữa 2 node)
R#debug ppp authentication (Xem quá trình xác thực giữa 2 node)


III. Cấu hình Frame-Relay

<!--[if !supLists]-->1. <!--[endif]-->Cấu hình đơn giản

R(config-if)#encapsulation frame-relay {ciso| ietf} (mặc định là cisco)

Khi lệnh này được thực thi, DLCI sẽ được Inverse ARP tự động map, người dùng không cần phải làm gì cả.

* Nhưng Inverse ARP không làm việc với các kết nối Hub-and-Spoke

<!--[if !supLists]-->2. <!--[endif]-->Cấu hình Frame-relay static map

R(config-if)#encapsulation frame-relay
R(config-if)#frame-relay map ip remote–ip-address local-dlci [broadcast] [cisco| ietf]
(ip address trong dòng lệnh trên chỉ lấy làm minh họa bởi nó rất phổ biến, chính xác phải là remote–protocol–address)
Broadcast trong câu lệnh trên có 2 chức năng:
<!--[if !supLists]-->§ <!--[endif]-->Forward broadcast khi multicast không được khởi động.
<!--[if !supLists]-->§ <!--[endif]-->Đơn giản hóa cấu hình OSPF cho mạng nonbroadcast sử dụng FRelay.
Ví dụ:

R(config-if)#encapsulation frame-relay
R(config-if)#frame-relay map ip 192.168.2.1 100 broadcast


<!--[if !supLists]-->3. <!--[endif]-->Cấu hình FR trong mạng None Broadcast MutiAccess

<!--[if !supLists]-->- <!--[endif]-->Trong mạng Broadcast khi 1 máy tính truyền frame tất cả các node lắng nghe frame nhưng chỉ có node cần nhận mới nhận được.
<!--[if !supLists]-->- <!--[endif]-->Trong mạng None Broadcast khi 1 máy tính truyền frame thì chỉ có node cần nhận mới lắng nghe và nhận được frame đó, các node còn lại thì không. Frame được truyền qua 1 virtual Circuit hoặc 1 thiết bị chuyển mạch.
<!--[if !supLists]-->- <!--[endif]-->Star topology có thể được coi như là 1 mạng Hub and Spoke.

<!--[if !supLists]-->4. <!--[endif]-->Giải quyết vấn đề với Routing Updates mà không disable Split Horizal

Giải pháp dùng Sub-interface

R(config)#interface s0/0
R(config-if)#encapsulation frame-relay
R(config-if)interface s0/0.1 [multipoint| point-to-point]

<!--[if !supLists]-->- <!--[endif]-->point-to-point: Mỗi subinterface có subnet riêng của mình. Broadcast và Split horizol không là vấn đề.
<!--[if !supLists]-->- <!--[endif]-->Multi-point: Tất cả các subinterface liên quan phải cùng chung 1 subnet và như vậy Broadcast và Split horizol sẽ có vấn đề.

Ví dụ:
(Point-to-point)
R(config)#interface s0/0
R(config-if)#encapsulation frame-relay
R(config-if)#interface s0/0.1 point-to-point
R(config-subif)#frame-relay interface-dlci 18

(Multipoint)
R(config)#interface s0/0
R(config-if)#encapsulation frame-relay
R(config-if)#interface s0/0.2 multipoint
R(config-subif)#frame-relay interface-dlci 19
R(config-subif)#frame-relay interface-dlci 20

<!--[if !supLists]-->5. <!--[endif]-->Cấu hình trên Frame-relay Switching (ví dụ)

R(config)#frame-relay switching
R(config)#interface s0/0
R(config-if)#encapsulation frame-relay
R(config-if)#frame-relay intf-type dce
R(config-if)#frame-relay route 103interface serial 0/1 301

theo hocit.com

Những điểm mới trong ASP.NET MVC 3


ASP.Net MVC 3 là một phiên bản khá hấp dẫn, có thêm nhiều tính năng và cải tiến mới rất tuyệt vời, giúp đơn giản hóa mã (code) của bạn. ASP.Net MVC 3 cũng tương thích ngược với ASP.Net MVC 1 và ASP.Net MVC 2, khiến việc nâng cấp các ứng dụng hiện có rất dễ dàng. Bài viết này sẽ trình bày về những tính năng mới như: Razor, multi view engine, những cài tiến trong: controller, JavaScript và Ajax, Model Validation, Dependency Injection, và các tính năng mới khác.
1. Công cụ xem Razor (The Razor View Engine)
- ASP.net MVC 3 đi kèm với một công cụ xem mới có tên là Razor với những lợi ích sau:
  • Cú pháp Razor là sạch sẽ và xúc tích, đòi hỏi một số lượng tối thiểu các tổ hợp phím.

  • Việc tìm hiểu Razor tương đối dễ dàng vì nó dựa trên ngôn ngữ C# và Visual Basic.

  • Visual Studio bao gồm IntelliSense và mã cú pháp Razor được màu hóa.

  • Razor views có thể kiểm tra từng đơn vị mà không đòi hỏi bạn phải chạy các ứng dụng hoặc phải chạy web server.

- Một số tính năng mới của Razor:
  • Cú pháp @model để xác định các loại sẽ được truyền vào view.

  • @**@  là cú pháp comment.

  • Khả năng định rõ mặc định (như layoutpage) một lần cho toàn bộ trang web.

  • Phương thức Html.Raw để hiển thị các văn bản mà không cần mã hóa Html cho nó.

  • Hỗ trợ chia sẽ mã giữa nhiều views (_viewstart.cshtml hay _viewstart.vbhtml).

-  Razor cũng bao gồm những công cụ hỗ trợ HTML mới, chẳng hạn như:
  • Chart – biểu diễn một biểu đồ, cung cấp các tính năng như control chart trong ÁP.NET 4.

  • WebGrid – biểu diễn một lưới dữ liệu (data grid), hoàn chỉnh với chức năng phần trang và phân loại.

  • Crypto – Sử dụng các thuật toán băm (hashing algorithms) để tạo thuộc tính thông thạo và băm các mật khẩu.

  • WebImage – biểu diễn một hình ảnh.

  • WebMail – gởi tin nhắn email.

-  Để biết thêm các  thông tin về Razor, xem thêm các nguồn sau:
2. Hỗ trợ đa View Engines (Support for Multiple View Engines)
-  Thêm hộp thoại View trong ASP.NET MVC 3 cho phép bạn chọn các view engine mà bạn muốn làm việc với nó, và hộp thoại New Project cho phép bạn xác định view engine mặc định cho một project. Bạn có thể chọn view engine Web Forms (ASPX), Razor, hay một view engine nguồn mở như Spark, NHaml, hay NDjango.
3. Những cải tiến Controller
3.1 Global Action Filters
Đôi khi bạn muốn thực hiện một logic hoặc trước khi một phương thức thực hiện hoặc sau một một phương thức hành động được thực hiện. Để hỗ trợ điều này, ASP.NET MVC 2 đã cung cấp bộ lọc hành động (Action Filters).  Action Filter là các thuộc tính tùy chỉnh cung cấp khai báo một phương tiện để thêm trước hành động và sau hành động một hành vi để xác định phương thức controller hành động cụ thể. MVC 3 cho phép bnaj chỉ định các bộ lọc chung bằng cách thêm chúng vào bộ sưu tập GlobalFilters. Để biết thêm thông tin có thể tham khảo ở những nguồn dưới đây:
3.2 Thuộc tính mới “ViewBag”
MVC 2 hỗ trợ điều điều khiển một thuộc tính ViewData để cho phép bạn chuyển dữ liệu đến một view template bằng cách sử dụng một API. Trong MVC 3, bạn có thể sử dụng cú pháp đơn giản hơn một chút với thuộc tính ViewBag để thwucj hiện cùng một mục đích trên. Ví dụ, thay vì viết ViewData[“Message”] = “text”, bạn có thể viết ViewBag.Message = “text”. Bạn không cần phải xác định lớp mạnh bất kỳ để sử dụng thuộc tính ViewBag. Bởi vì nó là một thuộc tính năng động (dynamic property), bạn có thể thay vì chỉ nhận hay thiết lập các thuộc tính và nó sẽ giải quyết các ván đề còn lại tự động khi chạy. Bên trong thuộc tính ViewBag được lưu trữ như cặp name/value trong từ điển ViewData. (Lưu ý: trong hầu hết các phiên bản trước của MVC3, thuộc tính ViewBag có tên là ViewModel).
3.3 Các kiểu “ActionResult” mới
Dưới đây là các kiểu ActionResult và phương pháp trợ giúp mới và nâng cao trong MVC 3:
  • HttpNotFoundResult . Trả về trạng thái mã HTTP 404 cho khách hàng.

  • RedirectResult . Trả về một chuyển hướng tạm thời (mã trạng thái HTTP 302) hoặc một chuyển hướng vĩnh viễn (mã trạng thái HTTP 301), phụ thuộc vào một tham số Boolean. Kết hợp với thay đổi này, các lớp control hiện nay có ba phương pháp để thực hiện thường xuyên đổi hướng: RedirectPermanent ,RedirectToRoutePermanent , và RedirectToActionPermanent . Những phương pháp này trả về một dữ liệu của RedirectResult với Permanent sở hữu thiết lập đúng .

  • HttpStatusCodeResult . Trả về một mã trạng thái người dùng được xác định.

4. JavaScript và Ajax
Theo mặc định, Ajax và các công cụ hỗ trợ hợp lệ trong MVC 3 sử dụng một cách tiếp cận unobtrusive JavaScript. Unobtrusive JavaScript nội tuyến tránh tiêm tín hiệu từ JavaScript vào HTML. Điều này làm cho HTML của bạn nhỏ hơn và ít lộn xộn hơn, và làm cho nó chuyển đổi ra ngoài dễ dàng hơn hay tùy chỉnh các thư viện JavaScript. Validation helpers trong MVC 3  cũng sử dụng plugin jQueryValidate theo mặc định. Nếu bạn muốn MVC 2 thực hiện, bạn có thể vô hiệu hóa unobtrusive JavaScript bawgnf cách thiết lập lại file web.config.  Để biết thêm thông tin về Ajax và JavaScript tham khảo những nguồn sau:
4.1 Client-Side Validation Enabled by Default
-  Trong các phiên bản trước đó của MVC, bạn cần phải gọi rõ phương thức Html.EnableClientValidation từ một view để cho phép phía máy khác xác nhận. Điều này trong MVC 3 là không cần thiết vì phía khách hàng xác nhận là kích hoạt mặc định. (Bạn có thể vô hiệu hóa điều này bằng cách sử dụng một thiết lập trong file web.config).
-  Để cho phía máy khách xác nhận để làm việc, bạn vẫn cần phải tham khảo thích hợp  thư viện jQuery và jQuery Validation trong trang web của bạn. Bạn có thể lưu trữ các thư viện trên máy chủ của chính bạn hoặc tham chiếu cho chúng từ một mạng lưới phân bố nội dung(CDN – Content Delivery Network) như CDNs từ Microsoft hay Google.
4.2  Remote Validator
-  ASP.NET MVC 3 hỗ trợ lớp RemoteAttribute cho phép bạn tận dụng lợi thể của plugin jQuery Validation để hỗ trợ xác nhận từ xa. Điều này cho phép các bên các nhận thư viện client-side validation để tự động gọi một phương thức tùy chỉnh mà bạn xác định trên máy chủ để thực hiện xác nhận logic chỉ có thể được xác nhận phía máy chủ.
-  Trong ví dụ sau đây, thuộc tính Remote xác định rừng xác nhận máy khác sẽ gọi một hành động tên là UserNameAvailable trên lớp UsersController để xác minh trường UserName.
public class User

{

[Remote("UserNameAvailable", "Users")]

public string UserName { get; set; }

}
-  Ví dụ sau đây minh họa các điều khiển tương ứng:
public class UsersController

{

public bool UserNameAvailable(string username)

{

if(MyRepository.UserNameExists(username))

{

return "false";

}

return "true";

}

}
-  Để biết thêm về cách sử dụng các thuộc tính Remote, xem bài How to: Implement Remote Validation in ASP.NET MVC trong MSDN.
4.3 JSON Binding Support
ASP.NET MVC 3 bao gồm ràng buộc hỗ trợ JSON  cho phép các phương thức hành động để nhận được dữ liệu JSON-encoded và model-bind tham số phương thức hành động của nó. Khả năng này rất hữu ích trong các tình huống liên quan đên client template và data binding. MVC 3 cho phép bạn dễ dàng kết nối client template với các phương thức hành độngtrên máy chủ khi gởi và nhận nhận dữ liệu JSON. Để biết thêm thông tin về JSON binding support, tham khảo Scott Guthrie’s MVC 3 Preview .
5. Model Validation Imporvements
5.1 Thuộc tính siêu dữ liệu “DataAnnotations”
ASP.NET MVC 3 hỗ trợ các  thuộc tính siêu dữ liệu DataAnnotations như DisplayAttribute.
5.2 Lớp “ValidationAttribue”
Lớp ValidationAttribute đã được cải tiến trong .NET Framerwork 4 để hỗ trợ một quá tải mới là IsValid cung cấp thêm thông tin về bối cảnh xác nhận hiện tại, chẳng hạn như những gì đối tượng đang được xác nhận. Điều này cho phép các kịch bản phong phú hơn, nơ bạn có thể xác nhận giá trị hiện tại dựa trên các thuộc tính khác của model. Ví dụ, thuộc tính mới CompareAttribute cho phép bạn so sánh các giá trị của 2 thuộc tính của một model. Trong ví dụ dưới đây, thuộc tính ComparePassword phải phù hợp với trường Password để được hợp lệ:
public class User

{

[Required]

public string Password { get; set; }

[Required, Compare("Password")]

public string ComparePassword { get; set; }

}
5.3 Validation Interfaces
-  Giao diện IValidatableObject cho phép bạn thực hiện các cấp model xác nhận, và nó cho phép bạn cung cấp các thông điệp xác nhận lỗi cụ thể đối với các trạng thái của model tổng thể, hay giữ 2 thuộc tính trong model. MVC 3 bây giờ lấy lỗi từ giao diện IValidatableObject khi ràng buộc mô hình, và từ động gắn cờ hay tô sáng các trường bị ảnh hưởng trong phậm vi view bằng cách sử dụng công cụ hỗ trợ hình thức HTML.
-  Giao diện IClientValidatable cho phép ASP.NET MVC khám phá trong thời gian chạy dù validator đã hỗ trợ cho việc xác thực ở client. Giao diện này được thiết kế để có thể tích hợp với hàng loạt các validation frameworks.
6. Dependency Injection Imporvements
-  ASP.NET MVC 3 cung cấp hỗ trợ tốt hơn cho việc áp dụng Dependency Injection (DI) và tích hợp với Dependency Injection hay Inversion of Control (IOC) containers. Các hỗ trợ cho DI được thêm vào:
    • Controllers (registering and injecting controller factories, injecting controllers).

    • Views (registering and injecting view engines, injecting dependencies into view pages).

    • Action filters (locating and injecting filters).

    • Model binders (registering and injecting).

    • Model validation providers (registering and injecting).

    • Model metadata providers (registering and injecting).

    • Value providers (registering and injecting).


-  MVC 3 hỗ trợ các thư viện Common Service Locator và bất kỳ DI container nào có hỗ trợ của thư viện IServiceLocator. Nó cũng hỗ trợ giao diện mới IDpendencyResolver làm cho nó dễ dàng hơn để tích hợp với DI frameworks.
-  Tham khảo thêm:
7. Các tính năng mới khác (Other New Features)
7.1 NuGet Integration
-  ASP.NET MVC 3 tự động cài đặt và cho phép Nuget như một phần cài đặt của nó. NuGet là một gói quản lý nguồn mở miễn phí mà có thể dễ dàng tìm tâấy nó, cài đặt và sử dụng  thư viện .NET và các công cụ trong các project của bạn. Nó hoạt động với tất cả các loại project của Visual Studio (bao gồm ASP.NET Web Forms và ASP.NET MVC).
-  NuGet cho phép các nhà phát triển để duy trì các dự án mã nguồn mở (ví dụ: các dự án như Moq, NHibernate, Ninject, StructureMap, NUnit, Windsor, RhinoMocks, và Elmah) để đóng gói thư viện của mình và đăng ký chúng trong một bộ sưu tập trực tuyến.
-  Để biết thêm về NuGet, xem thêm tài liệu NuGet documentation on the CodePlex site
7.2 Partial-Page Output Caching
ASP.NET MVC được hỗ trợ bộ nhớ đệm output của trang trả lời đầy đủ kể từ phiên bản 1. MVC 3 cũng hỗ trợ các trang xuất caching một phần, cho phép bạn dễ dàng đến các vùng nhớ đệm hoặc các mảnh của một response.
7.3 Kiểm soát và yêu cầu xác nhận (Granular Control over Request Valiedation)
ASP.NET MVC đã được xây dựng trong quá trình xác nhận yêu cầu tự động giúp bảo vệ chống lại các cuộc tấn công XSS và HTML injection. Tuy nhiên, đôi khi bạn muốn vô hiệu hóa yêu cầu xác nhận rõ ràng, chẳng hạn như nếu bạn muốn cho phép một người post nội dung HTML (Ví dụ, trong ác mục blog hoặc nội dung CMS). Bạn có thể thêm một thuộc tính AllowHtml cho các model hay view models để vô hiệu hóa các yêu cầu xác nhận trên mỗi một thuộc tính cơ bản trong mô hình liên kết.
7.4 Mở rộng hộp thoại “New Project”
Trong ASP.NET MVC 3, bạn có thể thêm các project mẫu, view engines, và unit test project frameworks cho hộp thoại  New project.
7.5 Scaffolding Improvements
ASP.net MVC 3 các mẫu scaffolding làm một công việc tốt hơn của việc xác định các thuộc tính khóa chính trên các mô hình và xử lý chúng một cách thích hợp hơn trong các phiên bản trước của MVC.
Theo mặc định, Tạo và Sửa scaffolds bây giờ sử dụng Html.EditorFor helper thay vì Html.TextBoxFor helper. Điều này cải thiện hỗ trợ cho các siêu dữ liệu trên mô hình ở dạng chú thích thuộc tính dữ liệu khi hộp thoại Add View tạo ra một view.
7.6 Các quá tải mới cho “Html.LabelFor”” và “Html.LabelForModel”
Các phương pháp quá tải mới có thêm  phương thức LabelFor và LabelForModel. Các quá tải mới cho phép bạn xác định hay ghi đè lên label text.
7.7 Sessioinless Controller Support
7.8 Lớp mới “AdditionalMetadataAttribute”
-   Bạn có thể sử dụng thuộc tính AdditionalMetadata để đưa vào từ điển ModelMetadata. AdditionalValues cho một thuộc tính model. Ví dụ, nếu view model có một thuộc tính sẽ được hiển thị chỉ cho một admin, bạn có thể thực hiện giống như trong ví dụ dưới đây:
public class ProductViewModel

{

[AdditionalMetadata("AdminOnly", true)]

public string RefundCode {get; set;}

}

Trung Quốc chơi bóng chày trên mặt trận ngoại giao


Không phải bản thân tàu sân bay tân trang Shi Lang của Trung Quốc khiến người ta lo ngại. Ý nghĩ lớn nhất của chiếc tàu này nằm ở chỗ khác.
Lần gần đây nhất khi chiếc tàu sân bay từng được biết đến với cái tên Varyag gây nhiều lo ngại, là khi nó có nguy cơ bị chìm. Đây là một trong những tàu chiến cuối cùng của Liên Xô, nhưng việc xây dựng một xưởng đóng tàu Mykolaiv bên bờ biển Đen đã bị bỏ dở giữa chừng vào năm 1992 sau khi Liên Xô tan rã. Varyag chỉ còn là một chiếc tàu thủy cũ chưa được hoàn thành, và được dùng làm kho chứa cho đến năm 1998, khi một công ty của Trung Quốc, có trụ sở ở Ma Cao và có quan hệ với Hải quân Trung Quốc, quyết định mua nó từ Ukraine với mục đích ban đầu là biến nó thành một sòng bạc nổi.
Các quan chức Thổ Nhĩ Kỳ lo ngại rằng chiếc tàu dài 300m này - với lớp vỏ han gỉ không được trang bị vũ khí, động cơ hay các trang thiết bị hàng hải - sẽ bị chìm khi đi qua eo biển Bosphorus, gây ra một vấn đề về môi trường và rủi ro cho tàu bè qua lại. Vì vậy, họ đã hoãn việc di chuyển con tàu này trong ba năm, và mãi đến năm 2001mới đồng ý hạn chế đi lại tại Bosphorus để biểu tượng cho sự tan rã của Liên Xô này được kéo qua các công trình sang trọng và đồ sộ bên bờ biển của Istanbul, bắt đầu hành trình dài 5 tháng trên Thái Bình Dương.
Cảng Ma Cao không đủ sâu để Varyag nhả neo. Vì vậy, chiến hạm mồ côi của một cựu siêu cường này đã được đưa tới thành phố cảng Đại Liên, Đông Bắc Trung Quốc. Tại đây, nó đã được dần dần đại tu thành hàng không mẫu hạm đầu tiên của một siêu cường tương lai. Giờ đây, thế giới lại chứng kiến một loạt những lo ngại mới về chiếc tàu từng mang tên Varyag. Ngày 10/8, chiếc tàu sân bay tân trang này đã rẽ sóng tiến ra khơi từ cảng Đại Liên trong lần chạy thử đầu tiên. Câu chuyện mang tên sòng bạc nổi đã tan biến, chiếc tàu này sẽ trở thành một sự cá cược lớn: sự phô trương sức mạnh quân sự của Trung Quốc ngoài biển xa.
Việc vận hành Varyag diễn ra đúng lúc. Các lực lượng vũ trang Trung Quốc đang được hiện đại hóa - chi tiêu quân sự tăng trung bình 15% từ năm 2000 - và sau một thập kỷ tấn công quyến rũ tại Đông Á và Đông Nam Á, Bắc Kinh đã bắt đầu có một quan điểm hiếu chiến hơn trong các tranh chấp lãnh thổ. Có một vài nhân tố dẫn tới cách tiếp cận cứng rắn hơn này, bao gồm khả năng các vùng biển tranh chấp có giá trị lớn về trữ lượng năng lượng, mong muốn thách thức sự ảnh hưởng của Mỹ trong khu vực cũng như sự ảnh hưởng của chủ nghĩa dân tộc, và sự lo ngại bị xem là yếu thế trước thời khắc chuyển giao lãnh đạo vào năm 2012. Ông Clive Schofield, giám đốc nghiên cứu tại Trung tâm quốc gia về Tài nguyên và an ninh biển Australis, thuộc Đại học Wollongong, nhận định: "Thái độ của Trung Quốc dường như mang bản chất xác quyết hơn. Bạn có thể thấy điều này trên boong tàu".
Các nước láng giềng của Trung Quốc, đặc biệt là Nhật Bản, Việt Nam và Philippines, đã đáp lại bằng cách cư xử cứng rắn của mình. Năm ngoái, Trung Quốc và Nhật Bản đã tranh cãi về các quần đảo tại biển Hoa Đông mà Nhật Bản đang quản lý và hai nước đều đòi chủ quyền, được Trung Quốc gọi là Điếu Ngư và Nhật Bản gọi là Senkaku. Khi Nhật Bản bắt giữ một thuyền trưởng tàu cá Trung Quốc gần quần đảo này, Trung Quốc đã lớn tiếng. Hai tuần sau, Nhật Bản thả ngư dân này - người đã trở về Trung Quốc trong sự chào đón như một anh hùng. Mùa Hè này, các tàu chiến Trung Quốc đi qua vùng biển quốc tế gần đảo Okinawa, khiến Tokyo lo ngại. Sách trắng quốc phòng mới nhất của Nhật Bản nói rằng việc Trung Quốc hiện đại hóa quân sự, gia tăng các hoạt động tại các vùng biển châu Á và thiếu minh bạch "là nguyên nhân gây lo ngại trong khu vực và trong cộng đồng quốc tế".


Khu vực xảy ra tranh chấp nhiều hơn, đó là ở biển Đông. Ba triệu km2 vùng biển này có nhiều đảo nhỏ, và nhiều nơi được cho là đang chứa những mỏ dầu và khí tự nhiên phong phú. Căng thẳng đã gia tăng giữa Trung Quốc, nước đòi chủ quyền đối với hầu hết diện tích biển Đông, và một số nước châu Á khác đòi chủ quyền một phần khu vực biển này.
Philippines sau khi thông báo các tàu chiến Trung Quốc đã quấy rối các tàu thăm dò và tàu cá nước mình gần chục lần kể từ đầu năm, đã tuyên bố bắt đầu coi khu vực này là biển Tây Philippines và cử tàu đô đốc của hải quân nước mình - là tàu khu trục Rajah Humabon có từ thời chiến tranh thế giới II-tới đây tuần tra. Việt Nam cũng cáo buộc các tàu cá Trung Quốc hai lần trong mùa Hè vừa qua trắng trợn cắt cáp của các tàu thăm dò của PetroVietnam, đồng thời thông báo sẽ cân nhắc khả năng phục hồi chế độ quân dịch và tiến hành các cuộc tập trận bắn đạn thật vào tháng Sáu. Trung Quốc đáp lại bằng ba ngày tập trận hải quân.
Căng thẳng bề nổi
Các tranh chấp về các vùng biển của châu Á khiến Mỹ rất quan tâm. Năm ngoái, Ngoại trưởng Mỹ Hillary Clinton tuyênb ố Mỹ có một "lợi ích quốc gia" về tự do hàng hải ở biển Đông và đề xuất Washington hỗ trợ như một nhà hòa giải. Trung Quốc tức giận đáp lại rằng Mỹ đang tìm cách "quốc tế hóa" một vấn đề cần được giải quyết giữa họ với các nước láng giềng.
Một số quan sát viên đã nghĩ rằng Bắc Kinh sẽ có một cách tiếp cận bớt hung hăng vào năm 2011, khi chứng kiến việc các tranh chấp khu vực đã tạo điều kiện cho sự can thiệp lớn hơn của Mỹ như thế nào. Nhưng "mọi chuyện không xảy ra như vậy", ông Ian Storey, một chuyên gia tại Viện nghiên cứu Đông Nam Á của Singapore, nhận định hồi tháng Sáu. Theo ông, "trên thực tế, trong ba tháng qua, căng thẳng đã gia tăng ở mức cao hơn so với từ sau chiến tranh Lạnh".
Ngày 20/7, Trung Quốc và ASEAN nhất trí về Quy tắc hướng dẫn không ràng buộc về cách ứng xử trên biển Đông, nhưng vẫn còn nhiều bất đồng lớn. Thứ trưởng Ngoại giao Trung Quốc Thôi Thiên Khải cảnh báo Mỹ đang đứng trước nguy cơ trở thành chướng ngại trong một cuộc xung đột khu vực nếu không giúp kiểm chế các nước khác trong khu vực.
Ông phát biểu với báo giới cuối tháng Sáu rằng: "Tôi tin là các nước đơn lẻ hiện đang đùa với lửa. Tôi hy vọng ngọn lửa này sẽ được Mỹ dập tắt". Giữa tháng Bảy, Tổng tham mưu trưởng quân giải phóng nhân dân Trung Hoa (PLA), Tướng Trần Bính Đức đã công khai than phiền với Chủ tịch Hội đồng Tham mưu trưởng Liên quân Mỹ, Đô đốc Mike Mullen, về chi tiêu quân sự của Mỹ cũng như các hoạt động do thám trên biển mà Mỹ tiến hành gần biên giới của Trung Quốc và việc Mỹ tham gia tập trận chung mà họ cho là "không đúng lúc" với Việt Nam và Philippines. Sau 4 ngày ở thăm Trung Quốc, ông Mullen cho biết không tin chắc rằng các cải cách về quân sự của Bắc Kinh hoàn toàn mang bản chất phòng thủ, và bày tỏ lo ngại tranh chấp tại biển Đông "có thể leo thang và dẫn tới hiểu nhầm có thể làm củng cố thêm cho các phỏng đoán trước đó".
Trong một môi trường nóng như vậy, tàu sân bay mới của Trung Quốc sẽ làm dấy lên những lo ngại mới. Con tàu này vẫn chưa được Trung Quốc đặt tên song một số người Trung Quốc đại lục vẫn gọi nó là Thi Lang (Shi Lang), tên một vị đô đốc hải quân Trung Quốc từ thế kỷ 17, người đã chinh phục Đài Loan. Dù Bắc Kinh có thể chọn một cái tên tinh tế hơn cho con tàu này, song thông điệp gửi tới khu vực sẽ là rõ ràng - khả năng Trung Quốc trở lại các yêu sách lãnh thổ ngày càng lớn.
Các chuyên gia quân sự cảnh báo bản thân chiếc tàu sân bay không phải là một người thay đổi trò chơi. Trên thực tế, nó được chế tạo từ một thân tàu thủy cũ 26 năm tuổi bị bỏ rơi. Theo ông Richard Bitzinger, một chuyên gia về các lực lượng quân đội châu Á và là thành viên tại Trường nghiên cứu quốc tế Rajaratnam của Singapore, cho rằng con tàu này có thể mất ít nhất 5 năm sau khi vận hành mới thực sự sẵn sàng để sử dụng, và ngay cả tới khi đó, nó có thể chỉ được sử dụng để huấn luyện. Khi tàu bắt đầu vận hành, các phi công sẽ phải tập cất cánh và hạ cánh máy bay từ một boong tàu di động, và các thủy thủ phải học cách sử dụng các tính năng phức tạp của một con tàu mà Trung Quốc chưa từng có kinh nghiệm.
Nhưng, theo Andrew Erickson, một giáo sư tại Trường Hải chiến Mỹ, thì "Trung Quốc phải bắt đầu từ đâu đó. Một đôi uyên ương muốn một mái nhà để khởi sự, một cường quốc mới nổi muốn một tàu sân bay khởi sự". Các chuyên gia tin rằng khi Hải quân của PLA học được cách vận hành tàu Varyag cũ, Trung Quốc sẽ bắt đầu chế tạo các tàu sân bay từ bất cứ thứ gì, có thể chế tạo được tới 4 chiếc. Đây là ý nghĩa lớn nhất của chiếc tàu đang được tân trang ở cảng Đại Liên.
Trong tương lai gần, Mỹ sẽ vẫn là cường quốc bá chủ về quân sự tại châu Á. Họ chi tiêu gấp 6 lần Trung Quốc chi cho quốc phòng và có một lịch sử dài vận hành các hàng không mẫu hạm. Mỹ đã trang bị tàu sân bay đầu tiên vào năm 1934 và hiện có 11 chiếc chạy bằng năng lượng hạt nhân. Mỗi chiếc có thể mang hơn 80 máy bay và mỗi phút có thể đồng thời cho cất cánh và hạ cánh vài chiếc. Cộng với các tàu ngầm, tàu tuần dương gắn tên lửa, tàu khu trục và tàu tiếp tế, nhóm tàu sân bay lớp Nimitz là một trong những lực lượng quân sự hàng đầu thế giới, hùng mạnh hơn nhiều lần bất cứ thứ gì Trung Quốc có thể tạo ra trong nhiều thập kỷ tới.
Nhưng, theo ongo Erickson, một so sánh trung thực giữa Mỹ và Trung Quốc sẽ không chính xác "trừ phi người ta tưởng tượng ra một cuộc xung đột tổng lực giữa hai nước này, điều hiện vẫn là không tưởng". Thay vào đó, Trung Quốc đang tập trung ngăn chặn mọi nỗ lực tách ra độc lập của Đài Loan. Sự phát triển lực lượng hải quân Trung Quốc tập trung vào cái mà các chuyên gia quân sự gọi là các khả năng "chống can thiệp" hay "bao vây", nhằm ngăn cản Mỹ đến hỗ trợ Đài Loan trong trường hợp xảy ra xung đột. Để đạt mục đích này, Trung Quốc đã phát triển một loạt tên lửa đáng sợ, trong đó có loại tên lửa đạn đạo tầm xa bắn từ đất liền có khả năng tấn công các tàu đang chuyển động, mà Tướng Trần đã lần đầu tiên công bố trong chuyến thăm Trung Quốc của ông Mullen hồi tháng Bảy.
Trung Quốc cũng có khả năng tập trung phô trưởng sức mạnh quân sự ở bất cứ đâu, khi các căng thẳng giữa hai bờ eo biển được giảm nhẹ sau khi ông Mã Anh Cửu - một người thân với đại lục - đắc cử làm nhà lãnh đạo Đài Loan năm 2008. Theo Stephanie Kleine-Ahlbrandt, giám đốc dự án Đông Bắc Á của International Crisis Group, so với hạm đội Biển Bắc và hạm đội Biển Đông của Hải quân Trung Quốc, hạm đội Biển Nam "đã được chú ý và được tài chợ nhiều hơn trong những năm qua".
Bà cho biết: "Bên cạnh việc nâng cấp các tàu chiến và tàu ngầm hiện có, chúng tôi cũng thấy sự huy động thêm nhân sự trong quân đội, tàu tuần tra và tàu ngầm". Sự huy động lớn nhất sẽ là tàu sân bay, mà Kleine-Ahlbrandt cho là sẽ được cử tới hoạt động ở biển Đông. Về phần mình, ông Storey nhận định: "Các sỹ quan quân sự Mỹ có xu hướng gạt đi Varyag và nói nó đã cũ và lỗi thời về công nghệ, cơ bản chỉ là một mục tiêu nằm. Tôi nghĩ là toàn cảnh Đông Nam Á rất khác. Nó đang gửi đi một thông điệp tới các nước Đông Nam Á rằng Trung Quốc nghiêm túc trong việc bảo vệ các yêu sách chủ quyền của mình ở biển Đông".
Khoảng cách niềm tin
Trung Quốc đang chơi bóng chày cả trên mặt trận ngoại giao. Bắc Kinh cắt các quan hệ quân sự với Mỹ vì Mỹ bán vũ khí cho Đài Loan, và chỉ nối lại vào cuối năm 2010 để chuẩn bị cho chuyến thăm Mỹ của Chủ tịch Hồ Cẩm Đào. Khác với chiến tranh Lạnh, khi Mỹ và Liên Xô nhất trí một loạt các quy tắc và đường dây nóng nhằm giữ cho một sự cố biển không bùng lên thành một cuộc chiến tranh hạt nhân, thì Bắc Kinh và Washington lại không có thỏa thuận nào tương tự.
Trong một báo cáo của Viện Chính sách quốc tế Lowy có trụ sở tại Australia, các tác giả Rory Medcalf và Raoul Heinrichs kể ra hơn một chục sự cố biển giữa các lực lượng hải quân hoặc các lực lượng ủy quyền của họ trên biển Tây Thái Bình Dương. Báo cáo ghi nhận rằng không có các biện pháp giao tiếp và tích cực xây dựng lòng tin của tất cả các bên, thì hoạt động hải quân tăng cường trên biển sẽ khiến nguy cơ thù địch lan rộng.
Báo cáo nhận định: "Dù khả năng một sự cố nào có thể leo thang thành đụng độ quân sự lớn không nên được phóng đại, nhưng các động cơ - đặc biệt là va chạm giữa Trung Quốc với Mỹ, Nhật Bản và Ấn Độ - sẽ tồn tại và gia tăng. Khi số lượng và tần suất sự cố biển gia tăng, một lúc nào đó chúng sẽ leo thang thành đối đầu vũ trang, khủng hoảng ngoại giao hoặc có thể cả xung đột".
Tuy nhiên, hiện nay chưa có bất kỳ kiểu giao tranh nào ở Đại Liên, nơi chiếc Varyag cũ đang nằm ở bến cảng. Người dân nhớ lại khi chiếc tàu sân bay được đưa đến đây gần một thập kỷ trước, nó chỉ là một chiếc vỏ tàu han gỉ, ít khả năng trở thành một chiếc tàu chiến. Ngày nay, họ cười nhạo vào suy nghĩ cho rằng các nước khác nên lo ngại. Một nhân viên làm việc tại một công trường gần đó nói: "Đó chỉ là một thứ đồ thừa mà cả Ukraine cũng chẳng thèm. Đối với một quốc gia 1,3 tỷ dân, nó rõ ràng không đủ. Chúng tôi cần nhiều hơn thế". Chính khái niệm này, chứ không phải là bản thân chiếc tàu sân bay kia, đang khiến thế giới lo ngại./.
  • Châu Giang theo Time

Sửa chữa các lỗi hay gặp trên Windows


Không thể phủ nhận Windows là một hệ điều hành tuyệt vời nhưng sẽ có một lúc nào đó Windows đang hoạt động ổn định bỗng trở chứng hoặc mất đi một vài tính năng. Đây là tình trạng mà không ít người gặp phải. Nguyên nhân có thể do virus, hoặc do các thiết lập, cài đặt của người dùng. Bài viết sau sẽ giúp ích cho bạn trong việc thuần hóa Windows một cách dễ dàng hơn.
Đừng để automatic update "quấy rối" công việc của bạn
Tính năng Windows Update thường khiến PC của bạn khởi động lại sau khi đã tiến hành cập nhật hệ điều hành với những bản sửa lỗi mới nhất. Thường xuyên lưu lại tài liệu không phải là một thói quen của người dùng do đó khi Windows khởi động lại mà bạn chưa kịp lưu những tài liệu đang làm việc dở thì công sức của bạn coi như "đi tong". Để ngăn chặn vấn đề này xảy ra, bạn hãy mở Windows Update trong cửa sổ Control Panel, sau đó chọn Change settings. Trong trình đơn thả xuống bạn hãy bấm vào tùy chọn Download updates but let me choose whether to install them. Vậy là Windows sẽ chỉ tiến hành cài đặt các gói cập nhật một khi bạn cho phép và tránh khỏi hiện tượng khởi động lại đột ngột khi bạn đang làm việc.
Sửa chữa các lỗi hay gặp trên Windows, Thủ thuật - Tiện ích, Công nghệ thông tin, Sua loi thuong gap tren Windows, sua loi tren Windows, Windows, vi tinh, internet
Thay đổi thư mục mặc định của Windows Explorer
Bạn có thể tiết kiệm thời gian và số lần bấm chuột bằng cách để Windows Explorer mặc định tự động mở thư mục mà bạn chỉ định. Để làm việc này, bạn hãy bấm chuột phải vào biểu tượng của Explorer ở thanh tác vụ, sau đó chuột phải tiếp vào Windows Explorer rồi chọn Properties. Trong ô Target, bạn hãy thêm vào một khoảng trống và đường dẫn tập tin ưa thích của bạn ở phía cuối của dòng chữ % windir% \ explorer.exe ví dụ như:% windir% \ explorer.exe C: \ Users \tên user của bạn\ folder muốn chọn.
Sửa chữa các lỗi hay gặp trên Windows, Thủ thuật - Tiện ích, Công nghệ thông tin, Sua loi thuong gap tren Windows, sua loi tren Windows, Windows, vi tinh, internet
Thay đổi Folder Options về cùng một chế độ xem cho các tập tin và thư mục
Với chế độ xem các tập tin và thư mục, Windows sẽ tự động ghi nhớ và thực hiện các thiết lập của bạn cho các tập tin cá nhân. Nếu bạn muốn thay đổi chế độ xem này cho toàn bộ các tập tin và thư mục, bạn hãy mở một thư mục lên rồi nhấn vào tab Organize và chọn Folder and search options. Chọn tab View và bấm vào Apply to folders.
Sửa chữa các lỗi hay gặp trên Windows, Thủ thuật - Tiện ích, Công nghệ thông tin, Sua loi thuong gap tren Windows, sua loi tren Windows, Windows, vi tinh, internet
Vô hiệu hóa touchpad khi soạn thảo văn bản
Khi đang soạn thảo văn bản trên máy tính xách tay, hẳn là sẽ có nhiều lần bạn vô tình chạm vào touchpad. Điều này sẽ làm con trỏ chuột của bạn bị dịch chuyển đi so với vị trí mà bạn đang soạn thảo và khiến bạn mất thời gian để đưa lại con trỏ chuột vào đúng vị trí. Touchfreeze là một tiện ích miễn phí sẽ giúp bạn vô hiệu hóa touchpad trong khi đang soạn thảo văn bản. Tất nhiên là nếu laptop của bạn đã có sẵn phím tắt touchpad thì bạn không cần đến phần mềm này.
Bạn có thể tải Touchfreeze tại đây.
Sửa chữa các lỗi hay gặp trên Windows, Thủ thuật - Tiện ích, Công nghệ thông tin, Sua loi thuong gap tren Windows, sua loi tren Windows, Windows, vi tinh, internet
Sử dụng Windows 7 Library tốt hơn
Thư viện trong Windows 7 (Windows 7 Library) là một cách tổ chức sắp xếp các tập tin và thư mục nhằm mang lại cái nhìn trực quan hơn cho các tập tin và thư mục trong Windows 7. Để dễ hình dung hãy giả sử là bạn có một số tập tin văn bản nằm trong thư mục Document cùng với các tập tin văn bản có trong USB, bạn có thể đưa hai thư mục này vào trong thư mục Document Library để có thể xem được các tập tin này nói cách khác thì nó tạo ra các shortcut dẫn đến các tập tin và thư mục. Tính năng này giúp bạn dễ dàng hơn để xem, sắp xếp, tìm kiếm và chia sẻ các tập tin và thư mục nằm ở nhiều vị trí khác nhau. Tuy nhiên thì nó có thể giúp ích cho bạn được nhiều hơn nếu được kết hợp với Win7 Library Tool, công cụ cho phép bạn thêm vào thư viện các thư mục không được chỉ định như thư mục network.
Bạn có thể tải Win7 Library Tool tại đây.
Sửa chữa các lỗi hay gặp trên Windows, Thủ thuật - Tiện ích, Công nghệ thông tin, Sua loi thuong gap tren Windows, sua loi tren Windows, Windows, vi tinh, internet
Rút thẻ nhớ an toàn mà không cần phải chờ đợi
Bạn có thể rút thẻ nhớ bất kì lúc nào mà bạn muốn mà không cần phải phải thực hiện việc gỡ bỏ phần cứng an toàn (Safely Remove Hardware). Để tùy chỉnh các thiết lập, đầu tiên bạn hãy bấm chuột phải vào thẻ nhớ ở trong Windows Explorer rồi chọn Propeties, tiếp theo chọn tab Hardware. Sau đó, chọn đầu đọc thẻ nhớ và bấm vào Propeties rồi chọn tab Policies (nếu tab này không hiện ra thì bạn hãy bấm vào nút Change settings trước). Cuối cùng hãy bấm vào Optimize for quick removal. Thế là xong, từ giờ bạn có thể rút thẻ nhớ bất kỳ lúc nào mà không sợ làm hỏng dữ liệu.
Sửa chữa các lỗi hay gặp trên Windows, Thủ thuật - Tiện ích, Công nghệ thông tin, Sua loi thuong gap tren Windows, sua loi tren Windows, Windows, vi tinh, internet

Kia sắp trình làng concept mới



Ngôi sao của hãng xe Hàn Quốc tại triển lãm Frankfurt (Đức) năm nay là một mẫu xe ý tưởng chưa rõ tên.

Chiếc concept sắp trình làng là mẫu đầu tiên thuộc serie concept mới mà Kia sẽ sử dụng để khai thác các phân khúc thị trường mới, đồng thời chứng tỏ khả năng xây dựng những sản phẩm đa dạng bên cạnh những chiếc hatchback, sedan và crossover truyền thống.



Kia concept
Trung tâm chú ý tại gian trưng bày của Kia tại triển lãm Frankfurt năm nay là chiếc concept sedan hệ dẫn động cầu sau.
Hiện chưa có nhiều thông tin về mẫu concept kiểu sedan hệ dẫn động cầu sau. Theo tờ Autocar, xe được xây dựng dựa trên Genesis sedan của Hyundai, trang bị động cơ xăng V8.
Ra đời tại phòng thiết kế của Kia tại Frankfurt, chiếc concept truyền tải thông điệp của Kia về những kế hoạch mở rộng trong tương lai và chứng tỏ hướng thiết kế mới của hãng dưới thời Giám đốc thiết kế người Đức Peter Schreyer.
Phía mũi xe là kiểu lưới tản nhiệt quen thuộc của Kia, còn cabin được Schreyer miêu tả là một "khoang lái 4 chỗ sành điệu và thanh lịch".



Kia concept
Cabin 4 chỗ, hàng ghế sau với hai ghế tách biệt.
Phó chủ tịch kiêm Giám đốc điều hành của Kia, Hank Lee phát biểu: "Điều quan trọng đối với chúng tôi lúc này là chứng tỏ sức mạnh thương hiệu. Những mẫu concept như thế này sẽ giúp ích rất nhiều. Nhưng sẽ phải chuẩn bị thật kỹ. Chúng tôi còn phải thử nghiệm hàng loạt ý tưởng trước khi quyết định sản xuất".
Ngoài mẫu concept chưa có tên, tại triển lãm Frankfurt năm nay, Kia còn mang ra giới thiệu mẫu Morning (còn gọi Picanto) 3 cửa mới và phiên bản nâng cấp của Soul.
Minh Thủy

 
Ky nang ban hang ky-nang-ban-hang
10 10 1125 (c) by
Google Thủ thuật, hacking, tool, code, công cụ