Thứ Bảy, 3 tháng 5, 2014

Tư duy lập trình hướng đối tượng

Nghành công nghiệp phần mềm đã chuyển sang một kỷ nguyên mới. Ngày nay, các phần mềm không được phát triển nhỏ lẻ mà thường là những hệ thống lớn, tập trung, phức tạp. Đó là sự kết hợp của nhiều thành phần dưới dạng thư viện, gói, dịch vụ,…được phát triển trên những nền tảng chuyên biệt, đảm nhận những chức năng và nhiệm vụ khác nhau. Do đó những mô hình lập trình cũ trở lên bất cập, thiếu linh động, phức tạp,…

Lập trình hướng đối tượng ra đời như một bước tiến hóa của tư duy thiết kế phần mềm. Mô hình đó cho phép chúng ta kết hợp tri thức bao quát về quá trình với những khái niệm trừu tượng được sử dụng trong máy tính. Phỏng theo một đối tượng trong thế giới thực, các đối tượng trong phần mềm được tạo xác định chính xác những đặc trưng, thành phần, hành vi, khả năng, mối quan hệ dữ liệu,…Chúng ta có thể tạo ra một hoặc nhiều đối tượng từ một khuôn hình cài đặt sẵn với dữ liệu mới, độc lập.

Ngôn ngữ lập trình hướng đối tượng không chỉ đơn thuần là ngữ pháp ngôn ngữ, trình biên dịch hay toàn bộ môi trường phát triển ứng dụng mà nó bao gồm rất nhiều những thư viện quan trọng trợ giúp việc thiết kế, sử dụng đối tượng tốt hơn. Lập trình hướng đối tượng có thể được hỗ trợ bởi bất cứ ngôn ngữ lập trình nào. Hiện nay hầu hết các ngôn ngữ thông dụng đều hỗ trợ lập trình hướng đối tượng.


Đặc điểm của lập trình hướng đối tượng:

+ Tập trung vào dữ liệu thay cho các hàm.
+ Chương trình được chia thành các đối tượng độc lập.
+ Cấu trúc dữ liệu được thiết kế sao cho đặc tả được các đối tượng.
+ Dữ liệu được che giấu, bao bọc.
+ Các đối tượng trao đổi với nhau thông qua các hàm.
+ Chương trình được thiết kế theo hướng tiếp cận từ dưới lên.

* Trừu tượng hóa dữ liệu

Khi bắt đầu phát triển phần mềm, lập trình viên sẽ không đi vào viết lệnh ngay lập tức. Công việc đầu tiên cần nghiên dự án, phân tích các đặc tả phần mềm, các thành phần cần có. Theo đó, lập trình viên sẽ phải xác định những thông tin, dữ liệu cần thiết cho từng thành phần. Như vậy, trừu tượng hóa dữ liệu là quá trình xác định, tập hợp những thuộc tính, hành xử cho một thực thể cụ thể liên quan trong ứng dụng. Trong quá trình đó, có thể có những chi tiết sẽ được cài đặt nhưng ngược lại sẽ có những chi tiết cần loại bỏ vì chúng không nằm trong yêu cầu.

Những ưu điểm của việc trừu tượng hóa dữ liệu bao gồm:
Tập trung vào vấn đề.
Xác định rõ những thành phần và chức năng cần thiết.
Loại trừ những chi tiết không cần thiết.

1. Đa hình

Đa hình là khả năng cho phép một hoạt động có những hành xử khác nhau trong cùng một đối tượng. Khái niệm này ám chỉ việc đối tượng có nhiều phương thức cùng tên nhưng lại thực hiện những nhiệm vụ khác nhau. Trình biên dịch và hệ thống thực thi sẽ so khớp mỗi lời gọi phương thức, đối tượng. Khả năng tìm kiếm đúng để sử dụng trong những tình huống phức tạp là bản chất của tính đa hình. Đa hình là một trong những đặc trưng quan trọng của hệ thống hướng đối tượng.

2. Kế thừa

Kế thừa là khả năng cho phép một lớp chia sẻ thuộc tính, hành xử được cài đặt trong nó. Nguyên lý kế thừa hỗ trợ việc tạo ra cấu trúc phân cấp các lớp. Nó được hiểu như một cơ chế sao chép ảo không đơn điệu và có chắt lọc. Một lớp có thể thừa kế từ một hay nhiều lớp khác. Theo đó lớp được thừa kế là lớp cha (Superclass) và lớp thừa kế là lớp con (Subclass).

