วันอาทิตย์ที่ 16 สิงหาคม พ.ศ. 2552
Groovy (programming language)
หากเพื่อนสนใจ Groovy แล้วอยากลองเขียน สามารถ โหลด ได้ที่ http://groovy.codehaus.org/Download
ทำไมคุณและทีมงานถึงได้สร้าง Groovy ขึ้นมา? อะไรเป็นแรงบันดาลใจของคุณ? แพลตฟอร์ม/ภาษาโปรแกรมเดิมที่มีนั้นไม่เพียงพอต่อความต้องการงั้นหรือ?
Groovy เกิดขึ้นเพราะเราอีดอัดกับข้อจำกัดของจาวา หลังจากที่คุณได้ลองเขียน Python, Smalltalk หรือ Ruby แล้ว คุณจะพบว่ามีฟีเจอร์หลายอย่างที่เราอยากให้มีในจาวาด้วย
Groovy นำฟีเจอร์มาจากภาษาเหล่านี้ โดยเราต้องการใส่ความเป็นไดนามิกลงไปในภาษาแบบจาวา
ทำไมถึงควรใช้ Groovy?
Groovy จะช่วยให้การพัฒนาโปรแกรมง่ายขึ้น มีประสิทธิภาพมากขึ้นได้อย่างไร?
ปัญหาอย่างแรกสุดของนักพัฒนาคือ มักจะเสียเวลาไปกับการอ่านโค้ดเก่า ไม่ว่าจะเป็นของเราเองหรือโค้ดของคนอื่น ซึ่งไวยากรณ์ของ Groovy ถูกออกแบบมาเพื่อให้อ่านง่าย และเข้าใจได้ตรงกัน (concise) เพื่อให้การดูแลโค้ดเดิมทำได้ง่ายขึ้นมาก
ส่วน Grails เป็นเฟรมเวิร์คที่กำหนดข้อตกลงหรือ convention มาให้คุณสำเร็จ ไม่ต้องเสียเวลามาสนใจการติดตั้งหรือปรับแต่งให้โค้ดแต่ละส่วนทำงานด้วยกัน ได้ แล้วเอาเวลาตรงนี้ไปใช้พัฒนาฟีเจอร์แทนจะดีกว่า
นอกจากนี้ วงรอบการพัฒนาของ Grails ยังช่วยให้คุณเห็นการเปลี่ยนแปลงทันที โดยไม่ต้อง deploy ใหม่ทุกครั้ง ซึ่งเป็นผลมาจากระบบ reload ของ Grails ที่ค่อนข้างฉลาด
Groovy กับ Grails จะมาแทนการเขียนจาวาแบบเดิมหรือเปล่า?
เราไม่เคยคิดจะมาแทนที่การเขียนจาวาแบบเดิม แต่เราต้องการขยายความสามารถของจาวาออกไป อยากให้มองว่า Groovy เป็นส่วนเติมเต็มของจาวามากกว่า จาวาจะยังอยู่แบบนี้ไปอีกนาน จุดหมายของเราคือให้ Groovy ใช้งานเข้ากับจาวาได้มากที่สุด ส่วนการจะใช้ตัวไหน ก็ขอให้ผู้ใช้งานเป็นคนตัดสินใจดีกว่า
สำหรับคนที่เขียนจาวาหรือภาษาอื่นๆ เป็นอยู่แล้ว จะหัด Groovy/Grails ได้ยากง่ายเพียงไร
ถ้าเขียนจาวาเป็นอยู่แล้ว จะหัด Groovy/Grails ได้ง่ายพอสมควร เพราะไวยากรณ์ของ Groovy นั้นนำมาจาก Java 5 ซะเยอะ คลาสส่วนใหญ่ในจาวาที่คุณเคยใช้ก็ใช้ได้ใน Groovy เกือบทั้งหมด
ส่วน Grails นั้น รับรองว่านักพัฒนาเว็บจะติดใจใน convention ของตัวเฟรมเวิร์ค และจะรู้สึกว่าทำไมเราอดทนใช้เฟรมเวิร์คจาวาแบบเดิมๆ มาตั้งนานนะ ;-)
Groovy/Grails ทำทุกอย่างที่จาวาทำได้หรือเปล่า
ใช่เลย ไม่มีอะไรที่คุณทำใน Groovy/Grails ไม่ได้
เอา Groovy ไปใช้กับ JavaFX ได้หรือเปล่า? ถ้าใช้ได้ มันจะดีแค่ไหน?
ผมคิดว่ามีพรีเซนเตชันเรื่องนี้ในงาน JavaOne 2008 แต่จำรายละเอียดไม่ได้
แต่โดยส่วนตัวแล้ว ผมคิดว่าไม่น่าจะมีปัญหาอะไรเป็นพิเศษในการใช้ Groovy กับ JavaFX ส่วนคำถามว่ามันจะใช้งานได้ดีแค่ไหน อันนี้ผมไม่ทราบ
ผมอยากแนะนำให้ลองดูโครงการ Griffon ซึ่งเป็นการนำ Groovy มาใช้พัฒนา RIA โดยไม่ผ่าน JavaFX
ผมคิดว่าผู้ใช้ Groovy ส่วนใหญ่มาจากคนที่เขียนจาวาอยู่ก่อน มีคนใช้ Groovy ที่โตมาจากภาษาอื่นๆ (เช่น .NET) เยอะแค่ไหน?
ผมเชื่อแบบเดียวกันว่าคนเขียน Groovy ส่วนมากมาจากจาวา ส่วนคนที่โตมาจากภาษาอื่นนั้นมีน้อยมาก แต่ตอบเป็นตัวเลขจริงๆ คงจะยาก
ความน่าเชื่อถือของ Groovy
อยากให้คุณช่วยยกตัวอย่างการใช้ Groovy ที่ดังๆ
นอกจากนำ Groovy ไปใช้สร้างเว็บแอพพลิเคชันแล้ว ยังสามารถเอา Groovy ไปใช้ในงานอื่นๆ อย่างมือถือหรือ RIA ได้หรือเปล่า?
ผมคิดว่าคุณหมายถึงการเอา Groovy ไปใช้ในงานอื่นที่ไม่ใช่ Grails
Groovy นั้นใช้ความสามารถบางส่วนของ JDK รุ่นใหญ่ ทำให้มันไม่สามารถเอาไปรันบนแพลตฟอร์มมือถืออย่าง Java ME ได้ แต่ว่า Groovy นั้นถูกนำไปใช้ในงานอื่นๆ มากมาย เช่น นำไปเขีนนปลั๊กอินภายในระบบ Wiki (http://xwiki.org)
อีกตัวอ่างคือพอร์ทัล eXo Platform ซึ่งใช้ Groovy เขียนเทมเพลตสำหรับ views ของพอร์ทัล โครงการนี้มีจำนวนโค้ดภาษา Groovy ระดับล้านบรรทัด
นอกจากนี้ยังมีเครื่องมือสำหรับทดสอบเว็บเซอร์วิสชื่อ SoapUI ซึ่งสามารถเขียนเงื่อนไขการทดสอบด้วยสคริปต์ Groovy ได้
Groovy ยังสามารถนำไปใช้งานกับ Spring ได้ คุณสามารถใช้งาน Plain Old Java Object (POJO) กับ Plain Old Groovy Objects (POGO) เข้าด้วยกันได้ สรุปว่า Groovy มีอยู่ทั่วไปหมดล่ะ
คุณคิดว่าอีกนานแค่ไหน Groovy/Grails จึงจะได้รับการยอมรับจากองค์กรขนาดใหญ่ ในการพัฒนาแอพพลิเคชันที่สำคัญมากๆ?
จริงๆ มันถูกยอมรับแล้วนะ!
บริษัทขนาดใหญ่หลายแห่งได้ใช้ Groovy/Grails สำหรับงานสำคัญๆ อย่างพอร์ทัลที่มีคนเข้าจำนวนมาก ตามที่ผมได้ยกตัวอย่างไปแล้ว
ตัวอย่างของ Groovy นั้นหาดูได้ยากกว่า Grails เพราะมีโอกาสที่มันจะถูกใช้ในงานอื่นนอกจากเว็บ เท่าที่ผมรู้ กระทรวงยุติธรรมของฝรั่งเศสใช้ Groovy เป็นเครื่องมือพัฒนาแบบ Model-driven architecture โดยใช้อ่านโครงสร้างโมเดลจาก UML เพื่อมาสร้างแอพพลิเคชันใน Struts
อีกตัวอย่างคือสถาบันวิจัยโรคมะเร็งของสหรัฐ ใช้ Groovy ในงานแบบแบตช์เพื่อตรวจเช็คความถูกต้องของข้อมูลผู้ป่วยหลักหมื่น นอกจากนี้ยังมีบริษัทประกัน Mutual of Omaha ซึ่งติดอันดับ Fortune 500 ใช้ Groovy ในแอพพลิเคชันคำนวณความเสี่ยงของลูกค้าที่ทำประกัน
จริงๆ ยังมีอีกมากซึ่งถ้าให้ผมเล่ายาวๆ ผมก็เล่าได้เรื่อยๆ เลย
สำหรับประเด็นเรื่องการดูแลรักษาโค้ด (maintainability) และความสามารถในการขยาย (scalability) ให้เทียบ Groovy/Grails กับภาษาอื่นๆ อย่าง Python หรือ PHP แล้วเป็นอย่างไร?
บริษัท G2One และทีมพัฒนา Groovy ใส่ใจในประเด็นนี้มาก และพยายามพัฒนาให้ Groovy สามารถขยายตัวไปบนเครื่องระดับท็อป ในขณะเดียวกันก็ยังคงอ่านเข้าใจได้ง่าย และรักษาความง่ายในการดูแลรักษาโค้ดเอาไว้ เมื่อรวมกับเราอิงแพลตฟอร์มที่พัฒนามานานแล้วอย่างจาวา ผมคิดว่า Groovy แข่งขันกับแพลตฟอร์มหรือภาษาอื่นๆ ได้แล้วล่ะ
แล้วถ้าเป็นงานง่ายๆ ทำเร็วๆ (quick & dirty) ล่ะ Groovy สามารถใช้แทนการเขียนจาวาแบบเดิมได้แค่ไหน มีปัญหาอะไรหรือเปล่า?
ไม่ว่าจะเป็นงานใหญ่หรืองานเล็ก Groovy และ Grails ทำได้หมดนั่นล่ะ
แล้วถ้าเป็นงานระดับสำคัญๆ ในองค์กรล่ะ ใช้ Groovy แทนจาวาได้แค่ไหน?
เหมือนที่ผมตอบไปแล้วว่า ประเด็นไม่ได้อยู่ที่การเข้ามาแทนจาวา หรือกลายเป็นจาวาภาคใหม่ ถึงแม้ว่าคุณจะสามารถสร้างแอพพลิเคชันด้วย Groovy หรือ Grails โดยไม่ต้องเขียนโค้ดจาวาเลย คุณก็ควรจะมองว่า Groovy กับ Grails เป็นส่วนเติมเต็มให้กับแพลตฟอร์มจาวา เป็นเครื่องมือชิ้นใหม่ของคุณมากกว่า
คุณสามารถผสมผสานแพลตฟอร์มจาวาเดิม (ตัวภาษา, JDK, API ของ third-party) กับ Groovy และ Grails ได้อย่างมีประสิทธิภาพ
ประเด็นด้านเทคนิคของ Groovy
จากแนวคิด Convention Over Configuration ของ Spring และ Groovy คุณแก้ปัญหาเรื่องไฟล์คอนฟิกและการส่งพารามีเตอร์จำนวนมากอย่างไร?
Grails เป็นตัวอย่างที่ดีมากในการกำจัดไฟล์คอนฟิกเหล่านี้ คุณจะจำเป็นต้องใช้ไฟล์เหล่านี้ก็ในกรณีที่ต้องการปรับแต่งแอพพลิเคชันที่สร้างด้วย Grails อย่างละเอียดเท่านั้น
ข้อดีของการใช้ภาษาไดนามิกอย่าง Groovy และเฟรมเวิร์คที่เป็น agile อย่าง Grails คือคุณสามารถหาวิธีใหม่ๆ ในการปฏิบัติตาม convention ได้ มันเลยส่งผลให้การตั้งค่าปรับแต่งแอพพลิเคชันนั้นง่ายขึ้นมาก
Java Specification Request (JSR)
นอกเหนือจากการที่ Groovy มาเป็นมาตรฐาน JSR แล้ว คุณคิดว่ายังมี JSR ตัวอื่นๆ ที่จะส่งผลกับอนาคตของ Groovy อะไรอีกบ้าง?
อันที่ชัดเจนที่สุด คือ "invokeDynamic" ซึ่งจะเป็นมาตรฐานส่งผลต่อ Groovy อย่างมาก JVM นั้นเป็นเทคโนโลยีที่ดีมาก แต่ถึงแม้ว่าเราสามารถสร้างภาษาแบบไดนามิกบน JVM ได้สำเร็จ แนวทางของ JVM ก็ยังเหมาะสำหรับภาษาแบบสเตติกอย่างจาวามากกว่า
การสร้าง calling dynamic method ไม่ใช่เรื่องง่าย และเราต้องทุ่มทรัพยากรลงไปจำนวนมากเพื่อสร้างสิ่งนี้ใน JVM
ดังนั้นถ้ามาตรฐานนี้เสร็จ (หวังว่าจะทัน JDK 7) คำสั่งใหม่ๆ ในไบต์โค้ดที่เกิดขึ้นจากมาตรฐานนี้ จะช่วยให้คนพัฒนาภาษาไดนามิกอย่างเรา ใช้งาน JVM ได้อย่างมีประสิทธิภาพขึ้นอีกมาก
คุณคิดว่า Groovy จะมีอิทธิพลต่อมาตรฐาน JSR ตัวอื่นๆ หรือไม่? ตัวอย่างเช่น เอา Groovy ไปจัดการระบบการตั้งค่าของ JSF
เราลงแรงในมาตรฐาน invokeDynamic พอสมควร มาตรฐาน JSR อันนี้จะมีผลอย่างมากต่อภาษาไดนามิกอย่าง Groovy
ส่วนมาตรฐานตัวอื่นๆ นั้นตอบยาก ภาษาไดนามิกแบบ Groovy ช่วยเปิดมุมมองใหม่ให้กับปัญหาแบบเดิม ผมหวังว่ามันจะช่วยสร้างไอเดียให้กับโปรแกรมเมอร์จาวาทั่วโลกเช่นกัน
อนาคตของ Groovy
ผมอยากทราบว่าคุณจะขยายชุมชนของ JSR-241 (ชื่อสเปกของ Groovy) ให้เติบโตขึ้นอย่างไร ทั้งในแง่ธุรกิจและเทคนิค?
บริษัทนั้นไม่รอให้ Groovy เป็น JSR เพื่อจะใช้ Groovy ในงานระดับสำคัญๆ หรอก มีบางบริษัทเท่านั้นที่สนใจกระบวนการมาตรฐานของ JSR
การที่ Groovy เป็นมาตรฐาน JSR จะช่วยให้อุ่นใจว่า Groovy ไม่หายไปไหน และยังพัฒนาต่อไปในอนาคตเสียมากกว่า
วิสัยทัศน์ของคุณต่อ Groovy ในอีก 5 ปีข้างหน้า เป็นอย่างไร?
อีกตั้ง 5 ปีเลยเหรอ?
ทีมของเรายึดกับสภาพความเป็นจริงในปัจจุบัน เท่าที่ผมเห็นมา Groovy เป็นที่รู้จักมากขึ้นเรื่อยๆ และถูกใช้มากขึ้นเรื่อยๆ เช่นกัน Groovy จะพัฒนาโดยเน้นการสร้างนวัตกรรมใหม่ให้กับแพลตฟอร์มจาวาต่อไปเรื่อยๆ ตัวอย่างที่ผ่านมาคือ Groovy สนับสนุน closure และ property ตั้งแต่มันเริ่มพัฒนาในปี 2003 ซึ่งสมัยนั้นจาวายังไม่มีฟีเจอร์สองอย่างนี้เลย
ดังนั้นเราหวังว่าเราจะทดลองไอเดียและฟีเจอร์ใหม่ๆ ที่ช่วยให้นักพัฒนาเขียนโปรแกรมได้สนุกขึ้น มีประสิทธิภาพมากขึ้น และมีอิสระในการทดลองสิ่งใหม่ๆ รวมถึงเป็นประโยชน์ต่อลูกค้าและผู้ใช้งานมากขึ้น
วันอาทิตย์ที่ 9 สิงหาคม พ.ศ. 2552
มาไขความลับหน่วยความจำของพรินเตอร์ที่เราคุ้นเคยกัน
เป็นที่ทราบกันดีว่า ในเครื่องพิมพ์จะมีหน่วยความจำอยู่ด้วย โดยหน่วยความจำดังกล่าวจะถูกใช้ในการบันทึกข้อมูลที่ต้องการพิมพ์ก่อนส่งผ่านต่อไปยังกลไกการพิมพ์ ประเด็นคำถามก็คือ ข้อมูลดังกล่าวจะค้างอยู่ในเครื่องนานแค่ไหน แล้วมันจะถูกนำออกไปได้ หรือไม่? เพราะบางครั้งข้อมูลที่ส่งพิมพ์นั้นเป็นความลับ
นายเกาเหลาขออธิบายขั้นตอนการทำงานของเครื่องพิมพ์สักนิดหนึ่งนะครับ เมื่อคุณส่งข้อมูลเข้าไปในเครื่องพิมพ์ ข้อมูลดังกล่าวจะเข้าไปอยู่ในหน่วยความจำของเครื่องพิมพ์ จากนั้นข้อมูลจะถูกดึงออกจากหน่วยความจำเพื่อส่งไปพิมพ์ต่อไป ซึ่งบางครั้งข้อมูลที่ส่งให้พิมพ์มีมากเกินกว่าหน่วยความจำในเครื่องพิมพ์จะรับไว้ได้หมด ในกรณีนี้ เครื่องพิมพ์จะหยุดรับข้อมูลที่เกินกว่าหน่วยความจำจะรับได้ รอจนกว่าข้อมูลในหน่วยความจำก้อนแรกจะถูกพิมพ์ออกไปก่อนจากนั้นจึงโหลดข้อมูลที่เหลือเข้าไป หน่วยความจำที่อยู่ในเครื่องพิมพ์จะเป็น DRAM ชนิดเดียวกันกับหน่วยความจำระบบที่ใช้ในคอมพิวเตอร์ของเพื่อนๆ ซึ่งนั่นหมายความว่า เมื่อคุณปิดเครื่องพิมพ์ หน่วยความจำของเครื่องพิมพ์ก็จะลืมทุกสิ่งทุกอย่าง เพราะฉะนั้นไม่ต้องไปกังวลให้มากนะครับ ถ้าหากพิมพ์เอกสารลับ หลังจากพิมพ์มันออกมาแล้วก็ปิดเครื่องพิมพ์ รอสักครู่ แล้วจึงเปิดขึ้นใหม่ แค่นี้ข้อมูลที่คุณสั่งพิมพ์ก็หายไปจากหน่วยความจำของเครื่องพิมพ์แล้ว
http://technology.thaiza.com/
วันอาทิตย์ที่ 2 สิงหาคม พ.ศ. 2552
อโดบีเปิดกว้างเข้าสู่โอเพนซอร์สมากขึ้น
OSMF เปิดโอกาสให้นักพัฒนาสามารถสร้างคอมโพเนนท์มาเสริมการทำงานของตัวเล่นสื่อวี ดีโอบนพื้นฐานของ Flash อาทิ การโฆษณา หรือ การควบคุมการเล่นวีดีโอที่สามารถทำได้มากยิ่งขึ้น
TLF มีเป้าหมายที่เพิ่มความสามารถในการแสดงผลข้อความบนเว็บไซต์ โดย TLF ได้เพิ่มการสนับสนุนภาษาที่ซับซ้อน (อาทิ ภาษาจีน ญี่ปุ่น เกาหลี รวมถึงภาษาไทยด้วย) การแสดงข้อความจากสองทิศทาง (ซ้ายไปขวาและขวาไปซ้าย) การสนับสนุนการเลือกและแก้ไขข้อความในหลายคอลัมน์ เป็นต้น ลองดูตัวอย่างได้จาก Adobe Labs สำหรับ TLF จะทำงานบน Flash Player 10 และ AIR 1.5
ใน ครั้งนี้ถือเป็นการเปิดเทคโนโลยี Flash เข้าสู่โลกของโอเพนซอร์สมากขึ้น หลังจากที่มีหลายคนอยากที่จะให้อโดบีเปิดกว้างเทคโนโลยี Flash มากกว่าที่เป็นอยู่มาได้สักพักหนึ่งแล้ว
http://technology.thaiza.com/
เอเอ็มดีส่งโพรเซสเซอร์ประหยัดไฟลงตลาด
ผู้ สื่อข่าวรายงานว่า เมื่อเร็วๆ นี้ บริษัทเอเอ็มดี ได้ประกาศเปิดตัว AMD Athlon II X2 dual-core 245 และ 240 โพรเซสเซอร์ใหม่ล่าสุด สำหรับคอมพิวเตอร์พีซีเดสก์ท็อประดับเมนสตรีม ที่ผลิตด้วยเทคโนโลยี 45 นาโนเมตร และออกวางจำหน่ายในราคาต่ำกว่า 2,300 บาท (ประมาณ 67 เหรียญสหรัฐ) โดยโพรเซสเซอร์ใหม่ทั้ง 2 รุ่นจะแสดงพลังออกมาเต็มที่ เมื่อใช้ร่วมกับชิปเซ็ตของเอเอ็มดี และพร้อมสำหรับการใช้งานประจำวัน รวมถึงงานมัลติทาสกิ้ง ที่สำคัญคือทั้งเงียบและเย็น
รายงานข่าว แจ้งว่า เอเอ็มดีเห็นว่า ภายใต้ภาวะเศรษฐกิจในขณะนี้ ผู้บริโภคทั่วโลกต่างมองหาผลิตภัณฑ์และเทคโนโลยีที่ให้ความคุ้มค่าสูงสุด ต้องมีสมรรถนะสูงพอสำหรับการใช้งานในชีวิตประจำวัน และด้วย AMD Athlon II X2 dual-core 245 และ 240 ผู้ผลิตคอมพิวเตอร์สามารถผลิตเครื่องพีซีที่พร้อมตอบสนองทุกๆ ความต้องการของผู้บริโภค ทั้งเรื่องสมรรถนะ ความประหยัดพลังงาน และราคา ให้ผู้ใช้สนุกกับโลกดิจิตอลได้อย่างสะดวก และรวดเร็วโดยไม่ต้องกังวลใดๆ ดังนั้นโพรเซสเซอร์ AMD Athlon II X2 dual-core 245 และ 240 จึงถูกพัฒนาขึ้นท่ามกลางการเติบโตอย่างรวดเร็วของตลาดเมนสตรีม
รายงาน ข่าวแจ้งอีกว่า เอเอ็มดีมีองความต้องการของผู้บริโภคว่า สิ่งที่พวกเขาต้องการ คือ เครื่องคอมพิวเตอร์ที่มากด้วยความสามารถ มีสมรรถนะดีที่สุดเทียบกับผลิตภัณฑ์ในระดับเดียวกัน ในราคาที่คุ้มค่า มีความพร้อมสำหรับการใช้งานที่บ้านไม่ว่าจะใช้ทำงานหรือเล่นเกมก็ตาม ใครที่กำลังมองหาประสบการณ์ในโลกดิจิตอลที่ดีกว่า หรือสมรรถนะที่ดีกว่าสำหรับงานมัลติทาสก์ ดังนั้นโพรเซสเซอร์ใหม่จึงให้พวกเขาได้มากกว่าที่พวกเขาต้องการ
รายงาน ข่าวแจ้งด้วยว่า สำหรับโพรเซสเซอร์ AMD Athlon II จากเอเอ็มดีมาพร้อมสมรรถนะสำหรับงานมัลติทาสก์ เช่น การสร้าง เรนเดอร์ ส่งผ่าน และแชร์มัลมีเดียคอนเทนท์ และเมื่อทำงานร่วมกับ ATI Radeon HD และชิปเซ็ตของเอเอ็มดีแล้ว สิ่งที่ผู้ใช้จะได้รับก็คือประสบการณ์การรับชมภาพและเสียงที่เหนือกว่า, การประมวลผลแบบมัลติทาสก์ที่ลื่นไหล ที่มาพร้อมกับประสิทธิภาพ และสมรรถนะด้านดิจิตอลมีเดีย
http://technology.thaiza.com/
จูนิเปอร์-ไอบีเอ็มร่วมเจาะลูกค้าดาต้าเซ็นเตอร์
รายงาน ข่าวแจ้งว่า การเพิ่มเติมพอร์ตโฟลิโอผลิตภัณฑ์จากจูนิเปอร์ฯ เข้าไปในพอร์ตโฟลิโอผลิตภัณฑ์ระบบเครือข่ายดาต้าเซ็นเตอร์ของไอบีเอ็ม จะช่วยกลุ่มลูกค้าผู้ใช้งานมีตัวเลือกโซลูชั่นระบบเครือข่ายที่มีคุณภาพ ประสิทธิภาพสูง และยังช่วยให้ทั้ง 2 ยักษ์ใหญ่สามารถผลักดันวิสัยทัศน์ร่วมกันในเรื่อง เศรษฐศาสตร์ระบบเครือข่ายและดาต้าเซ็นเตอร์ ให้บรรลุผลด้วยการนำเสนอโซลูชั่นที่ช่วยลดค่าใช้จ่ายได้อย่างชัดเจน พัฒนาคุณภาพศักยภาพการให้บริการลูกค้า รวมทั้งเพิ่มขีดความสามารถ ในการบริหารจัดการความเสี่ยงได้อย่างคล่องตัว และได้ประสิทธิภาพยิ่งขึ้น
นาย จิม คอมฟอร์ต รองประธานบริษัทไอบีเอ็ม กลุ่มผลิตภัณฑ์เอ็นเตอร์ไพรซ์ กล่าวว่า เทคโนโลยีด้านอีเธอร์เน็ตของจูนิเปอร์ที่เสริมเข้ามาในกลุ่มผลิตภัณฑ์ดาต้า เซ็นเตอร์ของเรานั้น ทำให้ไอบีเอ็มมีความผลิตภัณฑ์ที่หลากหลายรับความต้องการของลูกค้าได้ครบถ้วน ลูกค้าจึงมีความคล่องตัวมากขึ้นในการคัดสรรโซลูชั่นให้เครือข่ายของตัวเอง ให้ได้ตรงตามการใช้งานที่เปลี่ยนแปลงตามสภาพแวดล้อมทางไอทีขององค์กรได้ดี กว่าเดิม
รองประธานบริษัทไอบีเอ็มฯ กล่าวต่อว่า ข้อตกลงความร่วมมือด้านการทำ OEM กับจูนิเปอร์ เน็ตเวิร์คส์นี้ ช่วยสนับสนุนแนวคิดริเริ่มของไอบีเอ็มเรื่องระบบเครือข่ายสำหรับดาต้าเซ็น เตอร์ ที่ว่าโครงสร้างเครือข่ายควรต้องมีความพร้อมที่จะรับการปรับขนาดได้ ให้ความเสถียรในระดับเดียวกับการใช้งานของกลุ่มแคร์ริเออร์ แต่มีระบบการบริหารจัดการที่ชัดเจน ตรงไปตรงมา ไม่ซับซ้อนถึงจะช่วยเร่งการที่ลูกค้าจะนำไปใช้งานไม่ว่าจะเป็นส่วนที่เกี่ยว กับแอพลิเคชัน หรือ บริการที่ทำเวอร์ชวลไลเซชันได้ โดยทั้งหมดนี้เป็นการเพิ่มมูลค่าของระบบเครือข่ายขององค์กรได้เป็นอย่างดี
ด้าน นายไฮเทช ชีธ รองประธานอาวุโส และผู้จัดการทั่วไป กลุ่มธุรกิจอีเธอร์เน็ตแพลตฟอร์ม จูนิเปอร์ เน็ตเวิร์คส์ กล่าวถึงข้อตกลงร่วมกับไอบีเอ็มว่า ข้อตกลงความร่วมมือนี้เป็นเครื่องหมายแสดงให้เห็นถึงความสัมพันธ์ที่แนบแน่น ระหว่างจูนิเปอร์ และไอบีเอ็ม อันเป็นส่วนหนึ่งของกลยุทธ์สำคัญในการทำตลาดสำหรับจูนิเปอร์ ในการนำเสนอระบบเครือข่ายที่สื่อสารด้วยความเร็ว เสถียร ปลอดภัย บริหารจัดการง่ายนั้น เข้ากับแนวคิดริเริ่ม ด้านโครงสร้างระบบเครือข่ายแบบไดนามิกของทางไอบีเอ็มพอดิบพอดี เพื่อเป็นการให้ความช่วยเหลือแก่ลูกค้าที่ต้องการเร่งอัตราการเติบโต และพัฒนาการทางธุรกิจของตัวเอง ภายใต้กรอบค่าใช้จ่ายที่ให้ประสิทธิภาพคุ้มค่ากับที่จ่ายไป รวมทั้งประหยัดลดค่าใช้จ่ายด้านอื่นๆ ลง”
ส่วน นายมาร์ค ฟาบบี รองประธานบริษัทวิจัย บริษัทการ์ทเนอร์ กล่าวถึงข้อตกลงความร่วมมือว่า องค์กรขนาดใหญ่ในขณะนี้ ต้องสร้างสมดุลระหว่างงบประมาณด้านไอที การรองรับความต้องการใช้งานของผู้ใช้งานที่เพิ่มจำนวนขึ้นรวดเร็ว เพิ่มความซับซ้อนบนเครือข่าย และการแข่งขันทางการตลาด ซึ่งหากได้มีตัวเลือกโซลูชั่นสำหรับดาต้าเซ็นเตอร์ที่หลากหลายมากขึ้นก็จะ เปิดให้องค์กรขนาดใหญ่ พัฒนาโครงสร้างเครือข่ายดาต้าเซ็นเตอร์ของตัวเอง ให้มีประสิทธิภาพและสนองตอบการปฏิบัติงาน ได้ว่องไวกว่าเดิมได้ง่ายยิ่งขึ้น อีกยังประโยชน์ให้แก่ผู้ใช้ได้ใช้โซลูชั่นแบบเปิด ก้าวหน้า และมาจากแหล่งเทคโนโลยีที่เชื่อถือได้อีกด้วย
http://technology.thaiza.com/
ผู้ใช้ในยุโรปเลือกใช้เบราว์เซอร์ใน Windows 7 ได้
แม้ ว่าวินโดวส์เวอร์ชั่นนี้จะมี IE ติดตั้งให้อยู่แล้วก็ตาม แต่ผู้ใช้เองจะสามารถที่จะเลือกระงับการใช้งานได้ ส่วนผู้ผลิตคอมพิวเตอร์เองก็จะสามารถเลือกที่จะติดตั้งเว็บเบราว์เซอร์อื่น ๆ ใดก็ได้ตามที่คิดว่าเหมาะสม
ไม่ว่าอย่างไรก็ตาม ไม่มีใครทราบว่าการกระทำในลักษณะเดียวกับของแอปเปิลกับ Safari ถึงไม่โดนข้อกฎหมายใด ๆ บังคับ แต่ดูเหมือนว่าอาจจะเกี่ยวข้องกับส่วนแบ่งตลาดที่มีเพียงน้อยนิด ไม่ว่าอย่างไรก็แล้วแต่ Engadget ก็ดีใจที่ไม่ต้องใช้ IE ไม่ว่าจะด้วยเหตุผลใดก็ตาม
http://technology.thaiza.com
วันอาทิตย์ที่ 12 กรกฎาคม พ.ศ. 2552
VIM


วันนี้ ได้ เผอิญอยากรู้ ว่า Vi Editor มันคืออะไร ก็เลยหาข้อมูลมา
VIM หรือ vi-improved เป็น vi เวอร์ชันเพิ่มความสามารถ แล้วก็มีให้ดาวน์โหลดไปใช้ได้แทบทุก OS มันจะมีฟังก์ชันหล่อๆเพิ่มขึ้นมาที่ vi ไม่มี เท่าที่ผมเห็นว่าสำคัญมีอยู่สองสามอย่าง
* Autocomplete อันนี้หล่อมากเลย ยอมรับ ทำได้หลายอย่าง เช่น
o ชื่อไฟล์ หรือ path ไปยังไฟล์ สะดวกมากเวลาต้องเขียนไฟล์ที่มันต้องระบุ path
o คำที่เคยพิมพ์มาแล้ว
o keyword ในภาษาเขียนโปรแกรม โดยมันเป็น context-sensitive ด้วย (Omni-completion) อันนี้อาจจะต้องลง plug-in เพิ่ม
* Multiple Tabs เปิด Tab หลายๆอันได้
* Visual Mode ทำให้การ คัดลอก ลบ แก้ไข เป็นเรื่องง่ายขึ้นมาก เลือกเป็นแบบ จุดเริ่มต้น-สิ้นสุด เป็นบรรทัด หรือเป็นคอลัมน์ได้ (อันหลังนี่เหมาะมากสำหรับไฟล์ข้อความที่ลักษณะเหมือนตาราง)
ตอน นี้ VIM เลยกลายเป็น text editor ที่ผมมักจะใช้แทน notepad ไปแล้ว :) ปัญหาจะเกิดอีกทีตอนใช้ภาษาไทย ซึ่งผมคิดว่าอย่าใช้ไฟล์ text ภาษาไทยกับ VIM เลยดีกว่า คนที่น่าจะมีปัญหานี้ที่สุดคงเป็นพวกเขียนเว็บ ..
หลัง จากอ่านบทความจำพวกแนะนำ vi หรือ vi สำหรับมือใหม่ มานับไม่ถ้วน ผมพบว่าคำสั่งพื้นฐานเท่าที่จะสามารถทำให้เราใช้ VIM แทน Notepad ได้ มีอยู่ไม่กี่ตัว ดังต่อไปนี้
ออกจากโปรแกรม
พิมพ์ :q!
: เป็นการบอกว่าจะมี command อื่นๆตามมา ส่วน q แปลว่าออก และ ! แปลว่าออกแบบบังคับ (ถ้าเราแก้ไขไฟล์มันจะไม่ยอมให้ออกธรรมดา)
หรืออาจจะใช้ :wq เป็นการ save แล้วออก
ถ้า save เฉยๆก็ :w myfilename
ไป Command Mode
กด Ctrl + [ หรือ Esc
เราควรอยู่ใน Command Mode ตลอดเวลาที่ทำงาน ใช้ Insert Mode เฉพาะเวลาจะพิมพ์เท่านั้น :)
เคลื่อน cursor ไปมา
ใช้ปุ่ม h j k l แทน ซ้าย ล่าง บน ขวา
ถ้าพบว่าจำยาก ลองมองตัว j ว่ามันเหมือนลูกศรชี้ลงล่าง! แล้วจะจำได้ (ได้มาจาก video youtube ซักอัน)
การเคลื่อนในระดับคำ
* w ไปคำต่อไป
* b คำก่อนหน้า
ระดับบรรทัด คล้ายๆกับ regex
* ^ ต้นบรรทัด
* $ ท้ายบรรทัด
ระดับ document
* gg ต้น document
* G ท้าย document
ไป Insert Mode
เข้าได้หลายแบบ แบบแรกควรรู้คือ a กับ i
* a ต่อหลัง cursor
* i วางหน้า cursor
และแบบที่สอง ที่หลังจากใช้สองอันแรกจนเจอปัญหาบางอย่างแล้วจะพบว่า Useful มาก คือ
* A หลังสุดของบรรทัด
* I หน้าสุด
และแบบสุดท้าย เป็นการแทรกบรรทัดว่างๆเข้าไป
* o แทรกบรรทัดใหม่ ใต้บรรทัดปัจจุบัน
* O แทรกบรรทัดใหม่ เหนือบรรทัดปัจจุบัน (So useful!)
ยกเลิก – Undo
กด u
อยาก Redo กด Ctrl+r
Autocomplete
* กด Ctrl + P เป็นการเติมจากคำก่อนหน้า
* กด Ctrl-x-f เป็นการเติมชื่อหรือพาธไปยังไฟล์ กด Ctrl-f ต่อจะวนรอบชื่อไฟล์ไปเรื่อยๆ
* กด Ctrl-x-o เป็น omni-completion อาจจะต้องลง plug-in เพิ่มสำหรับไฟล์บางแบบ (เช่น C++)
เพิ่มตัวบอกบรรทัด
:set ruler
Visual Mode
มีสามแบบ
* แบบเริ่มต้น - สิ้นสุด กด v
* แบบบรรทัด กด V
* แบบคอลัมน์ (Visual Block Mode) กด Ctrl + V
หลังจากกดแล้วจะใช้ cursor เลื่อนซ้ายขวาเพื่อ select ข้อความได้ ซึ่งหลังจาก select แล้วอาจจะทำอะไรได้หลายอย่าง เช่น
* ลบ กด d
* คัดลอก กด y (yank) เวลาจะเอาไปวางก็กด p หรือ P
* แทนที่ กด c แล้วพิมพ์คำตามเข้าไป แล้วกด enter (จะเห็นประโยชน์ตอนใช้ในแบบคอลัมน์)
* เพิ่ม tab ด้านหน้า (indent) กด >
ค้นหา
อันนี้ใช้บ่อยสุดๆ กด / แล้วพิมพ์ regular expression ของคำที่ต้องการค้น เช่น /search_key_word
นอก จากนี้ยังมีวิธีค้นหาแบบใช้ * คือเลื่อน cursor ไปเหนือคำที่ต้องการค้นหาแล้วกด * จะทำให้ VIM ทำ highlight ให้กับคำเดียวกันทุกคำในเอกสารนั้น เหมาะเวลาที่จะใช้เปลี่ยนชื่อตัวแปร หรือไล่โค้ด อะไรทำนองนั้น
แทนที่ – Replace
ใช้คำสั่ง :%s/before/after/gc
* ตัว c แปลว่า confirm คือให้ถามก่อนแทนที่
* ถ้าไม่มีตัว g มันจะแทนที่แค่บรรทัดละตัว
* before และ after เป็น regular expression ของตัวที่จะให้แทนก่อนและหลัง
* s เป็น substitute command
* % เป็นการบอกว่าแทนทั้งไฟล์ (จริงๆแล้วบอกเป็นเลขบรรทัดได้ แต่จะไม่ cover แล้วกัน)
จัดย่อหน้าให้สวยงาม
หลัง จาก save ไฟล์ไปแล้ว VIM จะฉลาดพอที่จะทำ syntax highlight สวยๆให้ดู รวมถึงจัดย่อหน้าให้ไฟล์ให้ถูกต้องตามประเภทไฟล์ (เช่นไฟล์ .c .cpp)
กด gg=G
Tabs
จำ เป็นเหมือนกันเวลาต้องเปิดสอง (หรือมากกว่า)ไฟล์คู่กัน จริงๆแล้ว VIM มันมี buffer ให้ใช้หลายๆอันด้วย แต่ผมว่า concept ของ Tab มันเข้าใจง่ายกว่านะ
* :tabnew path/to/filename เปิดไฟล์ หรือสร้างไฟล์ใหม่
* :tabc ปิด tab ปัจจุบัน
* gt และ gT ไปแทบต่อไป และก่อนหน้า
ที่มา : http://www.tod4yis.net/post/VIM-The-Basics.aspx
วันอาทิตย์ที่ 5 กรกฎาคม พ.ศ. 2552
วันเข้าพรรษา เลยนำ website ของแม่ชีทศพร มาให้เพื่อนๆดูคะ
จะได้ บุญเยอะๆๆ
http://www.thossaporn.com
บูตเซกเตอร์ไวรัส
Boot Sector Viruses หรือ Boot Infector Viruses คือ ไวรัสที่เก็บตัวเองอยู่ในบูตเซกเตอร์ของดิสก์ การ ใช้งานของบูตเซกเตอร์คือเมื่อเครื่องคอมพิวเตอร์เริ่มทำงานขึ้นมาตอนแรก เครื่องจะเข้าไปอ่านบูตเซกเตอร์โดยในบูตเซกเตอร์จะมีโปรแกรมเล็กๆไว้ใช้ใน การเรียกระบบปฏิบัติการขึ้นมาทำงานอีกทีหนึ่ง บูตเซกเตอร์ไวรัสจะเข้าไปแทนที่โปรแกรมดังกล่าว และไวรัสประเภทนี้ ถ้าไปติดอยู่ในฮาร์ดดิสก์ โดยทั่วไปจะเข้าไปอยู่บริเวณที่เรียกว่า Master Boot Sector หรือ Parition Table ของฮาร์ดดิสก์นั้น ถ้าบูตเซกเตอร์ของฮาร์ดดิสก์ใดมีไวรัสประเภทนี้ติดอยู่ ทุกๆ ครั้งที่บูตเครื่องขึ้นมาโดย พยายามเรียกดอสจากดิสก์นี้ ตัวโปรแกรมไวรัสจะทำงานก่อนและจะเข้าไปฝังตัวอยู่ในหน่วยความจำเพื่อเตรียม พร้อมที่จะทำงานตามที่ได้ถูกโปรแกรมมา แล้วตัวไวรัสจึงค่อยไปเรียกดอสให้ขึ้นมาทำงานต่อไป ทำให้เหมือนไม่มีอะไรเกิดขึ้น
โปรแกรมไวรัส
Program Viruses หรือ File Intector Viruses เป็นไวรัสอีกประเภทหนึ่งที่จะติดอยู่กับโปรแกรม ซึ่งปกติก็คือ ไฟล์ที่มีนามสกุลเป็น COM หรือ EXE และบางไวรัสสามารถเข้าไปติดอยู่ในโปรแกรมที่มีนามสกุลเป็น sys และโปรแกรมประเภท Overlay Programs ได้ด้วย โปรแกรมโอเวอร์เลย์ปกติจะเป็นไฟล์ีที่มีนามสกุลที่ขึ้นต้นด้วย OV วิธีการที่ไวรัสใช้เพื่อที่จะเข้าไปติดโปรแกรมมีอยู่ 2 วิธี คือ การแทรกตัวเข้าไปอยู่ในโปรแกรม ผลก็คือ หลังจากที่โปรแกรมนั้นติดไวรัสไปแล้ว ขนาดของโปรแกรมจะใหญ่ขึ้น หรืออาจมีการสำเนาตัวเองเข้าไปทับส่วนของโปรแกรมที่มีอยู่เดิม ดังนั้นขนาดของโปรแกรมจะไม่เปลี่ยนและยากที่จะซ่อมให้กลับเป็นดังเดิม การทำงานของไวรัสโดยทั่วไป คือ เมื่อมีการเรียกโปรแกรมที่ติดไวรัสอยู่ ตัวไวรัสจะเ้ข้าไปหาโปรแกรมตัวอื่นๆ ที่อยู่ในดิสก์เพื่อทำสำเนาตัวเองลงไปทันทีแล้วจึงค่อยให้โปรแกรมที่ถูก เรียกนั้น ทำงานตามปกติต่อไป
ม้าโทรจัน
ม้าโทรจัน (Trojan Horse) เป็นโปรแกรมที่ถูกเขียนขึ้นมาใ้ห้ทำตัวเหมือนว่าเป็นโปรแกรมธรรมดาทั่วๆ ไป เพื่อหลอกล่อผู้ใช้ให้ทำการเรียกขึ้นมาทำงาน แต่เมื่อถูกเรียกขึ้นมาแล้ว ก็จะเริ่มทำลายตามที่โปรแกรมมาทันที ม้าโทรจันบางตัวถูกเขียนขึ้นมาใหม่ทั้งชุด โดยคนเขียนจะทำการตั้งชื่อโปรแกรมพร้อมชื่อรุ่นและคำอธิบายการใช้งานที่ดูสมจริง เพื่อหลอกให้คนที่จะเรียกใช้ตายใจ จุดประสงค์ของคนเขียนม้าโทรจันอาจจะเช่นเดียวกับคนเขียนไวรัส คือ เข้าไปทำอันตรายต่อข้อมูลที่มีอยู่ในเครื่อง หรืออาจมีจุดประสงค์เพื่อที่จะล้วงเอาความลับของระบบคอมพิวเตอร์
ม้าโทรจันนี้อาจจะถือว่าไม่ใช่ไวรัส เพราะเป็นโปรแกรมที่ถูกเขียนขึ้นมาโดดๆ และจะไม่มีการเข้าไปติดตั้งในโปรแกรมอื่นเพื่อสำเนาตัวเอง แต่จะใช้ความรู้เท่าไม่ถึงการของผู้ใช้เป็นตัวแพร่ระบาดซอฟต์แวร์ที่มีม้า โทรจันอยู่ในนั้นและนับว่าเป็นหนึ่งในประเภทของโปรแกรมที่มีความอันตรายสูง เพราะยากที่จะตรวจสอบและสร้างขึ้นมาได้ง่าย ซึ่งอาจใช้แค่แบตซ์ไฟล์ก็สามารถโปรแกรมประเภทม้าโทรจันได้
โพลีมอร์ฟิกไวรัส
Polymorphic Viruses เป็นชื่อที่ใช้ในการเรียกไวรัสที่มีความสามารถในการแปรเปลี่ยนตัวเองได้ เมื่อมีการสร้างสำเนาตัวเองเกิดขึ้นซึ่งอาจได้ถึงหลายร้อยรูปแบบ ผลก็คือ ทำให้ไวรัสเหล่านี้ยากต่อการถูกตรวจจับ โดยโปรแกรมตรวจหาไวรัสที่ใช้วิธีการสแกนอย่างเดียว ไวรัสใหม่ๆในปัจจุบันที่มีความสามารถนี้เริ่มมีจำนวนเพิ่มมากขึ้นเรื่อยๆ
สทีลต์ไวรัส
Stealth Viruses เป็นชื่อเรียกไวรัสที่มีความสามารถในการพรางตัวต่อการตรวจจับได้ เช่น ไฟล์อินเฟกเตอร์ ไวรัสประเภทที่ไปติดโปรแกรมใดแล้วจะทำให้ขนาดของโปรแกรมนั้นใหญ่ขึ้น ถ้าโปรแกรมไวรัสนั้นเป็นแบบสทีลต์ไวรัส จะไม่สามารถตรวจดูขนาดที่แท้จริงของโปรแกรมที่เพิ่มขึ้นได้ เนื่องจากตัวไวรัสจะเข้าไปควบคุมดอส เมื่อมีการใช้คำสั่ง DIR หรือโปรแกรมใดก็ตามเพื่อตรวจดูขนาดของโปรแกรม ดอสก็จะแสดงขนาดเหมือนเดิมทุกอย่างราวกับว่าไม่มีอะไรเกิดขึ้น
อาการของเครื่องที่ติดไวรัส
สามารถสังเกตุการทำงานของเครื่องคอมพิวเตอร์ถ้ามีอาการดังต่อไปนี้อาจเป็นไปได้ว่าได้มีไวรัสเ้ข้าไปติดอยู่ในเครื่องแล้ว อาการที่ว่านั้น ได้แก่
* ใช้เวลานานผิดปกติในการเรียกโปรแกรมขึ้นมาทำงาน
* ขนาดของโปรแกรมใหญ่ขึ้น
* วันเวลาของโปรแกรมเปลี่ยนไป
* ข้อความที่ปกติไม่ค่อยได้เห็นกลับถูกแสดงขึ้นมาบ่อยๆ
* เกิดอักษรหรือข้อความประหลาดบนหน้าจอ
* เครื่องส่งเสียงออกทางลำโพงโดยไม่ได้เกิดจากโปรแกรมที่ใช้อยู่
* แป้นพิมพ์ทำงานผิดปกติหรือไม่ทำงานเลย
* ขนาดของหน่วยความจำที่เหลือลดน้อยกว่าปกติ โดยหาเหตุผลไม่ได้
* ไฟล์แสดงสถานะการทำงานของดิสก์ติดค้างนานกว่าที่เคยเป็น
* ไฟล์ข้อมูลหรือโปรแกรมที่เคยใช้อยู่ๆ ก็หายไป
* เครื่องทำงานช้าลง
* เครื่องบูตตัวเองโดยไม่ได้สั่ง
* ระบบหยุดทำงานโดยไม่ทราบสาเหตุ
* เซกเตอร์ที่เสียมีจำนวนเพิ่มขึ้นโดยมีการรายงานว่าจำนวนเซกเตอร์ที่เสียมีจำนวนเพิ่มขึ้นกว่าแต่ก่อนโดยที่
* ยังไม่ได้ใช้โปรแกรมใดเข้าไปตรวจหาเลย
Reference: http://www.dld.go.th/ict
วันอาทิตย์ที่ 28 มิถุนายน พ.ศ. 2552
Oracle
ระบบฐานข้อมูลจะมีส่วนประกอบสำคัญคือ ฐานข้อมูลและ DBMS โดยที่การจัดการฐานข้อมูลจะกระทำผ่านกลไกของ DBMS โดยจะใช้คำสั่งของภาษา SQL (Structure Query Language) การจัดทำข้อมูลด้วยคำสั่งของ SQL นับได้ว่าเป็นวิธีที่เป็นสากลเพราะว่า DBMS ของทุกบริษัทจะต้องรองรับการใช้คำสั่ง SQL ที่มีมาตาฐานเดียวกัน อาจมีความแตกต่างกันในเรื่องของคำสั่งปลีกย่อยบ้างแต่ถือว่าเป็นส่วนน้อยมาก คำสั่งส่วนใหญ่ทั้งหมดของ SQL จะมีหลักการที่เหมือนกันไม่ว่าจะผ่าน DBMS ของบริษัทใดก็ตาม อย่างไรก็ตามในยุคปัจจุบันการใช้เครื่องมือ (tool) สำหรับจัดการฐานข้อมูลเป็นสิ่งที่นิยมมากขึ้น เพราะเป็นสิ่งที่ทำให้ทำงานง่ายและสะดวกมากขึ้น
SQL มีลักษณะที่ใช้งานง่าย ผู้ใช้เพียงแต่ส่งคำสั่งที่คล้ายกับประโยคภาษาอังกฤษง่าย ๆ ไม่ต้องเขียนเป็นคำสั่ง ขั้นตอนที่ซับซ้อนเหมือนภาษาคอมพิวเตอร์ทั่ว ๆ ไป SQL จะเป็นการทำงานในลักษณะที่ตอบโต้กับผู้ใช้ทันทีเป็นภาษาสำหรับผู้ใช้ที่ไม่มีความรู้ในการเขียนโปรแกรมจนถึงโปรแกรมเมอร์หรือผู้บริหารฐานข้อมูล
โดยที่กลุ่มคำสั่งของ sql แยกได้ตามนี้
1. Retrieval command เป็นคำสั่งที่ใช้ในการเลือกดูข้อมูล สามารถเลือกดูข้อมูลในลักษณะง่าย ๆ
ไปจนถึงการเรียกดูข้อมูลหลาย Table และเงื่อนไขในการเลือกดูข้อมูลที่ซับซ้อน คำสั่งสำหรับเรียกดูข้อมูลมีเพียงคำสั่งเดียวคือ
• SELECT
เช่น
select * from tab;
คือคำสั่งดูว่่ามี กี่ table ในdatabase ของเรา
2. DML (Data Manipulation Language) เป็นคำสั่งในการจัดเก็บข้อมูลต่าง ๆ ใน table คำสั่งในกลุ่มนี้ได้แก่
• INSERT
• UPDATE
• DELETE
3. DDL (Data Definition Language) เป็นคำสั่งที่ใช้ในการสร้าง เปลี่ยนแปลง หรือลบ database object เช่น table, user, view คำสั่งในกลุ่มนี้ได้แก่
• CREATE
• ALTER
• DROP
4. DCL (Data control language) เป็นคำสั่งที่ใช้สำหรับกำหนดหรือถอนสิทธิ์สำหรับการทำงาน ต่าง ๆ ในระบบฐานข้อมูล คำสั่งในกลุ่มนี้ได้แก่
• GRANT
• REVOKE
5. Transaction Command เป็นคำสั่งที่ใช้ในการจัดการ database transaction คำสั่งในกลุ่มนี้ได้แก่
• COMMIT
• ROLLBACK
Basic SELECT Statement
คำสั่ง SELECT เป็นคำสั่งที่ใช้ในการเลือกดูข้อมูล สามารถเลือกดูข้อมูลในลักษณะง่าย ๆ ไปจนถึงการเลือกดูข้อมูลจากหลาย table และสามารถมีเงื่อนไขในการเลือกดูข้อมูลได้ เช่น
Basic SELECT Statement
SELECT *|{[DISTINCT] column|expression [alias],...}
FROM table;
SELECT เป็นการระบุชื่อ column หนึ่ง column หรือมากกว่านั้น
* เลือกทุก column
DISTINCT เลือกแสดงข้อมูลที่ไม่ซ้ำกัน
Column/expression เลือกชื่อของ column หรือ expression
Alias เป็นชื่อใหม่ของ column
From table ระบุชื่อตารางที่ประกอบด้วย column นั้น ๆ
[ ] เป็น option จะใส่หรือไม่ใส่ก็ได้
{ } เป็นสิ่งที่จำเป็นต้องใส่
| ให้เลือกใส่อย่างใดอย่างหนึ่ง
SELECT last_name, salary
FROM employees;
จากคำสั่งนี้ คือ เลือก column last_name และ salary จาก table employees
มันจะโชว์ สอง column คือ last_name กับ salary
อ้่างอิงจาก
หนังสืออบรม Oracle ของ Champion
วันศุกร์ที่ 19 มิถุนายน พ.ศ. 2552
The analyst as a project manager
วันนี้ได้ลองมานั่งทวน วิชา SA system analysis and design เพราะ วิชานี้เท่าที่เรียนมาเป็นพื้นฐานของวิชา Software Engineering กับ Database อ่า
ตัวแปรสำคัญที่ทำให้ project ของเรา สำเร็จ
- Project management important for success of system development project
- Project requires careful planning, control, and execution
เหตุผลที่ทำให้ Project ล้มเหลว (Failure)
-Incomplete or changing requirements
-Limited user involvement
-Lack of executive support
-Lack of technical support
-Poor project planning (อันนี้สำคัญที่สุดที่ทำให้ project ล้มเหลว)
-Unclear objectives
-Lack of required resources
เหตุผลที่ทำให้ Project ประสบความสำเร็จ(Success)
-Clear system requirement definitions
-Substantial user involvement
-Support from upper management
-Thorough and detailed project plans
-Realistic work schedules and milestones
Role of the Project Manager
-Project management – organizing and directing people to achieve a planned result within budget and on schedule
การที่ Project จะสำเร็จหรือ ล้มเหลวขึ้นอยู่กับทักษะของ Project Manager
โดยที่ตอนเริ่ม Project : ต้อง มีการวางแผนและการจัดการที่ดี
ในระหว่างการทำ Project : ต้องมีการควบคุมและติดตาม
หน้าที่ ของ project manager
ภายในองค์กร มีหน้าที่ดังนี้
-Identify project tasks and build a work breakdown structure
-Develop the project schedule(ตารางการทำงาน)
-Recruit(รับคนใหม่) and train team members
-Assign team members to tasks(ให้งานแก่ team ของตน ระบุว่าแต่ละคนมีหน้าที่อะไรบ้าง)
-Coordinate activities of team members and subteams
-Assess project risks
-Monitor and control project deliverables and milestones
-Verify the quality of project deliverables
ภายนอกองค์กร มีหน้าที่ดังนี้
-Report the project’s status and progress
-Establish good working relationships with those who identify the needed system requirements
-Work directly with the client (the project’s sponsor) and other stakeholders
-Identify resource needs and obtain resources
อันนี้คือภาพ ที่อาจทำให้เพื่อนๆ เข้าใจในหน้าที่ ของ project manager มากขึ้นคะ

