This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

Thứ Hai, 7 tháng 3, 2016

Để phát triển bền vững, lập trình viên Việt Nam cần nắm vững kiến thức về cấu trúc dữ liệu và giải thuật – Phỏng vấn Nguyễn Đức Anh


Lập trình viên Nguyễn Đức AnhCùng đọc bài phỏng vấn của blog Vinacode với anh Nguyễn Đức Anh, là một cựu sinh viên đã từng đoạt tới 6 giải thưởng cao tại các cuộc thi Olympic tin học trong nước và quốc tế. Hiện tại anh đang là một developer chuyên về các lĩnh vực Big Data, Data Mining, Nature Language Processor,… tại công ty truyền thông VCcorp; để nghe anh chia sẻ về:
  • Bí quyết từ một cậu học trò “nghiện game” và trượt Đại học trở thành một sinh viên xuất sắc với 6 lần đạt giải cao trong các cuộc thi Olympic tin học trong nước và quốc tế.
  • So sánh về năng lực của sinh viên Việt Nam với các đối thủ khác trong khu vực Châu Á ở các cuộc thi Olympic tin học.
  • Liệu những kiến thức và kinh nghiệm từ các cuộc thi Olympic tin học thời sinh viên có trở nên hữu ích trong công việc sau này của developer.
  • Thực trạng nhiều sinh viên CNTT thường lơ mơ về môn cấu trúc dữ liệu giải thuật và giải pháp cho vấn đề đó.
  • Tầm quan trọng của kiến thức về cấu trúc dữ liệu và giải thuật đối với sinh viên tin học cũng như đối với lập trình viên; và ứng dụng của nó trong công việc thực tế.

