Blog chia sẻ và thảo luận về IT|Programming Language|Search Engine Optimization|Data Base|Linux| ...

datnguyen

Lucene là gì ?

+ No comment yet

Lucene là gì?

Lucene là phần mềm mã nguồn mở, dùng để phân tích, đánh chỉ mục và tìm kiếm thông tin với hiệu suất cao bằng Java. Lucene được phát triển đầu tiên bởi Doug Cutting được giới thiệu đầu tiên vào tháng 8 năm 2000. Tháng 9 năm 2001 Lucene gia nhập vào tổ chức Apache và hiện tại được Apache phát triển và quản lý. Cần lưu ý rằng Lucene không phải là một ứng dụng mà chỉ là một công cụ đặc tả API cần thiết cho việc một search engine. Được xây dựng và thiết kế theo hướng hướng đối tượng nên các API cũng được cung cấp theo dạng hướng đối tượng. Mặc dù thiết kế và xây dựng ban đầu từ java nhưng hiện nay cũng đã có một số phiên bản cho các ngôn ngữ khác : .NET, C++, Perl, ….

Google AdWords Voucher ?

+ No comment yet

1. Adwords Voucher là gì?
Adwords voucher (hay adwords coupon, mã thưởng google) là mã giảm giá đặc biệt được tạo bởi Google bao gồm 23 kí tự có dạng: 4CWS-6MXD-AVKQ-NW15-XXX. Khi bạn nhập mã này vào account adwords, account của bạn sẽ nhận được tiền thưởng từ google. Giá trị tiền thưởng tùy thuộc vào loại voucher mà bạn nhập vào. Ví dụ: 500.000đ, 2 triệu...
2. Tôi phải dùng mã adwords voucher như thế nào để có được tiền thưởng?
Bước 1: Tạo 1 account adwords.
Bước 2: Kích hoạt account bằng thẻ tín dụng.
Bước 3: Click “Thanh toán” (Billing) > “Tùy chọn thanh toán” (Billing preferences)
Bước 4: Kéo xuống dưới cùng, nhập mã vào ô “Mã bù lại” (Redeem Coupon) rồi click nút “Lấy lại” (Redeem)
Bước 5: Bạn sẽ nhận được thông báo xác nhận thành công. Chờ 1 lát rồi vào phần Thanh toán > Tóm lược thanh toán, bạn sẽ thấy tiền được chuyển vào tài khoản.

3. Tôi có thể sử dụng bao nhiêu mã voucher với 1 account adwords?
Chỉ 1 mã voucher cho 1 account.
4. Tôi có thể dùng adwords voucher với account cũ của tôi không?
Không, Account adwords của bạn phải là account mới trong vòng 14 ngày trở lại.
5. Vậy nếu tôi đã có 1 account cũ rồi. Tôi phải làm gì để dùng voucher?
Hãy tạm dừng account hiện tại của bạn và mở 1 account mới.

Lỗi không cài được Yahoo!Messenger, vì sao?

+ No comment yet

Lỗi không cài được Yahoo!Messenger, vì sao?

Có một trong số trường hợp phổ biến không cài đặt được Yahoo! Messenger:

1/ Khi cài đặt Yahoo!Messenger mà máy bạn hiển thị thông báo lỗi “The application failed to initialize properly” hoặc "This application has failed to start because the application configuration is incorrect" là do trường hợp chương trình tối ưu hóa nào đó. Hoặc chương trình diệt virus nào đó đã chặn nhầm và đã làm tắt hoặc mất chức năng hỗ trợ Windows Installer. Vì vậy bạn nên gỡ bỏ Yahoo!Messenger rồi kiểm tra, vào menu Start mở hộp Run gõ services.msc và nhấn Enter. Ngay lập tức công cụ Services xuất hiện. Trong công cụ Services > nhấn vào cột Startup Type > tìm hàng chữ Windows Installer chọn Properties > khung cửa sổ Windows Installer Properties thì bạn kéo thanh cuộn Startup Type, chỉnh lại thành Automatic và nhấn OK để hoàn tất. Nếu sau khi thao tác xong mà vẫn không cài đặt được Yahoo!Messenger thì khi ấy, bạn cần phải cài đặt Windows Installer và Microsoft Visual C++ 2008 SP1 Redistributable Package sau đó mới tiến hành cài đặt lại Yahoo!Messenger được.

