- Details
-
Category: IT Zone
-
Published: Thursday, 13 December 2012 04:43
-
Written by Super User
-
Hits: 14682
มีอยู่วันนึงครับ ผมไปค้นหาข้อมูลในอินเตอร์เน็ตเล่นๆ ปรากฎว่าไปเจอข้อมูลบางอย่างค่อนข้างน่าสนใจครับ นั่นก็คือคอนเซ็ปเรื่อง web os นั่นเองครับ ผมถึงกับร้อง ว๊าว เลยทีเดียว หมายความว่ายังไงหรอครับ ก็หมายความว่า เป็นระบบที่เป็นเว็บเบสที่ทำหน้าที่เป็นระบบปฎิบัติการตัวนึงเลยทีเดียว ผมได้ยินมาว่านะครับ ในอีกซัก 2-3 ปีข้างหน้า จะเป็นที่นิยมกันมากเลยทีเดียว
ผมก็นึกต่อไปอีกนะครับ ต่อไประบบปฎิบัติการ(operation system)ในเครื่องคอมพิวเตอร์ของเรา ไม่ต้องลงซอฟต์แวร์อะไรกันแล้วครับ ไปหาใช้เอาบนอินเตอร์เน็ตเอา ตามเว็บไซต์ต่างๆที่ให้บริการอยู่ ก็น่าจะเพียงต่อความต้องการของผู้ใช้แล้วครับ แค่คิดไว้เล่นๆนะครับ แต่ผมค่อนข้างมั่นใจว่า วั้นนั้นต้องมาถึงแน่นอน
และตอนนี้ครับ ผมไปหาเจอมาตัวนึง ค่อนข้างน่าอัศจรรย์มากนั่นก็คือ eyeos ครับ(จาก http://www.eyeos.org) ค่อนข้างดีและน่าสนใจมากเลยทีเดียว สามารถทำเอกสารออนไลน์ได้ อาทิเช่น word document, spread sheet(excel), presentation(power point) และอื่นๆได้อีกนะครับ และนอกจากนั้นยังจะสามารถติดตั้ง app เพิ่มได้อีกด้วย ผมก็หาไปหามาก็ไปเจอ เว็บไซต์ http://eyeos-apps.org ที่แจก app ของ eyeos เพียบเลยครับ
ผมก็เลยไม่รอช้า ลองเอาติดตั้ง แล้วก็ลองเอามาให้เพื่อนๆช่วยกันเล่นนะครับ สามารถเข้าไปลองกันได้เลยนะครับที่ http://myeye.keng-d.com
อ่อ อีกอย่าง ลองเล่นแล้ว ได้ผลเป็นยังไง ชอบหรือไม่ชอบ เข้ามาติชมกันได้นะครับ
- Details
-
Category: IT Zone
-
Published: Thursday, 13 December 2012 04:42
-
Written by Super User
-
Hits: 20233
เมื่อประมาณปีสองปีก่อน ผมบังเอิญได้โดเมน .in.th ฟรีมา 1 อันจากบริษัทที่ผมทำงานครับ ผมก็นั่งคิดอยู่ซักพักว่าจะเอามาใช้ทำอะไรดี คิดไปคิดมาก็จดเป็น cakephp.in.th ดีกว่า และก็นำเสนอ CakePHP Framework กันในนั้นซะเลย
ที่มาที่ไปว่าทำไมจะต้องเป็น CakePHP ก็คือ เนื่องจากว่าผมเป็น dev ของ mambo และตาม road map การพัฒนาของแมมโบ้นั้น mambo เวอร์ชั่น 5.0 นั้นจะ implement กันด้วย CakePHP Framework กันเป็นหลักครับ ผมก็เลยถือโอกาสศึกษา CakePHP ไปในตัว และก็ชวนเพื่อนผมมาช่วยกันเล่นด้วยครับ
ส่วนใครสงสัยว่า CakePHP คืออะไรนั้นผมจะบอกในนี้คร่าวๆครับ จะขอยก คำอธิบายของเพื่อนมาเลยก็แล้วกันนะครับ
CakePHP คือ Framework ที่พัฒนาด้วยภาษา PHP ที่เป็น Free,Open-Source โดยการออกแบบโปรแกรม(design patterns) แบบ MVC (Model-view-controller) และ ORM (Object-relational_mapping) เข้ามาเป็นมาตรฐานหรือข้อตกลงในการพัฒนาโปรแกรม ส่วนเรื่อง MVC และ ORM สำหรับคนที่ยังไม่รู้ความหมายและหลักการทำงาน สามารถอ่านคำอธิบายในเว็บไซต์ cakephp.in.th ได้นะครับ แต่ตอนนี้เรามาทำความเข้าใจกับ CakePHP framework ตัวนี้กันก่อน
ความหมายของ Framework ก็คือ กรอบของการทำงาน แปลตรงตัวเลยครับ Frame + work แต่ถ้ามองในแง่โปรแกรม ก็จะเป็น ข้อกำหนดหรือขอบเขตในการเขียนโปรแกรมให้เป็นไปในรูปแบบเดียวกัน และสามารถนำไปเขียนเพิ่มเพื่อตอบสนองความต้องการอย่างใดอย่างหนึ่งได้ ดังนั้น CakePHP framework ก็จะมี class และ function ต่างๆ ให้เราได้เรียกใช้ โดยที่เราไม่ต้องไปเสียเวลาเขียนขึ้นมาเอง ซึ่งจะทำให้เกิดความรวดเร็วในการพัฒนา Web Application
ความสามารถใน CakePHP framework
- มีลิขสิทธิ์ที่ยืดหยุ่น
- ทำงานร่วมกับ PHP version 4 และ 5
- รวมคำสั่ง CRUD (Create, read, update and delete) สำหรับ Database ที่ทำให้ง่ายต่อการคิวรี่
- ใช้สถาปัตยกรรม MVC (Model-view-controller)
- มี Helper ช่วยพัฒนาได้ง่ายและรวดเร็ว เช่น AJAX, JavaScript, HTML Forms and อื่นๆ
- มีความปลอดภัยในเรื่อง Email, Cookie, Security, Session,และรองรับการทำงานในรูปแบบ Components
- มีการเรียก URL ที่ส่งค่าแบบสวยงาม
น่าจะพอเข้าใจกันบ้างนะครับ ถ้าใครสนใจศึกษาเพิ่มเติม ตามไปอ่านกันได้เลยครับที่ http://www.cakephp.in.th
- Details
-
Category: IT Zone
-
Published: Thursday, 13 December 2012 04:40
-
Written by Super User
-
Hits: 17259
เพื่อการพัฒนาโปรแกรมให้เป็นไปอย่างราบรื่น และเพื่อให้เกิดปัญหากับลูกค้าหรือโปรแกรมเมอร์ด้วยกันน้อย ที่สุด ในกรณีที่มีการช่วยเหลือกันแก้โปรแกรม และเพื่อให้โปรแกรมมีประสิทธิภาพมากที่สุด เราจำเป็นที่จะต้องปฏิบัติตามดังต่อไปนี้
1. ควรตั้งค่าตัวแปร config ของ php บางตัวให้เป็นดังต่อไปนี้
register_globals=Off
short_open_tag=Off
asp_tags=Off
error_reporting=E_ALL | E_DEPRECATED
display_errors=On
allow_call_time_pass_reference=Off
2. เรื่องการตั้งชื่อตัวแปรต่างๆ โดยเฉพาะตัวแปรที่เป็น constant ที่เรามักจะ define ไว้ในไฟล์ภาษาของคอมโพเน้นท์เรา ให้ระวังเรื่องการตั้งชื่อซ้ำกับของระบบแมมโบ้ที่มีอยู่แล้ว ถ้าเป็นไปได้ให้เราตั้งชื่อโดยการใช้ prefix ที่เราคิดว่ามันไม่น่าจะไปซ้ำกับของแมมโบ้หรือของคอมโพเน้นท์ อื่น หรือ extension ตัวอื่นๆ อย่างเช่น แทนที่เราจะตั้งเป็น _MAY ให้เราตั้งเป็น _LTS_MAY หรือ LTS_MAY เป็นต้น(LTS มาจาก Laithai Suit)
3. ตรงนี้มักจะมีปัญหาในกรณีที่เราสร้างฟังก์ชั่นตอนที่เราสร้างโมดูล และเราทำการสำเนาโมดูล หรือบางทีอาจจะทำคอมโพเน้นท์ให้ใช้ได้ทั้งแมมโบ้และจูมล่า บางครั้งคอมโพเน้นท์นั้นๆ เราอาจจะไปเอาคอมโพเน้นท์ของจูมล่ามาแก้ และมันดันไปเรียกฟังก์ชั่นบางตัวที่แมมโบ้ไม่มี เราก็จึงจำเป็นที่จะต้องไปก๊อปปี้ฟังก์ชั่นนั้นมาด้วย แต่ว่า ถ้าเราไปก๊อปปี้มาเฉยๆ คอมโพเน้นท์ใหม่ที่เราแก้ ก็อาจจะทำงานผิดพลาดในกรณีที่เรานำไปใช้กับจูมล่า เพราะว่าชื่อฟังก์ชั่นมันซ้ำกัน ถ้าจะเปลี่ยนชื่อฟังก์ชั่นซะใหม่ ก็จะทำให้ขนาดเนื้อที่ในฮาร์ดดิสก์เพิ่มขึ้น(ถึงแม้จะไม่มากก็ ตาม แต่ก็สำคัญ เพราะเราจะต้องทำให้งานของเรามีขนาดเล็กที่สุด แต่ประสิทธิภาพมากที่สุด) เพราะฉะนั้นวิธีแก้ปัญหาก็ง่ายมาก เวลาเราจะสร้างฟังก์ชั่นให้เราใช้ฟังก์ชั่น function_exists() ช่วยในการตรวจสอบว่าชื่อฟังก์ชั่นนี้มีอยู่หรือเปล่า ถ้ามีแล้ว ก็ไม่จำเป็นที่จะต้องสร้างฟังก์ชั่นใหม่ ตัวอย่างการใช้ ให้ใช้ดังนี้ if(!function_exists("function_name")) { function function_name( $param1, $param2, ....) { ........ } } เราสามารถเปลี่ยน function_name เป็นชื่อที่เราต้องการได้
4. ใช้ฟังก์ชั่น include_once() หรือ require_once() แทน include() หรือ require() อันนี้จะเป็นปัญหาเรื่องการประกาศฟังก์ชั่นซ้ำเช่นกัน หรือบางทีอาจจะเป็นการเรียกโปรเซสซ้ำๆ หรือประกาศตัวแปรซ้ำ ซึ่งเราไม่ต้องการให้มันซ้ำ เราต้องการจะเรียกมันแค่ครั้งเดียว อย่างเช่นการเรียกไฟล์ภาษาเป็นต้น ถ้าเราใช้ include_once() หรือ require_once() มันจะตรวจสอบเรื่องของการซ้ำให้เรา ถ้าเราเรียกใช้ไฟล์นี้ครั้งที่สอง หรือสาม สี่ ห้า ครั้งต่อๆไป จะไม่มีผล จะมีผลแค่ครั้งแรกครั้งเดียวเท่านั้น
5. สำหรับโปรแกรมเมอร์ที่พัฒนา extensions ของแมมโบ้หรือจูมล่าให้เปิดโหมด debug ของระบบด้วย วิธีการคือล็อกอินเข้าด้านหลัง เข้าไปที่การตั้งค่าคอนฟิกหลัก หรือ Global Configuration ที่แท็บแรกเลย ให้เปิดโหมด ดีบั๊ก หรือแก้ไขข้อผิดพลาด โดยให้เลือกเป็นใช่แล้วกดบันทึก
6......ยังนึกไม่ออก
ป.ล.ในกรณีที่ทำตามคำแนะนำต่างๆ แล้วเกิดมีข้อความ error หรือ warning แสดงออกมาให้เราคลีนให้หมด(ไม่ใช่โดยการไปทำในสิ่งที่ตรงกัน ข้ามกับที่ผมบอกนะ) โดยการแก้โปรแกรมให้อยู่ในรูป well-form ที่สุด โดยโค้ดตรงไหนที่ผิดพลาดก็แก้ให้ถูกต้องซะ คำคมทิ้งท้าย: ทำโปรแกรมให้แข็งแรงต่อสู้กับเซิร์ฟเวอร์ที่หลากหลาย ดีกว่าทำโปรแกรมให้ทำงานได้แค่เซิร์ฟเวอร์เพียงเซิร์ฟเวอร์เดียว