3. Đóng gói dữ liệu

Đóng gói dữ liệu là quá trình che dấu những cài đặt cụ thể của một đối tượng với một đối tượng sử dụng khác. Dữ liệu được tổ chức có thể phơi bày với thế giới bên ngoài hoặc che giấu vào bên trong đối tượng. Những thuộc tính, hành xử được phơi bày có thể được truy cập, triệu gọi từ một đối tượng khác. Ngược lại, những thuộc tính, hành xử được che giấu chỉ đảm nhận hành xử hay lưu trữ dữ liệu cho chính đối tượng đó, chúng không có khả năng truy cập từ ngoài vào.

**Những ưu điểm của lập trình hướng đối tượng.

Loại bỏ được những dư thừa, trùng lặp trong việc xây dựng ứng dụng.
Cài đặt đối tượng giúp xúc tiến việc sử dụng lại, trao đổi giữa các đối tượng với nhau do đó sẽ giảm kích thước, thời gian xử lý,… thời gian phát triển hệ thống, tăng năng xuất lao động.
Dễ bảo trì, nâng cấp, giảm lỗi.

Lập trình hướng đối tượng .
1. Class : Các chức năng, thành phần của một thực thể được định nghĩa một cách chung nhất trong một mẫu cụ thể được gọi là class

2. Object: Là một đối tượng cụ thể của class.

3. Attribute : là những thành phần được định nghĩa trong một class.

4. Operation: Giống như một dịch vụ được triệu gọi bởi một đối tượng (Object).

5. Method: còn gọi là phương thức định nghĩa cụ thể một operation.

6. Message: Là những đòi hỏi , những thông tin cần có cho một operation.

7. Event: Là những kích hoạt để thực thi một hay nhiều operation.

** So sánh class và Object : Object là một cài đặt cụ thể của một class. Class giống như một khuôn để sản sinh ra các object khác nhau. Có thể có nhiều Object có những thuộc tính khác nhau được sinh ra từ một class.

8. Construction : Là triệu gọi đầu tiên khi một object được tạo. Constructor là một method đặc biệt được gọi đầu tiên trước khi một method hay attribute có thể được sử dụng trong một object của một class. Contructor có thể khởi khán những attribute, cấp phát bộ nhớ nếu cần thiết.

9. Destruction: Là phương thức đặt biệt được gọi để hủy, giết một object. Destruction sẽ xóa object, giải phóng bộ nhớ mà constructor cấp phát. Theo đó mọi khả năng sử dụng truy cập tới object này sẽ không còn.
Nguồn: sưu tầm + tổng hợp.

Thứ Sáu, 2 tháng 5, 2014

Hướng dẫn cài đặt Python IDE as Vim

Mở Termion và nhập lệnh sau
Debian Linux:   apt-get install vim
Fedora Linux:   yum install vim-X11 vim-common vim-enhanced vim-minimal
Red Hat Linux:   up2date -i vim-X11 vim-common vim-enhanced vim-minimal
=> Cài đặt
Sau khi cài đặt thành công vào tìm kiếm phần mềm gõ GVim
Đây là giao diên của IDE Vim

Phong cách lập trình


Chào! hôm nay mình xin nói - chia sẽ chút ít về Phong cách lập trình. 1 lớp học mình vừa được học sáng nay with Trung Hiếu Trần. nói thêm 1 tý để tạo sự hứng thú cho các bạn đọc. bạn có bao giờ đi phòng vẫn, ngay vòng loại. người ta quăng cho bạn 10 bài. bạn hoàn thành 10 bài và bạn bị fali ? trong khi đó cùng 10 bài đó, người khác chỉ hoàn thành 2 bài nhưng passed! 


1. Định danh

Định danh. thường thì đa số ác editor đều "Hướng đối tượng". Mà "Đối tượng" thì gồm có các 
Thuộc tính(Properties) và các Phương thức(Method).
 Vậy tên các thuộc tính các bạn thường đặt là gì?. 
Ví dụ đối tuọng SinhVien, có thuộc tính gì? mình không liệt kê, các bạn tự liệt kê nhé ^^.qua đó, bạn thấy được gì về tên của chúng?==> đa số các thuộc tính đều được đặt tên bằng "Danh từ".
Thứ 2 về phương thức. lại đối tượng SinhVien. bạn nghĩ nó có phương thức gì ? working working @@! ==> điểm chung tên của các phương thức đều là "Động từ".
Chốt:
+Name of Properties is Noun
+Name of Method is Verb


