Thứ Ba, 18 tháng 9, 2018

Upload Mã nguồn mở Nukeviet lên ByetHost đơn giản trong 3 phút

Hello,

Upload mã nguồn mở Nukeviet lên hosting free Byet Host chỉ trong 3 đến 5 phút đơn giản thay vì sử dụng Filezilla up đến 30 phút hay đến 3 tiếng đồng hồ =.=

Đầu tiên các bạn cần đăng ký một hosting tại Byet Host và một tên miền free tại freenom.com (not .TK nhé)

Lưu ý: Tên miền đã được trỏ về Byet Host.

Các bước này các bạn có thể tìm hiểu trên Google.

-----------------------------------------------------------------------------

Mình có một Domain http://xuantien.ga đã được trỏ về Byet Host.

B1: Các bạn truy cập vào trang quản trị cPanel của Byet Host và chọn Online File Manager



B2: Truy cập vào thư mục htdocs của Tên miền đã trỏ (Vd: xuantien.ga/htdocs/...) rồi chọn Upload

B3: Upload File unzip.php lên host. Tải file unzip Tại đây
      Upload thành công thì website của bạn sẽ tồn tại file unzip.php


B4: Vì Byet Host không có chức năng giải nén, hay sử dụng Filezilla upload file khá lâu nên chúng ta có thể dùng bên thứ 3 để quản trị. Tiếp tục tải file quản trị website lên host (bước này quan trọng)
Download Manager-master (149kb)
    Khi Download xong tiếp tục upload file Manager-master.zip lên host như đã upload file unzip.php ở Bước 3



B5
: Truy cập http://YourDomain/unzip.php (vd: http://xuantien.ga/unzip.php) để giải nén Manager-master.zip

(Đến lúc này vào hosting bị sus và tên miền bị treo cmnr đen vl  T.T, nên ko có ảnh hướng dẫn nữa)

B6: Click chữ unzip màu đỏ để giải nén.

B7: Khi giải nén xong các bạn truy cập http://YourDomain/manager-master

Với tài khoản admin là admin , password là 12345
(Các chức năng tự mò nhé)

B8
: Download Nukeviet về và giải nén trên máy tính của bạn.

B9: Vì Byet Host cho upload tối đa hình như <8mb nên chúng ta phải chia thành 2 file zip với dung lượng nhỏ để upload. Nén thư mục admin đến modules lại một file tên là nukeviet1.zip

B10: Tiếp tục nén các file còn lại thành nukeviet2.zip

B11:Vào http://YourDomain/manager-master kéo xuống dưới Chọn tải lên tập tin upload 2 file nukeviet1.zip và nukeviet2.zip lên và giải nén.

Chúc các bạn thành công!

Note: Có thể có nhiều cách khác hay và nhanh hơn, bài viết này chỉ mang tính chất tham khảo, thắc mắc xin để lại bình luận phía dưới.





Thứ Tư, 15 tháng 8, 2018

Tạo chữ vàng khi chat Messenger Facebook

Ai đã biết vui lòng không ném đá :3
Demo như bên dưới:



Hướng dẫn sử dụng:

Trước khi chat các bạn thêm 3 dấu: ``` (tức kí tự ~ trên máy tính) và ấn Shift+Enter để xuống dòng viết nội dung. Xem ảnh:







  • Lưu ý: Chữ này chỉ hiển thị được trên máy tính, tức là 2 người dùng máy tính chat với nhau mới thấy được, còn người kia dùng App Messenger trên Smartphone đọc thì vẫn thấy 3 dấu ``` ở mỗi đầu tin nhắn :)
    Chúc các bạn thành công!

Thứ Sáu, 20 tháng 7, 2018

Lựa chọn học lập trình di động hay lập trình website?

Với những bạn trẻ mới bắt đầu con đường CNTT thì việc chọn học lập trình di động hay lập trình web quả là một câu hỏi khó khăn. Cho tới bây giờ, vẫn không có ai có thể trả lời câu hỏi này một cách chính xác, trừ người đang hỏi.

Khi bạn băn khoăn, lựa chọn tức là bạn chưa xác định được việc nên theo học ngành nào. Để xác định được điều này, bạn có thể tham khảo các lời khuyên mà Cao đẳng FPT Polytechnic đưa ra sau đây:
  1. Tập trung xuất sắc cho 1 kỹ năng
