Posts Tagged ‘Java’

Eclipse Helios is here! (Eclipse 3.6)

Sunday, July 4th, 2010

ต้องยอมรับว่าหลังๆผมมีโอกาสได้ใช้ Eclipse น้อยมาก ณ ปัจจุบันผมยังใช้ Ganymede (3.4) อยู่เลยเนื่องด้วยจำเป็นต้องใช้ Plugins หลายตัวที่ยังไม่รองรับ Galileo (3.5) เช่น Flex3, Force.com IDE

เรียกได้ว่าผมไม่เคยใช้ Galileo กับงานจริงเลยก็ว่าได้แม้ว่าอยากจะใช้มากก็ตามที แต่ก็ยังแอบลุ้นว่าในอนาคตจะได้ใช้มันมากขึ้น โดยเฉพาะกับงานทางด้าน Java อย่างที่ผมเคย tweet เมื่อนานมาแล้วว่าเขียนภาษาอะไรก็ไม่มันส์เท่าเขียน Java จริงๆ

แต่ไม่ว่าจะอย่างไหร่ก็ตาม ทาง Eclipse Foundation ก็ยังคงออกตามแพลนที่วางไว้คือ Eclipse จะมี release ทุกปี โดยการรวบรวมโปรเจคในรอบหนึ่งปีนั้นๆมารวมกัน โดยปีนี้ชื่อของมันคือ Helios

สิ่งที่น่่าสนใจของ Helios ไม่ใช่เรื่อง Feature ใหม่ๆ (ซึ่งสามารถดูรายละเอียดได้จาก link ด้านล่าง) แต่เป็นความน่าจะเป็นที่ Eclipse และ NetBeans (ที่เพิ่งออก 6.9) มีโอกาสจะได้ join กัน (แต่แน่นอนคงหลังจาก Helios) เนื่องจาก ณ ปัจจุบัน Oracle ที่เป็นสมาชิกของ Eclipse Foundation นั้นได้สิทธิ์ขาดในการควบคุมการพัฒนา NetBeans เพราะการเข้าซื้อ Sun ของ Oracle นั่นเอง

คงต้องดูกันต่อไปครับว่าการสงบศึกในบ้าน Java ระหว่าง Eclipse กับ NetBeans จะมีอะไรดีๆออกมาบ้าง เช่น รวม Community, แชร์ Plugins ฯลฯ

สุดท้ายคือ link ที่น่าสนใจเกี่ยวกับ Helios ครับ

- Helios Home
- Helios Projects มีทั้งหมด 39 projects ที่น่าสนใจคือมี Git กับ JavaScript Development Tools มาในตัว
- Helios Demos
- Helios In Action

ทุกอย่างที่คุณควรรู้กับ Java เมื่อกษัตริย์คืนบัลลังก์

Wednesday, June 9th, 2010

ไม่มีอะไรมากครับ ตั้งชื่อล้อหัวข้อข่าวของ mk ณ Blognone เท่านั้นเอง

เรื่องของเรื่องคือ แม้ว่าความนิยมของ Java จะลดลงเรื่อยๆ ถึงขนาดเมื่อเดือนก่อน (May 2010) ก็หล่นจากบัลลังก์มาอยู่อันดับ 2
แต่เดือนนี้แม้ % ความนิยมจะยังลดลงต่อเนื่อง แต่เมื่อเทียบกับคู่แข่งแล้วก็ยังสามารถกลับมาอยู่อันดับ 1 ได้
และคาดว่าคงจะขึ้นๆลงๆแบบนี้อีกหลายรอบซะด้วย

สำหรับคนที่ใช้ Java อยู่ไม่ต้องกังวลนะครับ ว่าภาษาจะล้มหายตายจากไปในเร็ววันนี้
Java ยังคงได้รับความนิยมอยากมากในงาน Enterprise เนื่องจากการพลักดันของยักษ์ใหญ่ในวงการ ไม่ว่าจะเป็น IBM, Oracle, SAP เป็นต้น
หรือวงการ Open source ก็ยังมีการใช้ Java อีกมากเช่น Apache, Eclipse, Spring, หรือแม่กระทั่ง Google
หรือแม้แต่ Mobile App อย่าง Android หรือ Blackberry ก็ยังใช้ Java เป็นหลักในการพัฒนา App