2. Tên

 Cách đặt tên(Phong cách đặt tên): lấy ví dụ thực tế từ 2 ngôn ngữ lập trình C# and PHP (mã nguồn mở).trong C# , bạn thường đặt tên cho 1 Phương thức như thế nào ? có phải nó sẽ sát với ý nghĩa của nó nhất (đều nảy là ai cũng phải biết). 
Ví dị 1 phương thức tính tổng (Phương thức ==Hàm or Method == Function).
public void tinhTongHaiSo(int pA, int pB) ##1
{
//Code here
}
hay

public void Tinh_Tong_Hai_So(int pA, int pB) ##2
{
//Code here
}

hoặc
public void tinh_tong_hai_so(int pA, int pB) ##3
{
//Code here
}
=> Bạn thấy gì? và bạn hay sài cách nào nhất?

##1 và ##3 là đúng (đúng phong cách), riêng ##2 sài phong cách lập trình.

Về ##1, hay còn gọi là "Camle code - Lạc đà code (??)". mình không nhớ lắm. nói chung là chữ đầu tiền của từ được viết hoa để phân biệt với các chữ khác (hay được đặt tên trong C#)
về ##3. cách này mình quên tên rồi. mà cụ thể nhất là chúng ta hay thấy nó trong PHP.
==> Bạn thấy chứ, rõ ràng nó có 2 cách khác nhau. bạn thường sài cách nào? sài cách nào cũng được. nhưng nhớ rõ 1 điều. là nên thống nhất hóa ngay từ đâu. chứ đừng đầu code vậy "public void TinhTong()" mà đuôi lại vậy "public void binh_phuong_hai_so()". nếu đó là thói quen, bỏ ngay đi và tập cho mình 1 cách thôi. bởi vì bạn sẽ chẳng bao giờ biết được ."tại sao tôi code đúng hết, mà tôi bị loại ngay từ vòng 1" vì đơn giản là bạn sống trong 1 môi trường, thì bạn phải thích nghi với nó, chú không phải "nó thích nghi với bạn!".

3. Space (Khoảng trắng). 


Trích "cái này là cái các bạn hay sai nhiều nhất" từ cô dạy mình bên KHTN. ký tự " " thì ai cũng biết. và thường thì nếu các bạn lập trình bằng c# thì nó sẽ auto format cho bạn đẹp. và bạn cũng không bận tâm nhiều. nhưng nếu 1 ngày bạn bước qua Java, PHP, etc... nó không tự canh chỉnh. thì chính các bạn phải tự làm thôi. vậy canh chỉnh như thế nào là chuẩn, như thế nào là sai (sai ở đây là sai phong cách lập trình nhé).mình lấy ví dụ:

+ Thứ 1 : về toán tử (toán tử là gì ? toán tử gồm những loại nào ? => nếu quên thì search google nhé!)
##1:
int i=1;
if(i<=n)
{
//code here.
}
==> Code này hoàn toàn đúng, không hề lỗi syntax. nhưng bạn có phát hiện ra gì không ? nhìn ví dụ thứ 2 nhé:
##2:
int i = 1;
if(i <= n)
{
//Code here
}

=> Bạn thấy gì khác biệt chưa , nếu chưa cuộn lên phần #3 xem nội dung này đang nói về gì nhé.
"Trước và sau toán tử đều có Khoảng trắng".
+ Thứ 2: dấu "," và ";" và Key-word. lấy 2 ví dụ:
##1:
for(int i = 0 ; i<n;i++)
{
//code here
}

##2
for ( int i = 0; i < n; i++)
{
//code here
}

=> Riêng dấu "," , và ";" : Trước nó không có khoảng trăng, nhưng sau nó thì bắt buộc có. Key-word (For, While, If) thường thì nên cách nó ra với các Parameter 1 tý, để dể phân biệt dể đọc (Nên nhé). trường hơp quá nhiều Parameter (Tham số) thì sẽ khá rối nếu không cách ra.