Read more

Một số thủ thuật, phím tắt trong Eclipse

+ No comment yet


Read more

Eval() và include()

+ No comment yet


Eval() và include()Có thể hiểu nôm na, eval() sẽ nhận đối số là một chuỗi và thực thi chuỗi đó như một đoạn code PHP. Vì vậy, đối số truyền cho eval() phải là một chuỗi thỏa các điều kiện về cú pháp của PHP. VD:

CODE

<?

$str = ‘echo “Hello world !!!”;’;

eval($str);

?>


Một VD khác:

CODE

<?

$a = “Hello world !!!”;

$b = “empty”;

echo “Bien \$b la: <b>$b</b><br>”;

echo “Sau khi eval(), “;

// gán giá trị biến $a cho biến $b và hiện ra thông báo về giá trị mới của biến $b

$str = ‘$b = $a; echo “bien \$b bay gio la: <b>$b</b>”;’;

eval($str);

?>


include_once() sẽ gộp một file được xác định trong quá trình một đoạn mã thực thi. Về cách hoạt động, nó rất giống include() nhưng khác ở chỗ, nếu file nào đó đã được gộp thì include_once() sẽ không gộp lại lần nữa và trả về trị là FALSE. VD:

CODE

*** File include: inc1.php **********

<?

echo “Toi duoc include.<br>”;

?>

*** File thuc thi: ex_inc_11.php ********

<?

include ‘inc1.php’;

include_once ‘inc1.php’;

?>

*** File thuc thi: ex_inc_12.php ********

<?

include ‘inc1.php’;

include ‘inc1.php’;

?>


VD khác:

CODE

*** File include: inc2.php **********

<?

echo “Toi duoc include.<br>”;

function doSth() {

echo “Hello world !!!<br>”;

}

?>


*** File thuc thi: ex_inc_2.php ********

<?

include ‘inc2.php’;

doSth();

// include ‘inc2.php’; <— sẽ có báo lỗi vì hàm doSth() đã được định nghĩa.

include_once ‘inc2.php’; // sẽ không có báo lỗi, nhưng hàm này cũng không được thực hiện

?>


Chúng ta có thể handle được các file nào đã được include trong suốt đoạn code bằng hàm get_included_files(). Hàm này sẽ trả về một mảng chứa các file đã được include. VD:

CODE

<?

include ‘inc1.php’;

include ‘inc2.php’;

$inc = get_included_files();

print_r($inc);

?>


Goodbye my lover !

+ No comment yet

Không biết người khác  khi nghe bài hát này sẽ cảm thấy ra sao nhưng với tôi  nó  thật sự hay và cảm xúc (vì phong cách của James Blunt và vì tâm trạng lúc nghe ...). Dù sao thì , tình cảm lúc nào cũng khó nói và diễn tả . Khi chia tay ai đó , nhất là với người mình đã từng yêu đều là những điều thật là khó khăn , phải không ?



