Cách chia subneting , subnet mask

1.Cơ bản về IP và cách đổi nhị phân

Về các lớp IP
Địa chỉ IP(Ipv4) gồm 32 bit được chia làm 4 octet(1octet=8bit=1byte) gồm 3 thành phần chính: Class Bit, Net ID, Host ID chia ra 5 lớp A, B, C, D, E.
—————————————————————————-
|   Class Bit    |    Net ID     |   Host ID   |
—————————————————————————-
Class Bit : Bit nhận dạng lớp
Net ID (n) : Địa chỉ mạng
Host ID(h) : Địa chỉ máy
Class bit của lớp A, B, C, D, E là 0(A) ,10(B), 110(C), 1110(D), 11110(E)
Class A: 0nnnnnnn.hhhhhhhh.hhhhhhhh.hhhhhhhh
Class B: 10nnnnnn.nnnnnnnn.hhhhhhhh.hhhhhhhh
Class C: 110nnnnn.nnnnnnnn.nnnnnnnn.hhhhhhhh
Class D: 1110nnnn.hhhhhhhh.hhhhhhhh.hhhhhhhh
Class E: 11110nnn.hhhhhhhh.hhhhhhhh.hhhhhhhh

Về cách đổi:
Đổi cơ số mà ngồi chia 2 liên tục, lấy ngược thì xỉn luôn.
Để đổi cơ số nhanh thập phân->nhị phân ta thực hiện như sau:
1. Phân tích số thập phân thành tổng của 1,2,4,8,16,32,64,128
2. Đọc nhẩm “một, hai, bốn, tám, mười sáu, ba hai, sáu tư, một trăm hai mươi tám”
3. Viết từ phải sang trái 1 nếu số đọc & số tính trùng nhau, 0 nếu ko có.
Ví dụ:
155= 128+16+8+2+1
Đọc ‘một’ viết 1, ‘hai’ – 2, ‘bốn’ viết 0, ‘tám’ – 1, ‘mười sáu’-1, ‘ba hai’-0, ‘sáu tư ‘-0, ‘một hai tám’-1 lần lượt từ phải sang ta được số sau: 10011011
Xem tiếp

Phân biệt mô hình OSI và TCP/IP

Mô hình OSI và mô hình TCP/IP

Mô hình OSI có 7 lớp:

Lớp Ứng dụng(Application) quy định giao diện giữa ứng dụng và mạng, các giao thức trong thuộc về lớp này rất nhiều, nhưng thường gặp nhất trên mạng là FTP, HTTP, HTTPs, SMTP, Telnet,… Lóp Ứng dụng sẽ đẩy dữ liệu xuống lớp tiếp theo ngay bên dưới là lớp Trình bày

Lớp Trình bày(Presentation) chịu trách nhiệm chính về phần mã hóa và định dạng dữ liệu. Ví dụ: để máy tính Linux có thể giao tiếp với máy tính Windows, lớp Trình bày phải định dạng dữ liệu sao cho phù hợp với các hệ điều hành. Các tên tập tin thường có phần đuôi mở rộng như .PICT, .MIDI, .MPEG, .RTF, … phần đuôi này do chính lớp Trình bày thêm vào.
Đọc tiếp…

Sự khác nhau giữa HTTP và HTTPS..?

HTTP & HTTPS

1. HTTP là gì?
HTTP là chữ viết tắt từ HyperText Transfer Protocol (giao thức truyền tải siêu văn bản). Nó là giao thức cơ bản mà World Wide Web sử dụng. HTTP xác định cách các thông điệp (các file văn bản, hình ảnh đồ hoạ, âm thanh, video, và các file multimedia khác) được định dạng và truyền tải ra sao, và những hành động nào mà các Web server (máy chủ Web) và các trình duyệt Web (browser) phải làm để đáp ứng các lệnh rất đa dạng. Chẳng hạn, khi bạn gõ một địa chỉ Web URL vào trình duyệt Web, một lệnh HTTP sẽ được gửi tới Web server để ra lệnh và hướng dẫn nó tìm đúng trang Web được yêu cầu và kéo về mở trên trình duyệt Web. Nói nôm na hơn, HTTP là giao thức truyền tải các file từ một Web server vào một trình duyệt Web để người dùng có thể xem một trang Web đang hiện diện trên Internet.HTTP là một giao thức ứng dụng của bộ giao thức TCP/IP (các giao thức nền tảng cho Internet).

