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 ได้อย่างสบายใจแล้ว :)

หารร่วมมาก (Great Common Divisor)

ช่วงนี้ไม่รู้นึกอะไรชอบไปเล่น http://programming.in.th/ แล้วก็เจอข้อหาการหารร่วมมาก ตอนแรกก็นั่งนึกอยู่นานว่าจะทำยังไงดีเลยลองหาใน wiki ดูปรากฎว่ามันมีอัลกอริทึมชื่อว่า "Euclid" หาได้โดย


gcd(a, 0) = a
gcd(a, b) = gcd(b, a % b)


ง่ายขิงๆ :)