4. Canh lề: (Indentain (??)).
- Có bao giờ bạn code 1 lèo từ trên xuống, không thuộc vào thuộc ra gì hết chưa ? có, khi bạn học môn C++ (nhập môn). bạn chắc sẽ dính 1 vài lần ^^. vậy bạn đã khắc phục vấn đề đó chưa. tuy nó không lớn. và thuộc vào sai quy ước 1 tý cũng chả chết ai , code vẫn chạy ầm? đúng không. về code thì chẳng sai. nhưng về phong cách. thì bạn bị loại rồi đấy. lấy ví dụ đơn giản:
##1:
if ( 1 + 1 == 3)
{
return false;
}

##2:
if ( 1 + 1 == 3)
{
return false;
}

=> Đang nói về canh lề nhé ^^. "Tập canh lề cho chính bản thân, cũng là tập hoàn thiện trình độ của bạn".

5. Code lãng phí.
- Thế nào gọi là lãng phí ? và làm thế nào cho nó bớt phí ?
##1:
if ( a > b)
{
return true;
}
else
{
return false;
}

##2:
return a > b;

=> Bạn thấy gì? "Hãy tiếc kiệm code , như tiếc kiệm giấy lúc bạn viết bài, không gì là dư thừa cả !" (code ngắn lại là 1 chuyện, nhưng đừng "Code ngắn - nhưng tốn tài nguyên nhé bạn!").

6. Comment


- 1 project lớn thường không phải 1 đơn vị làm. và bạn chỉ là 1 phần tử trong đơn vị đó (quá bé phải không @@!). nên, code chạy ổn - ok là 1 chuyện. code làm sao mà người quản lý cấp cao (team-leader). vậy viết thế nào để người cấp trên hiểu, cũng như lúc bạn phải chuyển qua project khác, thi người đến sau sẽ biết bạn đang viết gì (chuyện này là thường xuyên nhé). chỉ có 1 cách là comment lại. ví dụ trong C#. bạn nhấn /// thì nó sẽ ra dạng ///<summary> abc xyz <summary>. và cách comment tốt nhất là:
+ Nó làm gì
+ Ai viết
+ Thời gian nào
và nên comment ở đâu, và đặc biệt không lạm dụng nó quá đáng.ví dụ.

##1
while (i < n)//loop while i less than n
{
i++;//next i
}

##2
while (i < n)//scan all element
{
i++;//finish this element, next elemment
}

=> Chú thích đúng nghĩa, chứ đừng chú thích nhưng gì người ta nhìn vào đã thấy. (ai chả biết lặp lại trong khi i còn bé hơn n, rồi nhảy i lên 1 đơn vị (comment thừa)).
và nên đặt 1 comment ở đầu class (?) hoặc đầu các method quá dài.

Bài viết mình chỉ viết đến đây. chắc chắn sẽ thiếu. mong các bạn góp ý.
Post by : Chuột

Lập trình huớng đối tuợng


Thứ Năm, 1 tháng 5, 2014

5 Cách để học lập trình nhanh hơn – 5 Ways yo

 5 Cách để học lập trình nhanh hơn – 5 Ways yo 

Bạn muốn học lập trình một cách tốt nhất. Không biết phải bắt đầu từ đâu? 
Phải học lập trình như thế nào?

Học lập trình không phải là chuyện mà ta có thể làm trong một sớm, một chiều, nhưng nó không phải là quá khó khăn. Có rất nhiều điều bạn có thể làm cho nó dễ dàng hơn khi bạn học lập trình. Bài viết sau đây được tham khảo từ trang web cprogramming.com sẽ có thể giúp ích cho chúng ta khám phá được những bí quyết để học lập trình tốt hơn và nhanh hơn.