Thời gian của chúng ta có hạn. Thay vì dùng 4 năm, học cả lập trình di động lẫn lập trình website song song, bạn hãy tách riêng chúng ra, học chuyên sâu vào 1 ngành. Dù bạn có lựa chọn ngành nào, bạn đều cần phải nhớ rằng: lựa chọn của mình là đúng, con đường mình đang đi là chuẩn. Đừng nản chí cũng đừng bỏ cuộc. Không ai có thể học thay bạn cả.
Đã lựa chọn tức là bạn thích, bạn hi vọng vào đó một tương lai tươi sáng. Nếu chọn học lập trình web, bạn hãy tập trung kỹ năng, dùng thành thạo 1 framework. Còn lại, sự lựa chọn của bạn là lập trình di động, hãy cố gắng xuất sắc một nền tảng thôi: Android hoặc iOS. Chỉ cần nắm vững một trong 2 nền tảng này thôi, bạn đã có thể nuôi sống 1 gia đình rồi.


Lập trình di động là ngành học được rất nhiều bạn trẻ hiện đại, yêu công nghệ lựa chọn.

  1. Lựa chọn học lập trình web liệu có quá khó?
Lập trình web rất rộng. Bạn có thể bắt đầu với các ngôn ngữ lập trình đơn giản như HTML, CSS hay JavaScript… nghe có vẻ đơn giản nhưng với những người mới bắt đầu, các bạn hình dung nhé. Lập trình web giống như xây lên một ngôi nhà. Để có thể xây 1 ngôi nhà, người ta cần rất nhiều nguyên liệu và rất nhiều việc. Việc phân trang trên site cũng giống như chia phòng cho căn nhà… Đơn giản là như vậy nhưng điểm mấu chốt ở đây là: khi trở thành một lập trình website, bạn cần phải biết tất cả.
Từ việc thiết kế giao diện, xây dựng tính năng cho tới hoàn tất và đưa vào sử dụng. Toàn bộ mọi việc phụ thuộc vào developer. Ngoài ra, Lập trình viên còn phải nắm rõ việc truy xuất dữ liệu tới các cơ sở hệ thống, cách bảo mật thông tin website, ngăn chặn sự tấn công từ các hacker…
Để nắm vững nhiều kỹ thuật khó trong việc lập trình web, bạn sẽ mất nhiều năm, và không phải ai cũng kiên trì làm được điều đó. Việc học lập trình web đòi hỏi phải học nhiều ngôn ngữ hơn. Nhưng Cao đẳng FPT  vẫn mạnh dạn khuyên các bạn nếu yêu thích thì hãy học lập trình web bởi đây là một thị trường rất rộng, màu mỡ, thượng vàng hạ cám. Giỏi thì kiếm, còn kém, đứng đúng chỗ vẫn sống tạm được.
Thật sự, để trở thành một chuyên viên lập trình website chuyên nghiệp, bạn sẽ rất vất vả. Tuy nhiên, khi đạt lới lever đó, bạn yên tâm rằng mức lương bạn nhận được là xứng đáng. Con số khởi điểm có thể bắt đầu bằng số 2. Là trên 20 triệu. Mọi việc phụ thuộc vào quá trình bạn học tập và rèn luyện, cũng như khả năng thực hành mang lại cho bạn bao nhiêu kinh nghiệm thực tế.
  1. Bạn lựa chọn học lập trình di động?
Ngành nghề này quả thực không tồi chút nào vào chính thời điểm này. Theo khảo sát mới nhất hiện nay, nguồn nhân lực lập trình di động ở Việt Nam đang thiếu hụt trầm trọng.
Thứ 2: học lập trình di động dễ hơn học lập trình web: bạn chỉ cần học 1 ngôn ngữ lập trình Swift hoặc Objective-C hoặc Java hoặc C++
Thứ 3: các hãng sản xuất di động, table như Apple hay Google thường sẽ hỗ trợ lập trình đi theo nền tảng của họ rất nhiệt tình và hoàn toàn miễn phí.
Thứ 4: bạn hoàn toàn có thể tự kiếm tiền cho mình, không cần phải đi làm bất cứ một công ty nào mà vẫn có thể sống một cuộc sống trong mơ. Nguyễn Hà Đông chính là ví dụ sống trong trường hợp này.