2. HTTPS là gì?
HTTPS( Secure HTTP), là một sự kết hợp giữa giao thức HTTP và giao thức bảo mật SSL hay TLS cho phép trao đổi thông tin một cách bảo mật trên Internet. Các kết nối HTTPS thường được sử dụng cho các giao dịch thanh toán trên World Wide Web và cho các giao dịch nhạy cảm trong các hệ thống thông tin công ty. HTTPS được sử dụng trong nhiều tình huống, chẳng hạn như các trang đăng nhập cho ngân hàng, các hình thức, ích đăng nhập công ty, và các ứng dụng khác, trong đó dữ liệu cần phải được an toàn.HTTPS không nên nhầm lẫn với Secure HTTP (S-HTTP) quy định trong RFC 2660.
Đọc tiếp…

LẬP TRÌNH SOCKET VỚI TCP/UDP

0.Một số khái niệm cần biết

Trước khi đi vào lập trình socket thì chúng ta cần quen với các khái niệm cơ bản trong lập trình socket.
a.Socket là gì?
-Socket là một cổng logic mà một chương trình sử dụng để kết nối với một chương trình khác chạy trên một máy tính khác trên Internet. Chương trình mạng có thể sử dụng nhiều Socket cùng một lúc, nhờ đó nhiều chương trình có thể sử dụng Internet cùng một lúc.
Có 2 loại Socket:
+Stream Socket: Dựa trên giao thức TCP( Tranmission Control Protocol) việc truyền dữ liệu chỉ thực hiện giữa 2 quá trình đã thiết lập kết nối. Giao thức này đảm bảo dữ liệu được truyền đến nơi nhận một cách đáng tin cậy, đúng thứ tự nhờ vào cơ chế quản lý luồng lưu thông trên mạng và cơ chế chống tắc nghẽn.
+Datagram Socket: Dựa trên giao thức UDP( User Datagram Protocol) việc truyền dữ liệu không yêu cầu có sự thiết lập kết nối giữa 2 quá trình. Ngược lại với giao thức TCP thì dữ liệu được truyền theo giao thức UDP không được tin cậy, có thế không đúng trình tự và lặp lại. Tuy nhiên vì nó không yêu cầu thiết lập kết nối không phải có những cơ chế phức tạp nên tốc độ nhanh…ứng dụng cho các ứng dụng truyền dữ liệu nhanh như chat, game…..
b.Port là gì ?
– Port xách định duy nhất một quá trình (process) trên một máy trong mạng. Hay nói cách khác là cách mà phân biệt giữa các ứng dụng.
VD: Khi máy bạn chạy nhiều ứng dụng mạng như Yahoo,Firefox, game online… .Ví dụ chương Yahoo sử dụng ( port 5150 hay 5050)  thì khi ai đó gửi tin nhắn đến cho bạn, lúc tin nhắn đến máy bạn nó sẽ dựa vào port để nhận biết đó là chương trình Yahoo ( port 5150) chứ ko pải là chương trình khác. Sau đó thông tin sẽ đc xử lý và hiễn thị tin nhắn lên.
– Một TCP/IP Socket gồm một địa chỉ IP kết hợp với một port ? Xác định duy nhất một tiến trình (process ) trên mạng.Hay nói cách khác Luồng thông tin trên mạng dựa vảo IP là để xác định máy một máy trên mạng còn port xác định 1 tiến trình trên 1 máy.
c.Ứng dụng Client – Server là gì
– Trước tới giờ, các bạn lập trình với mục đích là tạo ra được một ứng dụng. Nhưng ứng dụng đó chỉ hoạt động độc lập 1 mình riêng lẽ. Mục tiêu lập trình mạng sẽ đưa ra những ứng dụng dạng Client – Server. Tức là sẽ có 2 loại ứng dụng chính đó là Client và Server.
– Quy trình hoạt động của ứng dụng Server – Client như sau: Server có nhiệm vụ của là lắng nghe, chờ đợi kết nối từ Client trên địa chỉ IP của mình với PORT được quy định sẵn. Khi client gởi dữ liệu tới Server thì nó phải giải quyết một công việc là nhận dữ liệu đó -> xử lý -> trả kết quả lại cho Client.
– Client là ứng dụng được phục vụ, nó chỉ gởi truy vấn và chờ đợi kết quả từ Server

1.Cơ chế gọi hàm trong lập trình Socket

a.TCP

Lập trình Socket với TCP

Đọc tiếp…

Cơ bản về kỹ ngôn ngữ LINQ


