"Hello World" - Mad Programmer Diary

Dev to Beginner -> วิธีแก้บัคเบื้องต้นสุดใจ สำหรับมือใหม่!!!

Posted by arnondora on April 30th, 2015

ช่วงๆหลังๆนี่หลังจากผมสอนเขียนโปรแกรมหลายๆคน มักจะมาถามว่า “มันเป็นอะไรอะแก้ให้หน่อย!!!” ซึ่งวันนี้ผมอยากจะมานำเสนอ ทริก ในการจัดการกับ Error ที่ผมทำเวลาเจอบัค 1. เขียนใหม่หัดใช้ IDE ดีๆบ้างก็ดีนะ!! เมื่อก่อนตอนผมเขียนโปรแกรมใหม่ๆ ไปดูคนที่เขาเขียนเก่งๆเขียน โหใช้โปรแกรมอะไรเขียนอะครับ โคตรเท่เลย!! เลยเอามาลองบ้าง ซึ่ง IDE ที่เขาใช้นั้นมันเหมาะกับผู้ที่มีประสบการณ์แล้วถึงมาใช้ แล้วเราตอนนั้น กาก มาก ใช้ทีเงิบเลย Error อะไรอยู่ตรงไหน เพราะฉะนั้นแนะนำครับ มือใหม่นะ ให้ไปลองใช้ IDE ที่ง่ายๆ อ่าน Error ง่าย ชีวิตเราจะได้ง่ายขึ้น 2. เส้นหยักแดงๆน่ะ อ่านมันบ้างดิเฮ้ย!!! เคยกันสินะครับ! เวลาเขียนไป เฮ้ยทำไมมันรันไม่ได้ว้าา Error ตลอดเลย สรุปพอมาดู โห่ เส้นแดงโชว์หลาอยู่หน้าจอเลย ไม่แก้ก่อน จากข้อ 1 นะครับ สำหรับมือใหม่ IDE ดีๆสักตัวก็ทำให้เราเรียนรู้ได้เร็วขึ้นจริงๆนะครับ แต่บางที IDE […]

C Language 101 – What the f__k is Repetition? (EP.4)

Posted by arnondora on April 28th, 2015

กลับมาแล้ว ผิดสัญญาไปหน่อย บอกว่าจะเว้นแปบเดียว นี่เว้นนานเลย ก็ช่วงนี้มันงานยุ่งจริงๆ แถมใกล้สอบ Final แล้วอีก ร่างจะแตกและ วันนี้ (เหมือนจะ) ว่างเลยจะเขียนต่อซะเลย เข้าเรื่องกันเลยดีกว่า วันนี้เราจะมาพูดถึงเรื่อง Repetition หรือการ “วน” เช่นยังไง เราจะเขียนโปรแกรมให้มันพิมพ์ตัวเลข 1-3 ออกมาทางหน้าจอ ถ้าไม่มี Repetition เราก็ต้องสั่งทีล่ะบรรทัด printf(“1\n”); printf(“2\n”); printf(“3\n”); มันก็เหนื่อยอยู่นะ (ไม่มีอะไรหรอก เพราะขี้เกียจล้วนๆ) ลองคิดเล่นๆสิครับ ถ้าเราต้องให้มันพิมพ์ถึงสัก 1 ล้าน เราคงไม่มานั่งพิมพ์ทีล่ะบรรทัดแบบนี้หรอก ฉะนั้น เราจึงต้องมีการวนลูปในโปรแกรมขึ้นมา ซึ่งใน C ถ้าไม่เอาเทคนิคอะไรยุ่งยากก็มี 3 แบบ แต่วันนี้ขอ 2 ล่ะกันนะ อีกอันไว้พูดตอนเรื่อง Function ใน EP. หน้าๆเลย For-Loop อันนี้จะเป็น Loop ง่ายๆที่เรา มีค่าตัวนึงเป็นตัวนับ […]

บ่น บ่น ๆ – เคยรู้สึกเสียดายเวลาเล่นเกมกันมั้ยครับ?

Posted by arnondora on April 27th, 2015

