Thứ Tư, 10 tháng 12, 2014

Tablet 2014: Mỏng hơn, mạnh hơn nhưng thiếu đột phá

Dù đã có dấu hiệu chững lại về sức tiêu thụ nhưng 2014 vẫn là một năm khá sôi động của máy tính bảng. Các hãng tiếp tục cải tiến những model đầu bảng của mình trong năm ngoái để thiết lập nên những chuẩn mực mới của năm nay. Có tới 3 tablet khác nhau đoạt được Danh hiệu "tablet mỏng nhất", cho thấy cuộc cạnh tranh khốc liệt đến mức nào. Tuy vậy, cảm giác nuối tiếc là rõ rệt khi không có bất cứ sự đột phá hay tính năng nào đủ sức gây chấn động thị trường.

iPad Air 2 được rất nhiều trang công nghệ đánh giá là mẫu máy tính bảng tốt nhất 2014, dù cho sản phẩm này vẫn giống như một sự cải tiến hơn là "tư duy lại" toàn bộ model trước đó. Nhưng tin tốt cho người dùng là Apple giảm giá khá mạnh cho các sản phẩm cũ để dọn đường cho iPad Air 2 mới. Với nhiều người, iPad Mini 2 và iPad Air sau khi được giảm giá thì thậm chí còn hời và hấp dẫn hơn cả model mới ra mắt năm nay.

Ảnh

2014 là năm mà thiết kế mỏng được liên tục tôn vinh như là tính năng đặc trưng của tablet cao cấp đầu bảng, và Nexus 9 là một thí dụ điển hình. Sở hữu thiết kế tối giản và cấu hình vượt trước thị trường, Nexus 9 gây ấn tượng với chipset hệ thống mới nhất của Nvidia và hiệu suất đồ họa khó kiếm được ở bất cứ tablet nào khác. Đây cũng là tablet đầu tiên được cài sẵn hệ điều hành Android 5.0 mới nhất.

Ảnh

Trong lịch sử máy tính bảng, chưa có mẫu tablet nào 100 USD mà lại được các chuyên gia công nghệ khuyên mua một cách thực lòng cả. Nhưng với Fire HD 6, mọi chuyện đã thay đổi. Thiết bị này trang bị tất cả các phần mềm và ứng dụng thân thiện với người dùng của Amazon, đồng thời sở hữu một thiết kế gọn nhẹ và giá bán quá đỗi dễ chịu. Máy chạy nuột nà trong những tác vụ bình thường, đủ để thỏa mãn những người dùng không quá khắt khe đòi hỏi. Nếu như bạn thích không gian rộng rãi hơn một chút thì model 7 inch cũng rất đáng cân nhắc. Giá bán tuy có đắt hơn Fire HD 6 chút ít nhưng so sánh với các đối thủ cùng hạng trên thị trường, model này vẫn thuộc loại cực rẻ.

Ảnh

Hầu hết tablet cao cấp hiện nay đều sở hữu màn hình siêu nét, nhưng Galaxy Tab S vẫn dễ dàng lấn át các đối thủ về màn hình. Được tung ra thị trường dưới 2 kích cỡ 8,4 inch và 10,5 inch, màn hình OLED sắc sảo với khả năng hiển thị màu sắc sống động của Tab S dễ dàng thỏa mãn những nhu cầu xem - nhìn cao nhất của người dùng.

Ảnh

Năm 2014 mở màn với lời hứa hẹn thú vị từ mẫu máy tính bảng lai giữa Android với Windows 8 của Asus, nhưng đến phút chót, dự án này đã xịt ngóm dưới sức ép từ cả Google lẫn Microsoft. Asus buộc phải tung ra Transformer Pad TF 103 và Memo Pad 8 như một giải pháp tình thế. Nhưng rõ ràng, chúng không thể đáp ứng được kì vọng của thị trường dành cho các tablet lai được.

Cũng giống như một tạp chí thể thao, thiết kế của máy tính bảng sẽ tiếp tục tiến hóa theo hướng mỏng hơn và nhẹ đi, nhưng thật khó mà tưởng tượng chúng có thể mỏng đến mức nào nữa. Các tablet cao cấp sẽ tiếp tục tạo sự khác biệt thông qua những tính năng đặc biệt như máy quét vân tay, camera 3D hay máy chiếu tích hợp, trong khi đó, tablet giá rẻ sẽ rất chật vật tìm lối đi riêng cho mình.

Tại triển lãm CES 2015 khai màn vào tháng 1 tới, chắc chắn sự đổ bộ của tablet sẽ vẫn rầm rộ như mọi khi. Nhiều khả năng các hãng sẽ trình diễn các tablet lai mới hoặc các model thuộc phân khúc trung cấp. Độ phân giải màn hình sẽ được nâng cao nhưng kích cỡ 7 inch sẽ bị lép vế, dần nhường chỗ cho các model từ 9 inch trở lên.

Theo VietNamNet.


This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

Thứ Hai, 24 tháng 11, 2014

Tìm hiểu các hàm điều kiện của WordPress

Trong lập trình nói chung, các điều kiện rẽ nhánh là một tính năng không thể thiếu trong bất kỳ ngôn ngữ lập trình nào vì hầu như việc sử dụng các điều kiện để rẽ nhánh các hành động làm việc được sử dụng khá thường xuyên. Chẳng hạn như nếu số A có giá trị bằng 0 thì hành động 1 sẽ được thực thi và ngược lại.

Quay về với WordPress, chúng ta có thể sử dụng điều kiện rẽ nhánh trong PHP để làm việc như nếu trang hiện tại là trang A thì hành động sẽ thực thi, vậy làm thế nào để WordPress có thể hiểu được trang hiện tại đang thực thi là trang A? Rất dễ dàng để thực hiện việc kiểm tra này, thậm chí phải gọi là rất dễ thông qua các hàm điều kiện của WordPress. Hàm điều kiện trong WordPress nghĩa là một hàm được build sẵn trong mã nguồn để trả về giá trị là TRUE hay FALSE trong từng thời điểm tương ứng.

Chẳng hạn bạn có thể sử dụng các hàm điều kiện này để kiểm tra category A có post hay không, trang hiện tại là trang bài viết hay trang chủ,…Nếu bạn là người mới dùng WordPress, không có nhu cầu tìm hiểu sâu vào mã nguồn thì vẫn có rất nhiều cơ hội sử dụng các hàm điều kiện này, ý tưởng thực tiễn nhất là kiểm tra trang để ẩn/hiện widget tùy ý bằng plugin Widget Logic.

Đã gọi là hàm điều kiện thì giá trị trả về của tất cả hàm này chỉ có TRUE hoặc FALSE, nếu kết quả trả về là TRUE thì là thỏa điều kiện và FALSE là không thỏa điều kiện. Các hàm này đa phần là bắt đầu bằng chữ is (kiểm tra xem đối tượng của phải là cái gì đó) và có một vài hàm bắt đàu bằng chữ has (kiểm tra đối tượng có một cái gì đó hay không) hoặc có kèm chữ exist (kiểm tra đối tượng có tồn tại hay không). Dễ hiểu nhất thì nên lấy ví dụ là hàm is_home(), hàm này sẽ kiểm tra xem trang đang thực thi có phải là trang chủ hay không.

Hàm điều kiện có chức năng là trả về giá trị TRUE hoặc FALSE, do đó ta sử dụng nó như một giá trị kiểm tra trong cú pháp điều kiện rẽ nhánh trong PHP. Ví dụ mình muốn hiển thị chữ “Chào mừng các bạn” ở trang chủ nhưng không hiển thị ở các trang khác thì sẽ có code như sau:

if ( is_home() ) {echo "Chào mừng các bạn";}

Nếu bạn biết qua PHP rồi thì đoạn trên cực kỳ dễ hiểu. Tức là hàm is_home() sẽ có nhiệm vụ kiểm tra xem trang khách đang truy cập có phải là trang chủ hay không, nếu kết quả hàm is_home() trả về là TRUE thì thực thi từ khóa echo phía dưới để hiển thị chữ “Chào mừng các bạn”, nếu là FALSE thì không làm gì cả.

Chúng ta cũng có thể sử dụng nhiều hàm điều kiện cho một lần kiểm tra:

if ( is_home() && is_user_logged_in() ) {echo "Chào mừng thành viên";}

Đoạn trên nghĩa là chúng ta thêm 2 điều kiện vào, một là is_home() để kiểm tra trang chủ và hai là is_user_logged_in() để kiểm tra thành viên đó có đăng nhập hay không. Lưu ý một điều, ký tự && nghĩa là , tức là phải thỏa mãn cả 2 điều kiện thì hành động mới được thực thi. Bạn có thể sử dụng cú pháp || (tức là HOẶC) để đặt 2 điều kiện và chỉ cần thỏa mãn 1 trong 2 là hành động thực thi.

Trong một vài trường hợp, có thể bạn cần kiểm tra ngược lại, ví dụ nếu trang hiện tại KHÔNG PHẢI (NOT) là trang chủ thì sẽ thực hiện một việc gì đó. Để làm việc kiểm tra đó, bạn sẽ cần gán thêm ký tự ! (dấu chấm cảm) ở trước hàm điều kiện. Ví dụ:

if ( !is_home() ) {echo "Bạn không đang ở trang chủ";}