วันศุกร์ที่ 12 มิถุนายน พ.ศ. 2552
Suriyan Live Linux
นอกจาก Linux Tle (Nectec) หรือ ลีนุกซ์ทะเลแล้ว ที่คนไทย เป็นคนพัฒนาสร้างขึ้นมาเพื่อให้ง่ายต่อผู้ใช้ที่เป็นคนไทยแต่ทว่าใครจะรู้ ว่าLinux มี อีกตัวที่ เจ๋งและง่ายต่อ user แบบคนไทยอีกเหมือนกัน
ดิฉันมีโอกาสที่ได้ ใช้ Suriyan Linux ซึงคนไทย(SIPA)เป็นผู้พัฒนาขึ้นมา
Suriyan Linux Live CD เปeน Linux Live CD ที่พัฒนาต่อยอดมาจากKbutu(http://www.kubuntu.org)
โดย มีเป้าหมายคือ ให้รองรับการใช้งานภาษาไทยอย่างถูกต้อง รวมถึงตั้งค่าการใช้งานต่างๆ ให้เหมาะกับการใช้งานของคนไทย
นอกจากนี้เท่าที่รู้มา SIPA ยัง ออก จัมทรามาคู่สุริยัน
จันทรา (Chantra)
เป็นชุดซอฟต์แวร์โอเพ่นซอร์สบนวินโดวส์ ที่ SIPA คัดเลือกแล้วว่ามีความสามารถพอใช้ทดแทนซอฟต์แวร์แบบเดิมๆ ได้ เป้าหมายคือเผยแพร่โอเพ่นซอร์สไปยังบุคคลทั่วไป โดยจะแจกในรูปแบบซีดีพร้อมคู่มือเล็กน้อยแบบ Booklet จำนวนค่อนข้างมากพอสมควร
หากเพื่อนๆ อยากลองใช้ Suriyan เชิญทางนี้คะ
พอ เพื่อนโหลด ไฟล์ ที่เป็น .iso จาก web http://suriyan.in.th/ แล้วเพื่อนก็ควรจะมี Vmware
ซึ่งสดวกในการใช้ Linux อีกตัวบน window แต่แนะนำว่าRam ต้องมากกว่า 1.0Gb นะคะ
ไม่เช่นนนะเครื่องช้าแน่ๆ หลังจากเพื่อนๆลง VMware กันแล้วก็ถึงตอนสำคัญ ลง Suriyan คะ
พอSuriyan ลงในVmwareก็ จะขึ้นดังภาพนะคะ ให้เลือกภาษาหลังจากนั้น
ให้ทำการเลือกเมนูแรก “Try Suriyan without any change to your computer” สำหรับการเริ่มการใช้งาน Suriyan Linux Live CD และหลังจากกระบวนการบูตระบบเสร็จ ท่านจะได้เห็นหน้าตาของ Suriyan ตามภาพด้านล่างเลยคะ
แต่ก่อนจะเข้า มาเป็นDesktop หน้านี้ Suriyan ยังมีปัญหาเล็กน้อยตรง ตอนที่ให้ create username กับ password ถ้าเราใส่ username เป็นชื่ออื่น จะทำให้ เวลาเปิดDesktop จะไม่มี icons อะไรเลยดังนั้นวิธีแก้ ก็ คือ ให้ป้อนคำว่า "ubuntu"ในช่องของ username และ password ให้เว้นว่างไว้ แล้วกด okay คะ
(สำหรับเพื่อนที่ไม่ต้องการใช้ username เป็น ubuntu) ให้ติดตั้งโดยให้สร้าง username เป็น ubuntu ไปก่อน หลังจากที่ติดตั้งเรียบร้อย บูตเข้าสู่ระบบแล้ว ให้เปิดโปรแกรม Konsole แล้วสร้าง user ใหม่ ชื่อตามต้องการ ด้วยคำสั่ง adduser ตามตัวอย่างคำสั่งดังนี้
$ sudo -s
[sudo] password for ubuntu: xxxxxxxxx (ป้อนรหัสผ่าน)
# adduser myusername (เปลี่ยน myusername เป็นชื่อ username ที่ต้องการ)
จากนั้นให้ตอบคำถามอื่นๆ ไปตามขั้นตอน เมื่อเสร็จสิ้นให้ทดลอง Login เพื่อเข้าใช้งานอีกครั้งโดยใช้ Username และ Password ที่สร้างขึ้นใหม่
Referense : http://suriyan.in.th