Did I disappoint you or let you down?
Should I be feeling guilty or let the judges frown?
‘Cause I saw the end before we’d begun,
Yes I saw you were blinded and I knew I had won.
So I took what’s mine by eternal right.
Took your soul out into the night.
It may be over but it won’t stop there,
I am here for you if you’d only care.
You touched my heart you touched my soul.
You changed my life and all my goals.
And love is blind and that I knew when,
My heart was blinded by you.
I’ve kissed your lips and held your head.
Shared your dreams and shared your bed.
I know you well, I know your smell.
I’ve been addicted to you.
Goodbye my lover.
Goodbye my friend.
You have been the one. -*
You have been the one for me.(2x)
I am a dreamer but when I wake,
You can’t break my spirit – it’s my dreams you take. -*
And as you move on, remember me,
Remember us and all we used to be
I’ve seen you cry, I’ve seen you smile.
I’ve watched you sleeping for a while.
I’d be the father of your child.
I’d spend a lifetime with you. -*
I know your fears and you know mine.
We’ve had our doubts but now we’re fine,
And I love you, I swear that’s true.
I cannot live without you.
Goodbye my lover.
Goodbye my friend.
You have been the one. -*
You have been the one for me.(2x)
And I still hold your hand in mine.
In mine when I’m asleep.
And I will bear my soul in time,
When I’m kneeling at your feet.
Goodbye my lover
Goodbye my friend.
You have been the one.
You have been the one for me.(2x)
I’m so hollow, baby, I’m so hollow.
I’m so, I’m so, I’m so hollow.(X2)
....
Và anh yêu em, anh thề điều đó là thựcAnh không thể sống mà thiếu vắng bóng em
[x2]
Tạm biệt người yêu của anh
Tạm biệt người bạn của anh
Em là người duy nhất
Em là người duy nhất dành cho anh
Và anh vẫn nắm chặt tay em đan trong tay anh
Hai tay ta đan vào nhau khi anh ngủ vùi
Và anh sẽ kịp lúc thổ lộ tâm tư mình
Khi anh quỳ xuống cạnh chân em
Tạm biệt người yêu của anh
Tạm biệt người bạn của anh
Em là người duy nhất
Em là người duy nhất dành cho anh
[x2]
Tạm biệt người yêu của anh
Tạm biệt người bạn của anh
Em là người duy nhất
Em là người duy nhất dành cho anh
[x2]
Anh thật trống vắng, em yêu à, anh thật trống vắng


Kiểm tra sự tồn tại file ảnh (image)

+ No comment yet
Hôm nay tôi đã fix 1 lỗi về đường dẫn file ảnh, công việc của tôi là kiểm tra file ảnh đó có tồn tại hay không và nếu không tồn tại thì phải thay bằng một ảnh mặc định nào đó.  Nếu là bạn, bạn sẽ dùng hàm gì ? Tôi nghĩ sẽ có nhiều người nghĩ ngay đến hàm file_exists() đã khá quen thuộc.  Nhưng khi tôi thử áp dụng thì nó lại cho kết quả không đúng mặc dù file ảnh mà tôi kiểm tra là có thực. Sau một hồi tìm kiếm, tôi đã có câu trả lời, đó là trong trường hợp này hàm  file_exists() sẽ kiểm tra thư mục của file ảnh, do đó nó sẽ luôn trả về false. Đồng thời tôi cũng tìm được giải pháp cho vấn đề trên, đó là hàm getimagesize() .
Tại sao là hàm getimagesize() ?
Hàm này sẽ trả về kích thước của một file ảnh bất kì, kết quả được chứa trong một mảng (array) với 7 phần tử. Nói cách khác là nếu hàm này trả về array thì file ảnh đó là có thực. (Không có ảnh thì lấy đâu ra kích thước ^^)
Để hiểu hơn, các bạn có thể xem ví dụ dưới đây
<?php
    $file_path = 'http://tanviet.speedymirror.com/wp-content/uploads/2011/07/border_radius.jpg' ;
    //Ham file_exists()
    if (file_exists($file_path)) {
        echo "This file exists!";
    }
    else {
        echo "This file does not exist";
    }
    //Ham getimagesize() cho ket qua chinh xac hon
    $url = getimagesize($file_path);
    if(is_array($url)){
        echo "<br />This file exists!";
    }
    else {
         echo "<br />This file does not exist!";
    }
?>
Kết quả
This file does not exist 
This file exists!

 

Kết luận,

Qua kết quả nhận được có thể nhận thấy sự khác nhau khi sử dụng hàm file_exists()  getimagesize(), từ đó bạn có thể áp dụng cho nhiều trường hợp khác. Tôi hi vọng bài viết này sẽ giúp ích phần nào cho công việc lập trình của các bạn.