บทความ

กำลังแสดงโพสต์จาก สิงหาคม, 2008

Apache log rotation

ตอนนี้ Server ที่สำนักงานยัง run Apache2 บน Appserv การให้บริการต่าง ๆ เพิ่มขึ้นอย่างเห็นได้ชัด ไฟล์ที่เก็บ log ก็โตขึ้นตามไปด้วย โดยปกติแล้ว ก็จะตามอ่าน log ไฟล์ เป็นประจำ เพื่อดูว่ามีใครมาประทุษร้าย ด้านหลังหรือเปล่า แต่เนื่องจากยิ่งนานวันเข้าไฟล์ที่เก็บ log จะมีขนาดใหญ่ขึ้นทุกวันตามปริมาณการเข้าใช้งาน ทีนี้เวลาจะเปิดก็ยากเพราะไฟล์มันใหญ่มาก (ปัจจุบัน 47 Mb) วันนี้เลยเอาประสบการณ์การปรับแต่ง Apache2 ให้เก็บ Access log file แยกเป็นวันมานำเสนอ เทคนิคคือ การหมุน log เก็บแยกแต่ละวัน หรือ log rotation วิธีการของเราคือ การแก้ไขไฟล์ httpd.conf ซึ่งอยู่ในโฟลเดอร์ Apache2/conf บริเวณบรรทัดที่ 331 น่าจะเห็น ifmodule log_conf_module ซึ่งเป็นการบอกว่า ถ้า module log_conf ถูกเปิดใช้งาน ให้ทำตามคำสั่งที่อยู่ระหว่าง ifmodule ถึง /ifmodule เพื่อความง่าย ไม่ต้องคิดอะไรมาก ให้แทรก คำสั่งต่อไปนี้ไว้ก่อน /ifmodule LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined CustomLog "| bin/rotatelogs.exe C:/AppServ/Apache2.2/logs/

เก็บตกแฮกเกอร์

รูปภาพ
เก็บตกเอาควันหลง หลังมีตัวป่วน ยุ่มย่ามอยู่แถว ๆ เว็ปเทคโนฯ และห้องเรียนทันข่าว คราวก่อนได้พูดไปแล้ว วันนี้มีโอกาส แวะไปเว็ป สพฐ. เห็นลิงค์ของห้องเรียนทันข่าวอยู่ด้วย เลยคลิก ไม่ต้องเสียเวลา ในลิงค์บอก http://www.newsclassroom.obec.go.th/ คิดว่าคงตั้งให้ redirect มาที่เว็ป http://www.techno.bopp.go.th/newsclassroom/ กลับไม่ใช่แฮะ ติดอยู่แค่หน้าเปล่า ๆ ว่าง ๆ firebug รายงานว่ามีโค้ดผิดพลาดอยู่ ด้วยความซนก็เหมือนเดิมครับ คลิกเข้าไปดูเสียหน่อย จากรูปเลยได้เห็นว่า hacker มาจากไหน... ลิงค์ คือ http://domain31.ru/ad/show.js?c=CI-002643-3&s=www.newsclassroom.obec.go.th คล้าย ๆ กับการประกาศศักดาแบบกลาย ๆ ว่า เว็ปนี้เป็นฝีมือฉันนะ เสร็จฉันแล้วอะไรประมาณนั้น แต่สุดท้ายไอ้เจ้าตัวเว็ปเองเหมือนกับโดนถล่มเช่นกัน เพราะติดป้าย ว่ากำลังก่อสร้างใหม่ 5555

รวมเครื่องมือเก็บ log file ตอน 2

รูปภาพ
คราวที่แล้วแนะนำโปรแกรมสำหรับระบบปฏิบัติการ Linux วันนี้เอาตัวอย่างจริง ที่ใช้อยู่จริง ๆ มาเล่าสู่กันฟังครับ ที่สำนักงานใช้ FileZilla Server ในการบริการ FTP สมาชิกที่ได้ account ไป มีไม่มากนัก แต่เพื่อความปลอดภัย ก็จำเป็นต้องเก็บ log file สำหรับ FTP ไว้ 90 วันอยู่ดี มาดูวิธีตั้งค่ากันครับ ที่หน้าต่างตั้งค่า... คลิกที่ Logging -> Enable logging to file จากนั้นก็ตั้งค่าตามภาพ ผมเก็บไว้ 91 วัน แถมให้อีกวันหนึ่ง พอใจไหม? สำหรับ Apache web server เดี๋ยวมาต่อตอนหน้าครับ

