About llun

Just a programmer
Author Archive | llun

concat กับ push

หลังจากหาวิธีแก้มานานว่าทำยังไงดีที่จะเพิ่มข้อมูลใส่ Array ให้เร็วขึ้นเพราะว่า ถ้าใช้ฟังก์ชั่นมาตรฐานทั่วไปในการต่อ Array สองอันเข้าด้วยกันชื่อฟังก์ชั่นที่นึกถึงอย่างแรกเลยก็คือ concat แต่ว่าปัญหาเกิดขึ้นเมื่อ Array ที่ใช้มันใหญ่ขึ้น เวลาที่ใช้ในการ concat ก็จะช้าลงๆ แบบรับไม่ได้เลยหละ ซึ่งก็ยังไม่ได้แงะลงไปว่า concat มันทำอะไร แต่ตอนนี้เจอฟังก์ชั่นใหม่ที่ใช้แทนกันได้แล้วนั่นคือ push นั่นเอง ข้อแตกต่างระหว่างสองอันนี้คือ concat จะเชื่อม Array เข้าด้วยกัน แต่ push เป็นแค่การเพิ่มข้อมูลไปท้าย Array ดังนั้นหากใช้ push ต้องไล่ข้อมูลใน Array ที่จะเอามาเชื่อมทีละตัวเอาออกมาแล้วค่อยยัดเข้ามาใหม่ ดูแล้วมันก็น่าจะทำเหมือนกันแต่ปรากฏว่าไล่วนเอง เร็วกว่ากันเยอะเลย – -” public function generatePush(event:MouseEvent):void { var average:Number = 0 var total:int = 10000 var na:Array = new Array() [...]

Read full story Comments { 1 }

ECMAScript3 ตอนที่ 3

ไม่ได้เขียนนานเนื่องจากความขี้เกียจ – -” เลยทิ้งมันไว้ซะนานขนาดนี้ วันนี้ก็เป็นโอกาสดีที่ว่าง ก็เลยทำต่อซะหน่อยก่อนจะขี้เกียจอีก ฮะๆๆ (วันนี้อาจเขียนอะไรเมินๆ แต่ถ้ามีเวลามากกว่านี้จะมานั่งเกลาภาษาอีกที >< “) Primitive และ Reference Values ใน ECMAScript ตัวแปรสามารถเก็บข้อมูลได้สองแบบคือแบบ Primitive กับ Reverence Primitive คือ ข้อมูลพื้นฐานต่างๆ ได้แก่ Undefined, Null, Boolean, String และ Numberโดยจะเก็บอยู่ใน Stack และสามารถเข้าถึงผ่านชื่อตัวแปรได้โดยตรง Reference คือ ข้อมูลที่ถูกเก็บไว้ใน Heap โดยตัวแปรจะเก็บเพียงแค่ตำแหน่งของวัตถุก้อนนั้นเท่านั้น เมื่อมีการกำหนดค่าให้กับตัวแปร ตัวแปลง ECMAScript ก็จะเอาค่ามาดูว่าเป็นประเภทใดระหว่าง Primitive หรือ Reference ถ้าเป็น Primitive ก็จะเอาไปเก็บไว้ใน Stack ที่ทำอย่างนี้เพราะว่าตัวแปรแบบ Primitive จะมีขนาดที่คงที่ ทำให้รู้ได้ว่าจะใช้พื้นที่เท่าไหร่ใน Stack เมื่อคำนวนแล้วนำไปเก็บใน [...]

Read full story Comments { 2 }

Old Snakey

เข้า #ubuntu-th วันนี้วิน ก็เอาเกมมาให้เล่นอีกหละ โดยเอามาจากบล๊อกของ Gmail เรื่องที่แนะนำ Gmail Labs ในหน้าก็มีอยู่บรรทัดนึงเขียนว่า (If you want to work on Gmail, too, we’re hiring. But you need an Old Snakey score above 150.) แถมวินก็บอกอีกว่า ตอนนี้ได้ 130 หึหึ เลยเล่นด้วยซะหน่อย ก่อนอื่นเลยก็ไปที่ Setting ของ Gmail เลือก Labs แล้วก็ Enable Old Snakey กด Save แล้วเข้า Gmail อีกที กด Shift & ก็จะมีเกมงูมาให้เล่นหละ สำหรับผลที่ได้ของผมก็คือ หึหึหึ [...]

Read full story Comments { 1 }

Java, Actionscript, Python

ช่วงนี้เขียนสามภาษามึนๆ เลยเขียนถึงซักหน่อย ทั้งสามภาษาจะบอกว่าแตกต่างกันอย่างสิ้นเชิงก็ได้ เริ่มจาก Java ที่มีโครงสร้างและข้อกำหนดต่างๆ มากมาย เรียกว่า ข้อผิดพลาดต่างๆ สามารถหาได้จากตอน Compile แทบทั้งหมด แม้ว่าตัวภาษาจะไม่สวยงามมากนัก เยิ่นเย้อนิดหน่อย (ก็ไม่หน่อยนะ จริงๆ ก็ขึ้นอยู่กับว่าคนออกแบบ คนเขียนนั่นแหละ) มีสัญลักษณ์ต่างๆ มากมาย (จริงอันนี้มันก็พอกันทั้งสามภาษานั่นแหละ) แต่ก็มีของเล่นต่างๆ ให้มากมายด้วยเช่นกัน (แต่อันนี้เป็นผลดีมาจากการที่ Java อยู่มานาน) สำหรับ Actionscript โครงสร้างภาษาต่างๆ มีลักษณะเหมือนทั้ง Java และ Python รวมกัน คือพวกขอบเขตของตัวแปร หรือ ฟังก์ชั่น อะไรก็ตามพวกนี้จะมีลักษณะเหมือน Java แต่พวก Object ต่างๆ จะคล้ายๆ กับ Python มากกว่า เลยไม่รู้จะบอกว่ามันง่ายหรือยากดี มันกึ่งๆอ่ะ คือ ทำมาให้หลายๆ อย่างสามารถตรวจสอบตั้งแต่ตอน Compile ได้ แต่ก็มีหลายอย่างที่ต้องกำหนดกันเอง เช่น [...]

Read full story Comments { 1 }

What does it mean to be human?

นั่งอ่าน feed ตอนเช้าแล้วก็เจอหัวข้อนึงจาก wired ที่น่าสนใจเข้า ถามว่า ความหมายของคำว่ามนุษย์คืออะไร จากที่นี่ http://blog.wired.com/wiredscience/2008/06/what-does-it-me.html อ่านแบบผ่านๆ นึกถึง forward mail ซักฉบับเลย ที่เขียนบอกว่าความรักของแต่ละอาชีพเป็นยังไง ภาษาไทยด้วยอันนั้น แต่อันนี้อ่านแล้วอาจปวดหัวนิดหน่อย ฮะๆๆ ความเห็นส่วนตัว มนุษย์คืออะไร อืมเอาจาก comment นึงในนั้นมาเลยละกัน เพราะคิดเหมือนกัน ^^! “a skin disease on a ball of dirt.” อืมไช่เลยนี่แหละ จริงๆ แล้วมีความเห็นอื่นอีกมากมายที่เข้าท่าเหมือนกันนะ ลองไปอ่านๆ ดูละกัน และก็อยากถามต่อด้วยว่า แล้วคุณหละ คิดว่ามนุษย์คืออะไร

Read full story Comments { 0 }