Monday, August 29, 2016

Learn how to Insert a New Tab in Consumer Editing Web page in Magento 2

Standard
Permit me to share the precise steps that you just’re going to do in this Tips on how to Insert a New Tab in Person Modifying Web page in Magento 2:
  1. Create the file \app\code\InventorySuccess\
etc\adminhtml\events.xml
  1. Create the file \app\code\InventorySuccess\Observer\
Permission\Warehouse\ViewBlockAbstractToHtmlBefore.php
On this subjectwe are going to attempt to insert a brand new tab in to user editing page in magento 2. We are going to use the occasion view_block_abstract_to_html_before to do it:

Step 1:

We have to create the file
\app\code\InventorySuccess\etc\adminhtml\occasions.xml:

Step 2:

We'll create the file \app\code\InventorySuccess\Observer\Permission\
Warehouse\ViewBlockAbstractToHtmlBefore.php to name the tab that we need to insert:
After whichyou will note it like :
The 2 steps I point out above is the shortest course of for you to Insert a New Tab in Person Editing Web page in Magento 2 . With this guideyou can manage new tab in Magento 2 easilyEvery retailer has a New Tab in User Enhancing Web page in Magento 2 with many attributes.
Thank you for reading this post. Good luck to you!

Monday, June 13, 2016

Cách cài đặt NodeJS và tạo webserver dễ dàng bằng JavaScript

Standard
Chào các bạn!
Cũng lâu rồi không viết bài mới trên trang web https://www.magebay.com/magento-multi-vendor-marketplace-extension , khoảng 4 tuần rồi, thôi thì cố viết lấy 1 bài mặc dầu khá bận bịu , để cho Google nó index :D. Bài viết trước tiên của tháng 6 , mình xin viết về chủ đề NodeJS dành cho bạn nào là lập trình viên (Front-end hay Back-end đều được)
Mình xin nói nhanh chút về công nghệ NodeJS. Nó cũng ko còn mới mẻ gì nữa bởi vì mình cũng làm về NodeJS 2 năm rồi, ở Việt Nam thì đa phần những lập trình viên thường lập trình bằng PHP, chiếm tới 95% nên NodeJS có thể hơi xa lạ mặc dù ở nước ngoài thì nó quá phổ quát rồi.

NodeJS là gì? Có ăn được không?

NodeJS là mã nguồn mở tăng trưởng bởi Ryan Dahl năm 2009 dựa trên bộ engine Google JavaScript V8, đây chính bộ engine xử lí JavaScript trên trình duyệt Google Chrome giúp bạn có thể thực thi những đoạn mã JavaScript trên server giống như ngôn ngữ PHP, như cả nhà cũng biết JavaScript là ngôn ngữ phía khách hàng tức là nó được xử lí tại trình duyệt của người sử dụng nên khi được Di chuyển lên server xử lí nó cho tốc độ rất nhanh, qua thử nghiệm của mình thì nó nhanh hơn PHP đến 95%. Thật tuyệt hảo phải ko nào. đến đây chắc có nhiều bạn hỏi vậy thì để tạo một website động có cần đến PHP nữa không? Câu giải đáp là khôngsite của bạn sẽ được viết hoàn toàn bằng JavaScript. Với sự hỗ trợ của những Framework như Express, Meteor, Ember,… bạn hoàn toàn có thể tạo ra một site động với vận tốc cực nhanh, áp dụng mô hình MVC gần giống như PHP, thậm chí bạn còn có thể viết áp dụng cho Android/IOS hoàn toàn bằng JavaScript (Nhờ Framework React Native, Meteor)
Chắc hẳn đối với các bạn nhà phát triển PHP thì cũng đã làm nhiều về JavaScript rồi nên khởi đầu với NodeJS cũng không có gì khó khăn lắm, nó chỉ thêm một số mô đun thôi. hiện nay mình sẽ chỉ dẫn bạn setup NodeJS trên 2 hệ điều hành đó là Windows và Linux để bạn có thể tự học NodeJS

setup trên Windows

cài đặt NodeJS trên Windows (Xp/7/8/10) thì rất dễ dàng thôi, bạn lên page trủ NodeJS ( productsdesignerpro ) download bộ cài cho Windows về, version mới nhất là 5.7.0. Sau khi download về setup nó như một ứng dụng thông thường thôi, mình không hướng dẫn ở đây  quá dễ dàng rồi. Sau khi setting xong, bạn mở Command Prompt của Windows lên (Nhấn Windows + R) sau đó gõ cmd và Enter, giao diện dòng lệnh của Windows sẽ xuất hiện, bạn gõ lệnh node – v, nếu nó xuất hiện version của NodeJS là 5.7.0 thì bạn đã cài thắng lợi

setup NodeJS trên Linux (Ubuntu/Debian/CentOS)

Tạo webserver đơn giản

Đi kèm với NodeJS có một mô đun http giúp bạn dễ tạo một webserver ảo, đầu tiên mình hướng dẫn trên Windows
Trên Windows bạn mở ổ C ra tạo một folder là nodejs sau đó tạo một file trong thư mục này tên là server.js
Mở lên gõ đoạn code sau vào và lưu lại:
Mở trình duyệt lên gõ 127.0.0.1:1337 và bạn sẽ thấy dòng chữ Hello Word hình thành
gần giống trên Linux, bạn cũng tạo ra một folder là Nodejs và tạo ra 2 file server.js và index.html giống như trên windows, có điều sửa lại file server.js, chỗ listen sửa 127.0.0.1 thành Ip Public của VPS của bạn ví dụ:
Mở trình duyệt web lên gõ IP_VPS:1337 và bạn sẽ thấy dòng chữ Hello Word xuất hiện
Mình xin giải thích về đoạn code trong file server.js như sau:
đầu tiên ta import mô đun http của NodeJS để có thể tạo ra webserver, tiếp ta import module fs (File System) để có thể đọc được file index.html bên ngoài
Tiếp đến, ta gọi phương thức createServer() để tạo webserver, nó chấp nhận 2 tham số request, respone (request chứa những thông tin người sử dụng đòi hỏi và respone để trả về thông báo cho người dùng)
Phương thức respone.writeHead sẽ set header thông tin trả về sẽ ở dạng text/html và mã 200 là mã trạng thái công bố kết nối thắng lợi. Phương thức respone.write() sẽ trả về thông tin cho người dùng, nó lấy dữ liệu từ biến index được đọc từ file index.html. Phương thức respone.end() để dứtcuối cùng phương thức listen để thiết lập webserver hấng dữ liệu trên cổng 1337(cổng mặc định của NodeJS, bạn có thể để port tuỳ thích miễn ko trùng với các port đang được system sử dụng).
Bài đầu tiên về NodeJS mình chỉ nói tới đây thôi, gần tới sẽ viết thêm một loạt bài về NodeJS, cả nhà nhớ truy nhập thường xuyên để xem nhé :D
Chúc các bạn thành công!
NodeJS thì thực chất cũng là JavaScript mà thôi nên nếu muốn làm tốt về NodeJS thì bạn phải am tường về JavaScript, do đó mình xin gửi tặng bạn cuốn JavaScript toàn tập A-Z để bạn học và tập tành, nhập thông báo vào form bên dưới và mình sẽ gửi nó vào email cho bạn!

