Hiển thị các bài đăng có nhãn Thủ Thuật. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn Thủ Thuật. Hiển thị tất cả bài đăng
bo go tieng viet cho web
Chào các bạn, hôm nay mình sẽ hướng dẫn các bạn cách đưa một bộ gõ tiếng việt vào web. Đây là một mẹo nhỏ hiệu quả cho các website Việt khi mà lượng khách truy cập chủ yếu là người Việt và nhu cầu gõ tiếng Việt là rất cao. Với những script gõ tiếng Việt thì visitors sẽ không cần phải bật một phần mềm gõ tiếng Việt nào. Có hai scripts gõ tiếng Việt mà mình sẽ giới thiệu đó là AVIM và MUDIM.
1. Sử dụng AVIM.
Bạn hãy download script AVIM này về tại đây. Sau đó hãy copy đoạn code sau và paste vào cuối trang trước thẻ body hoặc ở đầu trang trong thẻ head cũng được(nhưng sẽ làm tốc độ load web hơi chậm).
<script language="javascript1.2" type="text/javascript" src="avim.js"></script>
Bạn nhớ thay đường dẫn file cho phù hợp với đường dẫn file của bạn. OK, thế là giờ bạn đã có bộ gõ tiếng Việt cho web của bạn rồi ^_^!
2.Sử dụng MUDIM.
Cũng giống với AVIM bạn hãy download script MUDIM tại đây nha. Sau đó bạn cũng copy một đoạn code tương tự đoạn code bên trên.
<script language="javascript" type="text/javascript" src="mudim-0.8-r153.js"></script>
OK, bây giờ bạn cũng đã có một bộ gõ tiếng Việt hiệu quả không kém gì AVIM. Mình đã ứng dụng đoạn script thứ 2 vào trang này. Bạn có thể test gõ tiếng Việt ngay trong phần comment được.
Chúc các bạn thành công!
nhung google custom search vao webGoogle hiện nay là công cụ tìm kiếm số 1 trên internet. Và việc đưa nó vào trang web như 1 tiện ích là điều đương nhiên. Hiện nay đã có một số đã đưa Google Custom Search vào web. Với việc sử dụng Google Custom Search này yêu cầu trang bạn phải được google đánh index thì lúc tìm kiếm kết quả mới ra chính xác và đầy đủ. Chính vì thế trang của bạn sẽ có tool tìm kiếm rất nhanh vì sau khi được google index thì kết quả tìm kiếm sẽ được lọc nhanh hơn(google mà ^_^).

1. Đưa Google Search vào web.
Để tạo thuận tiện cho bạn đọc có thể search bằng google ngay trên trang của bạn thì bạn có thể đưa thanh google search vào 1 chỗ bất kì trên trang. Bạn hãy copy đoạn code sau và paste vào chỗ bạn cần hiển thị nó.

<form method="get" action="http://www.google.com/search">
        <table bgcolor="#FFFFFF">
            <tr>
                <td>
                    <a href="http://www.google.com/">
                        <img src="http://www.google.com/logos/Logo_40wht.gif" border="0" alt="Google" align="middle"/></a>
                    <input type="text" name="query" size="25" maxlength="255" value="" />
                    <input type="submit" name="btnGoogleSearch" value="Google Search"/>
                </td>
            </tr>
        </table>
Bạn có thể thay đổi địa chỉ trên thành  http://www.google.com.vn/search hoặc bất kì tên miền google nào như google.com.hk, google.com.br...
Nếu bạn muốn tìm kiếm an toàn cho bạn đọc trên web thì hãy thêm đoạn mã sau vào sau đường link màu cam nhạt: search?safe=vss. Như vậy bạn có thể lọc các kết quả tìm kiếm có nội dung cho người lớn, tôn giáo, chính trị không lành mạnh.
2. Nhúng Google Custom Search vào web.
Cách 1: Nhúng code trực tiếp.

<form method="get" action="http://www.google.com.vn/search">
    <table bgcolor="#f60">
        <tr>
            <td>
                <a href="http://www.google.com.vn/">
                    <img src="http://www.google.com.vn/logos/Logo_40wht.gif" border="0" alt="Google"></a>
            </td>
            <td>
                <input type="text" name="query" size="30" maxlength="255" value="">
                <input type="submit" name="btnGoogleSearch" value="Search">
                <input type="hidden" name="domains" value="http://webzoomz.info"><br>
                <input type="radio" name="sitesearch" value="" />world.wide.web
                <input type="radio" name="sitesearch" value="http://webzoomz.info" checked="checked">Webzoomz.info
                <br>
            </td>
        </tr>
    </table>
    </form>
 Hãy thay những đoạn code màu cam nhạt bằng những giá trị phù hợp với web của bạn. Và đây là kết quả.
nhung google custom search vao web

Và bạn có thể chọn một trong 2 giới hạn search. Search trên trang của bạn hoặc search trên công cụ search google.
Cách 2: Tạo công cụ trên google custom search
Bạn hãy vào http://www.google.com.vn/cse/manage/all và tạo 1 google custom seach cho trang của bạn. Sau khi hoàn tất việc tạo google custom search bạn sẽ được cung cấp 1 ID riêng cho site của bạn:
ID duy nhất của công cụ tìm kiếm:018426535015421603595:kb1dv7ijaqe 
Sau đó bạn hãy copy đoạn code sau:

<form action='/p/search.html' id='searchform'>
<input name='cx' type='hidden' value=' 018426535015421603595:kb1dv7ijaqe 
'/>
<input name='cof' type='hidden' value='FORID:10'/>
<input name='ie' type='hidden' value='UTF-8'/>
Và trang hiển thị kết quả bạn hãy thêm đoạn code sau vào(ở đây mình dùng trang /p/search.html như ở đoạn code trên):
<div id="cse-search-results"></div>
<script type="text/javascript">
var googleSearchIframeName = "cse-search-results";
var googleSearchFormName = "cse-search-box";
var googleSearchFrameWidth = 600;
var googleSearchDomain = "www.google.com";
var googleSearchPath = "/cse";
</script>
<script src="http://www.google.com/afsonline/show_afs_search.js" type="text/javascript">
</script>
Bạn save và run thế là ok. Blog của mình đang sử dụng cách thứ 2 này bạn có thể kiểm chứng ngay trên site.
3. Tùy biến trang kết quả tìm kiếm
 Nếu bạn sử dụng cách thứ 2 để nhúng Google Custom Search thì bạn hãy vào phần giao diện trong trang http://www.google.com.vn/cse/manage/all để chỉnh sửa. Sau đó thì bạn copy đoạn code được sinh ra và paste vào trang hiển thị kết quả của bạn.
Chúc các bạn thành công!


