Monday, May 30, 2011

FDNav - Phân trang cho blogspot

Trước kia mình đã từng giới thiệu thủ thuật phân trang cho blogspot, nhưng chỉ là phạm vi ở trang chủ, do đó 1 tiện ích này còn được ít người sử dụng. Hôm nay mình sẽ nâng cấp thủ thuật này lên cho toàn bộ blog.


* Một số tính năng mới :
- Hiển thị phân trang cho toàn bộ blog (trừ trang Archive).
- Hiển thị trang báo lỗi 404 khi trang tìm kiếm không tồn tại.
- Hiện thị 2 dạng list và dạng thumbnail.
* Nhược điểm :
- Không hiện thị được với trang Archive. Vì thế ai dùng thủ thuật này sẽ phải chấp nhận đóng các trang Archive lại.
- Thanh Navigation hiện thị trên đầu khi truy cập blog từ IE6 và Opera.

- Bên dưới là hình minh họa trang báo lỗi (ví dụ 1 nhãn chỉ có 50 trang, mà bạn tự truy cập vào trang có giá trị page là 51 thì tiện ích sẽ báo lỗi)

Để thực hiện thủ thuật này, các bạn vào bài viết "Phân trang cho trang chủ" để tham khảo cách thực hiện.

Cách thực hiện tương tự như bài trước, vào chỉ việc thay thế các code ở các bước như bên dưới:
- Sửa lại code ở bước 1 như bên dưới :
...
...
<style type='text/css'>
<b:if cond='data:blog.url != "item"'>
#Blog1 {display:none;}
</b:if>
</style>
- tiếp theo là ẩn nội dung bài viết : tìm đọan code như bên dưới :
<div class='post-header-line-1'/>
<div class='post-body entry-content'>
...
xuống bên dưới vài dòng ta sẽ thấy đọan code như bên dưới
...
<data:post.body/>
<div style='clear: both;'/> <!-- clear for photos floats -->

</div>
- phần code này chính là nội dung của mỗi bài viết.
- và chèn thêm code như bên dưới :
<div class='post-header-line-1'/>
<div class='post-body entry-content'>
<b:if cond='data:blog.url == "item"'>
...
xuống bên dưới vài dòng ta sẽ thấy đọan code như bên dưới
...
<data:post.body/>
<div style='clear: both;'/> <!-- clear for photos floats -->
</b:if>

</div>