Thursday, June 2, 2016

Phần 2 : Phần này chúng ta sẽ "mày mò" thêm những loại dữ liệu khác ở trong PHP.

Standard

Tiếp phần trước phần này chúng ta sẽ "mày mò" thêm những loại dữ liệu trong PHP.

5. Kiểu dữ liệu Mảng :

Là một list các phần tử có cùng kiểu dữ liệu.Mảng có thể là mảng một chiều hay nhiều chiều.

· Mảng một chiều có chỉ mục: là mảng được quản lý bằng cách sử dụng chỉ số dưới kiểu integer để thể hiện địa điểm của giá trị đòi hỏi.Cú pháp: $name[index1];
Ví dụ: một mảng một chiều có thể được tạo ra như sau:

$meat[0]="chicken";
$meat[1]="steak";
$meat[2]="turkey";

Tham Khảo Thêm : https://www.magebay.com/magento-multi-vendor-marketplace-extension

Nếu bạn thực thi dòng lệnh sau: print $meat[1]; thì trên trình duyệt web sẽ hiển thị dòng sau: steak.
Bạn cũng có thể sử dụng hàm array( ) của PHP để tạo ra một mảng.Ví dụ:

$meat=array("chicken","steak","turkey");

– Mảng một chiều kết hợp: rất thuận tiện khi sử dụng để ánh xạ một mảng sử dụng các từ hơn là sử dụng các integer, nó giúp ta giảm bớt thời gian và các mã đòi hỏi để hiển thị một giá trị cụ thể. Ví dụ: bạn muốn đánh dấu tất cả các thức ăn và các cặp rượu ngon.

$pairings["zinfandel"] = "Broiled Veal Chops";
$pairings["merlot"] = "Baked Ham";
$pairings["sauvignon"] = "Prime Rib";

Tham Khảo Thêm : http://productsdesignerpro.com/

Mảng nhiều chiều có chỉ mục: tính năng của nó cũng giống như mảng một chiều có chỉ mục, ngoại trừ việc nó có thêm một mảng chỉ mục được sử dụng để chỉ định một phần tử.

Cú pháp:

$name[index1] [index2]..[indexN];


Một mảng hai chiều có chỉ mục được tạo ra như sau:


$position = $chess_board[5][4];


Mảng đa chiều kết hợp: khá hữu dụng trong PHP. giả sử bạn muốn đánh dấu các cặp rượu-thức ăn, không chỉ loại rượu, mà cả nhà sản xuất. Bạn có thể thực hiện như sau:

$pairings["Martinelli"] ["zinfandel"] = "Broiled Veal Chops";
$pairings["Beringer"] ["merlot"] = "Baked Ham";
$pairings["Jarvis"] ["sauvignon"] = "Prime Rib";

Tham Khảo Thêm : http://productsdesignercanvas.com/

6. Kiểu dữ liệu Object:

Bạn có thể xem object như là một biến mà minh hoạ một kiểu mẫu template được gọi là class. khái niệm của đối tượng và lớp được sử dụng nhiều trong ngôn ngữ lập trình hướng đối tượng OOP. Không giống như các kiểu dữ liệu khác trong PHP, object phải được khai báo.Điều Quan trọng là phải nhận ra rằng object không hơn gì một minh hoạ của một lớp, và hoạt động như là một khuôn mẫu cho việc tạo các object có các đặc điểm và chức năng chi tiết. bởi vậy, lớp(class) phải được định nghĩa trước khi khai báo một object. Để khởi tạo một đối tượng, bạn sử dung câu lệnh new để minh hoạ đối tượng với một biến.Ví dụ:

<?php
class foo
function do_foo()
echo "Doing foo.";


$bar = new foo;
$bar->do_foo();
?>

7. Kiểu dữ liệu Resource:

Là một biến đặc biệt, chứa một tham chiếu tới một resource bên ngoài. Các resource được tạo ra và sử dụng bởi các hàm đặc biệt
giải phóng resources: bởi do tham chiếu đếm của system được giới thiệu trong PHP4 Zend-engine, nó sẽ tự động phát hiện khi một resource không cần thiết cho lâu dài. Khi ở trong trường hợp này, tất cả các resource mà đã được dùng cho resource này được phóng thích bởi "bộ phận thu nhặt rác". Do đó, hãn hữu khi thật sự cần thiết để giải phóng bộ nhớ thông thường bằng cách dùng hàm free_result().

8. Kiểu dữ liệu NULL:

giá trị NULL đặc biệt dùng để miêu tả một biến không có giá trị. Một biến được xem là NULL nếu:
o Nó được gán giá trị hằng số NULL.
o Nó chưa được khởi tạo giá trị nào.
o Nó là hàm unset( )
chú giải: unset () là một hàm sử dụng để hủy bỏ các biến chỉ định.
Cú pháp: chỉ có một loại giá trị của kiểu NULL. Bạn có thể khai báo như tỉ dụ sau:

$var=NULL;

hẹn gặp lại các bạn.

Sunday, May 29, 2016

Viết website PHP đầu tiên : Hello World !

Standard

1) PHP là gì ?

PHP là một ngôn ngữ lập trình kiểu script, chạy trên Server và trả về mã HTML cho trình duyệt web. PHP gần như đã trở nên một ngôn ngữ lập trình Web rất phổ quát trên mạng bây giờ. PHP là chữ viết tắt của cụm từ "PHP Hypertext Preprocessor", tạm thời dịch là ngôn ngữ tiền xử lí các siêu văn bản. Các mã lệnh PHP được nhúng vào các website, các page này thường có phần mở rộng là .php, .php3, .php4. Khi khách hàng gởi đòi hỏi "cần load các page này về" đến web server, trước tiên web server sẽ phân tách và thi hành các mã lệnh PHP được nhúng trong, sau đó trả về một site kết quả đã được xử lí cho khách hàng.

Một số sản phẩm của chúng tôi được lập trình bằng PHP :

- http://bit.ly/1Wtmc4x