Chào anh Nguyễn Đức Anh, anh có thể giới thiệu với độc giả blog Vinacode đôi chút về background IT của mình?
Xin chào các bạn độc giả Vinacode. Mình là Nguyễn Đức Anh, hiện đang là lập trình viên Big Data tại công ty cổ phần truyền thông VCcorp, rất vui được ở đây chia sẻ thông tin với các bạn.
Con đường đến với IT của mình thật sự mới chỉ bắt đầu trong 4 năm trở lại đây. Trước đó, mình tiền thân là một cậu học trò mê game, nói trắng ra là “nghiện game” đến mức trượt Đại học, gia đình mình quở trách rất nhiều và mình nộp hồ sơ vào khoa CNTT tại trường ĐH Kinh Doanh và Công Nghệ với lý do có thêm thời gian chơi game. Trước đó, tuy được học tin học từ cấp 1 nhưng hoàn toàn chỉ là học qua loa, có học qua Pascal nhưng nói thật là chả có câu code nào vào được đầu cả.
Vào năm 2012, mình có cơ duyên biết đến đội tuyển Olympic tin học của trường, vượt qua vòng sơ loại, được thầy chủ nhiệm cảm hóa và dần dà cảm thấy trước đây mình đang đuổi theo một giấc mơ ảo và vô bổ nên mình quyết định “cầy top” ở đời thực. Mình bắt đầu học tin học từ con số 0 ở đó. Mình được học về cấu trúc dữ liệu và giải thuật trong 3 năm, có dành được một số giải thưởng nhất định như Olympic tin học HUBT, Olympic tin học Việt Nam, lập trình sinh viên quốc tế ACM/ICPC nhưng cái mình nhận được nhiều nhất đó chính là sự thay đổi về con người, giúp mình thêm tự tin và đầy đủ kiến thức cũng như hành trang để bước vào doanh nghiệp.
Sau 4 năm học tập và rèn luyện, hiện nay mình đã tốt nghiệp loại giỏi tại trường và đang theo đuổi sự nghiệp developer như mình đã nói ở trên.
Được biết anh đã 6 lần đoạt các giải thưởng cao tại các kỳ thi Olympic tin học trong nước và quốc tế. Đặc biệt trong năm 2014, anh đã cùng đồng đội tham gia cuộc thi ACM/ICPC vòng loại khu vực Châu Á tại Bangkok Thái Lan, anh có thể chia sẻ về kết quả và những kỷ niệm của cuộc thi đó? Khi thi đấu cọ xát với các đối thủ trong khu vực thì anh thấy điểm mạnh và điểm yếu của các team Việt Nam là gì?
Có thể nói 2014 là một năm để lại rất nhiều kỷ niệm đáng nhớ trong cuộc đời mình. Nó đánh dấu một quãng đường dài mà mình đã đi trong suốt thời gian học tập và cố gắng. Sau giải nhất Olympic tin học cấp trường, được đứng trong danh sách chính thức dự thi Olympic tin học quốc gia, sau đó giành giải nhất vòng loại ACM/ICPC Việt Nam, cuối cùng thì mình cùng đội HUBT lần đầu được bơi ra biển lớn.
Quả thật, lần đầu tiên mình được ra khỏi lãnh thổ Việt Nam, được so tài cùng với bạn bè, đội tuyển đến từ nhiều trường danh tiếng từ các nước như Hồng Kong, Trung Quốc, Nhật Bản, Hàn Quốc, Singapore,… Anh em trong team cũng khá là “ca mơ run”, thuật ngữ giờ gọi là khá “bối rối” nhưng thầy huấn luyện viên có dặn là chỉ cần cố hết sức, đi thi lấy được giải phong cách là đạt yêu cầu. Rank 3/5 Việt Nam là kết quả từ sự cố gắng của cả nhóm, rất tiếc ACM không trao giải như thầy mong muốn.
Nếu so về cấu trúc dữ liệu và giải thuật, mình thấy các team Việt Nam ta không hề đuối trước bạn bè quốc tế, trong top 10 thì có tới 3 team Việt Nam, thậm chí giải vô địch năm đó thuộc về ĐH Nanyang (Singapore) nhưng 3 thành viên của họ đều là du học sinh đến từ Việt Nam. Mình thiết nghĩ chúng ta có về “chất” nhưng thiếu đi phần “lượng”, có quá ít sinh viên cũng như coder, dev có đào sâu, nghiên cứu về giải thuật, hầu như chủ yếu dựa dẫm quá nhiều vào các open source, framework có sẵn. Cách làm việc kiểu “mì ăn liền” như vậy theo mình đang dần dà làm thui chột đi tính sáng tạo của coder.
Nguyễn Đức Anh (thứ 3 từ trái sang), cùng với team tham gia cuộc thi ACM/ICPC vòng loại khu vực Châu Á tại Bangkok Thái Lan năm 2014.Nguyễn Đức Anh (thứ 3 từ trái sang), cùng với team tham gia cuộc thi ACM/ICPC vòng loại khu vực Châu Á tại Bangkok Thái Lan năm 2014.
Có ý kiến cho rằng “cách nghĩ có thể tạo nên thành công”, theo anh điều đó có đúng không? Bí quyết vượt qua khó khăn và vượt lên chính mình để từ một cậu học trò trượt đại học trở thành một sinh viên suất sắc với 6 lần đoạt các giải thưởng cao tại các kỳ thi Olympic tin học trong nước và quốc tế của anh là gì?
Mình cũng chưa dám nhận là thành công nên nói câu này phải chăng có hơi quá tầm với. Về phía mình, để “cai nghiện” bất cứ thứ gì cũng cần một ý chí sắt đá, suy nghĩ và việc làm phải nhất quán. Nếu cứ ăn, cứ ngủ lại nuôi mộng việc nhẹ, lương cao thì điều đó chẳng khác gì mong trúng độc đắc mà lại chả bao giờ mua lấy một tấm vé số.
“Đừng làm việc chăm chỉ, hãy làm việc thông minh”. Đó là kim chỉ nam cho mình trong suốt những năm vừa qua. Mong rằng nó cũng có thể giúp được cho các bạn. Để có được những kết quả nói trên thực sự mình phải gửi lời cảm ơn chân thành nhất đến người thầy của mình – chất xúc tác mạnh mẽ giúp mình đến bước đường hôm nay.
Ai cũng chỉ có 24 giờ mỗi ngày mà thôi, hãy sắp xếp một cách hợp lý, sự cố gắng và làm việc đúng hướng, khoa học sẽ đưa bạn ra khỏi chỗ đứng hiện tại.
Hiện tại công việc của anh tập trung nhiều vào các lĩnh vực khá mới mẻ tại Việt Nam như Big Data, Data Mining, Nature Language Processor… Liệu những kinh nghiệm và kiến thức từ các kỳ thi Olympic trước đây có trở nên hữu ích trong công việc này? Anh thường sử dụng những ngôn ngữ lập trình hay công cụ gì để làm việc với chúng?
Kinh nghiệm chinh chiến Olympic không chỉ mang lại cho mình kiến thức, nó còn giúp mình học được cách làm việc khoa học, phương pháp học tập, nghiên cứu riêng lẻ và làm việc theo nhóm. Sự đam mê, tìm tòi đến cái mới của mình chưa bao giờ chững lại, nói thật là mình đang rất hạnh phúc và hài lòng với công việc hiện tại.
Trước đây mình sử dụng C/C++ cho việc lập trình, một năm trở lại đây thì mình sử dụng Java nhưng nó cũng không phải là vấn đề lớn. Theo mình ngôn ngữ chỉ như là công cụ, cốt lõi là cách sử dụng công cụ một cách thực sự hợp lý. Mỗi ngôn ngữ đều có điểm mạnh điểm yếu riêng, người sử dụng nên biết lắp ráp, gia công cho sản phẩm của mình trở nên hoàn chỉnh với ít nhân công và tài nguyên nhất có thể.
Có một thống kê cho thấy 80% sinh viên tin học ở mọi trường đại học đều học lơ mơ môn cấu trúc dữ liệu giải thuật. Nhiều người mất kiến thức căn bản rồi trở nên chán nản với ngành IT và nhiều bạn thậm chí còn muốn bỏ học nữa. Theo anh thì nguyên nhân này xuất phát từ đâu, và có cách nào để các bạn này có thể lấy lại căn bản chỉ sau 6 tháng?
80%? một con số ấn tượng, các trường Đại Học thì dạy học hời hợt, mang tính chất cưỡi ngựa xem hoa, giới thiệu quá nhiều công nghệ nhưng không dạy họ cách làm ra công nghệ. Bản thân mình cũng thấy môn này khá là khô khan và không trực quan cộng thêm việc giảng dạy mang hơi hướm triết học chắc cũng làm học viên tiếp thu hạn chế.
Còn tâm lý chung khi bị hổng kiến thức đó là trốn tránh thực tại. Mình đã từng như vậy nên cũng hiểu khá rõ. Cái chính là bạn cần nhận ra mình thực sự cần thay đổi và có thái độ tích cực về vấn đề này, nếu có người tác động và thúc đẩy đúng hướng thì càng tốt. Khi bạn có trong tay đầy đủ 3 thứ: ngôn ngữ, thuật toán và công nghệ thì bạn đã có thể tự tạo ra sản phẩm cho mình rồi. 3 thứ này cần được học theo thứ tự và thái độ cầu tiến, nếu có bạn nào đang gặp khó khăn thì có thể liên hệ mình, mình sẽ chia sẻ cũng như thúc đẩy các bạn. “Đồng bệnh tương lân” các cụ dạy thì chưa bao giờ sai có phải không ạ?
Sắp tới mình sẽ mở một khóa học về Cấu trúc dữ liệu và giải thuật ở bên trung tâm TechMaster. Khóa học là sự đúc kết những kiến thức và kinh nghiệm mà mình đã trải qua trong quá trình học tập và rèn luyện. Hy vọng với cách dạy mới với nhiều ví dụ minh họa sinh động cùng các bài tập từ dễ đến khó sẽ giúp các bạn sinh viên dễ tiếp thu và yêu quý môn học này hơn.
Nguyễn Đức Anh (thứ 2 từ trái sang), cùng với team tham gia cuộc thi ACM/ICPC vòng loại khu vực Châu Á tại Jakarta Indonesia năm 2015.Nguyễn Đức Anh (thứ 2 từ trái sang), cùng với team tham gia cuộc thi ACM/ICPC vòng loại khu vực Châu Á tại Jakarta Indonesia năm 2015.
Tại sao nhiều sinh viên CNTT họ không hứng thú học hoặc rất sợ môn cấu trúc dữ liệu giải thuật? Phải chăng sinh viên CNTT ngày càng thích tạo ứng dụng nhanh, kiểu mỳ ăn liền, ngại học kiến thức khoa học máy tính căn bản?
Theo mình nghĩ, với sự phát triển của công nghệ tìm kiếm, việc sở hữu một opensource hay framework trong thời gian chưa đến 1s thì code kiểu “mì ăn liền” đương nhiên đưa ra một kết quả nhanh chóng.
Đứng trên vai người khổng lồ mang lại cảm giác an toàn nhưng sẽ là thảm họa khi bạn nhận ra mình không phải người khổng lồ.
Trong suốt 4 năm làm code thì việc dev như trên mình thấy không phải là hiếm, nhược điểm của code kiểu này là khi phát sinh ra bug thì khó sửa chữa, không biết cách modify theo ý mình mà chỉ áp dụng một cách máy móc chứ chưa tính đến phát triển mở rộng theo ý của mình.
Sinh viên ăn liền thì thường kiến thức không sâu, bị coi thường và khó kiếm được việc. Dev ăn liền thì thường lương thấp và hay bị giao những công việc “tay to”, mang tính chất đắp da đắp thịt cho khung xương do dev chất lượng cao tạo ra nên khó có thể thăng tiến được. Theo mình, chính điều này góp phần khiến cho nghiệp lập trình có “tuổi nghề” thêm phần ngắn ngủi.
Nhiều bạn trẻ vẫn còn mơ hồ về ứng dụng của cấu trúc dữ liệu và giải thuật vào công việc thực tế, vậy theo anh trong thực tế nó có thể ứng dụng để làm gì? Trong công việc hiện tại ở VCcorp anh có cần sử dụng nhiều đến kiến thức về cấu trúc dữ liệu và giải thuật?
Chia sẻ với các bạn, hiện tại mình đang làm ở bộ phận AdOptimization, nôm na là làm mọi cách để quảng cáo được hiệu quả hơn. Nếu chỉ đơn thuần là treo quảng cáo thì dev nào chả làm được, tại sao phải trả lương cao hơn cho dev? Câu trả lời là những người như mình đang góp phần làm cho công việc này ngày càng hiệu quả.
Như việc có rất nhiều con đường để dẫn đến hồ Gươm để xem pháo hoa, nhưng việc đi đường nào ngắn nhất, ít tắc (kẹt) nhất, gửi xe tiết kiệm nhất, là những vấn đề mọi người đều có những câu trả lời khác nhau. Còn doanh nghiệp chỉ quan tâm đến phương án tốt nhất có thể. Chìa khóa là gì? Câu trả lời chính là cấu trúc dữ liệu và giải thuật.
Giải thuật giúp code trong sáng, dễ hiểu, code nhanh, dễ bảo trì, ít lỗi.
Cấu trúc dữ liệu giúp tiết kiệm nhân lực, tài lực, giúp bộ máy hoạt động trơn tru.
Một cải tiến rất nhỏ có thể mang lợi ích cực lớn.
Nhiều lập trình viên chỉ cần ứng dụng framework công cụ có sẵn, khi gặp khó khăn thì Google, tìm giải pháp trên StackOverflow mà không cần hiểu sâu cấu trúc dữ liệu, thậm chí họ làm việc vẫn ổn dù hoàn toàn không biết gì về nó. Nhưng trong vòng 5 năm tới điều này có còn đúng nữa không?
Ví dụ trên của anh giống hệt như con ếch bị luộc chết trong cái nồi được đun nóng từ từ. Việc học hỏi, tìm tòi từ Google hay StackOverflow về lý là tốt, là cần thiết, thậm chí là yêu cầu khi tuyển dụng. Nhưng có lẽ phần lớn đang đi lệch hướng một chút so với yêu cầu. Hoàn thành công việc là tốt, là chuẩn song việc phát triển bản thân cũng rất là quan trọng.
Biết địch biết ta, trăm trận trăm thắng. Muốn làm code thì phải hiểu code, mà muốn hiểu code thì phải học giải thuật, logic rất đơn giản phải không ạ. 5 năm nữa, thời gian khá dài, mình cũng không dám vụng đoán về tương lai, nhưng việc không cần hiểu sâu về cấu trúc dữ liệu thì mình có thể nói là sai lầm ở bất cứ thời điểm nào. Khi bản thân developer đủ độ cứng thì sẽ không cần sợ hãi trước bất cứ sự thay đổi công nghệ nào.
Cảm ơn anh đã tham gia phỏng vấn và cung cấp rất nhiều thông tin bổ ích cho độc giả của VinaCode. Chúc anh thành công với các kế hoạch sắp tới.
Cảm ơn VinaCode.
Nếu bạn là một sinh viên CNTT nhưng bị mất kiến thức căn bản về lập trình nói chung và cấu trúc dữ liệu giải thuật nói riêng, hay bạn đang muốn tìm thêm thông tin về các cuộc thi Olympic tin học thì có thể liên hệ với anh Nguyễn Đức Anh qua Facebook, LinkedIn hoặc địa chỉ email danhit187[at]gmail.com.