รวมเครื่องมือเก็บ log file

พรบ.คอมพิวเตอร์ฉบับใหม่จะเริ่มมีผล (อย่างเป็นทางการ) ตั้งแต่วันที่ 24 สิงหาคม เป็นต้นไป ไม่ทราบว่าพวกเราชาว Open Source เตรียมรับมือกันบ้างหรือยัง เรามาร่วมนำเสนอเครื่องมือสำหรับ เก็บ Log file แบบฉบับของ Open Source กันดีกว่าครับ ขอเริ่มจาก plawan ก่อน เพราะอยู่ใกล้มือที่สุด 1. Plawan Central Log เว็ปไซต์ http://www.plawan.com คู่มือติดตั้ง http://www.plawan.com/download/PlawanCentralLog.pdf ข้อมูลทางเทคนิค : ระบบของปลาวาฬ ใช้ระบบปฏิบัติการ Linux ubuntu เป็นฐาน ระบบรวบรวม log ใช้ ebox-platform การเก็บ log จะอ่านข้อมูลจาก syslog เข้าไปเก็บยังฐานข้อมูลอีกที การติดตั้งสุดแสนง่ายดายครับ ใครที่เคยใช้ ubuntu มาแล้วไม่น่าจะต้องเปลี่ยนแปลงหรือเรียนรู้อะไรเพิ่มเติมเลย คุณสมบัติ : • ระบบเก็บรักษาข้อมูลจราจรทางคอมพิวเตอร์ (Traffic Data) ตามพรบ.ว่าด้วยการกระทำความผิดเกี่ยวกับคอมพิวเตอร์ พ.ศ. 2550 • ระบบพิสูจน์การมีตัวตนของผู้ใช้คอมพิวเตอร์โดยระบุ Physical Address (Identification and Authentication System) • ระบบสําหรับการกําหนดเวลาให้ตรงกับเวลาจริงโดยอิงเวลาสากล • ระบบสกัดกั้นการเข้าถึง - เว็บไซต์

ตอนที่ 8 Hello World ของฉัน!!!

ตอนที่ 8 Hello World ของฉัน!!! เอาหละครับ ลืม HelloWorld ต้นฉบับไปได้เลย เพราะมันมีคอมเม้นต์เต็มไปหมด เราจะแก้ไขไฟล์ HelloWorld.html ขึ้นใหม่ทั้งหมดครับ จุดประสงค์คือ แก้ไขไฟล์ HelloWorld.html เพิ่มแสดงข้อความของเราเอง และเตรียมการสำหรับการใช้งาน Ajax เบื้องต้น 1. เปิดไฟล์ HelloWorld.html เข้ามาแก้ไข ลบข้อมูลเดิมออกให้หมดแล้วใส่โค้ดนี้ลงไปครับ <html> <head> <title>สวัสดีชาวโลก</title> <link href="sample.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="AIRAliases.js"></script> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> </head> <body style="font-family: Tahoma"> <div id="testMooTools" >Hello MooTools</div> <div id ="AjaxResult"></div> </body>

ตอนที่ 7 Hello World Part II

รูปภาพ
ตอนนี้มาดูงานจริงของเรากันดีกว่า ไม่มีอะไรซับซ้อนครับเพียงแค่ run และ debug โปรแกรมนิดหน่อยเท่านั้น 1. คิดว่าตอนนี้เราคงได้ Project HelloWorld กันแล้ว อย่าเพิ่งไปแก้อะไรนะครับ เราจะเริ่ม run โปรแกรม โดยที่ tool bar คลิกที่ Run HelloWorld ถ้าไม่เห็นผลให้คลิกที่ลูกศรชี้ลงติดกับปุ่ม Run นั่นแหละครับ เลือก Run... จะมีไดอะล็อกบ็อกให้เลือก ว่าต้อง run Project ของเราอย่างไร 2. เมื่อ run project HelloWorld แล้ว จะยังไม่เห็นผลอะไร สาเหตุเนื่องจากโปรแกรมของเรามีข้อผิดพลาด โดยสังเกตบริเวณด้านล่าง ที่แถบ console จะเห็นข้อผิดพลาดดังภาพ ข้อผิดพลาดแจ้งว่าข้อกำหนดใน application.xml มีบางอย่างไม่สอดคล้องกับ runtime ในที่นี้ส่วนใหญ่จะเกิดจากการระบุรุ่นของ runtime ผิด 3. การแก้ไขคือ ให้เราลากไฟล์ application.xml มาตรงกลางของจอ ซึ่งหมายถึงการเปิดไฟล์ application.xml ขึ้นมาแก้ไข ให้แก้บรรทัดที่ 2 เกือบ ท้ายบรรทัด แก้จาก "1.1" เป็น "1.0" บันทึกไฟล์แล้ว run ดูอีกที 4. จะได้โปรแกรมแรกที่เราแทบไม่ได้เขียนอะไรเลยดังภาพครับ โดยที่ ปุ่มหมายเลข 1 เรียกใช้งานไฟล์ที่อยู่ในเครื่องธรรมดา ปุ่มหมายเ

