Home » Archives for 2013
Người đăng:
culaoxanh88 on Thứ Bảy, 14 tháng 12, 2013
Hướng dẫn cài đặt và viết code với Code::Blocks và MINGW (Dùng để lập trình C/C++)
Bước 1: Tải bộ cài đặt Code::Blocks (95MB)CLICK ĐỂ DOWNLOAD, chờ 5s nhấn SKIP ADS để tải bộ cài đặt Code::Blocks cho Windows XP/7/8.
Bước 2: Cài đặt Code::Blocks- Click đúp vào file vừa tải về để bắt đầu quá trình cài đặt- Click next liên tiếp, màn hình thông báo cài đặt mặc định vào C:\Program Files\CodeBlocks- Chọn cài FULL để có đầy đủ các tính năng- Mở chương trình lên sau khi cài đặt xong. Bước 3: Khởi động Code::Blocks- Có 1 cửa sổ hiển thị lên yêu cầu bạn chọn Trình biên dịch mặc định của Code::Blocks
- Để tạo 1 project mới bạn làm như sau: Vào menu File -> New -> Project..
- Chọn Console Application và nhấn nút Go để bắt đầu.- Chọn next liên tiếp tới khi bạn gặp cửa sổ yêu cầu chọn ngôn ngữ C/C++
- Sau khi nhấn Next, Code::Blocks sẽ yêu cầu bạn điền các thông tin của Project.- Click Next lần nữa để lựa chọn trình biên dịch cho Project vừa tạo.
- Bạn có thể không cần làm gì ở bước này. Mặc định, Code::Blocks sẽ chọn trình biên dịch mặc định mà bạn đã thiết lập lúc cài đặt ban đầu.- Mở file main.cpp ở cửa sổ bên trái để vào giao diện viết code cho chương trình.
- Ở cửa sổ bên phải, bạn có thể viết 1 ví dụ đơn giản in ra màn hình câu: "Hello world !", Sau đó nhấn F9 để chạy và xem kết quả.Tag: Code::Blocks, Cài đặt, Mingw
More about →
Người đăng:
culaoxanh88 on Thứ Bảy, 30 tháng 11, 2013
1. HTML5 / CSS
Chắc hẳn các bạn lập trình web đều biết HTML không thể thiếu khi viết web. Nó là một ngôn ngữ cơ bản đơn giản để thể hiện một trang web. Để thể hiện được 1 trang web đẹp thì html thường được kết hợp với CSS để định dạng căn chỉnh, màu sắc. Ngoài ra còn kết hợp cả Javascript để thể hiện các hiệu ứng hoặc xử lý các event cơ bản trên trình duyệt client. Có thể nói html là ngôn ngữ cơ bản là trái tim của web, thậm chí được sử dụng trên cả các thiết bị di động và các hệ thống thiết kế cao cấp ví dụ như các máy tính bảng hay các dịch vụ SaaS cho phép người quản trị thông qua giao diện web.
Gần đây html có sự phát triển lớn hơn nữa đó là sự ra đời HTML5 và hiện nay hầu hết các trình duyệt mới nhất đều đã hỗ trợ HTML5. Cùng với đó là các tùy chọn thiết kế có sẵn của CSS3 và tính tương tác của JavaScript đã đẩy các trang web linh hoạt hơn, hầu như không còn nhận ra sự khác nhau giữa ứng dụng dựa trên Web và các ứng dụng chương trình.
2. iOS Development
Không phải quá ngạc nhiên khi nhắc đến các lập trình viên iOS, vì hầu hết các nguồn đáp ứng được công việc có liên quan đến XCode và Objective-C đều được đánh giá và tuyển dụng rất cao. Chính vì Apple bán cả di động và máy tính bảng nên yêu cầu các lập trình viên có thể viết các app trên cả 2 dòng thiết bị là khá nhiều.
Trào lưu phát triển app cho Iphone và Ipad cách đây vài năm nhưng mạnh mẽ nhất là khoảng 2 năm trở lại đây. Chính vì thế nếu bạn đang có ý định phát triển app cho Iphone, Ipad và Ipod Tough thì đây chính là lúc bạn nên thử làm việc với nó.
3. PHP / MySQL
Có lẽ không hấp dẫn bằng việc lập trình phát triển cho các thiết bị di động hay các công nghệ web mới hơn nhưng PHP vẫn quan trọng. Một ngôn ngữ lập trình mã nguồn mở đang được sử dụng bởi hơn 20 triệu website, và các website lớn đang sử dụng hiện nay có thể kể đến 2 đại diện như Facebook và Wikipedia. Bất kì blog, site tin tức nào được xây dựng trên WordPress hay Drupal cũng là mã nguồn được viết trên PHP. Có thể nói lập trình viên php đang là những người đang được tuyển dụng nhiều nhất theo đánh giá trên Elance. Kết hợp với MySQL thì WordPress đang được đứng hạng nhất trong số lượng các website được sử dụng.
4. Java / J2EE
Việc phát triển dựa trên nền tảng Java và J2EE đang ngày càng được trọng dụng và các lập trình viên càng ngày càng được tuyển dụng cao trên nền tảng này trong năm 2013
Không giống các công nghệ kỹ thuật mới như phát triển hệ điều hành như Android và HTML5 thì nhu cầu kỹ năng lập trình Java luôn cần thiết và nó đang dần được trọng dụng trong vài năm gần đây
5. JavaScript
Đối với web, JavaScript làm cho tính tương tác cao hơn đặc biệt hiện nay sự phát triển của các máy tính bảng và điện thoại di động đã loại bỏ Flash ra khỏi hệ điều hành. Bên cạnh đó là các thư viện JQuery hoặc định dạng dữ liệu chuẩn JSON phát triển khiến các công ty cần các lập trình viên giỏi JavaScript hơn bao giờ hết.
Nếu bạn đang tìm kiếm để học lập trình Web, JavaScript chính là cái bạn cần học. Nếu bạn muốn bắt đầu Javascript thì bạn có thể tìm hiểu qua jQuery.
6. IT Project Management
Một trong những công việc liên quan đến đằng sau những kỹ năng công nghệ không phải tất cả phải là kỹ thuật. Việc góp nhặt code, bảo trì, thiết kế phần mềm tất cả đều quan trọng. Nhưng sẽ vô ích nếu không có ai là người theo dõi và giám sát trong suốt quá trình hoàn thành dự án. Đó là lý do tại sao quản lý dự án được chứng nhận có thể tạo ra thêm lợi nhuận và lý do tại sao 40% các nhà quản trị CNTT đang tìm kiếm để thuê quản lý dự án trong năm 2013.
7. All Things “Cloud”
Điện toán đám mây đang ngày càng phát triển mạnh, và việc tìm kiếm nhân lực về điện toán đám mây cần thiết ở bất cứ vị trí nào. Các công ty luôn tìm kiếm lập trình viên chuyên viên có thể ảo hóa hoặc phát triển các hệ thống Software-as-a-Service (SaaS), nó gần giống với Platform-as-a-Service (PaaS) Theo các khảo sát thì có khoảng 25% các công ty có kế hoạch tuyển dụng những người am hiểu SaaS và các dịch vụ liên quan đến “đám mây” trong năm 2013. Hay nói tóm lại là SaaS và các thuật ngữ sẽ càng ngày càng xuất hiện nhiều trên các website tuyển dụng việc làm.
Và tất nhiên, SaaS và PaaS có thể sử dụng bất kỳ ngôn ngữ lập trình và các công nghệ cụ thể nào đó đáp ứng được chứ không nhất thiết phải là các ngôn ngữ hay công cụ nào trong bài viết này.
More about →
Người đăng:
culaoxanh88 on Thứ Sáu, 15 tháng 11, 2013
Quy ước đặt tên và tiêu chuẩn
1. Quy tắc Pascal: Viết hoa chữ cái đầu tiên của mỗi từ (VD: Student, StudentDetail, ...)* Sử dụng cho: Phương thức (method), Giao tiếp (Interface), Tập hợp (Enum), Sự kiện (Events), Ngoại lệ (Exception), Không gian tên (NameSpace), Thuộc tính (Property)2. Quy tắc Camel: Viết thường từ đầu tiên và viết hoa chữ cái đầu tiên của từ kế tiếp (VD: student, studentDetail,...)* Sử dụng cho: Tầm vực biến (Protected/Private), các Tham số (Parameter)
Sử dụng quy tắc Pascal cho phương thức:public class HelloWorld{ ... } Sử dụng quy tắc Pascal cho phương thức:public class HelloWorld{ void SayHello(string name){ ... }}Sử dụng quy tắc Camel cho biến và tham số của phương thức public class HelloWorld{ int totalCount = 0; void SayHello(string name){ string fullMessage = "Hello " + name; ... }}- Không nên sử dụng các tiền tố kèm dấu như: M_ để đặt tên biến, ví dụ như string m_sName; int nAge;Mặc dù khai báo như vậy hợp lệ, nhưng chuẩn viết code .NET không khuyến cáo sử dụng. Tất cả biến nên dùng quy tắc Camel, sử dụng các từ có nghĩa, mô tả được tên biến
- Không dùng chữ viết tắt, tên, từ địa phương,... mà hãy dùng từ rõ nghĩa như: name, address, phone,...- Không đặt tên biến một ký tự như: i, x, n,... mà hãy đặt tên biến như index, temp. Ngoại trừ trường hợp sử dụng trong vòng lặp như sau: for ( int i = 0; i < count; i++ ){ ...}Nếu biến chỉ được sử dụng để đếm và không sử dụng ở bất kì nơi nào ngoài vòng lặp, nhiều người thích dùng (i) để đặt tên cho biến.
- Không dùng dấu gạch dưới (_) trong tên biếnTên NameSpace nên theo chuẩn như sau<company name="">.<product name="">.<top level="" module="">.<bottom level="" module=""></bottom></top></product></company>
- Tên file nên đặt trùng với tên lớp. Ví dụ: với lớp HelloWorld thì tên file nên là HelloWorld.cs (or HelloWorld.vb)- Thụt lề: Nên dùng TAB thay về space (phím cách)- Ghi chú (comment) nên cùng cấp với đoạn mã muốn comment. Cặp dấu ngoặc nhọn ({}) cũng nên cùng cấp với đoạn mã.Cách ra một dòng để tăng tính rõ ràng của mãbool SayHello (string name){ string fullMessage = "Hello " + name; DateTime currentTime = DateTime.Now; string message = fullMessage + ", the time is : " + currentTime.ToShortTimeString(); MessageBox.Show ( message ); if ( ... ) { // Do something // ... return false; } return true; }- Với if, if-else, for, while, do-while dù chỉ có một hay nhiều dòng lệnh, cũng nên cho vào trong cặp dấu ngoặc nhọn ({}) if ( ... ) { // Do something}Nguyên tắc viết code:
Để tránh trường hợp file (.cs, .vb) quá lớn.
Nếu một file có hơn 300-400 dòng lệnh, bạn nên nghĩ đến việc chia nhỏ nó vào các ClassTránh viết các phương thức dài, một phương thức thông thường chỉ nên từ 1-25 dòng lệnh. Nếu một phương thức có hơn 25 dòng lênh, bạn nên chia nhỏ thành các phương thức xử lý riêng. Tên phương thức cần rõ ý, nêu được mục đích của phương thức. Nếu bạn đặt tên phương thức rõ ràng, bạn sẽ không cần phải viết tài liệu miêu tả về ý nghĩa của phương thức.Tốt - Tên phương thức rõ nghĩa void SavePhoneNumber ( string phoneNumber ){ // Save the phone number.}Không tốt - Tên phương thức không rõ nghĩa // This method will save the phone number.void SaveData ( string phoneNumber ){ // Save the phone number.}Một phương thức chỉ nên xử lý một công việc. Không nên gộp quá nhiều "trách nhiệm" cho một phương thứcTốt void SaveAddress ( string address ) { // Save the address. // ... } void SendEmail ( string address, string email ) { // Send an email to inform the supervisor that the address is changed. // ... }Không tốt // Save address and send an email to the supervisor // to inform that the address is updated. SaveAddress ( address, email ); void SaveAddress ( string address, string email ) { // Job 1. // Save the address. // ... // Job 2. // Send an email to inform the supervisor that the address is changed. // ... }Sử dụng kiểu dữ liệu đặc trưng thay vì sử dụng từ lớpTốt int age; string name; object contactInfo;Không tốt Int16 age; String name; Object contactInfo;Nên sử dụng Enum ở bất kì nơi nào cần thiết. Không nên dùng số hay chuỗi để kiểm tra các giá trịTốt enum MailType { Html, PlainText, Attachment } void SendMail (string message, MailType mailType) { switch ( mailType ) { case MailType.Html: // Do something break; case MailType.PlainText: // Do something break; case MailType.Attachment: // Do something break; default: // Do something break; } }Không tốt void SendMail (string message, string mailType){ switch ( mailType ) { case "Html": // Do something break; case "PlainText": // Do something break; case "Attachment": // Do something break; default: // Do something break; }} Nên sử dụng private thay vì public hay protected cho biến. Nếu muốn, hãy dùng properties và thiết lập code để bảo vệ tài nguyên. Không sử dụng được dẫn tĩnh cục bộ trong lập trình ("D:\software\..."). Hãy sử dụng đường dẫn tương đối ("../images/home.jpg") Trước khi chương trình hiển thị, hãy kiểm tra lại toàn bộ các yêu cầu về tập tin, ràng buộc, kiểm tra liên kết cơ sở dữ liệu, ... để đảm bảo rằng chương trình sẽ hoạt động tốt Nếu phát hiện lỗi phát sinh, nên thông báo cho người dùng biết và "ghi chú" lại để có thể thực hiện các bước kiểm tra và khắc phục lỗi hoặc tạo các bản cập nhật.
More about →
Người đăng:
culaoxanh88 on Thứ Tư, 13 tháng 11, 2013
Mã nguồn:
clear
echo "n="
read n
i=1
s=0
while [ $i -le $n ]
do
x=$(echo "scale=4; 1 / $i" | bc)
s=$(echo "scale=4; $s + $x" | bc)
i=`expr $i + 1`
done
echo "tong la: $s"Tags: Lập trình Shell, lập trình Linux, Ubuntu, Script tính tổng
More about →
Người đăng:
culaoxanh88
clear
echo "nam bang"
read nam
case `expr $nam % 10` in
0)can="canh" ;;
1)can="tan" ;;
2)can="nham" ;;
3)can="quy" ;;
4)can="giap" ;;
5)can="at" ;;
6)can="binh" ;;
7)can="dinh" ;;
8)can="mau" ;;
9)can="ky" ;;
esac
case `expr $nam % 12` in
0)chi="than." ;;
1)chi="dau." ;;
2)chi="tuat." ;;
3)chi="hoi." ;;
4)chi="ty." ;;
5)chi="suu." ;; 6)chi="dan." ;;
7)chi="mao." ;;
8)chi="thin." ;;
9)chi="ti." ;;
10)chi="ngo." ;;
11)chi="mui." ;;
esac
echo "$can - $chi"Tags: Lập trình Shell, lập trình Linux, Ubuntu, Script tính tổng
More about →
Người đăng:
culaoxanh88
clear
echo "n="
read n
i=1
tong=0
while [ $i -lt $n ]
do
if [ `expr $i % 2` -ne 0 ]; then
tong=`expr $tong + $i`
fi
i=`expr $i + 1`
done
echo "tong la: $tong"Tags: Lập trình Shell, lập trình Linux, Ubuntu, Script tính tổng lẻ
More about →
Người đăng:
culaoxanh88
clear
echo "Chuong trinh giai phuong trinh bac nhat"
echo "Nhap gia tri a = "
read a
echo "Nhap gia tri b = "
read b
if [ $a -eq 0 ];then
if [ $b -eq 0 ];then
echo "Phuong trinh vo so nghiem"
else
echo "Phuong trinh vo nghiem"
fi
else
x=$(echo "scale=3; (-$b)/$a" | bc)
echo "Phuong trinh co 1 nghiem x = $x"
fiTags: Lập trình Shell, lập trình Linux, Ubuntu, Script tính tổng, giải phương trình bậc nhất
More about →
Người đăng:
culaoxanh88 on Thứ Bảy, 9 tháng 11, 2013
Ax + By = C
A1x + B1y = C1
hpt(){
D=$(echo "scale=3; $1 * $5 - $2 * $4" | bc)
Dx=$(echo "scale=3; $3 * $5 - $2 * $6" | bc)
Dy=$(echo "scale=3; $1 * $6 - $3 * $4" | bc)
if [ $D -ne 0 ];then
x1=$(echo "scale=3; $Dx/$D" | bc)
x2=$(echo "scale=3; $Dy/$D" | bc)
echo "Phuong trinh co nghiem duy nhat: x = ($x1,$x2)."
elif [ $D -eq 0 ] && [ $Dx -eq 0 ] && [ $Dy -eq 0 ];then
echo "Phuong trinh vo so nghiem"
else
echo "Phuong trinh vo nghiem"
fi
}
hpt $1 $2 $3 $4 $5 $6
#Lưu ý: khi chạy admin@ubuntu~#/demo/bai1.sh 4 3 8 5 1 6
Tags: Lập trình Shell, lập trình Linux, Ubuntu, Script tính tổng, giải hệ phương trình bậc nhất 2 ẩn
More about →
Người đăng:
culaoxanh88 on Thứ Sáu, 8 tháng 11, 2013
Ví dụ: Chuỗi ban đầu: 123. Chuỗi đảo ngược: 321.clear
echo -e -n "Nhap chuoi:\t"
read sauh=${#sau}
until [ $h -le 0 ]
do
echo -n `expr substr $sau $h 1`
h=$(($h - 1))
done
echo -e "\n"Tags: Lập trình Shell, lập trình Linux, Ubuntu, Script tính tổng, in chuỗi, chuỗi đảo ngược
More about →
Người đăng:
culaoxanh88
clear
t=1
while [ $t -eq 1 ]
do
clear
echo -e -n "Nhap so:\t"
read so
if [ ${#so} -eq 3 ]; then
a=$(($so % 10))
b=$((($so / 10) % 10))
c=$((($so / 100) % 10))
echo -en "Tong cac ky so la: `expr $a + $b + $c`"
else
echo -en "\nNhap so trong pham vi tu 100 -> 999."
fi
while [ $t -ne 0 ]
do
echo -en "\nBan co muon tiep tuc? (Nhap 0 hoac 1)\t"
read t
if [ $t -eq 1 ];then
break
fi
done
doneTags: Lập trình Shell, lập trình Linux, Ubuntu, Script tính tổng
More about →
Người đăng:
culaoxanh88
clear
declare -a a
a=( [0]=$1 [1]=$2 [2]=$3 )
max=${a[0]}
min=${a[0]}
l=${#a[*]}
for ((i=0;i<$l;i++))
do
if [ $max -le ${a[i]} ];then
max=${a[i]}
else min=${a[i]}
fi
done
echo "Phan tu lon nhat la: $max"
echo "Phan tu nho nhat la: $min"
#Chạy lệnh:” admin@ubuntu~#/demo/test.sh 5 2 9
More about →
Người đăng:
culaoxanh88
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<script>
var i,n,nt=1;
function nguyento(x){
if(x==1 || x==2) nt=1;
if(x>2){
for(i=2;i<=Math.sqrt(x);i++){
if(x%i==0){nt=0; break;}
}
}
return nt;
}
n=prompt("Nhap gia tri n:");
if(nguyento(n)==1) document.write(n + " LA so nguyen to")
else document.write(n + " KHONG la so nguyen to")
</script>
</body>
</html>
More about →
Người đăng:
culaoxanh88 on Thứ Hai, 4 tháng 11, 2013
<head>
<title>UCLN</title>
</head>
<body>
<script language="JavaScript">
var a,b;
function UCLN(x,y){
while(x!=y) {
if(x>y) x=x-y;
else y=y-x;
}
return x;
}
a=prompt("Nhap gia tri a:");
b=prompt("Nhap gia tri b:");
document.write("Uoc chung lon nhat: " + UCLN(a,b))
document.write("Boi chung nho nhat: " + a*b/UCLN(a,b))
</script>
</body>
</html>Tags: Lập trình, JavaScript, BCNN, UCLN
More about →
Người đăng:
culaoxanh88 on Thứ Hai, 21 tháng 10, 2013
# Lập trình Shell: Viết chương trình Shell vẽ hình tam giác cân
#!/bin/sh
echo "Chuong trinh ve hinh tam gia can dat"
height=$1
ktrang=$1
for ((i=1;i<=height;i++))
do
for ((kt=ktrang; kt>=1; kt--))
do
echo -n " "
done
for ((j=1; j<=i; j++))
do
echo -n "* "
done
ktrang=$(($ktrang-1))
echo ""
done
echo "The end"
exit 0
Tags: Lập trình, shell script, shells, bash shell
More about →
Người đăng:
culaoxanh88
#Viết chương trình Shell giải phương trình bậc hai : ax2 + bx +c =0 với các tham số a, b, c nhập từ bàn #phím. và kết quả chính xác đến 2 chữ số.Tải mã nguồn chương trình
#!/bin/bash
echo -n "Nhap a= "
read a
echo -n "Nhap b= "
read b
echo -n "Nhap c= "
read c
delta=$(echo "$b^2 - 4*$a*$c" | bc)
if [ $delta -lt 0 ] then
echo "pt vo nghiem"
elif [ "$delta" -eq 0 ] then
echo -n "pt co nghiem kep x= "
x=$(echo "scale=2; -$b/(2*$a)" | bc)
echo "$x"
else
echo "phuong trinh co 2 nghiem"
x1=$(echo "scale=2; -($b + sqrt($delta))/(2*$a)" | bc)
echo "x1= $x1"
x2=$(echo "scale=2; -($b - sqrt($delta))/(2*$a)" | bc)
echo "x2= $x2"
fi
exit 0Tải mã nguồn chương trình
More about →
Người đăng:
culaoxanh88 on Thứ Hai, 14 tháng 10, 2013
<html><head><title>Giai phuong trinh bac 2</title><script language="JavaScript">function giai(form){var x1,x2;var x,y,z,delta;x= parseInt(form.a.value);y= parseInt(form.b.value);z= parseInt(form.c.value);delta=(y*y-4*x*z)if(delta ==0){ alert("phuong trinh co nghiem kep"); x1=-y/(2*x) ; x2=-y/(2*x); form.x.value=eval(x1); form.y.value=eval(x2);}else if(delta<0){ alert("phuong trinh vo nghiem");} else{ alert("phuong trinh co hai nghiem"); x1=(-y-Math.sqrt(delta))/(2*x); x2=(-y+Math.sqrt(delta))/(2*x); form.x.value=eval(x1); form.y.value=eval(x2);}}</script></head><body><form method="post"><center><br>Nhap gia tri a:<input type="text" name="a" value=""><br> Nhap gia tri b:<input type="text" name="b" value=""><br>Nhap gia tri c:<input type="text" name="c" value=""><br>Đáp số:<input type="text" name="x" value=""><input type="text" name="y" value=""><input type="button" value="giai" onClick="giai(this.form)"></center></form></body></html> [Download Mã nguồn: Chờ 5s, sau đó nhấn SKIP AD (để bỏ qua Quảng cáo)]
More about →