คำเตือน นี่คือการบ่นด้วยบรรทัดฐานของตัวผมเอง ฉะนั้น Logic ไม่ต้องไปหานะ OK นะ เข้าใจตรงกันนะ หายไปนานเลย ช่วงนี้ติดค่ายเยาว์ที่มหาลัยกับ หลายๆอย่างเลยไม่ได้เขียนเลย ช่วงนี้มันเหนื่อย~~~ เรื่องนี้มันเกิดขึ้นเมื่อสัก 3-4 วันก่อนครับ ช่วงนั้นติดเกม Minecraft มากๆ เพราะซื้อหนังสือมา ตอนที่เคยรีวิว Book Set มหัศจรรย์จาก Mojang แกะกล่องรอบแรกของชีวิต โคตรจะตื่นเต้น!! ไปเลยน่ะครับ พอมาอ่านจริงๆจังๆแล้ว มันทำให้ติดเกมโคตรๆ งานก็เยอะ การบ้านท่วมหัวระเบิดตูม ประกอบกับตอนนี้ก็ใกล้จะสอบ Final แล้วอีก ก็ยังเล่นเกมไม่เลิกซะที ตอนที่เล่นไป ในตัวเกม Minecraft มันก็มีหน้าไว้บอกว่าเราเล่นแมพนี้มานานกี่ชมแล้ว กดดูเท่านั้นแหละครับ   OMG 0.79 day = 18.96 Hours  18 เกือบ 19 ชั่วโมงนี่มหาศาลเลยนะนั่น มันจึงเกิดความคิดชั่ววูบ (รึเปล่า?) ที่ว่า รู้สึกเสียดายเวลาสุดๆเลย ถ้าเอาไปไล่ทำงานทั้งหมด […]

เรียนไปเพื่ออะไร?

Posted by arnondora on April 23rd, 2015

เมื่อตอนผม ม.1 ไม่ก็ ม.2 ผมเคยไปฟังบรรยายจากอาจารย์ท่านหนึ่ง จำได้ว่ามาจาก สวทช. ผมจำชื่อเขาไม่ได้แล้ว (เสียใจ TT) แต่สิ่งที่เขาถามกับผม ผมยังจำได้ดีจนถึงตอนนี้ว่า เราเรียนไปเพื่ออะไร? จำได้ว่าตอนนั้นโดนถาม เป็นไงล่ะครับ สตั๊น ไปเลย อึ้งไปเลย คิดในใจ “เออ นั่นดิ เรียนไปทำไม?” แต่หลังจากนั้นปีนึง ผมตอบคำถามนั้นได้แล้ว ดีใจมาก! คำตอบของผมคือ เรียนเพื่อรู้ เรียนเพื่อรู้ คืออะไร? เรียนเพื่อรู้ ในความหมายของผมนั้นหมายถึง เราเรียนเพื่อนำไปใช้ เพื่อเป็นประสบการณ์ให้เราสร้างสรรค์สิ่งใหม่ๆได้ ง่ายๆคือ เรียนเพื่อใช้ล่ะครับ แต่สิ่งที่ผมเห็นอยู่ในการศึกษาไทยตอนนี้คือ เรียนเพื่อสอบ เพราะ หลังๆเราเรียนพิเศษกันมากขึ้น (จริงๆการเรียนพิเศษมันไม่ได้ผิดอะไรเลย จริงๆดีด้วยซ้ำ) แต่จุดประสงค์ที่เด็กตอนนี้ไปเรียนมันผิด! เดี๋ยวนี้ เราไปเรียนพิเศษเพื่ออะไรกันครับ? เพื่อที่จะอยากได้เกรด กันใช่มั้ยล่ะครับ ฉะนั้นการคิดแบบนี้มันก็ไม่ต่างกับการเรียนเพื่อสอบเลย ถามว่ามันผิดมั้ย? นั่นสิครับ มันก็ขึ้นกับมุมมองของแต่ล่ะคนอีก บางคนอาจจะมองว่า ต้องทำเกรดให้ดีๆนะ จะได้มีโอกาสเลือกที่เรียน เลือกทุนอะไรมากมายได้มากกว่าคนอื่น แต่อีกคนอาจจะมองว่า […]

เริ่มเขียนโปรแกรมควรเริ่มจากอะไรดี??

Posted by arnondora on April 21st, 2015