Tất cả các hàm điều không phải cái nào cũng có tham số nhưng có rất nhiều hàm điều kiện cho phép chúng ta kiểm tra từng giá trị riêng lẻ trong đối tượng đó. Ví dụ nếu bạn cần kiểm tra xem trang hiện tại có phải là category 123 hay không thì sẽ dùng đến nó. Nhưng bạn có thể không điền tham số nếu không cần thiết vì nó không bắt buộc.

Tất cả hàm điều kiện đều cho phép bạn đặt tham số với 3 kiểu dữ liệu là chuỗi ký tự (String), số (Numeric) và mảng (Array) và mỗi kiểu giá trị đều có ý nghĩa riêng của nó. Ví dụ, mình muốn kiểm tra xem post hiện tại họ đang xem có phải là post có số ID là 69 hay không thì mình sẽ viết code như sau:

if ( is_single( 69 ) ) {echo "Hiện quảng cáo 69 đê";}

Hoặc chúng ta sẽ chèn thêm một cái array vào để kiểm tra cùng lúc nhiều post:

if ( is_single( array( 69,96 ) ) ) {echo "Hiện quảng cáo 69 và 96 đê";}

Cũng xin nói thêm rằng, cụm từ Post mà mình nhắc đến trong đây là nó bao gồm Custom Post Type và cái Post mặc định vì bạn có thể điền ID của bất cứ post type nào bạn cần kiểm tra.

Kiểm tra slug của một category nào đó với kiểu dữ liệu string:

if ( is_category( 'thu-thuat' ) ) {echo "Bạn đang ở category Thủ thuật";}

Danh sách các hàm điều kiện của WordPress

Nãy giờ chắc bạn cũng thắc mắc là làm sao để biết WordPress đang hỗ trợ hàm điều kiện nào đúng không? Đây, nó ở ngay đây, mình sẽ thiệt kê ra và kèm chú thích cho các bạn hiểu chức năng. hàm nào mình có kèm thêm $args bên trong nghĩa là hàm đó có hỗ trợ tham số.

 comments_open( $args ) Kiểm tra chức năng bình luận của post hiện tại có đang được mở hay không.has_tag( $args ) Kiểm tra post hiện tại có được đặt Tag hay không.has_term ( $args ) Kiểm tra post hiện tại có chứa một term của bất kỳ taxonomy nào hay không. Ví dụ bạn có một category mang tên là ABC thì cái ACB đó chính là term của taxonomy tên Category.in_category( $args ) Kiểm tra post hiện tại có nằm trong category nào hay không.is_404() Kiểm tra trang bạn đang truy cập có bị lỗi 404 hay không.is_admin() Kiểm tra bạn có đang truy cập vào trang quản trị của WordPress hay không.is_archive() Kiểm tra xem bạn có đang truy cập vào trang lưu trữ của bất kỳ một taxonomy nào hay không.is_attachment() Kiểm tra xem bạn có đang truy cập vào trang hiển thị tài liệu đính kèm trong post hay không (Media).is_author( $args ) Kiểm tra bạn có đang xem trang lưu trữ của một tác giả nào đó hay không.is_child_theme() Kiểm tra nếu theme hiện tại đang sử dụng là child theme hay theme bình thường.is_comments_popup() Kiểm tra trang hiện tại đang truy cập có phải là trang popup của comment hay không.is_date() Kiểm tra trang đang truy cập có phải là trang lưu trữ dạng ngày tháng hay không.is_day() Kiểm tra xem trang bạn đang xem có phải là trang lưu trữ theo ngày hay không.is_feed() Kiểm tra xem đối tượng bạn đang xem có thuộc trang RSS Feed hay không.is_front_page() Kiểm tra xem trang hiện tại bạn đang xem có phải là trang chủ mà đã được thiết lập trong Settings -> Reading hay không.is_home() Kiểm tra xem trang hiện tại của bạn có là trang chủ hay không. Kết quả sẽ trả về là TRUE nếu bạn không thiết lập trang chủ trong Settings -> Reading hoặc bạn thiết lập một trang trở thành Post page trong Settings -> Reading.is_month() Kiểm tra xem trang đang xem có phải là trang lưu trữ theo háng hay không.is_multi_author() Kiểm tra xem website đang truy cập có nhiều hơn 1 tác giả đăng bài hay không.is_multisite() Kiểm tra xem trang hiện tại có phải là WordPress Multisite hay không.is_main_site( $args ) Kiểm tra xem trang hiện tại có phải là website chính trong mạng WordPress Multiste hay không.is_page( $args ) Kiểm tra trang hiện tại có phải thuộc Page hay không.is_page_template( $args ) Kiểm tra page hiện tại có dùng Page Template hay không.is_paged() Kiểm tra xem trang hiện tại có được phân trang hay không. Không áp dụng cho Post và Page.is_preview() Kiểm tra xem trang bạn đang xem có phải là trang xem thử bài viết ở chế độ viết nháp hay không.is_rtl() Kiểm tra ngôn ngữ đang sử dụng cho website có thuộc danh sách các quốc gia sử dụng bố cục đọc từ phải trang trái hay không. Ví dụ như tiếng Ả Rập sẽ đọc từ phải sang trái.is_search() Kiểm tra trang đang xem có phải là trang hiển thị kết quả tìm kiếm hay không.is_single( $args ) Kiểm tra xem trang hiện tại có phải là trang hiển thị chi tiết nội dung của bất kỳ post type nào hay không. Chỉ áp dụng cho các post type có tham số Hierarchical là True, tức là giống Post.is_singular( $args ) Kiểm tra xem trang hiện tại có phải là trang hiển thị chi tiết nội dung của bất kỳ post type nào hay không, nó giống như is_single() nhưng áp dụng cho toàn bộ loại post type và nó cũng sẽ trả kết quả là TRUE nếu như is_single(), is_page() và is_attachment() trả kết quả về là TRUE.is_sticky( $args ) Kiểm tra xem post đang xem có đang được đánh dấu vào nút Sticky hay không.is_super_admin( $args ) Kiểm tra thành viên đang truy cập có phải là Super Admin hay không.is_tag( $args ) Kiểm tra xem trang hiện tại có phải là trang hiển thị danh sách bài viết của một tag nào đó không.is_tax( $args ) Trả về TRUE nếu trang hiện tại là trang hiển thị danh sách bài viết của một taxonomy nào đó.username_exists( $args ) Kiểm tra sự tồn tại của một username.is_taxonomy_hierarchical( $args ) Kiểm tra một taxonomy nào đó có được bật tính năng hierarchical hay không.is plugin active( $args ) Trả về TRUE nếu một plugin nào đó được kích hoạt.in_the_loop() Kiểm tra đối tượng hiện tại có đang nằm trong loop không.is_activate_sidebar( $args ) Kiểm tra một sidebar nào đó có đang được sử dụng hay không.is_activate_widget( $args ) Kiểm tra một widget nào đó có đang được sử dụng (đưa vào sidebar) không.is_dynamic_sidebar() Kiểm tra sidebar xem nó đã được thêm widget chưa.is_user_logged_in() Kiểm tra người đang xem có phải là thành viên đã đăng nhập hay không.wp_is_mobile() Kiểm tra thiết bị đang truy cập có phải là điện thoại di động hay không. Ngoài ra bạn có thể có thêm được nhiều hàm có chức năng tương tự thế này bằng cách cài plugin, xem thêm bài Kỹ thuạt xây dựng Adaptive Theme.

Widget Logic là plugin cho phép bạn điều khiển việc hiển thị từng widget ở những trang mà mình cần cho widget hiển thị thông qua các hàm điều kiện ở trên, đây là một cách làm quen với hàm điều kiện dành cho những bạn mới học ngại viết nhiều code.

Sử dụng Widget Logic cũng khá đơn giản, sau khi kích hoạt plugin thì bạn sẽ cần mở widget cần thêm hàm điều kiện ra và viết hàm điều kiện ở bên dưới phần Widget Logic.

widget-logic

Ở bài này mình đã nói qua khá chi tiết và đầy đủ về các hàm điều kiện có sẵn trong WordPress và có thể nó sẽ rất có ích cho bạn trong nhiều bài toán khác nhau cần xử lý. Thực ra đây là vấn đề khá đơn giản mà mình từng nghĩ chắc nhiều người cũng biết nên mình đã không nói qua, ai ngờ lại nhận được khá nhiều câu hỏi liên quan nên mình viết bài cụ thể luôn.


This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

Tạo máy ảo trên máy tính với Vagrant và VirtualBox

Trong các bài học VPS căn bản của mình, để thực hành bạn sẽ cần một VPS (Virtual Private Server) nhưng điều này đồng nghĩa với việc bạn phải bỏ một khoản tiền ra để trả phí cho quá trình học tập này. Mà theo thói quen của nhiều người sử dụng máy tính nói chung và dân IT nói riêng, việc hạn chế tiêu tiền càng ít càng tốt, mình không nói về vấn đề này vì đó là quan điểm riêng của mỗi người.

Vậy thì nếu bạn không có VPS nhưng muốn học VPS thì sao? Nghe cũng có vẻ lạ đấy nhưng không phải là không thể, bạn có thể cài các phần mềm hỗ trợ tạo máy ảo vào máy tính như VirtualBox, VMWare và cài hệ điều hành CentOS hoặc Ubuntu vào để làm một cái server Linux ảo để thực hành.