- fancy product designer

- http://bookingsystempro.com/

Bạn có thể hỏi, tại sau có nhiều tuỳ chọn như ASP, Cold Fusion, Perl, Java, Python nhưng chúng ta lại chọn PHP? Và câu trả lời là: bởi nó là một ngôn ngữ rất dễ dàng sử dụng, dễ học, cú pháp lệnh tối giảm, các biến không cần phải khai báo trước khi dùng, tự động ép kiểu(typecast), chạy nhanh, tập hàm built-in rất phong phú, có mã nguồn mở…

2) Viết chương trình Hello World !

bình thường, khi bạn khởi đầu học một ngôn ngữ nào đó, đoạn mã đầu tiên bạn web sẽ là xuất ra console, màng hình,.. câu : "Hello World!". Và PHP cũng không ngoại lệ.Bất kì một ngôn ngữ nào chúng ta học, đoạn script đầu tiền chúng ta thường là : "Hello World", nhưng mà chắc khá ít cả nhà tự hỏi tại sao nhà phát triển thường chọn "Hello,World", như một biểu tượng bắt đầu cho một ngôn ngữ mới học. Có 2 lý do được đưa ra ở đây lý giải cho câu hỏi trên

Thứ 1 : Về lịch sử, cụm từ "hello world" được các lập trình viên sử dụng cho tới ngày bữa nay bởi sự ảnh hưởng từ một ví dụ trong quyển sách có tựa đề là "The C programming language". Chương trình ví dụ từ cuốn sách là đoạn mã : "hello world", được kế thừa thì những ghi chú quý giá của Brian Kernighan, được sử dụng cho các thử nghiệm trình biên dịch C (ngôn ngữ lập trình C). Sau đó nó là trong những chương trình trước tiên để thử nghiệm trình biên dịch C++. Và được các developer dùng như một biểu tượng tiền để khi mới khởi đầu bước vào nhân loại lập trình cho tới hiện tại

Thứ 2 (ý kiến cá nhân): "hello world", dịch ra là "xin chào thế giới". Giống như khi chúng ta mới được xuất hiện, tiếng khóc gia đời như một câu chào đầu tiên thông báo với thế giới rằng sự hiện diện của bạn trên cõi đời này. Cũng gần giống như thế, "hello world" là đoạn mã trước tiên, vô cùng tối giảm và dễ dàng hiểu cho dù bạn có tri thức lập trình hay không? Nó là nền tảng của bất kì một ngôn ngữ lập trình như C, C++, Java, C#, PHP, Ruby on Rails,…

Bước vào chủ đề chính, bạn gõ theo như đoạn mã dưới đây xuất ra trình duyệt để người sử dụng thấy được, có cấu trúc như sau :


Save đoạn mã trên lại với tên file bất kì, chẳng hạn như hello_world.php trong thư mục gốc của server local host. Đối với wamp là thư mục "www" trong đường dẫn : "C:wamp/www" hoặc xamp thì là folder htdocs trong đường dẫn "Camp/htdocs". Vào trình duyệt web gõ địa chỉ localhost, sẽ thấy in ra ngoài trình duyệt web dòng chữ : "Hello World". giảng giải về 2 đoạn mã trên, dấu mở <?php và dấu đóng ?> đó là bắt buộc của ngôn ngữ lập trình PHP, bên trong 2 dấu này bạn sẽ đặt các đoạn mã PHP của mình để trình duyệt có thể hiểu được. 2 tỉ dụ trên, đều xuất ra ngoài màng hình chữ "Hello World". 2 lệnh print và echo có tác dụng khá tương đồng nhau đó là xuất ra ngoài màng hình những gì người sử dụng có thể nhìn thấy được, cơ bản bạn có thể sử dụng echo hoặc print đều được. Về vấn đề khác biệt giữa echo và print, mình xin liệt kê một đôi điểm :

– Về vận tốc, echo có thể nhanh hơn print, vì nó không trả về giá trị

– print có hành vì giống như một function, trong khi echo thì khôngVậy là chúng ta đã viết xong page trang web đầu tiên "Hello World", làm tiền đề cho những đoạn mã lớn hơn sau này trong hành trình xây dựng một |ứng dụng website bằng ngôn ngữ lập trình PHP.

Nếu bài hay và có ích, hãy click share bên dưới bài viết để chia sẽ cho mọi người cùng học nhé.
Chia sẽ nhiều hơn tăng trưởng mạnh hơn . Thân !

Thursday, May 26, 2016

Hôm nay tôi sẽ giới thiệu về những bộ soạn thảo giúp ích cho nhà phát triển web

Standard

Hôm nay, trong bài viết này, mình muốn giới thiệu tới với cả nhà các chương trình, bộ biên soạn thảo code (editor) cần thiết nên được cài trên máy tính giúp ích công việc lập trình web mà mình đã và đang dùng để phát triển các dự án site của mình

1. Notepad++ (Miễn phí)

Đâu tiên phải kể đến đó là trình biên soạn code notepad++, đây có thể coi là một editor không thể thiếu đối với một nhà phát triển web. Với dung lượng load về khiêm tốn, tốc độ phát động siêu nhanh, Ngoài ra các thư viện cung cấp, plugin giàu có thì đây gần như là một editor bắt buộc phải có sẵn trên máy của một lập trình web chuyên nghiệp

editor nodepad+++

Download tại đây : Magento2 Marketplace

2. Sublime text (Miễn phí)


Nói về editor "miễn phí" và tốt thì chẳng thể nào không nhắc đến Sublime Text, đây một editor khá mới, nhưng nhận được sự ủng hộ rất cao từ giới lập trình web, mình thường dùng nó để phát triển các website cá nhân của mình. Điểm lôi cuốn đối với mình về Sublime text là tốc độ khởi động nhanh,các gói theme cho giao diện đẹp và nhìn chuyên nghiệp. Điểm nhấn là các plugin cực giàu có và hữu ích, nếu bạn biết cách tích hợp và sử dụng các plugin này, thì đây là editor có thể nói là tốt nhất trong các editor, đúng như tiêu đề của nó : "Sublime Text: The text editor you'll fall in love with"

rp_kungfu-sublime-298x300.png

Download tại đây : magento 2 extension development

3. Netbean (miễn phí)

Cuối cùng là một IDE cần thiết phải có mà mình muốn nhắc đến là netbean, đây là IDEđược phát triển chuyên dành cho developer web, khá giống với Eclipse for PHP. Đây là một editor rất đáng để chọn lọc để giúp lớn mạnh nhanh hơn các dự án trang web, hệ thống bự. Bạn có thể cân nhắc giữa 2 IDE làNetbean và Eclipse for PHP. Bạn cứ thử cài 1 trong 2 IDE này lên máy, và thích cái nào hơn thì xài cái đó, theo kinh nghiệm của mình thì 2 này khá giống nhau.