tang toc web aspnetChào các bạn, hôm nay mình sẽ viết bài cuối cùng trong series thủ thuật về cải thiện tốc độ và hiệu suất cho web asp.net. Bạn nào chưa đọc các bài viết trước có thể tham khảo thêm tại đây nha.
41. Phân trang cho dữ liệu lớn. Việc phân trang dữ liệu sẽ giúp bạn chia nhỏ các khối dữ liệu cần load mà lại giữ được layout đẹp cho form.
42. Sử dung Eval() thay cho DataBinder.Eval(). Từ ASP.NET 2.0 trở đi .NET framework đã sử dụng Eval() thay cho DataBinder.Eval() bạn nên sử dụng Eval() vì nó được được cải thiện hiệu suất so với DataBinderEval().
43. Không sử dụng Tracing và Debuging. Tracing và Debuging sẽ giúp bạn phát hiện ra những lỗi mà ứng dụng web gặp phải. Nhưng nó sẽ mất khá nhiều thời gian load. Vì bạn hãy hạn chế sử dụng chúng và chỉ sử dụng chúng khi phát triển ứng dụng còn khi triển khai ứng dụng hãy disable chúng đi.
44. Sử dụng HTTP Compression. Sử dụng HTTP compression sẽ giúp bạn giảm bớt dung lượng file. Bạn có thể tham khảo thêm về cách Compression Web ASP.NET tại đây.
45.Chỉ sử dụng giao thức SSL khi cần thiết. Giao thức SSL là giao thức giúp bạn mã hóa và bảo mật các thông tin được truyền đi giữa client và server. Nhưng việc mã hóa sẽ khá tốn tài nguyên và thời gian vì thế chỉ sử dụng trong trường hợp cần thiết như các trang đăng nhập, giao dịch, đặt hàng...
46. Cân nhắc việc dùng ListView thay vì dùng GridView. Nhiều bạn đã quen với việc dùng GridView, nhưng bên cạnh GridView còn một vài control khác cũng có tính năng tương tự. Từ ASP.NET 3.5 đã có thêm một control mới linh hoạt trong việc tùy biến layout hiển thị dữ liệu mà vẫn giữ được các tính năng mạnh giống GridView. Bạn hãy cân nhắc để sử dụng nó.
47. Tránh thực hiện những request lớn và lâu trên cùng 1 trang điều này sẽ làm trang trở lên rất chậm.
48. Xứ lí các ngoại lệ. Luôn bắt ngoại lệ tại những nơi có khả năng xảy ra, không bắt các ngoại lệ mà ta không xử lí được hoặc những ngoại lệ không thể xảy ra, hãy tránh các ngoại lệ có thể tránh được như ngoại lệ logic,..., không hiển thị các ngoại lệ cho người dùng thấy hãy dùng customError.
49. Sử dụng kỹ thuật sprite ảnh và css. Kỹ thuật này giúp bạn giảm bớt số requests bằng cách kết hợp các ảnh lại với nhau và sử dụng css để hiển thị chúng bằng cách đưa ra vị trí toạ độ của chúng
50. Lựa chọn server. Đây cũng là một yếu tố then chốt. Lựa chọn một server ổn định và băng thông hợp lí sẽ giúp web của bạn chạy ổn định và tốt hơn.

Hy vọng với một số mẹo nhỏ trong 5 bài vừa qua bạn có thể giúp web của mình chạy nhanh và ổn định hơn. Chúc mọi người thành công ^_^!
Cải thiện tốc độ và hiệu suất cho web ASP.NET-Phần 1
Cải thiện tốc độ và hiệu suất cho web ASP.NET-Phần 2
Cải thiện tốc độ và hiệu suất cho web ASP.NET-Phần 3
Cải thiện tốc độ và hiệu suất cho web ASP.NET-Phần 4
tang toc cho web aspnet

Tiếp tục nào, 3 bài viết trước mình đã giới thiệu một số cách cải thiện tốc độ và hiệu suất cho web ASP.NET. Hôm nay mình xin tiếp tục với một số mẹo nhỏ khác để giúp bạn cải thiện tốc độ và hiệu suất cho web ASP.NET.
31. Nên sử dụng HttpServerUtility.Transfer(). Phương thức này không liên quan đến việc chuyển hướng trang web(redirection). Thay vì việc gửi một redirect message quay trở lại trình duyệt(browser), ASP.NET chỉ đơn giản là bắt đầu một trang mới. Nên sẽ tiết kiệm được thời gian load.
32. Nên hạn chế việc dùng nhiều biến Session. Session dùng để lưu trữ thông tin của người dùng hoặc phiên làm việc hiện tại. Nó giúp bạn trong việc kiểm tra và lấy thông tin từ người dùng đó. Nhưng nếu lượng truy cập hiện tại của web lớn thì các bộ nhớ dành cho việc lưu trữ thông tin trong session sẽ lớn và dễ gây nghẽn mạng hoặc request time out. Và để lấy được thông tin từ biến session bạn phải convert hoặc tuần tự hóa dữ liệu(serialization) trong các collection được lưu trữ. Điều này sẽ làm giảm hiệu suất thực thi và tăng thời gian load của trang.
33. Vài lưu ý trong việc build ứng dụng web aspnet. Build ứng dụng trong chế độ Release Mode, luôn precompile ứng dụng trước khi chạy, hạn chế hoặc có thể bỏ không dùng chế độ Debug Mode. Với việc build ứng dụng như thế này bạn sẽ có thể kiểm tra lỗi, triển khai ứng dụng nhanh hơn, import đầy đủ các dll ...
34. Hạn chế sử dụng quá nhiều ASP.NET Server controls. Sử dụng nhiều các aspnet server controls sẽ tăng thời gian và bộ nhớ của server để sử lí các controls đó.
35. Hãy sử dụng các transaction hợp lí. Dùng các transaction sẽ giúp bạn giữ vững được tính toàn vẹn của dữ liệu tiết kiệm được thời gian nếu có 1 transaction 1 tập hợp các transaction bị hỏng nó sẽ hủy toàn bộ những transaction đó mà không cần phải thực hiện đến transaction cuối.
36. Luôn sử dụng try-catch-finally. Sử dụng khối bắt lỗi này bạn có thể giảm được các lỗi truy xuất và sử lí dữ liệu cũng như ngắt kết nối và giải phóng dữ liệu sau khi đã sử dụng xong.
37.Sử dụng thuộc tính HttpResponse.IsClientConnected. Thuộc tính này sẽ giúp bạn kiểm tra việc client vẫn còn đang giữ kết nối với server hay không trước khi server xử lí việc truy xuất hoặc thao tác dữ liệu.
38.Tối ưu hóa vòng lặp. Vòng lặp for là vòng lặp được sử dụng nhiều nhất trong các loại vòng lặp. Trong vòng lặp for có hai loại là for foreach. Nhưng cách sử dụng 2 loại này là khác nhau. Vòng lặp for đối với các Ilist hoặc các mảng có index thì sẽ nhanh hơn foreach. Còn foreach dành cho các IEnumerable hoặc các collections không đánh index.
39. Hãy sử dụng Control.DataBind() thay vì dùng Page.DataBind(). Về lý thuyết thì 2 phương thức này đều Bind dữ liệu vào controls. Chỉ khác Control.DataBind thì sẽ bind dữ liệu và chính control đó còn Page.DataBind là bind dữ liệu vào các controls con nằm trên trang. Và việc dùng Page.DataBind cần phải khai báo rõ ràng. Như vậy với Control.DataBind bạn có thể chủ động hơn trong việc bind data.
40. Sử dung Repeater để hiển thị dữ liệu chỉ đọc. Nếu bạn chỉ hiển thị dữ liệu không thôi mà không thao tác dữ liệu thì nên sử dụng Repeater thay vì dùng Gridview hay DataList.

