About llun

Just a programmer
Author Archive | llun

bc

ในห้อง #ubuntu-th มีบอทอยู่ตัวนึงของ willwill คราวนี้มันมีความสามารถพิเศษอยู่อย่างคือคำสั่ง math โดยจะเรียกไปที่โปรแกรม bc ตอนแรกผมก็นึกว่ามันเป็นคำสั่งที่ให้คำนวนเลขธรรมดา แต่ด้วยความสงสัยด้วยว่าอะไรคือ bc เลยลองเปิดใน Terminal เครื่อง mac(ปลอมๆ) ที่ทำงานซะหน่อย แล้วก็ได้ด้วย เปิดมาตอนแรกก็เล่นไม่เป็นเลยต้องไปหาผู้ชาย(man) มาช่วยซะหน่อยเลยรู้ด้วยเลยว่า bc มันคืออะไร bc – An arbitrary precision calculator language แล้ว bc มันมาจากตัวไหนของชื่อเต็มหละฟะ ช่างมันเพราะที่น่าสนใจมันไม่ได้อยู่ตรงนี้ แต่มันสามารถเขียนโปรแกรมในนี้ได้เลยโดยรูปแบบภาษาก็คล้ายๆ ภาษาซี แต่ไม่ได้ใช้ compiler เท่านั้นเองเพราะอันนี้พิมพ์ประโยคเสร็จกด enter ผลลัพธ์กลับมาเลยเช่น llun@pluto:~$ bc bc 1.06 Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc. This is free [...]

Read full story Comments { 2 }

Java6 กับ OSX

วันนี้จะลองเล่นของเล่นใหม่บนจาวา 6 ซะหน่อยแต่ดันไม่มีให้ติดตั้งบนแมคซะงั้น ลองขุดๆ ในเว็บดูก็เจอไปเจอว่ายังไม่ออก แต่ถ้าอยากได้ก็โหลดมาใช้ได้เป็น b88 อยู่(ปัจจุบัน b105 แล้วดูจาก ubuntu) โดยต้องสมัคร ADC และล๊อกอินเข้าไปโหลด วันนี้ก็เลยโหลดทิ้งไว้ก่อน และก็ลองดูทางเลือกอื่น สุดท้ายก็นึกขึ้นได้ว่าเคยโหลดโค้ด JDK6 มานี่นาลองเอามา compile หน่อยดีกว่า ดาวโหลดเสร็จจะได้มาเป็น .jar ใหญ่ๆ 1 ไฟล์เปิดไฟล์ออกมาก็จะเจอหน้าต่างให้ยอมรับเงื่อนไขแล้วก็เลือก directory ที่จะขยายออกมา ความยากมันจะต่อจากนี้แหละ เพราะกว่าจะ compile ได้ต้อง export ตัวแปรไรบางอย่างพอสมควรเลย แล้วบนแมคโปรแกรมที่ใช้ compile บางตัวก็ไม่มีซะนี่ (gawk) ต้องลง macport และติดเพิ่ม บางตัวก็ไม่ได้อยู่ใน bin ต้องสร้าง link จาก /usr/bin มา วันนี้กว่าจะเริ่ม compile ได้ก็เล่นหาวิธีอยู่นานเลย แต่หลังจากทำทุกอย่างตามด้านาบนแล้ว ก็ยังเจอ error อยู่อ่ะ [...]

Read full story Comments { 0 }

HashSet ใน Java

วันนี้เจอบั๊กแปลกๆ ที่ไม่คิดว่าจะเจอได้ในโค้ดงานที่ทำอยู่ สิ่งที่อาจเกิดขึ้นตามมาคือ memory leak ถ้าใช้ไม่ดี และมันก็เกิดกับ hash map ซะด้วย บั๊กที่ว่าคือ การเปลี่ยน hash code ของ object ใน key ของ hash map สิ่งที่เกิดขึ้นเมื่อมีการเปลี่ยนแปลงก็คือ hash map จะไม่สามารถคืน object กลับมาได้หากนำ object นั้นไปใช้อ้างอิง ลองดูจาก code ด้านล่างละกัน import java.util.HashSet; class A { String _data; A(String data) { _data = data; } public int hashCode() { int hash = 0; for(int [...]

Read full story Comments { 0 }

Java Content Repository

ทิ้งเรื่องนี้ไว้นาน เนื่องจากติดงานอื่น + นึกไม่ออกว่าจะเขียนยังไงต่อดี เลยทิ้งไว้ยาวเลย Java Content Repository (JSR170 และ JSR283) เป็นชุด api มาตรฐานเกี่ยวกับการจัดเก็บข้อมูล โดยที่คนใช้งานไม่ต้องสนใจว่ามันจะจัดเก็บยังไง เหมือนเอาไฟล์มาบันทึกในเครื่อง เราก็ไม่ต้องสนใจว่าระบบไฟล์มันจะเอาข้อมูลไปแบ่งเก็บยังไง ถ้ายังนึกไม่ออกก็ลองนึกถึง Google Base ละกันคิดว่าน่าจะคล้ายๆ กันนะ ตอนนี้คนทีทำให้มันใช้งานได้ที่ผมรู้จักแบบใช้งานได้ฟรีๆ ก็มีอยู่ตัวเดียวคือ Apache Jack Rabbit ในเว็บก็มีอธิบายไว้ว่า Content Repository(CR) มีทั้งหมดสามระดับ โดบที่ทุก CR ต้องมีคือระดับแรก เพื่อให้สามารถอ่านข้อมูลจาก CR ได้ ส่วนระดับที่สองคือความสามารถในการเขียนข้อมูลลง CR และระดับสุดท้ายก็พวกการจัดการรุ่น การใช้ Query Language ในการดึงข้อมูลออกมา การล๊อกข้อมูล ลองไปดูภาพในเว็บ Apache Jack Rabbit ดีกว่า ทำออกมาสวยงามเข้าใจง่ายดี แถมยังบอกด้วยว่า Jack Rabbit ทำได้หมดทั้งสามระดับเลย [...]

Read full story Comments { 1 }

Flight simulation ใน Google Earth

เจอข่าวนี้ใน Techcrunch เลยลองกับเครื่อง mac ที่ทำงานวันพุธ แต่ไม่ได้เขียนเพราะวันต่อมาก็รับปริญญาแล้ว เลยหายยาวเลย วันนี้ก็เลยว่าจะเขียนชดเชยซะหน่อยเริ่มจากเรื่องนี้เลยละกัน เครื่องที่ลองตอนนี้ก็มีทั้งเครื่องที่เป็น Mac กับ Linux ที่เล่นได้แน่นอน ดังนั้น Windows ก็คงเล่นได้ด้วย และก็คงต้องเป็น Google Earth 4.2 ที่พึ่งออกมาไม่นาน เพราะเห็นใน Techcrunch มีคนบ่นๆ เหมือนกันว่า Google Earth ที่ใช้อยู่ไม่มี ลองมาดูภาพดีกว่า

Read full story Comments { 1 }