Skip to main content

Posts

Showing posts from March, 2012

[CCGU] cd,pwd - di chuyển loanh quanh

vì một thế giới không bao giờ đứng yên ;) Title phụ 2: cd, pwd - biết mình ở đứng đâu trong cuộc đời này ^^ Bắt đầu 1 quá trình tìm hiểu câu lệnh, con chuột bạch đầu tiên là lệnh cd 1. cd - C hange D irectory famihug@hvn:~$ whatis cd cd: nothing appropriate. famihug@hvn:~$ man cd No manual entry for cd famihug@hvn:~$ which cd famihug@hvn:~$ whereis cd cd: đúng như các cụ chém, vạn sự khởi đầu nan :D sử dụng "các câu lệnh tìm hiểu câu lệnh" mà kết quả toàn trả về không thấy không có. Tạm dừng nói về cd , hãy trả lời câu hỏi : tại sao các câu lệnh trả về kết quả như thế?

[CCGU] Các câu lệnh để tìm hiểu câu lệnh

29-04-2012:update : apropos Để dừng bạn thôi hỏi những câu như: ls , cd là cái gì, nó viết tắt của từ gì không thì bố ai mà nhớ được, nó đặt ở đâu... (bạn có 1 lợi thế cực lớn nếu biết Tiếng Anh, bởi các tên các chương trình thường là viết tắt của một hay vài từ tiếng anh nào đó)  Hãy hỏi những gì muốn biết với cái terminal của bạn : 0. apropos - tìm kiếm công cụ famihug@hvn:/home/famihug% whatis apropos                                     apropos (1)          - search the manual page names and descriptions Bạn cần thực hiện một công việc nào đó, có thể hệ điều hành bạn đang dùng có thể giúp nhưng bạn không biết tool mình cần tên là gì - apropos sẽ làm việc đó. apropos tìm kiếm trong các trang hướng dẫn hay đoạn mô tả phần mềm từ khóa bạn yêu cầu....

[CCGU] CLI căn bản

CLI là gì? Command-line interface . Interface là gì? tớ sẽ giải thích 1 cách dễ hiểu chứ không đảm bảo đúng hay chính xác :D Interface là cách các đối tượng giao tiếp với nhau.Ở đây ta xét 1 đối tượng là người, 1 đối tượng là chương trình máy tính. Có 2 loại Interface thường được nhắc đến là GUI và CLI (để ý chữ I ở cuối). GUI = graphical user interface : người dùng và chương trình giao tiếp với nhau thông qua các nút bấm, hình ảnh ... Tiêu biểu nếu người dùng đồng ý thì bấm vào nút OK, không thì bấm nút Cancel CLI = command-line interface: người dùng và chương trình giao tiếp với nhau thông qua các dòng lệnh (text). VD: nếu người dùng đồng ý thì gõ vào phím y rồi nhấn enter, không thì bấm phím n rồi gõ Enter

[CCGU] Chuẩn bị

Để theo loạt bài viết này, bạn cần chuẩn bị những điều dưới đây: - Tính kiên trì , theo đến cùng các bài viết. - Tinh thần tốt , đừng nhìn thấy toàn chữ mà hoảng! thật ra toàn những thứ rất đơn giản. - Một cái hệ điều hành nhân Linux (Ubuntu, Fedora, Mint... tùy!). Nếu bạn muốn dùng trên Windows thì hãy tự làm khó mình với MinWG. - Tiếng Anh hoặc ít nhất là bạn biết tra từ điển. Bởi loạt bài viết này không thể dạy bạn tất cả mọi thông tin về các công cụ, chúng tôi chỉ đưa ra những ví dụ thiết thực, muốn tìm hiểu thêm bạn phải tự đọc. - Khả năng nói ra ý kiến của mình. Hãy comment những ý kiến của bạn, những suy nghĩ của bạn để chúng ta có thể cùng làm tốt hơn. Không hiểu ở đâu, hỏi ở đấy, cố đặt câu hỏi 1 cách dễ hiểu và chính xác. - Sẵn sàng cùng chúng tôi viết bài cho "khóa học" này ;) Sẵn sàng tất cả những điều trên rồi chúng ta sẽ bắt đầu! Bài tiếp: CLI căn bản - link sẽ update sau.

