Posts

Showing posts from September, 2012

เรื่องของ AJAX (Asynchronous Javascript And XML)

การเขียนเว็บสมัยนี้ คงไม่มีใครไม่เคยได้ยินคำว่า AJAX ซึ่งเป็นเทคโนโลยีอย่างหนึ่งสำหรับการทำเว็บ ผมก็จะเขียนให้เข้าใจง่ายๆ แล้วกันนะครับ

AJAX มีชื่อเต็มๆ ว่า "Asynchronous Javascript And XML" มันคืออะไรช่างมัน เรารู้แค่ว่ามันมีชื่อเต็มๆ แบบนี้ก็พอครับ

synchronous หรือ synchronize ถ้าแปลกันตรงๆ ก็หมายถึง ตรงกัน, พร้อมกัน ซึ่งถ้าเป็นเว็บก่อนที่จะมีการใช้ ajax เข้ามา ส่วนใหญ่ก็จะมีลักษณะต้อง submit แล้วส่งค่าไปยัง server เพื่อทำอะไรซักอย่างแล้วก็ส่งไปแสดงผล (อาจเป็นหน้าเดิมหรือหน้าใหม่) แต่การทำงานแน่นอนว่า จะทำเป็นลำดับๆ ไปคือ 1 -> 2 -> 3 -> 4 ประมาณนี้ครับ

แต่ !!.... ajax ที่เรากำลังพูดกันอยู่ก่อนหน้านี้มัน Asynchronous การทำงานก็จะไม่ได้ทำเป็นลำดับๆ หรือก็คือ ถ้ามีการใช้ ajax ตรงไหน หมายความว่า มันจะไม่รอให้ ajax ทำงานเสร็จก่อนแล้วค่อยทำต่อ มันจะข้ามไปทำคำสั่งถัดไป ในขณะที่ ajax ก็ยังทำงานอยู่เช่นเดียวกัน

ถ้ายังไม่เห็นภาพ ผมมีตัวอย่างซึ่งเป็นปัญหาที่ผมเจอมาครับ เป็น javascript และเรียก ajax โดยใช้ jquery

