อย่าเพิ่งตกใจไปครับ ยังไม่ได้หายไปไหน แต่ว่ากำลังไป “ตามฝัน” ตัวเอง อิอิ ว่าไปนั่น คือว่าช่วงนี้ผมยุ่งๆ หลายเรื่องเลย ทั้งเรื่อง…. (ไม่อยากบอก แต่เพื่อนๆ บางคน คงรู้ -*-) แล้วก็เรื่องงาน ตัวเอง ที่ใช้เวลา มานานมากก็ไม่ขยับเสียที ตอนนี้เริ่มรู้สึกว่าอยากทำจริงๆ จังๆขึ้นมาแล้ว ก็จะขอเอาเวลา ส่วนใหญ่ไป ทุ่มให้กับตรงนั้น
คือว่า …
ผมกำลังจะไปทำงาน ศิลปะ ครับ แต่ว่า เป็นศิลปะ ของ web application ซึ่ง ตอนนี้งานก็เริ่มเดินไปเรื่อยๆ แล้ว พอเอาเวลาไปทำงานตรงนั้น เลยกลัวว่า พอไม่ได้มาอัพเดทบล๊อกเลย เพื่อนๆ จะคิดว่าผมหายไปไหน ก็บอกตรงนี้เลยครับ ว่ายังไม่ได้หายไปไหน บล๊อกก็จะพยายาม อัพ แต่คงไม่ถี่ เหมือนเดิมแล้วล่ะ จะเอาเฉพาะ อะไรที่ “เด็ด” จริงๆ มาอัพ
ยังไงก็อย่าเพิ่งทิ้งกันไปไหนนะครับ ^^
Mr.Tee Plus Plus
(I’m Coding like playing the piano.)
Tee++; Others
jQuery เป็น JS Framework ซึ่งมีวิธีการเขียนค่อนข้าง่าย และมี syntax ที่ไม่ซับซ้อน รวมไปถึง selectors ที่เตรียมมา เรียกได้ว่า “สมบูรณ์” เลยทีเดียว ทั้งยังมีการ update ที่ต่อเนื่อง และการเอาใจใส่ จากทีมพัฒนา
ด้วยเหตุนี้เราจึงเห็นได้ว่า plugin ของ jQuery มีมากกว่า plugin ของ JS Framework ตัวอื่นๆ อย่างเทียบไม่ติด และ คนเขียน blog กับมันก็มีไม่น้อย
และหลังจากผมนั่งเก็บ tags เกี่ยวกับ jQuery มานาน จนตอนนี้มีถึง 83 tags เแล้ว ก็เลยอยากจะเอามา share ให้เพื่อนๆ ลองอ่านกันดูบ้าง Read more…
Tee++; jQuery
วันนี้ขอพูดเรื่อง performance อีกสักที สำหรับคนที่เคยจับ application ที่ใหญ่ๆ หน่อย ที่มีจำนวน file upload มหาศาล หรือ เอาง่ายๆ แค่หลัก 2-3 หมื่นขึ้นไป ก็จะเห็นได้ว่า หลังจากนั้น application จะทำงาน ค่อยๆ ช้าลงๆๆๆ จนในที่สุด ก็ทะลุ node ที่เป็น limit ของ UNIX ไป (จำไม่ได้ 5 หรือ 6 หมื่นนี่ล่ะ)
วิธีแก้ที่ดีที่สุดก็คือการ ซอย folder ออกเป็น ย่อยๆ เพื่อไม่ให้ไฟล์ ไปรวมกันอยู่ที่เดียว เช่น
-
parent –
-
|- child1
-
|- child2
แบบนี้ไฟล์ก็จะไม่รวมอยู่ที่เดียวกัน แต่ จะมีปัญหาตามมาว่า แล้วเราจะ บริหารจัดการยังไง T_T
ตรงนี้แหละที่ ต้องมี hashing algorithm แบบต่างๆ ขึ้นมา ผมจะลอง ไล่ไปดูทีละแบบละกัน Read more…
Tee++; PHP performance
ครั้งก่อนหน้านี้ผมเคยแนะนำวิธีการเช็ค iframe ว่าโหลดเสร็จรึยัง ไปทีนึง แต่ว่า วันนี้ผม จะแนะนำ อีกแบบก็คือ การเช็คหลังจากที่เราเพิ่ง แก้ไข attribute บางอย่างลงไป
ใช้งานกับ Iframe
-
$(’#myIframe’).attr(’src’, ’somecontent.html’).load(function() {
-
alert(’Iframe Loaded’);
-
});
Read more…
Tee++; jQuery tips
อันนี้ออกตัวไว้ก่อนเลย ว่าเป็นแนวคิด ทีผมคิดเองทำเอง อาจจะไม่ได้มาตรฐานนักแต่สำหรับผม it work!
เรื่องการออกแบบ multi languages คิดว่าคงจะพอมีความรู้ความเข้าใจกันอยู่บ้าง ก็ แค่ทำไฟล์ แยก ออกไป
Dir: english
Dir: thai
จากนั้นข้างใน โฟลเดอร์ก็บรรจุ ไปด้วย perfix_lang.php โดยมีตัวแปร เหมือนกันทุกประการ และก็ เอาไป echo ออกก็เท่านั้นเอง
แต่ ถ้าเปลี่ยนมาเป็น content จาก db ล่ะ ซึ่งมัน fix field ไว้ จะไปเพิ่มเป็น title_thai, title_english มันก็ดูน่าเกลียด พิลึก เราจะแก้ปัญหาไงดี … Read more…
Tee++; PHP
ณ ขณะนี้ ยังคิดเรื่องที่จะเขียนเกี่ยวกับ jQuery ไม่ออก เอา PHP ไปอีกเรื่องละกัน แต่ขอเขียนแค่สั้นๆ ดีกว่า เหนื่อย!
RSS คิดว่าทุกคนรู้จักแน่นอน คือการให้บริการ Feed Data ซึ่งผู้ใช้งาน สามารถเอาไปอ่านได้ในหลายๆที่ อาทิ เช่น..
1. อ่านผ่าน Browser ที่ Support Rss
2. อ่านผ่านผู้ให้บริการต่างๆ เช่น friendfeed.com
3. อ่านโดยเขียน Javascript
4. อ่านโดยเขียน Server Side Script
แต่ที่จะมาแนะนำวันนี้คือการเขียน XML ใน Format Rss ซึ่งจริงๆ แล้วมันก็เป็น XML Format นึงเท่านั้น ซึ่ง ที่ Browser ส่วนใหญ่อ่านได้ จะเป็น มาตรฐาน Rss และ Atom Read more…
Tee++; PHP, XML library
พักนี้เริ่มมั่วไปใหญ่ละ ตอนที่เปิดเว็บ มาตั้งใจว่าจะเขียนแต่เรื่อง jQuery กับ Javascript แต่พักนี้ไหง มีทุกเรื่องเลยก็ไม่รู้ กลายเป็น บล๊อกโปรแกรมมิ่ง ไปไม่รู้ตัว แต่ขออีกทีน่า คนมันอยากเขียนนี่หว่า เดี๋ยวครั้งหน้ากลับมา เขียนเรื่อง jQuery ต่อ
วันนี้ที่จะมาเขียนก็ฉีกแนวไปจากเดิมอีกละ จะมาพูดถึงเรื่อง Storage Engine ตัวนึงที่มี ใน MySQL 5.0 ขึ้นไป นั่นก็คือ merge storage engine (MRG_MyIsam) นั่นเอง เป็นการทำให้ table หลายๆ ตัว ถูก มองเห็นเป็นตัวเดียวกัน
ก่อนอื่นผมสร้าง DB ขึ้นมาทำการทดสอบชื่อว่า merge_test
จากนั้นผมสร้่าง table ขึ้นมา 2 ตัว ชื่อว่า table_a, table_b Read more…
Tee++; Others mysql, performance
วันนี้ไปงาน Barcamp Bangkok#3 มา แอบเสียใจเล็กน้อยที่ไม่มีคนพูดเรื่อง JS Framework หรือ PHP Framework เท่าไหร่ แต่ก้มีเรื่องอื่นๆ ดีๆที่ได้ฟัง เช่นเรื่อง ธุรกิจสายใหม่ของคุณ Aum ซึ่งผมชอบมาก เพราะได้กิน ไสไหมด้วย อิอิ แต่ที่ชอบจริงๆ คือ ทำให้เกิด รอยหยักในสมองเพิ่ม ว่าธุรกิจธรรมดาๆ แต่ถ้าเราใส่ใจและ เติมไอเดีย ให้มั้น ก็รุ่งได้ไม่ใช่น้อย
และก็มีเพื่อนถามด้วยว่าทำไม ไม่พูดเรื่อง JS Framework เองเลยล่ะ อยากจะบอกว่า กว่าจะโผล่ไปงานก็ บ่าย 3 แล้วคร๊าบบบ แถมกลัวไปอ๊วกใส่ไมค์ เค้าด้วย เพราะว่า ก่อนหน้านั้น “เมา” อย่างหนัก เชื่อป่ะว่าให้ ตรวจ L-ก-ฮ ตอน บ่าย 1 ยังโดนจับเลย 555+
เอาล่ะ เข้าเรื่องๆ….
เรื่องนึงที่สร้างปัญหาให้อย่างหนัก แก่ Tester นั่นก็คือ “Bug” ครับ ไม่ใช่เรื่องเล็กๆ เลย สำหรับการเขียน bug แถมไปกับโปรแกรมด้วยเนี่ย มันเป็นปัญหาที่ทำให้เราดูไม่มีความเป็น มืออาชีพ และทำให้ ชนรุ่นหลังต้องมาเก็บ และสุดท้าย “การเ็ก็บ” มักจะลงท้ายด้วย การเพิ่มบั๊กลงไปแทน เพราะคนที่เก็บ อาจจะไม่ใช่คนเดียวกับคนเขียน ดังนั้น logic อาจจะไม่เหมือนกัน ผลลงเอยคือ application ที่อุตส่าห์ลงทุน ลงแรง วางโครงสร้างมาอย่างหูตาเหลือก ก็จะกลายเป็น app ที่แต่ละคน พยายาม เขียนอย่างขอไปที ในที่สุด อันนี้เชื่อผมเถอะครับ เจอมาหลายงานละ T_T Read more…
Tee++; Others debug, javascript
อืมม์ เริ่มมั่วไปทุกทีละ jQueryTips มี Css โผล่มาด้วย 555+
หลังจากที่ผมหาวิธีตั้งนานที่จะทำให้ footer มันอยู่ติด ข้างล่าง โดยที่ ยังยิดตาม content แล้วก็ใช้ได้ ครบทุก browser ลองมาหลายๆ วิธี แม้กระทั้ง เขียน js เพิ่มคำนวน scrolling ก็ยังเคยมาแล้ว (มันกระตุก)
จนในวันนี้ได้มา วิธีที่ work ที่สุด แถมได้ทุก browser ไม่เพี้ยน ยืดขยาย ได้ตามแต่ content
(ทดสอบใน: IE6+7, FF, Win Safari, Opera)
มาลองดูกัน โคด ไม่ยากเลย Read more…
Tee++; Others Css
วันก่อนผมจำเป็นต้องใช้ function file_get_contents แต่ไม่สามารถ เรียกใช้หรือแสดง cookie ในหน้านั้นๆ ได้ นั่งมึน !-_- อยู่ตั้งนานกว่าจะหาวิธีได้
ก็จะเอามาให้เพื่อนๆ ดูกันด้วย เผื่อวันใด วัน หนึ่ง จำเป็นต้องได้ใช้กัน
-
$opts = array(’http’ => array(’header’=> ‘Cookie: ‘ . $_SERVER['HTTP_COOKIE']."\r\n"));
-
-
$context = stream_context_create($opts);
-
-
$contents = file_get_contents([string filename], false, $context);
-
-
print $contents;
Read more…
TuM PHP cookie, file_get_contents, PHP