CCGU - cat cut grep uniq!

WHEN YOUR MIND MAKES LOVE WITH CLI _________________**********_________________ DANH SÁCH BÀI VIẾT Danh sách đầy đủ: http://www.familug.org/search/label/CCGU Chuẩn bị: http://www.familug.org/2012/03/ccgu-chuan-bi.html CLI căn bản: http://www.familug.org/2012/03/ccgu-cli-can-ban.html Shell là gì: http://www.familug.org/2013/05/ccgu-gioi-thieu-ve-shell.html Các câu lệnh tìm hiểu câu lệnh: http://www.familug.org/2012/03/ccgu-cac-cau-lenh-e-tim-hieu-cau-lenh.html CD, PWD di chuyển loanh quanh: http://www.familug.org/2012/03/ccgu-cdpwd-di-chuyen-loanh-quanh.html mkdir và những nghệ thuật quanh nó: http://www.familug.org/2012/04/mkdir-va-nhung-nghe-thuat-quanh-no.html --------------------------------------- UPDATE: Các bài viết sẽ được update, chỉnh sửa liên tục để có thể trở thành 1 tài liệu chuẩn :x  Là gì? 1 ý tưởng - dự án tiếp theo của tớ :)) vẫn đều như vắt chanh. Đọc là : xi xi di u - có nên đổi thành GUCC đọc là guxi không :)) Làm gì? Viết 1 loạt...

Tiêm phòng chống SQL injection

Viết ngay kiểu quên, úp dết sau =)) 1. Validate Input: Dùng hàm để lọc input. function sql_quote( $value ){ // kiem tra thiet lap trong file php.ini (bien ten la magic_quotes_gpc), if( get_magic_quotes_gpc() ) //neu tra ve 1 -> tu la magic_quotes_gpc = ON { //để loại bỏ các dấu \ $value = stripslashes( $value ); } //',",<,>,*,/,-,#,& //check if this function exists : neu co ton tai thi PHP tu 5.0 tro len if( function_exists( "mysql_real_escape_string" ) ) { $value = mysql_real_escape_string( $value ); } else { //for PHP version < 4.3.0 use addslashes $value = addslashes( $value ); } //thoat ky tu : _ , % $value = str_replace("_","\_",$value); $value = str_replace("%","\%",$value); return $value; } ?> 2. Dùng rewiteurl trong .htaccess để thay đổi url 3. Cắt ký tự nguy hiểm:(', \, "..) Dùng trim(); 4. Chặn thôn...

Vim autoclose

sau khi cài cái plugin autoclose.vim cho vim. Mỗi khi bạn bấm mở ngoặc, vim sẽ tự sinh dấu đóng ngoặc :x Thường thì sau khi bấm { để mở block cho 1 hàm, bạn sẽ bấm enter, lên rồi k để lên, tab để nó vào đúng chỗ. Thay vì thế hãy bấm 2 lần phím {, mọi thứ đã sẵn sàng để viết :D

Nghe 1 bài nhạc hàng ngày

Gọi là nghe nhạc nhưng bạn có thể nghe bất cứ thứ gì. Từ truyện ma đến đoạn audio học ngôn ngữ... Sẽ có các phương pháp xử lý sau: 1. Cài 1 chương trình / dùng điện thoại để báo thức đến giờ đấy thì phải nghe cái đấy. 2. Dùng cái đầu thần kì của bạn để nhớ đúng lúc ấy phải làm việc ấy =)) 3. Dùng cron để hiện 1 thông báo là phải nghe cái đấy 4. Dùng cron để mở file nhạc đấy đúng giờ đấy. Mở "chúc bé ngủ ngon" lúc 9 h tối chẳng hạn :x Tớ đã mần mò để làm cách số 4. Và cách này hòan tòan là dùng dòng lệnh. 2 phần mềm cần thiết để làm tut này là : crontab : chắc máy nào cũng có sẵn mpg123 : để play file mp3 trên console, không có thì cài sudo apt-get install mpg123 Google thấy nói đến chương trình play nhưng ko thấy đâu để cài cả :D BẮT ĐẦU:

Something new...

Làm game bằng HTML5 =p~ http://webinsightlab.com/technology/15-best-html5-game-engines/ các CMS làm web nhanh. Luyên được 1 cái thì cứ 2 ngày đút túi 3-400 tiểu vặt cũng được :D http://www.fiercecontentmanagement.com/story/drupal-joomla-and-wordpress-face-challenges-germany/2012-03-13  PS: sorry, vừa đi khảo giá thì nó phải là 2-3 tr 1 cái đấy :))

Tìm địa chỉ các máy trong mạng

Để? - Xem có những ai đang trong mạng của mình, làm gì đấy :)) Công cụ: ping nmap (không có thì cài), vài giây là xong OS: Linux based (ai dùng Wins thì test tương tự nhé) Tested on U10.10 Cách 1 : broadcast rồi vào bảng arp xem có thằng nào trả lời. Kết quả: không chắc là bạn có thể lấy hết ip của các máy trong mạng. Vì các máy dùng Windows thường để mặc định là không trả lời các lệnh broadcast. Lệnh: ifconfig xem Bcast  (broadcast) ping đến địa chỉ broadcast: ping -b 192.168.0.255 sau khi lệnh này kết thúc, gõ arp -a  và xem kết quả. Cách 2: dùng nmap