netbean, editor lập trình

Tải xuống tại đây : magento 2 one step checkout

Tổng kết : Theo quan điểm cá nhân của mình, mình nghĩ các bạn nên setup sẵn lên máy tính của mình Nodepad++, Sublime text 2 , và một trong 2 IDE Eclipse hoặc Netbean (Ngoài ra bạn có thể kiếm tìm google các IDE lớn khác như Zend Studio, PHPStorm, phpDesigner, Rapid PHP, Komodo PHP,…). Bạn nào có editor nào tốt thì rất hoan nghênh chia sẽ lên bài viết này để chúng ta cùng nhau trao đổi. Thân !

Wednesday, May 11, 2016

Theo bạn học lập trình thế nào để có việc làm?

Standard

" Bài toán khó mà không khó,dễ mà không dễ nhỉ?Tự học và thi lấy chứng chỉ hay bằng cấp là 1 chuyện,còn học và đi làm thế nào thì là chuyện khác.Câu hỏi này nếu có lời giải đáp thì VN đã không có vài trăm nghìn người thất nghiệp,không làm đúng việc "

Đây chính là vấn đề cần được quan tâm nhất. Dạy học ở VN là một bài toán chưa có lời giải. Học xong, tốt nghiệp nhiều nhưng mà thất nghiệp và làm trái ngành cũng nhiều.Mình muốn góp phần giải bài toán này để mọi người có thể làm đúng sở thích của mình.

Đầu tiên, mình xin nói lên ý kiến của mình về vấn đề này, tại sao người học lập trình lại chẳng thể xin việc, hay nói cách khác là chẳng thể lập trình đúng nghĩa. Theo Đạt đó là do cách dạy học ở mình còn quá coi trọng vấn đề thành tích và tập trung vào cách làm sao có điểm tốt là được.

Trường phổ thông thì mình không nói làm gi, mọi người đâm đầu vào học và giải bài để đi thi ĐH. nhưng lên ĐH rồi, mình còn thấy nhiều bạn đi học kèm thì mình cảm thấy quá thất vọng. Mình từng viết một bài có hơi động chạm, (cách học lập trình để ...thất bại). Mọi người vẫn có tư tưởng ở trường phổ thông là giải thật nhiều bài tập, xin đừng hiểu sai ý của mình. Mình không phê bình việc giải nhiều bài tập, nhưng cái mình muốn nói đến là giải bài tập vừa đủ để hiểu bản chất. Đừng giải rất nhiều bài tập để thành thợ giải toán, thợ giải bài tập mà không đi sâu được. Mọi người cứ nghĩ lên ĐH rồi vẫn cần phải đi học kèm, phải giải thật nhiều dạng đề. Cái gì, giải nhiều dạng đề để làm gì? công ty họ đâu có tuyển lập trình viên vào giải đề? Trừ phi bạn giải đề để đi thi competitive programming.

Đâm đầu vào thi cử lấy thành tích.

Như hôm nay Mình có trả lời một câu hỏi của một bạn, bạn ấy hỏi thợ code là gì? Theo mình, thợ code là người code nhanh, code nhiều, code không cần nghĩ. Ở đâu thì có thợ code, ở các nước đang phát triển như VN thì thợ code rất nhiều.

Dưới đây là một số sản phẩm do các coder bên mình phát triển.

- magento 2 checkout page

- Magento2 Multi Vendor Marketplace

- product designer

Các bạn học lập trình, không học cơ bản, thích học công nghệ. Ra trường vào một công ty outsource, không phải mọi outsource đều xấu, mình chỉ đang ví dụ một số công ty outsource cơ bắp. Khách hàng từ các nước phát triển không muốn phí tiền làm công việc cơ bắp, họ gửi đơn hàng về VN. Khi này, các thợ code có cơ hội ra tay, code mỗi ngày rất nhiều, mỗi tháng có thể làm được vài KLOC (K line of code) nhưng cứ code đi code lại một vài tính năng quản lý thành quen. Sau cùng, từ một người đam mê công nghệ, bạn mình, có người muốn bỏ nghề làm cái khác. Nhưng cuối cùng cũng vì cơm áo gạo tiền mà lại tiếp tục nai lưng ra làm thợ code.

Khi đi học trên trường, có giai đoạn mình rất thích học. Đó là khi được học cơ bản, biết về biến, con trỏ, hàm, class. Đó là khi được học giải thuật, học cách bảng băm hoạt động, cách mã hóa dữ liệu, cách nén và giải nén, cách xử lý ảnh, học về trí tuệ nhân tạo, .... Đó mới chính là những cái mình thích học, tuy nhiên mình muốn nhấn mạnh đây là sở thích cá nhân, cũng không cho rằng mọi người nên hoặc phải có cùng sở thích với mình.

Nhưng cái mình muốn dạy cũng gần như những cái ở trên, đó là dạy cách suy nghĩ của một kỹ sư phần mềm chứ không phải dạy để ra làm thợ code. Dạy những cái thật sự cơ bản, nguyên lý của mọi thứ. Có thể mình không làm được trong một sớm một chiều, vì khả năng của mình cũng có giới hạn, nhưng nhất định mình sẽ không bỏ. Nếu không đủ kiển thức, mình sẽ học thêm để có thể truyền đạt lại cho mọi người.

Cái mình nhìn thấy sau mấy năm đi làm là một người học CNTT ra, nhưng không có tư duy lập trình không có giải thuật, không có tìm hiểu, chỉ code như cái máy code thì không thể nào so sánh được với một người không cần từ ngành CNTT ra, nhưng họ có đam mê, họ muốn tìm hiểu, họ học hỏi từ người khác. Họ nghĩ trước khi code, họ nghĩ trước khi làm.

Những người này, mình không có khả năng dạy, bởi vì hầu hết họ giỏi hơn mình.


Tóm lại, mình nghĩ học CNTT ta cần phải có đam mê, nắm cơ bản ngôn ngữ lập trình, cấu trúc dữ liệu & giải thuật, sau đó tự tìm hiểu cái mình cần. mình sẽ cố gắng đem những điều đó vào trong khóa học C++. Tên nó là khóa học C++ nhưng bản chất là học cách lập trình thông qua ngôn ngữ C++.

