JavaScript Web Workers #2

ผมเขียนเรื่อง Web Workers ตอนแรกไปแล้ว วันนี้จะมีเขียนต่อในกรณีที่เราอยากจะ include JavaScript Library อื่นๆ เราจะทำยังไง

ก่อนอื่นต้องย้ำว่าตัว Worker นั้นไม่สามารถจะเข้าถึงพวก DOM Element ใดๆ ได้เลย Library ตัวไหนมีเรียกพวก DOM พวกนี้ include เข้ามาจะเจ๊งเลย ดังนั้น Lib อย่าง jQuery ก็เรียกไม่ได้แน่นอน

คำสั่งที่เราใช้ include JavaScript คือ importScripts() ที่เราจะ include ครับ เช่น

importScripts('underscore-min.js');

ที่นี้มาดูตัวอย่าง JavaScript Worker ที่เรียกใช้ underscore.js เพื่อใช้ยัด JSON จาก Worker ต่อท้าย JSON ที่ master ส่งให้ worker

//master_worker.html
<script language="javascript">
	window.onload=function(){
		var wk=new Worker("./slave_worker.js");
		wk.addEventListener("message",function(oEvent){
			document.getElementById('display').textContent = JSON.stringify(oEvent.data);
		},false);

		wk.postMessage({
			master:'This is master Say Hello'
		});
	};
</script>
</head>
<body>
	<div id="display"></div>
</body>

Code master_worker.html ข้างบนเรียก Worker จาก file slave_worker.js แล้วเราก็ส่ง JSON {master:’This is master Say Hello’} ไปให้ทาง function postMessage

//slave_worker.js
importScripts('underscore-min.js');

self.addEventListener('message',function(e){
	var data=e.data;
	self.postMessage(_.extend(data,{worker:'This is worker Say Hello'}));
},false);

Code slave_worker.js ก็รับ JSON {master:’This is master Say Hello’} มาทาง addEventListener ‘message’ แล้วก็ยัด JSON {worker:’This is worker Say Hello’} เข้าไปด้วย function extend ของ underscore.js ก่อนที่จะส่ง JSON ที่เพิ่ม key:value ไปแล้วให้ master_worker.html ทาง postMessage

แล้ว {master:’This is master Say Hello’,worker:’This is worker Say Hello’} จะถูกส่งมาถึง addEventListener ‘message’ ของ master_worker.html แล้วแสดงค่าใน div

ถ้าลองเปลียนเป็น include jQuery ใน slave_worker.js ดูจะเจ๊งทันที

9irls6eneration: Girls’ Generation 6th Anniversary

วันนี้น้อง @processic แชร์ VDO ฉลองครบรอบ 6 ปีของวง Girl’s Generation ของโซวอนบราซิลให้ดูแล้วรู้สึกว่าน่ารักดี เลยเอามาแชร์ต่อให้ดูกัน

ผมในฐานะที่ติดตามวงนี้มาตั้งแต่เพลง Into the New World แต่มาต่อมติ่งหูแตกจริงๆ ก็ตั้งแต่ Gee จนกระทั่งบัดนี้ก็ยังไม่หายแถมลามไปชอบวงอื่นอีกมากมาย ก็ขออวยพรให้สาวๆ ทั้ง 9 น่ารักแบบนี้ต่อไปอีกนานๆ, ประสบความสำเร็จยิ่งขึ้นทั้งหน้าที่การงานและเรื่องส่วนตัวครับ ♥

ป.ล. ต้องยอมรับว่าตอน SNSD ชุดแรกนั้นผมชอบ The Wonder Years ของ Wonder Girls มากกว่าเพราะเพลง WG ชุดนั้นดีกว่าจริงๆ
ป.ล. 2 ติดตามการฉลองครบรอบ 6 ปีของสาวๆ ได้ที่ #9irls6eneration ครับ

After You

สารภาพว่าเพิ่งเคยกินร้าน After You แค่ 2 ครั้งเพราะคนแม่มเยอะมากกกกกกกกกกกก คือเดินผ่านแล้วยังตกใจทุกครั้งว่าคนมันจะรออะไรได้ขนาดนี้ ยิ่งกว่าคนรอร้านข้าวอีก

ผมได้กินครั้งแรกที่สีลมคอมเพล็กซ์ตอนรุ่นพี่คนนึงเลี้ยง รอบสองก็ตอนกินกับลิ่ว, แอม และหมอ PS3 ที่เซ็นทรัลลาดพร้าวครับ ส่วนตัวก็คิดว่ามันอร่อย หวานๆ ดี มีน้ำให้กินฟรีด้วย (มันก็ + มาแล้วแหละน่า)


บรรยากาศร้านที่สีลมคอมเพล็กซ์


กินนนนนนนนนนนน


กินนนนนนนนนนนนนนนนนนนนนนนนนนน

สรุปอร่อย+รอนาน แต่ของแบบนี้นานๆ ทีกินละกัน