โดนเข้าไปหนึ่งดอก (เหมือนกัน)

รูปภาพ
วันนี้ตื่นแต่เช้า ต้องรีบจัดการเจ้าตัวน้อย ก่อนที่จะไปร่วมอบรม เรื่อง ICT เพื่อการเรียนการสอน เหมือนเคยครับ ตื่นมาก็เช็คเมล์ ตรวจเว็ปที่ดูแลอยู่ และเว็ปที่สนใจ หนึ่งในเว็ปที่แวะไปก็ "ห้องเรียนทันข่าว" หมู่นี้ได้ข่าวเว็ปที่ใช้ joomla โดน Hack บ่อยมาก หากไม่อัปเกรตเวอร์ชัน อย่างที่ได้พูดไปในบล็อกที่แล้ว ด้วยความที่ไม่รู้ว่าตัวห้องเรียนทันข่าวได้รับการอัปเกรตหรือไม่ เลยต้องสำรองงานเขียนของตัวเอง เพื่อความปลอดภัย เจออะไรแหม่ง ๆ นะ คือไม่รู้ว่าใครกำลังแก้งานของผมอยู่ หรือจะมีมือดีเข้ามาแล้วเนี่ย!!!! (สังเกตตรงหัวด้านบนผมพยายามจะแก้ข้อมูล ปรากฎว่าไม่สามารถทำได้) ย้อนกลับไปดูอีกหนึ่งขั้นเป็นเว็ปของ สทร. ปรากฎว่าไม่เหลือครับ โดนหนักเอาการทีเดียว แฮกเกอร์เข้าไปเปลี่ยนทั้งหน้าเว็ป มีความรู้ในการเขียนเว็ปดีทีเดียว สังเกตดูง่าย ๆ คือ เขียนเว็ปแบบไม่มี error แม้แต่น้อย มันไม่ธรรมดาจริง ๆ เมื่อเข้าไปถึง root ได้แล้วเว็ปในเครือที่ต่อท้ายเว็ป สทร. ก็ไม่เหลือหละครับ เร่งสำรองข้อมูลโดยด่วนเลย... เห็นแบบนี้แล้วท่านคงจะเห็นความสำคัญของการเก็บ log file ตาม พรบ.ใหม่ ในการค้นหาตัวผู้กระทำความผิด

ให้ไวครับพี่น้อง

วันนี้มีผู้รายงานว่าเว็ปถูก Hack เป็นจำนวนมาก โดยเฉพาะ Joomla 1.5 ที่ปัญหาจัดอยู่ใน " ระดับร้ายแรง " ย้ำอีกครั้ง " ระดับร้ายแรงจริง ๆ " ใครที่ใช้อยู่ก็เร่งอัปเกรตโดยพลันครับ ให้ไวเลยครับ ให้ไวเลยครับพี่น้อง.... Joomla ล่าสุด 1.5.6 รีบไปดาวน์โหลดมา ใครใคร่ลงใหม่ก็โหลดตัว Full ใครไม่อยากลงใหม่ก็ให้เร่งอัปเดต patch อย่าช้าครับ ดาวน์โหลดได้ที่นี่

วันแม่...มาแล้ว

รูปภาพ
" ..รักแม่นะ ..." สิ่งที่แม่ทำให้ครอบครัวของเราคือการเติมเต็ม ความรักที่เรามีต่อลูก ๆ ทั้งสองคน บางครั้งด้วยภาระงานที่รัดตัว แม่ก็เป็นผู้เติมเต็มเวลาให้แก่หลาน ๆ เสมอ... ขอบคุณครับ... ถือโอกาสนี้บอกอีกทีว่าาาาาาาาาาาาา "ขอบคุณ" คุณแม่ของลูกที่ดูแลครอบครัวของเราอย่างดี "รักนะ จุ๊บ จุ๊บ"