ที่น่าสนใจนอกจาก Java แล้วก็ยังมี Objective-C ที่ขึ้นเอาขึ้นเอาไม่ยอมหยุด
ล่าสุดหลังจากที่ขึ้นมาติด top 10 ได้แล้ว ก็ยังขึ้นต่อจนตอนนี้ อันดับ 9 แล้ว
ต้องดูกันต่อครับว่าจะแรงได้นานแค่ไหน

ดูอันดับที่เหลือทั้งหมดได้ที่นี่ครับ
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Playing with Google App Engine (Java API)

Tuesday, December 15th, 2009

บันทึกไว้ซะหน่อยว่าเล่นอะไรไปกับ Google App Engine ในส่วนของ Java API บ้าง

1. URL Fetch Service

มีข้อจำกัดว่า timeout นั้นสูงสุดที่ 10 seconds และต้อง set ค่าทุกครั้ง เพราะ default คือ 5 seconds

2. JDO

รายละเอียดเยอะ แต่เอกสารของ Google ทำได้ดีในระดับหนึ่ง และดูเหมือนว่า Google แนะนำให้ใช้ JDO มากกว่า JPA

3. Local Admin Console

ถ้าอยากดูว่าใน Local Datastore มีอะไรอยู่บ้างให้เปิดไปที่ http://localhost:8080/_ah/admin โดยสามารถแสดงรายการ กับลบ entities ได้เท่านั้น ไม่สามารถ เพิ่ม, แก้ไข, หรือแม้แต่ search ได้

ถ้าอยากได้ความสามารถเพิ่มต้องลง 3rd party ที่ชื่อ gae-data-viewer

ส่วนไฟล์จะเก็บอยู่ที่ \war\WEB-INF\appengine-generated\local_db.bin ถ้าบางครั้งเกิดอาการ start web app ไม่ได้เพราะ datastore พัง ให้ delete ไฟล์นี้ทิ้งซะ


System Properties in Google App Engine (GAE)

Tuesday, July 28th, 2009

เมื่อ Google ยอมให้เราเขียนโปรแกรมใน Infrastructure ของ Google ได้
ถือเป็นโอกาสอันดี ที่จะดูว่า Google มีการกำหนด System Properties ไว้อย่างไรบ้าง

com.google.apphosting.runtime.jetty.APP_VERSION_CONTEXT_ATTR=com.google.apphosting.runtime.AppVersion@b9b67b


org.mortbay.jetty.webapp.NoTLDJarPattern=start.jar|ant-.*\.jar|dojo-.*\.jar|jetty-.*\.jar|jsp-api-.*\.jar|junit-.*\.jar|servlet-api-.*\.jar|dnsns\.jar|rt\.jar|jsse\.jar|tools\.jar|sunpkcs11\.jar|sunjce_provider\.jar|xerces.*\.jar


java.specification.version=1.6

java.vendor=Sun Microsystems Inc.

line.separator=

java.class.version=50.0

java.util.logging.config.file=WEB-INF/logging.properties

java.specification.name=Java Platform API Specification

java.vendor.url=http://java.sun.com/

java.vm.version=1.6.0_13

os.name=Linux

java.version=1.6.0_13

java.vm.specification.version=1.0

user.dir=/base/data/home/apps/xxx/1.335216823617058489

java.specification.vendor=Sun Microsystems Inc.

java.vm.specification.name=Java Virtual Machine Specification

java.vm.vendor=Sun Microsystems Inc.

file.separator=/

path.separator=:

java.vm.specification.vendor=Sun Microsystems Inc.

java.vm.name=Java HotSpot(TM) Client VM

file.encoding=ANSI_X3.4-1968

Galileo Is Here (Eclipse 3.5)

Thursday, June 25th, 2009

หนึงปีผ่านไปสำหรับ Ganymede ก็ได้เวลาของ Galileo แล้วครับ

