วันนี้รวบรวมเรื่องสั้นหลายๆเรื่อง ที่เคยเขียนไว้ใน facebook มาลงในบล็อคกันต่อ ประเด็นคือว่าพอเขียนไว้ใน facebook แล้วกลับไม่สามารถค้นหาจาก google ได้ หรือแม้แต่ระบบค้นหาของ facebook เองก็กลับหาสิ่งที่เราเขียนไว้ไม่เจอ งง กับมันจริงๆ โดยเรื่องที่เอามาลงก็มี การตั้งชื่อเวอร์ชั่นในวงรอบการพัฒนาซอฟต์แวร์ , จากความแตกต่างของระบบปฏิบัติการ สู่ความแตกต่างของขนาดหน้าจอ , Web Browser Engine (เบื่องหลังการทำงานของ Web Browser แต่ละตัว) , JavaScript Engine (พลังขับเคลือน JavaScript บน Browser) และ Cloud Storage
# การตั้งชื่อเวอร์ชั่นในวงรอบการพัฒนาซอฟต์แวร์
จะสังเกตได้ว่าเวลาเราทำการติดตั้งโปรแกรมต่างๆ จะเห็นว่าบางตัวก็จะมีเวอร์ชั่นเป็น alpha หรือไม่ก็ beta ว่าแต่ว่าจริงๆแล้วมันมีชื่อเรียกสักกี่ตัวกันแน่มาดูกัน (เรียงลำดับจากตั้งแต่เริ่มพัฒนาจนถึงสำเร็จเป็นซอฟต์แวร์เวอร์ชั่นเต็ม)
1. Pre-alpha
//เป็นเวอร์ชั่นแรกสุดของซอฟต์แวร์ จำกัดกลุ่มผู้ที่ได้ทดสอบอยู่แค่เฉพาะนักพัฒนาเท่านั้น
2. Alpha
// เริ่มเป็นรูปเป็นร่าง ทุกฟังค์ชันในซอฟต์แวร์สามารถที่จะทำงานได้ แต่มีผิดพลาดบ้างเป็นธรรมดา
3. Beta
// ได้รับการแก้ไขข้อผิดพลาดต่างๆที่พบมาแล้ว และทำการแจกจ่ายให้ผู้ใช้บางกลุ่มได้ทำการทดสอบ
4. Release Candidate (RC)
// แก้ไขข้อผิดพลาดที่พบจากผู้ใช้ในเวอร์ชั่น Beta และเตรียมนำไปออกเป็นเวอร์ชัน่จริง (ปกติแล้วในเวอร์ชั่นนี้จะถูกนำไปออกเป็นเวอร์ชั่นจริงได้เลย โดยที่ไม่มีการแก้ไขหรือปรับปรุงอะไรอีก)
5. RTM (Release To Manufacturing)
// ซอฟต์แวร์เวอร์ชั้นสมบูณที่จะถูกส่งให้กับโรงงานไปติดตั้งลงในเครื่อง (ในกรณีนี้ก็เช่น Windows ที่จะมีเวอร์ชั่น RTM ที่จะส่งให้กับ DELL , HP และผู้ผลิตรายอื่นๆนำไปติดตั้ง)
6. General Availability (GA)
// เวอร์ชั่นสำหรับผู้ใช้ทั่วไป
บางเวอร์ชั่นอาจจะมีหรือไม่มีก็ได้ หรือว่าจะมีเวอร์ชั่นย่อยกว่านี้มาแทรกในส่วนใดส่วนหนึงก็ได้เช่นกัน
# จากความแตกต่างของระบบปฏิบัติการ สู่ความแตกต่างของขนาดหน้าจอ
ปัญหาที่พบเรื่อยมาของการพัฒนาโปรแกรมคือการทำให้มันสามารถทำงานข้าม platform ซึ่งถ้าเป็นการเขียนโปรแกรมแบบ native ก็จะต้องทำการ compile โปรแกรมใหม่สำหรับแต่ละ platform อาจจะต้องมีการแก้ไข code ในแต่ละ platform ก่อนที่จะทำการ compile ขึ้นอยู่กับโปรแกรมซึ่งก็สร้างความลำบากให้กับคนพัฒนาได้มากทีเดียว
การแก้ปัญหาเรื่องนี้ตอบได้ด้วยแนวคิดของ Java ที่มีคำขวัญว่า “Write One Run Anywhere” ที่สามารถ compile โปรแกรมทีเดียวและสามารถนำไปรันบนระบบปฏิบัติการอะไรก็ได้ จากนั้นก็มี .NET ที่ Microsoft ก็ตั้งใจทำมาให้เหมือน (ถึงจะได้ไม่เหมือนก็ตามที)
แต่ในยุคที่อินเทอร์เน็ตเฟื่องฟูและถูกใช้อย่างแพร่หลาย พร้อมทั้ง HTML5 ที่กำลังจะมาในไม่ช้า หลายๆโปรแกรมได้ถูกพัฒนาให้ทำงานอยู่บนอินเทอร์เน็ต ซึ่งก็ช่วยเรืองการที่จะต้องติดตั่งโปรแกรมบนเครือง client ไปได้มาก และสามารถที่จะทำงานได้กับทุกๆ ระบบปฏิบัติการซะด้วย ขอแค่มี Web browser ก็เพียงพอ
เมื่อเรื่องความแตกต่างของระบบปฏิบัติการดูเหมือนจะลดความสำคัญลงไป เรากลับพบว่าเราเจอปัญหาใหม่ในเรื่อง ขนาดของหน้าจอแสดงผล ยิ่งมีอุปกรณ์ที่สามารถเข้าใช้งานอินเทอร์เน็ตได้หลากหลายชนิด หน้าจอแสดงผลก็มีหลากหลายขนาดตามไปด้วย เป็นการยากมากที่เราจะออกแบบ interface แบบเดียวแล้วให้สามารถแสดงผลและสามารถใช้งานได้อย่างมีประสิทธิภาพกับทุกๆหน้าจอ
# Web Browser Engine (เบื่องหลังการทำงานของ Web Browser แต่ละตัว)
– FireFox ใช้ Gecko
http://en.wikipedia.org/wiki/Gecko_%28layout_engine%29
– Internet Explorer ใช้ Trident
http://en.wikipedia.org/wiki/Trident_%28layout_engine%29
– Opera ใช้ Presto
http://en.wikipedia.org/wiki/Presto_%28layout_engine%29
– Safari และ Chrome ใช้ WebKit
http://en.wikipedia.org/wiki/WebKit
ข้อควร ทราบ WebKit ก็สร้างมาจาก KHTML อีกทีนะจ้ะ http://en.wikipedia.org/wiki/KHTML
# JavaScript Engine (พลังขับเคลือน JavaScript บน Browser)
Mozilla
– TraceMonkey ใช้บน Firefox 3.5
http://en.wikipedia.org/wiki/TraceMonkey
– JägerMonkey จะใช้บน Firefox 4 //ได้ข่าวว่าแรงงงงง
http://en.wikipedia.org/wiki/J%C3%A4gerMonkey
Google Chrome
– V8 ใช้บน Google Chrome //นับว่าแรงที่สุดในตอนนี้
http://en.wikipedia.org/wiki/V8_(JavaScript_engine)
Microsoft
– Chakra จะใช้บน Internet Explorer 9 //ผลทดสอบมาแรงมาก
http://en.wikipedia.org/wiki/Chakra_(JavaScript_engine)
Opera
– Carakan ใช้อยู่บน Opera 10.50 //ยังอยู่ได้อีก
http://en.wikipedia.org/wiki/Presto_(layout_engine)#JavaScript_engines
Apple
– Nitro ใช้บน Safari //ไม่มีความเห็น
http://en.wikipedia.org/wiki/Safari_4
เพิ่มเติม : http://en.wikipedia.org/wiki/JavaScript_engine
# Cloud Storage
Cloud Storage คือบริการเก็บข้อมูลบนกลุ่มเมฆ ส่วนใหญ่ก็จะเป็นการเก็บไฟล์ต่างๆ บางแห่งมีบริการสตรีมเพลงให้ด้วย ทีนี้หลายคนที่ไม่เคยใช้งานก็สงสัยว่าแล้วจำเป็นอะไรที่จะต้องเอาไฟล์ต่างๆไปไว้บนนั้นด้วย เอาไว้ในเครืองเราก็ได้ ซึ่งมันก็จริงอยู่ แต่ถ้าหากว่าใครที่เคยเจอกับปัญหาเวลาฮาร์ดดิสพังและไม่สามารถกู้ข้อมูลกลับมาได้อย่างผมแล้วหละก็จะเห็นว่ามันสำคัญมาก ทุกวันนี้ผมก็เลยต้องมีข้อมูลสำรองไว้ในที่ต่างๆ จำนวน 3 ชุด คือ Harddisk ในเครื่อง 1 ชุด , External Harddisk 1 ชุด , และ Cloud Storage 1 ชุด ทีนี้มาดูกันต่อว่ามี Cloud Storage ที่ไหนน่าใช้บ้าง เลือกใช้กันเองตามกำลังทรัพย์
– Dropbox
https://www.dropbox.com/
ได้พื้นที่ฟรี 2GB และจ่ายเงินสำหรับ 50GB ในราคา 99$/ปี
– Amazon Cloud Drive
https://www.amazon.com/clouddrive/
ได้พื้นที่ฟรี 5GB และจ่ายเงินสำหรับ 20GB ในราคา 20$/ปี
– Ubuntu One
https://one.ubuntu.com/
ได้พื้นที่ฟรี 2GB และจ่ายเงินสำหรับ 20GB ในราคา 29.99$/ปี
– Windows Live SkyDrive
http://explore.live.com/windows-live-skydrive
ฟรี 25GB ซื้อเพิ่มได้หรือเปล่าไม่รู้