Để giảm gánh nặng thao tác trên nhiều ngôn ngữ khác nhau và cải thiện năng suất lập trình, Microsoft đã phát triển giải pháp tích hợp dữ liệu cho .NET Framework có tên gọi là LINQ (Language Integrated Query), đây là thư viện mở rộng cho các ngôn ngữ lập trình C# và Visual Basic.NET (có thể mở rộng cho các ngôn ngữ khác) cung cấp khả năng truy vấn trực tiếp dữ liệu Object, CSDL và XML.

1. LINQ là gì …?

LINQ là một tập hợp các thành phần mở rộng cho phép viết các câu truy vấn dữ liệu ngay trong một ngôn ngữ lập trình, như C# hoặc VB.NET.

LINQ là từ viết tắt của “Language-Integrated Query”
Đọc tiếp…

Cơ bản về Regular Expression trong c#

Regular-Expressions

1. Giới thiệu:

RE là một ngôn ngữ cực mạnh dùng mô tả văn bản cũng như thao tác trên văn bản. Một RE thường được ứng dụng lên một chuỗi, nghĩa là lên một nhóm ký tự.

Chẳng hạn, ta có chuỗi sau:
          Mot, Hai, Ba, Bon, NEVERLAND.
Đọc tiếp…

Các hệ đếm thông dụng – Nguyên tắc chuyển đổi

Bài này sẽ trình bày 1 số khái niệm cơ bản về các hệ đếm được dùng phổ biến hiện nay như:

  • Hệ thập phân
  • Hệ nhị phân
  • Hệ thập lục phân

Cùng với phương pháp chuyển đổi qua lại giữa các hệ đếm.
1. Hệ thập phân
Hệ thập phân (hay hệ đếm cơ số 10) là một hệ đếm có 10 ký tự (0,1, 2, 3, 4, 5, 6, 7, 8, 9) dùng chỉ số lượng. Những con số này còn được dùng cùng với dấu phân cách thập phân – để định vị phần thập phân sau hàng đơn vị. Con số còn có thể được dẫn đầu bằng các ký hiệu “+” hay “-” để biểu đạt số dương và số âm.

 

Ví dụ về số thập phân: 512.85

Các chữ số của phần nguyên:

Các chữ số của phần lẻ:

2.  Hệ nhị phân

Hệ nhị phân (hay hệ đếm cơ số 2) là một hệ đếm dùng hai ký tự để biểu đạt một giá trị số, hai ký tự đó là 0 và 1; chúng thường được dùng để biểu đạt hai giá trị hiệu điện thế tương ứng (có hiệu điện thế, hoặc hiệu điện thế cao là 1 và không có, hoặc thấp là 0). Do có ưu điểm tính toán đơn giản, dễ dàng thực hiện về mặt vật lý, chẳng hạn như trên các mạch điện tử, hệ nhị phân trở thànhmột phần kiến tạo căn bản trong các máy tính đương thời.

Có 1 số nhị phân A như sau:

A=anan-1an-2…a1.a0a-1a-2…a-m

Dấu chấm màu đỏ là dấu phân cách hàng thập phân. Giá trị của A được tính như sau:

 

A=an2n + an-12n-1 + an-22n-2 +…+a121 + a02+ a-12-1+ a-22-2 +…+ a-m2-m

 

Ví dụ về số nhị phân: chuyển số 1110110.110101 sang số thập phân

1 1 1 0 1 1 0 . 1 1 0 1 0 1
6 5 4 3 2 1 0   -1 -2 -3 -4 -5 -6

 

1110110.110101=1×26 + 1×25 + 1×24 + 0x23 + 1×22 + 1×21 + 0x20 + 1×2-1 +1×2-2 + 0x2-3 +1×2-4 + 0x2-5 + 1x 2-6

= 64 + 32 + 16 + 0 + 4 + 2 + 0 + 0.5 + 0.25 + 0 + 0.0625 + 0 + 0.015625 = 118.828125

Vậy 1110110.110101 2 = 118.828125 10

Xem thêm về chuyển đổi số thập phân sang nhị phân và ngược lại.

Số nhị phân và bảng chữ cái

Các chữ cái đều có một mã số gọi là mã ASCII. Khi lưu trữ, máy tính sẽ chuyển mã ASCII của chữ cái này sang hệ nhị phân sau đó lưu trữ dãy nhị phân này. Dưới đây là bảng mã ASCII của một số kí tự in ra được

