วันอาทิตย์ที่ 29 มกราคม พ.ศ. 2555
ถึงเพื่อน ๆ ที่อยากเป็น Hacker !!
โลกเราเองเกิดขึ้นมาไม่รู้กี่ร้อยกี่พันล้านปีมาแล้ว.. อันนั้นไกลเกินไป..
แต่ทุก ๆ ช่วงเวลามีการพัฒนาและมีการเปลี่ยนแปลงตลอดเวลา !!
เมื่อเราเกิดมาแล้วเราก็อยากมีส่วนร่วมในการพัฒนาประเทศชาติ !!
การ ที่เพื่อน ๆ ทุกคนอยากเป็น hacker นั้น เป็นเรื่องดี เพราะอย่างน้อยมันมีคำถามในใจว่า สิ่งนั้นมันทำอะไร มันมีหลักการอย่างไร จะทำอย่างไรที่จะใช้งานมันได้ !!
คราวนี้เมื่อพิจารณาแล้ว hacker แท้จริงต้องเป็นผู้ที่มีประสบการณ์ในเชิงคอมพิวเตอร์สูง..
ถ้า เพื่อน ๆ ใช้ Visual Basic โดยไม่เคยเขียน C/C++ เพื่อน ๆ ก็จะไม่มีทางรู้ได้ว่า ฟังก์ชั่นที่พวกเรา Call นั้นเราจะสร้างมันขึ้นมาใช้อย่างไร !!
ถ้าพวกเรารู้จัก C/C++ แต่พวกเราไม่เคยเขียน Assembly พวกเราก็ไม่รู้ว่าภาย CPU มี Instruction Sets อะไรบ้าง ? เราจะเข้าถึงส่วนสำคัญต่าง ๆ ของฮาร์ดแวร์ได้อย่างไร เช่นอ่าน Sector แรกของ DISK ต่าง ๆ เช่น HDD, FDD ได้อย่าไงไร ? // นี่แบบพื้นฐานที่สุดแล้ว //
ถ้าเราไม่รู้ ในแต่ละชั้น มันก็เกิดการพอกพูนสิ่งไม่รู้เกิดขึ้นเรื่อย ๆ !!
ดัง นั้น HACKER จึงมักเป็นผู้รู้อย่างชัดเจนในแต่ละระดับ ว่าสามารถหรือไม่สามารถทำสิ่งนี้ได้ !! เมื่อรู้ว่าไม่สามารถทำสิ่งนี้ ในระดับนี้ ต้องลงไปในระดับที่ลึกเข้าไป.. เช่น เข้าไปสู่ C/C++ แล้วจึงอิมพลิเมนต์อะไรบางอย่างออกมาเพื่อแก้ปัญหา..
ในขั้นถัดไป หากท่านเองยังไม่รู้ว่า เมื่อเข้าไปถึง C/C++ แล้วจะควบคุมสิ่งนี้จะทำอย่าไงร .. ท่านก็ต้องเข้าใจหลักการทำงานของสิ่งที่สนใจเสียก่อน .. !! เช่น จะติดต่อกับ แฮนดี้ไดวร์ได้อย่างไร เราก็ต้องเข้าใจมาตรฐานการส่งและรับข้อมูล ถ้าเรารู้ลึกรู้จริง เราเอาไปสร้างอุปกรณ์ฮาร์ดแวร์เพื่อแลกเปลี่ยนข้อมูลระหว่างทรัมไดว์ก็ยัง ได้ !! ก็ขายเป็นสินค้าได้อีก !!
ดังนั้น การเป็น HACKER นั้น เป็นเรื่องยาก เพราะจะรู้ทุกเรื่องที่ถูก Encapsulate แต่ละขั้นนอย่างลึกซึ้งนั้นยากเหลือเกิน ต้องติดตามมาตรฐานต่าง ๆ มากมาย..
แม้กระทั่งการเขียน Visual C++ เราเคยคอมไพล์ผ่านสักครั้งหรือยัง ?
หลาย คนตอบยังครับ / ค่ะ // ถ้ายังไม่เคย หากเพื่อน ๆ งมด้วยตนเองจะใช้เวลาศึกษานานมาก !! แต่ถ้ามีคนชี้แนะ มันไปได้เร็วกว่าร้อย ๆ เท่าตัว !!
แล้วอย่างนี้เราอยากเป็น Hacker !! ถามว่าเราจะ Hack อะไร ?
ดังนั้น เมื่อเราไม่รู้ เราจึงต้องไปหาเอาแอพลิเคชั่น Hacker ต่าง ๆ มาลองรันลองเล่นดู !!
เป็น การหยิบยืมความรู้จากท่านอื่น ๆ มาใช้งานเท่านั้น การแฮกแบบนี้ก็จำกัดลงไป.. (แต่เมื่อเรารันและมันทำงานได้ เราก็ร้องเย้ ๆ คนเดียวในห้อง ท่ามกลางผู้คนที่กำลังนอนหลับ // เราะใช้คอมพิวเตอร์ดึก ๆ ดื่น ๆ)
ผมเคยเห็นเด็ก ๆ เขียนโปรแกรมโดยเค้าบอกว่า นี่เป็นโปรแกรม Hacker มีหลักการคือ ใช้วิชวลเบสิก เรียกฟอร์ม ให้เปิดฟอร์มขึ้นมาเรื่อย ๆ ไม่รู้จบ.. โดยเค้าบอกว่า ทำไปเรื่อย ๆ แรมจะหมดเครื่องแล้วก็จะรีสตาร์ทไปเอง..
ถ้ามาพิจารณาความคิดของ เด็กคนนี้ พบว่า เค้าใช้ความรู้ในระดับพื้น ๆ เท่านั้นเองเพื่อสร้างแอพลิเคชั่น ที่นำไปก่อกวนเพื่อน ๆ น้อง ๆ ของเค้าในสังคม.. มันมีประโยชน์อะไรที่จะไปเขียนโปรแกรมลักษณะอย่างนั้น !! มันไม่ได้แน่ หรือว่าเจ๋งอะไรเลย !!
ดังนั้น ถ้าคนที่ไม่มีความรู้เลย.. แล้วอยากเป็นแคร็กเกอร์ ก็ไม่ต่างอะไรจาก คนที่อยากเป็นคนชั่ว เที่ยวก่อกวนชาวบ้าน .. เช่น ไม่รู้จะทำอะไร จึงเดินไปเตะถังขยะให้ล้มระเนระนาด ! อันนี้ก็เป็น Cracker แล้ว !! เพราะรู้นี่ว่า ถ้าได้รับแรงออกไปข้าง ๆ ถังขยะ มันล้มชัวส์ ก็เตะเข้าให้ เปรี้ยง !! เรียบร้อย เป็นไปตามคอนเซ็ป !!
การจะเป็น Hacker ได้ต้องมีความรู้ลึก ๆ และกว้าง ๆ !!
เราแบ่งแอพลิเคชั่นออกเป็นสองส่วน
1. แอพลิเคชั่นภาษาคอมพิวเตอร์
2. แอพลิเคชั่นประยุกต์
การประยุกต์มีหลากหลายเหลือเกิน ตั้งแต่ด้านฐานข้อมูล ด้านเน็ตเวอร์ค ด้านมัลติมีเดีย ด้านอื่น ๆ อีกมากมาย !!
ถ้าเพื่อน ๆ จะศึกษาแต่แอพลิเคชั่นประยุกต์ ได้แก่
Graphics = พรีเมีย, โฟโตช็อฟ, อิลลาสเตเตอร์ ฯลฯ
Database = MySQL, Oracle, SQL Server, Progress, Infomix ฯลฯ
Language = ASM, C/C++ , BASIC, Pascal , VB, VC , java, ada, smaltalk, python, php, perl, fortran, algol, simula, flow magic, cobol, lisp, apl, logo, snobol, BCPL, B, C, Prolog, SH, CLU, SEQUEL, ML, Hope, SASL, FP, ADA83, Lazy ML, SML, Lean, Miranda, FL, Clean, Concurrent Clean, Quick Basic, Haskell, Gofer, SML90, Mercury, PostScript Level2, OCaml, VB.NET, Mondrian, F#, J#, Pizza, Limbo, JavaScript, Pike, Eiffel, Ruby, Sather, Cecil, Lua, Delphi, Perl, PHP, Scheme R5RS, Common Lisp, Erlang, Life, Oz1, APL96, J, Oz3, Objective-C, BETA, Icon, Nawk, KSH, Eriang, Bash สิ่งที่ผมกล่าวไปคือภาษาคอมพิวเตอร์ทั้งนั้น !!
Microcontroller = Keil, CCS, Eagle, Protel, VHDL, CPLD, FPGA ฯลฯ
ยังมีอะไรอีกมากในหลากหลายสาขา หลากหลายด้าน !!
ส่วน ใหญ่ในแต่ละสาขาแต่ละด้านจะประกอบด้วยซอฟต์แวร์ที่ทำงานในด้านของเขาอยู่ แล้ว .. ดังนั้น การที่จู่ ๆ จะมาบอกว่า ผมอยากเป็นแฮกเกอร์ .. โดยผมรู้แค่ Visual Basic แล้วล่ะก็ มันไม่เพียงพอครับ !!
ผมเชื่อ ว่า การสร้างสรรค์เป็นสิ่งดีงามนั้นควรส่งเสริม.. เราสร้างสรรค์สิ่งที่เราปรารถนาจะสร้างสรรค์ ตามกำลังและความสามารถของพวกเรา และเราก็ต้องมีสภาพแวดล้อมที่เอื้อให้เกิดการสร้างสรรค์ ใช่มั้ยครับ ? !!
เช่น เพื่อน ๆ เก่ง C/C++ ก็จงใช้ภาษานี้ไปช่วยแก้ปัญหาที่เกี่ยวข้องในสาขาวิชาชีพของท่านหรือสาขาที่เกี่ยวข้
อง !!
คนที่มีความสามารถในด้านฟิสิกส์ ก็ใช้ซอฟต์แวร์ด้านฟิสิกส์
ผม สังเกตเห็นต่าง ประเทศมีไลบรารี่ให้พวกเราใช้กันมากมาย เป็นหมื่น ๆ แสน ๆ ไลบรารี่ ทั้งด้านเน็ตเวอร์ ด้านอิมเมจโปรเซสซิ่ง ด้านประมวลผลเท็กซ์ และอื่น ๆ อีกมากมายเพราะอะไร ?
ทำไมเค้าสร้างไลบรารี่ได้ เพราะเค้ามีองค์ความรู้พื้นฐานคัรบ !!
พวกนั้นใช้ C/C++ เก่งเหลือเกิน.. รู้เทคโนโลยีในระดับสากล !!
ส่วน พวกเรา รู้จักซี และ pascal พวกเราไม่เคยได้ยินภาษาไพธอนเสียด้วยซ้ำ (แม้จะเป็นเพียงแค่หนึ่งในหลายร้อยภาษา) แต่บ้านเมืองเค้าใช้มันเป็นเรื่องปกติ.. จริง ๆ ผมศึกษาไพธอนมานานกว่าที่บอร์ดของ CITECH จะเปิด !!
ดังนั้นเราต้องปรับกระบวนการ !!
โดย ต้องให้เพื่อน ๆ ทุกคนรู้จักคิด รู้จักสร้าง รู้จักแบ่งปันความรู้ เพื่อนำความรู้นั้นไปต่อยอดทำสิ่งอื่น ๆ ให้เป็นประโยชน์ต่อสังคมต่อไปได้
ผม ดีใจที่ได้มีโอกาสร่วมเขียนบทความและเกร็ดความรู้ ให้กับเพื่อน ๆ น้อง ๆ ทุก ๆ คนได้อ่านกัน เพื่อนำความรู้ที่เป็นประโยชน์ไปใช้ในการสร้างสรรค์ผลงานของพวกเขาต่อไป เป็นการกระจายความรู้ไปสู่ชุมชน ทำอย่างนี้เมื่อสังคมเราเต็มไปด้วยคนเก่งและคนดี อย่างนี้ก็น่าชื่นชม !! ช่วยส่งเสริมให้ พระราชบัญญัติการศึกษาแห่งชาติ สัมฤทธิ์ผลได้อีกขั้น !!
ปล. ขอบคุณ คุณ nprotech สำหรับบทความนะครับ
ข้อมูลจาก ruk-com.in.th
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น