Example 1
var var1; $.ajax({ success:function(){ var1…

ประวัติของภาษาคอมพิวเตอร์ - The history of programming

Image
กว่าจะถึงยุคปัจจุบันที่เราๆ ได้เรียนเขียนโปรแกรมแบบเป็นภาษาคนนั้น ก็ผ่านอะไรมามากมาย ตั้งแต่ลักษณะที่คนปกติไม่อาจเข้าใจได้เลย จนมีการพัฒนามาเรื่อยๆ จนปัจจุบันภาษาระดับต่ำอย่างภาษาเครื่อง ก็ยังเข้าใจได้ง่ายกว่าแต่ก่อนมาก แต่โดยส่วนมากแล้วโปรแกรมที่เราเขียนๆกัน มักจะเป็นภาษาระดับสูงแล้ว โดยจะมีเครื่องมือที่ทำหน้าที่แปลงภาษาโปรแกรมในยุคปัจจุบันที่คนเขียนโปรแกรมเข้าใจ ไปอยู่ในรูปแบบที่คอมพิวเตอร์เข้าใจ 
ซึ่งยุคปัจจุบัน ที่เราจะเห็นๆกัน

บทความนี้ผมก็ได้นำเอาภาพ จากข้อมูลต้นฉบับมาให้ดูกัน




จากภาพนี้ เป็นวิวัฒนาของภาษาระดับสูง (High Level Language : 3GLs) ที่เด่นดัง ซึ่งบางภาษาก็แทบจะไม่มีการใช้แล้ว(ใกล้ตาย) บางภาษาก็มีอายุมากแต่ก็ยืนหยัดอยู่ได้ บางภาษาก็เพิ่งได้รับความนิยม แต่ไม่ว่ายังไงก็แล้วแต่ ภาษาแต่ละภาษาก็มีความสามารถ หรือความเก่งเฉพาะด้านของตัวเองอยู่ ปัจจัยที่หลากหลายจึงทำให้มีหลายภาษาที่ยังนิยมอยู่


หรือถ้าไม่จุใจ ลองเอาประวัติและระยะเวลาของแต่ละภาษา แบบละเอียดที่ O'Reilly จัดทำไว้เป็น PDF ไปดูต่อก็ได้นะครับ http://oreilly.com/news/graphics/prog_lang_poster.pdf (ด้านล่างเป็นร…

[Android] วิธีลง Custom Rom ให้กับ Android ตัวโปรด

Image
ตัวผมตอนนี้ใช้ Galaxy Mini อยู่ ซึ่งตอนแรกมันมากับ Android 2.2 (Froyo) โชคดีได้อัพเป็น Android  2.3.3(Gingerbread) แล้วก็มาสุดที่ 2.3.6 แต่ด้วยความที่ Technology มันช่างไปไวเหลือเกิน Android รุ่นใหม่ๆ ออกมาก็อยากได้ทั้งเครื่องใหม่ แล้วก็ Android version ใหม่ เพราะว่ามันมี features ใหม่ๆ มาน่าลิ้มลองเหลือเกิน ในช่วงของ Android 4.0 (Ice cream Sandwich) เป็นช่วงที่ผมอยากลองลง Rom เองเป็นครั้งแรก แต่ใจไม่ถึงพอ กลัวเครื่องใช้ไม่ได้ จนมาถึงช่วงของ Android 4.1 (JellyBean) ก็ได้ลง Rom จริง ซึ่งตอนนั้นมีนักพัฒนา rom เป็นงานอดิเรกได้เอา CyanogenMod 10 มาทำให้รองรับกับ Galaxy Mini โดยเฉพาะ ก็เลยจัดซะเลย แต่ว่าตอนนั้นก็ยังเป็นช่วงแรกๆ ที่เขาปล่อยออกมา (อยากลอง เลยขี้เกียจรอตัวสมบูรณ์) ก็พบกับความน่าตกใจครั้งแรก จอขาวเลยครับ แต่ก็ได้พบทางแก้ไขและเขียนไว้แล้ว [Android Tips.] แก้ไข Flash ROM แล้วหน้าจอขาว & ... ^^


วิธีการลง Rom 
ก่อนอื่นขอแนะนำเว็บบอร์ดที่นักพัฒนาคนนี้ใช้เป็นที่ประกาศครับ http://forum.xda-developers.com/showthread.php?t=1793511 ไปติดตาม build ใหม่ๆ ได้ที่นี่แหละครับจากนั้นต้องรู้จ…

Debug บน Web Browser (HTML & Javascript)

Image
ก่อนหน้านี้ผมได้พูดถึงการ Debug source code ภาษา Java ในโปรแกรม Eclipse ไป (Debug คืออะไร และ ทำอย่างไร ??) แต่ว่าการ Debug ใน Eclispe นั้นก็ทำได้เพียงการทำงานที่เป็น source code จริงๆ เท่านั้น หากเป็น Web Application ก็จะมี jsp ที่เราได้เขียนต่างๆ นาๆ ทั้ง taglib, scriptlet อย่างที่รู้ๆกันว่า jsp จะเป็นการทำงานฝั่ง Client ทำให้สุดท้ายแล้ว Web Browser ก็จะแสดงเพียง HTML เท่านั้น

แต่ว่า การทำงานฝั่ง Client ของเรานั้นอาจมีการเล่นกับ event ต่างๆ เช่น พิมพ์, คลิกปุ่ม หรืออื่นๆ พวกนี้ก็มักจะมีการเรียก javascript ให้มาทำงาน อาจเป็นในลักษณะของ jQuery หรือ Ajax ก็ตามแต่ผู้เขียนจะออกแบบ ซึ่ง ณ จุดนี้หน้าเว็บนั้นๆ อาจต้องการส่งค่าไปยัง Server-side หรืออาจส่งไปหน้าเว็บอีกหน้าหนึ่ง บางครั้งเราจำเป็นต้องดูค่าต่างๆว่า มันถูกส่งไปยังอีกหน้าหนึ่งหรือไม่ หรือต้องการเชคว่า โปรแกรมมันเข้า case ที่เรากำหนดไว้หรือเปล่า อะไรทำนองนี้ (อ่านเพิ่มเติมได้จาก link Debug ด้านบน)

เล่าให้ฟังเล่นๆ ว่า เมื่อก่อนผมต้องการรู้ตรวจสอบอะไรพวกนี้ (ก่อนจะรู้จักการ Debug) ผมก็เล่น alert(); ตลอดเลยครับ พัฒนาขึ้นมาหน่อยก็ใช้ co…

Programmer คืออะไร ????

Image
บทความนี้ผมเขียนขึ้นสำหรับบุคคลทั่วไปที่ไม่รู้จักงานเกี่ยวกับด้าน Technology โดยเฉพาะครับ เพราะว่ามีมากมายหลายคนที่ไม่รู้ว่า Programmer คืออะไร งานเป็นยังไง หรือรู้เพียงแต่ว่า เกี่ยวกับคอมฯ ซ่อมคอม ผู้เชี่ยวชาญด้านคอมพิวเตอร์ หรือนักพิมพ์มือฉมัง อะไรแบบนี้ ซึ่งเป็นความคิดที่ค่อนข้างกว้างครับ

งานทางด้านคอมพิวเตอร์มีหลากหลายรูปแบบ เช่น IT Support, System Engineering, System Analyst รวมถึง Programmer ซึ่งแต่ละอย่างก็ทำงานต่างหน้าที่กันไป มีทั้งในลักษณะของการควบคุมดูแล การพัฒนาซอฟต์แวร์ การดูแลลูกค้า เป็นต้น

สำหรับในส่วนของ Programmer
Programmer เป็นผู้พัฒนาโปรแกรม หรือพูดภาษาบ้านๆก็ คนเขียนโปรแกรม โดยอาจแบ่งชื่อตามภาษาโปรแกรมที่ Programmer คนนั้นๆ ใช้ในการพัฒนา เช่น Java Programmer, C# Programmer, Web Programmer เป็นต้น ซึ่งงานหลักๆนั้นก็คือการเขียนโปรแกรม ให้สามารถทำงานได้ครบตามฟังก์ชันงานต่างๆ ให้ครบและถูกต้อง หากเป็นโปรแกรมที่มีหน้าจอติดต่อกับผู้ใช้งาน ก็ต้องสามารถให้ผู้ใช้ใช้งานไม่มีข้อผิดพลาด นอกจากนี้ Programmer ต้องคำนึงถึงคือ ประสิทธิภาพของโปรแกรม เขียนยังไงไม่ให้กินทรัพยากรมากเก…

[Android] วิธีใช้ app superuser

Image
หัวข้อในวันนี้ มาจากผู้อ่านครับ เพราะว่ามีการค้นหาวิธีใช้ app android ตัวหนึ่ง ที่มีชื่อว่า "Superuser" กันมากมายทีเดียว ซึ่งใน blog ของผมนั้นก็ไม่มีคำตอบที่ชัดเจนให้ซะด้วย ก็เลยเขียนให้ซักหน่อย ☺


ก่อนที่จะใช้ app superuser ได้ เราต้องทำให้เครื่องเรามีสิทธ์เป็น root หรือสิทธิ์ superuser ก่อน โดยผมได้เขียนวิธีไว้ ก่อนหน้านี้แล้วที่ แก้ไข Flash ROM แล้วหน้าจอขาว & Root in Galaxy mini 2.3.6 หรือ SuperUser (Root) - สิทธิที่เหนือกว่า ลองเข้าไปอ่านดูนะครับว่า root คืออะไร แล้วทำอย่างไร.......

หลังจากที่เราทำความเข้าใจ และจัดการทำให้เครื่องมีสิทธิ์เข้าถึง root ของเครื่องได้แล้ว ก็จะพบกับ application ตัวหนึ่งใน app drawer ของเราที่มีชื่อว่า Superuser ลองเปิดเข้าไปดูครับ

เปิดเข้ามาแล้วก็อาจจะพบว่า มันแทบจะทำอะไรไม่ได้เลย (เอ.. แล้วมันเอามาทำอะไรหว่า) app. ตัวนี้ มีไว้สำหรับจัดการสิทธิ์ superuser ให้กับ app. ตัวอื่นครับ app ตัวไหนที่จะขอใช้สิทธิ์ superuser ในการทำงานจะมีบอกอยู่แล้วใน Play Store ครับ เช่น "for ROOT", "superuser" อะไรประมาณนี้ครับ ซึ่งถ้าเรา root…

Facebook Comment