eclipse ปีนี้เน้น social แฮะ มีทั้ง twitter tag ที่ใช้คือ #eclipse35, มีทั้ง blog a thon, มี concept “Friend of Eclipse”, และยังมี virtual conference อีกด้วย

มีอะไรใหม่ก็ไปดูที่ New and Noteworthy กันได้

เรื่องการ download นั้นสามารถเลือกแบบ Package หรือ แยก Projects ก็ได้ครับ

ดูชาว twitter ที่ใช้ Galileo

ป.ล. ผมละชอบ Logo ของปีนี้จริงๆ สีสวยมาก

BarCamp Bangkok 3 – My first BarCamp

Monday, May 25th, 2009

25052009180

ทำตามกฏครับ 2nd Rule: You do blog about BarCamp

เนื่องด้วยเพิ่งขายกล้องตัวเก่งของตัวเองไป งานนี้เลยไม่มีรูปมาประกอบเลย มีถ่ายนิดๆหน่อยด้วยมือถือ

ขอแบบคร่าวๆนะครับ เพราะงานรัดตัวจนพุงจะหดหมดแล้ว

- วันแรก ผมเน้น Agile Series อย่างเดียวเลย ประกอบไปด้วย Due Date The Root Of All Evils, The Heart Of Agile, Pair Programming

23052009178

- พักเที่ยง กินข้าวกับ @9aum @FordAntiTrust @sixhead @tvchampion คุยกันหลายเรื่อง ทั้งเรื่องที่เอาไปพูดต่อได้ และไม่ได้ เหอๆ

- กลางคืน ออกไป BeerCamp กับ @nuboat @punneng @dekpump @somkiat @rawitat @bact @markpeak @phisite น้อง benz (จำ twitter ไม่ได้) แล้วก็สาวๆ (ที่ผมจำ twitter ไม่ได้อีกเหมือนกัน เพราะได้คุยกันก่อนกลับนิดเดียวเอง) คุยกันหลายเรื่องมากครับ ทั้งการศึกษา, Java แมร่งช้า, มาอันก่อนกลับเรื่องบอลนี่แหละครับ ได้อรรถรสสุด ตอนจะกลับยังสรุปไม่ได้นะครับว่า ตกลงลิเวอร์พูลดีทุกอย่างเลย แต่ทำไมแมร่งไม่ได้แชมป์ฟระ (ผมเสนอว่าราฟาควรเล่น Twitter แล้ว follow ผมเพื่อตามอ่านผม tweet เวลาแข่งด้วย) กลับมาก็นั่งคุยกันต่อที่แคมป์ แต่จำสมาชิกไม่ค่อยได้แล้ว เพราะเริ่มเมา (เอิ้ก)

- วันที่สอง ช่วงเช้านี่เน้นทางธรรมก่อนเลยครับ หลังจากไปผิดศีลมาเมื่อคืน เริ่มด้วย You are the ONE (เกี่ยวกับสมาธิ) ต่อด้วย Dharma Framework For Geek (การมีสติ) จากนั้นเริ่มเข้าสู่ด้านมืดด้วยหัวข้อ สาว Hi5 สวยจริงเหรอ กับ จีบสาวผ่าน Twitter จริงไม่ได้ตั้งใจจะเข้าแต่โดนกระแส(หื่น)พาไป บวกกับไม่รู้จะเข้าอะไรด้วย ก่อนกลับก็เข้าหัวข้อ PAW66 ฟัง @roofimon ย้ำกันชัดๆว่า Java เร็วววส์ โคดๆ แถมเงินดีด้วย (อ้าว แล้วทำไมต้องเขียนหนังสือขาย)

สุดท้าย อย่าลืมตามอ่าน Blog ท่านอื่นๆ, ควันหลงใน Twitter, และ Slide ในงานนะครับ

ล.ป. ขอชื่มชม Staffs ทุกท่าน, Sponsors ผู้มีพระคุณ, และ Participants ทุกท่านเลยครับ You all have done a great job.

Oracle and her Sun

Tuesday, April 21st, 2009

ถือเป็นข่าวใหญ่ในวงการ Computer เลยทีเดียวเมื่อ Oracle กำลังบรรลุสัญญาในการซื้อ Sun (จากข่าวที่หน้าเว็บของทั้งสองคิดว่าจะเสร็จได้ภายใน Summer นี้)