ตอนที่ 6 Hello World Part I

รูปภาพ
เขียนให้ บอร์ด OpenSource สพฐ. หากต้องการติดตาม ซีรี่ชุดนี้แบบเต็ม ก็ไปที่นี่ http://board2.obec.go.th/viewtopic.php?f=10&p=179555 ผ่านกระบวนการตั้งค่ามาแบบสาหัสกันแล้ว ต่อนี้ไปก็ถึงการลุยของจริงแล้วครับ มาเริ่มกันเลย ที่กรอบ Project ด้านซ้ายให้คลิกขวา เลือก New -> Project... คลิกลูกศรด้านหน้า Aptana Projects -> Adobe AIR Project -> Next ช่อง Project name ตั้งชื่อ HelloWorld ที่ช่อง Main HTML file จะตั้งชื่อ HelloWorld.html ให้เราอัตโนมัติ หากต้องการสร้าง Project ของเรานอกเหนือจากค่าดีฟอลต์ ให้เอาเครื่องหมายถูกหน้า Use default location ออก และกำหนดตำแหน่งได้จากช่อง Location จากภาพผมกำหนดเป็น /home/www/HelloWorld ซึ่งเป็น localhost ด้วย สาเหตุที่กำหนดแบบนี้เพราะตั้งใจจะใช้เป็น Web application ด้วย (นอกเหนือจาก Air) ตั้งค่าเรียบร้อยแล้วคลิก Next ถึงขั้นตอนสำคัญแล้วครับ ปกติขั้นตอนนี้เราต้องสร้างด้วยมือ แต่อยู่บน Aptana เราเพียงกรอกข้อมูล ก็สามารถสร้างไฟล์ application.xml ได้อย่างง่ายดาย และไม่มีวันผิดพลาดแน่นอน การกรอกข้อมูลก็ไม่ต้องเปลี่ยนอะไรมาก ดูภาพเอาเองนะครับ ไฟล์ appl

ตอนที่ 5 ตั้งค่า Air SDK

รูปภาพ
เขียนให้ บอร์ด OpenSource สพฐ. หากต้องการติดตาม ซีรี่ชุดนี้แบบเต็ม ก็ไปที่นี่ http://board2.obec.go.th/viewtopic.php?f=10&p=179555 ขั้นตอนนี้ เราจะทำให้ Air สามารถเรียกใช้งาน SDK ได้โดยไม่ต้องเรียกใช้ผ่านทาง command line ขอย้ำอีกทีว่า สำหรับพาธที่เก็บ SDK เป็นเรื่องเฉพาะบุคคลแล้วแต่ความชอบ ดังนั้นก็ดัดแปลงได้ตามสมควรครับ เมื่อเปิด Aptana แล้ว ที่เมนู คลิก Window -> Preferences -> Aptana -> AIR SDKs คลิกที่ Add เสร็จแล้ว เลือกพาธที่เราเก็บตัว SDK ไว้ ตัวอย่างผมแตกไฟล์ไว้ที่ /data/MyServer/AdobeOpenSource/ เมื่อรวมกับไดเร็กทอรี่ที่แตกด้วยก็จะได้เป็น /data/MyServer/AdobeOpenSource/adobeair_linux_sdk_a1_033108 สำหรับ ช่อง Name จะตั้งชื่ออะไรก็ได้ ในที่นี้ผมตั้งชื่อ Air ตรงตัวเลยครับ

ตอนที่ 4 ติดตั้ง Air - Aptana plug-in