จากที่ผมไปอ่านในพันทิพย์ หรือจากในหลายๆกระทู้ คนที่เริ่มเขียนโปรแกรมใหม่ๆ หรือกำลังจะเริ่มหัดมักหาจุดเริ่ม ไม่ถูก วันนี้ผมจะมาแนะนำ วิธีการเริ่มเขียนโปรแกรมแบบง่ายๆกัน ก่อนอื่นเรามาดูกันก่อนว่า ในการจะสร้างโปรแกรมสักตัวนั้นเราจะต้องรู้อะไรบ้าง… Problem Solving Skill – การเขียนโปรแกรมมันก็คือ การย่อปัญหาที่ยาก ให้ทำได้โดยง่าย เพราะฉะนั้น การที่จะสร้างโปรแกรมสักตัวนั้น เราจะต้องอาศัย เรื่องของทักษะในการแก้ปัญหาต่างๆ เดี๋ยวมาอธิบายต่อข้างล่าง Programming Language – เมื่อกี้ เรามีวิธีในการแก้ปัญหาแล้ว ตอนนี้เราจะต้องมารู้ภาษาที่ไว้คุยกับคอมพิวเตอร์ หรือเรียกง่ายๆว่า ภาษาโปรแกรมมิ่ง ซึ่งมันก็จะมีตั้งแต่ ภาษาชั้นต่ำ ยัน สูงเลย ความยากง่าย และความเหมาะสมนั้นขึ้นกับงานที่จะทำ โดยภาษาชั้นสูง สำหรับมือใหม่แล้วจะ เรียนรู้ได้ง่ายกว่า เช่นพวก Phyton เป็นต้น จากทั้ง 2 สกิล รวมกัน มันจะทำให้เราสามารถที่จะเขียนโปรแกรมเพื่อแก้ปัญหาได้ แรกๆ เราอาจจะแก้ปัญหาง่ายๆได้ หลังๆพอเราทำไปเรื่อยๆ เดี๋ยวก็จะเก่งขึ้น แต่เอาจริงๆจากประสบการณ์ Problem Solving Skill สำคัญกว่าการรู้ […]

Must have or Should have Programming Skill?

Posted by arnondora on April 20th, 2015

เมื่อสมัยก่อน คอมพิวเตอร์ เป็นของที่โคตรจะ Rare ระดับ SSS เครื่องคอมพิวเตอร์มีไม่กี่เครื่องบนโลก หลังๆมาในไทยก็เริ่มเอาคอมพิวเตอร์เข้ามาใช้ในไทยมั่ง แรกๆก็อาจจะมีตามศูนย์คอมพิวเตอร์ในมหาลัย แต่ในปัจจุบันนั้น จากคอมพิวเตอร์เครื่องเท่าบ้าน มันกลับกลายมาเป็นเครื่องเท่าฝ่ามือของเราไปซะและ มันเข้ามาแทรกซึมอยู่ในวิถีชีวิตของเราในทุกๆวัน ทุกๆเวลา ตั้งแต่เราตื่นนอน ยัน นอนหลับในอีกวันเลยทีเดียว ในสมัยก่อน เนื่องด้วยคอมพิวเตอร์เป็นอะไรที่ค่อนข้างใหม่ และราคาค่อนข้างสูง ทำให้คนเข้าถึงยาก ทำให้การสร้างและพัฒนาโปรแกรมถูกทำโดยคนจำนวนน้อยๆเท่านั้น แต่ในปัจจุบันนี้อย่างที่บอกไปเมื่อย่อหน้าที่แล้วว่า คอมพิวเตอร์ตอนนี้มันขนาดเล็กลงจนขนาดเท่าฝ่ามือของเรา และอีกอย่างที่สำคัญคือ ราคาถูกลง โลกเราได้ให้ความสำคัญกับเรื่องของคอมพิวเตอร์มาก วันๆนึงมีหลายพันโปรแกรมที่ถูกพัฒนาขึ้นมาเพื่อจุดประสงค์ต่างๆ จากเมื่อก่อน โปรแกรมคอมพิวเตอร์ ถูกพัฒนาจากกลุ่มคนเพียงไม่กี่กลุ่ม ตอนนี้กลับถูกพัฒนาออกมา วันล่ะหลายพันโปรแกรม จนเต็มท้องตลาดไปหมด การเขียนโปรแกรมคอมพิวเตอร์ มันเป็นทักษะ ทักษะหนึ่ง เมื่อก่อน เราอาจจะมองว่า “อืม! มันไม่สำคัญหรอก เดี๋ยวก็ให้โปรแกรมเมอร์เขียนให้” ถามว่าทำไมเราถึงพูดแบบนั้นเมื่อก่อน เพราะว่าเมื่อก่อนนั้นการเขียนโปรแกรมมาสักตัวมันยากมากๆ ต้องอาศัยเวลา ทรัพยากร และความรู้เฉพาะด้านมากกว่าในสมัยนี้ หรือพูดอีกนัยนึงคือ การเขียนโปรแกรมมันง่ายขึ้นกว่าสมัยก่อนเยอะมากๆ ด้วยเรื่องของการพัฒนาภาษาของการเขียนโปรแกรมที่เอื้อให้นักพัฒนาสร้างสรรค์โปรแกรมได้มากขึ้น บุญมันเลยตกมาถึงคนที่พึ่งหัดไงครับ! ในสมัยนี้เราสามารถเขียนโปรแกรมพื้นฐานได้ในเวลาอันสั้นกว่าเมื่อก่อนเยอะมากๆเลย สมัยนี้เราสามารถเขียนโปรแกรมพื้นฐานง่ายๆได้ในเวลาอันสั้น เผลอๆไม่ต้องเขียนโค๊ตด้วยซ้ำ (เทียบกับสมัยก่อนที่ต้องเขียนโค๊ตกันมือหงิกกันเลยทีเดียว) ประกอบกับคอมพิวเตอร์อยู่ใกล้เรามากขึ้นจาก […]