Một điều mình rất may mắn học được ở ĐH KHTN là những kiến thức cơ bản. mình và những bạn học cùng lớp từng có nhiều lần nói chuyện với nhau sau khi ra trường rằng thực ra chỉ cần học 2 năm là đi làm được. Bỏ đi 1 năm đại cương, bỏ đi năm 4 học "phân tích phát triển phần mềm", chỉ cần 2 năm là đủ đi làm.

Tuesday, May 10, 2016

Developer tài năng cần có “năng khiếu toán”?

Standard
Một trong nhiều trích dẫn nổi tiếng của nhà khoa học máy tính Edsger Dijkstra là từ bài giảng nhận giải thưởng Turing vào năm 1972 của ông, Làm thế nào để chúng ta nói ra sự thực mà có thể làm tổn thương?
Bên cạnh một năng khiếu toán học, thì việc đặc biệt am hiểu tiếng mẹ đẻ là tài sản thiết yếu nhất của một lập trình viên giỏi.
Chú ý rằng ông chính xác nói là tiếng mẹ đẻ, không phải tiếng Anh. Điều này khiến tôi tự hỏi tại sao tất cả các công trình nghiên cứu Quan trọng nhất của Dijkstra lại bằng tiếng Anh, chứ không phải tiếng Hà Lan quê hương ông.
Lập trình viên có cần phải giỏi toán học?
Nhưng tôi đã đi lạc đề. Chúng ta hãy lưu ý phần trước tiên trong trích dẫn của Dijkstra. Các lập trình viên giỏi cần có "năng khiếu toán học"? Nó có thể là một hướng dẫn để nghĩ rằng lập trình như là một hình thức của toán học, ít nhất là cho một lý do: để chống lại việc địa phương hóa. mặc dầu thế giới đã có nhiều nỗ lực để nhằm tạo ra các ngôn ngữ lập trình phiên bản địa hóa, theo như tôi biết, nhưng chưa từng bao giờ có ai nỗ lực để version địa hoá các ký tự Ï€ hoặc số 3. Chúng là phổ biến. bởi vậy, theo ý nghĩa đó, các ngôn ngữ lập trình chịu đựng một sự mơ hồ, tương tự với toán học. bạn khám phá các biểu tượng một lần và dùng chúng ở khắp mọi nơi trên thế giới, không có vấn đề gì phụ thuộc vào tiếng mẹ đẻ của bạn cả.
Một số sản phẩm Magento của các lập trình viên giỏi :
Mặt khác, tôi không nhận thấy trong thực tế rằng các lập trình viên cần phải là người có năng khiếu toán học mới trở thành các nhà phát triển phần mềm giỏi. Trên thực tế hoàn toàn ngược lại. Điều này phụ thuộc rất nhiều vào những dạng code mà bạn đang viết, nhưng phần lớn code mà tôi đã nhìn thấy thì chủ yếu chỉ cần trình độ toán học đủ để "cân bằng sổ sách của bạn", thậm chí không có gì là cao siêu giống như những gì bạn thấy trong các sách giáo khoa giải tích ở trường đại học.

i = j++ / (x + v);
Nó không chính xác như những công thức toán học.
Tôi chẳng bao giờ hiểu được mong muốn để người ta đánh đồng kỹ năng toán học với kỹ năng lập trình. Trong khi trở thành một người giỏi toán chắc chắn sẽ không làm ảnh hưởngđến việc bạn là một lập trình viên, nhưng thật khó cho tôi để vẽ một đường thẳng trực tiếp từ "giỏi toán" đến "giỏi lập trình". Giống như Rory, tôi tin rằng phát triển phần mềm đòi hỏi một số nhạy cảm rõ rệt ở bán cầu não phải.
Khi tôi đang còn nhỏ, tôi nhớ đã nghe mọi người nói những câu kiểu như: "Nếu bạn thích lập trình máy tính, thì bạn sẽ yêu thích môn toán." Tôi luôn luôn nghĩ rằng những người này là hoàn toàn ngớ ngẩn. Thực ra là cũng có cái gì đó về bản chất tương tự của một số loại toán và lập trình máy tính, nhưng những điểm khác nhau giữa chúng còn nhiều hơn.
Với môn toán, và tôi đang không nói về sự điên rồ trong triết lý toán học về lý thuyết số kiểu như "Liệu những số đó có thực sự tồn tại?", nhưng với lĩnh vực toán ứng dụng thì luôn có những câu trả lời chính xác. Bạn hoặc là chính xác hoặc là không chính xác.
Với lập trình, điều tốt nhất bạn có thể hy vọng để làm là một cái gì đó tốt. Với rất nhiều cách khác nhau để thực hiện một kết quả duy nhất, và cần một sự nhạy cảm ở bán cầu não phải để xác định xem liệu bạn có đạt được mục tiêu hay không, và không có bất cứ ai (ngoại trừ [một nhà phát triển phần mềm có kinh nghiệm hơn]) người có thể cho bạn biết liệu bạn có đúng hay không.
Nếu bạn bỏ qua bán cầu não phải của mình, và tôi đang nói về sự trừu tượng và tính thẩm mỹ, thì bạn có thể ráp một số code lại với nhau mà có thể hoạt động được, nhưng nó cũng có thể là một địa ngục của một cơn ác mộng bảo trì. Nếu bạn chỉ tập trung vào bán cầu não phải, bạn có thể cũng có một cái gì đó chạy được, nhưng nó hoàn toàn kém hiệu quả và mang tính cách cá nhân mà bạn là người duy nhất trên trái đất này có thể hiểu và bảo trì phần code đó.
Tạm gác tất cả những điều ở trên sang một bên, mọi người vẫn ủng hộ ý tưởng rằng riêng toán học có sức mạnh để làm cho bạn trở thành một lập trình viên giỏi hơn. Steve Yegge đã liệt kê ra các trường hợp tốt nhất mà tôi đã từng đọc về mối quan hệ giữa lập trình viên và nhà toán học, với năm điểm sau đây:
  1. Toán học sẽ dễ dàng hơn rất nhiều đối với bạn sau khi bạn đã biết làm thế nào để lập trình. Trong thực tế, nếu bạn là một lập trình viên khá, thì bạn sẽ thấy nó hầu như không có gì khó khăn mấy.
  2. Người ta dạy toán trong trường học một cách sai lầm. Sai PHƯƠNG PHÁP. Nếu bạn tự học toán đúng cách, bạn sẽ học nhanh hơn, nhớ nó lâu hơn và nó sẽ có giá trị hơn nhiều đối với bạn với tư cách là một lập trình viên.
  3. Việc biết thậm chí chỉ một chút toán học cũng có thể cho phép bạn viết ra một số chương trình khá thú vị mà nếu không sẽ là quá khó. Nói cách khác, toán học là một cái gì đó bạn có thể học một chút mỗi lần, bất cứ khi nào bạn có thời gian rảnh.
  4. Không có ai biết tất cả mọi thứ về toán học, thậm chí là các nhà toán học giỏi nhất. Lĩnh vực này không ngừng mở rộng, và người ta đã phát minh ra những công thức mới để giải quyết các vấn đề của riêng họ. Và với bất kỳ vấn đề toán học nào được đưa ra, cũng giống như trong lập trình, sẽ có nhiều hơn một cách để giải quyết. Bạn có thể chọn lấy một cách mà mình thích nhất.
  5. Toán học thì… ummm, xin đừng nói cho ai biết là tôi nói điều này nhé; nếu không tôi sẽ chẳng bao giờ được mời đến các bữa tiệc khác miễn là tôi còn sống. Nhưng toán học, cũng… tốt hơn là tôi nên nói thầm điều này, vì vậy bạn hãy cố gắng lắng nghe nhé: (nó thực sự rất vui.)