Một trong những chủ đề được nói đến rất nhiều về mẹo học lập trình là:
Không đi quá nhanh, hãy nắm đúng nó trước khi nó di chuyển (Don’t go too fast, get it right before move on)
Chúng ta thường thắc mắc tại sao trong lớp học của mình, có một số bạn của chúng ta biết trước về một số ngôn ngữ lập trình. Trong những tuần đầu tiên học thường nắm bắt kiến thức rất nhanh, nhưng càng về sau họ lại bị bỏ ở đằng sau bởi những sinh viên khác. Tại sao họ lại bị bỏ xa trong khi nền tảng của họ tốt hơn???
Đó chính là việc họ đã đi quá nhanh, và lối mòn của họ là tưởng rằng mình biết tất cả nhưng thực sự họ hiếm khi thực hiện công việc lập trình. Có thể họ biết một số cái nâng cao hơn so với những sinh viên
khác, nhưng bấy nhiêu đó là không đủ để nắm vững các nguyên tắc cơ bản. Cũng giống như khi chúng ta làm bài kiểm tra môn toán thường có 8 điểm là có một người có học lực khá có thể đạt được, nhưng có một số sinh viên làm được bài 2 điểm khó kia và có một số bài tập cơ bản vẫn chưa hoàn thành, nên kết quả không bằng một sinh viên nắm vững các kiến thức cơ bản có thể làm được.
Do đó, trước tiên chúng ta cần tạo cho mình một nền tản (Foundation) tốt bằng cách thường xuyên luyện tập thực hành cái bài tập lập trình. Trong quá trình luyện tập như vậy bạn sẽ thấy được những vấn đề cơ bản mà các lập trình viên thường mắc phải. Và tạo cho mình một thoái quen tốt để giải quyết vấn đề.
Đồng thời bạn đừng bao giờ ngừng tiến trình luyện tập của mình, cũng không nên đi quá nhanh hay quá chậm. Đừng tránh một chủ đề nào sau khi bạn đã nắm vững tất cả những gì dẫn đến nó. Bằng cách đối mặc với nhiều ý tưởng và thách thức, bạn sẽ có một chất men giúp bạn nhanh chóng nắm bắt được những vấn đề cơ bản. Sau đây là 5 cách để bạn định hướng được việc học lập trình nhanh hơn.
1. Xem các code ví dụ (Look at the Example Code):
- Khi đọc sách chúng ta thường đọc các từ trên trang sách đó, nhưng học lập trình thì đó là code. Khi bạn mới bắt đầu học lập trình, bạn nên xem xét kỹ lưỡng và cố gắng hiểu từng ví dụ. Trước khi đọc các lời giải thích về chương trình trong sách, bạn nên cố gắng đọc và hiểu các đoạn code mà
tác giả đã viết dùng để làm gì. Tuy các ví dụ đó không phải khi nào đánh vào máy cũng chạy, nhưng nó tập cho chúng ta một thoái quen xem code cẩn thận và góp phần giúp chúng ta viết code rõ ràng hơn.
- Chúng ta phải viết code làm sao để cho các lập trình viên khác có thể đọc và hiểu nó, và để khi chính mình nhìn lại cũng nắm được. Do đó cần phải tuân thủ những nguyên tắc, và cú pháp khi viết code để đảm bảo kiểm tra lỗi đơn giản hơn, các phần hướng dẫn viết code theo một mẫu chuẩn thường được viết ở đầu các cuốn sách lập trình, nhưng ít người học lập trình để ý đến vấn đề này.
2. Đừng chỉ đọc các code ví dụ - hãy chạy thử nó (Don’t just Read exam code – Run It)

- Khi bạn đọc một chương trình hướng dẫn (hay một cuốn sách), bạn thường xem các code ví dụ của nó và nói “Tôi đã nắm được nó, tôi đã hiểu được nó….”. Tất nhiên là bạn có thể nắm được nó, nhưng bạn thực sự chưa hiểu được nó hoạt động như thế nào, cho kết quả ra sao.
Do đó trước khi đọc một cuốn sách về lập trình, bạn nên cài trình biên dịch của ngôn ngữ mà bạn đang học vào máy (ví dụ học C++ thì bạn cài Dev C++ hay visual c++). Để sẵn sàng chạy thử tất cả các ví dụ trong cuốn sách hay chương trình mà bạn đang đọc.
- Tôi nói chạy thử ở đây không phải là copy rồi paste vào rồi nhấn F5. Tôi khuyên bạn nên tự mình đánh những đoạn code đó vào chương trình biên dịch, vì khi đó bạn thực sự buộc mình phải đi qua tất cả các mã,việc gõ mã lệnh sẽ giúp bạn chú ý đến các chi tiết cú pháp của ngôn ngữ – những sự thiếu soát buồn cười như thiếu đấu chấm phẩy ở cuối mỗi câu lệnh có thể làm bạn hết sức đâu đầu.
- Sau khi gõ mã lệnh vào chương trình, hãy chạy thử nó. Rồi viết thêm một số câu lệnh mới vào chương trình của mình xem nó có hoạt động xem. Điều đó sẽ giúp bạn hiểu nhanh hơn mỗi câu lệnh có ý nghĩa như thế nào.
3. Hãy viết mã riêng của bạn càng sớm càng tốt (Write your own code as soon as possible).

