About llun

Just a programmer
Author Archive | llun

replaceAll กับ "\"

เมื่อวานเจอบั๊กเล็กๆ เกี่ยวกับ platform คือบน linux ก็ปกติดีไม่มีปัญหาอะไร แต่พอเปลี่ยนไปใช้บน windows ปุ๊บก็เจอ error ทันที คุยกับ deans4j ใน twitter ได้ข้อสรุปว่าเหตุผลมาจาก argument ตัวแรกของ method replaceAll ที่เป็น regular expression แล้ว argument ตัวที่สองดันเป็น “\” ซะนี่ ซึ่งมีพฤติกรรมพิเศษกับ regular expression (คุยในนั้น deans4j บอกว่ามีอีกตัวคือ “$” ใช่ป่าวหว่า) สำหรับวิธีแก้ก็คือ แทนที่จะใส่ argument หลังแค่ “\\” ก็ใส่เป็น “\\\\” แทน แต่ว่าผมจะใช้กับตัวแปรอื่นที่มีอยู่แล้วในจาวานั่นคือ File.separetor จะให้แก้ว่าเฉพาะ windows ให้ใช้ “\\\\” แทนก็ยังไงอยู่ เลยเปลี่ยนไปใช้อีก method นั่นคือ replace [...]

Read full story Comments { 0 }

java บน fedora9

ปกติอยู่บน ubuntu เวลาจะติด java ที่มาจาก sun นั้นก็ง่ายๆ แค่เปิด repository ที่ non-free จากนั้นก็ apt-get install จบแต่บน fedora ด้วยความเข้มงวดเรื่อง license ทำให้ java ที่ใช้ต้องเป็นแบบฟรีจริงๆ เท่านั้นซึ่งก็มีให้เลือกอยู่อย่างเดียวคือ java6 openjdk แต่งานผมส่วนใหญ่ยังต้องใช้ java5 นี่สิ เลยต้องลงแบบพิสดารหน่อย เริ่มจากดาวโหลด jdk มาก่อนเลย โดยผมดาวโหลด java 5 update 14 มา จากหน้านี้ http://java.sun.com/products/archive/j2se/5.0_14/index.html ที่โหลดรุ่นนี้เพราะว่า jpackage ตอนนี้ยังไม่มี update 15 ติดตั้ง rpm-build และ yum-utils sudo yum install rpm-build yum-utils เอาไฟล์ที่ดาวโหลดมาจากขั้นหนึ่งไปวางไว้ที่ /usr/src/redhat/SOURCE/ [...]

Read full story Comments { 3 }

สัปดาห์เปลี่ยนงาน

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

Read full story Comments { 3 }

ECMAScript3 ตอนที่ 2

ทิ้งไปนาน เขียนต่อซะหน่อยเดี๊ยวลืม สำหรับตอนนี้ก็บอกกันตรงๆ เลยละกันว่าแปลมาจากหนังสือเล่มเดิมที่เคยบอกไปเมื่อตอนที่แล้ว สามบท เริ่มเลยละกัน Syntax พื้นฐานของ ECMAScript มีด้วยกันไม่กี่อย่างตามด้านล่างนี้คือ ทุกอย่าง case-sensitive เหมือนกับภาษา Java, C จริงๆ ข้อนี้ก็เหมือนกันเกือบทุกภาษาหละนะ ยกเว้น VB6 ไว้ภาษาที่ตรงข้าม(อาจมีภาษาอื่นอีกแต่ที่ผมเคยเจอมีอยู่ภาษาเดียว) ประเภทตัวแปรเปลี่ยนประเภทไปตามค่าที่ใส่เข้ามา (loosely type) โดยดูได้จากวิธีประกาศตัวแปรใน javascript ที่ไม่ต้องมีการบอกประเภทว่า ตัวแปรนี้เป็นชนิดไหน แต่ดูจากค่าที่ใส่เข้ามาได้เลย ถ้าค่าที่ใส่เป็นตัวเลข ตัวแปรนั้นก็จะเป็นประเภทตัวเลข สำหรับ Actionscript3 จะต่างจาก ECMAScript3 หน่อยคือ ตัวแปรสามารถกำหนดประเภทได้ โดยเมื่อประกาศประเภทไปแล้วก็จะไม่สามารถเปลี่ยนได้อีก แต่จะไม่ประกาศก็ได้ ดังนั้น Actionscript3 จึงมีทั้งสองแบบ โดยตัวอย่างวิธีประกาศตัวแปรใน ECMAScript3 คือ var color = “red”; var num = 25; var visible = [...]

Read full story Comments { 0 }

iphone-dev

หลังจากได้ iphone มาเมื่อสัปดาห์ที่แล้ว ก็เริ่มเล่นจนเครื่องผมเอ๋อไปหลายรอบเลย ใครมาเห็น iphone ผมตอนนี้คงคิดว่ามันผ่านการใช้งานมาหลายเดือนแล้วแน่ๆ ฮะๆๆ เอาเป็นว่า หลังจากใช้มาได้หนึ่งสัปดาห์ตอนนี้ก็คันไม้คันมืออยากเขียนเองบ้างแล้วหละ แต่เนื่องจากเครื่องมือสำหรับพัฒนาโปรแกรมลง iphone นั้นในเว็บ apple มีไว้แต่สำหรับใช้บน แมค ผ่าน xcode ซึ่งเครื่องประจำของผมดันเป็น dell ลง linux ซะนี่ จะให้ไปซื้อ mac book มาใช้ก็ไช่ที่ ดังนั้นก็เลยหาวิธีพัฒนาโปรแกรมบน linux ซะจะดีกว่า สำหรับตัวช่วยของผมตอนนี้ก็คือเว็บนี้ครับ iphone-dev เครื่องมือที่เรียกกันจริงๆ ก็คือ toolchain (ทำไมเรียกงี้ก็ไม่รู้เหมือนกัน) ขั้นตอนนั้นก็ไม่มีอะไรซับซ้อน แต่ไอ้ที่ซับซ้อนคือไฟล์ที่ต้องใช้มากกว่า เอาหละมาดูขั้นตอนกัน(จริงๆ ก็แปลว่าจาก วิกินั้นนั่นแหละ) ตอนแรกก็ติด bison กับ flex ก่อน(ไม่ใช่ adobe flex หรอกนะ) $sudo aptitude install bison flex … [...]

Read full story Comments { 3 }