タグ

ブックマーク / qiita.com/ligun (9)

  • Cygwinでgroovyshを使いたい - Qiita

    概要 Groovyには対話型モードとしてgroovyshが標準で付属されている。 UnixのシェルやWindowsのコマンドプロンプトで起動すると対話モードになり簡単にテストするときは便利に使うことができる。 しかし、WindowsのCygwin上で使うときはバックスペースや矢印キーを押下した時、正常に動作せず自分が入力した文字を突き抜けてカーソルが移動してしまう。 あまりにも不便でかと言ってコマンドプロンプトは使う気もないし、そもそもCygwin上にSDKMANで入れたものだから参照もしていなかった。 諦めてちょっとたまに試したいときはGroovyConsoleを使っていたのだが偶然解決策を見つけたので備忘録と共有を兼ねて 方法 Groovyとは全く関係ないがElixirの情報を調べていたら下記のページを見つけた。 Cygwin環境下でElixirを使うときのバッドノウハウ Elixir

    Cygwinでgroovyshを使いたい - Qiita
    orangeclover
    orangeclover 2016/03/26
    Cygwinだと「バックスペースや矢印キーを押下した時、正常に動作せず自分が入力した文字を突き抜けてカーソルが移動してしまう」こんな問題あったのか。 『Cygwinでgroovyshを使いたい』
  • プログラミング言語Tippy(Brainf*ckのGroovy実装) - Qiita

    概要 この記事はG* Advent Calendar13日目の記事です。 今回はGroovyでBrainf*ck派生言語の実装を行ったのでその紹介をしたいと思います。 皆さん、Brainf*ckは知ってますよね?(汚い言葉なので*で伏字になっています) 言わずと知れた何回プログラミング言語のひとつです。実装がとても単純なのでさまざまな言語で実装されています。( 知らない人はWikipedia) また命令が8つしかないのでそれぞれの文字を置き換えたネタ言語がアニメが話題になるたびに出てきます。 ジョジョ言後 ニャル子言語 etc... さてそんな中で私も去年ひとつ実装しました。 ここあさん、ティッピーが言語になったんです! ということでごちうさ言語Tippyの紹介です。 アニメ「ご注文はうさぎですか?」を題材にしたBrainf*ck実装になっています。 コードがぴょんぴょんする仕様です。 仕

    プログラミング言語Tippy(Brainf*ckのGroovy実装) - Qiita
  • Gradle入門(G* Advent Calendar版) - Qiita

    概要 この記事はG* Advent Calendar12日目の記事です。 少し前にJavaツール勉強会というものを福岡で行い、そのときに下記の資料を作ってSlideShareに公開しました。 勉強会用の資料ということもあり、あまり外向けで書いたものではなかったのですがありがたいことに40以上のはてブがついていました。 そこで記事ではもう少し説明を加えながら改めてGradleの紹介をしたいと思います。 スライドを読んだ事ある方は新しい情報はないのであまり面白くないかもしれません。 同じようなタイトルの記事はQiita内外でいくつもあり何番煎じだよって感じですが比較的新しい内容にしているつもりなのでお許しください。 Gradleとは? 説明するまでもないことでしょうがJava言語用のビルドツールです。 JavaビルドツールとしてはGradle以外にもAnt、Mavenといったものがあります。

    Gradle入門(G* Advent Calendar版) - Qiita
  • JavaユーザーのためのパッケージマネージャーSDKMAN - Qiita

    【追記】2021.09.01 記事を書いて5年ほど放置していましたが、この記事を書いたあとにsdkman自体もどんどんアップデートされていき使いやすくなっていきました。 特に、記事執筆時点ではsdkman体とは別に自身でJDKをインストールする必要があったのがなんとJDKの選択、導入自体もsdkman上から行えるようになっています。 Groovy周りから発展したツールというのを飛び抜けて、Javaユーザー全般が使うツールとなってきたのでいくつか追記しました。 概要 Groovyでは今までパッケージマネージャーとしてGVMというツールが使われてきました。 これはRubyで言うRVMやrbenvのようなもので(といっても私はRuby使っていないので詳しくないですが)Groovyの環境を導入したりバージョンを管理できたりするツールです。 またGradleやGrailsなどGroovy系のツール

    JavaユーザーのためのパッケージマネージャーSDKMAN - Qiita
  • Groovyの型指定と実行速度 - Qiita

    はじめに 以前下記のブログで各種JVM言語で実行速度を比較している記事を見つけました。 【Java 3兄弟で】Groovy, Scala, Clojure【フィボナッチ】 自分の環境でもGroovyで同じく検証すると記事よりかなり速かったので、よく比べてみると自分のソースでは型指定をintとして書いていました。 そのことをブログのコメントで書くと管理人の方も比較してくださり同じく速度に違いが出ることが確認できました。 一般的にGroovyの入門記事などと読むとGroovyは基ラッパー型しか使わずに、数値計算などもGroovy側でよしなに変換してくれるから気にしなくていいといったことしか書かれていないため今まで考えたこともありませんでした。 そこでGroovyで型指定した時にどういった挙動になるか調べてみました。 やったこと テストコード 次のようなコードを書いてみました。 def num

    Groovyの型指定と実行速度 - Qiita
  • メモ化により再帰を高速化する - Qiita

    概要 Groovyで再帰処理などを行うとき、メモ化すると高速になることがあります。 メモ化(Memoization)とはその名の通り、値をメモとして保存しておきメモが使えるときは計算せずにメモから値を取り出すことで不必要な計算を削減する手法です。 引数に対し出力が決まっている時(副作用がないとき)メモ化を行うことができます。 メモ化の原理については次を見てください。 そんなのどうでもいいからGroovyでメモ化使うにはどうすればいいか知りたいだけの人は下の方(Groovy標準でメモ化する)までジャンプしてください。 メモ化の原理 メモ化を自分で実装すると次のようになります。 例として2乗する処理をメモ化しています。 まず引数を2乗するクロージャsquareがあるとし、この処理を行うには1秒かかります。

    メモ化により再帰を高速化する - Qiita
  • Gradleプロジェクト作るときLazybones使うと便利 - Qiita

    概要 Gradleでプロジェクト作るとき、IDEを使うと比較的よしなにやってくれるがシェルで操作しているときは手作業でやっていた。 とは行ってもgradle initしてから少しディレクトリを追加するだけなんだが project ├── build.gradle └── src ├── main │ ├── java │   └── groovy └── test ├── java └── groovy まずはじめにこの構成を作っていた。 最近面倒になってGitHub上によく使う基的な構成を作ってクローンするようにしていた gradletemplate 多分こういうのを簡単に作れる仕組みあるんだろうなぁとは思いつつ、見つけきらなかったのでこういう方法を使っていたが最近Lazybonesというものを知ったので使ってみたらまさにやりたいことだった。 Lazybonesを使うと様々なパターンで

    Gradleプロジェクト作るときLazybones使うと便利 - Qiita
  • JavaやGroovy製のライブラリをMavenリポジトリで公開する - Qiita

    概要 Groovyのライブラリを他の言語のようにもっと気軽に公開できないかと調べててわかったことを書きます。 多くの言語ではパッケージ管理システムでライブラリを管理できます。RubyならRubyGems、Pythonならpipを使うと認識しています。(使ったことないので詳しくはわからないけど) Java系のライブラリは通常Mavenで管理されていてOSSを公開する場としてはMaven Central Repositoryがあります。 しかしこのリポジトリは少しお堅いものなのできちんとしたOSSならともかく勝手なものは公開しにくいです。公開権限を申請するのも少しハードルが高いので難しいです。 RubyPythonだとみんなもっと気軽に公開しているので同じようにできないかと調べて見ました。 余談 余談ですが何を公開したかったかというと、groovycureというプリキュアのGroovy実装ラ

    JavaやGroovy製のライブラリをMavenリポジトリで公開する - Qiita
  • GroovyでJSONを簡単に処理する - Qiita

    概要 WEB APIで条件をGET・POSTしたらJSONでリストが返ってくることって多いですよね。 そういう時に便利なのがGroovy わずか数行で簡単に処理できます。 例 Doorkeeperで現時刻から24時間以内に開催されるイベントを検索してみます。 コードは次のようになります。 @Grab('org.codehaus.groovy.modules.http-builder:http-builder') import groovyx.net.http.HTTPBuilder import java.time.* def http = new HTTPBuilder('http://api.doorkeeper.jp') def since = OffsetDateTime.now() //時差情報付き現在時刻(ISO8601) def until = since.plusDays(

    GroovyでJSONを簡単に処理する - Qiita
  • 1