Cải thiện tốc độ và hiệu suất cho web ASP.NET-Phần 1
Cải thiện tốc độ và hiệu suất cho web ASP.NET-Phần 2
Cải thiện tốc độ và hiệu suất cho web ASP.NET-Phần 3
Cải thiện tốc độ và hiệu suất cho web ASP.NET-Phần 5
tang toc do web aspnet
Hai phần trước mình đã giới thiệu cho các bạn một số cách để tăng tốc và cải thiện hiệu suất cho web ASP.NET. Hôm nay mình xin tiếp tục giới thiệu một số các thủ thuật khác khi code và sử dụng tài nguyên trên web ASP.NET
21. Sử dụng StringBuilding. Lớp String được tạo ra để thao tác với chuỗi nhưng đối với những chuỗi có độ dài lớn thì StringBuilding sẽ thuận tiện hơn. Nó được tạo ra với rất nhiều những phương thức cho phép bạn thao tác và tăng tốc độ xử lí chuỗi lớn.
22. Giảm tối thiểu số request lúc load trang. Số request được sinh ra trong lúc load trang ảnh hưởng rất lớn đến tốc độ load trang vì thế bạn nên giảm những request không cần thiết như gọi đến 1 file script nào đó mà không dùng hay 1 file css nào đó.
23. Gộp chung các jquery hoặc javascript lại. Việc chia nhỏ các script sẽ giúp bạn quản lí code tốt hơn nhưng nếu chỉ có 1 vài đoạn code nhỏ mà bạn cũng chia file thì là điều không nên. Bạn hãy gộp tất cả các file script lại với nhau nếu có thể còn những file riêng biệt như file script của plugin hay 1 script được code riêng cho một module nào đó.
24. Đặt các file script ở cuối trang. Đặt script ở cuối trang sẽ giúp bạn tăng tốc độ load của trang.
25. Tối ưu hóa css. Tối ưu hóa css vừa giúp bạn quản lí code dễ dàng, seo, và ngoài ra nó còn giúp bạn tăng tốc cho web. Bạn có thể xem thêm bài viết tối ưu hóa css cho SEO để tìm hiểu thêm. Bạn luôn nhớ đặt CSS ở đầu trang trong phần head.
26.Sử dụng công nghệ Ajax. Đây có thể nói là một công nghệ giúp bạn cải thiện tốc độ web tốt nhất. Với việc chia nhỏ những phần của web ra và bạn chỉ cần load lại những phần cần xử lí mà không phải load lại toàn bộ trang. Với sự linh hoạt này tốc độ web được cải thiện đáng kể. Google chính là trang sử dụng thành công nhất công nghệ Ajax.
27. Hãy đặt các file tài nguyên trên cùng server. Việc đặt các file tài nguyên như ảnh, video, flash, script, css... thì sẽ giúp việc request tốt hơn. Nếu bạn sử dụng 1 file trên một server khác thì nên đảm bảo server đó ổn định.
28. Nén tài nguyên. Các file ảnh chất lượng tốt thì thường có dung lượng lớn vì vậy giảm dung lượng mà vẫn giữ được chất lượng ảnh là rất tốt. Bạn có thể dùng phần mềm Advanced JPEG Compressor. Nén CSS và javacript sẽ giúp bạn Bạn có thể nén css tại đây và javacript tại đây.
29. Tránh sử dụng các aspnet control và html control lồng quá sâu vào nhau. Việc lồng control và các thẻ quá sâu vào nhau sẽ khiến việc xử lý và render html page lâu.
30. Xóa các thành phần thừa trên web. Trong trang của bạn thường thừa khá nhiều các thẻ và control thừa bạn hãy xóa nó đi như space, thẻ br thừa, thẻ div hoặc table thừa....