Chọn lập trình di động hay lập trình web bạn đều có thể tự kiếm tiền cho mình bằng Adsen hoặc Admob.

Bên cạnh đó, lập trình di động lại có những áp lực, rủi ro riêng như sau:
Khi thực hiện một dự án di động, mọi trách nhiệm sẽ được đổ lên vai bạn: nào là giao diện khó dùng, app nặng khiến lượt tải thấp, ứng dụng chưa tối ưu, các tính năng chưa hoàn hảo… Thêm vào nữa, bạn phải tuân theo quy định chặt chẽ của Apple và Google. Để có thể đẩy app lên AppleStore hoặc CH Play, GG Play, bạn phải tuân thủ chuẩn mực quy định mà hai ông lớn đặt ra.
  1. So sánh giữa lập trình di động hay lập trình web
Một vài điều so sánh dưới đây mà Cao đẳng FPT đưa ra chỉ dựa trên tính chất tham khảo và yếu tố con người. Do bạn có cố gắng hay không.
  • Từ lập trình web, bạn có thể học nâng cao và chuyển qua làm lập trình di động chỉ trong 2 tháng. Chiều ngược lại thì không. Khi là lập trình di động mà muốn đổi nghề qua làm web, bạn gần như phải học lại mọi thứ, bắt đầu lại từ đầu.
  • Học lập trình web, bạn có cơ hội trong một thị trường rất rộng, màu mỡ, thượng vàng hạ cám. Giỏi thì kiếm, còn kém, đứng đúng chỗ vẫn sống tạm được. Lập trình di động thì không. Không có bất cứ cơ hội nào cho một lập trình di động yếu kém.
  • Mức lương 2 ngành nghề sau 2 năm bạn nhiệt tình phấn đấu sẽ tương đương nhau.
  • Chọn lập trình di động hay lập trình web bạn đều có thể tự kiếm tiền cho mình bằng Adsen hoặc Admob.
Tuy nhiên, có một chân lý không bao giờ thay đổi: Chỉ có những chuyên gia giỏi mới kiếm được tiền tốt, những anh chàng lười biếng thường sẽ có việc hoặc lương thấp. Câu nói “Nhất nghệ tinh” chưa bao giờ sai cả. Dù bạn có lựa chọn lập trình di động hay lập trình website, hãy vững tin vào con đường mình đang đi. Trở thành người giỏi nhất để có cuộc sống viên mãn nhất.
Nguồn: CaoDangFPT

Thứ Năm, 12 tháng 7, 2018

Các hàm xử lý mảng trong PHP

1, Danh sách các hàm.

count($array)

-Hàm này có tác dụng đếm xem trong mảng có bao nhiêu phần tử.
VD:
$array=[
    'laptrinhxt.blogspot.com',
    'Website học lập trình online'
];
echo count($array);
// output: 2

array_values($array)

-Hàm có tác dụng đưa mảng về dạng mảng tuần tự.
VD:
$array = [
    'domain' => 'laptrinhxt.blogspot.com',
    'description' => 'Website học lập trình online'
];
print_r(array_values($array));
// output: Array ( [0] => laptrinhxt.blogspot.com [1] => Website học lập trình online )

array_keys($array)

-Hàm này có tác dụng trả về một mảng tuần tự với phần tử là key của mảng ban đầu.
VD:
$array = [
    'domain' => 'laptrinhxt.blogspot.com',
    'description' => 'Website học lập trình online'
];
print_r(array_keys($array));
// output: Array ( [0] => domain [1] => description )

array_pop($array)

-Hàm này trả về phần tử cuối cùng của mảng.
VD:
$array = [
    'domain' => 'laptrinhxt.blogspot.com',
    'description' => 'Website học lập trình online'
];
print_r(array_pop($array));
// output: Website học lập trình online

array_push($array,$var,$var...)

-Hàm này có tác dụng thêm một hoặc nhiều phần tử vào cuối mảng và trả về số lượng phần tử của mảng sau khi thêm.
VD:
$array = [
    'domain' => 'laptrinhxt.blogspot.com',
    'description' => 'Website học lập trình online'
];
print_r(array_push($array, 'Miễn phí nhé'));
// output: 3