- Khi bắt đầu viết một chương trình bạn không biết phải bắt đầu từ đâu, sử dụng cấu trúc dữ liệu gì? Việc phân bổ viết code như thế nào? Xử lý các phương thức ra sao?… Điều đầu tiên là bạn sử dụng các công cụ tìm kiếm ở google hoặc các công cụ tìm kiếm khác để tìm kiếm đoạn mã mình cần. Đây là một điều có thể làm cho tư duy lập trình của bạn ngày càng giảm đi và ngày càng bị lệ thuộc vào các công cụ tìm kiếm.
- Giải pháp được đưa ra trong trường hợp này là bạn hãy tự nghĩ cho mình một thuật toán riêng. Đầu tiên bạn viết nó bằng mã giả, sau đó dùng ngôn ngữ lập trình để viết lại. Tuy việc này rất khó và tốn nhiều thời gian, nhưng nó sẽ giúp bạn có được những kinh nghiệm thực sự hữu ích, khả năng tư duy lập trình ngày càng phát triển. Thay vì lên mạng tìm code về sửa.
- Trường hợp ý tưởng chương trình của bạn lớn, phải viết một lượng lớn code. Khi đó bạn hãy phân nhỏ từng tính năng chương trình của mình ra, tự tập thiết kế cấu trúc của chương trình nhỏ đó, rồi ghép chúng lại với nhau sẽ được một chương trình lớn hoàn chỉnh hơn. Có thể chương trình đó không hoạt động tốt, nhưng cái mà bạn được ở đây chính là kinh nghiệm và một tư duy tự lập trong lập trình.
4. Tìm hiểu cách sử dụng một công cụ Debug (Learn to use a Debugger)
– Debug là một công cụ rất tốt dùng để gỡ rối chương trình của bạn khi có một lỗi nào đó là chương trình bạn chạy sai. Nó cho bạn theo dõi giá trị của các biến và các thay đổi của chúng qua từng mã lệnh của chương trình. Công cụ debug mạnh nhất có lẽ được tích hợp trong các sản phẩm của Microsoft như Visual Studio (Hiện nay là visual studio 2010). Công cụ debug giúp chúng ta hiểu chương trình của mình hơn, và là thứ chúng ta cần phải biết khi viết chương trình.
- Một chương trình debug có thể giúp bạn nhanh chóng trả lời những gì mà bạn đang làm như ví dụ bên dưới.
Code:
  1.  int main()  
  2. {  
  3.  int x;
  4.  int y;
  5.  if(x>4) //<— Giá trị của X ở đây là bao nhiêu?  
  6.  {  
  7.   y=5 ; //<— Dòng code này thực thi như thế nào?  
  8.  }  
  9. }  
- Và lời khuyên cuối cùng về debug là: khi bạn lần đầu tìm hiểu về debuger, có thể nó sẽ làm bạn mất khá nhiều thời gian khi bạn sửa lỗi chương trình của mình. Nhưng khi bạn nắm được các kiến thức về debug nó sẽ đem lại cho bạn một lợi ích lớn trong việc tiết kiệm thời gian khi sửa lỗi chương trình. Tôi tin rằng mỗi bạn đều có thể tìm ra cho mình một cách debug chương trình hiệu quả, bởi nó sẽ theo suốt sự nghiệp lập trình của bạn.
- Tôi thường thấy các sinh viên khác không muốn sử dụng công cụ debug (có thể là không biết giống như tôi lúc trước). Những sinh viên đã tự làm khó mình trong việc tìm kiếm lỗi sai trong chương trình. Do đó khi bạn đã xác định theo con đường lập trình, hãy học cách sử dụng một công cụ debug, nó sẽ mang lại cho bạn nhiều lợi ích thiết thực hơn bạn nghĩ.
5. Tìm kiếm thêm những nguồn tài tài liệu khác (Seek our more sources)

