ข้ามไปที่เนื้อหาหลัก

เรียนเขียนโปรแกรม (1) จากไม่เป็นอะไรเลย

เรียนเขียนโปรแกรม (1) จากไม่เป็นอะไรเลย
ไม่ง่ายเลยกับการเริ่มต้นเรียนรู้การเขียนโปรแกรมตอนอายุที่มีเลข 3 นำหน้า พื้นฐานการเขียนโปรแกรมของผมเรียกได้ว่าเป็นศูนย์ แม้ว่าจะสร้างเว็บได้เอง แต่ก็เป็นการใช้ตัวช่วย นั่นคือ WordPress (วิธีการสร้างเว็บ shopping cart ง่ายๆ ด้วยตัวเอง)
สาเหตุของการเรียนรู้ครั้งนี้เกิดขึ้นเพราะ ผมกับเพื่อนมีไอเดียเรื่องการทำ Web application ตัวนึง แต่ด้วยความที่เราทั้งคู่ไม่มีความรู้เรื่องการเขียนโปรแกรมเลย การพูดคุยเพื่อความเข้าใจที่ตรงกันระหว่างผู้จ้างอย่างทีมผม และผู้รับงานเลยมีความเข้าใจที่คลาดเคลื่อนกันบ่อยๆ
แม้ว่าโปรแกรม (รุ่นทดลอง) จะถูกเขียนจนเสร็จเรียบร้อย แต่การเดินทางจาก Beta (รุ่นทดลอง) สู่ Ultra (สุดยอดโปรแกรม) ยังมีอะไรอีกหลายอย่างที่ผมต้องเรียนรุ้ จึงเป็นต้นเหตุให้ผมคิดที่จะเรียนรู้วิธีการเขียนโปรแกรม
Web Application ของผมถูกเขียนขึ้นจากภาษา PHP ด้วย Framwork ที่ชื่อว่า Laravel สาเหตุที่ตอนนั้นเลือกภาษานี้เพราะได้รับคำแนะนำจากพี่ nuuneoi เจ้าสำนัก Cheese Factory ว่าเป็นภาษาที่น่าจะเหมาะกับนักพัฒนาไทยในการสร้างและปรับปรุงระบบ
ในช่วงเริ่มผมเลยพยายามหาบทความเกี่ยวกับการเริ่มต้นเขียนโปรแกรมด้วยภาษา PHP แต่หลังจากใช้ความพยายามระบบ 40 ดีกรีก็พบว่า “ยากฉิบหาย” คือทั้งอ่านและดูก็ยัง “งง” ไม่ใกล้เคียงกับคำว่าก้าวหน้าเลยสักนิด
ผมเลยตัดสินใจค้นในกูเกิลดูว่ามันมีภาษาอะไรที่ง่ายกว่า PHP ที่จะช่วยให้ผมเข้าใจหลักการของการเขียนโปรแกรมเบื้องต้นก่อน แล้วหลังจากมีพื้นฐานบ้างแล้ว (อาจจะ) วนกลับมาหาเจ้า PHP อีกที
ก็มาเจอกับภาษาที่ชื่อว่า Ruby ซึ่งผมคิดว่ามันคูลมากเลย
ที่ว่ามัน Cool ก็เพราะจากที่ไล่อ่านจากบทความต่างประเทศ ไอ้เจ้า Ruby ถูกใช้ในการพัฒนา Web App เท่ๆ อย่าง Basecamp และ Twitter
ไม่รอช้าผมเริ่มค้นหาหนังสือภาษาไทยสำหรับการเริ่มต้นเรียนรุ้ภาษา Ruby อีกครั้ง พบว่าแหล่งความรู้ที่สามารถเข้าถึงได้อย่างหนังสือหรือวีดีโอของไทยยังน้อยมาก ไล่อ่านดูคร่าวๆ ก็ยังมึนอยู่ (คือโง่ง่ะ)
จนมาเจอกับหนังสือเล่มนึงบนอเมซอน ชื่อ Learn to Program โดยคุณ Chris Pine
ทดลองโหลดตัวอย่างมาอ่านดู… เห้ย ใช่ว่ะ
คุณ Chris ถ่ายทอดเนื้อหาแบบที่คนไม่มีความรุ้ในการเขียนโปรแกรมมาก่อนเลยสามารถเรียนรู้ได้ แถมด้วยการเขียนด้วยภาษาบ้านแทรกมุกกวนตีนเป็นระยะ
ช่วงแรกของหนังสือที่บอกถึงเหตุผลที่ทำไมแกถึงเลือกภาษา Ruby มันยิ่งได้กำลังใจ
คุณ Chris บอกว่ามันเป็นภาษาที่ง่าย, อ่านเข้าใจเหมือนภาษาอังกฤษ และภาษาคนนี่หล่ะ
Learn to Program มีให้อ่านฟรีบทเว็บไซด์ด้วยครับ [ https://pine.fm/LearnToProgram/ ]
ใครที่เริ่มต้นหรือสนใจเรียนรุ้การเขียนโปรแกรมแบบผม ลองเข้าไปอ่านในเว็บ ได้ทั้งการฝึกภาษาอังกฤษและภาษา Ruby เลยนะเออ
หรือจะใช้วิธีดู ก็มีคลิปที่ฝรั่งรวบรวมไว้ เกี่ยวกับพื้นฐานและการเริ่มต้นเรียนรุ้ภาษา Ruby ครับ

ขอขอบคุณบทความดีๆๆจาก

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

วิธีใช้ Google Form ส่งข้อความเข้า LINE Notify

วิธีใช้ Google Form ส่งข้อความเข้า LINE Notify           ขั้นตอนต่อไปนี้จะข้ามส่วนของรายละเอียดบางอย่างไป ซึ่งก่อนจะทำตรงนี้ควรจะรู้แล้วว่า LINE Notify ใช้ทำอะไร และ Access Token จะเอามาจากไหน แต่จะพยายามอธิบายให้ครอบคลุมที่สุดก็แล้วกัน Update: 2019/06/10 ในท้ายบทความได้เพิ่มคำอธิบายเรื่องการส่งข้อมูลหลายกล่องข้อมูล (คอลั่ม) พร้อมกับ code ที่วนลูปข้อมูลทุกกล่อง เพื่อความสะดวกในการส่งข้อมูลในรูปแบบเดิม สร้าง Google Form วิธีสร้างก็ง่ายแสนง่าย เข้าไปที่  https://docs.google.com/forms  จากนั้น คลิกตรงเครื่องหมาย + ตามภาพ จะได้ form หน้าตาแบบนี้มา แก้ไขตามสะดวกเลย ตัวอย่างเอาแบบนี้แล้วกัน จะลองส่งข้อความคลิกที่รูป “ตา” พิมพ์ข้อความอะไรก็ได้ แล้ว กด Submit โลด กลับไปหน้า Form ของเราใน tab แรก มันก็จะมี RESPONSES เข้ามา เมื่อคลิกดูก็จะพบข้อความที่เราเพิ่งพิมพ์ไปเมื่อตะกี้ ใส่ code ใน Script Editor คลิกที่ จุด 3 จุด ด้านขวาบน แล้วเลือก  <> Script Editor จะพบหน้าเปล่าๆ ที่ไม่คุ้นเคย ตรงนี้แหละที่เราจะมาใส่ code ใ...

ทำความเข้าใจ LM, NTLM, NTLMv2

ทำความเข้าใจ LM, NTLM, NTLMv2  วันนี้เราจะมาทำความเข้าใจเกี่ยวกับรูปแบบการเก็บ password ของ Windows โดยแต่ก่อนจนถึงปัจจุบันก็มีพัฒนาการมาเรื่อยๆครับ ซึ่งจะเริ่มจาก LM (Lan Manager) hash โดย LM นั้นเป็นรูปแบบดั้งเดิมในการเก็บ password ของ Windows ตั้งแต่ยุค 1980 ซึ่งในช่วงนั้นยังมีจำนวน charset ที่ยังจำกัดอยู่(16-bits characters) ซึ่งทำให้การ crack password นั้นทำได้ง่ายมากโดยดึงจาก SAM database บน Windows หรือว่า NTDS บน Domain Controller (Active Directory) ได้เลย โดยขั้นตอนการเปลี่ยน password อยู่ในรูปแบบ LM hash คือ เปลี่ยนอักษรทั้งหมดเป็นตัวใหญ่ หากตัวอักษรไม่ครบ 14 ตัวอักษรก็จะเติมตัวอักษรทั้งหมดให้เต็มด้วย NULL characters แบ่งเป็น 2 กลุ่ม กลุ่มละ 7 ตัวอักษร สร้าง DES key จาก character 7 ตัวทั้ง 2 กลุ่ม ก็จะได้ DES key 2 ชุด (ชุดละ 64 bit) นำ DES key ไปเข้ารหัส static string “KGS!@#$%” ด้วย DES (ECB) นำ encrypted strings ทั้ง 2 อันมาต่อกัน ก็จะได้เป็น LM Hash เช่น สมมติ password เป็น password password => password000000 PASSWORD000000 PASSWOR...

The Spiral Model

The  Spiral  Model                                                 Spiral  Model  คือ   Software  Development  Process  ที่ถูกพัฒนาขึ้นโดยเอาจุดแข็งของ   Development  Model  อื่นที่ดีอยู่แล้วมาประยุกต์  ( waterfall  model )  และเพิ่มเติมส่วนของการวิเคราะห์  และตีค่าความเสี่ยงที่เกิดเพื่อจะได้ทราบว่าจุดใดมีความเสี่ยงมากน้อยขนาดไหน  จะได้หาวิธีลดความเสี่ยง  ซึ่งความเสี่ยงเป็นสาเหตุ  ที่ทำให้การพัฒนาไม่ประสบความสำเร็จ  การวิเคราะห์หรือต้นเหตุของความเสี่ยง  ก็เพื่อที่จะหาวิธีการที่จะทำให้เกิดความเสี่ยงน้อยที่สุด  รวมถึงวิธีการแก้ไขเมื่อเกิดเหตุการที่ไม่คาดคิดเกิดขึ้น  ถ้าความเสี่ยงน้อยลง  ก็ทำให้   Cost  หรือ ต้นทุนที่ใช้ก็จะลดลงต...