array_shift($array)

-Hàm có tác dụng xóa phần tử đầu tiên của mảng và trả về phần tử vừa xóa.
VD:
$array = [
    'domain' => 'laptrinhxt.blogspot.com',
    'description' => 'Website học lập trình online'
];
print_r(array_shift($array));
// output: toidicode.com

array_unshift($array, $var, $var...)

-Hàm có tác dụng thêm một hoặc nhiều phần tử vào đầu mảng, và trả về số lượng phần tử của mảng sau khi thêm.
VD:
$array = [
    'domain' => 'laptrinhxt.blogspot.com',
    'description' => 'Website học lập trình online'
];
print_r(array_unshift($array, "học lập trình"));
// output: 3

array_flip($array)

-Hàm này có tác dụng chuyển đổi key của mảng thành value và ngược lại.
VD:
$array = [
    'domain' => 'laptrinhxt.blogspot.com',
    'description' => 'Website học lập trình online'
];
print_r(array_flip($array));
// output: Array ( [laptrinhxt.blogspot.com] => domain [Website học lập trình online] => description )

sort($array)

-Hàm có tác dụng sắp xếp lại mảng theo chiều tăng dần và trả về giá trị TRUE nếu thành công và ngược lại FALSE nếu không thành công.
VD:
$array = [5, 4, 3, 2, 1];
sort($array); //TRUE
print_r($array);
// output: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )

array_reverse($array)

-Hàm có tác dụng đảo ngược lại vị trí của các phần tử trong mảng.
VD:
$array = [5, 4, 3, 2, 1];
print_r(array_reverse($array));
// output: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )

array_merger($array,$array...)

-Hàm có tác dụng gộp hai hay nhiều mảng thành một mảng.
VD:
$array = [
    'domain' => 'laptrinhxt.blogspot.com',
    'description' => 'Website học lập trình online'
];
$array1 = [5, 4, 3, 2, 1];
print_r(array_merge($array, $array1));
// output: Array ( [domain] => laptrinhxt.blogspot.com [description] => Website học lập trình online [0] => 5 [1] => 4 [2] => 3 [3] => 2 [4] => 1 )

array_rand($array, $number)

-Hàm có tác dụng lấy ra key ngẫu nhiên trong mảng với number là số lượng muốn lấy.
VD:
$array = [
    'domain' => 'laptrinhxt.blogspot.com',
    'description' => 'Website học lập trình online'
];
print_r(array_rand($array));
// output: domain
print_r(array_rand($array, 2));
//output: Array ( [0] => domain [1] => description )

array_search($keyword,$array)

-Hàm có tác dụng tìm kiếm giá trị của mảng và trả về key của phần tử đó nếu có.
VD:
$array = [
    'domain' => 'toidicode.com',
    'description' => 'Website học lập trình online'
];
print_r(array_search('laptrinhxt.blogspot.com', $array));
// output: domain

array_slice($array,$begin,$lenght)

-Hàm có tác dụng lấy ra $lenght phần tử bắt đầu từ $begin trong mảng.
VD:
$array = [
    'domain' => 'laptrinhxt.blogspot.com',
    'description' => 'Website học lập trình online'
];
print_r(array_slice($array, 0));
// output: Array ( [domain] => toidicode.com [description] => Website học lập trình online )
print_r(array_slice($array, 0, 1));
// output: Array ( [domain] => toidicode.com)

array_unique($array)

-Hàm có tác dụng loại bỏ các phần tử trùng nhau trong mảng và trả về một mảng mới sau khi đã loại bỏ.
VD:
$array = [
    'domain' => 'laptrinhxt.blogspot.com',
    'description' => 'Website học lập trình online',
    'description' => 'Website học lập trình online'
];
print_r(array_unique($array, 0));
// output: Array ( [domain] => toidicode.com [description] => Website học lập trình online )

serialize($input)

-Hàm có tác dụng chuyển đổi một chuỗi,số,mảng,object thành một chuỗi được mã hóa.
VD:
$array = [
    'domain' => 'laptrinhxt.blogspot.com',
    'description' => 'Website học lập trình online',
];
print_r($a = serialize($array));
// output: a:2:{s:6:"domain";s:13:"laptrinhxt.blogspot.com";s:11:"description";s:33:"Website học lập trình online";}