Đối với tôi, 5 điểm trên giống như một công thức rộng để trở thành người khám phá tìm hiểu và xây dựng kỹ năng giải quyết các vấn đề trừu tượng. Các kỹ năng lập trình là quan trọng, chắc chắn vậy, nhưng không nhất thiết phải độc quyền cho các nghiên cứu về toán học. Nếu toán học là cách ưa thích của bạn để mài sắc lưỡi cưa của mình, thì hãy chọn nó – nhưng nó hầu như không phải là cách duy nhất.
Gần đây tôi nhận được bức email này:
Tôi điều hành một công ty phát triển web nhỏ (4 người) và tôi thấy rằng các lập trình viên trẻ đã không có niềm vui trong việc viết code assembler hay quản lý mà không có các thư viện function. Tôi đã luôn luôn nhận thấy rằng các kỹ năng toán học giỏi là một trong những kỹ năng hữu ích nhất để lập trình, và khi người ta có Google cùng một thư viện khổng lồ các function, người ta sẽ không cần phải giỏi toán để có được những thứ làm việc được, cho đến khi nó có thể bị phá vỡ, gặp những trường hợp gai góc, hoặc gặp phải những lỗi của hệ điều hành hoặc thư viện.
Một số ví dụ nhanh chóng: việc đơn giản hóa các phương trình khó để xác định các chỉ số mảng hoặc các memory offset; lượng giác để giúp đỡ các tính toán vật lý; việc chuyển đổi giữa các cơ số hex​​/bin/dec; các đẳng thức logic như định lý của DeMorgan.
Anh ta có ý tưởng đúng; nếu chúng ta nói về toán học, chúng ta hãy thoát ra khỏi sự trừu tượng và đi vào cụ thể. Chúng ta hãy nói thật chi tiết.
Những phần code nào bạn tự viết mà với một kiến thức chi tiết về toán học sẽ giúp thực hiện công việc của bạn dễ dàng hơn? Tôi có thể nghĩ đến một số thể loại như: Viết một trò game 3D. Hoặc một mô phỏng vật lý. Hoặc các bộ lọc hình ảnh ở cấp thấp. Hoặc các thuật toán nén. Và còn nhiều thứ khác nữa. Nhưng nếu bạn đang ở trong tình huống đó, bạn sẽ biết nó.
Có lẽ tôi là một người lạc quan vô vọng, nhưng tôi nghĩ rằng hầu hết các lập trình viên đều có đủ thông minh để tìm hiểu bất cứ điều gì về toán học mà họ cần ngay khi họ phải giải quyết các vấn đề đang gặp phải.

SearchCap: Bing Ads copy & paste, Google updates Search analytics & more

Standard
searchcap-header-v2-scap

Below is what happened in search today, as reported on Search Engine Land and from other places across the web.

From Search Engine Land:

Recent Headlines From Marketing Land, Our Sister Site Dedicated To Internet Marketing:

Search News From Around The Web:

Industry

Local & Maps

Link Building

Searching

SEO

SEM / Paid Search

Search Marketing


(Some images used under license from Shutterstock.com.)

Let's block ads! (Why?)

Copy & paste comes to Bing Ads UI

Standard
bing-teal-b2-fade-1920

Bing Ads has rolled out a handy update, bringing the ability to copy and paste keywords and ads within the web interface.

You’ll now be able to add keywords and ads to new campaigns and ad groups without having to either use Bing Ads Editor or enter everything in manually in the UI. Just as in Google AdWords, there are now new copy and past options under the “Edit” tab on the Campaigns tab. Control+C and Control+V also work.

Once you copy what the ads or keywords you want to add, just navigate to the ad group where you want to include them and paste. You can opt to pause them once added and choose whether to include the keyword bids and destination URLs.


(Some images used under license from Shutterstock.com.)

Let's block ads! (Why?)

How to make SEO a company-wide habit

Standard
meeting-office-presentation-ss-1920

A few months ago, the Content Marketing Manager at a client’s organization reached out to me, asking if we could provide his copywriting team with an SEO training session.

I was floored! We had been optimizing the majority of their content for years, but they had never shown any interest in doing it on their own.

Why the sudden change? A new VP of marketing had come on board with search experience and wanted to make SEO a priority across the entire marketing department.

After years of trying to get them engaged, all it took was a new person to come in and make it happen. And now, it’s become the norm for individuals within the department to consult us on SEO matters. Amazing!

Coincidentally, this all occurred as I was reading The Power of Habit by Charles Duhigg, a book that looks at habits, how those habits are formed and how businesses have used the habits of their consumers to market to them

It got me thinking… How do we make SEO a company-wide habit within our organizations? After all, we know that the SEO team can’t do it alone.

While I don’t have all the answers (yet), I think a few of these can help:

Get executive buy-in

In the story I mentioned above, SEO became a department-wide initiative because the new VP made it so.

seo-money-roi-shutterstock

The problem is that not every executive is going to come in and advocate for you. In fact, the majority probably won’t. So, how do you get them on your side?

Work with your internal advocate

If you work at an agency, you have a contact within your client’s organization who works to get your recommendations implemented and keeps the program moving. In my experience, they are usually organized, knowledgeable and amazing at managing relationships within the company.

They are also key to the agency’s success. To help them advocate for you (and themselves), make sure they have the information they need to present to the higher-ups. Find out what KPIs the exec is tasked with hitting, and put together some data around how the SEO program can help them reach that goal.

Show them the results

Whether you are on the agency side or the in-house SEO manager, executives care about money. If you can show them your efforts are driving sales and revenue, and it’s a key part of the marketing program, it’ll be hard for them to deny the need.