Dùng VirtualBox hay VMWare thì rất là tốt và hầu hết chúng ta đều phải sử dụng nó, nhưng cái vấn đề gặp phải khi làm thủ công như vậy đó là bạn sẽ mất thời gian cài đặt (bao gồm bước tạo máy ảo và thiết lập hệ điều hành cho nó), và đặc biệt là hệ điều hành CentOS không phải ai cũng có thể cài trót lọt nó để sử dụng như một webserver vì sẽ cần cấu hình khá nhiều sau khi cài xong.

Ở bài này, mình sẽ giới thiệu bạn đến một công cụ khác mà bạn có thể sử dụng kèm với VirtualBox hoặc VMWare để tạo máy ảo trong thời gian nhanh nhất, đơn giản nhất và chuyên nghiệp nhất đó là công cụ Vagrant.

Vagrant là một ứng dụng thêm dành riêng cho VirtualBox và VMWare để hỗ trợ người dùng tạo ra các máy ảo trên máy tính theo nhu cầu của mình và hỗ trợ quản lý toàn bộ máy ảo qua các dòng lệnh, hỗ trợ sẵn các box (bạn có thể hiểu “box” là một gói hệ điều hành với các thiết lập riêng biệt), đặc biệt  là bạn có thể chuyển thiết lập các máy ảo trong máy mình sang một máy tính khác (re-package), hoặc cho phép các thành viên cùng team với bạn truy cập vào thư mục riêng trên máy chủ để sửa/xem file mà họ không cần cài đặt bất cứ cái gì, miễn là dùng chung mạng LAN (Mạng nội bộ – Local Area Network), thậm chí bạn có thể đưa máy chủ của bạn lên môi trường internet chỉ với vài dòng lệnh đơn giản.

Hoặc nếu bạn đang deploy ứng dụng trên cloud server của Amazon EC2 hoặc Rackspace, Vagrant có thể giúp bạn dễ dàng setup giống như bạn làm trên máy tính và đồng bộ thiết lập này cho các server khác chỉ với vài dòng lệnh mà không cần mất công setup từng cái. Vagrant cũng hỗ trợ hầu hết mọi hệ điều hành hiện nay nên bạn không cần phân vân

Nói tóm lại, tuy rằng trong bài này mình sẽ nói về cách dùng Vagrant cơ bản nhưng khi bạn đã hiểu về nó, tự khắc bạn sẽ thấy Vagrant có ích như thế nào trong môi trường làm việc với web nói riêng và ảo hóa máy tính nói chung.

https://www.youtube.com/watch?v=s30E7ssEQWI

Ở bài này mình sẽ hướng dẫn cách cài đặt và sử dụng Vagrant trên hệ điều hành Windows (mình dùng Windows 8.1), nhưng nếu bạn dùng các hệ điều hành Linux như Ubuntu, Mac,…thì sẽ cài đặt dễ hơn vì đã có sẵn công cụ terminal nên bạn cứ làm theo, không cần cài đặt Git Bash ở bước 2.

Trước khi cài Vagrant, bạn nên cài VirtualBox vì nếu bạn muốn dùng Vagrant với VMWare thì bạnsẽ phải mất tiền. Bạn có thể tải phần mềm VirtualBox về và cài đặt vào máy như một phần mềm bình thường, yên tâm đây là phần mềm hoàn toàn miễn phí.virtualbox

Tại sao lại có Git ở đây? Bởi vì chúng ta sẽ sử dụng và điều khiển Vagrant qua bằng lệnh linux nên nếu dùng Windows thì sẽ hơi bất tiện khi dùng cái ứng dụng cmd có sẵn. Do vậy chúng ta cần một phần mềm để hỗ trợ giả lập môi trường UNIX trên Windows và công cụ Git có hỗ trợ cái này, mặc khác Vagrant rất có ích trong việc dùng chung với Git nên cứ cài sẵn để sau này cần thì dùng chung luôn.

Đầu tiên bạn truy cập vào http://git-scm.com/download/win để tải Git dành cho Windows phiên bản mới nhất. Sau đó chạy file vừa tải về để cài đặt và chọn tùy chọn như hình dưới.

git-install-windows git-install-windows-2

git-install-windows-3

Sau khi cài xong, bạn có thể thấy máy tính mình có thêm một ứng dụng tên là Git BashGit GUI khi vào menu Start trên máy tính, chúng ta chỉ cần sử dụng Git Bash trong khuôn khổ bài viết này. Mở lên thì bạn sẽ có cửa sổ nhập lệnh như thế này:

git-bash

Tạm thời để đó đi, chúng ta cần cài thêm Vagrant nữa.

Ứng dụng Vagrant sẽ tự động thêm vào các chương trình command line trên Windows/Linux sau khi cài đặt nên cũng không có gì khó cả. Trước tiên bạn cần truy cập vào https://www.vagrantup.com/downloads.html và tải gói cài đặt tương ứng với hệ điều hành mà bạn đang dùng.

Tải về và cài đặt như một phần mềm bình thường. Cài xong bạn sẽ cần khởi động lại máy tính để hoàn tất. Sau đó là hãy kiểm tra bằng cách mở cái Git Bash lên và gõ vagrant -h xem nó có hiện ra các thông tin trợ giúp không. Nếu có thì bạn đã cài Vagrant thành công.

vagrant-help

Trước khi sử dụng, mình cần nói sơ qua về các quy trình để có một máy chủ ảo nhằm tránh bỡ ngỡ cho nhiều bạn.

Trong Vagrant, nó có một khái niệm bạn cần biết rõ đó là Box. Box có nghĩa là một gói hệ điều hành và có nhiều box đã cài sẵn một số ứng dụng cần thiết, chẳng hạn như box CentOS 6.5 32bit, CentOS 6.5 64bit, Ubuntu 12.04 có sẵn LAMP,…Bạn có thể tải các box này về để sẵn ở máy và sau đó bạn có thể sử dụng box này cho các máy ảo tùy thích.

Khi dùng Vagrant, bạn sẽ cần tạo một thư mục riêng cho mỗi máy ảo và mỗi thư mục này sẽ chứa các thiết lập cho 1 máy ảo. Bởi vì khi khởi động, bạn sẽ cần truy cập vào thư mục của máy ảo cần khởi động và sử dụng lệnh vagrant up để khởi động nó lên.

Cũng nên nói lại rằng, tất cả các thao tác ở Vagrant đều thông qua lệnh. Nếu bạn dùng Windows thì bật phần mềm Git Bash vừa cài đặt ở trên, còn Linux thì dùng Terminal.

Sơ sơ là như vậy, còn chi tiết mình sẽ trình bày ở dưới.

Sau khi cài đặt, Vagrant sẽ không có box sẵn mà bạn sẽ phải cần nạp nó về máy. Danh sách các box và đường dẫn của nó bạn có thể xem tại https://vagrantcloud.com/discover/featured.

Bây giờ hãy mở Git Bash lên và tiến hành gõ như sau:

vagrant box add chef/centos-6.5-i386

Trong đó:

vagrant: đây là cú pháp bắt buộc phải gõ khi muốn dùng ứng dụng vagrant.box: thành phần cần tương tác trên Vagrant, ở đây chúng ta cần tương tác với box.add: hành động cần tương tác với thành phần box.chef/centos-6.5-i386: tên box cần nạp trong địa chỉ https://vagrantcloud.com/discover/featured.

Sau khi Enter, nó sẽ hỏi bạn cần nạp box cho ứng dụng nào, nếu dùng VirtualBox thì gõ số 1 và Enter. Sau đó là nó sẽ tiến hành tải box bạn cần nạp về:

vagrant-add-box

Sau khi add box xong, hãy gõ lệnh vagrant box list để xem danh sách các box hiện đang có trên máy của mình và quan trọng là để xem tên từng box.

vagrant-box-list

Vậy là xong bước nạp box nhé.

Để tạo máy ảo mới, bạn cần tạo một thư mục riêng cho nó, bạn có thể gõ lệnh dưới để tạo thư mục tên là vm1:

mkdir vm1

Thư mục được tạo ra mặc định sẽ nằm ở C:\Users\Tên-User\.

Tạo xong, hãy truy cập vào thư mục đó với lệnh cd:

cd vm1

Bạn gõ thể gõ lệnh pwd để xem đường dẫn thư mục mà bạn đang truy cập.

Sau khi truy cập vào thư mục cần chứa máy ảo mới, bạn gõ lệnh sau để cài đặt một máy ảo mới với box cần sử dụng, ở đây mình cần sử dụng box centos65 mà mình vừa nạp ở trên:

vagrant init centos65

Đợi một xíu nó sẽ có thông báo đã nạp file Vagrantfile vào thư mục này như sau:

vagrant-init-finish

Dòng thông báo nghĩa là nó đã đặt file Vagrantfile vào thư mục máy ảo của bạn rồi, hãy mở nó lên để thiết lập lại và sử dụng lệnh vagrant up để khởi động máy ảo. Khoan hãy khởi động, nếu bạn cần tạo máy ảo để làm máy chủ webserver thì hãy vào thư mục vm1 vừa tạo ở trên và mở file Vagrantfile ra để sửa lại một số cấu hình cần thiết.

Đây là nội dung Vagrantfile của box centos65 của mình, file này có thể sẽ khác tùy theo box.