Studying in University 101 – Daily life

Posted by arnondora on April 19th, 2015

ตอนผมอยู่ ม. ปลาย พี่ๆที่รู้จักก็ไปเรียนมหาลัยกันหมดและ ส่วนผมก็ยังเป็นนักเรียน ม.ปลาย อันน่ารักอยู่ อิอิ เวลาจะชวนพี่ๆไปไหน หลายๆคนมักจะลงเอยที่คำว่า “ไม่ว่าง โคตรจะยุ่งเลย” ซึ่งตอนนี้ผมเชื่อแล้วว่ามันโคตรจะจริงเลย ตอนนี้น้องๆชวนไปกินข้าวกัน ผมก็ลงเอยเหมือนกันว่า “ไม่ว่าง โคตรจะยุ่งเลย โทษน้าา!” ซึ่งมันก็ยุ่งจริงๆ ไม่เข้าใจเหมือนกันว่าทำไมมันถึง “ยุ่ง” ได้ขนาดนี้ ทั้งที่จำนวนวิชาเรียนก็น้อยกว่า ม.ปลาย คาบเรียนก็น้อยกว่า แต่ทำไมมันถึง โคตรยุ่งเลย เพราะงั้นเราลองมาดูกันว่า ผมทำอะไรบ้างในแต่ล่ะวัน ทำไมมันยุ่งจังว้าา (คนอื่นนี่ไม่รู้นะ เลยไม่เขียน เอาบรรทัดฐานตัวเองเป็นที่ตั้ง) เริ่มจากตารางเรียนกันก่อนเลย ผมจะเรียนเช้าสุดคือ 9 โมง และเลิกช้าสุดคือ 4 โมงเย็น แต่ก็มีบางวันที่จะเลิกเร็ว (ซึ่งเทอมนี้ วันที่เลิกเร็วเยอะมากๆๆ เยอะกว่าเทอมแรกเยอะเลย ซึ่งโคตรดีๆเลย) วันจันทร์ โคตรขี้เกียจ…. ก่อนอื่นวันจันทร์ ผมมีเรียน เคมี 9.00 – 12.00 บ่ายก็ว่าง จากนั้น […]

C Language 101 – If-Else Statement (EP.3)

Posted by arnondora on April 18th, 2015