Tấn công Man In The Middle - Phần 2

Phần 1: http://www.familug.com/2012/03/gioi-thieu-ve-cach-thuc-tan-cong-man-in.html Phần trước tớ đã giới thiệu sơ qua về kiểu tấn công Man In The Middle (MITM). Phần này, tớ sẽ mô tả cụ thể hơn (loại tấn công giả mạo ARP) để thấy hiệu-suất-cao của kiểu tấn công này mà tớ đã nói. Thông thường kiến trúc trong mạng LAN được mô tả như thế này: Máy của victim và attacker cùng cắm vào 1 switch, vậy làm thế nào để attacker có thể nằm vùng tại cầu nối giữa victim - server để capture được luồng dữ liệu trao đổi? Trong ví dụ mô phỏng ở phần trước của tớ (http://www.familug.com/2012/03/gioi-thieu-ve-cach-thuc-tan-cong-man-in.html) mới chỉ thực hiện trên local nên độ khái quát không cao, vì Wireshark chỉ capture các gói tin đi qua cổng mạng của máy mình. Việc giả mạo ARP sẽ giúp attacker sau khi kết nối được vào mạng LAN của victim có thể trở thành a-man-in-the-middle và sniff các gói tin.

About contests

Thi thố, trào lưu ... hãy xem họ đang làm gì: khi thấy ai cũng kéo nhau đi học ngôn ngữ này lập trình nọ thì dân tình cũng nô nức đi, học cho bằng bạn bằng bè => phong trào , trào lưu. Không bàn đến việc hay hay dở nhưng nó cũng kéo các sv nhấc đít đi học thêm, không ở nhà quay gà tây và chơi game nữa :)) Thi thố (không phải thi cuối kỳ), kiếm 1 cái cuộc thi nào vào lĩnh vực bạn muốn và tham gia, có lẽ nó cũng giúp bạn có động lực hơn và đỡ nhàm chán. Lấy 1 cái chứng chỉ của Zend (cho PHP) hay SCJP cho Java chẳng hạn, cũng đáng lắm chứ :D Chứng chỉ xịn này giúp bạn biết mình đang ở đâu, mà ghi vào CV thì sáng hơn cái bằng ĐH ấy chứ nhỉ ;))

Chơi bời ASCII :))

đẹpko :))

Tấn công Man In The Middle

Man In The Middle (MITM). Phần 2: http://www.familug.com/2012/03/tan-cong-man-in-middle-phan-2.html Kẻ tấn công MITM (attacker) sẽ nằm vùng trên đường kết nối (mạng LAN) nữa nạn nhân (victim) và server để nghe trộm (sniff) các gói tin được gửi - nhận (reques - reply). Minh họa như hình sau: Kiểu tấn công MITM có hiệu suất cao bởi vì giao thức HTTP và Data Tranfer truyền tải dữ liệu theo chuẩn ASCII (http://vi.wikipedia.org/wiki/ASCII). Hay ngay cả các giao thức bảo mật như SSL hay HTTPS đều có thể bị nghe trộm. Khi bị tấn công, cả victim và server đều không biết dữ liệu trao đổi giữa họ sẽ đi qua máy của attacker. Do vậy attacker không chỉ đọc được cuộc trò chuyện này mà còn có thể thay đổi được nội dung của nó. Có các kiểu tấn công MITM: + ARP Poison Routing. + Giả danh DNS. + Chiếm HTTP Session. + Giả mạo SSL..

