แต่ก่อนนี่เค้าเรียกว่า "บ้าพลัง" เพราะว่า อยากได้อะไรก็ทำเองโดยเริ่มจากศูนย์ สำเร็จบ้างก็มี ไม่สำเร็จก็เยอะ ทำเสร็จแล้วก็พบว่ามีคนทำแล้วนี้หว่า แต่พอเอาของคนอื่นมาใช้ก็ปรากฏว่า ไม่ใช่อย่างที่ต้องการทีเดียว
ความยากอยู่ที่ว่า จะทำหรือจะเลือกใช้อะไรดี มาพูดถึงการเลือกใช้ก่อน เคยค้น google แล้วปรากฏว่า มันมีมากเกิน ถ้าเอามาลองดูทั้งหมดก็จะต้องใช้เวลาไปหลายปี ถ้าโชคดีก็จะเจออันที่ดี แต่ถ้าโชคร้ายก็เสียเวลาเปล่า บางทีเห็นเพื่อน ๆ เลือกกันเป็นปี ๆ ยังไม่ได้เลย
ดังนั้นอย่าว่าอะไรเลย ขอทำเองดีกว่า
. . .
หลังจากทำไปแล้ว ได้อะไร , ได้สิ่งที่ต้องการเป๊ะ (มีความเหมือนกับของคนอื่นด้วย) และเป็นเฉพาะของเรา ไม่ต้องมีการแก้ไขทีหลัังหากไม่ต้องการอะไรเพิ่ม
... แต่เราจะจัดการอย่างไรถ้าเวลามันเปลี่ยนไปนาน ๆ
Wednesday, August 22, 2007
Tuesday, August 21, 2007
Open source, Open user
หลังจากที่ได้ใช้งาน Open Source มาหลายปี ผ่านการใช้งานจริงมาก็เยอะ เอาของคนอื่นมาแก้ไขก็มี ก็เลยขอสรุปว่า Open Source มันมีความหมายของผมดังนี้
1. มันมีไว้ให้ลองใช้งานได้โดยไม่ต้องเสียค่า Source Code (ปกติแล้วเสียค่า link ในการ download)
2. ถ้าหลังจากนำมาใช้งานนั้นปรากฏว่า ยังไม่พอใจ ก็สามารถเข้าไปแก้ไขที่ Source ได้โดยตรง
3. มันทำให้ค่าของ Source Code มีมูลค่าต่ำลง แต่ว่า คุณค่าของมันอยู่ที่ว่ามันมีประโยชน์มากแค่ไหน ซึ่งต่างคน ก็มีคุณค่าที่ต่างกัน
4. มันเป็นการเปิดการเข้าถึงขบวนการพัฒนา และศาสตร์ต่าง ๆ ที่ใช้พัฒนา
5. สามารถเข้าถึงกลุ่มผู้พัฒนาได้ (แต่ได้รับการต้อนรับหรือไม่นั้น อีกเรื่องหนึ่ง)
6. ลดภาระ ของการทำงานบางอย่างเพื่อบางกลุ่ม เช่น การปรับให้ใช้ได้หลาย ภาษา เพราะว่า เป็นการ Open Source ดังนั้นจึงหวังว่า ผู้คนที่ใช้ภาษาที่สวยงามน่าจะไปแก้ไขได้อยู่แล้ว
เท่าที่จำได้ก็มีแค่นี้แหละครับ
1. มันมีไว้ให้ลองใช้งานได้โดยไม่ต้องเสียค่า Source Code (ปกติแล้วเสียค่า link ในการ download)
2. ถ้าหลังจากนำมาใช้งานนั้นปรากฏว่า ยังไม่พอใจ ก็สามารถเข้าไปแก้ไขที่ Source ได้โดยตรง
3. มันทำให้ค่าของ Source Code มีมูลค่าต่ำลง แต่ว่า คุณค่าของมันอยู่ที่ว่ามันมีประโยชน์มากแค่ไหน ซึ่งต่างคน ก็มีคุณค่าที่ต่างกัน
4. มันเป็นการเปิดการเข้าถึงขบวนการพัฒนา และศาสตร์ต่าง ๆ ที่ใช้พัฒนา
5. สามารถเข้าถึงกลุ่มผู้พัฒนาได้ (แต่ได้รับการต้อนรับหรือไม่นั้น อีกเรื่องหนึ่ง)
6. ลดภาระ ของการทำงานบางอย่างเพื่อบางกลุ่ม เช่น การปรับให้ใช้ได้หลาย ภาษา เพราะว่า เป็นการ Open Source ดังนั้นจึงหวังว่า ผู้คนที่ใช้ภาษาที่สวยงามน่าจะไปแก้ไขได้อยู่แล้ว
เท่าที่จำได้ก็มีแค่นี้แหละครับ
Sunday, August 19, 2007
ความปลอดภัยทำไมมันมาช้าจัง
ได้มีโอกาสในการพัฒนาโครงการหลายๆ อย่าง แต่มีบ่อยครั้งคนมักจะลืมนึกถึงคือ "เรื่องความปลอดภัย" ของข้อมูล เช่น การเผยแพร่ข้อมูลส่วนตัว, รูป
ซึ่งกว่าจะรู้ว่าต้องเพิ่มเข้าไปในโครงการนั้นก็ล่าช้าไปบ้างแล้ว หรือบางครั้งก็สูญเสียความเชื่อมันไปเสียแล้ว
ช่วงนี้ได้มีโอกาสใช้งาน WSWG อยู่ ซึ่งจะทำการ upload ข้อมูลขึ้นไปไว้ที่ web และสามารถ แบ่งปันข้อมูลได้ จึงได้ลองถามหลาย ๆ คนดูว่าสามารถใส่เรื่องความปลอดภัยของข้อมูลที่ upload ได้หรือไม่, ทำได้หรือเปล่า แต่คำตอบที่ได้นั้นดูเหมือนไม่ค่อยให้ความสำคัญเท่าไหร่ ซึ่งส่วนตัวแล้วผมคิดว่าถ้าผมต้องเป็น ผู้ใช้ระบบที่ไม่ได้ดูแลเรื่องความปลอดภัยนี้ให้ คงจะตัดสินใจ "ไม่ใช้ดีกว่า"
ดังนั้นจึงดำเนินการแก้ไขด้งนี้
FCKeditor เป็น WSWG ที่เลือกใช้ ซึ่งข้อมูลที่ได้ upload ไปน้นปกติจะไปวางไว้ที่ server ที่ตำแหน่งเดียวกัน ใช้เวลาค้นจาก google อยู่นาน จึงได้คำตอบว่า ให้ทำการแก้ที่ command.php ของ filemanager ดังนี้
1. ไฟล์ที่แก้ไขคือ fckeditor/editor/filemanager/browser/default/connectors/php/connector.php
2. เพิ่ม session_start() ดังนี้
session_start(); // Require session
ob_start() ;
include('config.php') ;
include('util.php') ;
include('io.php') ;
include('basexml.php') ;
include('commands.php') ;
3. ปกติแล้ว UserFilePath จะถูกอ่านมาจาก fckeditor/editor/filemanager/browser/default/connectors/php/config.php
ดังน้นจึงทำการแก้ไฟล็ connector.php ดังนี้
ส่วนการควบคุมสิทธิ์การเข้าถึงไฟล์ของ user นั้น ก็ต้องแล้วแต่ application นะครับ ซึ่งในส่วนที่ผมทำให้ดูนั้น ก็พอใช้งานได้ และ ก็หวังว่าจะมีการพัฒนาเพิ่มเติม
ที่มา: http://www.fckeditor.net/forums/viewtopic.php?f=6&t=1772&p=11476&hilit=file+upload+security#p11476
ซึ่งกว่าจะรู้ว่าต้องเพิ่มเข้าไปในโครงการนั้นก็ล่าช้าไปบ้างแล้ว หรือบางครั้งก็สูญเสียความเชื่อมันไปเสียแล้ว
ช่วงนี้ได้มีโอกาสใช้งาน WSWG อยู่ ซึ่งจะทำการ upload ข้อมูลขึ้นไปไว้ที่ web และสามารถ แบ่งปันข้อมูลได้ จึงได้ลองถามหลาย ๆ คนดูว่าสามารถใส่เรื่องความปลอดภัยของข้อมูลที่ upload ได้หรือไม่, ทำได้หรือเปล่า แต่คำตอบที่ได้นั้นดูเหมือนไม่ค่อยให้ความสำคัญเท่าไหร่ ซึ่งส่วนตัวแล้วผมคิดว่าถ้าผมต้องเป็น ผู้ใช้ระบบที่ไม่ได้ดูแลเรื่องความปลอดภัยนี้ให้ คงจะตัดสินใจ "ไม่ใช้ดีกว่า"
ดังนั้นจึงดำเนินการแก้ไขด้งนี้
FCKeditor เป็น WSWG ที่เลือกใช้ ซึ่งข้อมูลที่ได้ upload ไปน้นปกติจะไปวางไว้ที่ server ที่ตำแหน่งเดียวกัน ใช้เวลาค้นจาก google อยู่นาน จึงได้คำตอบว่า ให้ทำการแก้ที่ command.php ของ filemanager ดังนี้
1. ไฟล์ที่แก้ไขคือ fckeditor/editor/filemanager/browser/default/connectors/php/connector.php
2. เพิ่ม session_start() ดังนี้
session_start(); // Require session
ob_start() ;
include('config.php') ;
include('util.php') ;
include('io.php') ;
include('basexml.php') ;
include('commands.php') ;
3. ปกติแล้ว UserFilePath จะถูกอ่านมาจาก fckeditor/editor/filemanager/browser/default/connectors/php/config.php
ดังน้นจึงทำการแก้ไฟล็ connector.php ดังนี้
// Get the "UserFiles" path.
$GLOBALS["UserFilesPath"] = '' ;
if ( isset( $Config['UserFilesPath'] ) )
$GLOBALS["UserFilesPath"] = $Config['UserFilesPath'].$_SESSION['login_id'] ; // Add Security support for each login
else if ( isset( $_GET['ServerPath'] ) )
$GLOBALS["UserFilesPath"] = $_GET['ServerPath'] ;
else
$GLOBALS["UserFilesPath"] = '/userfiles/' ;
if ( ! ereg( '/$', $GLOBALS["UserFilesPath"] ) )
$GLOBALS["UserFilesPath"] .= '/' ;
if ( strlen( $Config['UserFilesAbsolutePath'] ) > 0 )
{
$GLOBALS["UserFilesDirectory"] = $Config['UserFilesAbsolutePath'].$_SESSION['login_id'] ; // Add Security support for each login
if ( ! ereg( '/$', $GLOBALS["UserFilesDirectory"] ) )
$GLOBALS["UserFilesDirectory"] .= '/' ;
}
else
{
// Map the "UserFiles" path to a local directory.
$GLOBALS["UserFilesDirectory"] = GetRootPath() . $GLOBALS["UserFilesPath"] ;
}
4. หลังจากใช้งาน จะสังเกตได้ว่า แต่ละ user มี Folder ส่วนตัว ไว้ upload และก็ไม่ต้องกลัวว่า จะมีใครเอาไฟล์ไปใช้ หรือจะไปเอาไฟล์ของคนอื่นมาใช้$GLOBALS["UserFilesPath"] = '' ;
if ( isset( $Config['UserFilesPath'] ) )
$GLOBALS["UserFilesPath"] = $Config['UserFilesPath'].$_SESSION['login_id'] ; // Add Security support for each login
else if ( isset( $_GET['ServerPath'] ) )
$GLOBALS["UserFilesPath"] = $_GET['ServerPath'] ;
else
$GLOBALS["UserFilesPath"] = '/userfiles/' ;
if ( ! ereg( '/$', $GLOBALS["UserFilesPath"] ) )
$GLOBALS["UserFilesPath"] .= '/' ;
if ( strlen( $Config['UserFilesAbsolutePath'] ) > 0 )
{
$GLOBALS["UserFilesDirectory"] = $Config['UserFilesAbsolutePath'].$_SESSION['login_id'] ; // Add Security support for each login
if ( ! ereg( '/$', $GLOBALS["UserFilesDirectory"] ) )
$GLOBALS["UserFilesDirectory"] .= '/' ;
}
else
{
// Map the "UserFiles" path to a local directory.
$GLOBALS["UserFilesDirectory"] = GetRootPath() . $GLOBALS["UserFilesPath"] ;
}
ส่วนการควบคุมสิทธิ์การเข้าถึงไฟล์ของ user นั้น ก็ต้องแล้วแต่ application นะครับ ซึ่งในส่วนที่ผมทำให้ดูนั้น ก็พอใช้งานได้ และ ก็หวังว่าจะมีการพัฒนาเพิ่มเติม
ที่มา: http://www.fckeditor.net/forums/viewtopic.php?f=6&t=1772&p=11476&hilit=file+upload+security#p11476
การกีฬากับการพัฒนาประเทศ
เมื่อวานได้มีโอกาสไปดูงานมหกรรมกีฬามหาวิทยาลัยโลก (www.bangkok2007.com) เป็นที่อิจฉายิ่งนั้น ที่ได้เห็นคำนี้ "University Sports Association of Poland" บน เสื้อของเหล่านักกีฬาของประเทศโปแลนด์ (Polska) ซึ่งเป็นการแสดงให้เห็นว่า การกีฬาต้องมีการสนับสนุน จากรัฐบาล
<- บรรยากาศในสนาม <-เหล่ากองเชียร์ (นักกีฬา) ของประเทศ Polska
ยังไม่รู้ว่าของประเทศไทยมีหรือยัง หรือมีเป็นแบบเฉพาะกิจ
<- บรรยากาศในสนาม <-เหล่ากองเชียร์ (นักกีฬา) ของประเทศ Polska
ยังไม่รู้ว่าของประเทศไทยมีหรือยัง หรือมีเป็นแบบเฉพาะกิจ
Subscribe to:
Posts (Atom)