- Thay thế code ở bước 2 thành code như bên dưới :
<style type="text/css">
.clear {clear: both;}
.home-navi {width:500px;color:#000}
.home-navi h2 {border-bottom:1px solid #f70;padding-bottom:3px;margin-bottom:5px;}
.home-navi h2 a {text-decoration:none;color:#c65b00;}
.home-navi h2 a:hover {color:#eb8e41;}
.home-navi p {color:#000;}
.home-navi p span {color:#000}
.cat_tags {background:#FFF url(http://data.fandung.com/img/fd_category1.png) no-repeat;width:500px;}
.cat_tags_close {background:#FFF url(http://data.fandung.com/img/fd_category1.png) 0 -81px no-repeat;width:500px;}
.cat_tags{margin-top:10px;padding:8px 0 5px 10px;}
.cat_tags_close{max-height:3px;height:3px;margin-bottom:20px;}

.cat_tags .continue{float:right;padding-right:10px;width:90px;text-align:center;}
.cat_tags .category{float:left;color:#f70;width:360px;}
.cat_tags .category a {color:#}
.cat_tags a {color:#999;}
.cat_tags .continue a {color:#fff;text-decoration:none;}
.cat_tags .continue a:hover {text-decoration:underline;font-weight:bold;}

#page-rc-tooltip {font-weight:bold; padding-top:15px;margin-bottom:15px;text-align:center;}
#page-rc-tooltip a {text-decoration:none; border:1px solid #fcb353; padding:2px 5px;background:#fae9c8;}
#page-rc-tooltip a:hover {color:#f00;background:#fcc697;}
#page-rc-tooltip span {border:1px solid #ccc; padding:2px 5px;background:#fff;}
#page-rc-tooltip span.currentpage {background:#fcaa62;}

a.label-link {color:#555;text-decoration:none;}
a.label-link:hover {color:#000;text-decoration:underline;}

td.listtitle {padding-left:5px;width:405px;}
td.listtitle span {color:#888;font-size:85%;}
td.listtitle span a{color:#e70!important;}
td.listtitle span i{color:#000!important;}
td.listinfo {width:90px;text-align:right;font-size:85%;color:#888;}
td.listinfo span {color:#000;font-style:italic;}

</style>
<div style="margin-bottom:10px;padding:5px;font-weight:bold;border:1px solid #fcb353;-khtml-border-radius: 5px;-moz-border-radius: 5px;-webkit-border-radius: 5px;background:#fae9c8;">
Dạng xem (<a href="?v=full">Full</a> | <a href="?v=list">List</a>)<img src="http://www.nepalguidetreks.com/images/new_animated.gif" /> - <i style="color:#f00;">Đang thử nghiệm</i></div>

<script type='text/javascript'>
//<![CDATA[
//page, view value

String.prototype.GetValue= function(para) {
var reg = new RegExp("(^|&)"+ para +"=([^&]*)(&|$)");
var r = this.substr(this.indexOf("\?")+1).match(reg);
if (r!=null) return unescape(r[2]); return null;
}
var str = location.href;
var page = str.GetValue("page");
var view = str.GetValue("v"); //lấy giá trị dạng xem
var homepageurl = "http://www.fandung.com/";
var urllength = homepageurl.length;
if (page==undefined) { page = "1"; }
if (view==undefined) { view = "full"; } //mặc định giá trị view là full

if (str.indexOf("search/label")!=-1) {
if (str.indexOf("?")!=-1){
var str1 = str.split("?")[0];
var label = str1.substring(urllength+13,str1.length);
}
else {
var label = str.substring(urllength+13,str.length);
}
var textlabel = "/-/"+label;
var textpage = "search/label/"+label;
}
else {var textlabel ="";var textpage = ""; }


// remove tags
function stripHtmlTags(s,max){
s=s.replace(/<br.*?>/ig, ' ');
return s.replace(/<.*?>/ig, '').split(/\s+/).slice(0,max-1).join(' ')
}

//get RSS FEED
function showrecentposts(json) {
img = new Array();
for (var i = 0; i < numposts; i++) {
var entry = json.feed.entry[i];
var posttitle = entry.title.$t;
var pcm ;
var posturl;
if (i == json.feed.entry.length) break;
for (var k = 0; k < entry.link.length; k++) {
if (entry.link[k].rel == 'alternate') {
posturl = entry.link[k].href;
break;
}
}

for (var k = 0; k < entry.link.length; k++) {
if (entry.link[k].rel == 'replies' && entry.link[k].type == 'text/html') {
pcm = entry.link[k].title.split(" ")[0];
break;
}
}
var plabel = new Array();
var cate = entry.category;
if(cate) {
for (var k = 0; k < entry.category.length; k++) {
plabel[k] = ' <a class="label-link" href="http://www.fandung.com/search/label/'+entry.category[k].term+'">'+entry.category[k].term+'</a> ';
}
}
else {plabel = "No label";}

var authpost = entry.author[0].name.$t;

var postdate = entry.published.$t;
var month = [1,2,3,4,5,6,7,8,9,10,11,12];
var month2 = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];

var day = postdate.split("-")[2].substring(0,2);
var m = postdate.split("-")[1];
var y = postdate.split("-")[0];
postDay = day+ "/" + m + "/" + y ;

if ("content" in entry) {
var postcontent = entry.content.$t;}
else
if ("summary" in entry) {
var postcontent = entry.summary.$t;}
else postcontent = "";

s = postcontent; a = s.indexOf("<img"); b = s.indexOf("src=\"",a); c = s.indexOf("\"",b+5); d = s.substr(b+5,c-b-5);

if((a!=-1)&&(b!=-1)&&(c!=-1)&&(d!="")) {img[i] = d;} else {img[i]="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqFU-aycLKSigtQ6R7lFWP9Ll2gi9t4_sFAO-Gx3FoSGhqmnwKsIpCzeL9oYs7jPfl3kuXJLJgZF3xbp7sM8ZGIAhRAE0IqIYTj0rF49VXMyl4ZbcBzq2Iw_25pJGtmrTF5kdsrnsgHgg/s400/noimage.png";}

if (pcm==0) {var comment = " Chưa có nhận xét";}
//else if (pcm==1) {var comment = " "+ pcm + " Comment ";}
else {var comment = '<font style="color:#f80;">'+ pcm +'</font> Nhận xét';}

var td1 = '<div class="home-navi"><h2><a href="'+posturl+'">'+posttitle+'</a></h2><p style="font-size:85%;color:#888;"><span>by</span> '+authpost+' | <span>on</span> '+postDay+' | '+comment+'</p><p style="padding:10px 0px;"><img style="width:120px;padding:2px;border:1px solid #ccc;margin-right:5px;margin-bottom:5px;float:left;" src="'+img[i]+'" />'+stripHtmlTags(postcontent,90)+' ...</p> <div class="cat_tags clear"><span class="category">Nhãn : '+plabel+'</span><span class="continue"><a href="'+posturl+'">Xem thêm...</a></span><div class="clear"></div></div><div class="cat_tags_close"></div></div>';

var td2 = '<div style="border-bottom:1px dashed #f80;"><table><tr><td valign="top" class="listinfo">'+comment+'<br/><span>by</span> '+authpost+'<br/><span>on</span> '+postDay+'</td><td valign="top" class="listtitle"><a href="'+posturl+'"><b>'+posttitle+'</b></a><br/><span><i>Tags</i> : '+plabel+'</span></td></tr></table></div>';

if (view=="full") {document.write(td1);}
else {document.write(td2);}
}
}

// get total number of posts
function numberOfPosts(json) {
document.write('<script style=\"text/javascript\">var totalPosts= '+json.feed.openSearch$totalResults.$t+' ;<\/script>');
}
document.write('<script src=\"http://www.fandung.com/feeds/posts/default'+textlabel+'?alt=json-in-script&callback=numberOfPosts\"><\/script>');

//]]>
</script>

<script type='text/javascript'>

if (str.indexOf("archive.html")!=-1) {
document.write("<div style=\"text-align:center;padding:10px;background-color:#fae9c8;border:1px #fcb353 solid;\"><img src=\"http://data.fandung.com/img/404page-bg.png\" \/><br><br>Trang mà bạn đang tìm không tồn tại trên blog.<br> Click <a href=\"http://www.fandung.com\">vào đây<\/a> để trở về trang chủ.<\/div>"); }

else {
var rcpage = new Array();
if (view=="full") {
var numposts = 5; // số bài viết hiển thị trên 1 trang dạng thumbnail
}
else {var numposts = 20;} // số bài viết hiển thị trên 1 trang dạng list

var numpage=totalPosts/numposts;
var lastnum = totalPosts%numposts;
if (lastnum==0) {numpage=numpage+1;}

for (var m=1;m<numpage;m++) {
var start=numposts*(m-1)+1;
rcpage[m] ="<script src=\"http://www.fandung.com/feeds/posts/default"+textlabel+"?start-index="+start+"&max-results="+numposts+"&orderby=published&alt=json-in-script&callback=showrecentposts\"><\/script>";
}
if ((page>numpage)&&(page<numpage+1)&&(lastnum>0)) {
var numposts=lastnum;
start = totalPosts-lastnum+1;
document.write("<script src=\"http://www.fandung.com/feeds/posts/default"+textlabel+"?start-index="+start+"&max-results="+numposts+"&orderby=published&alt=json-in-script&callback=showrecentposts\"><\/script>");
}
else if ((page>numpage)||((page>numpage-1)&&(lastnum==0))){document.write("<div style=\"text-align:center;padding:20px 10px;background-color:#fae9c8;border:1px #fcb353 solid;\"><img src=\"http://data.fandung.com/img/404page-bg.png\" \/><br><br>Trang mà bạn đang tìm không tồn tại trên blog.<br>Click <a href=\"http://www.fandung.com\">vào đây<\/a> để trở về trang chủ.<\/div>"); }
else {document.write(rcpage[page]); }

// Create page navigation

if (lastnum==0) {var pagelist=totalPosts/numposts;} else {var pagelist=numpage+1;}
var pagelist1 = parseInt(pagelist);

var npage = parseFloat(page);

if (page<=parseInt(pagelist)) {

if ((pagelist>=2)&&(pagelist1<6)) {

document.write("<div id=\"page-rc-tooltip\">Page ("+page+"/"+parseInt(pagelist)+") : ");
for (var n=1;n<pagelist1+1;n++) {
if (n==npage) {var navpage=" <span class=\"currentpage\" >"+n+"<\/span>";} else {var navpage=" <a href=\"http://www.fandung.com/"+textpage+"?v="+view+"&page="+n+"\">"+n+"<\/a>";}
document.write(navpage);
}
document.write("<\/div>");
}

if ((pagelist>=6)&&(page<4)) {
document.write("<div id=\"page-rc-tooltip\">Page ("+page+"/"+parseInt(pagelist)+") : ");
for (var n=1;n<6;n++) {
if (n==npage) {var navpage=" <span class=\"currentpage\" >"+n+"<\/span>";} else {var navpage=" <a href=\"http://www.fandung.com/"+textpage+"?v="+view+"&page="+n+"\">"+n+"<\/a>";}
document.write(navpage);
}
if (parseInt(pagelist)>5) { document.write(" ... <a href=\"http://www.fandung.com/"+textpage+"?v="+view+"&page="+parseInt(pagelist)+"\">Last<\/a><\/div>"); } else {document.write("<\/div>");}
}

else if ((pagelist>=6)&&(page>3)&&(page<parseInt(pagelist)-2)) {
var first = page-2;
var last = first+5;
document.write("<div id=\"page-rc-tooltip\">Page ("+page+"/"+parseInt(pagelist)+") : <a href=\"http://www.fandung.com/"+textpage+"?v="+view+"&page=1\">First<\/a> ...");
for (var n=first;n<last;n++) {
if (n==npage) {var navpage=" <span class=\"currentpage\" >"+n+"<\/span>";} else {var navpage=" <a href=\"http://www.fandung.com/"+textpage+"?v="+view+"&page="+n+"\">"+n+"<\/a>";}
document.write(navpage);
}
document.write(" ... <a href=\"http://www.fandung.com/"+textpage+"?v="+view+"&page="+parseInt(pagelist)+"\">Last<\/a><\/div>");
}

else if ((pagelist>=6)&&(page>3)&&(page>parseInt(pagelist)-3)) {
var first = parseInt(pagelist)-4;
var last = parseInt(pagelist)+1;
document.write("<div id=\"page-rc-tooltip\">Page ("+page+"/"+parseInt(pagelist)+") : <a href=\"http://www.fandung.com/"+textpage+"?v="+view+"&page=1\">First<\/a> ...");
for (var n=first;n<last;n++) {
if (n==npage) {var navpage=" <span class=\"currentpage\" >"+n+"<\/span>";} else {var navpage=" <a href=\"http://www.fandung.com/"+textpage+"?v="+view+"&page="+n+"\">"+n+"<\/a>";}
document.write(navpage);
}
document.write("<\/div>");
}
}
} //kết thúc lệnh không cho phép hiện thị tiện ích trên trang archive
</script>
- Các giá trị numposts=5; numposts=20; lần lượt là số bài viết hiển thị trên 1 trang dạng thumbnail và dạng list.
- Thay www.fandung.com thành tên blog của bạn.
- Chú ý : code ở bước 2 là code mình chia sẻ, vì thế muốn cho tiện ích phù hợp với blog của các bạn thì các bạn nên tùy chỉnh lại code CSS. Thứ 2 nữa là giao diện hiển thị, các bạn có thể tùy chỉnh giao diện hiển thị bằng cách thay đổi code của biến td1td2 (với td1 là giao diện của dạng thumbnail, td2 là giao diện của dạng list.)

- Đến bước thứ 3: ta có đoạn code như thế này :
<b:if cond='data:blog.pageType == data:blog.homepageUrl'>
...
...
...
</b:if>
- thay thế nó bằng code như bên dưới:
<b:if cond='data:blog.pageType != "item"'>
...
...
...
</b:if>
- ở bài trước, tiện ích chỉ cho phép hiển thị ở trang chủ, bài này ta mở rộng cho nó hiển thị ở tất cả các trang trừ trang bài viết.

Như vậy mình đã giới thiệu xong. Chúc các bạn thành công.

Quan niệm may rủi trong cuộc sống

"May - rủi" là hai từ ngữ được người ta sử dụng để áp đặt cho số phận và định mệnh mà họ cho rằng nó luôn chi phối vào cuộc sống của con người. May là tốt, rủi là xấu, nếu gặp may thì người ta vui mừng, gặp rủi thì người ta buồn khổ. Nhưng đời người ai tránh được thời rủi vận may đâu. Có khi chỉ trong một ngày may rủi đến nhiều như lá mùa thu rụng vàng trên mặt đất.


Cổ nhân cũng có câu: "Phước bất trùng lai, họa vô đơn chí" để nói cái lẽ tự nhiên trong cuộc sống được xem như một sự thật hẳn nhiên, một định luật bất di bất dịch của cuộc sống. Cái phước không đến hai lần, còn họa thì không bao giờ đi một mình mà nó ồ ập kéo đến và vây phủ lấy chúng ta khiến đôi lúc chúng ta không kịp hớp một hơi không khí để mà thở nữa.

May rủi cũng là hai tên gọi cho hai điều được và mất, hên và xui mà chúng ta vẫn thường hay sử dụng trong cuộc sống thường ngày hay nói theo tín ngưỡng dân gian còn gọi là họa và phúc. Con người thường có xu hướng cầu phúc lánh họa, cầu lành tránh dữ, đón may xua rủi... Nhưng đa số chúng ta toàn gây ra những điều tai họa nhiều hơn là tạo phúc và gây ra tội lỗi nhiều hơn là làm việc lành. Ấy vậy mà chúng ta luôn thiết tha cầu mong điều tốt đẹp đến cho mình trong cuộc sống. Không biết khi chúng ta gieo một hạt ớt xuống đất chúng ta nghĩ nó sẽ mọc lên cây sầu riêng chắc? Ở hiền thì gặp lành, ở ác thì gặp dữ, ông bà ta đã dạy thế rồi mà!

Vậy chúng ta còn cầu mong điều lành để làm gì trong khi chúng ta toàn làm những việc không đúng, không tốt nhỉ? Điều quan trọng chúng ta cần phải hiểu là muốn ăn trái ngọt, hưởng được hoa thơm thì phải gieo giống lành kia mà! Cầu xin thì có ích gì khi mà người khác luôn cầu xin mình đừng tổn hại họ, hãy ban phát và yêu thương họ những chúng ta nào có làm được điều đó cho ai đâu. Vậy tại sao điều chúng ta không hề làm cho mọi người mà chúng ta lại cầu nguyện ân trên làm cho chúng ta và cầu mong cuộc sống sẽ mang đến cho chúng ta nhỉ?

Người ta thường nói "Trong cái rủi luôn có cái may" và ngược lại "Trong cái may luôn có cái rủi". Sự may rủi chỉ là những khái niệm trừu tượng mang tính buông xuôi và bằng lòng với số phận của chính mình. Cái rủi là những điều không tốt, không đẹp mà thế gian không ai muốn có nhưng nó vẫn luôn luôn tìm đến và chi phối đời sống của con người. Còn cái may chính là những điều mà người ta luôn mong muốn, ham thích và tìm cầu. Vì nó mang lại cho con người niềm vui và hạnh phúc trong cuộc sống.

Con người thường có xu hướng tìm đến với những tặng phẩm quý giá trong cuộc sống, tặng phẩm tâm linh và tặng phẩm vật chất. Một tâm hồn thoải mái, nhẹ nhàng, một đời sống bình dị an vui mà không bị bất cứ ai hay thứ gì quấy rối và phiền nhiễu đó là tặng phẩm tâm linh. Còn tặng phẩm vật chất chính là sự đầy đủ, sung túc và thoải mái trong nhu cầu hưởng thụ vật chất và một đời sống giàu sang phú quý, đầy đủ danh vọng và địa vị trong xã hội. Người ta thích được nổi bật, thích được tỏa sáng trước mọi người dù có phải dấn thân vào hay đè bẹp hoặc bất chấp tất cả để có được điều họ mong muốn.

Nếu được toại nguyện thì người ta cho là may và ngược lại thì họ cho là rủi. May rủi chỉ là cách nhìn nhận đơn giản trong tâm trí của những người luôn tham cầu và mong mỏi. Họ cảm nhận sự may rủi, được mất bằng thành quả chứ không hề nhìn đến cái nguyên nhân đã tạo ra thành quả đó. Họ không hề thắc mắc là tại sao họ được may và tại sao họ bị rủi? Họ có thể đổ trút mọi trách nhiệm lên số phận, lên định mệnh và đôi khi họ còn đổ trút lên cả ông Trời vì họ nghĩ ông Trời đã ban cho và lấy đi hoặc chi phối và chuyển vận đời sống của họ.

Tội nghiệp ông Trời, tự dưng ai làm tội nấy mang, ai tạo phước nấy hưởng, thế mà họ không hiểu điều đó, cứ trăm dâu đổ đầu tằm thì quả thật là oan ức cho đấng bề trên quá! Họ có biết đâu, ông Trời mà họ cho là chi phối số phận và cuộc sống của họ cũng phải chịu trăm đắng nghìn cay, phải luân chuyển trầm luân cũng như họ, cũng phải nếm trải nỗi đau sanh ly tử biệt chứ có sung sướng gì đâu. Ngài có được cái địa vị ông Trời cũng vì Ngài đã phải làm biết bao điều tốt đẹp cho nhân gian nên Ngài mới được thừa hưởng thành quả mà Ngài đã dày công vun đắp, tạo dựng, chứ có phải Ngài sanh ra từ một ông Trời cha và kế thừa Thiên vị ông Trời mà cha Ngài truyền lại cho Ngài đâu (theo kinh điển Phật giáo).

Nhân gian đau khổ thì oán trách Ngài, thất tình bi lụy cũng oán trách Ngài, thất bại trên đường công danh, sự nghiệp cũng oán trách Ngài. Vậy còn Ngài, Ngài đau khổ, thất tình, bi lụy, thân bại danh liệt thì Ngài sẽ trách ai? Vì có ai cao hơn Ngài nữa đâu mà Ngài đổ lỗi cho người đó. Không lẽ Ngài lại đi trách Phật, vì Phật cao hơn Ngài? Phật có ăn nhằm gì đến ai đâu mà trách Phật.


Phật thì muôn đời luôn mong mỏi chúng sanh cố gắng lánh ác cận lành, tu tâm dưỡng tánh để tự mình mang đến cho mình những điều tốt đẹp và thanh cao nhất trong cuộc sống. Phật là người tu hành với chủ nghĩa vô thần, vô sản chính thống, Phật không có cái gì để cho và cũng chẳng lấy đi của ai thứ gì vì Ngài đâu có cần những thứ mà Ngài cho là "nước bọt đã phun ra không thể nuốt trở vào" là "cặn bã của đời sống Thánh thiện".

Tín ngưỡng là một điều tốt, nhưng tín ngưỡng không phải là tất cả. Chúng ta không thể đổ lỗi cho ông Trời, cho số phận và cho định mệnh hay nghiệp duyên của mình mà quên đi tác nhân quan trọng đó chính là bản thân mình. Nếu một người tham gia giao thông mà không hiểu luật giao thông, không biết tôn trọng tài sản và sức khỏe cũng như mạng sống của người khác hay chúng ta điều khiển phương tiện một cách hời hợt, lơ đễnh và không chú tâm thì tất nhiên là gây ra tai nạn cho chính chúng ta và mọi người. Điều xui rủi đó do chính chúng ta tạo nên chứ không có ông Trời hay số phận, định mệnh nào an bày cho chúng ta cả.

Con người mỗi ngày hút từ lòng đất lên bao nhiêu lít dầu, bao nhiêu khí đốt, bao nhiêu khoáng sản, chặt phá bao nhiêu cây rừng, ngăn dòng chảy của bao nhiêu con sông để làm thủy điện và khoan bao nhiêu cái giếng phá vỡ mạch nước ngầm, xây bao nhiêu tòa nhà cao tầng, đóng xuống đất bao nhiêu cừ bê tông, xả xuống sông, xuống biển bao nhiêu là chất thải độc hại? Tất cả những điều đơn giản đó đã gây ra biết bao thảm họa cho môi trường sống của chính chúng ta. Hôm nay động đất, ngày mai sống thần, ngày kia lũ lụt, ngày nọ sụp lún, sạt lở, sập nhà, vỡ đê, tràn dầu trên biển, núi lửa phun, thủng tầng ô zôn, ô nhiễm môi trường... Rồi chúng ta đổ thừa cho số phận và ông trời sao? Trong khi chúng ta chính là thủ phạm và cũng chính là nạn nhân của những điều sai trái đó.

Điều quan trọng chúng ta cần phải hiểu là chính chúng ta làm cho chúng ta trong sạch và cũng chính chúng ta làm cho chúng ta bị nhiễm ô. "Tịnh tại ngã, bất tịnh tại ngã. Linh tại ngã, bất linh tại ngã", câu nói này hàm ý sâu xa nhưng cũng thật là dễ hiểu. Phật trời chỉ là những biểu tượng thiêng liêng cho những gì tốt đẹp trên cõi đời này. Các ngài chỉ là những tấm gương để chúng ta soi vào và học hỏi chứ không phải là nơi để chúng ta cầu xin một ân sủng hay một phúc lành nào cả.

Nếu thật sự chúng ta mong muốn điều tốt lành cho cuộc sống của mình thì hãy sống thật lòng, sống thật tốt, thật gương mẫu với cuộc sống này thì tất nhiên cuộc sống sẽ đáp trả lại cho chúng ta những điều tốt đẹp. Nếu chúng ta giúp người thì sẽ được người giúp lại, sống đúng thì không sợ sai, sống đẹp không sợ xấu, sống sạch cũng chẳng cần phải sợ nhơ nhớp.


Nhạc sĩ Trịnh Công Sơn cũng đã viết: "Sống trong đời sống cần có một tấm lòng... để gió cuốn đi". Chúng ta chỉ biết sống cho thật tốt với đời, với người đó cũng chính là chúng ta đang sống tốt cho chính chúng ta vì chẳng ai muốn lấy nhọ nồi trét lên mặt mình bao giờ cả. Sống tốt để làm gì, cũng chỉ để gió cuốn đi thôi. Đó là tinh thần thi ân bất cầu báo, làm việc tốt không đòi hỏi kết quả và lợi nhuận của việc làm đó. Chúng ta chỉ biết làm để khiến cho chúng ta ngày càng tốt đẹp, có ý nghĩa, có giá trị và có ích hơn cho cuộc sống này và cho cuộc sống của chính chúng ta nữa.

Bài sưu tập từ BTV Muciu
Tác giả: Nghinh Phong
Theo : TCCL

Ngôn ngữ lập trình nào PHỔ BIẾN nhất hiện nay.

Theo trang thống kê nổi tiếng TIOBE, thì ngôn ngữ lập trình Java vẫn đang dẫn đầu trong cuộc đua tranh này.


Bảng so sánh thư hạng ngôn ngữ qua hai năm 2010 và 2011.
Xếp hạng
05/2011
Xếp hạng
05/2010
Trạng tháiNgôn ngữTỉ lệ sử dụng
05/2011
Độ tăng/giảm
05/2010
Đánh giá
12Java18.160%+0.20%  A
21C16.170%-2.02%  A
33C++9.146%-1.23%  A
46C#7.539%+2.76%  A
54PHP6.508%-2.57%  A
610Objective-C5.010%+2.65%  A
77Python4.583%+0.49%  A
85(Visual) Basic4.496%-1.16%  A
98Perl2.231%-1.05%  A
1011Ruby1.421%-0.67%  A
1112JavaScript1.394%-0.69%  A
1220Lua1.102%+0.61%  A
139Delphi1.073%-1.49%  A
14-Assembly1.042%-  A
1516Lisp0.953%+0.30%  A
1623Ada0.747%+0.32%  A
1715Pascal0.709%-0.02%  A
1821Transact-SQL0.697%+0.21%  B
19-Scheme0.580%-  B
2025RPG (OS/400)0.503%+0.09%  B




Biểu đồ thống kê theo thời gian.




Vị thứ của ngôn ngữ qua từng thập kỉ
Ngôn ngữ lập trìnhVị thứ
05/2011
Vị thứ
05/2006
Vị thứ
05/1996
Vị thứ
05/1986
Java113-
C2211
C++3325
C#47--
PHP54--
Objective-C643--
Python78--
(Visual) Basic8546
Perl966-
Ruby1018--
Lisp151493
Ada161682


Thống kê tỉ lệ người dùng của các loại ngôn ngữ.
Nhóm ngôn ngữMức độ phổ dụng 05/2011Tăng/Giảm 05/2010
Lập trình hướng đối tượng58.6%+4.2%
Lập trình hướng thủ tục36.4%-4.5%
Lập trình hàm3.6%+0.5%
Lập trình logic1.4%-0.2%

Popular Posts