สวัสดีครับ หายไปนานเลย นึกว่าจะไม่เขียนแล้วล่ะซี้!! แฮร่~~ ช่วงนี้กำลังย้ายเว็บ กับติดงานและเกมหลายๆอย่างอยู่ เลยไม่เป็นอันเขียน วันนี้ตัดสินใจแน่วแน่แล้วว่าจะ เขียน ให้ได้ มาเข้าเรื่องของวันนี้กันเลย วันนี้จะว่าด้วยเรื่องของ If-Else Statement กันครับ ถ้าใครเคยเรียนภาษาอังกฤษมา มันก็คือประโยคเงื่อนไข นั่นเอง ในโปรแกรมมิ่งก็เช่นเดียวกันครับ เราสามารถที่จะเลือกให้ทำแบบนี้แบบนั้นได้ ถ้า… เช่นกัน รูปแบบคือ if (condition) {//do sth} ถ้า… แล้วข้างในเป็นเงื่อนไข อะไรก็ว่ากันไปเช่น a == 2 เป็นต้นอะไรแบบนี้ (ในการเปรียบเทียบต้องใช้ == (เท่ากับ 2 ตัว ไม่ใช่ = ตัวเดียว) เท่ากับตัวเดียวคือการ Assign ค่าให้ตัวแปรไม่ใช่ การเปรียบเทียบ ถ้าเงื่อนไขตรงก็ทำใน do sth เลย แล้วถ้าไม่ตรงล่ะก็ จะมีอีกคำสั่งนึงเข้ามานั่นคือ else if (condition) […]

How To Move Your Web To DigitalOcean! ฉบับเว็บไม่ Down (Thai)

Posted by arnondora on April 16th, 2015

หลังจากที่ผมได้ผ่านสรภูมิการย้ายเว็บลง Digital Ocean เมื่อไม่กี่วันก่อน ตอนที่หาวิธี ผมหาอันที่เป็นภาษาไทยไม่ได้เลย เศร้ามาก!! วันนี้ผมเลยจะมาบอกเล่า เป็นภาษาไทยกันล่ะกัน To Do List Backup Database และข้อมูลผ่านตัว Manager ของ Host เก่าก่อนนะครับ สร้าง Droplet ติดตั้ง vsftpd และ phpmyadmin ย้ายตัว Content ของเว็บลงใน Digital Ocean ผ่าน FTP Restore Database ลง DB ด้วย Phpmyadmin Set DNS ใหม่ 1. Backup Database และตัว Content ของเว็บ อันนี้ก็ไม่มีอะไร ยังง่ายๆอยู่ แค่ Backup Database ออกมาไว้ก่อน อาจจะผ่าน Phpmyadmin ก็ได้ […]

ฉลองครบ 10000 Views – ทำไมกลายมาเป็น Blog นี้ได้? + ผมเป็นใคร

Posted by arnondora on April 15th, 2015

คือตอนนี้ Blog arnondora.in.th ก็มี View เกิน 10,000 ไปแล้ว วันนี้เลยอยากจะมาเล่าให้ฟังว่า ทำไม Blog นี้มันถึงเกิดขึ้นมาได้ ตอนแรก ก่อนจะมี Blog อันนี้ขึ้นมา ด้วยความที่ผมเขียนโปรแกรมมานาน ค่อนข้างมีประสบการณ์ (ไม่ได้แก่นะเว้ย พึ่ง 19) กับพื้นฐาน เลยให้ช่วยสอนบ่อยๆ แรกๆก็ยังโอเคนะ รับได้อยู่ หลังๆ เฮ้ย! ทำไมมันเยอะขึ้นเรื่อยๆว้าา จากตอนแรกแค่ 2-3 คน ตอนนี้อัดไปเลย 10+ คน จนเริ่มไม่ไหวและ เราต้องทำอะไรสักอย่างและ จะอัดวีดีโอ ก็ไม่มั่นใจขนาดนั้น เขียนมันเลยล่ะกัน ฝึกการเขียนในตัวไปเลย ผมเลยเปิด Blog นี้ขึ้นมา จากตอนแรกก็เปิดใน wordpress.com เลย กลายเป็น wordpress.arnondora.in.th ตอนนั้น View ก็ไม่ได้เยอะ เหมือนตอนนี้ แค่ 6-10 Views […]

Older Entries