However, if you want them to be the SEO habit-driver, you also need to show them how everyone within the team is involved.

They need to understand why the web development team should be thinking about SEO implications and why the PR team should be working with the SEO team to acquire not just mentions, but bylines around key themes and topics.

Go team!

Make it easy

links-easy-hard-featured

You know what people hate? More work. It’s often the reason other departments don’t want to work with SEOs. They think they will get more work.

The thing is, they aren’t wrong. Adding an extra step to a process is, in fact, more work — but when that little bit extra pays off, the results can be beneficial for everyone.

To make SEO easy for those around you, consider the following:

  • SEO cheat sheets. We often provide our clients’ copywriting teams with an SEO one-sheet, breaking down the elements they need to consider when creating a blog, white paper, or other piece of content. This includes elements like title tags, cross-links, ALT text, calls-to-action and more. The idea is that they have it in front of them and can simply reference it when they have a question vs. having to ask someone or search online.
  • Dedicated SEO email or chat. If you can get a person even thinking about SEO, you want to make sure you answer any questions they have as soon as possible. If they have to email your contact, who then has to forward it on to you, too much time can pass — and by the time they hear from you, they’ve already gone ahead and implemented what they were doing without your input.

    To avoid this issue, set up a dedicated email that can shared be shared across the team (ex: seo@company.com) or give them a dedicated Skype/chat name they can use when they have questions.

The less friction people encounter, the easier it will be to form a habit.

Provide positive reinforcement

Have you ever trained a puppy? Just kidding. But in all seriousness, as Duhigg points out in the book, the more positive reinforcement you can surround yourself with, the easier it is to break a bad habit or create a new one.

smile-happy-positive-different-ss-1920

So make sure you are giving your team as much positive reinforcement as possible when they are making SEO part of their process, make sure you

  • include other departments in SEO reporting;
  • call their success out in meetings; and
  • send email congratulations for wins.

Make it about them. Your success is often dependent on theirs, so show them how they are making a difference.

Truthfully, they may have no idea. The development team has been amazed when we showed them how a redirect they implemented helped drive a huge number of new visits and leads. While they aren’t on our side for everything, they now often consult with us before making changes.

Check in

call-me-candy-phone-ss-1920

As SEOs, we know we must be continually working to make our sites and brands better. It’s certainly not a “set it and forget it” type of program.

However, I do find we’ll often work with a department on a specific item and then never follow up again. That’s not how you build relationships, and it’s certainly not how you help drive habits.

Whether it’s weekly, monthly, bimonthly or whatever, don’t forget to check in with the folks you aren’t working with on a daily basis. A quick email or phone call just to say “Hi,” thank them for something they did or ask if you can help with something can go a long way.

The point is to keep yourself and SEO top of mind. Plus, if they like you, they’re more apt to help.

Final thoughts

Creating a new habit is hard, and doing more work isn’t always fun. The key is to make everyone part of not just the process, but the success. If you want others to believe in SEO, you need to show them why they ought to — and more importantly, how it benefits them.

Hopefully, these tips can get you started, and SEO will become a company-wide habit in your organization!

Some opinions expressed in this article may be those of a guest author and not necessarily Search Engine Land. Staff authors are listed here.


(Some images used under license from Shutterstock.com.)

Let's block ads! (Why?)

Success is an illusion if you can’t measure it; learn how at SocialPro

Standard
SocialPro16-1920x1080-OG-7

Driving traffic through earned/owned and paid social media advertising is the beginning of the journey. The rubber meets the road when visitors interact with landing pages and become customers. And social media marketers need to prove their mettle, not just speculate about their accomplishments.

SocialPro has sessions designed to help you demonstrate the results you’re achieving and report it effectively to your managers. Topics include:

  • Credit Where Credit Is Due: Demystifying Social Attribution
  • What Your Social Data Should Be Teaching You
  • Generating Social Conversions & Leads
  • Measuring Up With Social Analytics

View the entire agenda now.

Combine these sessions with SocialPro’s focus on earned, owned and paid social advertising, and you’ve got the recipe for success from the wide end of the funnel to the narrow.

facebook keynoteBreaking news!
We’ve are excited to announce that Wei Kuan Lum, head of Facebook’s SMB business marketing, will be delivering our opening keynote. She is a growth hacking evangelist (acquisition, retention, content, programmatic) focused on driving growth for B2B and B2C startups and Fortune 100 companies.

See the entire speaker lineup here.

The early bird gets the savings

Register for SocialPro by May 28 and pay $1,495 — Rest assured, your investment will be worth every penny. We guarantee it.

You’ll get two days of keynotes, measurable tactics, networking with the pros and conference amenities for an exceptional value. Register Now!

–The SocialPro Conference Team

P.S. Attractive team rates are available. We can help! Email registration@socialproconf.com or call (877) 696-7401, Monday through Friday, 9 a.m. to 5 p.m. ET.


(Some images used under license from Shutterstock.com.)

Let's block ads! (Why?)

Beyond authority: guiding metrics for lasting links

Standard
Guiding Metrics

I recently attended a search conference and had the opportunity to converse with attendees from a wide range of fields, with varying SEO backgrounds and experiences. After many interesting and engaging conversations, a common takeaway stood out to me:

People are hung up on technical SEO metrics.

I remember multiple questions like, “What’s your minimum threshold for Trust Flow?” or, “Okay, you get relevant links, but what is the average Domain Authority?”

I shared my observation with our sales team when I returned, and they confirmed this was a common theme among their contacts. It seems my peers in the SEO industry have noticed this trend as well.

While I do believe SEO metrics like Domain Authority or Trust Flow are important and useful, I also believe they require context — and there is more to the story when it comes to evaluating link prospects.

Link acquisition is a nuanced, difficult practice, but I want to walk through my own perspective on the link metrics that lead to securing real links that will make a lasting difference.

Relevance

The number one key to acquiring worthwhile links is relevance.

Relevance provides both a starting point for evaluating your campaign and a continuing guide. Above all other factors, relevance should be the North Star of your link campaign.

SEOs have a propensity to get caught up in technical metrics (Domain Authority, PageRank, Trust Flow, anchor text, co-citation and so on) and only think about Google’s algorithm. But if you pursue links purely from an SEO perspective, you’re going to make mistakes. Serious mistakes.

For example, consider Domain Authority (DA) from Moz. Domain Authority is a helpful metric and provides a useful barometer to evaluate the perceived authority of a site.

But Moz is not Google; Moz has a much smaller index of the web. Domain Authority does not directly equate to PageRank, much less the other hundreds of factors Google uses to evaluate a given site. Judging sites purely by Domain Authority is a mistake.