Debugger và giấc mơ coder

Trước hết, chỉ là giật tít thôi, ko cần vác gạch ra ném :)) Trong những tay "lập trình" quanh đây, hầu như việc dùng 1 debugger là 1 điều khá xa lạ. Ngay cả bản thân tớ cũng chưa bao giờ dùng debugger cho đến khi đi làm - mặc dù cũng biết là nó tồn tại. Câu hỏi là debugger có thật sự cần thiết không, không có có chết không, và sao hầu như "những người quanh ta" lại không dùng nó. Dưới đây là vài câu trả lời tớ có thể đưa ra: - Debugger là 1 công cụ hỗ trợ việc lập trình - cụ thể là việc tìm lỗi. Bởi thế không dùng nó cũng chẳng chết ai. Tớ đã viết hơn chục nghìn dòng code mà chả dùng debugger lấy 1 lần :D - Thấy "nhiều người" không dùng nó: bởi 2 lí do chính  không ai dạy - quen với kiểu print ra để xem giá trị  và những gì các bạn làm quá nhỏ, khiến cho debugger thật sự không đóng vai trò lớn. - Câu hỏi cuối: có cần/nên dùng không? tất nhiên là nên dùng và thành thạo. Bởi thay vì đi print từng dòng ra để xem giá trị thì debugger sẽ giúp bạn làm điề...

Chia sẻ code OOP

Như các môn học cần code khác,môn này mọi người cũng phải code bằng C++ để đi thi nên việc gõ code vẫn nên làm :D Tớ viết bài này lên để lấy chỗ mọi người chia sẻ các bài tập THẦY GIÁO CỦA CHÚNG MÌNH cho. Cũng chẳng nhiều nhặn gì, mỗi tuần 1,2 bài, gõ vào cho chạy là được. Để sao đến lúc đi thi, ai cũng được điểm cao , hoặc giả là xấu nhất thì cũng đủ qua. Khuyến khích tất cả mọi người tham gia, code post lên phải chạy được. Có thể paste lên pastebin.com hoặc dùng git , cái này tùy. Tớ sẽ sưu tập lại và đưa lên kho git của FAMILUG. Có gì thắc mắc, cứ thoải mái google rồi hỏi ! Gud week :)) Update danh sách bài tập: Bài 1: Class Complex (số phức) hainam: http://pastebin.com/BP00m7Tk Bài 2: Class String hainam: http://pastebin.com/2UZq98ky Bài 3: Class Vector: hainam: http://pastebin.com/fuFwmQhx

Popular posts from this blog

Tài liệu và hướng dẫn học Python

Để tiết kiệm thời gian, tốt nhất là đi học PyMI Updated: 130617 Sau đây là các tài liệu khuyên dùng: Vì nhiều lý do, nên học python2.7 tại thời điểm hiện tại (giờ là tháng 6/2013 - muốn biết tại sao thì tự tìm hiểu) python 3.5+ (giờ là tháng 2/2017) Chuẩn bị: 1. biết bật tắt máy 2. biết cài python 3. tập gõ 10 ngón - gõ 2 ngón hay 1 ngón cũng không sao, nhưng 10 ngón là cách dễ nhất để gõ nhanh nhất. Tài liệu - Nên dùng tài liệu tại trang chủ của Python làm chính, tham khảo thêm các tài liệu khác tại http://www.familug.org/2016/12/free-ebook.html Căn bản, mới học 1.1 Python PyMI.vn https://pymi.vn/tutorial/ 1.2. Python offical tutorial kết hợp làm bài tập trên HackerRank  (đề bài bằng tiếng Anh, nhưng Google translate 1 lúc cũng ra vì có nhiều ví dụ mẫu đi kèm). Học viên của Pymi.vn có rất nhiều học viên đã tự học với Learn Python the hard way nhưng chưa thấy ai thành công cả. Hai link dưới nên đọc sau khi đã nắm được những phần cơ bản của ngôn ngữ pytho...

The PyMiers

New FAMILUG