Cải thiện tốc độ và hiệu suất cho web ASP.NET-Phần 1
Cải thiện tốc độ và hiệu suất cho web ASP.NET-Phần 2
Cải thiện tốc độ và hiệu suất cho web ASP.NET-Phần 4
Cải thiện tốc độ và hiệu suất cho web ASP.NET-Phần 5
cai thien toc do web aspnetHôm trước mình đã giới thiệu với  mọi người một số cách để cải thiện tốc độ và hiệu suất thực thi cho web ASP.NET. Hôm nay mình xin giới thiệu tiếp những thủ thuật khác để tăng hiệu suất cho web aspnet. Bài này thiên về cách tạo câu truy vấn và truy xuất dữ liệu trong SQL sao cho hiệu quả và tăng hiệu năng cho web ASP.NET. Vì đối những server tầm trung hoặc yếu và mạng của người dùng không ổn định thì việc chờ đợi web load được dữ liệu về thì cực kì mất thời gian và cực kì khó chịu :((. Ở đây mình chỉ nêu một vài cách cơ bản để tối ưu truy vấn SQL, mình sẽ có một bài khác về cách tối ưu truy vấn SQL.
11. Sử dụng connection pooling. Khi bạn request data từ server bạn cần phải thiết lập 1 kết nối đến server và điều này sẽ tiêu hao khá nhiều tài nguyên của server. Và điều gì sẽ xảy ra nếu bạn phải request nhiều lần đến server để lấy dữ liệu? Sẽ rất tốn tài nguyên nếu chúng ta làm như vậy. Vì thế connection pooling đã được tạo ra để sử dụng lại những kết nối đã được thiết lập.
12. Luôn nhớ đóng các kết nối server và truy vấn dữ liệu. Đây là điều cực kì quan trọng nếu bạn không muốn web bị crash liên tục vì bị quá tải. Hãy dùng connection.Close() hoặc SqlDataAdapter.Dispose() hoặc các câu lệnh tương tự để ngắt kết nối và truy vấn khi đã thực thi xong.
13. Tối ưu những câu truy vấn. Để lấy được dữ liệu thì điều cần thiết là phải có câu truy vấn. Nhưng truy vấn như thế nào để tránh gây nghẽn database server và tốn tài nguyên. Hãy luôn nhớ chỉ select những gì chúng ta cần. Mọi người thường có thói quen truy vấn tất cả từ bảng hoặc view mà không bao giờ dùng đến một số trường trong đó.
14. Sử dụng thủ tục(Stored Procedure). Stored procedure giúp chúng ta tăng tính bảo mật và tránh bị tấn công kiểu sql injection. Nhưng ngoài ra nếu chúng ta sử dụng nó sẽ giúp tăng tốc thực thi các câu lệnh so với việc dùng câu truy vấn bình thường.
15. Khi nào sử dụng SqlDataReader và SqlDataAdapter. Nhiều người trong chúng ta thường sử dụng 2 lớp này để truy vấn dữ liệu và nghĩ rằng chúng giống nhau nhưng không. Nhìn bề ngoài thì có vẻ chúng khá giống nhau về cách thức hoạt động nhưng SqlDataReader là class được xây dựng để cho việc truy vấn dữ liệu và fill vào DataSet hoặc DataTable. Nó nhanh hơn SqlDataAdapter. Còn SqDatalAdapter dùng để thực thi các câu lệnh updating database sẽ tốt hơn vì nó cho phép bạn đóng kết nối khi bạn muốn hoặc thậm chí là có thể tự động đóng kết nối, nó lưu kết quả vào bộ nhớ và bạn có thể lặp qua các bản ghi bao nhiêu lần tùy ý nhưng cái giá phải trả là bạn sẽ tốn khá nhiều bộ nhớ.
16. Đánh index cho các câu truy vấn được sử dụng trong truy vấn có Where,Order By, Distinct, Group By,...
17. Sử dụng một tập lệnh trong truy vấn. Nếu trong câu truy vấn của bạn có khá nhiều lệnh hãy ghi nhớ sử dụng tập lệnh(batch) với từ khóa go.
18. Sử dụng index trên các khóa ngoại.  Nó sẽ giúp bạn tăng tốc truy vấn cho các câu lệnh.
19.Sử dụng SETNOCOUNT trong câu lệnh sql. Khi bạn thực thi 1 câu lệnh nó luôn hiển thì 1 dòng là X row(s) affected. Để tắt cái này đi bạn hãy dùng SETNOCOUNT. Tuy không giảm được nhiều tài nguyên server nhưng nếu bạn select hoặc update khoảng vài nghìn bản ghi cho đến hàng chục nghìn bản ghi thì nó sẽ giúp bạn khá đáng kể trong việc tiết kiệm tài nguyên.
20. Tránh dùng view lồng nhau. View khá thuận tiện cho việc tạo ra 1 khung nhìn trên nhiều bảng kết hợp với nhau nhưng truy vấn từ view vẫn khá chậm vì thế nếu bạn sử dụng view lồng nhau thì sẽ còn chậm hơn nữa tuy việc này SQL không cấm nhưng bạn không nên sử dụng quá nhiều.
(to be continue)

Cải thiện tốc độ và hiệu suất cho web ASP.NET-Phần 1
Cải thiện tốc độ và hiệu suất cho web ASP.NET-Phần 3
Cải thiện tốc độ và hiệu suất cho web ASP.NET-Phần 4
Cải thiện tốc độ và hiệu suất cho web ASP.NET-Phần 5

cai thien toc do cho web aspnet
Nhiều bạn cho rằng web aspnet có tốc độ xử lý dữ liệu chậm hơn so với web làm bằng các công nghệ khác như php hay jsp nhưng thực tế không phải hoàn toàn như vậy. Nếu biết cách tối ưu code bạn sẽ thấy điều đó là không chính xác. Mình xin giới thiệu cho các bạn tổng hợp các cách cải thiện tốc độ và hiệu suất cho web aspnet. Đây là những thủ thuật mình học được và tổng hợp từ một số tài liệu và diễn đàn trên mạng.
1. Luôn sử dụng thuộc tính Page.IsValid. Nếu một trang mà bạn sử dụng các input control và cần phải validate các control này, bạn hãy ghi nhớ luôn sử dụng Page.IsValid trước khi cho run 1 đoạn code nào đó liên quan đến dữ liệu trên form như vậy sẽ không phải mất thời gian check lỗi validate tại server.
2. Nên sử dụng các validation controls như RequiredFieldValidator, RegularFieldValidator,... cho các input control. Sử dụng các control này sẽ tiện hơn so với dùng code javascript và có thể truy cập được dữ liệu ở phía server. Nhưng nó vẫn chậm hơn so với việc sử dụng code javascript.
3. Validate form bằng javascript. Cách này khá giống cách trên nhưng chúng ta sẽ sử dụng validate input control bằng javascript( tức là tiến hành kiểm tra ngay trên máy client). Cách này bạn phải bỏ chút công sức ra code. Hiện nay cũng có 1 số plugin jquery hỗ trợ validate form phổ biến nhất đó là plugin validation. Nhưng nó sẽ không hỗ trợ được hết các trường hợp kiểm tra trên form.
4. Sử dụng thuộc tính IsPostBack. Đây là một thuộc tính giúp bạn giảm việc truy xuất và xử lí dữ liệu trên form. Nó sẽ giúp bạn đảm bảo rằng dữ liệu chỉ cần load 1 lần.
5.Chỉ sử dụng ViewState khi cần thiết. ViewState là một điểm mạnh của ASP.NET nhưng mặt khác nó cũng là điểm yếu của nó. ViewState giúp bạn lưu giữ lại trạng thái cũng như dữ liệu trên form nhưng chính vì vậy mà nó sẽ làm chậm tốc độ web lại và tăng thêm dung lượng cho trang được load. Hãy sử dụng thuộc tính EnableViewState="false" khi bạn muốn không sử dụng nó.
6. Xóa bỏ những namespace không cần thiết. Để sử dụng những class cần thiết cho việc code bạn thường khai báo sử dụng bằng từ khóa using. Nhưng khi bạn thay đổi code thì thường không để ý đến việc xóa những câu khai báo thừa đó đi.
7. Chỉ khai báo biến khi cần dùng đến. Nhiều bạn khi lập trình thường khai báo một số các biến để sử dụng nhưng sau một lúc loay hoay lại không sử dụng đến. Như vậy sẽ rất lãng phí bộ nhớ.
8. Sử dụng caching. Việc caching sẽ giúp bạn lưu trữ lại dữ liệu đã được request và sử dụng nó cho lần hiển thị sau thay vì phải request đến server lần nữa để lấy lại cùng dữ liệu này.
9. Buffering Data. Việc truyền tải dữ liệu từ server đến client là rất quan trọng. Việc buffering data là một trong những khâu trong quy trình đó. Bạn có thể sử dụng nó nếu bạn muốn qua thuộc tính Response.Buffer= true -> tiến hành lấy hết dữ liệu và gửi 1 lần, Response.Buffer=false -> lấy được bao nhiêu gửi bấy nhiêu.
10. Hạn chế việc ép kiểu không cần thiết. Khi dữ liệu đã ở loại bạn cần thì việc ép kiểu nó về dạng đó là không cần thiết.


Cải thiện tốc độ và hiệu suất cho web ASP.NET-Phần 2
Cải thiện tốc độ và hiệu suất cho web ASP.NET-Phần 3
Cải thiện tốc độ và hiệu suất cho web ASP.NET-Phần 4

Cải thiện tốc độ và hiệu suất cho web ASP.NET-Phần 5


Facebook đã trở thành từ quen thuộc với hầu hết chúng ta. Đây là mạng xã hội lớn nhất thế giới và nó cũng là  một kênh quảng bá web tốt cho bạn. Facebook hỗ trợ một vài plugin để bạn tạo module hoặc widget để đưa vào website hoặc blog của bạn. Hôm nay mình sẽ hướng dẫn các bạn sử dụng một vài plugin hay được sử dụng trên web.
1. Like Button Facebook.
Đây là một tool bạn hay thấy nhất trên hầu hết các website, diễn đàn và blog.
Bạn hãy copy đoạn code sau vào chỗ bạn cần hiển thị nó.

<div id="fb-root">
</div>
<script>
(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>

<fb:like href="http://webzoomz.info" send="true" show_faces="true" width="450"></fb:like>
Bạn hãy thay link trang web của bạn vào. Và đây là kết quả:

Bạn có thể xem thêm cách tùy biến nó ở đây: https://developers.facebook.com/docs/reference/plugins/like/
2. Comment Form Facebook
Đây là một form comment hay xuất hiện trên các webiste với lượng fanpage hoặc người đọc chủ yếu là facebook. Để đưa comment form facebook vào web bạn hãy copy đoạn code sau vào paste vào chỗ bạn cần hiển thị comment form( thường là cuối bài viết).

<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<html xmlns:fb="http://ogp.me/ns/fb#">
<fb:comments href="http://webzoomz.info" num_posts="10" width="450"></fb:comments>
 Cũng như like button bạn hãy thay địa chỉ trang web của bạn vào. Ok save và run các bạn sẽ có kết quả như sau.

Các bạn có thể xem thêm cách tùy biến form này ở đây.
3. Facebook Fanpage.
Fanpage chính là kênh quảng bá giới thiệu chính của bạn trên facebook. Để đưa nó vào web bạn hãy copy đoạn code sau và paste vào chỗ bạn cần hiển thị( như các bạn thấy mình có 1 fanpage bên sider bên phải tiện tay cứ kích vài cái cho zui ^_^).
<iframe src="//www.facebook.com/plugins/likebox.php?href=http%3A%2F%2Fwww.facebook.com%2FWebzoomz&amp;width=315&amp; height=258&amp;colorscheme=light&amp;show_faces=true&amp; border_color=%23f7f7f7&amp;stream=false&amp;header=false" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:315px; height:258px;" allowtransparency="true"></iframe>
 Hãy thay địa chỉ fanpage của bạn vào chỗ text màu đỏ, của mình ở đây là https://www.facebook.com/Webzoomz bạn nào rảnh rỗi thì vào ủng hộ mình nha. Các bạn save lại và run chúng ta sẽ có giao diện như sau:

Để tìm hiểu thêm về facebook fanpage bạn hãy vào đây.
Đó là một vài plugin hay được sử dụng còn khá nhiều các plugin hay khác các bạn có thể vào đây để tìm hiểu thêm và ứng dụng nó vào web của bạn:https://developers.facebook.com/docs/plugins/
Chúc mọi người có thể ứng dụng thành công!
anh profile tren google search
Bài trước mình đã giới thiệu cho các bạn cách tạo google rich snippet cho web. Nên bài này mình sẽ giới thiệu luôn cách hiển thị profile trên của bạn trên kết quả tìm kiếm của google. Chắc hẳn cũng đã có nhiều bạn đã thấy cái này trên google.
hien thi profile tren google
Nhưng không hẳn trong các bạn ai cũng biết cách để hiển thị ảnh profile trên kết quả tìm kiếm của google. Hôm nay mình xin giới thiệu cho các bạn cách để hiển thị profile trên google.
Đầu tiên các bạn cần phải có 1 account google plus.
hien thi profile tren google
Sau đó vào phần chỉnh sửa tiểu sử vào thêm trang web của bạn vào phần cộng tác viên và liên kết

hien thi profile tren google
OK tới đây là đã xong phần google plus profile.
Tiếp theo là bạn hãy copy đoạn code sau vào website hoặc blog của bạn.
<a rel="AUTHOR" href=" https://plus.google.com/u/0/104672826015982908693/posts ">Webzoomz</a>
Các bạn chú ý là hãy thay đường link bằng profile của các bạn nha.
Ok bây giờ bạn lưu lại vào vào trang này để check http://www.google.com/webmasters/tools/richsnippets. Nếu hiện thị như thế này là được.
hien thi profile tren google
Các bạn chờ khoảng 1 ngày sau Google sẽ index và update lại thông tin này cho bạn.
Chúc các bạn thành công!
tao google rich snippet recipe cho web
Khi bạn search một từ khóa nào đó bạn thường thấy ở bên dưới  Title của kết quả tìm kiếm sẽ có một vài trang có những ngôi sao đánh giá( rating stars).
tao rich snippet recipe cho web
Với những kết quả tìm kiếm có ngôi sao đánh giá như thế này có vẻ như là khá đáng tin cậy và thu hút người đọc. Nhưng sự thật có phải như vậy? Để biết rõ về google rich snippets bài viết này mình xin giới thiệu cho mọi người rõ về điều này.
Google Rich Snippets thực chất được Google tạo ra để hỗ trợ các trang ẩm thực. Các trang ẩm thực đó có thể hiển thị hình ảnh của thức ăn và mức độ đánh giá trên kết quả tìm kiếm của google.
google rich snippets recipe
Hiện nay google đã hỗ trợ thêm cho các trang có nội dung đánh giá tổng quan, con người, sản phẩm, các tổ chức, sự kiện và âm nhạc. Nhưng có một thực trạng đang diễn ra là rất nhiều trang đã lợi dụng rich snippets để quảng bá cho trang của mình mặc dù nội dung không nằm trong danh sách hỗ trợ của google. Điều này sẽ dẫn đến trang web của bạn có thể bị google đánh là SPAM. Vì thế tut dưới đây mình khuyên là chỉ những bạn nào làm web mà liên quan đến các nội dùng mà google cho phép thì hãy sử dụng.
Rich Snippet có 3 định dạng là Microdata, Microformats, RDFa. Mình xin hướng dẫn các bạn một định dạng hay được dùng đó là Microdata. Các bạn hãy copy đoạn code này vào những trang mà bạn cần hiển thị đánh giá như trang sản phẩm hoặc chi tiết sản phẩm.

<div style=” margin-top: -1px; position: fixed; text-indent: -99999px;” itemscope itemtype=”http://data-vocabulary.org/Recipe” >
<h1 itemprop=”name”>Tên  trang web hoặc  tên công ty</h1>
<img itemprop=”photo” src=”Đường dẫn ảnh” />
By <span itemprop=”author”>Tên tác giả -webzoomz.</span>
<span itemprop=”summary”>Mô tả về trang web hoặc công ty</span>
<span itemprop=”review” itemscope itemtype=”http://data-vocabulary.org/Review-aggregate”>
<span itemprop=”rating”>chỉ số ngôi sao đánh giá(cao nhất là 5 mình ví dụ ở đây là 4.5 chẳng hạn)</span> sao trên
<span itemprop=”count”>Số lượt hoặc số người đánh giá.(ví dụ 2012 người)</span>người dùng</span>
</span>
</div>

OK, như vậy là bạn đã có thể có được rich snippet rating stars trên kết quả tìm kiếm. Sau khi lưu lại bạn vào đây để check nha:http://www.google.com/webmasters/tools/richsnippets.
tao rich snippet recipe cho web

Để tìm hiểu thêm các thông tin bạn hãy vào trang này :http://support.google.com/webmasters/bin/answer.py?hl=en&answer=99170&topic=21997&ctx=topic
Chúc các bạn thành công!
mscaptcha trong aspnet
Trong 2 bài viết trước mình đã giới thiệu cho các bạn cách tạo captcha trong asp.netcách nhúng recaptcha vào web aspnet. Hôm nay mình xin giới thiệu một cách khác nữa để tạo captcha chống spam cho website của bạn. Đó chính là MSCaptcha. Đây là dll được cũng cấp riêng cho ASP.NET để tạo mã captcha. DLL này mình sẽ đính kèm với file source ở phía dưới.
Bước 1 :  Để sử dụng dll này đầu tiên bạn cần AddReference nó vào web và sau đó bạn hãy đưa nó vào toolbox bằng cách click chooseitem và thêm nó vào.
Bước 2: Sau đó bạn hãy vào file Web.config và đăng kí sử dụng nó.

<httpHandlers>
        <add verb ="GET" path ="CaptchaImage.axd" type= "MSCaptcha.captchaImageHandler, MSCaptcha "/>
      </httpHandlers>
Bước 3: Kéo control MSCaptcha từ toolbox vào.
<%@ Register Assembly="MSCaptcha" Namespace="MSCaptcha" TagPrefix="cc1" %> 
Đây là register được sinh ra nếu bạn đã kéo control ra. Tiếp theo là code giao diện

<div>
     
    <cc1:CaptchaControl ID="captcha" runat="server" CaptchaLength="2" CaptchaBackgroundNoise="None" CaptchaLineNoise="Low" CaptchaHeight="60" CaptchaWidth="250"  />
    <asp:TextBox ID="txtCaptcha" runat="server" />
    <asp:Label ID="lbResult" runat="server" />
    <asp:Button ID="btnSubmit" runat="server" Text="Submit" onclick="btnSubmit_Click" />
    </div>
 Còn đây là code trong behindcode.

protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            lbResult.Text = "";
        }
    }
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        captcha.ValidateCaptcha(txtCaptcha.Text);
        if (!captcha.UserValidated)
        {
            lbResult.ForeColor = Color.Red;
            lbResult.Text = "Invalid";
        }
        else
        {
            lbResult.ForeColor = Color.Green;
            lbResult.Text = "Valid";
        }
    }