ตอนได้ข่าวนี้ครั้งแรก รู้สึกแปลกใจเล็กน้อย ว่า IBM ปล่อยให้ Sun หลุดมือไปได้ยังไง เพราะจะเห็นว่าในสงคราม Java นั้น IBM ดูเหมือนกำลังจะก้าวขึ้นมาเป็นผู้นำแบบเต็มตัว จากความนิยมของ IDE อย่าง Eclipse หรือ Commercial Version อย่าง WSAD, RAD หรือ App Server อย่าง Web Sphere ที่แม้จะอ้วนมากๆ แต่ก็ได้รับการตอบรับที่ดีในภาคธุรกิจ สิ่งที่ขาดไปก็คือ Database ที่ DB2 ดูจะได้รับความนิยมลดลงเรื่อย ซึ่งถ้าได้ MySQL มา คงมาเติมตรงนี้ได้ (หลายคนอาจเถียงว่าในอดีต IBM ซื้อ Informix ไปดอง)

การที่ Oracle ใกล้ปิดดีลนี้ได้ (คิดว่าไม่น่าจะพลาด) คงทำเอาหลายๆคนที่ใช้ Java ในฝั่งของ IBM ฝันสลาย รวมถึงผมด้วย และในทางตรงกันข้ามสำหรับคนที่ทำงานใกล้ชิดกับ Oracle อยู่แล้ว คงเป็นข่าวที่ดีมากๆ

หลังจากการควบรวมครั้งนี้เสร็จสิ้นคงเห็นการเปลี่ยนแปลงในสงคราม Java จากที่เคยทำนายกันว่าจะเป็น Oracle+BEA VS IBM+Sun กลายเป็น 3 ทหารเสือ (Oracle+BEA+Sun) รุม IBM เจ้าเดียวเลย น่าหนักใจแทน IBM จริงๆครับ

มองอีกมุมว่าการที่ Oracle มี Product คล้ายๆกันมากเกินไปอาจะทำให้คนที่ตัดสินใจใช้ IBM รู้สึกปลอดภัยที่โอกาสเกิดการเปลี่ยนแปลง Technology มีน้อยกว่า ยกตัวอย่าง IDE นั้น Oracle กำลังจะมีถึง 3 ตัวคือ JDev, Workshop และ NetBeans ในขณะที่ IBM มีเพียง Eclipse (RAD) เท่านั้น

นอกจากนี้ งานนี้อาจทำให้ Sun Java Certificate กลายเป็นของเก่าหายากอีกด้วย เพราะอาจถูกเปลี่ยนชื่อเป็น OCJP, OCWCD, OCEA

มามองกันที่ฝั่ง Database กันบ้าง หลายๆท่านคงกังวลเหมือนผมว่า Oracle จะทำยังไงกับ MySQL เพราะจริงๆแล้ว Oracle เคยพยายามซื้อ MySQL มาแล้ว แต่สุดท้ายเป็น Sun ที่ได้ไป

สิ่งที่ MySQL User กลัวกันก่อนหน้านี้ว่าถ้า IBM ได้ MySQL ไป จะเอาไปดองแบบ Informix กลับยิ่งกลัวหนักขึ้น เพราะ MySQL Enterprise Version กับ Oracle Database นั้นค่อนข้างจะชนกันตรงๆ ส่วน MySQL Community Version อาจจะโดนลดบทบาทลง (แต่ไม่ตาย) แล้วดัน Oracle XE ที่เป็น Free Version ให้ได้รับความนิยมมากขึ้น แต่เรื่อง Open Source คงจะไม่เกิดขึ้นง่ายๆแน่ๆ

คงต้องดูกันต่อไปครับว่า เทพ Oracle จะทำยังไงกับ her Sun บ้าง

Fore more information:

http://www.sun.com/third-party/global/oracle/index.jsp

http://www.oracle.com/sun/index.html

http://www.theserverside.com/news/thread.tss?thread_id=54328

http://blognone.com/node/11386

Java's Biggest Long-Term Problem

Monday, September 29th, 2008

