Programming

อะไรๆตอนนี้ก็มาผูกติดก่ะเว็บวันเยอะแยะ ในที่สุดก็ถึงคิวของOSซ่ะที
ผลิตภัณฒ์ที่ผมจะนำเสนอก็คือ Abdominiser youos(http://www.youos.com/html/)
จริงแล้วมันก็ไม่ใช่Osซ๋ะทีเดียวหรอกคับมันก็คือWeb Applicationดีนี่เองล่ะคับ เพียงแต่แค่จำลองการทำงานของOsแต่แสดงผลบนหน้าเว็บเพจ มีโปรแกรมให้ลองเล่นหลายตัวเลยทีเดียว น่าสนใจคับ ต้องขอชมคนทำเลยว่ามีความคิดสร้างสรรคดีคับและทำออกมาได้ดีทีเดียว ถ้าเป็นไปได้ผลจะลองหาดูว่าเค้าใช้อะไรมาพัฒนา


edit @ 2006/07/23 04:39:49

การเขียนโปรแกรมแบบจริงๆจังๆของผมเพิ่งเริ่มต้นด้วยซ้ำเพราะเพิ่งได้ออกมาพบกับโลกแห่งโปรแกรมครั้งแรก จากงานในมหาลัยที่ทำส่งอาจารย์ตรงไหนทำไม่ทัน หรือว่าทำไม่ได้ก็ตัดออก ตอนพรีเซ็นต์ก็ไม่ต้องพูดถึงมันเสียถึงตอนนี้ทำไม่ได้แล้วคับ เพราะทุกอย่างต้องทำออกมาตามSpacที่เค้ากำหนดมีเวลาบอกชัดเจนว่าต้องเสร็จเมื่อไหร่
เด็กขี้เกียจตัวเล็กๆอย่างผมต้องปรับตัวขนานใหญ่ทีเดียว(แต่ยังไงก็แอบขี้เกียจเหมือนเดิม)
เป็นมุมมองของคนที่เพิ่งจะ(กำลังจะ)เริ่มต้นในอาชีพนี้เค้า(ผมนี้แหละ)คิดกันยังไง
เอาล่ะเราเกลิ่นมาพอสมควรแหละเริ่มเลยล่ะกัน

ผมถือคติในการเขียนโปรแกรมที่ว่า "ศึกษาสามวัน เขียนวันเดียวดีกว่า ศึกษาวันเดียวเขียนสามวัน และก็แก้ตลอดไป" ซึ่งผมเห็นว่าเป็นสัจธรรมอย่างหนึ่ง
เริ่มต้นที่คุณต้องเข้าใจงานที่คุณจะต้องทำก่อนเป็นอันดับแรก มันมีBusiness Logicอย่างไร มีอะไรบ้างที่คุณจะต้องทำให้มันออกเป็นรูปธรรม ต้องใช้เวลาในการศึกษากับมันพอสมควร ดีกว่าก้มหน้าก้มตาเขียนแล้วพอไปได้ครึ่งทางเพิ่งรู้ว่าเริ่มไปผิดทางซ่ะแล้ว
ซึ่งช่วงแรกที่ผมศึกษาไม่ใช่แต่ศึกษามีBusiness Logicเท่านั้น ผมต้องศึกษาเกี่ยวกับพวกFramwork และToolต่างๆ เพราะผมยังเป็นมือใหม่หัดเขียนการใช้งานคลาสก็ใช้กันแบบผิดๆถูกๆ ถือว่ากินเวลาอยู่พอสมควร และชอบมีปัญหาที่ติดก็ติดอยู่นั้นแหละ แก้ไม่ได้ซ่ะที ไม่รู้ว่าจะทำอย่างไรต้องใช้คลาสอะไร ใช้ยังไง และบางทีก็รู้ว่าต้องทำอย่างนี้อ้าวแต่มันไม่ได้เว้ย(ทำไมไม่ได้ว่ะ) ผมว่าทุกคนก็น่าจะเคยผ่านจุดตรงนี้มาเหมือนกัน วิธีการแก้ไขปัญหาก็ใช้วิธีถามเค้าเอา ถามเพื่อนบ้างถามพี่บ้างใช้เว็บบอร์ดให้เป็นประโยนข์ สิ่งที่ต้องใช้ก็คือความอดทนและเวลา ตอนนี้เราก็พร้อมที่จะมาเขียนแหละ
ผมจะแบ่งงานออกเป็นส่วนๆจดใส่กระดาษไว้ว่าหน้านี้ต้องทำอะไรบ้าง เริ่มทำไปทีล่ะอย่าง ค่อยๆทำไปจนเสร็จทั้งหมด เมื่อเสร็จก็ทำการเทสผมเป็นคนที่ไม่ชอบการเทสซ่ะด้วยซิซึ่งไม่รู้ว่าทำไม แต่ผมเข้าใจน่ะว่าการเทสเนี่ยสำคัญไม่แพ้การเขียนโปรแกรมเลย แต่ทำไงได้ก็คนมันไม่ชอบแต่ยังไงก็จะพยายามคับ เมื่อเราเทสไปรอบนึงแล้วเทสเตอร์ก็จะมาเทสอีกรอบนึงมีบักตรงไหนก็แก้กันไป เมื่อแก้กันเสร็จแล้วก็จะไปให้ลูกค้าลองใช้ ตรงไหนบักก็แก้กันอีก ตรงไหนทำงานไม่เป็นไปตามที่เค้าต้องการก็ต้องแก้กันไป สุดท้ายเวลาที่เคยก่ะเวลาที่แก้ต่างกันมาก แก้นานกว่าเวลาที่เราใช้เขียนซ่ะอีก(จริงๆน่ะ) เพราะว่า "No Program Perfect"

ขอออกตัวไว้อีกอย่างน่ะครับ คือผมก็ไม่ได้เก่งอะไรแต่ที่มาเขียนเนี่ยเพื่อแชร์ประสบการณ์ให้เพื่อนได้อ่านกันไปสนุกๆ ผิดพลาดประการใดก็ขอโทษมาน่ะที่นี้ด้วยล่ะกันคับ


edit @ 2006/07/15 12:31:31

เว้นไปหลายวันเหมือนกันกว่าจะได้มาเขียนต่อ โชคดีที่ผมค้นพบอินเตอร์เน็ตที่เหมาะก่ะบ้านผมเสียที ใช้มาสองยี่ห้อแรกบอกได้ว่าไม่ประทับใจ(ช้าจนออนเอ็มไม่ได้เลยล่ะ) ยี่ห้อไหม่นี้โอเคหน่อยความเร็วไม่ช้าไม่เร็วปานกลางอย่างนี้พอรับได้ เอาล่ะเข้าเรื่องกันเลยล่ะกัน ว่าด้วยเรื่องการProgrammingจริงๆๆผมก็เริ่มสนใจอย่างจริงๆๆจังๆๆไม่นานมานี้เอง(เมื่อก่อนรู้จักแต่ไม่สนิท) ถ้าเขียนอ่ะไรผิดขอโทษไว้น่ะที่นี้ด้วยน่ะครับ หลักการในการProgrammingมีอยู่ด้วยกันหลายวิธี แต่วิธีที่นิยมในอดีตคือStructure Programmingก็คือการเขียนโปรแกรมโดยexecuteจากบนลงล่าง เหมือนก่ะการเดินลงบันไดอย่างนั้นแหละครับก้าวแรกลงจากขั้นที่หนึ่ง ก้าวต่อมาลงจากขั้นที่สองทุกอย่างจะดำเนินกันไปอย่างนี้ จะมีการใช้พวกสเตทเมนต์เพื่อเลือกทำในการทำงานต่างๆๆมีการกระโดดไปกระโดดมานิดหน่อย แต่พวกStructure Programmingมันมีปัญหาตรงที่เมื่อโปรแกรมใหญ่ขึ้นจะดูแลได้ยากขึ้น เหมือนกับการทีคุณเดินไปเรื่อยโดยทีคุณก็ไม่รู้ว่าที่คุณเดินผ่านมาเค้าเรียกว่าอะไร การจะเดินกลับไปที่เดิมก็จะไม่สะดวก(เข้าเรียกว่าreuser) เค้าจึงมีการคิดOOPขึ้นมาแก้ปัญหาเหล่านี้ OOP(Object Orieanted Programming)เป็นหลักการที่เข้าเปลี่ยนมุมมองวิธีคิดใหม่ซ่ะหมด
โดยจะมองทุกอย่างในโปรแกรมเป็นวัตถุ(ผมเชื่อว่าใครเคยอ่านในหนังสือต้องเจอกันคำอธิบายอย่างนี้แน่ๆๆ)
ที่มองเป็นวัตถุก็คือ ในนั้นมันจะมีชื่อเรียกของมันเหมือนก่ะคุณเรียกสิ่งที่อยู่ข้างหน้าว่าคอมพิวเตอร์ยังไงล่ะครับ
และมันก็จะมีลักษณะที่คุณมองเห็นว่ามันเป็นสี่เหลี่ยม มีปุ่มกดเปิด และสุดท้ายมันก็จะมีการทำงานในตัวมันเอง
เช่นมันทำให้คุณอ่านBlogของผมได้ ยังงงอยู๋ล่ะซิครับ
สรุปก็คือ
1.มันมีชื่อไว้สำหรับเรียกมันว่ามันคืออะไร(Instance)
2.มันจะมีลักษณะภายนอกที่คุณเห็นในอยู่ เช่นมันมีปุ่มให้คุณกดเปิด ปุ่มรีเซ็ตคุณสามารถกดมันได้
(Property)
3.มีการทำงานในตัวของมันเอง มันสามารถพิมพ์เอกสารได้ มันสามารถฟังเพลงได้
ทุกอย่างที่กล่าวมานี้แหละคือObject ในOop เอาล่ะวันนี้แค่นี้ก่อนแล้วผมจะมาเล่าให้ฟังไหม่


edit @ 2006/07/15 12:31:41