Ok, bây giờ chúng ta save và run thôi.
mscaptcha trong aspnet

mscaptcha trong aspnet
Bạn có thể tùy biến các thuộc tính của control để tăng hoặc giảm độ khó và số kí tự của control.
 Các bạn có thể download source tại đây.
Ngoài ra các bạn có thể tham khảo thêm thông tin về dll này tại đây.


recaptcha aspnet
Bài viết trước mình đã hướng dẫn các bạn cách tạo một captcha chống spam trong asp.net.  Với cách tạo đó bạn có thể tùy biến được captcha của mình. Nhưng trên các web hiện nay bạn đều thấy còn một loại captcha  được sử dụng khá phổ biến đó là  Google Recaptcha. Bài viết này mình xin hướng dẫn các bạn cách đăng kí và sử dụng captcha này.
Bước 1: Đăng kí recaptcha
Các bạn hãy vào trang http://www.google.com/recaptcha để đăng kí 1 tài khoản.
nhung recaptcha vao web aspnet
Sau khi đăng kí tài khoản thì bạn sẽ nhận được 1  public key và 1 private key. Bạn hãy copy lại 2 key này.
Để lấy được 2 key này bạn cần phải nhập tên website của bạn(không cần thiết phải chính xác).
Sau đó bạn hãy download recaptcha dll về tại đây
Bước 2: Tạo ứng dụng web sử dụng recaptcha
Tiếp theo bạn hãy tạo 1 ứng dụng web asp.net và Add Reference tới recaptcha dll mà bạn vừa download được.
Bạn hãy register dll cho trang bạn sử dụng.
<%@ Register TagPrefix="recaptcha" Namespace="Recaptcha" Assembly="Recaptcha" %>
 Tiếp theo là phần giao diện:

