Category Archives: Grails

[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_

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 ก็เกิดใหม่ทุกครั้งเลยไม่เจอปัญหาอะไร

grails bash completion

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

ลองถอดข้อมูลจาก JSON Format ด้วย Grails

จากตอนที่แล้ว   Reverse Geocoding (Address Lookup) ผ่าน http เรื่องวันนี้  ! ให้สังเกตว่า  เมื่อเรา Request ไปข้อข้อมูลของ Thammasat Rangsit เราจะได้ ข้อมูลหน้าตาประมาณนี้ { "name": "Thammasat Rangsit", "Status": { "code": 200, "request": "geocode" }, "Placemark": [ { "id": "p1", "address": "Thammasat Rangsit Sport Center, Khlong Nueng, … Continue reading

sort List ใน views ที่มาจาก Relation แบบ hasMany ใน grails

> ไม่ Blog ยาว ขอสั้นๆ มี Domain แบบนี้ package com.nazt   class Experiment { static hasMany = [data:DataKeeper]   String name = '[Experiment #]' Integer total Date dateCreated Date lastUpdated static constraints = { name(unique:true) } String toString() { name … Continue reading

[cache] Grails Project : การตัดคำภาษาไทย(ด้วย Java) และประมวลผลด้วย Grails

  ครึกครื้นอยากเขียน … พอดีได้โจทย์ซึ่งเป็น Senior Project ของเพื่อน แต่ว่าอยากทำเลยเอามาลองเสียหน่อย (ฝึกเขียน grails ด้วยการทำ โจทย์)   ได้ความรู้ + ประสบการณ์ มากเลยทีเดียว เพราะว่า เพิ่งเริ่มจับ grails แล้วทำงานแบบเป็นชิ้นเป็นอัน ครั้งนี้ก็ครั้งแรก    แต่ก่อนหน้านี้มีใช้ grails + xfire ในการทำ project วิชา SOAp ก็เรียบร้อยไป (แต่  client ใช้ nusoap + codeigniter) เล่นกันทีเดียวคุ้ม