Mini Review: Amazon Kindle

ผมตัดสินใจซื้อ Kindle เพราะผมเริ่มอ่านหนังสือนิยายภาษาอังกฤษมากขึ้นอย่าง Series The Heroes of Olympus, The Kane Chronicles รวมไปถึงหนังสือภาษาอังกฤษอื่นๆ อีกเพียบ

ผมเลือก Kindle รุ่นเล็กสุด ซึ่งนับเป็นรุ่น 5 ในราคาแบบมีโฆษณา $69 เพราะคิดว่าเอาถูกไว้ก่อน ใช้วิธีการสั่งซื้อจาก Amazon ตรงเลยแล้วให้ส่งไปให้เพื่อนที่ไปทำงานที่อเมริกามันหิ้วกลับมาให้ตอนมันกลับไทยครับ สั่งมาพร้อมกับเคสหนังของ Amazon เองด้วย (มารู้ทีหลังว่าเปลี่ยนสีตอนเลือกซื้อได้ เสียใจมาก อยากได้สีน้ำตาล)


Continue reading “Mini Review: Amazon Kindle”

Review: Samsung Galaxy Note II

ผมซื้อและใช้งาน Samsung Galaxy Note II มาตั้งแต่งาน Thailand Mobile Expo ตอนเดือนกุมภาพันธ์ เบ็ดเสร็จก็ใช้งานมันมาประมาณ 3 เดือนโดยไม่ได้เขียนถึงมันจริงจังเลย -*-

สำหรับเหตุผลที่เลือก Note II ผมเขียนใน entry ที่ผมซื้อมันว่า
– ผมเชื่อว่าปีที่แล้ว ปีนี้และอีก 2 ปีถัดไป Samsung จะยังเป็นผู้ชนะในตลาด Android อยู่ เลือกข้างผู้ชนะดีกว่า
– Cookie หลงป่าไม่ได้รับเงินมาอวยเขียนด่า Note II เยอะอย่างมีนัยะสำคัญ
อีกเหตุผลนึงคือเพื่อนๆ ที่ใช้ Samsung Galaxy S3 กับ Note II คนที่ใช้ Note II ส่วนใหญ่ค่อนข้างจะพอใจ แต่ S3 ส่วนใหญ่จะบ่นๆ ว่ามันแฮงค์ง่ายอะไรทำนองนี้กันเยอะมาก ก็เลยจัด Note II ไปซะ

หลังจากใช้มันมา 3 เดือน ก็ขอเขียนถึงมันหน่อย จะเขียนข้อดีข้อเสียปนๆ กันนะครับ


Continue reading “Review: Samsung Galaxy Note II”

JavaScript check null

อาทิตย์ที่ผ่านมาเพื่อนผมในทีมได้รับ support case ว่า JavaScript API ที่ support อยู่ไม่รองรับค่า null ที่ server โผล่มา คือพอ server ส่ง null ลงมาเป็นค่าใน json แบบนี้

{"data":null}

แล้วที่ browser จะเจ๊งเลย แล้วโยน error TypeError: is null ทำนองนี้ขึ้นมา

พอลองตรวจสอบดูพบว่าปกติ server ถ้าข้อมูลมีค่ามันจะส่งลงมาเป็น object ซ้อนอีกทีแบบนี้

{"data":{"a":1,"h":"FFFFF"}}

พอลองดู code JavaScript ที่ใช้ดึงค่า จะ check ว่าเป็น object หรือไม่ ถ้าใช่ก็ดึงค่า propery a หรือ h ออกมาใช้งาน ทำนองนี้

function process_data(data){
	if(typeof data ==="object"){
		console.log('a='+a.a+',h='+a.h);
	}
}

code มันก็ดูเหมือนจะได้อ่ะนะ แต่พอ check typeof refference ดูก็พบว่า typeof จะ return ผลการตรวจค่า null ออกมาเป็น “object” เสมอ พอ server ส่ง null มาเลยไม่รอด ไป access key ที่ไม่มีจริงก็เลยเจ๊งกันไป ซึ่งผมเองก็เพิ่งรู้เหมือนกันว่า typeof มันใช้ตรวจค่า null ไม่ได้ เพราะปกติใช้แต่ if check เอา – -”

เลยลองดูง่ายๆ บน JavaScript Console (เซ็งตรงมันต้องเขียน line เดียวนี่แหละ)

var nn=null;
if(typeof nn==='object'){
	console.log('object');
}else{
	console.log('else');
} 
//print 'object'
if(nn){
	console.log('value');
}else{
	console.log('else');
} 
//print 'else'

ก็เลยได้รู้ว่า typeof มันใช้ check null ไม่ได้ (แต่ check undefined ได้นะ)