- Khi bạn không hiểu một điều gì đó, internet là một nơi với lượng thông tin khổng lồ mà bạn tìm đến. Thế nhưng có những bài viết về đề tài mà bạn muốn tìm thì lại được tác giả viết sơ sài, hoặc có thể sai. Do đó bạn phải hết sức thận trọng khi sử dụng các thông tin từ internet vào chương trình của mình.
- Ngoài ra việc tìm kiếm một cuốn sách với những giải thích chi tiết sẽ giúp bạn nhanh chóng nắm được vấn đề hơn.
- Bạn cũng có thể tham gia vào các diễn đàn về lập trình (ví dụ lập trình c, c++, c# thì có diễn đàn http://congdongcviet.com/), khi không hiểu một vấn đề gì đó bạn có thể post bài để các thành viên trong diễn đàn giúp đỡ cho bạn. Nếu có khả năng về tiến anh thì bạn lên các diễn đàn nước ngoài sẽ có nhiều thành viên xuất sắc ở đó tìm kiếm thông tin và trả lời giúp(http://codeproject.com/ , http://cprogramming.com/ , http://cplusplus.com/ …). Lưu ý khi hỏi trên các diễn đàn bạn phải đặt câu hỏi ngắn gọn, tập trung vào mô tả nội dung vấn đề mà bạn đang gặp vướng mắc thì bạn sẽ nhận được câu trả lời tốt hơn.
- Việc trước mỗi buổi học nên chuẩn bị một danh sách các câu hỏi về những vướng mắc mà bạn gặp phải vào một cuốn sổ tay nhỏ để lên hỏi giáo viên hoặc bạn bè là một việc rất có ích, nó sẽ giúp bạn tiếp thu hơn, và nó cho thấy rằng bạn là một con người cầu tiến, ham học hỏi.
- Cuối cùng là việc hết sức quan trọng, Học Nhóm. Học nhóm sẽ giúp bạn tiến bộ nhanh hơn, tăng cường khả năng giao tiếp với bạn bè và đồng nghiệp sau này. Khi làm việc nhóm bạn sẽ viết ra được những chương trình lớn hơn và có sức thuyết phục người dùng hơn. Tôi khuyên bạn đừng bao giờ ôm hết công việc về mình.
Mong rằng bài viết này có thể giúp chúng ta nắm được những nguyên tắc cơ bản của môt người mới bắt đầu đi vào thế giới lập trình.
(Theo cprogramming.com)

Cài đặt gõ tiếng việt có dấu trên fedora

Đối với hệ điều hành Fedora đã có hỗ trợ gõ tiếng việt có dấu sẵn.
=> Cài đặt gõ tiếng việt có dấu





Xong gõ tiếng việt 



=> Kết nối Wifi


Bài tiếp mình sẽ huớng dẫn cài đặt 1 số phần mềm cơ bản trên Fedora - Linux

Hệ điều hành Fedora - Linux

Hôm nay StudyCoding sẽ hướng dẫn cài đặt hệ điều hành Fedora
Fedora là hệ điều hành mã nguồn mỡ. Đuợc phát triển dựa trên nhân Lunix.
Với giao diện thân thiện


Hướng dẫn cài đặt:
1. Chuẩn bị
+ Laptop
+ USB/DVD đủ để bun file
2. Download file cài đặt
Link down:
32 bit:
HTML Code:
http://download.fedoraproject.org/pub/fedora/linux/releases/20/Live/i386/Fedora-Live-Desktop-i686-20-1.iso
64 bit:
HTML Code:
http://download.fedoraproject.org/pub/fedora/linux/releases/20/Live/x86_64/Fedora-Live-Desktop-x86_64-20-1.iso
Link down LiveUSB creator:
HTML Code:
https://fedorahosted.org/releases/l/i/liveusb-creator/liveusb-creator-3.12.0-setup.exe
3. Cài đặt
3.1 Sử dụng LiveUSB để bun file vừa down vào USB/DVD


3.2 Sau đó Reset máy để Cài đặt
+ Nạp USB/DVD để cài đặt hệ điều hành -> "Install to Hard Drive"

+ Chọn ngôn ngữ cài đặt

+ Chọn date và ngày giờ




+ Tiếp theo chọn INSTALLATION DESTINATION

+ Chọn phần cứng để cài đặt

+Chọn Custom partitioning


+ Phân vùng ổ đĩa cần cài Fedora là etx 4


+ Chọn Begin unstallation

+ Nhập pass root để sử dụng trong quá trình cài đặt trong Fedora

+ Tạo user và pass để đăng nhập vào Fedora

+ Đợi quá trình đặt xong

=> Sử dụng Fedora

Bài tiếp mình sẽ huớng dẫn cài đặt 1 số phần mềm cơ bản trên Fedora - Linux