รูปภาพ
เขียนให้ บอร์ด OpenSource สพฐ. หากต้องการติดตาม ซีรี่ชุดนี้แบบเต็ม ก็ไปที่นี่ http://board2.obec.go.th/viewtopic.php?f=10&p=179555 คราวที่แล้วพูดค้างไว้ที่หน้าจอต้อนรับ ซึ่งหากไม่ปรากฎก็ไปที่ Window -> Aptana Studio Start Page... บริเวณตรงกลางจะพบบริการ ปลั๊กอิน เครื่องมือสำหรับพัฒนาโปรแกรมแบบต่าง ๆ ให้เลือกใช้ เช่น PHP - Iphone หรือ Ruby on Rails ในที่นี้เราจะยังไม่กล่าวถึงส่วนอื่น ๆ เราสนใจ Air ดังรูป ให้คลิ๊กที่ Download and install จะได้ดังภาพด้านล่าง คลิกที่ Adobe Air Support -> Next คลิก I accept the terms in the license agreement -> Next คลิก Finish จากนั้นก็รอให้โปรแกรมดาวน์โหลดปลักอินมาจนเสร็จ หน้าจอนี้บอกให้ Install All คือ ติดตั้งทุกอย่างครับ สุดท้ายก็ตอบ Yes เพื่อให้ restart Aptana จะได้แถบเครื่องมือสำหรับพัฒนา Air เพิ่มเข้ามาดังภาพ

เก่าแบบเก๋า ๆ

รูปภาพ
เทคนิคการแต่งภาพให้เก่า เป็นอีกหนึ่งเทคนิคที่มีคนใช้บ่อยมาก แต่ใช่ว่าทุกคนจะทำได้ดี ของเล่นเจ๋งมาก ๆ ต้องที่นี่เลยครับ http://labs.wanokoto.jp/olds เว็ปนี้ช่วยให้เราทำภาพได้เก่าสมใจเพียงไม่กี่วินาที ไม่ต้องใช้โปรแกรมใด ๆ ไม่ต้องทำอะไรให้ยุ่งยาก คุณเพียงแค่อัปโหลดภาพขึ้นไปเท่านั้น มาดูผลงานกันครับ ภาพต้นฉบับจาก Mars magazine ภาพหลังอัปโหลดแล้ว หุ หุ ดูให้เป็นงานศิลปะนะครับ

ExtJs 2.2

มีใครบ้าไปเล่น ExtJs บ้างเนี่ย ตอนนี้ออกเวอร์ชั่น 2.2 แล้ว คุณสมบัติใหม่ที่เพิ่มเข้าไปในตัว core เลย เช่น file uploader , history manager ปรับปรุง selector และอื่น ๆ อีกเพียบ ไปดาวน์โหลดมาลองได้ที่นี่ http://extjs.com/blog/2008/08/04/ext-22-released/

หัดเขียนโปรแกรมโดยใช้ Air ตอนที่ 3

รูปภาพ
เขียนให้ บอร์ด OpenSource สพฐ. หากต้องการติดตาม ซีรี่ชุดนี้แบบเต็ม ก็ไปที่นี่ http://board2.obec.go.th/viewtopic.php?f=10&p=179555 ตอนที่ 3 ติดตั้งเครื่องมือพัฒนา เอาหละคิดว่าวันนี้คงไปดาวน์โหลดโปรแกรมมาได้เรียบร้อยแล้ว เราจะเริ่มติดตั้งโปรแกรมกันตามลำดับเลย 1. ติดตั้ง Air runtime เมื่อตอนที่ 1 ผมดาวน์โหลดตัว runtime มาไว้ที่ /data/MyServer/AdobeOpensouce นะครับ ดังนั้นผมก็ใช้คำสั่งสำหรับเข้าไปยังไดเร็กทอรี่ข้างต้นก่อน cd /data/MyServer/AdobeOpensouce จากนั้นกำหนดให้ไฟล์ .bin สามารถเรียกใช้ได้ chmod +x *.bin เริ่มกระบวนการติดตั้ง โดยใช้คำสั่ง sudo ./adobeair_linux_a1_033108.bin ระบบ จะให้ใส่รหัสผ่านของ root และเริ่มกระบวนการติดตั้ง ให้ทำตามขั้นตอนจนเรียบร้อย ขั้นตอนนี้ผมขอผ่านนะครับ เพราะไม่มีอะไรเป็นพิเศษ 2. เตรียม SDK สำหรับการเตรียม SDK ก็ไม่มีอะไรมากครับ เพียงแค่แตกไฟล์ SDK ที่เราดาวน์โหลดมาก็เพียงแค่นั้น ใช้คำสั่ง สร้างไดเร็กทอรี่ ด้วยคำสั่ง mkdir mkdir adobeair_linux_sdk_a1_033108 เข้าไปยังไดเร็กทอรี่ที่ได้สร้างไว้ cd adobeair_linux_sdk_a1_033108 สร้างแตกไฟล์ ด้วยคำสั่ง tar

หัดเขียนโปรแกรมโดยใช้ Air ตอนที่ 2

