posted on 05 Jun 2008 15:15 by tazaii
จากรูปเป็นหน้าตาของรายงานการใช้เว็บเซอร์วิสโดยแสดงข้อมูลจาก
log
file การทำงานคือภายในไดเรกทอรี่นั้น
ๆ ที่เราเก็บ log file ภายในจะมี log file ที่ชื่อระบุตามวันที่เก็บ log file ใช้หลักการง่าย ๆ คือ จากวันที่ผู้ใช้ระบุนั้นจะเริ่มจาก start date ที่ระบุไปไล่ไปจนถึงวันสิ้นสุด
มีฟังก์ชันในการคำนวณหาจำนวนวันใช้ไล่ log file ทั้งหมด แล้วภายใน log file มีโครงสร้างที่เหมือนกันทุกเร็กคอร์ด ที่เว้นช่องว่างในแต่ละประเภท จึงใช้หลักการทำงานที่แตกข้อมูลแต่ละบรรทัดด้วยช่องว่างโดยใช้ฟังก์ชัน
explode()
แล้วข้อมูลแต่ละบรรทัดหรือแต่ละเร็กคอร์ดในแต่ละประเภทข้อมูลเก็บอยู่ในรูปของอาเรย์ แล้วใช้การค้นหาข้อมูลและการแสดงข้อมูลในแต่ละข้อมูลของแต่ละเร็กคอร์ด แต่มีพิเศษในกรณีที่ข้อมูลแสดงอยู่ในรูปการส่งค่า
URL แบบ GET เช่น Currency=BTH&Arrival=20080606&Departure=20080607
เป็นการแสดงข้อมูลหลายข้อมูลที่แยกย่อยลงไปอีกดังตัวอย่างจะมีข้อมูล Currency มีค่าเป็น BTH , Arrival มีค่าเป็น 20080606 และ Departure มีค่าเป็น 20080607 โดยภาษาพีเอชพีมีฟังก์ชันที่แยกข้อมูลอัตโนมัติ นั่นคือฟังก์ชัน parse_str($str,$result) $result จะเก็บข้อมูลชนิดอาเรย์
เขียนโปรแกรมเพื่อสร้างฟอร์มที่รับค่าตามที่กำหนด โดยค่าที่ส่งไปนั้นส่งไปในรูปของเว็บเซอร์วิส
แล้วให้แสดงผลไปยังผู้ใช้ในรูปแบบที่แปลงจากไฟล์เอ็กซ์เอ็มแอลไปเป็นรูปแบบที่ผู้ใช้สามารถเข้าใจได้ง่าย โดยใช้ภาษาพีเอชพีในการรับค่าจากฟอร์มแล้วส่งตัวแปรต่าง
ๆ ให้เป็น URL ของเว็บเซอร์วิสที่ต่อกัน
แล้วเราจะอ่านไฟล์เอ็กซ์เอ็มแอลจาก URL ที่เราต่อกัน
แต่เราจะแปลงไฟล์เอ็กซ์เอ็มแอลให้เช้าใจง่ายโดยใช้ไฟล์ xsl ที่แสดงข้อมูลให้เข้าใจง่ายตามแต่ละรูปแบบของไฟล์เอ็กซ์เอ็มแอลของแต่ละไฟล์ ไฟล์ xsl จะต้องระบุ Element ของไฟล์เอ็กซ์เอ็มแอลที่ต้องการแสดงได้อย่างถูกต้องตามรูปแบบเพื่อให้ค่าปรากฏและแสดงได้อย่างถูกต้อง หลักการง่ายๆ ในการนำตัวแปรเพื่อมาต่อเป็น URL ใช้หลักการต่อกันของสตริงและตัวแปรเท่านั้น และที่ได้รับผิดชอบให้ทำฟอร์มเว็บเซอร์วิสหลายฟังก์ชัน เป็นจำนวน 6 ฟังก์ชัน ที่จำเป็นต้องมีไฟล์
xsl ที่แยกของแต่ละฟอร์ม
เพราะแต่ละฟังก์ชันมีการแสดงผลไฟล์เอ็กซ์เอ็มแอลต่างกัน จึงต้องสร้างไฟล์ xsl ที่ตรงตามไฟล์เอ็กซ์เอ็มแอลของแต่ละไฟล์
การทำงานที่ต้องเพิ่มเติมของโปรแกรมนี้ คือต้องสร้างปุ่มกดให้สามารถลิ้งไปอีกฟังก์ชันได้
โดยให้ค่าจากฟอร์มก่อนหน้าแสดงไปยังฟอร์มอีกหน้าของฟังก์ชันใหม่
ซึ่งสามารถทำได้โดยเช็คว่ามีค่าที่ระบุอยู่แล้วหรือไม่
ถ้ามีจากเดิมให้แสดงออกเป็นค่าในฟอร์มนี้ได้เลย โดยกำหนดลงไปในส่วนฟอร์มที่แสดงออก แต่ถ้าหากปุ่มกดนั้นระบุจากไฟล์ xsl ซึ่งเป็นการแสดงข้อมูลมากกว่าหนึ่ง
จึงต้องระบุใน xsl ที่ต้องให้เกิดการวนซ้ำ ซึ่งจะไม่สามารถกำหนดค่าไปยังอีกฟอร์มได้ เพราะแสดงค่าโดยไฟล์ xsl แต่ไฟล์
xsl สามารถดึงข้อมูลในรูป xml เท่านั้นเราจึงไม่สามารถดึงค่าจากไฟล์
php ที่ส่งต่อมาได้
หน้าตาของโปรแกรม
posted on 11 May 2008 14:30 by tazaii in IT, Training
ตอนเย็นของวันที่ 24 เม.ษ. ลง Ubuntu 7.10 ลงแทน Fedora เนื่องจากว่าตอนนั้นไม่รู้ไงเลยให้พื้นที่ไป 30GBิ แน่ะ เลยจะไปเอาพื้นที่มาคืน (ใช้เก็บหนังน่ะ อิอิ) เลยเหลือไว้แค่ 5 GB พอ ก็ถือว่าลงง่ายนะ ทดสอบเข้าได้ทั้งสอง OS ก็โอนอนหลับสบายละ แต่ไหงตื่นมาตอนเช้าจะทำงาน เข้าไม่ได้หากลับ(GRUB)ไม่เจอ กลับไม่ได้จริงๆ อิอิ ก็เลยยืมเครื่องเพื่อน Search หาทำตามไม่ได้สักทีเง้อ สรุปไปๆมาๆ แผ่นที่เอามาลงแก้กลับอ่ะมันเสีย ...เซ็งเรย (มีสองแผ่นอ่ะ) ก็เลยลงใหม่อีกรอบเลยละกัน แล้วก็ใช้ได้ตามปกติ (ไม่รู้ว่าลงไปจะได้ใช้อะไรมากแค่ไหนเน่อ แล้วลงไปเวอร์ชัน 8.04 ก็ออกใหม่ซะแล้ว) ก็นะเป็นประสบการณ์ รู้ว่าลงระบบปฏิับัติการของลินุกซ์ต้องแบ่ง 2 partition คือ swap(ซึ่งเขาบอกว่าควรขนาดเป็นสองเท่าของขนุาดแรม) และ ..ปกติ แหะๆก็ไม่ค่อยสันทัดเรื่องลินุกซ์เท่าไรอ่ะนะ
ไม่ได้อั๊พนานมากเลยนะ เลยย้อนกลับไปช่วงประมาณวันที่ 23 เม.ษ. 51 พี่พงให้ดูเรื่่อง SSL จะให้ทำการติดตั้งไปยังเซิร์ฟเวอร์ใหม่ ก็ศึกษาตามเว็บคู่มือของ...จำไม่ได้ว่าบริษัทใช้ของอะไร ก็หาการติงตั้ง SSL Certificate install แต่ไม่ละเอียดก็หาวิธีทำกันตั้งนาน ในที่สุดพี่พงก็ทำได้แล้วดูจากหลักการง่าย ๆ คือะี่พงใช้คำสั่ง mmc (ไม่แน่ใจนะ) เพื่อเข้าไปทำการ export อันเดิมออกมาก่อนแล้วก็ import ตามที่เราต้องการ เง้อ..พูดเหมือนปุ๊บๆเนอะ..
SSL (Secure socket layer) เป็นช่องทางการส่งข้ิอมูลบนอินเตอร์เน็ตที่ให้มีความปลอดภัย ข้อมูลที่จัดส่งต้องการเป็นความลับ เช่นเว็บที่ต้องมีการจ่ายเงินผ่านเน็ต ที่เราเห็นก็จะเป็น https://www... หน้าที่ของ SSL หลัก ๆ ก็คือตรวจสอบความถูกต้องของฝั่ง client, server และการเข้ารหัส ส่วน SSH (Secure Shell ) เป็นโปรแกรมที่ใช้เชื่อมต่อคอมพิวเตอร์ทางไกลเพื่อใช้ควบคุมหรือtranfer file
ต่อจากในส่วนของ user interface design จะกล่าวถึงการออกแบบโปรแกรม ที่ใช้ Structure chart หรือผังโครงสร้าง ในการออกแบบเื่พื่อให้่ง่ายกับการเข้าใจภาพรวมของทั้งระบบ structure chart จะอธิบายความสัมพันธ์(ตรรกะ)ของการทำงานแต่ละส่วนย่อย (โมดูลย่ิอยหรือ module) ว่ามีความสัมพันธ์กันอย่างไร และข้อมูลที่ใช้ส่งผ่านระหว่างโมดูล จากนั้นแต่ละโมดูลย่อยค่อยอธิบายลงลึกไปอีกโดยใช้การเขียนเป็นภาษาคำอธิบาย หรือ Pseudo code
จากรูป (อ้างอิงจาก http://www.rff.com) อธิบาย execute module ที่ประกอบด้วยโมดูลย่อย A, B, C โดยที่โมดูล A จะต้องส่ง parameter x กลับคืนไป ส่วน B ส่งคืน y และ c รับค่า p มาจากโปรแกรมหลัก และโมดูล A,B มีการทำงาน GET CHARACTURE ที่รับค่า char จากโมดูล A แล้วคืนค่าไปยังโมดูล B ...
การออกแบบโปรแกรมให้ดีนั้นจะต้องให้แต่ละโมดูลเป็นอิสระต่อกัน พยายามให้แต่ละโมดูลสัมพันธ์กันแบบหลวม ๆ หากมีข้อผิดพลาดก็จะแก้ไขได้ง่าย หากมีความสัมพันธ์กับโมดูลอื่น ๆ เยอะก็จะต้องไปแก้ไขตามต่อเนื่องไป
เมื่อวันอังคาร(น่าจะนะ 042208) ได้สรุปเรื่อง User interface design ก็พรีเซ้นท์ให้พี่ ๆ แล้วก็ต้อมฟัง รวมทั้งยังนำเสนอในส่วนของ flow chart ของ keyword cloud มาใช้ด้วย
สรุปในส่วนของ User interface คือส่วนที่สำคัญในการพํฒนาระบบ ไม่เพียงแต่ที่เราต้องพัฒนาระบบให้มีประสิทธิภาพแล้วเราต้องทำให้ User interface ที่ให้ผู้ใช้ได้ใช้ะระบบมีความน่าสนใจ ก็ถือเป็นส่วนสำคัญ เพราะถึงแม้ว่าเราจะพัฒนาระบบมาดีแค่ไหนแล้ว แต่ถ้าหากผู้ใข้ไม่เข้าใจว่าจะใช้งานอย่างไรก็ไม่เกิดประโยชน์
User interface หลัก ๆ ในการออกแบบคือให้ผู้ใช้เข้าใจง่าย , มีการตอบโต้ระว่างผู้ใช้กับระบบ และการตอบสนองของระบบดี
แบ่่งออกเป็นประะเภทใหญ่ ๆ คือ
1. Natural Languge เป็นการใช้ภาษามนุษย์ในการติดต่อสื่อสาร มีความสลับซับซ้อน ยากแก่การตีความ เนื่องจากคำตอบกว้าง มีได้มากมาย
2. Question an Answerเป็นการเรียงลำดับที่เกิดด้วนการตั้งคำถามและคำตอบ เป็นบทสนทนา (Dialogue) เช่นดังการติดตั้งโปรแกรม เป็นต้น แต่ในบางครั้งผู้ใช้ก็ไม่ทราบคำตอบที่ถามจึงอาจจะมี help ไว้ช่วยเหลือ
3. Menu เป็นการเลือกสิ่งที่ปรากฏบนจอด้วยอุปกรณ์ต่าง ๆ เช่น เม้าส์, คีย์บอร์ด, ปากกา ,touch screen เป็นต้น โดยแบ่งเมนูไ้ด้หลายแบบ ไม่ว่าจะเป็น แบบ basic, pull down menu , popup menu , nested menu
(ภาพตัวอย่างใช้ โปรแกรม Firefox ละกัน)
4. Command Languageใช้ Syntax rule ดังนั้นผู้ใช้จึงต้องทราบคำสั่งนั้น ๆ แต่ถ้าใช้บ่อยๆ การใช้ command จะรวดเร็ว สะดวกมาก
5.GUI (Graphic user interface) ที่เราเห็นเป็นส่วนใหญ่ที่มีปุ่มให้เรากด เห็นเป็นภาพไอคอน สะดวกรวดเร็ว ทั้งยังเข้าใจง่าย วิธีการที่เราเรียกว่า drag and drop ที่กดแล้วปล่อย
แล้วกล่าวถึง Storyboard เป็นเทคนิคการออกแบบถึงเหตุการณ์ตามลำดับที่ให้เห็นภาพและหน้าตาการทำงาน user interface ตามที่กำหนด ที่เราเรียกว่า Prototype หรือต้นแบบเพื่อให้เรามองเห็นภาพการทำงานโต้ตอบกับระบบ ข้อดีของมันก็คือว่าทำให้เห็นภาพการเปลี่ยนแปลง, ข้อจำกัด แล้วทำให้ระบบตรงกับความต้องการมาำกทีสุด
posted on 21 Apr 2008 12:07 by tazaii in Training
สัปดาห์หลังสงกรานต์กับการฝึกงานลางานวันที่ 16 น่ะ ก็มันไม่มีรถกลับนิ กลับมาทำงานวันพฤหัส กะ ศุกร์ล่ะ สิ่งที่ได้ทำในช่วงนี้ก็คือ ...แหะ ๆ เล่น twitter อ่านะ สามารถอ่านรายละเอียดได้ ที่นี่นะ แล้วก็ดูการทำ Flowchart ที่จะมาปรับใช้กับที่เขียนโปรแกรมเกี่ยวกับ keyword cloud น่ะ
แล้วพี่ก็ให้ทำการสร้างไซต์ขึ้นมาในเซิร์ฟเวอร์ใหม่โดยคล้ายกับอันเดิมแหละ ใช้โปรแกรม Internet information Service หรือ IIS ก็คือสร้างไซต์ระบุ URL ที่ต้องการให้ลิ้งมายังเครื่องใหม่ โดยที่เราต้องกำหนด Head ให้ต่างกันเพราะ..(คิดว่านะ) มันอ้างระบุไปที่เดียวกันหรือไม่ระบุน่ะมันจะชนกัน ไม่งั้นมันจะทำงาน (start) ไม่ได้ แล้วอีกอย่างที่ต้องสร้างชึ้นมาคือต้องระบุ DNS ที่เราส้รางใหม่ก็คือ URL ที่เราต้องการให้มันทำงานได้นะแหละ ไม่งั้นถ้าเราลิ้งเข้าไปมันก็จะยังไม่มี ไม่รู้จะเอารูปไรลงก็...ให้ดูหน้าตาละกันเนอะ