<div>
         <recaptcha:RecaptchaControl
    ID="recaptcha"
    runat="server"
    PublicKey="6LckeNQSAAAAAFpwu4ywENBgCFsPYarPC0aGpFub"
    PrivateKey="6LckeNQSAAAAAHJDm6_cj8kSKiBFrgArARhCpUWH"
    Theme="white"
    />
              <asp:Label Visible="false" ID="lblResult" runat="server" />
    <asp:Button ID="btnSubmit" runat="server" Text="Submit" onclick="btnSubmit_Click" />
    </div>
Phần giao diện gồm có recaptcha control, label thông báo lỗi và 1 button submit.
Và bây giờ chúng ta code cho phần behind code.
 protected void Page_Load(object sender, EventArgs e)    {
        lblResult.Visible = false;
    }
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        lblResult.Visible = true;
        if (!recaptcha.IsValid)
        {
            lblResult.ForeColor = Color.Red;
            lblResult.Text = "Captcha is invalid.";
        }
        else
        {
            lblResult.ForeColor = Color.Green;
            lblResult.Text = "Captcha is valid";
        }
    }
Bây giờ save và run thôi:
nhung recaptcha vao web aspnet
nhung recaptcha vao web aspnet
 OK, ngoài ra các bạn cũng phải có thể tùy biến theme cho recaptcha. ở đây mình dùng theme white, các bạn có thể dùng theme blackglass, red(theme mặc định,clean).
Các bạn có thể vào đây tham khảo thêm :https://developers.google.com/recaptcha/
Các bạn có thể download source tại đây nha. Chúc các bạn thành công
tao captcha aspnet
Captcha là một chuỗi kí tự đã bị làm biến dạng hoặc khó để đọc đi. Captcha thường được sử dụng để chống spam trên web. Có rất nhiều cách để đưa captcha vào web. Hôm nay mình sẽ hướng dẫn các bạn cách để tạo một captcha trong asp.net.
Bước 1: Tạo giao diện captcha

<div>
<asp:Image ID="imgCaptcha" runat="server"/>
<asp:ImageButton ID="imbReLoad" runat="server" ImageUrl="~/Images/tao captcha asp.net.jpg" OnClick="imbReLoad_Click" /><br />
<asp:TextBox runat="server" ID="txtCaptcha" />&nbsp;<br />
<asp:Button runat="server" ID="btnSubmit" Text="Đồng ý" OnClick="btnSubmit_Click" /> <br />
<asp:Label ID="lblMessage" runat="server" ForeColor="Red"></asp:Label>
</div>  

Bước 2: Tạo phương thức sinh captcha.

private void CreateCaptcha()
        {
            // font cho captcha
            string[] fonts ={ "Arial Black", "Lucida Sans Unicode", "Time New Roman" };
            // số lượng kí tự của captcha
            const byte LENGTH = 6;
            // chuỗi để lấy các kí tự sẽ sử dụng cho captcha
            const string chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijk lmnopqrstuvwxyz";
            // tạo ảnh bitmap.
            using (Bitmap bmp = new Bitmap(120, 30))
            {
                using (Graphics g = Graphics.FromImage(bmp))
                {
                    // Tạo nền cho ảnh dạng nhiều dấu chấm
                    HatchBrush brush = new HatchBrush(HatchStyle.DottedDiamond, Color.Green,Color.GreenYellow);
                    g.FillRegion(brush,g.Clip);
                    // Lưu chuỗi captcha trong quá trình tạo
                    StringBuilder strCaptcha = new StringBuilder();
                    Random rand = new Random();
                    for (int i = 0; i < LENGTH; i++)
                    {
                    // Lấy kí tự ngẫu nhiên từ mảng chars
                    string str = chars[rand.Next(chars.Length)].ToString();
                    strCaptcha.Append(str);
                    // Tạo font với tên font ngẫu nhiên chọn từ mảng fonts
                    Font font = new Font(fonts[rand.Next(fonts.Length)], 14, FontStyle.Strikeout | FontStyle.Italic);
                    // Lấy kích thước của kí tự
                    SizeF size= g.MeasureString(str,font);
                    // Vẽ kí tự đó ra ảnh tại vị trí tăng dần theo i, vị trí top ngẫu nhiên
                    g.DrawString(str, font,
                    Brushes.Chocolate,i*size.Width+3, rand.Next(2,10));
                    font.Dispose();
                    }
                    // Lưu captcha vào session
                    Session["captcha"]=strCaptcha.ToString();
                    // Lưu ảnh vào thư mục captcha với tên ảnh dựa theo IP
                    string path = "Captcha/" + Request.UserHostAddress + ".gif";
                    bmp.Save(Server.MapPath("") + "/" + path, ImageFormat.Gif);
                    imgCaptcha.ImageUrl = path;
                }
            }
Cách thức để tạo mình đã giải thích khá rõ trên code rồi.

Bước 3: Gọi phương thức sinh captcha.

protected void Page_Load(object sender, EventArgs e)
        {
             if (!IsPostBack)  
             CreateCaptcha();
        }    
        protected void imbReLoad_Click(object sender, System.Web.UI.ImageClickEventArgs e)
        {
             CreateCaptcha();
             lblMessage.Text = "";
        }
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
              if (txtCaptcha.Text.Equals(Session["captcha"].ToString(), StringComparison.OrdinalIgnoreCase))
                lblMessage.Text = "Captcha chính xác";
              else
                lblMessage.Text = "Captcha chưa chính xác. Vui lòng nhập lại!";
        }
