Category Archives: Groovy

[grails] การ mock แบบใช้ .metaClass มากกว่า 1 ครั้ง

เหตุเกิดจากความขี้เกียจ… เรื่องของเรื่องคือว่า… … ปกติแล้วการใช้ metaClass จะใช้ได้ครั้งเดียว เลยไปไล่หาคำตอบว่าทำไม.. จนได้ไปเจอ source code นี้เข้า เลยได้เอะใจขึ้นมาว่ามันน่าจะมีกระบวนการ registerMetaClass แน่ๆเลย เลยไปไล่หาวิธี remove ดู แล้วก็เจอ GroovySystem.getMetaClassRegistry().removeMetaClass เข้า.. เลยลองใช้ดู แต่มันมี side-effect คือมันจะถอด metaClass ทิ้งทั้งหมดเลยต้องใช้อย่างระมัดระวัง ตอนนี้กำลังหาวิธีถอดทิ้งแบบ method เดียวอยู่ น่าจะพอมีทางนะ

เนรมิต Web Service ตัดคำ (ใช้ grails + xfire) ภาค SOAP

วันนี้ผมจะมานำเสนอการทำ Web Service ตัดคำภาษาไทย โดยใช้ grails framework   (ภาค SOAP) สั่ง grails create-app _appname_ เพื่อสร้าง grails application cd _appname_

แกะ Link ทั้งหมดด้วย cyberneko (Groovy Java)

แกะ Link ทั้งหมดด้วย cyberneko (Groovy Java) จาก code ข้างบน จะเป็นการแกะ link ออกมาเฉพาะลิ้งค์ที่มีคำว่า id groovy -cp nekohtml.jar:xml-apis.jar:xercesImpl.jar nekoReg.groovy Related Blogs

Grails + Tomcat แล้วเกิด – java.lang.OutOfMemoryError: PermGen space

ทำอะไรมีปัญหาทุกที  สาเหตุที่เกิด Error – java.lang.OutOfMemoryError: PermGen space เพราะว่า เรา Deploy Application ใหม่ แล้ว ค่า Default ของ PermGen Space มัน set ไว้น้อย (ประมาณ 80 – 84mb)

Grails & Legacy Database กับการ MAP id เข้ากับ String

โจทย์ Grails วันนี้คือ ถ้ามี Database อยู่แล้ว จะสร้าง Grails Application มาครอบ Table ที่มีอยู่แล้ว ยังไง ? โจทย์นี้ยากสำหรับผม เพราะว่า ผมสร้าง Application ใหม่อย่างเดียวเลย Table ก็เกิดใหม่ทุกครั้งเลยไม่เจอปัญหาอะไร

แก้ปัญหา RESTClient ยิงไป update.xml ไม่ได้

ปัญหา ไอ้ Code (post ข้อความออก twitter) ข้างล่าง นี้มัน error [ Caught: groovyx.net.http.HttpResponseException: Expectation Failed ] อ่านมาได้ แต่โพสไม่ได้ ก็เซ็งเป็ด วิธีแก้ไขก็ให้แก้เป็นแบบนี้ (เติม twitter.client.params.setBooleanParameter ‘http.protocol.expect-continue’, false เข้าไปแค่นั้นเอง)

grails bash completion

เคยบ่นว่า shell ของ ubuntu เก่งกว่า mac เพราะว่ามันใช้ command+tab +tab ได้ แต่หารู้ไม่ว่าที่ ubuntu ใช้ command +tab +tab ได้นั้นเค้าเรียกว่า bash-completion  (แต่นี่ยังไม่ใช่ประเด็น) ซึ่งก่อนจะล้างเครื่องมันใช้ grails +tab +tab เพื่อแสดงคำสั่งที่สามารถใช้ได้ออกมา   (แต่ไม่ได้จดไว้) พอลงเครื่องใหม่ปุ๊บก็ต้องมาหาวิธีที่ทำให้มันใช้งานได้ (มันต้องทำได้ เพราะเคยใช้ได้)