ตอนนี้เทคโนโลยีที่เอื้อหนุนต่อ Software as a Service ก้าวล้ำไปมากครับ แต่ถ้าเราสังเกตุดี ๆ เราจะพบว่า ส่วนใหญ่แล้วมันเอื้อหนุนต่อการแสดงผลลัพท์ที่จอภาพ และการตอบโต้กับผู้ใช้ผ่านจอภาพซะมากกว่า ส่วนการแสดงผลออกมาผ่านเครื่องพิมพ์ ให้ผลลัพท์อยู่ในรูปของกระดาษนั้น ไม่ยักกะมีใครสนใจซักเท่าไหร่ ผมว่านะ SaaS มันจะครบวงจรไม่ได้หรอก หากเราไม่สามารถส่งผลลัพท์ออกเป็นกระดาษให้ผู้บริโภคได้ด้วย เดี๋ยวนี้การควบคุมเครื่องพิมพ์มันไม่ยากเหมือนเมื่อก่อน เพราะระบบปฏิบัติการก็มีไดรเวอร์สำหรับควบคุมเครื่องพิมพ์อยู่แล้ว ไม่ว่าจะควบคุมตรง ๆ ผ่านพอร์ต LPT1 หรือควบคุมผ่านเครือข่ายก็สามารถทำได้
Category: Programming
พูดคุยแต่เรื่องสร้างซอฟต์แวร์
เคยอ่านเจอเรื่องเกี่ยวกับความก้าวหน้าทางด้านวิทยาศาสตร์ เทคโนโลยี และเศรษฐกิจ มีการทำนายกันโดย geek ที่ไหนก็ไม่รู้ว่า ในอนาคตจะเกิดศึกจากกลุ่ม 3 กลุ่ม กลุ่มแรก คือเหล่าบรรดาแฮกเกอร์ กลุ่มสอง คือระบบซอฟต์แวร์ปัญญาประดิษฐ์ และ กลุ่มสาม คือ Mega Corporation สองอย่างแรกผมรู้จักแล้ว แต่อย่างที่สามผมเพิ่งจะรู้จัก เพราะไปอ่านจากในวิกีพิเดียมา เขาก็อธิบายสรุป ๆ ว่าเป็นบริษัทที่มีคุณสมบัติดังต่อไปนี้ ผลิตสินค้าหรือส่งบริการให้กับประเทศมากกว่าสองประเทศขึ้นไป
คนเขียนซอฟต์แวร์ไม่รู้จัก Loop ล่ะก็เชยแย่เลย หวังว่าคงจะไม่เชยกันนะครับ 😛 ไอ้เจ้า Loop นี่ถือเป็นเสน่ห์ของการสร้างซอฟต์แวร์เลยนะ เพราะมันทำให้เราสั่งคอมพิวเตอร์ให้ทำงานซ้ำ ๆ ได้ แถมแต่ล่ะรอบที่มันทำงานมันก็สามารถทำงานที่แตกต่างกันได้ด้วย ในสมัยที่ผมยังเป็นนักวิเคราะห์ระบบอยู่นั้น เวลาผมต้องตรวจต้นฉบับซอฟต์แวร์ของใคร ผมจะดูที่การวน Loop ของเขาก่อนเลย ว่าเขาได้เค้นสมรรถนะของคอมพิวเตอร์ได้อย่างสูงสุดหรือยัง ไม่เคยสังเกตุกันอ่ะดิ ใช่ม้า การวน Loop มันสำคัญนะ บางคนใช้ Array
ผมแค่จะบ่นครับ คืออยู่ในวงการพัฒนาซอฟต์แวร์มา 10 กว่าปีแล้ว เพิ่งจะเจออะไรแปลก ๆ แบบนี้ เรื่องของเรื่องก็คือโฮสติ้งที่ผมเช่าอยู่นี่แหล่ะ มันมักจะมีอะไรแปลก ๆ เสมอ ดูเหมือนโฮสติ้งเมืองไทยจะมีอะไรแปลก ๆ บ่อย เอ หรือว่าผมจะแปลกเองวะเนี่ย ปัญหาที่ผมเจอคือ มันไม่รับคำสั่ง SQL ของผมครับ ซึ่งมันเป็นคำสั่งที่เรียบง่ายมาก ดังต่อไปนี้ select member_id, name
เมื่อปี พ.ศ. 2540 ผมเคยมีโอกาสไปสอบสัมภาษณ์ตำแหน่งโปรแกรมเมอร์ที่บริษัทแห่งหนึ่งครับ ปัจจุบันบริษัทดังกล่าวก็ยังตั้งอยู่ที่เดิม คือเป็นตึกที่อยู่ตรงข้ามกับกองบัญชาการตำรวจตระเวนชายแดน ถนนพหลโยธิน ตึกดังกล่าวมีหมายเลขเรียกซะด้วย คือเป็นหมายเลขหนึ่ง (แบบนี้แสดงว่ามีตึกแบบนี้อีก เป็นหมายเลขสองและสามตามลำดับ) มันเป็นการสอบสัมภาษณ์ที่แย่หน่อย เพราะผมไม่เคยรู้เลยว่าวันนั้นผมต้องสอบปฏิบัติด้วย คือผู้จัดการแผนกเขาให้ผมเขียนภาษาซีเพื่อเลียนแบบคำสั่ง printf ครับ สำหรับคนที่ไม่รู้คอมพิวเตอร์ printf คือคำสั่งเพื่อสั่งให้คอมพิวเตอร์พิมพ์ข้อความออกมาที่จอภาพ โดยสามารถกำหนดรูปแบบของข้อความที่จะแสดงผลได้ ว่าจะให้ข้อความเยื้องแค่ไหน, จะให้ตัวเลขแสดงผลเป็นทศนิยมกี่ตำแหน่ง เป็นต้น แถมให้เขียนบน Unix
พอดีผู้ร่วมงานซึ่งอยู่ในระดับที่อาวุโสกว่ามาโม้เรื่องไปเที่ยวมาเก๊าให้ผมฟังครับ คือเธอไปเที่ยวช่วงสงกรานต์นั่นแหล่ะ ช่วงที่ผมต้องทำงานงก ๆ อยู่ที่ทำงานอ่ะ เธอเล่าให้ฟังหลายเรื่อง แต่มีอยู่เรื่องที่ผมสะดุดสนใจพอสมควร นั่นก็คือเรื่อง “บ่อนการพนัน” ที่มาเก๊า คือเธอก็เล่าไปเรื่อย ๆ อ่ะนะ ตอนแรกผมสนใจไต่ถามเธอถึงการจัดวาง “ฮวงจุ้ย” ของบ่อน ว่ามีการจัดวางยังไงบ้าง เพราะเคยรู้มาว่าบ่อนการพนันจะมีการจัดวาง “ฮวงจุ้ย” ให้ข่มคนมาเล่น ให้แพ้พ่ายพินาศไป อะไรประมาณนั้น พอฟังไปเรื่อย ๆ เธอก็เล่าว่าบ่อนที่เธอไป
ผมเขียนโปรแกรมได้ไม่กี่ภาษา ที่เขียนเป็นก็มี Delphi, Borland C++ Builder, Java Standard Edition และ PHP ที่เหลือไม่เคยคิดจะหัดเลย และตอนนี้ก็ไม่มีเวลาจะหัดซะแล้วด้วย แต่ก็รู้สึกว่าแค่นี้ก็มากพอที่จะผลิตซอฟต์แวร์ดี ๆ ได้หลาย ๆ ตัวแล้วล่ะ [tags]delphi, borland c++ builder, java, php,คอมพิวเตอร์,ซอฟต์แวร์,การสร้างซอฟต์แวร์[/tags]
ตอนที่ผมเรียนวิชา computer security ท่านอาจารย์เคยบอกอย่างนึงว่า … ระบบสืบค้นที่ดีนั้น ไม่ควรอนุญาติให้ผู้ใช้สามารถสืบค้นได้ผลลัพท์ที่เจาะจงเกินไป เช่นสืบค้นแล้วได้ผลลัพท์ออกมาเพียง 1 – 5 ผลลัพท์ แต่ควรจะสืบค้นออกมาแล้วได้ผลลัพท์เกินกว่า 10 ผลลัพท์ขึ้นไป เพราะว่ายิ่งได้ผลลัพท์ออกมาน้อยเท่าไหร่ แสดงว่าคีย์เวิรด์และเงื่อนไขในการค้นหานั้น ๆ มีความเป็น unique มากจนผิดสังเกตุ มันไม่ปลอดภัย ผมเลยถามท่านอาจารย์กลับไปว่า แล้วถ้าค้นออกมาแล้วได้ผลลัพท์เพียงแค่ 1
ผมเคยดิ้นรนไม่ยอมแพ้ บอกกับตัวเองตลอดว่า … ไม่เป็นโปรแกรมเมอร์ไปตลอดหรอก จะต้องไต่ขึ้นไปเป็นนักวิเคราะห์ระบบให้ได้ เรื่องอะไรจะต้องมาเขียนโปรแกรมคอมพิวเตอร์ตามคำสั่งของนักวิเคราะห์ระบบ? ภายหลังผมได้เป็นนักวิเคราะห์ระบบ ผมพึมพำกับตัวเองต่อไปว่า … ไม่เป็นนักวิเคราะห์ระบบไปตลอดหรอก จะต้องไต่ขึ้นไปเป็นระดับจัดการให้ได้ เรื่องอะไรจะต้องมานั่งวิเคราะห์ระบบ ทำ functional specification ตามคำสั่งของพวกระดับจัดการด้วยล่ะ? ตอนนี้ผมกลายเป็นระดับจัดการชี้นำไปแล้ว ผมพึมพำกับตัวเองว่า … เหนือเราขึ้นไป ยังมีระดับนโยบายอีก(ว่ะ) นี่ต้องไต่ไปถึงเมื่อไหร่(วะ)เนี่ย? หันกลับมามองรอบ ๆ ตัวในที่ทำงาน
คิดว่าโปรแกรมเมอร์หลายคนคงลืมกันไปแล้ว แต่จะขอย้ำอีกครั้งนึง เพื่อจะได้เกิดอรรถประโยชน์สูงสุด เขียนโค้ดให้น้อย ๆ แต่ให้ผลลัพท์ที่มาก ๆ เขียนโค้ดให้ง่าย ๆ ชาวบ้านจะได้ช่วยแก้ไขได้ เขียนโค้ดให้ซับซ้อน แต่อ่านแล้วสบายตา อย่าใส่ค่าคงที่ไว้ในโค้ด จงไปใส่ไว้ในฐานข้อมูลแทน อย่าเขียนโค้ดแบบระบบปิด จงเขียนโค้ดแบบระบบเปิด อย่าบ้าพลัง เพราะพลังมันจะย้อนมากระแทกตัวเอง [tags]คอมพิวเตอร์,ปรัชญา,การสร้างซอฟต์แวร์,ซอฟต์แวร์,โปรแกรม[/tags]