ตามไปอ่าน บทความนี้ จาก TheServerSide.com อีกที

อ่านจบแล้วก็คิดว่าน่าจะนำมาแชร์ให้เพื่อนที่ใช้ Java ได้อ่านกัน (Java ในที่นี้คือ Platform ไม่ใช่ Programming Language)

โดยสรุปก็คือผู้เขียนบอกว่าปัญหาของ Java อยู่ที่ความซับซ้อน ซึ่งเป็นกำแพงสำหรับคนหรือธุรกิจที่อยากจะเปลี่ยนมาใช้ Java

นอกจากนี้ผู้เขียนยังแนะนำ Sun ให้ปรับปรุงอีกสองเรื่อง คือ Hosting และ Web Framework

สำหรับความคิดเห็นส่วนตัว:

  • เรื่อง  Hosting นี่เห็นเป็นปัญหามานาน ตั้งแต่ Tomcat ออกใหม่จนถึงทุกวันนี้ก็ต้องบอกว่าเรื่อง Java กับ Web Hosting นี่มันเป็นปัญหาคาราคาซังจริงๆ ทุกวันนี้ Java ไม่ได้อยู่ใน Standard Package ของ  Web Hosting เหมือน PHP, Perl, ASP หรือ  ASP.NET
  • เรื่องต่อมาเรื่อง Web Framework อันนี้ถ้าตัดเรื่องมีตัวเลือกมากมายที่เป็นทั้งข้อดีและข้อด้วยในตัวเอง เพราะ JSF นั้นถูกกำหนดให้เป็น Standard Web Framework ของ Java  ไปแล้ว โดยความเห็นของผู้เขียนนั้นกล่าวว่า JSF นั้นซับซ้อนเกินไป (ผู้เขียนว่า Groovy + Grails ยังดูดีกว่า)  ข้อนี้ผมเห็นด้วย 50% เพราะจริงๆแล้ว JSF 2.X ก็ค่อนข้างปรับปรุงให้ใช้งานง่ายมากๆ (แต่ต้องยึดติดกับ  IDE นะ ถ้าใช้ vi เขียนละไม่ง่ายแน่ๆ)  แต่สิ่งที่ผมเห็นว่าเป็นจุดออ่อนอย่างมากของมันก็คือ การ customize พวก component นั้นทำได้ยากมากถึงมากที่สุด นอกจากนี้ HTML Code ที่ได้จาก JSF Page นั้น อ่านยากถึงยากที่สุดเช่นกัน (เผลอๆ GWT ยังอ่านง่ายกว่า) ตรงนี้มันส่งผลต่อคนทำ HTML/CSS เพราะคนเหล่านี้ไม่ได้ใช้ NetBeans ในการออกแบบหน้า  Web Page นะครับ :D

สุดท้าย อยากเน้นย้ำอีกทีว่า Web Platform ของ Java นั้นชื่อว่า Java EE (Java Platform, Enterprise Edition) หรือ J2EE เดิม ไม่ใช่ Java IE (Java Platform, Internet Edition) หรือ Java WE (Java Platform, Web Edition) ดังนั้นจะเอาไปเปรียบเทียบกับ LAMP มันก็ดูจะกระไรอยู่

Simplified Old Java Objects (SOJO)

Monday, July 21st, 2008

เรื่องของเรื่อง หลายวันมานี้เจอโจทย์ที่ต้องใช้  JSON format บน IBM Web Sphere Portal 6.0 ที่ใช้ JRE  ของ IBM ที่เป็น  Version 1.4.2

(more…)

MySQL: Packet for query is too large

Friday, October 19th, 2007

เมื่อวานเจอปัญหานี้ เลยถือโอกาสนำมาแชร์ที่นี่ด้วย

สำหรับใครที่ใช้ MySQL โดยเฉพาะกับ Java อาจจะมีโอกาสได้เจอกับ Exception แบบด้านล่างนี้

com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1267737 > 1048576). You can change this value on the server by setting the max_allowed_packet’ variable.
at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2648)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1597)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1708)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3249)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3178)
at com.mysql.jdbc.Statement.execute(Statement.java:711)

(more…)