Biểu thức chính quy

Biểu thức chính quy - regex
Biểu thức chính quy (hay regex) là một công cụ mạnh mẽ mà mỗi nhà phát triển nên biết. Nó có thể khớp với một chuỗi các ký tự dựa trên các thông số rất phức tạp mà có thể giúp bạn tiết kiệm rất nhiều thời gian khi xây dựng các trang web động.
Dù các nhà phát triển Web phải đối mặt với nhiều nhiệm vụ khác nhau hơn so với các nhà phát triển phần mềm, nhưng đa số trong đó vẫn có cùng mã nền tảng. Biểu thức chính quy hơi khó học lúc đầu, nhưng có thể rất mạnh mẽ khi được sử dụng một cách chính xác.
Phần khó khăn nhất là việc tìm hiểu cú pháp và học cách để viết mã regex của riêng bạn từ đầu. Để tiết kiệm thời gian, tôi đã chọn ra 30 đoạn mã regex khác nhau mà bạn có thể sử dụng trong các dự án của bạn. Và kể từ khi regex không giới hạn cho một ngôn ngữ cụ thể, bạn có thể áp dụng những đoạn dưới đây vào bất cứ ngôn ngữ nào từ Javascript đến PHP hoặc Python.

1. Độ mạnh của mật khẩu