SEOs can obsess over Domain Authority and conflate DA with site quality, but that is simply not the way this metric should be used. Rather, as Nick Eubanks points out, Domain Authority works best as an indicator for ranking potential.

Moz itself agrees with this assessment that DA is a high-level metric for gauging ranking potential:

While specific metrics like MozRank can answer questions of raw link popularity — and link counts can show the raw quantities of pages/sites linking — the authority numbers are high-level metrics that attempt to answer the question, “How strong are this page’s links in terms of helping them rank for queries in Google.com?”

Domain Authority is a helpful metric and is worth considering in your link acquisition, but don’t discard potential link prospects simply because they have a low DA.

Relevance should trump all other metrics, particularly in regard to your audience. As my colleague, Nicholas Chimonas, stated, “I will never avoid a site that is under DA 25 if it is highly relevant, high-quality, and my target audience is there.”

Technical metrics, such as Domain Authority, Page Authority, Majestic Trust Flow, SEMrush traffic levels and so on, are helpful tools that provide signals and indications of the authority and reputation of a site. But at the end of the day, relevance should ultimately guide your decision-making process within link building.

The goal, after all, is to bring relevant traffic into your site — people who are interested in your company and might actually become a client/customer. What better way to accomplish that than to build relationships and links across your industry, where your audience lives?

Human value

Links should be first and foremost for people, not robots and search crawlers.

As SEOs, we’re not blind to search. Of course, the goal of link acquisition should be to influence rankings and search visibility. But those rankings should flow from building real human connections. Otherwise, you’re building rankings on a house of cards.

Build a real network for your website. That’s what links are: a digital network of connections which tie your site to others.

Build links you would want even if they didn’t increase rankings.

Trust and authority metrics shouldn’t be ignored — these metrics can play an important part in evaluating sites — but you shouldn’t rule out sites that have an active audience and community.

When judging a prospect, think about whether someone would ever actually click on your link. To determine human value, gauge user engagement on a given site. Here are some methods to measure user engagement on a site:

  • Find the actual person/people behind the site. See if they have an active presence on the site, in the niche, and on social media.
  • Check the comments section in blog posts.
  • Review social media (or social buttons, if they have them) for social activity surrounding the site (e.g., shares, followers, conversation).
  • Analyze traffic via SEMrush.
  • Examine post frequency and content freshness.

Sites with low authority signals but high engagement can still be viable link targets.

Human value also comes into play when Google evaluates sites and links. Google has always advocated for focusing on users, and they uphold this philosophy when assessing links. With another Penguin update on the horizon, taking a page from Google’s guiding principle in your link development certainly seems like a good idea.

Links should be built by humans, for humans. Every link should add value to the web.

Goals

Every campaign needs clearly defined goals.

Establishing goals and expectations at the onset of a campaign will provide an overarching guide for all aspects of your project. Every link you secure should, in one way or another, contribute to the larger goals of your campaign.

The odds of achieving success without a clearly defined goal are minimal. And even if you achieve success, you probably won’t know or appreciate it — and thus will have trouble communicating it to your client/boss. You need to set specific goals with specific timelines, and then you can measure progress and report appropriately.

Whether your goal is to improve traffic, increase conversions, support a new initiative or grow brand exposure and affinity, each link secured should be acquired with that specific goal in mind.

This is not to say that every individual link will directly lead to more conversions or increased rankings. But rather the amalgamation of your efforts should develop a diverse link profile that, as a whole, helps you achieve your objectives.

Different links will serve different goals, such as:

  • Links on industry-leading sites can build authority and tap into new audiences, growing brand exposure. These sites are often great places to connect with your audience directly.
  • Links on hyper-relevant forums or communities won’t pass much SEO value but may direct qualified traffic.
  • Links on partner sites bolster relationships, create further marketing opportunities and develop brand advocates.
  • Links on local/niche directories and trusted review sites build brand affinity and offer targeted exposure.

Each link you secure should build toward your greater business goals. And you need a diverse mix of links to achieve the specific goals of your campaign.

To ensure you’re employing the most effective tactics and building the right types of links, it’s important to track progress. You can measure a wide variety of metrics, analytics and data (depending on your project’s goals), but here are a few main aspects worth tracking for nearly every campaign:

  • Organic traffic to the site
  • Organic traffic to selected pages
  • Increases in traffic, sitewide
  • Thematic keyword rankings
  • Key head terms and rankings

Monitoring these metrics will inform whether or not your project is achieving results.

Of course, you can (and should) add other KPIs to provide a more complete picture. For example, if one of your main goals is to improve engagement on your site, you might track bounce rates, average time on page, pages per session and returning visitors.

Determining appropriate KPIs for your campaign will ensure you stay on course to reach your goals.

Industry opinions

This post covers my opinions on what metrics really matter within a link campaign. However, I’m not alone. Many of the same opinions are shared by industry experts and luminaries.

Julie Joyce:

Of course, having more authority links to your site means better rankings and traffic. No one is silly enough to think that a website with a Domain Authority of 65 isn’t a very powerful one in many ways.

However, rankings are not all that matter. Traffic isn’t all that matters, either. What matters is relevant traffic that has the potential to convert.

Jon Cooper:

In general, though, focus on relevance above all else. It’s tempting to just shoot for the big, authoritative opportunities, but by doing so you run into a few issues. The first is that you limit yourself to a smaller pool of prospects, so you generally end up with less links (in some low-quality niches, this can leave you with next to none). Second, relevance is having a much bigger impact in the algorithm moving forward. And third, by targeting more relevant opportunities, you’ve got a bigger chance of having the webmaster say Yes.

Nick Eubanks:

Domain authority is a powerful, directional measure of trust and authority — but it cannot be used in a vacuum. There are other link strength and contextual signals that need to be considered to get a full picture of a domain’s ability to move the needle, rank on its own or prop up other pages for rankings.

Eric Ward:

The internet is always going to be about people connecting with other people, or connecting with content written by people (sorry, Narrative Science). And while I agree there are many link-building strategies, tactics and techniques that need to die a slow and painful death, the process of one person sharing with another person an incredibly useful piece of content that will resonate with that person and result in a link will never go out of style and will never be obsolete.

I’ve been doing this for 20 years. I can assure you that while the methods for identifying the right people have become more challenging, at the end of the day, the end game is still the same: I need to get in touch with the person who will most likely care about what it is I’m sharing or seeking links for.

Some opinions expressed in this article may be those of a guest author and not necessarily Search Engine Land. Staff authors are listed here.


(Some images used under license from Shutterstock.com.)

Let's block ads! (Why?)