ตอนที่ 2 รู้จักกับ Adobe Air Air เป็นโปรแกรมและเทคโนโลยีที่ช่วยให้นักออกแบบ สามารถสร้างสรรค์โปรแกรมที่ทำงานประสาน ระหว่างอินเตอร์เน็ตและโปรแกรมบนเครื่องคอมพิวเตอร์ ได้อย่างราบรื่น หลักการก็คือ แทนที่เราจะพึ่งพา web browser ในการท่องอินเตอร์เน็ตเพียงอย่างเดียว ต่อไปเราจะมีโปรแกรมซึ่งทำงานเชื่อมโยงระหว่างอินเตอร์เน็ตอย่างอิสระ หรือต่อให้ต้องพึ่งพา browser ก็จะทำตัวกลมกลืนไม่ทื่อ ๆ เหมือนเว็ปเพจยุคเว็ป 1.x อีกแล้ว โดยคุณสมบัติหลัก ๆ ของ Air คือ ๑. เชื่อมโยงอินเตอร์เน็ต กับคอมพิวเตอร์อย่างกลมกลืน ลื่นไหล ไม่ขาดตอน ๒. ส่งผ่านและติดต่อกับระบบอินเตอร์เน็ตอย่างต่อเนื่อง (คุณสมบัติหนึ่งของ Ajax) ๓. ใช้ระบบฐานข้อมูลของ Sqlite ซึ่งเป็นฐานข้อมูลตัวเล็กกระทัดรัด (คู่แข่งของ Air คือ Google gears ก็ใช้ Sqlite เช่นกัน) ๔. ระบบจะทำงานประสานกับ javascript framework ค่ายต่าง ๆ ผ่าน API ของ Air (ดู Air SDK ประกอบ) ๕. ระบบความปลอดภัยที่วิจัยพัฒนามาอย่างยาวนาน หลักการของ Air (สรุปจากที่ได้ศึกษามาระยะเวลาหนึ่ง : ครูป๋อง) 1. มีตัว runtime ซึ่งทำหน้าที่ในการตรวจสอบและจัดการไฟล์ .air โดยเรียกใช้ชุดเครื่องมืออื่

ห้องเรียนทันข่าว ห้องเรียนก๊อปข่าว ?

ได้มีโอกาสเขียนข่าวให้กับห้องเรียนทันข่าวไปหลายตอน แต่ละข่าวนั้นกินเวลาอย่างน้อยร่วม 2 ชั่วโมง โดยตอนที่นานที่สุดคือ "ข่าวห้องน้ำสองเพศ" ใช้เวลาร่วม ๆ 6 ชั่วโมง เนื้อข่าวที่เขียนพอสรุปออกมาแล้ว ได้ไม่กี่บรรทัดครับ...55555 ที่ต้องใช้เวลานานขนาดนั้นเพราะแต่ละข่าวต้องการ การกลั่นกรองว่า - แต่ละคำเหมาะสมไหม? - การใช้คำถูกต้องตามอัขระวิธีหรือไม่ ? - ถูกหลักไวยกรณ์ หรือไม่? - เนื้อข่าว หัวข้อข่าวเหมาะสมหรือไม่? - ที่สำคัญคือ ข่าวจะถูกใจคนอ่าน มีประโยชน์ต่อการนำไปใช้เพียงใด? คำถามข้างต้นล้วนเป็นสิ่งที่คนเขียนข่าวต้องถาม และตอบโจทย์ให้ได้ ก่อน , ระหว่าง หรือหลังการเขียนข่าว หากเป็นก่อนเขียนข่าวก็ดีหน่อย คือวิเคราะห์เรื่องต่าง ๆ ที่จะเขียน ตอบโจทย์ทุกข้อที่ต้องการจากนั้นจึงลงมือเขียน... ลักษณะการทำงานแบบนี้ยากตอนเริ่ม แต่ง่ายตอนปฏิบัติ ส่วนการเขียนเสร็จแล้วค่อยมาตอบโจทย์ ดูจะเป็นอะไรที่ยุ่งยาก เพราะเมื่อเขียนเสร็จแล้วถ้าไม่ถูกใจมีหวังได้โล๊ะทิ้ง แล้วเริ่มเขียนใหม่เป็นแน่ ซึ่งก็ดูแล้วเป็นอะไรที่ไม่สนุกเลย การทำงานของผมอยู่ตรงกลางครับ คือ วางโครง กำหนดหัวข้