# -*- mode: ruby -*-# vi: set ft=ruby :# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!VAGRANTFILE_API_VERSION = "2"Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| # All Vagrant configuration is done here. The most common configuration # options are documented and commented below. For a complete reference, # please see the online documentation at vagrantup.com.# Every Vagrant virtual environment requires a box to build off of. config.vm.box = "centos65"# Disable automatic box update checking. If you disable this, then # boxes will only be checked for updates when the user runs # `vagrant box outdated`. This is not recommended. # config.vm.box_check_update = false# Create a forwarded port mapping which allows access to a specific port # within the machine from a port on the host machine. In the example below, # accessing "localhost:8080" will access port 80 on the guest machine. # config.vm.network "forwarded_port", guest: 80, host: 8080# Create a private network, which allows host-only access to the machine # using a specific IP. # config.vm.network "private_network", ip: "192.168.33.10"# Create a public network, which generally matched to bridged network. # Bridged networks make the machine appear as another physical device on # your network. # config.vm.network "public_network"# If true, then any SSH connections made will enable agent forwarding. # Default value: false # config.ssh.forward_agent = true# Share an additional folder to the guest VM. The first argument is # the path on the host to the actual folder. The second argument is # the path on the guest to mount the folder. And the optional third # argument is a set of non-required options. # config.vm.synced_folder "../data", "/vagrant_data"# Provider-specific configuration so you can fine-tune various # backing providers for Vagrant. These expose provider-specific options. # Example for VirtualBox: # # config.vm.provider "virtualbox" do |vb| # # Don't boot with headless mode # vb.gui = true # # # Use VBoxManage to customize the VM. For example to change memory: # vb.customize ["modifyvm", :id, "--memory", "1024"] # end # # View the documentation for the provider you're using for more # information on available options.# Enable provisioning with CFEngine. CFEngine Community packages are # automatically installed. For example, configure the host as a # policy server and optionally a policy file to run: # # config.vm.provision "cfengine" do |cf| # cf.am_policy_hub = true # # cf.run_file = "motd.cf" # end # # You can also configure and bootstrap a client to an existing # policy server: # # config.vm.provision "cfengine" do |cf| # cf.policy_server_address = "10.0.2.15" # end# Enable provisioning with Puppet stand alone. Puppet manifests # are contained in a directory path relative to this Vagrantfile. # You will need to create the manifests directory and a manifest in # the file default.pp in the manifests_path directory. # # config.vm.provision "puppet" do |puppet| # puppet.manifests_path = "manifests" # puppet.manifest_file = "default.pp" # end# Enable provisioning with chef solo, specifying a cookbooks path, roles # path, and data_bags path (all relative to this Vagrantfile), and adding # some recipes and/or roles. # # config.vm.provision "chef_solo" do |chef| # chef.cookbooks_path = "../my-recipes/cookbooks" # chef.roles_path = "../my-recipes/roles" # chef.data_bags_path = "../my-recipes/data_bags" # chef.add_recipe "mysql" # chef.add_role "web" # # # You may also specify custom JSON attributes: # chef.json = { mysql_password: "foo" } # end# Enable provisioning with chef server, specifying the chef server URL, # and the path to the validation key (relative to this Vagrantfile). # # The Opscode Platform uses HTTPS. Substitute your organization for # ORGNAME in the URL and validation key. # # If you have your own Chef Server, use the appropriate URL, which may be # HTTP instead of HTTPS depending on your configuration. Also change the # validation key to validation.pem. # # config.vm.provision "chef_client" do |chef| # chef.chef_server_url = "https://api.opscode.com/organizations/ORGNAME" # chef.validation_key_path = "ORGNAME-validator.pem" # end # # If you're using the Opscode platform, your validator client is # ORGNAME-validator, replacing ORGNAME with your organization name. # # If you have your own Chef Server, the default validation client name is # chef-validator, unless you changed the configuration. # # chef.validation_client_name = "ORGNAME-validator"end

