Coder Social home page Coder Social logo

chanwit / groovykoans Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nadavc/groovykoans

0.0 2.0 0.0 408 KB

A collection of small exercises in the form of unit tests, designed to get Java developers up to speed on Groovy

Home Page: http://groovykoans.org

groovykoans's Introduction

Groovy Koans Project

The Groovy Koans project is a collection of small exercises in the form of unit tests, designed to get Java developers up to speed on Groovy features and common idioms. It starts by teaching you basic Groovy building blocks, and gradually builds your knowledge towards metaprogramming, slurpers, and all the goodness Groovy has to offer.

Getting Started

  1. Make sure you have JDK 1.6+ installed
  2. Download and unzip the Koans (or clone the GitHub repository with $ git clone https://github.com/nadavc/groovykoans.git)
  3. Remove the solutions from the Koans using $ ./gradlew removeSolutions
  4. Execute Koan01 with $ ./gradlew koan01 and fail (or any other Koan using $ ./gradlew koan##)
  5. Fix code, and execute again
  6. Keep going until you're fluent at Groovy :)

Q&A

I like IntelliJ. How can I use it to debug/edit the Koans?

  • Download and install IntelliJ IDEA Community Edition
  • Run ./gradlew idea from the root of your unzipped Koans
  • In IDEA, File -> Open Project and open the generated ipr file

I am forced to work behind a proxy. Can I still run the Koans?

The gradlew script downloads Groovy and Gradle for you, so you don't have to set up anything by yourself. To allow gradlew to work through your proxy, simply add the following parameters:

$ ./gradlew koan01 -Dhttp.proxyHost=[http proxy] -Dhttp.proxyPort=[http proxy port]

The answers are already there! What's the point?

One of the perks of learning through Koans is that once your Koan is solved, you can compare your solution with the 'official' solution and perhaps learn from that comparison as well. It is also a way to make sure that the Koans are indeed solvable by filling in the blanks.

For optimal learning experience, however, you should first try to solve the Koans without those solutions as reference. To remove the solutions, run $ ./gradlew removeSolutions from the root of your unzipped Koans.

Are there more Koans planned? How will I know?

These are the Koans that are currently planned:

  • Testing
  • Spock framework
  • Embedding Groovy
  • Creating your own DSL
  • Creating your own builder

Follow me on Twitter or GitHub for updates.

Credits and License

The Koan concept started way back in Zen practice. It was then adapted by the good folks of rubykoans.com and perfected by Neo4j. The Groovy Koans project is licensed under the Apache 2 License.

Please feel free to leave comments and pull requests :)

Enjoy!

groovykoans's People

Contributors

nadavc avatar timyates avatar winkler1 avatar kob-aha avatar

Watchers

Chanwit Kaewkasi avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.