หัดเขียนโปรแกรมโดยใช้ Air

เขียนให้ บอร์ด OpenSource สพฐ. หากต้องการติดตาม ซีรี่ชุดนี้แบบเต็ม ก็ไปที่นี่ http://board2.obec.go.th/viewtopic.php?f=10&p=179555 ตอนที่ 1 เตรียมเครื่องไม้เครื่องมือ ... ก่อนที่จะมาทำความรู้จักกับ Air เรามาเตรียมตัวให้พร้อมสำหรับการสร้างงานก่อน เครื่องมือที่ต้องการได้แก่ 1. สภาพแวดล้อมของ Air 1.1 ดาวน์โหลด Adobe Air runtime ได้ที่นี่ http://download.macromedia.com/pub/labs ... 033108.bin 1.2 เครื่องมือสำหรับพัฒนาโปรแกรมโดยใช้ Air http://download.macromedia.com/pub/labs ... 33108.tbz2 ผมเก็บดาวน์โหลดไว้ที่ /data/MyServer/AdobeOpenSource ท่านจะเก็บไว้ที่ไหนก็ได้นะครับแล้วแต่สะดวก ที่ผมบอกไว้ว่าเก็บไว้ที่ใด เพราะในตัวอย่างต่อไปจะมีการอ้างอิงพาธ เกรงว่าจะเกิดความสับสนได้ 2. สภาพแวดล้อมการพัฒนาระบบ ขอใช้ Linux ตัวที่ได้รับความนิยมสำหรับแถว ๆ นี้ คือ ubuntu 8.04 สำหรับ distro อื่น ๆ ก็ประยุกต์ใช้ด้วยกันได้ครับ 3. โปรแกรมสำหรับสร้าง Air Application อันที่จริงใช้ text editor ตัวไหนก็ได้นะครับ ในที่นี้ผมขอแนะนำให้รู้จักกับ Aptana Studio

Google page หยุดรับสมาชิก

รูปภาพ
ไม่มีอะไรมาก ณ เวลานี้ 5 สิงหาคม 2551 ตอนนี้ google page ปิดรับสมาชิกแล้ว ไม่เชื่อ ดูเลย เขาบอกว่าสำหรับสมาชิกเก่าสามารถแก้ไข เพิ่มเติมเว็ปได้ตามปกติ เพียงแต่งดรับสมาชิกเพิ่มเท่านั้น สาเหตุที่เขางดรับ เพราะตอนนี้มีสมาชิกอยู่เป็นจำนวนมาก ทำให้เพจที่ต้องดูแลมากตามไปด้วย ส่งผลให้เส้นทางจราจร ไม่เอื้ออีกต่อไป นอกจากการปรับปรุงระบบเพื่อรองรับสมาชิกใหม่ที่จะเปิดให้สมัครอีกครั้งแล้ว ทาง google page ยังปรับปรุงฟีเจอร์ใหม่ ๆ สำหรับ google page ด้วย เช่นปรับระบบเว็ปไซต์ให้ใช้ CSS กำหนดเลเวลของสมาชิกได้ (ระบบ ACL) และอื่น ๆ อีกเพียบ อย่างไรก็แล้วแต่ขณะที่รอการปรับปรุงสมาชิกเดิมยังใช้คุณสมบัติเก่า ๆ ได้ตามปกติ เมื่ออัปเกรตระบบเสร็จสิ้น ซึ่งตามข่าวน่าจะภายในปีนี้ สมาชิกเดิมจะได้รับการอัปเกรตให้อัตโนมัติ ใครคิดจะใช้ Google page ก็อดใจรอความอลังการ ได้ก่อนสิ้นปีนี้ครับ

คำสั่งหาข้อมูลซ้ำ

แบบว่าตอนเขียนไม่ได้ดักไว้ตั้งแต่ต้น (คิดว่าคงไม่มีใครอุตริกรอกข้อมูลสองรอบ 55 คิดผิดครับ) ทำให้ต้องไล่แก้กันวุ่นเลย คำสั่งค้นหาข้อมูลซ้ำ โดยแสดงข้อมูล เลือกเอาเฉพาะ ชื่อที่ซ้ำเท่านั้น select * from #__area_nited_1 where name in (Select name from #__area_nited_1 group by name having count(*) > 1) order by name แทบกระอัก กว่าจะเรียบร้อย เก็บไว้เผื่อต้องใช้อีก