Nội dung trong đây là tất cả những thiết lập mà bạn sẽ cần sử dụng nếu cần thiết. Các thiết lập đã được ghi mẫu sẵn mà bạn chỉ cần bỏ comment (xóa dấu # ở đầu) thì có thể sử dụng hoặc copy lại. Nếu bạn muốn thiết lập máy ảo cho việc cài webserver thì nên thiết lập như sau:

Tìm:

# config.vm.network "forwarded_port", guest: 80, host: 8080

Và bỏ dấu # ở trước nó đi.

Đoạn trên có nghĩa là chúng ta sẽ forward các truy cập từ port 8080 vào port 80 trên máy chủ. Thế nhưng cái port forward này chỉ áp dụng cho các máy tính ở ngoài mạng nội bộ, do vậy nếu bạn muốn truy cập vào website trên mạng nội bộ thì vẫn phải gõ đường dẫn là http://127.0.0.1:8080 hoặc http://localhost:8080.

Tạm thời như vậy là xong, bây giờ hãy mở Git Bash lên và truy cập vào thư mục vm1 nếu bạn chưa truy cập. Sau đó khởi động máy ảo bằng lệnh sau:

vagrant up

vagrant-up-finish

Và cuối cùng là gõ lệnh vagrant ssh để truy cập vào máy ảo vừa khởi động qua giao thức SSH. Khởi động xong, hãy thử mở VirtualBox lên và bạn sẽ thấy đã có một máy ảo đang được chạy.

virtualbox-vagrantup

Hãy lưu ý rằng, bạn có thể tạo ra nhiều máy chủ nhưng mỗi máy chủ phải ở riêng một thư mục khác nhau. Khi truy cập vào thư mục nào, thì các lệnh ở trên sẽ tương tác với máy ảo ở thư mục đó.

Trong khi dùng Vagrant, có thể bạn sẽ sử dụng rất nhiều một số lệnh dưới đây nên tốt nhất là hãy nhớ chức năng của nó:

vagrant box add – Nạp box.vagrant box list – Xem danh sách các box.vagrant suspend – Cho máy ảo tạm nghỉ.vagrant halt – Cho máy ảo đi ngủ, shutdown đó.vagrant destroy – Cho máy ảo về vườn.vagrant login – Đăng nhập vào hệ thống Vagrant Cloud.vagrant share --ssh: Chia sẻ máy ảo của bạn cho người khác truy cập, bạn phải gõ lệnh vagrant login trước khi dùng tính năng này.vagrant reload: Tải lại các thiết lập trong file Vagrantfile của máy ảo, khi đổi nội dung file đó bạn phải sử dụng lệnh vagrant halt trước để tắt máy ảo, sau đó sử dụng lệnh reload này để nạp lại cấu hình.

Mặc định khi truy cập vào SSH thông qua lệnh vagrant ssh, bạn sẽ truy cập vào máy ảo thông qua user vagrant và user này sẽ không có quyền root. Do đó mỗi lần gõ lệnh cài hay thay đổi thiết lập gì bạn bắt buộc phải thêm sudo đằng trước lệnh. Tuy nhiên, bạn không thể sử dụng sFTP để truy cập được và sửa các file cấu hình vì không có quyền root.

Để truy cập SSH với quyền root. Bạn sử dụng các phần mềm khác như PuTTY để truy cập vào máy chủ trên máy của bạn với thông tin là:

IP: 127.0.0.1Username: rootPassword: vagrantPort: 2222

Hoặc bạn có thể vào SSH bằng lệnh vagrant ssh, sau đó gõ su để chuyển qua user root.

Lưu ý: Mỗi box có thể có thiết lập khác nhau, mà thiết lập này nó đều hiển thị ra khi bạn tiến hành gõ xong lệnh vagrant up. Ngoại trừ pass root, theo thử nghiệm của mình thì đa phần các box không kèm theo ứng dụng đều có pass root là vagrant.

Nếu bạn có cài LAMP hay LEMP thì khi muốn truy cập vào website, bạn phải sử dụng đường dẫn là http://127.0.0.1:8080 vì Vagrant chỉ hỗ trợ bạn listen cổng 8080 trỏ về cổng 80 chứ không listen trực tiếp.

Nếu bạn gặp lỗi timeout khi kết nối vào máy chủ qua SSH bằng lệnh vagrant ssh, sẽ có 2 lý do phổ biến như sau:

Bạn đang dùng máy ảo để cài Vagrant, tài nguyên bị thiếu.Dùng hệ điều hành không tương thích với phần cứng. Ví dụ bạn có máy ảo chỉ vài trăm MB RAM mà lại dùng bản 64bit.

Khi cài LAMP hay LEMP, bạn cứ thêm domain bằng virtualhost như thường lệ. Sau đó mở file hosts trên máy tính và trỏ domain đã add về IP 127.0.0.1. Ví dụ:

thachpham.dev 127.0.0.1

Trong một vài trường hợp, bạn sẽ cần di chuyển qua lại các dữ liệu giữa máy tính của bạn với máy ảo, lúc đó tính năng Synced Folder sẽ phát huy tác dụng của nó. Bây giờ bạn hãy thử vào thư mục vm1 mà bạn đã tạo để chứa máy ảo và tạo một file bất kỳ trong đó.

Sau đó vào SSH, gõ lệnh ls /vagrant thì bạn sẽ thấy file của bạn đã có ở đó. Ngược lại nếu bạn vào máy ảo, đặt cái gì vào thư mục này thì thư mục vm1 trên máy tính cũng sẽ có.

Như vậy bạn có thể hiểu, mặc định bất cứ cái gì bạn bỏ vào thư mục vm1 trên máy tính sẽ đều đưa vào thư mục /vagrant của máy ảo. Nếu bạn có nhu cầu đổi thư mục đồng bộ này, bạn có thể mở file Vagrantfile ra và tìm:

# config.vm.synced_folder "../data", "/vagrant_data"

Trong đó, ../data nghĩa là thư mục trên máy tính của bạn và /vagrant_data là thư mục trên máy ảo. Bạn có thể thử bằng cách tạo thêm một thư mục tên data trong thư mục vm1, sau đó sửa đoạn trên thành:

config.vm.synced_folder "data/", "/vagrant"

Và bây giờ hãy thử đặt một file nào đó trong thư mục data/ rồi vào máy ảo xem kết quả.

Tính năng này rất hay và hữu dụng nếu bạn muốn truy cập vào máy ảo trên một máy tính khác ở ngoài mạng hoặc cho bạn bè xem website mà không cần thiết lập mạng máy tính để tránh các vấn đề rủi ro bảo mật. Tính năng này nó sẽ sử dụng máy chủ vagrantcloud.com làm máy chủ trung gian và mỗi lần bạn chia sẻ, nó sẽ cung cấp cho bạn một cái tên ngẫu nhiên kiểu http://random-number.vagrantcloud.com và địa chỉ này sẽ bị hủy nếu bạn tắt cửa sổ lệnh hoặc ấn Ctrl + C ở cửa sổ gõ lệnh (ở đây là Git Bash).

Để sử dụng tính năng này, trước tiên bạn cần phải đăng ký một tài khoản tại https://vagrantcloud.com, hoàn toàn miễn phí nhé.

Sau đó mở Git Bash lên và gõ vagrant login để đăng nhập vào Vagrant Cloud.

vagrant-login

Ok, chẳng hạn bây giờ mình muốn người khác vào SSH trên máy ảo của mình thì sẽ cần gõ lệnh như sau:

vagrant share --ssh

Nó sẽ hỏi bạn thiết lập passpharse cho máy này, giống như kiểu password vậy đó, bạn hãy nhập mật khẩu tùy thích và nhớ là người đăng nhập phải biết mật khẩu này.

vagrant-share-ssh

Và sau đó là nó sẽ cho bạn địa chỉ và cái tên của máy ảo để người khác kết nối. Nhưng đối với SSH, người cần kết nối chỉ có thể kết nối nếu họ đã cài đặt Vagrant trên máy. Còn nếu máy ảo của bạn đã có cài đặt webserver thì có thể truy cập vào website thông qua địa chỉ nó cung cấp mà không cần nhập port :8080 vì nó đã tự forward từ 80 sang 8080.

vagrant-share-ssh-finish

Khi chia sẻ, bạn sẽ nhận được một đường dẫn máy ảo ví dụ như http://sizzling-yak-5509.vagrantshare.com/, như vậy máy ảo của bạn sẽ có tên là sizzling-yak-5509 và chúng ta sẽ kết nối vào SSH trên máy ảo này với lệnh:

vagrant connect sizzling-yak-5509

Với lệnh vagrant share –ssh ở trên, bạn chỉ có thể chia sẻ máy ảo thông qua giao thức  SSH với cổng là 2222 mà thôi chứ không thể vào web với cổng HTTP được. Do vậy, nếu bạn muốn chia sẻ toàn bộ các cổng hiện có trên máy chủ thì có thể xóa tham số –ssh đi.

vagrant share

Lưu ý với kiểu share này, bạn phải cài đặt webserver trước và khởi động nó lên.

Tới đây thì bài cũng đã khá dài rồi và những gì mình đã trình bày trong bài này đã đủ giúp bạn xây dựng một máy ảo trên máy tính của mình để bạn có thể thực hành Học VPS căn bản để chạy website WordPress trên môi trường máy chủ. Ở bài kế tiếp, mình sẽ hướng dẫn bạn cách tự tạo box cho riêng mình để tái sử dụng mà không cần cài đặt lại và chia sẻ box đó lên thư viện của VagrantCloud để cho bạn bè cùng sử dụng.

Nếu có gì trục trặc, hãy cho mình biết rõ bạn đang gặp lỗi gì để mình có thể trợ giúp.


This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

Chủ Nhật, 23 tháng 11, 2014

Tự code có tối ưu hơn là dùng plugin?

Từ lúc mình tham gia vào cộng đồng WordPress cho đến nay đã phải nghe rất nhiều người nói rằng dùng nhiều plugin quá không tốt, tự code được cái nào thì hay cái nấy để tránh website thêm rề rà. Đây là tâm lý chung của hầu hết người sử dụng WordPress, nhất là những người sử dụng phổ thông. Phải, dùng nhiều plugin sẽ khiến website của bạn chậm đi nhiều hay ít tùy thuộc vào số lượng plugin đang dùng, và loại plugin đang dùng vì có rất nhiều loại plugin làm website trở nên chậm chạp.

Thế nhưng theo suy nghĩ và phân tích của mình, tự code hoặc lấy code của người khác bỏ vào website chưa chắc đã tối ưu hơn sử dụng plugin, tại sao thì trong bài này mình sẽ phân tích rõ ràng và dễ hiểu nhất cho các bạn thấy.

Plugin (dịch ra tiếng Việt là trình cắm?!) là một phương thức để WordPress được mở rộng chức năng ra mà bản thân nó không có sẵn, ví dụ plugin bán hàng WooCommerce. Vậy bạn nghĩ plugin tạo ra từ cái gì? Tất nhiên plugin được tạo ra từ code PHP được viết trong đó và nếu bạn nào đã từng sửa theme nhiều thì sẽ biết, nó hoạt động gần như giống file functions.php trong mỗi theme, nghĩa là một khi plugin kích hoạt thì các code ở bên trong plugin sẽ được tải mỗi khi khách truy cập truy cập đúng nơi mà nó cần tải.

Về phương thức hoạt động, mình xin khẳng định là không vì nó chỉ đơn giản là thực thi các đoạn mã PHP mà thôi. Nếu bạn đặt một code trong file functions.php của themes và đặt một code nằm bên trong một plugin thì rõ ràng nó vẫn như nhau.

Tuy nhiên, nó sẽ có hai điểm khác nhau rõ ràng nhất đó là phải được bắt buộc khai báo thông tin plugin trong một file PHP như thế này:

/*Plugin Name: Test PluginPlugin Author: ThachPhamDescription: Ví dụ về một plugin WordPressVersion: 1.0*/

Đồng thời, trong table wp_options, ở key option_name với cột active_plugins sẽ xuất hiện thêm một string trong giá trị của nó để khai báo các plugin đang được kích hoạt như thế này:

a:31:{i:0;s:13:"AddMySite.php";i:1;s:19:"akismet/akismet.php";i:2;s:23:"all_in_one_seo_pack.php";i:3;s:16:"authenticate.php";i:4;s:28:"breadcrumb-navigation-xt.php";i:5;s:18:"codeautoescape.php";i:6;s:37:"contact-coldform/contact_coldform.php";i:7;s:32:"custom-query-string-reloaded.php";i:8;s:30:"customizable-post-listings.php";i:9;s:33:"dd-sitemap-gen/dd-sitemap-gen.php";i:10;s:20:"download-counter.php";i:11;s:13:"feedcount.php";i:12;s:13:"full_feed.php";i:13;s:15:"get-weather.php";i:14;s:36:"google-sitemap-generator/sitemap.php";i:15;s:13:"gravatars.php";i:16;s:19:"kill-admin-nags.php";i:17;s:18:"landingsites13.php";i:18;s:30:"nofollow-free/nofollowfree.php";i:19;s:17:"ol_feedburner.php";i:20;s:16:"plugins-used.php";i:21;s:22:"popularity-contest.php";i:22;s:39:"search-everything/search_everything.php";i:23;s:27:"simple-tags/simple-tags.php";i:24;s:26:"simple_recent_comments.php";i:25;s:18:"simple_twitter.php";i:26;s:25:"subscribe-to-comments.php";i:27;s:24:"the-excerpt-reloaded.php";i:28;s:18:"theme-switcher.php";i:29;s:9:"top10.php";i:30;s:16:"wp-db-backup.php";}

Và những plugin có sử dụng các options cho phép chúng ta tùy chỉnh thì dữ liệu của nó cũng sẽ được lưu vào database ở table wp_options, nhưng nó sẽ không mất đi khi tắt plugin mà chỉ mất đi nếu ta xóa thủ công hoặc plugin đó có chức năng xóa dữ liệu trong database khi tắt đi.

Như vậy ở phần này, bạn tạm hiểu rằng cách hoạt động của plugin và code tự thêm vào file functions.php là như nhau, tuy nhiên khi dùng plugin thì nó sẽ thêm một string dữ liệu vào database để khai báo và càng sử dụng nhiều plugin thì dữ liệu này càng nhiều và qua thời gian dài nếu không được chăm sóc kỹ sẽ gây nặng database.

Theo nhã kiến của mình, việc sử dụng code để thêm vào file functions.php trong theme để làm các tính năng mình muốn cũng tốt vì hạn chế dùng plugin sẽ tránh được chuyện nặng database mà mình đã nói ở trên. Nhưng cũng theo mình, việc sử dụng code tự thêm vào chỉ thật sự tốt nếu bạn tin chắc rằng code đó tối ưu, hiểu nó có ý nghĩa gì hoặc chỉ thích hợp làm các tính năng nhỏ. Còn đối với một số tính năng quan trọng, nhất là tính năng có sử dụng đến query như tạo bài liên quan, bài ngẫu nhiên,…thì tốt nhất nên dùng các plugin uy tín như Yet Another Related Posts chẳng hạn.

Bởi vì các plugin đó đã được tác giả phát triển và tối ưu theo thời gian, có thể khai thác nhiều tính năng quan trọng trong WordPress hơn để hạn chế xảy ra bug và nếu các plugin này làm việc liên quan đến Query thì rất có thể họ sẽ viết code phù hợp với Transient API để giảm thiểu khả năng bị tràn bộ nhớ do liên tục xử lý query trong database.

Về bảo mật, các plugin uy tín sẽ luôn được tác giả cập nhật thường xuyên nên nếu nó có lỗi bảo mật gì thì cũng sẽ được vá lỗi nhanh chóng, lại còn được tác giả hỗ trợ kỹ thuật qua phần Support của mỗi plugin nữa.

Tóm tắt lại bài, mình xin kết luận như sau để bạn có thể hiểu rõ.

Khi mà bạn cần triển khai  các tính năng phức tạp nhưng đã có plugin hỗ trợ sẵn, dĩ nhiên các plugin đó phải hỗ trợ phiên bản WordPress mà bạn đang dùng và được cập nhật thường xuyên thì lại càng tốt.

Khi mà bạn thật sự hiểu code đó làm gì và chắc chắn rằng nó được tối ưu với máy chủ hơn vì code có tối ưu hay không là do người viết, hãy chắc chắn rằng code đó bạn có thể sửa lại như ý muốn và dễ phát triển sau này chứ không hẳn là chỉ copy/paste.

Nếu bạn đã từng cài nhiều plugin rồi và cảm thấy dung lượng database của mình đã khá nặng, hãy sử dụng plugin WP Options Editor để xóa những table, những key không cần thiết của các plugin cũ trong database và mình khuyên khi vừa không còn sử dụng plugin nào nữa, hãy xóa ngay vì sau này nếu bạn đã từng cài qua nhiều plugin thì sẽ rất vất vả để xóa nó.

Hy vọng với bài ngắn này sẽ có thể giải đáp về câu hỏi khiến nhiều người hoang mang và yên tâm hơn trong việc dùng plugin của mình.


This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

Thứ Tư, 5 tháng 11, 2014

WPNode – Host miễn phí cho WordPress sử dụng NGINX

Mới đây, mình vừa tìm ra một dự án host dành riêng cho website sử dụng WordPress với các cấu hình rất tốt và tốc độ rất nhanh mang tên WPNode. WPNode sử dụng webserver là NGINX, có cài đặt thêm Roundcube, Memcached để hỗ trợ tăng tốc website. Điều đặc biệt hơn là gói miễn phí vĩnh viễn của WPNode không có bất cứ yêu cầu nào như treo quảng cáo này nọ. Dĩ nhiên đã sử dụng NGINX và cấu hình tối ưu thì nó không hỗ trợ control panel như cPanelX hay DirectAdmin mà bạn chỉ thao tác qua sFTP và phpMyAdmin.

Chỉ nên đăng ký nếu bạn thật sự cần host miễn phí, đừng làm họ phải đưa Việt Nam vào blacklist.

Webserver NGINXMySQL ServerChạy trên hệ điều hành Ubuntu vì nó sử dụng EasyEngine script vốn dành cho Ubuntu. Mình sẽ có hướng dẫn bạn sử dụng script này sau.Hỗ trợ 5GB dung lượng1GB dung lượng EmailKhông giới hạn băng thôngKhông giới hạn website sử dụngCài đặt sẵn W3 Total Cache và cấu hình tối ưu

Lưu ý:

Không có control panel hoặc bất cứ giao diện UI nàoKhông có SSH

Nhìn chung, với một website nhỏ và vừa thì thông số trên đủ để chạy rồi, thậm chí còn dư. Tuy nhiên mình cũng khuyến khích thêm rằng với các dự án thế này, bạn chỉ nên sử dụng cho các website nhỏ hoặc ít nhất là không phải website chính của bạn.

WPNode không hỗ trợ đăng ký tự động nên nếu bạn muốn sử dụng, bạn sẽ đăng ký bằng cách gửi yêu cầu đến họ, dĩ nhiên là gửi bằng tiếng Anh. Ở nội dung email, bạn sẽ cần nêu ra lý do sử dụng, domain cần sử dụng, tên username cần đặt và một số yêu cầu khác nếu cần (máy chủ).

Để đăng ký, bạn cần truy cập vào http://wpnode.net/apply/ rồi nhập tên, email và nội dung yêu cầu. Hãy nhớ trình bày lý do mà bạn cần sử dụng nhé và nhớ đọc nội dung bên tay trái để biết bạn cần viết gì vào nội dung.

apply-wpnode

Sau đó hãy kiên nhẫn đợi khoảng vài giờ, họ sẽ gửi một email thông báo thông tin tài khoản của bạn (đã được cài đặt sẵn WordPress) hoặc có thể là từ chối. Mình nhận được email trả lời chấp thuận trong vòng khoảng 30 phút.

wpnode-approved

Mới đây WPNode đã bị các người dùng tại Việt Nam sử dụng host của họ làm web spam. Họ đang thắt chặt đăng ký lại nên hãy trình bày rõ lý do bằng cách trả lời lại email của họ.

wpnode-spam

Và rồi, việc bây giờ của bạn chỉ là sử dụng nó thôi.

Và đây là tốc độ website của mình trên WPNode, không tệ phải không nào, máy chủ của nó là NewYork.

wpnode-speed

Thứ Bảy, 30 tháng 8, 2014

Làm thế nào để thay đổi và sử dụng phông chữ trong Blogger

Google Fonts For Blogger Không nghi ngờ gì, Blogger là một nền tảng tuyệt vời để tạo và quản lý blog, thậm chí nếu bạn là một newbie như chúng ta có thể thấy số lượng các blog nâng cao nhanh chóng. Được rồi, mọi người đều biết điều này, nhưng vấn đề phổ biến nhất với hầu hết mọi người sử dụng blogger đang sử dụng mẫu hoàn hảo cho blog như những vấn đề rất nhiều. Mẫu nên là người dùng thân thiện, phông chữ của nó nên được mắt thân thiện và dễ dàng để đọc, nó cũng phải được đáp ứng và thêm một số tính năng chúng tôi muốn các mẫu.

Tất cả mọi người đã nhận bất kỳ mẫu blogger để sử dụng trong blog của họ hoặc họ đang đẹp hay xấu xí nhưng chúng tôi đang sử dụng chúng. Nhưng điều chính là vấn đề nội dung và có chữ rất nhiều. Nếu bạn cảm thấy rằng blog của bạn không có các phông chữ đẹp hơn bạn nên thay đổi phông chữ ngay lập tức. Bởi vì trong blog, điều chính là nội dung hoặc các bài báo, và nếu bạn đã sử dụng bất kỳ phông chữ xấu mà làm cho điều khó khăn hơn chắc chắn nó sẽ ảnh hưởng đến truy cập blog của bạn và bạn có thể mất khách truy cập của bạn.

Thay đổi phông chữ là blogger không phải là một vấn đề lớn. Chúng tôi đã bộ sưu tập của phông chữ trang web có sẵn trên Google phông chữ miễn phí từ nơi bạn có thể chọn lên bất kỳ phông chữ và bắt đầu sử dụng nó trên blog hoặc trang web của bạn. Google phông chữ là một trong những nơi phổ biến nhất cho phông chữ và hầu như mỗi trang web đang sử dụng phông chữ từ đó bởi vì có phông chữ là tuyệt vời và được lưu trữ trên máy chủ của Google đang thực sự nhanh chóng. Việc thực hiện các phông chữ trong blog của chúng tôi là rất dễ dàng, chúng tôi chỉ cần thêm một từ khóa liên kết html dưới đâyđó gọi là phông chữ để tải trong blog của chúng tôi và sử dụng tài sản CSS font-gia đình để gọi phông chữ trong bất kỳ thành phần web về.

Đừng lo lắng, nếu bạn là một newbie và không biết làm thế nào để thay đổi và sử dụng phông chữ của Google trong blog của bạn bởi vì dưới đây tôi sẽ chỉ cho bạn từng bước làm thế nào có thể chúng tôi dễ dàng làm điều đó.
Được rồi, vì vậy ở đây tôi sẽ phân chia các hướng dẫn trong hai phần chỉ để cho bạn hiểu nó một cách dễ dàng. Trong phần này, chúng tôi sẽ loại bỏ các font sẵn có trong blog của bạn và trong phần thứ hai, chúng tôi sẽ cài đặt và sử dụng phông chữ mới. Hãy bắt đầu.Đi đến Blogger >> mẫu >> sao lưu của bạn TemplateClick chỉnh sửa HTML và tìm cho The Following Code

fonts.googleapis.com
hầu, điều này sẽ có sẵn dưới đâyCác mẫu.Sau khi tìm thấy mã ở trên, bạn sẽ nhìn thấy nó trong html thẻ như hình dưới đây.  Chỉ cần loại bỏ rằng khẩu hiệu liên kết html.Lưu mẫu.
cơ thể, h1, h2, h3, h4, h5, h6 .post. sau cơ thể, .content-wrapper, .main-wrapper, .outer-wrapper, .footer-wrapper, #content-wrapper, #main-wrapper, #footer-wrapper, #rsidebar-wrapper, .sidebar-wrapper {FONT gia đình bất động sản ở đây! quan trọng}
 Dán bất động sản gia đình font trong các đánh dấu và loại bỏ các dấu chấm phẩy, bởi vì chúng tôi đã thêm! thẻ quan trọng sẽ gọi phông chữ quan trọng trong các lĩnh vực nhất định.Lưu mẫu bạn đã hoàn tất!Có vẻ như blog của bạn tìm kiếm tuyệt vời sau khi cài đặt phông chữ mới. Hy vọng bạn thành công đã làm điều này thông qua các hướng dẫn này như chúng tôi đã cố gắng để làm cho nó từng bước. Thậm chí nếu bạn có khó khăn cho bất cứ nơi nào hơn vui lòng yêu cầu dưới đây trong ý kiến. Xin vui lòng để lại quan điểm của bạn trong ý kiến, chia sẻ bài này với bạn bè của bạn và giữ đến thăm chúng tôi cho thêm hướng dẫn dễ dàng. Có một ngày tốt đẹp!

Top 20 mới Templates Blogger tạp chí phí bảo hiểm năm 2014

Magazine Blogger Templates Thời gian qua chúng tôi đã chia sẻ nhiều blogger mẫu mà đã là SEO thân thiện, chuyên nghiệp đang tìm kiếm và có được cũng một số trả tiền blogger mẫu mà đã có tất cả các tính năng premium. Thời gian này chúng tôi đang trở lại với một bộ sưu tập của top 20 mới premium tạp chí blogger templates. Điều tốt nhất của các bản mẫu này là rằng họ đang mới với thiết kế mới, độc đáo, xu hướng và họ cũng có thiết kế tạp chí sẽ mật trên vi thích hợp hoặc tạp chí blog của bạn.

Không giống như blogger tạp chí miễn phí mẫu mà không nhiều tìm kiếm chuyên nghiệp và có thiết kế ngu si đần độn với đầy đủ các lỗi bởi vì nếu bạn đầu tư một vài bucks mua bất kỳ mẫu blogger tuyệt vời của danh sách này, blog của bạn sẽ hoàn toàn trở thành chuyên nghiệp và Ấn tượng. Không nghi ngờ gì, các bản mẫu là đầy đủ công cụ tìm kiếm thân thiện mà sẽ thúc đẩy blog của bạn của xếp hạng trong Google và sẽ cung cấp cho bạn giao thông rất lớn. Họ cũng đã nhận để đáp ứng các tính năng được tìm thấy rất thấp trong blogger templates và đáp ứng cho phép blog của bạn để phù hợp với bất kỳ kích thước màn hình thiết bị một cách dễ dàng.

Và tất cả các tính năng khác như thân thiện với SEO, đáp ứng chuyên nghiệp phong cách thiết kế tối giản, phong cách tạp chí thân thiện với người sử dụng, quảng cáo thân thiện, xã hội nút và vật dụng tùy chỉnh có sẵn trong các bản mẫu và một tính năng quan trọng, bạn sẽ nhận được là hỗ trợ. Sau khi mua bất kỳ mẫu, bạn sẽ nhận được hỗ trợ miễn phí suốt đời cho mẫu của bạn mà có nghĩa là nếu bạn không biết làm thế nào để cài đặt mẫu hơn nhóm hỗ trợ sẽ hướng dẫn bạn, bị mắc kẹt với bất kỳ mã hóa - gọi sự hỗ trợ. Hỗ trợ của họ là tuyệt vời và bạn có lẽ sẽ thích nó.

Chấp nhận được, vì vậy đây là bộ sưu tập của các bản mẫu này. Chúng tôi đã thực hiện bộ sưu tập này từ blogger phổ biến nhất mẫu các trang web. Và nếu bạn cần bất kỳ mẫu tạp chí blogger hơn bạn nên mua bất kỳ sau đây.
Vì vậy, Thats bộ sưu tập mới nhất của phí bảo hiểm tạp chí blogger templates và hy vọng bạn sẽ thích chúng và cũng mua cho blog của bạn bởi vì họ đã mọi tính năng và bạn không nên bỏ lỡ chúng. Chúng tôi sẽ tiếp tục chia sẻ mới cả phí bảo hiểm và miễn phí blogger mẫu do đó, hãy truy cập vào chúng tôi để biết thêm và cũng có thể chia sẻ điều này với bạn bè của bạn. Chăm sóc!

Tối ưu hóa các chiến dịch tiếp thị Email cho chuyển đổi tốt hơn

Email Marketing Tất cả chúng ta biết làm thế nào công cụ email tiếp thị là khi nói đến việc thúc đẩy doanh nghiệp của bạn bán hàng và việc xây dựng thương hiệu của bạn, phải không? Các chi tiết tối ưu hóa chiến dịch của bạn là, càng tốt.

Điều này là, không nhiều nhà tiếp thị biết làm thế nào tối ưu hóa chiến dịch của bạn cho chuyển đổi tốt hơn là một quá trình liên tục - nó không phải là thực hiện một thời gian - có nghĩa là, nếu bạn muốn kết quả tốt nhất.

Một số sẽ nói rằng không có gì để nó nhưng để sản xuất nội dung chất lượng. Nếu nội dung của bạn là chất lượng cao, sau đó bạn sẽ nhận được chuyển đổi tốt nhất với chiến dịch của bạn, phải không? Sai!

Điều là, nhiều hơn là chỉ sản xuất nội dung chất lượng, có những yếu tố khác của email của bạn tiếp thị chiến dịch mà bạn cần phải quan tâm gần với nếu bạn muốn nhận được kết quả tốt nhất. Những lời khuyên chúng tôi sẽ chia sẻ sẽ cụ thể đó.

Trước hết... Tôi hy vọng bạn đang thêm CTAs vào chiến dịch của bạn bởi vì nếu bạn không, sau đó bạn đang để lại rất nhiều tiền trên bàn.

Nếu bạn đã bổ sung chúng, tôi hy vọng của bạn crafting nó theo một cách rằng nó là có thể nhìn thấy trong màn hình. Điều này, có bạn đọc cuộn xuống để tìm cố vấn trưởng của bạn thực sự có thể làm giảm tỷ lệ chuyển đổi của bạn. Điều này đặc biệt đúng nếu bạn sao chép là quá dài và danh sách email của bạn là những người luôn luôn trên đường đi.

Hầu hết các độc giả chỉ không có thời gian để đọc một email dài và di chuyển xuống đến hầu hết các phần dưới cùng của email của bạn. Nó là chính xác bởi vì điều này mà bạn cần phải thêm cố vấn trưởng của bạn trong màn hình.

Tập trung của bạn thông báo email vào một CTA tránh phân tâm và laser tập trung toàn bộ chiến dịch của bạn. Cũng giống như làm thế nào liên kết tiếp thị công trình (có lẽ với các phương pháp tiếp thị cũng), càng có nhiều mục tiêu bạn là, thì càng tốt.

Cần phải nói chuyện với họ về làm thế nào họ nên đăng ký cho mẫu, nhấp vào liên kết, và chia sẻ email của bạn tất cả cùng một lúc là các thói quen khủng khiếp chỉ có cho tiếp thị email. Nghĩ rằng bạn đã nhận nó đúng? Hãy nghĩ lại-bạn luôn có thể làm tốt hơn và cải thiện chuyển đổi của bạn. Chia thử nghiệm để đánh giá hiệu suất cố vấn trưởng của bạn bằng cách thử nhiều phiên bản của trang đích của bạn.

Chúng ta đều biết cách mạnh mẽ bằng cách sử dụng hình ảnh cho chiến dịch của bạn, phải không?

Bây giờ câu hỏi là - tất cả mọi thứ là như nhau - loại hình ảnh sẽ bạn thêm vào nội dung của bạn? Để minh họa điểm của tôi rõ ràng, hãy tưởng tượng của bạn kinh doanh là thích hợp quản lý nợ. Bạn sẽ chia sẻ hình ảnh đó miêu tả những người đang bùng nổ excruciatingly? Hoặc là bạn sẽ hiển thị hình ảnh theo chủ đề tích cực trong trường hợp có những người mỉm cười và trải nghiệm hạnh phúc với tình trạng tài chính của họ?

Tôi hy vọng bạn trả lời sau này. Bởi vì nghiên cứu đã chỉ ra như thế nào sau đó cho phép cho tỷ lệ chuyển đổi cao hơn. Tâm lý đằng sau nó là khi họ nhìn thấy những hình ảnh tích cực, họ hình ảnh bản thân là một trên hình ảnh do đó làm cho họ muốn có sản phẩm của bạn. Trong khi nhìn những hình ảnh tiêu cực làm cho các khách hàng khách hàng tiềm năng hình ảnh mình như những người gặp khó khăn/thách thức mà làm cho họ suy nghĩ hai lần về cách nhấn vào cố vấn trưởng của bạn.

Thậm chí nếu bạn làm theo tất cả các mẹo, nó là quan trọng cần lưu ý rằng bạn sẽ tất cả có thay đổi kết quả. Đó là bởi vì có rất nhiều yếu tố ảnh hưởng đến hành vi mua của khách hàng khách hàng tiềm năng. Nhưng nói chung, bạn sẽ nhận được kết quả tốt nếu bạn làm theo những lời khuyên này.

Nếu bạn đã có kinh nghiệm đó, tôi mong bạn để chia sẻ lời khuyên và ý tưởng cho cộng đồng của bạn. Cho dù bạn có câu hỏi, ý kiến, hoặc đề nghị, phần ý kiến là tất cả các bạn.

Đánh giá BuySellAds: Nền tảng quảng cáo tốt nhất cho các blogger

BuySellAds Nó luôn luôn là một vấn đề lớn cho các newbie blog để kiếm tiền từ blog của họ. Trong khi cách tốt nhất để kiếm tiền từ blog là để làm việc bằng cách lập kế hoạch. Làm cho một mục lập kế hoạch và làm theo nhận được thành công. Có! Chúng ta cần phải rất nhiều kiên nhẫn để tung ra các khoản thu nhập nhưng hầu hết người mới cũng không có sự kiên nhẫn và từ bỏ. Vâng, họ cũng phụ thuộc vào Google AdSense chỉ và chỉ gặp khó khăn trên nó như AdSense cũng cần chất lượng nhà xuất bản và giữ chối các nhà xuất bản chất lượng thấp. Tuy nhiên, có rất nhiều lựa chọn thay thế thêm của AdSense và thậm chí có rất nhiều cách hiệu quả mà có thể làm cho tiền nhiều hơn so với AdSense và người mới nên đến để hiểu biết nó. Khác hơn so với AdSense, blog có thể được tạo thu nhập bằng cách trả tiền bài viết, quảng cáo biểu ngữ trực tiếp, CPM quảng cáo, quảng cáo CPA, Dịch vụ và nhiều hơn nữa. Nhưng những gì về BuySellAds? BuySellAds cũng là mạng quảng cáo tốt nhất cho người viết blog và bạn có thể đã nghe nói về nó, nhưng hôm nay, chúng ta sẽ xem xét mạng này sâu sắc.
BuySellAds là mạng quảng cáo trang web nơi quảng cáo đang được bán và mua cho xúc tiến và kiếm mục đích. Về cơ bản, nó là một nơi mà nhà quảng cáo và nhà xuất bản đáp ứng với nhau và làm cho một thỏa thuận về quảng cáo một cách dễ dàng. Đối với blog, họ có thể tham gia tài khoản nhà xuất bản và bắt đầu bán quảng cáo Blog của họ. BuySellAds có thể là nguồn thu nhập cho các blogger, chính nếu họ làm việc với nó với quan tâm rất lớn. Trước hết, viết blog cần phải áp dụng cho việc này và trước khi áp dụng chúng phải thanh toán các tiêu chí để họ có thể không nhận được từ chối. Nếu tiêu chuẩn của họ không phải là nhiều kết hợp cho blog của bạn hơn bạn có thể làm việc của bạn để có được kết quả như vậy. Sau khi bạn áp dụng cho nó, nó sẽ mất một thời gian để có được ứng dụng của bạn được nhận xét. Khi bạn đã có được chấp nhận, bạn đã sẵn sàng để đi.
Sau khi nhận được blog của bạn được chấp thuận có, bây giờ bạn cần phải thực hiện một số khe cắm quảng cáo trên blog của bạn. Kiểm tra không gian mà có sẵn trong blog của bạn và làm cho vùng quảng cáo cho những nơi. Cố gắng để chọn những nơi như vậy, nơi du khách có hiển thị cao như ở trên và dưới nội dung, tiêu đề, vv. Vì vậy, sau khi tạo vùng quảng cáo, bạn đã để đặt mã đó. Họ là tự động mã và sẽ hiển thị quảng cáo biểu ngữ tự động nếu một số mua. Các mã cũng thu thập dữ liệu chẳng hạn như số lần hiển thị và lưu lượng truy cập blog giúp bạn thực hiện bán hàng.
Một khi bạn đã thực hiện các thiết lập, trong vòng một vài ngày, blog của bạn sẽ xuất hiện tại BuySellAds thư mục để bán quảng cáo trên blog của bạn. BuySellAds có số lượng nhà quảng cáo lớn và chậm từ từ blog của bạn sẽ bán quảng cáo nhiều hơn và nhiều hơn nữa. Khi ai đó sẽ mua quảng cáo trên blog của bạn, bạn sẽ thấy thông báo trong tài khoản của bạn về điều đó và bạn đã quyết định, hoặc bạn chấp nhận hoặc từ chối nó. Sau khi quảng cáo biểu ngữ sẽ được hiển thị tiếp theo 30 ngày trên blog của bạn và nó sẽ biến mất đi tự động sau 30 ngày. Trong vòng 30 ngày này, bạn đã để không phải làm gì với những quảng cáo này, bạn chỉ cần phải làm việc trên blog của bạn, Cập nhật nó, và thúc đẩy nó hoặc bất cứ điều gì. Nhưng không được không hoạt động vì nó có thể giảm lưu lượng truy cập blog của bạn và nó có thể có hiệu lực trên BuySellAds.You của bạn cũng không cần phải lo lắng về hệ thống thanh toán bởi vì nó cũng tự động và bảo đảm. Mỗi khe cắm quảng cáo của bạn sẽ có được mức giá cụ thể và các nhà quảng cáo sẽ trả tiền chính xác mà giá cố định. Sau khi quảng cáo được bán, bạn sẽ nhận được tiền trong tài khoản BuySellAds của bạn và tất cả số tiền được đầu tiên lưu trữ có cho đến khi bạn quyết định thu hồi. Một điều nữa, BuySellAds cũng có hoa hồng từ mỗi bán hàng của bạn và của nó hợp lý bởi vì họ quản lý tất cả mọi thứ cho bạn. Bây giờ bạn có thể rút tiền của bạn kiếm được với hai phương pháp.
Phương pháp đầu tiên là PayPal. Hầu hết các yêu cách để gửi và nhận tiền trực tuyến. Tôi nghĩ rằng bạn biết về điều này, phải không? Mỗi blogger được biết đến với PayPal. Vì vậy, ngưỡng tối thiểu cho PayPal là $20 đô la mà có nghĩa là bạn phải có ít nhất $20 để rút với PayPal. Thứ hai, đó là phương pháp chuyển dây là phổ biến và dễ dàng. Ngưỡng tối thiểu là $500.
Vì vậy, đây là thời gian đầu tiên cho việc áp dụng cho tài khoản nhà xuất bản BuySellAds và gần 70% các nhà xuất bản đã nhận được từ chối trong các ứng dụng đầu tiên. Vì vậy nếu bạn bị từ chối hơn không cảm thấy rằng bạn không thể làm điều đó, nhưng bạn có thể làm điều đó bằng việc biết những gì loại của nhà xuất bản họ muốn và là một trong số họ. Được rồi, đây là một số Mẹo chấp thuận cho bạn.
Tên miền:Điều đầu tiên và quan trọng mà bạn phải là tên miền. BuySellAds không chấp nhận các tên miền phụ như.BlogSpot.com nhưng cố gắng để có được .com, .net, .org hoặc bất kỳ khác tên miền tốt cho blog của bạn và hơn đi cho BuySellAds.Nội dung Blog:Blog của bạn cần phải có nội dung chất lượng cao và không được sao chép từ các blog khác. Niche blog của bạn nên cũng có sẵn trong thể loại của BuySellAds.Thiết kế Blog:BuySellAds cũng xem xét thiết kế như là điều quan trọng vì nó giúp họ để làm cho thêm bán hàng. Hãy thử nhận được một chủ đề chuyên nghiệp và đáp ứng cho blog của bạn.Blog tuổi:Blog của bạn phải là ít nhất 6 tháng tuổi trước khi áp dụng cho BuySellAds.Blog tải tốc độ:Cố gắng để làm cho blog của bạn nhanh chóng để nạp và giữ cho blog của bạn làm sạch bằng cách loại bỏ những thứ không mong muốn.Chính sách bảo mật và giới thiệu trang web:Các trang này là quan trọng để được thực hiện trước khi xuất bản bài đăng blog đầu tiên. Và họ cũng giúp đỡ để có được chấp thuận từ nhiều công ty nổi tiếng như BuySellAds.Blog lưu lượng truy cập:Bạn phải nhận được 50.000 + Hiển thị mỗi tháng trên blog của bạn.Quảng cáo khác:Loại bỏ tất cả các quảng cáo từ blog của bạn trước khi áp dụng cho BSA.Trang xếp hạng & Alexa:Bạn phải có tốt trang đánh giá và xếp hạng alexa cũng nên là ít hơn 20.000.Xã hội theo:Điều này cũng là quan trọng để đảm bảo rằng bạn đã có số lượng tốt của những người theo xã hội trên mọi mạng.Được rồi, vậy, một khi bạn đã có tất cả những việc này hơn bạn đang sẵn sàng để áp dụng cho BuySellAds. Làm theo các bước dưới đây để áp dụng cho blog của bạn.
Đi đến BuySellAds >> đăng ký và thực hiện của bạn tài khoản First.Now đăng nhập để của bạn Account.Go đến nhà xuất bản bảng điều khiển và bấm vào "gửi một tài sản"bây giờ, các hình thức sẽ đến mà bạn đã để điền vào.Trong hình thức đó, bạn phải cung cấp cho URL blog (không có http://), blog tên, mô tả blog, ngôn ngữ, blog loại/thể loại và số lần hiển thị hàng tháng trung bình. Đơn giản, điền vào tất cả và bấm vào "Submit" nút ở phía dưới.Đó là nó.BuySellAds là thực sự một trong nền tảng quảng cáo tốt nhất cho các blogger, khi bạn có được chấp nhận có hơn bạn có thể quên tất cả các mạng khác. Vì vậy, tốt nhất của may mắn trong được chấp thuận có và hy vọng bạn thích xem xét. Đừng quên để chia sẻ quan điểm của bạn trong ý kiến và cũng chia sẻ điều này với bạn bè của bạn.