Showing posts with label groovy. Show all posts
Showing posts with label groovy. Show all posts

9/30/2012

สร้าง DSL อย่างง่ายด้วย Category

Category เป็น 1 ใน feature ของ Groovy ที่ช่วยให้เราสามารถสร้าง DSL อย่างง่ายๆ ได้ โดยใช้คู่กับ use  อย่างแรกเราจะสร้าง class ชื่อ Distance

จากนั้นสร้าง Category ขึ้นมาใช้ชื่อคลาสว่า NumberCategory โดยแปะ annotation ไว้ว่า Category นี้ใช้สำหรับวัตถุของคลาส Number

จากนั้นเราจะใช้ use โดยบอกว่าจะใช้ Category ไหนตามตัวอย่าง

use จะบอกว่าเราจะต้องใช้ Category ไหน และใน block ของ use เราจะสามารถใช้ method ของคลาสที่เป็น Category ได้เลย ในตัวอย่างจะเห็นว่าเราเรียก method getMeters() (จริงๆ groovy ทำเป็น beans ให้เราจึงสามารถใช้ meters ได้) โดยเรียกจากวัตถุของ Number นั้นคือตัวเลข 300 นั้นเอง

2/06/2012

build groovy อย่างง่ายด้วย gradle

gradle เป็นเครื่องมือจัดการ dependencies คล้าย maven ซึ่งเขียนโดย groovy ซึ่งใช้ feature DSL (Domain Specific Language) ซึ่งขั้นตอนง่ายมากเพียงแค่สร้าง build.gradle แล้วพิมพ์ลงไปในไฟล์ดังน้ี

apply plugin: 'groovy'
repositories {
  mavenCentral()
}
dependencies {
  groovy group: 'org.codehaus.groovy', name: 'groovy', version: '1.8.5'
  testCompile group: 'junit', name: 'junit', version: '4.10'
}

หลังจากนั้นบันทึกไฟล์ แล้วใช้คำสั่ง
gradle build

กระบวนการหลังจากนั้นมันก็จะโหลด dependencies แล้ว build source code ให้เอง

2/02/2012

ลง groovy

ช่วงนี้ฝึกงาน ได้มีโอกาสเขียนภาษา Groovy ซึ่งเป็นภาษาที่รันบน JVM (Java Virtual Machine) ใช้ class ร่วมกับ Java ได้ รองรับทั้ง Dynamic และ Static Type (จริงๆแล้ว Groovy เป็นภาษา Dynamic) ส่วนหน้าตา Syntax ของภาษามันก็ช่างละม้ายคล้าย Ruby ยิ่งนัก เอาล่ะพล่ามกันมาพอหอมปากหอมคอแล้ว มาลองดุวิธีลงกันบ้างดีกว่า

เริ่มแรกเลยไปเอา binary จาก http://groovy.codehaus.org/Download ถ้าเครื่องใครเป็น Windows ก็โหลดที่เป็น Windows-Installer มา หรือถ้าเป็นตระกูล Unix(Linux, MacOSX) ก็โหลดแบบ binary มาใช้ หรือว่าใครอยากแกะ sourcecode ทาง Groovy เองก็มีให้โหลด sourcecode เหมือนกัน :)

หลังจากนั้นใครใช้ Windows-Installer ก็ double click  next next next ไปตามเรื่องตามราว ส่วนของ ตระกูล Unix นั้นแตก .zip ออกมาก็เรียกใช้ได้เลย 

ส่วนต่อมาคือการเซต path ให้ Groovy ทำงานได้โดย Groovy เองบังคับให้เซต JAVA_HOME ก่อน (ที่เก็บ JDK) และต้องเซต GROOVY_HOME ซึ่งเป็นที่เก็บ ไฟล์ของ Groovy นั้นเอง โดย

$ export GROOVY_HOME=path/to/groovy
$ export PATH=$GROOVY_HOME/bin:$PATH

ของ Windows นั้นสามารถไปศึกษาวิธีเซต Path เองได้ขอแค่ให้เซต Variable ตามข้างบน (จริงๆ อยากเอามาให้ดู แต่ไม่มี Windows)

เท่านี้คุณก็สามารถใช้ groovy ได้อย่างสบายใจแล้ว :)