Và đây là kết quả:
tao captcha aspnet

tao captcha aspnet

 Các bạn có thể download source tại đây nha.
Các bạn có thể tham khảo thêm cách sử dụng recaptcha tại đây
pagerankGoogle Pagerank là một chỉ số quan trọng trong SEO. Nhưng bạn đã biết cách để kiểm tra nó với ASP.NET. Hôm nay mình xin giới thiệu cho các bạn cách để tạo ra một module để check google pagerank. Module chỉ mang tính chất demo nên mình sẽ làm đơn giản.
Bước 1: Giao diện

<div>
            Nhập tên miền: <asp:TextBox ID="txtDomain" runat="server"/>
            <asp:Button ID="btnCheck" runat="server" Text="Check" onclick="btnCheck_Click"
                style="height: 26px" /><br />
            Google Pagerank <asp:Label ID="lbPageRank" runat="server" />
    </div>
Bước 2: Tạo class check Pagerank
Đây là những thuật toán mà google sẽ sử dụng để check pagerank cho bạn.
public class GooglePR
{
    public GooglePR()
    {
    }
    private const UInt32 myConst = 0xE6359A60;
    private static void _Hashing(ref UInt32 a, ref UInt32 b, ref UInt32 c)
    {
        a -= b; a -= c; a ^= c >> 13;
        b -= c; b -= a; b ^= a << 8;
        c -= a; c -= b; c ^= b >> 13;
        a -= b; a -= c; a ^= c >> 12;
        b -= c; b -= a; b ^= a << 16;
        c -= a; c -= b; c ^= b >> 5;
        a -= b; a -= c; a ^= c >> 3;
        b -= c; b -= a; b ^= a << 10;
        c -= a; c -= b; c ^= b >> 15;
    }
    public static string PerfectHash(string theURL)
    {
        string url = string.Format("info:{0}", theURL);
        int length = url.Length;
        UInt32 a, b;
        UInt32 c = myConst;
        int k = 0;
        int len = length;
        a = b = 0x9E3779B9;
        while (len >= 12)
        {
            a += (UInt32)(url[k + 0] + (url[k + 1] << 8) +
                 (url[k + 2] << 16) + (url[k + 3] << 24));
            b += (UInt32)(url[k + 4] + (url[k + 5] << 8) +
                 (url[k + 6] << 16) + (url[k + 7] << 24));
            c += (UInt32)(url[k + 8] + (url[k + 9] << 8) +
                 (url[k + 10] << 16) + (url[k + 11] << 24));
            _Hashing(ref a, ref b, ref c);
            k += 12;
            len -= 12;
        }
        c += (UInt32)length;
        switch (len)
        {
            case 11:
                c += (UInt32)(url[k + 10] << 24);
                goto case 10;
            case 10:
                c += (UInt32)(url[k + 9] << 16);
                goto case 9;
            case 9:
                c += (UInt32)(url[k + 8] << 8);
                goto case 8;
            case 8:
                b += (UInt32)(url[k + 7] << 24);
                goto case 7;
            case 7:
                b += (UInt32)(url[k + 6] << 16);
                goto case 6;
            case 6:
                b += (UInt32)(url[k + 5] << 8);
                goto case 5;
            case 5:
                b += (UInt32)(url[k + 4]);
                goto case 4;
            case 4:
                a += (UInt32)(url[k + 3] << 24);
                goto case 3;
            case 3:
                a += (UInt32)(url[k + 2] << 16);
                goto case 2;
            case 2:
                a += (UInt32)(url[k + 1] << 8);
                goto case 1;
            case 1:
                a += (UInt32)(url[k + 0]);
                break;
            default:
                break;
        }
        _Hashing(ref a, ref b, ref c);
        return string.Format("6{0}", c);
    }
    public int MyPR(string myURL)
    {
        string strDomainHash = PerfectHash(myURL);
        string myRequestURL = string.Format("http://toolbarqueries.google.com/" +
               "tbr?client=navclient-auto&ch={0}&features=Rank&q=info:{1}",
               strDomainHash, myURL);
        try
        {
            HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(myRequestURL);
            string myResponse = new StreamReader(
                   myRequest.GetResponse().GetResponseStream()).ReadToEnd();
            if (myResponse.Length == 0)
                return 0;
            else
                return int.Parse(Regex.Match(myResponse,
                       "Rank_1:[0-9]:([0-9]+)").Groups[1].Value);
        }
        catch (Exception)
        {
            return -1;
        }
    }
Bước 3: Sử dụng lớp khai báo trên

protected void btnCheck_Click(object sender, EventArgs e)
    {
        GooglePR pr = new GooglePR();
        string url = txtDomain.Text; ;
        int google_page_rank = pr.MyPR(url);
        lbPageRank.Text ="của "+url+" là : "+ google_page_rank.ToString();
    }
 Và đây là kết quả:
pagerank

pagerank
Chúc các bạn thành công!
Một website có thu hút được visitors hay không là phụ thuộc rất nhiều vào giao diện của web. Một phần làm nên sự đặc sắc của giao diện web chính là font chữ. Trước mình đã giới thiệu cho các bạn một số fonts đẹp trên Google Font API . Hôm nay mình sẽ hướng dẫn các bạn cách tùy biến font trên web với Google API. Để tùy biến font các bạn hãy vào http://www.google.com/webfonts/ để tìm những fonts mình thích. Sau đó các bạn hãy gõ đoạn code khai báo sử dụng font đó.

<head>
<link href='http://fonts.googleapis.com/css?family=Convergence' rel='stylesheet' type='text/css'>
<style>
h3 { font-family: 'Convergence', arial, serif; }
</style>
</head>



Webzoomz.info| Blog chia sẻ kiến thức phát triển web - Đoạn text sử dụng font Convergence

Các fonts trên google hiển thị tốt trên các trình duyệt kể cả trình duyệt khó tính như IE. Hy vọng mọi người sẽ có được một font chữ đẹp.

game cau ca html5
Tối nay lang thang trên mạng mình thấy có một bộ source game rất hay. Bộ source này là game câu cá được code bằng HTML5 và Javascript. Nên mình share cho mọi người cùng xem.
Game demo ở đây: http://html5.tnd.vn/fish/
Source: http://www.mediafire.com/?aj3t8fvaf76mu8y
Bộ source này bạn chỉ cần upload lên host là có thể chạy được hoặc bạn có thể chạy trực tiếp trên máy bạn.
social networking imageShare bài viết là một phần không thể thiếu trong việc xây dựng trang web. Share bài viết còn là một cách seo rất hiệu quả. Nhưng share ở đâu và làm thế nào để share thì không phải ai cũng biết. Hôm nay mình xin giới thiệu cho các bạn cách share bài viết và những nơi nên share.

Những nơi chúng ta nên share đó là những mạng xã hội(social networking). Đây là nơi mà có rất nhiều người truy cập và bài viết của bạn có thể dễ dàng được đoc như facebook,google plus,zing me.... Nơi thứ hai cho phép bạn share link đó là những trang share link như linkedin, linkhay.vn...
share button

Làm thế nào để chúng ta có thể share link?
Chúng ta có thể sử dụng những plugin được cung cấp sẵn bởi addthis. Hầu hết những trang web sử dụng tool share button hiện nay đều sử dụng plugin của addthis.
share button
Bạn chỉ cần chọn style và những mạng xã hội và mạng chia sẻ link để share. Sau đó copy script được sinh ra ở bên cạnh và paste và chỗ cần hiển thị là ok.
Nếu bạn không thích những style của addthis cung cấp bạn có thể tự tạo cho mình những style riêng và copy script code của add this và paste vào.
Ngoài ra nếu bạn không thích những plugin đó(không có những mạng xã hội bạn thích như yume,go.vn,... hoặc nó có những script nặng khiến web của bạn load chậm) thì bạn có thể tạo những button hoặc link để share cho riêng mình.
Mình ví dụ nếu bạn thích share bài viết trên go.vn thì bạn có thể code như sau:

<a href='http://api.go.vn/social-plugins/share/share.php?title=Tieu De &description=Mieu Ta &imgthumb=Duong link Anh+ link=Duong dan bai viet' rel='nofollow' target='_blank' title='Chia sẻ trên go.vn'>
        <img alt='Govn' height='25' src='https://lh6.googleusercontent.com/-/AHIYUaMBCP8/s24/govn.PNG' width='25'/>
      </a>      
Với cách code như trên bạn không cần đến 1 plugin share của go.vn rất dài mà chỉ cần đường link và truyền dữ liệu vào. Như thế sẽ nhẹ và nhanh hơn.
webzoomz share

Chúc các bạn thành công!
module gia vang va ty giaNhững bài viết trước mình đã giới thiệu với mọi người cách tạo một module lấy thông tin thời tiết. Hôm nay mình sẽ giới thiệu cho các bạn cách tạo một module đơn giản lấy về thông tin giá vàng và một module khác để lấy thông tin tỷ giá.
Đầu tiên là module giá vàng:
Chèn đoạn code này vào thẻ head
<script type="text/javascript" language="Javascript" src="http://vnexpress.net/Service/Gold_Content.js"></script>
Tiếp theo bạn chèn đoạn code sau vào body:
<table border="1" cellspacing="0" cellpadding="2">
    <tr><td><strong>LOẠI VÀNG</strong></td><td><strong>MUA</strong></td><td><strong>BÁN</strong></td></tr>
            <tr>
              <td><strong>SBJ</strong></td>
              <td><script language="Javascript"> document.write(vGoldSbjBuy); </script></td>
     <td><script language="Javascript"> document.write(vGoldSbjSell); </script></td>
            </tr>
            <tr>
              <td><strong>SJC</strong></td>
              <td><script language="Javascript"> document.write(vGoldSjcBuy); </script></td>
     <td><script language="Javascript"> document.write(vGoldSjcSell); </script></td>
            </tr>
    </table>
Và đây là kết quả:
module gia vang
Tiếp theo là module tỷ giá:
Cách làm giống như với module giá vàng:

Paste đoạn code này vào thẻ head

<script type="text/javascript" language="Javascript" src="http://vnexpress.net/Service/Forex_Content.js"></script>
Paste tiếp đoạn code sau vào body:
<table border="1" cellspacing="0" cellpadding="2">
        <tr>
          <td><strong>USD</strong> </td>
          <td><script language="Javascript">                  document.write(vCosts[0]); //USD </script></td>
        </tr>
        <tr>
          <td><strong>GBP</strong></td>
          <td><script language="Javascript">                  document.write(vCosts[1]); //GBP </script></td>
        </tr>
        <tr>
          <td><strong>HKD</strong></td>
          <td><script language="Javascript">                  document.write(vCosts[2]); //HKD </script></td>
        </tr>
        <tr>
          <td><strong>CHF</strong></td>
          <td><script language="Javascript">                  document.write(vCosts[3]); //CHF </script></td>
        </tr>
        <tr>
          <td><strong>JPY</strong></td>
          <td><script language="Javascript">                  document.write(vCosts[4]); //JPY </script></td>
        </tr>
        <tr>
          <td><strong>AUD</strong></td>
          <td><script language="Javascript">                  document.write(vCosts[5]); //AUD </script></td>
        </tr>
        <tr>
          <td><strong>CAD</strong></td>
          <td><script language="Javascript">                  document.write(vCosts[6]); //CAD </script></td>
        </tr>
        <tr>
          <td><strong>SGD</strong></td>
          <td><script language="Javascript">                  document.write(vCosts[7]); //SGD </script></td>
        </tr>
        <tr>
          <td><strong>EUR</strong></td>
          <td><script language="Javascript">                  document.write(vCosts[8]); //EUR </script></td>
        </tr>
        <tr>
          <td><strong>NZD</strong></td>
          <td><script language="Javascript">                  document.write(vCosts[9]); //NZD </script></td>
        </tr>
        <tr>
          <td><strong>Bat Thái Lan</strong></td>
          <td><script language="Javascript">                  document.write(vCosts[10]); //Bat Thái Lan </script></td>
        </tr>
      </table>
Save-> Run-> Kết quả:
module ty gia
Với 2 module trên bạn có thể style theo ý mình sao cho đẹp là được. Ngoài cách lấy thông tin từ 2 file js của vnexpress.net bạn có thể có nhiều cách để lấy các thông tin giá vàng và tỷ giá. Như bạn có thể lấy thông tin từ những iframe của các ngân hàng. Mình ví dụ ngân hàng eximbank:
<iframe src="http://www.eximbank.com.vn/WebsiteExrate1/exchange.aspx" marginheight="5px"
marginwidth="0" scrolling="no" width="300px" frameborder="0" height="245px"></iframe>
<iframe src="http://www.eximbank.com.vn/WebsiteExrate1/gold.aspx" marginheight="0"
marginwidth="0" scrolling="no" width="300px" frameborder="0" height="100px"></iframe> 
Đây là 2 iframe nếu bạn view source của họ thì bạn sẽ thấy. Bạn hãy copy và chỗ bạn cần hiển thị và chạy thôi. Mình đã chạy thử và đây là kết quả:
module gia vang va ty gia
Ok. Chúc các bạn có những module tỷ giá đẹp.