Mã nhị phân Mã thập phân Mã thập lục phân Hình ảnh
010 0000 32 20 Khoảng trắng (của spacebar)
010 0001 33 21 !
010 0010 34 22
010 0011 35 23 #
010 0100 36 24 $
010 0101 37 25 %
010 0110 38 26 &
010 0111 39 27
010 1000 40 28 (
010 1001 41 29 )
010 1010 42 2A *
010 1011 43 2B +
010 1100 44 2C ,
010 1101 45 2D
010 1110 46 2E .
010 1111 47 2F /
011 0000 48 30 0
011 0001 49 31 1
011 0010 50 32 2
011 0011 51 33 3
011 0100 52 34 4
011 0101 53 35 5
011 0110 54 36 6
011 0111 55 37 7
011 1000 56 38 8
011 1001 57 39 9
011 1010 58 3A :
011 1011 59 3B ;
011 1100 60 3C <
011 1101 61 3D =
011 1110 62 3E >
011 1111 63 3F ?
100 0000 64 40 @
100 0001 65 41 A
100 0010 66 42 B
100 0011 67 43 C
100 0100 68 44 D
100 0101 69 45 E
100 0110 70 46 F
100 0111 71 47 G
100 1000 72 48 H
100 1001 73 49 I
100 1010 74 4A J
100 1011 75 4B K
100 1100 76 4C L
100 1101 77 4D M
100 1110 78 4E N
100 1111 79 4F O
101 0000 80 50 P
101 0001 81 51 Q
101 0010 82 52 R
101 0011 83 53 S
101 0100 84 54 T
101 0101 85 55 U
101 0110 86 56 V
101 0111 87 57 W
101 1000 88 58 X
101 1001 89 59 Y
101 1010 90 5A Z
101 1011 91 5B [
101 1100 92 5C \
101 1101 93 5D ]
101 1110 94 5E ^
101 1111 95 5F _
110 0000 96 60 `
110 0001 97 61 a
110 0010 98 62 b
110 0011 99 63 c
110 0100 100 64 d
110 0101 101 65 e
110 0110 102 66 f
110 0111 103 67 g
110 1000 104 68 h
110 1001 105 69 i
110 1010 106 6A j
110 1011 107 6B k
110 1100 108 6C l
110 1101 109 6D m
110 1110 110 6E n
110 1111 111 6F o
111 0000 112 70 p
111 0001 113 71 q
111 0010 114 72 r
111 0011 115 73 s
111 0100 116 74 t
111 0101 117 75 u
111 0110 118 76 v
111 0111 119 77 w
111 1000 120 78 x
111 1001 121 79 y
111 1010 122 7A z
111 1011 123 7B {
111 1100 124 7C |
111 1101 125 7D }
111 1110 126 7E ~

3.  Hệ thập lục phân

Trong toán học và trong khoa học điện toán, hệ thập lục phân (hay hệ đếm cơ số 16, tiếng Anh:hexadecimal) là một hệ đếm có 16 ký tự, từ 0 đến 9 và A đến F (chữ hoa và chữ thường như nhau).

Ví dụ, số thập phân 79, với biểu thị nhị phân là 01001111, có thể được viết thành 4F trong hệ thập lục phân (4 = 0100, F = 1111).

Bảng liệt kê sau đây chỉ ra cho chúng ta từng ký tự số của hệ thập lục phân, cùng với giá trị tương ứng của nó trong hệ thập phân, và một dãy bốn ký tự số tươngđương trong hệ nhị phân.

Thập lục phân Thập phân Nhị phân
0 0 0000
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
A 10 1010
B 11 1011
C 12 1100
D 13 1101
E 14 1110
F 15 1111

Chuyển đổi số tứ thập lục phân sang nhị phân

Để biến đổi từ hệ thập lục phân sang số nhị phân tương đương, chúng ta chỉ đơn giản thay thế những dãy ký tự số tương đương trong hệ nhị phân. Ví dụ chuyển số 3A16 sang hệ nhị phân, tra bảng trên ta thấy số 316 = 01112 và A16 = 10102. Vậy 3A16 = 0011 10102. Tương tự: E716 = 1110 01112

 

Chuyển số từ nhị phân sang thập lục phân

Để biến đổi một số nhị phân sang hệ thập lục phân tương đương, chúng ta phảiphân nhóm các ký tự thành nhóm của bốn ký tự số (nhóm 4 con số). Nếu số lượng củacác con số không phải là bội số của 4 (4, 8, 16 …), thì chúng ta chỉ cần thêm các số 0 vào phía bên trái của con số, còn gọi là phép độn thêm số

Chẳng hạn:

10100102 = 0101 0010, tra bảng trên ta thấy 01012=516 và 00102=216, vậy 10100102=5216.

Tương tự, 110111012 = 1101 1101 = DD16

Chuyển số từ thập lục phân sang thập phân

Để biến đổi một số thập lục phân sang số thập phân tương đương, chúng ta nhân mỗi giá trị thập phân của từng con số trong số thập lục phân với số mũ của 16, rồi tìm tổng của các giá trị. Ví dụ: đổi số 9E4B sang hệ thập phân.

Đánh số thứ tự các kí tự từ phải sang trái, bắt đầu từ 0.

Số hex cần chuyển 9 E 4 B
Số thứ tự 3 2 1 0
Giá trị tương ứng hệ 10 9 14 4 11
9E4B16 = (9 × 163) + (14 × 162) + (4 × 161) + (11 × 160)

 

= 36864 + 3584 + 64 + 11 = 4052310

Khắc phục lỗi “Failed to connect to device 0” trong Netbeans

       Khi các bạn lập trình J2ME trên netbeans.Khi các bạn Run một project có thể bạn sẽ bắt gặp lỗi “Failed to connect to device 0” thông báo như hình dưới, lúc này thì trình Emulator của bạn không xuất hiện cho dù bạn nhấn Run bao nhiêu lần đi nữa. Mình cũng đã rất đau đầu với cái lỗi này và sau nhiều lần mày mò thì mình cũng tìm ra đc một số cách khắc phục.

Error message given by Netbeans and/or Eclipse

Lỗi này có thề do nhiều nguyên nhân khác nhau nhưng sau đây mình sẽ tổng hợp những nguyên nhân sau:

1. Có thể là do Firewall nó chặn Emulator( trình giả lập)=> Lúc run bạn phải tắt nó đi.

2. Có thề do trình Emulator của bạn bị lỗi bạn thử refresh nó lại bằng cách:

Trong netbeans: các bạn chọn vào Tool>Java Platforms trong hộp thoại Java platforms các bạn chọn vào trình emulator của bạn đang sử dụng cho project của mình và nhấn refresh.

Java Platforms Manager

3. Có thể là do chức năng Data Execution Prevention (DEP) của hệ điều hành, bạn thử Disable nó bằng các bước sau:

Bạn vào: Control Panel > System Security > System > Advanced system Settings > Advanced tab > Performance > Data Execution Prevention.

Data Execution Prevention (DEP) configuration

Bạn chọn nút Add để thêm ngoại lệ: bạn trỏ đến tập tin runMidlet.exe thường thì nó nằm ở trong tập tin cài đặt NB như máy mình là:

C:\Program Files\NetBeans 7.0.1\mobility\Java_ME_platform_SDK_3.0\runtimes\cldc-hi-javafx\bin

Xong bạn nhấn Ok nó sẽ yêu cầu bạn restart lại máy.

Hy vọng bài viết của mình sẽ giúp ích cho các bạn.!

Các tư thế ngồi máy tính giúp người dùng không mỏi

Các tư thế ngồi máy tính giúp người dùng không mỏi (more…)

WordPress – một số thủ thuật

Với những mẹo này, blog của bạn sẽ được bố trí hài hòa hơn, có thể tăng tốc độ đọc trang nhờ việc tạo đoạn giới thiệu hoặc ngắt trang, cũng như tạo liên kết đến vị trí định sẵn cho bài viết, tăng mức độ tương tác giữa người đọc và người quản trị.

1. Tạo phần giới thiệu tóm tắt (summary):

Việc tạo phần giới thiệu tóm tắt, giúp cho bạn không thể hiện toàn bộ bài viết. Người đọc nếu thích bài đó sẽ nhấn vào liên kết phía dưới để đọc tiếp. Điều này không những làm cho tốc độ đọc trang của bạn nhanh hơn, độ dài trang bớt dài lê thê, mà còn giúp bạn làm tăng page views đối với bài viết đó.

Nhưng mà, thủ thuật này đâu có gì xa lạ đâu. Ối giời! Chỉ cần thiết lập chế độ Summary ở mục For each article in a feed, show trong phần Settings, Reading. Sau đó, ở phần soạn nội dung bài viết (theo chế độ Visual), bạn chỉ cần đặt con trỏ tại vị trí cần ẩn nội dung phía dưới và chọn nút Insert More Tag (nút có hình trang giấy bị cắt đôi). Thế là xong! Người đọc chỉ cần đọc phần giới thiệu, nếu thích thì nhấn Read More hoặc Read the Rest of Entry…(tùy từng giao diện)
Xem tiếp