unserialize($input)

-Hàm có tác dụng decode chuỗi được mã hóa bằng serialize.
VD:
$array = [
    'domain' => 'laptrinhxt.blogspot.com',
    'description' => 'Website học lập trình online',
];
print_r($a = serialize($array));
// output: a:2:{s:6:"domain";s:13:"laptrinhxt.blogspot.com";s:11:"description";s:33:"Website học lập trình online";}
print_r(unserialize($a));
//output: Array ( [domain] => laptrinhxt.blogspot.com [description] => Website học lập trình online )

array_key_exists($key,$array)

-Kiểm tra xem mảng $array có tồn tại khóa $key không. Trả về TRUE nếu tồn tại và ngược lại.
VD:
$array = [
    'domain' => 'laptrinhxt.blogspot.com',
    'description' => 'Website học lập trình online',
];
print_r(array_key_exists('domain', $array));
// output: 1

in_array($value,$array)

-Hàm có tác dụng kiểm tra xem mảng $array có tồn tại giá trị $value không? và trả về TRUE nếu có và ngược lại.
VD:
$array = [
    'domain' => 'laptrinhxt.blogspot.com',
    'description' => 'Website học lập trình online',
];
print_r(in_array('laptrinhxt.blogspot.com', $array));
// output: 1

array_diff($array1,$array2,..)

-Hàm có tác dụng trả về mảng chứa các phần tử có trong mảng $array1 nhưng không có trong mảng $array2,..,$arrayn
VD:
$array1 = [
    'domain' => 'laptrinhxt.blogspot.com',
    'description' => 'Website học lập trình online',
];
$array2 = [
    'domain' => 'laptrinhxt.blogspot.com',
    'description' => 'sWebsite học lập trình online',
];
print_r(array_diff($array1, $array2));
// output: Array ( [description] => Website học lập trình online )

array_diff_assoc($array1,$array2,...)

-Hàm này có tác dụng trả về một mảng có các key trong mảng $array1 mà $array2,..$arrayn không có.
VD:
$array1 = [
    'domain' => 'laptrinhxt.blogspot.com',
    'description' => 'Website học lập trình online',
];
$array2 = [
    'domain' => 'laptrinhxt.blogspot.com',
    'descriptions' => 'sWebsite học lập trình online',
];
print_r(array_diff_assoc($array1, $array2));
// output: Array ( [description] => Website học lập trình online )

array_intersect($array1,$array2,..)

-Hàm này có tác dụng trả về mảng các phần tử giống nhau về $value giữa các mảng $array...
VD:
$array1 = [
    'domain' => 'laptrinhxt.blogspot.com',
    'description' => 'Website học lập trình online',
];
$array2 = [
    'domain' => 'laptrinhxt.blogspot.com',
    'description' => 'Website học lập trình online',
];
print_r(array_intersect($array1, $array2));
// output: Array ( [domain] => laptrinhxt.blogspot.com )

array_intersect_assoc($array1,$array2,..)

-Hàm có tác dụng trả về mảng chứa các phần tử giống nhau cả key và value trong mảng $array...
VD:
$array1 = [
    'domain' => 'laptrinhxt.blogspot.com',
    'description' => 'Website học lập trình online',
];
$array2 = [
    'domain' => 'laptrinhxt.blogspot.com',
    'description' => 'sWebsite học lập trình online',
];
print_r(array_intersect_assoc($array1, $array2));
// output: Array ( [domain] => toidicode.com )

is_array($array)

-Hàm có tác dụng kiểm tra xem một biến có phải mảng hay không. Trả về true nếu là mảng và ngược lại.
VD:
$array =[
    'domain' => 'laptrinhxt.blogspot.com',
    'description' => 'Website học lập trình online',
];

print_r(is_array($array));
// output: 1

Cập nhật thêm...

3, Lời kết.

-Qua phần này mình đã giới thiệu với mọi người về các hàm xử lý mảng trong PHP bạn nào muốn xem thêm các hàm khác tham khảo tại đây, bài tiếp theo chúng ta sẽ làm việc với file trong PHP.
Nguồn: Toidicode.com