ช่วงนี้ ผมแทบไม่ได้เข้ามาอัพเดทบล๊อกนี้เท่าไหร่ เพราะกำลังง่วนอยู่กับการศึกษาไมโครคอนโทรลเลอร์ ผมว่ามันสนุกดี แล้วก็จับต้องได้ด้วย ติดตามกันได้ที่นี่ครับ www.123microcontroller.com
วันนี้ ผมเอาเทคนิคดีๆ ที่ผมใช้อยู่เป็นประจำในที่ทำงาน เนื่องจากงานของผม ในบางครั้งจะต้องยุ่งเกี่ยวกับการดึงดาต้าจาก Oracle เพื่อนำมาประกอบการพิจารณาทางสถิติอะไรบางอย่าง ผมมักจะเลือกที่จะใช้ภาษา PHP ที่ผมถนัดอยู่แล้ว เป็นตัวกลางในการติดต่อกับดาต้าเบส Oracle จริงๆ เราสามารถใช้ภาษา SQL สั่งคิวรี่ ข้อมูลจาก Oracle ผ่านโปรแกรม SQL Plus ได้ แต่ในบางครั้งข้อมูลที่เราต้องการดึงมานั้น มีการเชื่อมโยงข้อมูลต่างตารางกัน แล้วยังจะมีการคำนวณหรือกรองข้อมูลที่ไม่ต้องการออก หรือในบางครั้งอาจจะต้องมีการเปรียบเทียบข้อมูลทั้งหมดในแต่ละรอบก่อน แล้วจึงค่อยแสดงค่า ถ้าจะให้ทำการวนลูปด้วยภาษา SQL บอกได้คำเดียวว่ายาก (โดยเฉพาะ ผมก็ไม่เคยทำได้สักที)
ที่พูดมาทั้งหมดก็อยากจะบอกว่า ในบางครั้งการใช้ภาษาสคริปต์อย่างเช่น PHP ในการประมวลผลข้อมูล มันจะเป็นการง่ายกว่า การมานั่งเขียนภาษา SQL เพื่อให้ได้คำตอบที่ต้องการในการคิวรี ข้อมูลภายในครั้งเดียว แต่ภาษา SQL ก็ยังเป็นส่วนที่จำเป็นอยู่ดี ไม่สามารถทิ้งไปได้ แต่เราจะใช้ในการดึงข้อมูลดิบ แล้วทำการส่งต่อให้ PHP ทำการประมวลผลต่อไป ซึ่งถ้าใครถนัด PHP อยู่แล้ว จะทำให้มองภาพของการไหลของข้อมูลออกได้อย่างง่ายดาย
จริงๆ ผมน่าจะเขียนเรื่องการ config PHP ให้ติดต่อกับฐานข้อมูล Oracle ก่อนนะ แต่ในเมื่อเกริ่นนำไว้แล้ว ก็เลยกะว่า เอาไว้เขียนวันหลังแล้วกัน เพราะมี plan จะเขียนเรื่องนี้ ให้เพื่อนที่ทำงานดูอยู่แล้วหล่ะ
กลับมาเรื่องที่ตั้งใจจะนำเสนอกันดีกว่า ในกรณี ผมต้องการให้ script ของผมทำงานเป็นเวลา โดยตั้งเวลาผ่านโปรแกรม system scheduler ซึ่งผมใช้เป็นประจำในการกำหนดให้สคริปต์ผมทำงานตามเวลาที่ตั้งไว้
ในส่วนของการใช้งานโปรแกรมนี้ ก็ไม่มีไรมาก ตามรูปเลยครับ แต่ส่วนสำคัญอยู่ตรงที่ parameter ครับ ผมขออธิบายก่อนดังนี้ เนื่องจากในสคริปต์นี้ ผมต้องการที่จะเขียนครั้งเดียว แต่สามารถทำงานได้หลายเงื่อนไข ผมจึงออกแบบให้โปรแกรมเป็นกลางๆ ไว้ก่อน โดยให้สามารถเปลี่ยนเงือนไขภายในได้จาก Argument ที่ผมส่งเข้าไปตามรูป แต่ในกรณีที่เพื่อนๆ ออกแบบสคริปต์ให้ทำงานแค่อย่างเดียวก็อาจจะไม่จำเป็นจะต้องทำการส่ง Argument เข้าไปเหมือนผมก็ได้ แล้ภายในสคริปต์ก็จะแตกต่างไปจากของผมด้วยเช่นกัน
ในการทำอย่างนี้ เมื่อโปรแกรมเราถูก Execute เมื่อเวลาได้ถูกกำหนดตามที่เราต้องการ สคริปต์จะถูกสั่งให้ทำงานผ่านหน้าต่าง dos โดยจะทำงานเป็นแบบ text mode แต่ก็ใช่ว่าโปรแกรมของเราจะดูด้อยค่าเหมือนหน้าต่างโปรแกรมทีกำลังรันอยู่เลย กลับกัน มันกลับมีพลังในการทำงานอย่างดีเยี่ยมต่างหาก เพราะเพื่อนๆ สามารถสั่งให้สคริปต์ทำการเขียนผลลัพธ์ลง text file หรือจะเป็นนำค่าที่ได้ย้ายไปเก็บค่าในดาต้าเบส MySQLอีกทีหนึ่งก็สามารถทำได้เช่นกัน ทั้งนี่ ขึ้นอยู่กับประสบการณ์ของแต่ละคนครับ
เรามาดูตัวอย่างสคริปต์นี้กันครับ
มันเป็นตัวอย่างง่ายๆ เพื่อให้เพื่อนๆ ได้ทดลองกันก่อน เพื่อให้ได้เห็นผลลัพธ์ ก่อนการนำไปประยุกต์ใช้งานครับ ผลลัพธ์ที่ได้ก็คือ
จะเห็นว่า argc[0] ตัวแรกจะเป็นชื่อไฟล์ที่เราสั่งให้ทำงาน ส่วน argument ที่เราส่งเข้าไปในสคริปต์จะเริ่มต้นที่ argc[1] ถ้าเรามี argument ที่มากกว่า 1 ตัว เราก็จะได้ argc[2].. argc[3]…argc[n] ไปเรื่อยๆ เพื่อนๆ ลองคิดต่อดูสิครับ ว่าโปรแกรมเราจะยืดหยุ่นขนาดไหน โดยที่เราสามารถส่งค่าเข้าไปโดยผ่านทาง command line ต่อๆเข้าไปได้อย่างนี้
ถ้าใครจะไม่ใช้โปรแกรม sytem scheduler แต่เพื่อนๆ อยากรันที่ dos prompt เลยก็ได้นะครับ ก็ทำเหมือนกัน ไม่ได้ต่างกันเลยครับ เราก็สามารถ execute สคริปต์ของเราผ่าน command line ได้เช่นกันครับ
ลองๆ นำไปประยุกต์ใช้งานกันดูครับ แล้วเจอกันใหม่ในตอนหน้าครับ สวัสดีครับ
2 ความคิดเห็น:
รออ่าน เรื่องการ config PHP ให้ติดต่อกับฐานข้อมูล Oracle
ต่อนะครับ :)
ตอนนี้ทำ CURL ผ่าน system scheduler
เบื่อกับการนั่ง Run เป็นคนขี้เกียจผมชอบอะไรที่ automate
เข้า concept ผมเลย
Post a Comment