^(?=.*[A-Z].*[A-Z])(?=.*[!@#$&*])(?=.*[0-9].*[0-9])(?=.*[a-z].*[a-z].*[a-z]).{8}$
Kiểm tra độ mạnh của một mật khẩu thường là chủ quan nên không có câu trả lời chính xác tuyệt đối. Nhưng tôi cảm thấy đoạn regex này là một điểm khởi đầu tuyệt vời nếu bạn không muốn phải viết riêng hàm kiểm tra độ mạnh mật khẩu của bạn từ đầu.

2. Mã màu Hex

\#([a-fA-F]|[0-9]){3, 6}
Mã màu hex rất phố biến trong lĩnh vực phát triển web. Đoạn regex này có thể được sử dụng để lấy mã hex phù hợp từ chuỗi bất kỳ cho bất cứ mục đích nào.

3. Xác thực địa chỉ Email

/[A-Z0-9._%+-]+@[A-Z0-9-]+.+.[A-Z]{2,4}/igm
Một trong những nhiệm vụ phổ biến nhất đối với một nhà phát triển là kiểm tra một chuỗi có phải là một địa chỉ Email hay không. Đối với PHP, các bạn có thể sử dụng hàm filter_var: filter_var($email, FILTER_VALIDATE_EMAIL)

4. Địa chỉ IPv4

/\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/
Tương tự như một địa chỉ email là địa chỉ IP - được sử dụng để xác định một máy tính cụ thể truy cập Internet. Biểu thức chính quy này sẽ kiểm tra một chuỗi xem nó có tuân theo cú pháp địa chỉ IPv4 hay không.

5. Địa chỉ IPv6

(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))
Hoặc có thể bạn sẽ muốn kiểm tra một địa chỉ theo cú pháp IPv6 mới hơn với đoạn regex nâng cao hơn này. Sự khác biệt là rất nhỏ mặc dù nó quan trọng trong quá trình phát triển.

6. Dấu phân cách hàng nghìn

/\d{1,3}(?=(\d{3})+(?!\d))/g
Mã regex này hoạt động trên bất kỳ số nào và sẽ áp dụng bất cứ dấu phân cách nào bạn chọn cho mỗi chữ số thứ ba phân tách thành hàng ngàn, hàng triệu,...

7. Thêm HTTP vào trước liên kết

if (!s.match(/^[a-zA-Z]+:\/\//))
{
    s = 'http://' + s;
}
Cho dù bạn đang làm việc trong JavaScript, Ruby hay PHP, biểu thức này có thể tỏ ra rất hữu ích. Nó sẽ kiểm tra bất kỳ chuỗi URL nào để xem nếu nó có tiền tố HTTP/HTTPS hay không, và nếu không, thêm vào trước chuỗi đó cho phù hợp.

8. Lấy tên miền từ URL

/https?:\/\/(?:[-\w]+\.)?([-\w]+)\.\w+(?:\.\w+)?\/?.*/i
Mỗi tên miền trang web đều chứa giao thức ở đầu (HTTP hoặc HTTPS) và đôi khi có tên miền phụ với đường dẫn trang bổ sung. Bạn có thể sử dụng đoạn regex này để cắt qua tất cả những điều đó và chỉ trả lại tên miền.

9. Sắp xếp các từ khóa bằng cách đếm số từ

^[^\s]*$        matches exactly 1-word keyword
^[^\s]*\s[^\s]*$    matches exactly 2-word keyword
^[^\s]*\s[^\s]*     matches keywords of at least 2 words (2 and more)
^([^\s]*\s){2}[^\s]*$    matches exactly 3-word keyword
^([^\s]*\s){4}[^\s]*$    matches 5-words-and-more keywords (longtail)
Những ai dùng Google Analytics và Webmaster Tools sẽ thực sự thích biểu thức chính quy này. Nó có thể sắp xếp các từ khoá dựa trên số các từ được sử dụng trong một tìm kiếm.
Đây có thể là số lượng cụ thể (tức là chỉ có 5 từ) hoặc nó có thể phù hợp với một loạt các từ (tức là 2 hoặc nhiều hơn). Khi được sử dụng để sắp xếp và phân tích dữ liệu, nó là một trong những biểu thức chính quy mạnh mẽ.

10. Tìm một chuỗi Base64 hợp lệ trong PHP

\?php[ \t]eval\(base64_decode\(\'(([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)?){1}\'\)\)\;
Nếu bạn là một nhà phát triển PHP thì đôi khi bạn có thể cần phân tích qua code để tìm kiếm các đối tượng nhị phân đã mã hóa Base64 (ví dụ như tìm shell được giấu trong một tập tin PHP chẳng hạn). Đoạn regex này có thể áp dụng với tất cả code PHP và sẽ kiểm tra bất cứ chuỗi Base64 nào đang tồn tại.

11. Xác thực số điện thoại

^\+?\d{1,3}?[- .]?\(?(?:\d{2,3})\)?[- .]?\d\d\d[- .]?\d\d\d\d$
Ngắn gọn, ngọt ngào và đi thẳng vào vấn đề. Đoạn regex này sẽ xác thực bất cứ cú pháp số điện thoại nào dựa trên phong cách số điện thoại Mỹ.
Điều này có thể biến thành một chủ đề khá phức tạp, tôi khuyên bạn nên đọc lướt qua chủ đề stack này cho câu trả lời chi tiết hơn.

12. Khoảng trắng ở đầu và cuối

^[ \s]+|[ \s]+$
Sử dụng đoạn mã này để lấy ra khoảng trắng ở đầu/cuối từ một chuỗi. Đây có thể không phải là một việc lớn, nhưng đôi khi nó ảnh hưởng đến đầu ra khi lấy kết quả ra từ một cơ sở dữ liệu hoặc áp dụng vào mã hóa tài liệu.

13. Lấy nguồn ảnh

\< *[img][^\>]*[src] *= *[\"\']{0,1}([^\"\'\ >]*)
Nếu vì một số lý do nào đó mà bạn cần lấy ra một nguồn ảnh trực tiếp từ HTML thì đoạn mã này là giải pháp hoàn hảo. Mặc dù nó có thể chạy trơn tru trên Backend, các nhà phát triển JS nên dựa vào phương thức .attr() của jQuery cho Frontend.

14. Xác thực ngày trong định dạng DD/MM/YYYY

^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$
Các ngày khó khăn vì chúng có thể xuất hiện dưới dạng văn bản + số, hoặc chỉ là số với các định dạng khác nhau. PHP có một hàm ngày tuyệt vời nhưng điều này không phải luôn là lựa chọn tốt nhất khi lấy ra từ một chuỗi thô (raw). Cân nhắc việc thay thế bằng cách sử dụng biểu thức chính quy này cho các cú pháp ngày cụ thể.

15. Khớp ID Video Youtube

/https?:\/\/(?:youtu\.be\/|(?:[a-z]{2,3}\.)?youtube\.com\/watch(?:\?|#\!)v=)([\w-]{11}).*/gi
Youtube đã giữ cấu trúc URL giống nhau trong nhiều năm chỉ bởi nó hoạt động. Đây cũng là trang chia sẻ video phổ biến nhất trên web, vì thế các video Youtube có xu hướng điều phối lưu lượng truy cập nhiều nhất.
Nếu bạn cần lấy ra một ID video Youtube từ một URL thì đoạn regex này là hoàn hảo và hoạt động tốt với tất cả các biến thể của cấu trúc URL Youtube.

16. Xác thực ISBN

/\b(?:ISBN(?:: ?| ))?((?:97[89])?\d{9}[\dx])\b/i
Sách được in theo một hệ thống số gọi là ISBN. Điều này có thể lấy khá khó khăn khi bạn xem xét sự khác biệt giữa ISBN-10 và ISBN-13.
Tuy nhiên đoạn regex đáng kinh ngạc này cho phép bạn để xác nhận một số ISBN và kiểm tra xem nó là ISBN10 hay 13. Tất cả các mã được viết bằng PHP vì vậy điều này có thể tỏ ra đặc biệt hữu ích cho các nhà phát triển web.

17. Kiểm tra mã bưu điện

^\d{5}(?:[-\s]\d{4})?$
Tác giả của đoạn regex này không chỉ chia sẻ nó miễn phí mà còn dành thời gian để giải thích nó. Bạn sẽ thấy nó hữu ích cho dù bạn đang khớp một mã bưu điện loại 5 chữ số hay phiên bản dài 9 chữ số dài hơn.
Hãy nhớ rằng nó chủ yếu dành cho hệ thống mã bưu điện của Mỹ nên có thể bạn sẽ cần điều chỉnh cho các quốc gia khác.

18. Tên người dùng Twitter hợp lệ

/@([A-Za-z0-9_]{1,15})/
Đây là một đoạn mã regex rất nhỏ để khớp tên người dùng Twitter tìm thấy trong một chuỗi. Nó kiểm tra dựa trên cú pháp đề cập (@mention).

19. Số thẻ tín dụng

^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$
Chứng thực số thẻ tín dụng thường bắt buộc một nền tảng máy chủ an toàn. Nhưng regex có thể được sử dụng cho các yêu cầu tối thiểu của một số thẻ tín dụng điển hình.

20. Tìm thuộc tính CSS

^\s*[a-zA-Z\-]+\s*[:]{1}\s[a-zA-Z0-9\s.#]+[;]{1}
Có thể rất hiếm để chạy regex trên CSS nhưng nó không phải là một tình huống lạ.
Đoạn mã này có thể được sử dụng để lấy ra mọi thuộc tính và giá trị CSS khớp từ selector cụ thể. Nó có thể được sử dụng cho bất kỳ lý do nào, ví dụ như loại bỏ thuộc tính trùng lặp.

21. Loại bỏ chú thích HTML


Nếu vì bất cứ lý do nào mà bạn cần phải loại bỏ tất cả các chú thích từ một khối HTML thì đây là mã regex cần dùng. Bạn sẽ tìm thấy một ví dụ PHP sử dụng preg_replace.

22. URL trang cá nhân Facebook

/(?:http:\/\/)?(?:www\.)?facebook\.com\/(?:(?:\w)*#!\/)?(?:pages\/)?(?:[\w\-]*\/)*([\w\-]*)/
Facebook rất phổ biến và có nhiều sự sắp đặt URL khác nhau. Trong một tình huống mà bạn đang lấy URL hồ sơ từ người sử dụng thì đoạn regex này có thể hữu ích để phân tích chuỗi và xác nhận rằng chúng có cấu trúc đúng. Đoạn này có thể làm chính xác điều đó và nó hoàn hảo cho tất cả các kiểu liên kết FB.

23. Kiểm tra phiên bản Internet Explorer

^.*MSIE [5-8](?:\.[0-9]+)?(?!.*Trident\/[5-9]\.0).*$
Trình duyệt IE vẫn đang có thị phần người dùng lớn và các nhà phát triển thường phải kiểm tra phiên bản IE để xử lý tính tương thích của trang web.
Đoạn này có thể được sử dụng trong JavaScript để kiểm tra phiên bản của Internet Explorer (5-11) đang được sử dụng dựa trên chuỗi User-Agent.

24. Bóc tách giá

/(\$[0-9,]+(\.[0-9]{2})?)/
Giá cả đi kèm trong một loạt các định dạng có chứa số thập phân, dấu phẩy và ký hiệu tiền tệ. Biểu thức này có thể kiểm tra tất cả các định dạng khác nhau để lấy ra một mức giá từ bất kỳ chuỗi nào.

25. Phân tích tiêu đề Email

/\b[A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,6}\b/i
Với một dòng code này bạn có thể phân tích thông qua một tiêu đề email để lấy ra thông tin "to" từ tiêu đề. Nó có thể được sử dụng song song với nhiều email liên kết với nhau.

26. Khớp một loại tập tin cụ thể

/^(.*\.(?!(htm|html|class|js)$))?[^.]*$/i
Khi bạn đang làm việc với các định dạng tập tin khác nhau như .xml, .html và .js, nó có thể giúp kiểm tra các tập tin cả nội bộ (local) và được tải lên bởi người dùng. Đoạn này lấy ra một phần mở rộng tập tin để kiểm tra xem nó có giá trị nằm trong một danh sách các phần mở rộng hợp lệ hay không.

27. Khớp một chuỗi URL

/[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/gi
Đoạn này có thể sử dụng cho cả chuỗi HTTP và HTTPS để kiểm tra xem nó có khớp với cú pháp tên miền mức cao nhất (TLD) hay không. Cũng có một phiên bản đơn giản hơn đoạn này sử dụng RegExp của JavaScript.

28. Thêm rel="nofollow" vào các liên kết

(]*)(href="https?://)((?!(?:(?:www\.)?'.implode('|(?:www\.)?', $follow_list).'))[^"]+)"((?!.*\brel=)[^>]*)(?:[^>]*)>
Nếu bạn đang làm việc với hàng loạt mã HTML có thể nó thật khủng khiếp khi phải làm thủ công các nhiệm vụ lặp đi lặp lại. Biểu thức chính quy là hoàn hảo cho công việc này và họ sẽ tiết kiệm được rất nhiều thời gian.
Đoạn regex này có thể lấy ra tất cả liên kết từ một khối HTML và thêm thuộc tính rel="nofollow" vào mỗi phần tử.

29. Khớp Media Query

/@media([^{]+)\{([\s\S]+?})\s*}/g
Chia tách các Media Query CSS vào từng tham số và thuộc tính của chúng. Điều này có thể giúp bạn phân tích CSS bên ngoài với sự tập trung trực tiếp hơn vào cách mà code hoạt động.

30. Cú pháp tìm kiếm Google

/([+-]?(?:'.+?'|".+?"|[^+\- ]{1}[^ ]*))/g
Bạn có thể xây dựng mã regex của riêng bạn cho các thao tác tìm kiếm nội dung bằng cách sử dụng cú pháp độc quyền của Google. Các dấu cộng (+) biểu thị các từ khóa bổ sung và dấu trừ (-) biểu thị rằng nên bỏ qua và loại bỏ khỏi kết quả.
Đó là một đoạn khá phức tạp nhưng được sử dụng đúng cách thì nó có thể cung cấp một cơ sở cho việc xây dựng thuật toán tìm kiếm của riêng bạn.
Dịch bởi Juno_okyo theo Hongkiat.com.

NHẬT KÝ TUẦN ĐB (29-2/6/3)

Tuần này lại là mọt tuần đặc biệt. Do tôi viết nhật ký này lúc khuya nên có lẽ lời văn không được trau chuốt và có thể viết một cách dài dòng, tường tận,  miêu tả một cách chi tiết đành phải viết một cách cô động súc tích nhất có thể.
Sau đây là bức tranh sinh động của tuần này.
 Tôi không nhớ rõ cho lăm nhưng chắc thứ 2, thứ 3 tuần này lã những ngày bình thường không có gì đặc biệt lắm. Chỉ có từ thứ 4 trở đi nó mới diễn ra những sự kiện thú vị và đặc biệt.
Đầu tiên là ngày thứ tư, tôi đi phỏng vấn xin việc làm ở công ty ý tưởng việt.  Nói phỏng vấn cho nó hoành tráng lệ vậy chứ lại trả có phỏng vấn gì, họ chỉ hướng dẫn mình làm công việc quảng cáo mà thôi. Ban đầu họ chỉ nói đăng tin quảng cáo là được tiền sau đó tìm hiểu từ một anh kia hổ trợ kỹ thuật bên cty nên mình mới biết không chỉ đăng tin quảng cáo mà được tiền. Những quảng cáo đó có khách mua hàng người ta mới trả tiền cho mình tùy theo đơn hàng mà họ trả cho mình từ 5 - 15 %. Khi tham gia vào công ty được nhiều ưu đãi(......). Đổi lại đó là mình phải đóng cho họ 600k tiền thế chân. Vì 600k này mà mình phải sống khổ sở trong mấy ngày qua và có thể trong tương lai cho tới khi nhận học bổng mình cũng phải sống khổ sở. Mình phải nhịn ăn nhịn uống vì thiếu tiền, thiếu tiền tới nỗi mình phải đi làm thêm luôn đó. Lỡ ký hợp đồng rồi phải chịu thấy có nhiều ưu đãi, nhưng mình thấy việc làm này khó ăn quá, đăng lên cả mấy ngày mà chả có ai mua hết vậy mà họ nói đảm bảo thu nhập tháng từ 3 - 5 triệu. Không biết đây có phải là một công ty lừa đảo không nhỉ . Mong gần không phải đã nghèo mà còn gặp cái eo nữa là tiêu luôn đó trời.Trưa đi làm thẻ atm đông á nhọ lạc đường hỏi người ta từ 30/4 sang Hòa Bình venuae. Đi làm thẻ atm mà không mang theo hình 3 x 4, đi không làm được ức chế. Mệt vãi. Chiều đi tập dân vũ cho CLB SKĐA (bài lên đàng ).
Thứ năm cũng xảy ra sự  1 kiện khá đặc biệt đó là ngày chính thức thành lập câu lạc bộ. Từ đây clb chính thức đi vào hoạt động. Trong buổi tối ra mắt đó co diễn ra nhiều tiết mục văn nghệ, nghệ thuật hấp dẫn.
Thứ sáu ngày này mới thực sự hấp dẫn. Trưa  Chiều nhảy dân vũ rồi đi casting Phim "NHỮNG CÁCH TỎ TÌNH CỦA SINH VIÊN"  cho CLB SKĐA. Có thể nói đây là lần đầu tôi tiesp xúc vời môn nghệ thứ 7.  Tôi không có tài cán gì, không lanh lợi hoạt bác, với chưa từ tham gia diễn xuất với mình không thực sự lanh lợi, xử lý tình huống giỏi, Nên kq tôi không được chọn, mong lần sau tôi cũng được chọn qua buổi casting đó mình cũng được biết nhiều chuyện, một số kiến thức căn bản sân khấu. Vì casting tôi đã nghỉ học tiếng anh luôn rồi đó, - Một hành động hi sinh vì nghệ thuật. Mình tóm tặt qua buổi casting. Đầu tiên cho từng người lên hỏi một số câu liên qaun đến tài năng diễn xuất or xử lý tình huống. Xui xẻo người ta thì dễ còn tôi thì khó.( !!!)  Sau đó chia nhóm để xử lý tình huống .
Thứ 7 có thể là một ngày mệt mỏi và xui xẻo. Sáng đi làm, sáng thức sớm lắm nhe. xách xe đi làm, đạp được chút nó bị bể bánh xe, thay  vòi tốn 10 ngàn. Đi lạc đường nữa chớ. Địa chỉ là nguyễn văn cừ mà  đạp qua tới nguyễn văn cừ nối dài. Đạp tới đại học y dược. Sau đó tới green house làm việc tới trễ không sao. Làm phục vụ tiệc theo thời vụ. Đi phục vụ ban đàu nhẹ nhàng lắm tới khi bắ đầu tiệc chạy xúc quần luôn. Tối đi học thanh nhạc thầy dạy lấy hơi vạc thanh nhạc cơ bản hát Mà Ma Má Ma Mà. Hôm nay là ngày  tôi sử dụng ít tiền nhất ( 26K).
Chủ nhật Được đi chơi với mấy bạn anh chị trong chi hội. Đầu tiên là nấu chè ở bờ kè sông hậu đường Mai văn thọ cái răng. Khi đến đó tôi được tiếp cận gần với cầu cần thơ nhất. Nó thật đẹp xứng với biểu thượng của tp cần thơ.  Sau đó đi Karaoke ở đường lê bình từ đó giờ tôi mới thấy con đường nào có nhiều quán karaoke bằng đường lê bình. Tôi thấy con đường này nên đổi tên thành karaoke. Sau đó đi ăn  ở tấn phát 91b. Vì đi chơi với chi hội mà tôi bị vỡ kế hoạch. Tốn hết 82000 rồi 2 ngày ăn của tôi đó. Nhiêu đó ăn tới thứ 4 đó. Chán vãi. Mai đi đóng tiền ôi 499k của tôi. Với đi thương lượng tìm việc mong tháng này kiếm được 1000000!!
Khuya ròi là biến chèn hình để mai vậy !!!      

Chủ Nhật, 6 tháng 3, 2016

Code Max bạn bè Facebook chỉ với 5p ( Gợi ý kết bạn )


Thảo luận trong 'Thủ thuật, mẹo vặt internet' bắt đầu bởi tuandandy, 31/10/14.
Lượt xem: 25,236
tuandandy

tuandandy Thành viên mới

Tham gia ngày:
31/10/14
Bài viết:
439
Đã được thích:
12
Điểm thành tích:
18
Sau đây mình sẽ hướng dẫn các bạn các add friend mà không bị FB chặn
Code dưới đây là hoàn toàn sạch:

Các bạn copy code :
  1. javascript:var x=document.getElementsByClassName("uiButtonText");for(var i=0;i.innerHTML == 'Gợi ý bạn bè') {x.click();}};

Bạn phải có tối thiểu 2 nick FB,
+1 Nick bạn đang cần add friend max
+1 nick bạn có nhiều bạn bè để gợi ý cho nick kia


Bạn đăng nhập vào nick có nhiều bạn bè, sau đó mở nick mà bạn muốn add friend max trên FB
Click vào tab "Bạn bè", click " Gợi ý kết bạn "
Bấm Ctrl + Shift + J , paste cái code lúc nãy vào
Nhấn enter và đợi đến khi nó chạy hết, khi nào nó hiện Đã gửi gợi ý kết bạn
Thì bạn đã thành công, đóng tab đó và vào FB tận hưởng
Nếu cần code đồng ý thì mình cũng có:

javascript:for( i = 1;i< document.getElementsByName("actions[accept]").length;i++){document.getElementsByName("actions[accept]").click();}void(0);

Xem Video hướng dẫn:

Add friend facebook hơn >1000 bạn siêu nhanh



add friend facebook nhanh, huong dan ket 1000 ban tren facebook, Kết bạn hơn 1000 người trên facebook chỉ trong 5, Huong dan tang 5000 friend fb nhanh, hack 1000 bạn bè facebook trên điện thoại, hack lượt add friend facebook, add friend so luong lon qua email




>>> Xem cập nhật mới BÀI VIẾT NÀY <<<




Mình thấy cách này khá hay mà nó đã giúp mình add hơn 3000 friends chỉ trong vòng chưa tới 1 tuần mà không cần phải dùng bất cứ phần mềm auto nào hết

Còn hữu ích add friends nhiều thì bạn biết rồi đó ! : tăng like, tăng sub, quảng bá sản phẩm .... nếu bạn nào còn đang tập tành thì chịu khó google search thêm

*** Lưu ý : Bạn nên dùng số điện thoại của mình để kích hoạt facebook, nếu chẳng may facebook block tài khoản vì kết bạn quá nhiều trong 1 ngày và bắt bạn xác nhận tài khoản bằng mã code sms facebook. Nếu không công bạn sẽ dã tràng vì một ngày đẹp trời nào đó bạn sẽ không hiểu tại sao facebook sẽ delete tài khoản của bạn vĩnh viễn vì tội spam add friend vô tội vạ

Bước 1 :

*** Hãy lựa chọn mình 1 bức ảnh để lừa tình
( theo mình nghĩ nên để avatar một cô Hotgirl nào đó - chưa nổi tiếng - thì người chấp nhận làm bạn với mình sẽ có cảm tình hơn, và chịu khó đổi lại giới tính nữ, họ tên luôn nhé, khi nào đạt được mục tiêu 5000 friends thì hãy đổi lại, nếu không bạn sẽ khó đạt được mục đích của mình )

Ví dụ chọn Avatar này cho dễ đi lừa tình nè, he he




Sau đó vào đường link https://www.facebook.com/friends/requests/?fcref=ffb >> Click vào mục Tìm kiếm bạn bè trong danh bạ








Bước 2 :

Thêm các liên hệ cá nhân >> Đánh tên gmail của bạn >> Tìm bạn bè











  • 1. Nhấp chuột vào đây để truy cập danh bạ Gmail của bạn.
  • 2. Nhấp vào Xem thêm ở menu trên cùng, sau đó nhấp vào Xuất trong menu hiện ra.
  • 3. Chọn liên hệ mà bạn muốn tải xuống.
  • 4. Nhấp chuột vào nút Xuất để tải xuống liên hệ của bạn. Làm theo các hướng dẫn trên màn hình và lưu tệp vào máy tính của bạn. Theo mặc định, tệp sẽ có tên là 'google.csv'.
  • 5. Tải tệp 'google.csv' của bạn lên Facebook bằng trình tải lên bên dưới >> Tải lên Liên hệ




6. Hiện thị địa chỉ liên lạc Gmail trên facebook mà bạn có thể thêm làm bạn bè, ở đây mình đã bổ sung thêm 500 friends











7. Bạn nên dùng số điện thoại của mình để kích hoạt facebook, nếu chẳng may facebook block tài khoản vì kết bạn quá nhiều trong 1 ngày và bắt bạn xác nhận tài khoản bằng mã code sms facebook ( Chú ý )




Tương tự như vậy bạn làm cho các dịch vụ email khác : yahoo, skype, outlook .....




Đây là danh sách top 100 diễn đàn lớn nhất Việt nam để bạn thu thập email tạo lập danh sách kết bạn cho mình


*** Bạn nền dùng phần mềm tìm email hàng loạt để tạo danh sách email kết bạn với số lượng lớn hơn




TOP 100 MẠNG XÃ HỘI VIỆT NAM

1. YOUTUBE (CHIA SẺ VIDEO)
2. FACEBOOK (MẠNG XÃ HỘI)
3. ZINGME (MẠNG XÃ HỘI)
4. GOOGLE PLUS ( MẠNG XÃ HỘI)
5. TINHTE.VN ( CỘNG ĐỒNG CÔNG NGHỆ)
6. WEBTRETHO.COM ( CỘNG ĐỒNG PHỤ NỮ)
7. LAMCHAME.COM ( CỘNG ĐỒNG PHỤ NỮ)
8. 5GIAY.VN ( CỘNG ĐỒNG MUA BÁN RAO VẶT)
9. VATGIA.COM (CỘNG ĐÒNG MUA BÁN RAO VẶT)
10. MUARE.VN (CỘNG ĐỒNG MUA BÁN RAO VẶT)
11. ENBAC.COM ( CỘNG ĐỒNG MUA BÁN ĐỒ THỜI TRANG)
12. YAHOO ASK ( CỘNG ĐỒNG HỔI ĐÁP)
13. GO.VN (MẠNG XÃ HỘI)
14. VN-ZOOM.COM ( CNTT)
15. DDTH.COM (CNTT)
16. VOZFORUMS.COM (CNTT)
17. BONGDASO.COM ( THỂ THAO)
18. F319.COM (TÀI CHÍNH)
19. CHODIENTU.VN (CỘNG ĐỒNG MUA BÁN)
20. DIADIEM.COM (ĐỊA ĐIỂM)
21. YUME.VN (MẠNG XÃ HỘI)
22. TAMTAY.VN (MẠNG XÃ HỘI ẢNH)
23. FLICKR.COM ( CHIA SẺ ẢNH)
24. BATDONGSAN.COM.VN ( CỘNG ĐỒNG BẤT ĐỘNG SẢN)
25. HDVIETNAM.COM ( CỘNG ĐỒNG CÔNG NGHỆ)
26. LINKHAY.COM (MẠNG CHIA SẺ TIN TỨC)
27. TWITTER (TIỂU BLOG)
28. OTOSAIGON.COM (CỘNG ĐỒNG XE)
29. OTOFUN.NET (CỘNG ĐỒNG XE)
30. AGODA.COM ( ĐÁNH GIÁ KHÁCH SẠN)
31. VIETSTOCK.COM (CỘNG ĐỒNG CHỨNG)
32. TTONVL.COM (CỘNG ĐỒNG TRẺ)
33. HANDHELD.VN (CỘNG ĐỒNG CÔNG NGHỆ)
34. VIETGIAITRI.COM (CỘNG ĐỒNG GIẢI TRÍ)
35. TAILIEU.VN ( CHIA SẺ TÀI LIỆU)
36. SINHVIENIT.NET ( SINH VIÊN)
37. FREECODE ( CÔNG NGHỆ THÔNG TIN)
38. VNSHARING.NET (CÔNG NGHỆ THÔNG TIN)
39. HDVNBITS.ORG ( CỘNG ĐỒNG CÔNG NGHỆ)
40. GAMEVN.COM (CỘNG ĐỒNG GAME THỦ)
41. PHUNUNET.COM ( MẠNG XÃ HỘI PHỤ NỮ)
42. CLIP.VN (VIDEO SHARE)
43. BBVIETNAM.COM ( CÔNG NGHỆ)
44. VIETYO.COM (CỘNG ĐỒNG GIẢI TRÍ)
45. VIOLET.VN (CHIA SẺ BÀI GIẢNG GIÁO DỤC)
46. GSM.VN ( CỘNG ĐỒNG CÔNG NGHỆ)
47. BANBE.NET (MẠNG XÃ HỘI FPT)
48. TRUONGTON.NET (CỘNG ĐỒNG GIẢI TRÍ)
49. TIENGANH123.COM (ĐÀO TẠO-GIÁO DỤC)
50. TOP1.VN (CỘNG ĐỒNG GIẢI TRÍ)
51. YEUTRETHO.COM (CỘNG ĐÒNG PHỤ NỮ)
52. SOFTVNN.COM ( CÔNG NGHỆ THÔNG TIN)
53. NOI.VN (DATING)
54. EWAY.VN (CỘNG ĐỒNG RAO VẶT MUA BÁN)
55. BANG.VN (MẠNG XÃ HỘI)
56. XOMNHIEPANH.COM ( CỘNG ĐỒNG NHIẾP ẢNH)
57. WEBKETOAN.VN (TÀI CHÍNH)
58. HIHIHEHE.COM (CỘNG ĐỒNG TEEN)
59. HOCLAMGIAU.VN ( CỘNG ĐỒNG KINH DOANH)
60. MINH.VN ( MẠNG XÃ HỘI)
61. NETLOG.VN (SOCIAL GAME)
62. VIETVBB.VN (CÔNG NGHỆ THÔNG TIN)
63. THEGIOISEO.COM ( CÔNG NGHỆ THÔNG TIN)
64. MMO4ME.VN ( KIẾM TIỀN ONLINE)
65. CUASOTINHOC (CÔNG NGHỆ THÔNG TIN)
66. SCRIBD.COM (CHIA SẺ TÀI LIỆU)
67. BACSI.COM (SỨC KHỎE)
68. ARSENAL.COM.VN ( THỂ THAO)
69. KENHSINHVIEN.NET (HỌC SINH)
70. HENANTRUA.VN (DATING)
71. SLIDESHARE.NET (CHIA SẺ TÀI LIỆU)
72. LINKEDIN.COM ( MẠNG XÃ HỘI CHUYÊN MÔN CAO)
73. CONGDONGCVIET.COM (CÔNG NGHỆ THÔNG TIN)
74. DIENANH.NET (CỘNG ĐỒNG ĐIỆN ẢNH)
75. TIMVIECNHANH.COM (VIỆC LÀM)
76. SSC.VN ( KINH DOANH)
77. HVAONLINE.NET (CÔNG NGHỆ THÔNG TIN)
78. CAB.VN (MẠNG XÃ HỘI)
79. GIUPBAN.VN (MẠNG XA HỘI)
80. BIKERVIETNAM.COM ( CỘNG ĐỒNG XE MÁY)
81. PHUOT.VN (DU LỊCH)
82. HERVIETNAM.COM (PHỤ NỮ)
83. ONGAME.VN (ONLINE GAME)
84. THODIA.VN (ĐỊA ĐIỂM)
85. PDAVIET.NET (CÔNG NGHỆ)
86. HOITHEUTHUA.NET (PHỤ NỮ)
87. SHOPTINHOC.COM (CÔNG NGHỆ THÔNG TIN)
88. TRIEUDO.COM (RAO VẶT)
89. KETNOOI.COM (MẠNG XÃ HỘI)
90. TRUONGXUA.VN (MẠNG XÃ HỘI)
91. NGOINHACHUNG.NET (SINH VIÊN)
92. COMICVN.NET (MANGA)
93. YEUCAHAT.COM (ÂM NHẠC)
94. CYWORLD.VN (MẠNG XÃ HỘI)
95. LOANTIN.COM (CHIA SẺ TIN)
96. MOTIBEE.COM (MARKETING)
97. CYVEE.COM (NGHỀ NGHIỆP)
98. BUDDY.VN (MẠNG XÃ HỘI)
99. AICOLY.COM (MẠNG XÃ HỘI)
100.VINAMETAL.COM ( KINH DOANH)


Danh sách email mình đã thu thập được : Tải về


Khi bạn thu thập đủ nhiều email rồi, bạn nên dùng bộ lọc filter trong excel 2007 trở lên để phân loại email ( @gmail.com, @yahoo.com, @yahoo.com.vn ) bằng excel 2007 trở lên


Mở excel lên, trên tab menu vào Data >> Filter


























5000 friends trên facebook không phải là quá nhiều so với một trang fanpage hiện nay, nhưng nó là một sự nền tảng vững vàng tạo cho bạn một cái đà chạy nhanh để giới thiệu những sản phẩm buôn bán của bạn về sau




==========================================
==========================================

WRITER