明日から本気出す

ただの備忘録

TextMate2にgroovy bundleを追加

あるgroovyのコード見るために、TextMate2にgroovy bundleを入れてみました。

以下のGitHubのInstallationを参考に実施。

With git installed, you can checkout the bundle from github.

cd into bundle dir and clone the bundle:

cd ~/Library/Application\ Support/TextMate/Bundles/
git clone https://github.com/textmate/groovy.tmbundle.git

Now restart TextMate or tell it to reload bundles.

osascript -e 'tell app "TextMate" to reload bundles'

GitHub - textmate/groovy.tmbundle

が、bundleリロードで以下のエラーが発生

23:37: syntax error: A identifier can’t go after this identifier. (-2740)

んでGoogle先生に聞いたところ、TextMate2だとどうもうまく行かないようです。。

さらに調べて以下のサイトの通りにbundleの配置場所を「~/Library/Application Support/Avian/Bundles」に変えたところうまくいきました(・∀・)

http://stackoverflow.com/questions/8531265/has-anyone-managed-to-use-older-textmate-bundles-with-textmate2

f:id:toruboy:20130223141059p:plain

めでたしめでたし

Re: Re: 10分でコーディング

会社の先輩がやっていたので自分も。

難易度 激簡単 目標時間10分以内


あなたはこれからトランプを配っていきます。
あなたにはトランプを配る人数、
そしてトランプが渡されます。
今回はとても簡単なので例題で説明します。


例)
2つの引数がもらえます。

3
"123123123"

最初の3はプレイヤーの人数を示しています。

"123123123" はトランプの並びを示しています。あなたはこのなかのトランプを
配っていかなければなりません。

この場合、あなたのプログラムは

{"111","222","333"}

を返さなければなりません。

"111"は一番めのプレイヤーが受け取るトランプです。
"222"が2番目のプレイヤーが受け取るトランプです。
"333"が2番目のプレイヤーが受け取るトランプです。


ところが、以下のような場合もあります。

すべてのプレイヤーは同じ数だけのトランプを受け取らなければなりません。
ですので

4
"123123123"

この場合、あなたのプログラムは

{"12","23","31","12"}

を返さなければなりません。

{"123","23","31","12"} は駄目です。

では、以下にもうすこし例をのせます。

例1)
6
"012345012345012345"
Returns: {"000", "111", "222", "333", "444", "555" }

例2)
4
"111122223333"
Returns: {"123", "123", "123", "123" }

例3)
1
"012345012345012345"
Returns: {"012345012345012345" }

例4)
6
"01234"
Returns: {"", "", "", "", "", "" }

例5)
2
""
Returns: {"", "" }


クラス名、などは以下のとおりです。

Class:    Cards
Method:    deal
Parameters:  int, String
Returns:   String
Method signature: String
deal(int numPlayers, String deck)

10分でコーディング|プログラミングに自信があるやつこい!!

久々にrubyを書いてみた。
久々すぎて文法忘れてました (ノω・)テヘ

class Cards
  def deal(numPlayers, deck)
    cards = Array.new(numPlayers, "")
    return cards if numPlayers > deck.length
    deck.split(//).each_with_index do |c, i|
      break if i >= deck.length - deck.length % numPlayers
      cards[i%numPlayers] += c
    end
    return cards
  end
end

エレガントに書けるようになりたいぜぇщ(゚д゚щ)

JUnit実践入門写経 日本語クラス名でハマる

JUnit実践入門の演習問題をやっていてハマったのでメモ。

JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)

JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)

実行環境


演習問題19.4をやっていた(というか写経していた)のですが、以下のエラーが発生

java.lang.NoClassDefFoundError: junit/tutorial/RangeTest$Rangeが0から10_5$かつ範囲外の場合 (wrong name: junit/tutorial/RangeTest$Rangeが0から10_5$かつ範囲内の場合)

何度も本と見比べましたが、コードは全く同じ。。

なぜ。。

ふと、インナークラス名を日本語から英語に変えたみたところ、
うまくいきました(´・ω・`)

eclipseの問題・・? ようわからんから先進む!ヽ(`Д´)ノ

Jenkinsのビルドスクリプトでsudo

Jenkinsのビルドスクリプトに指定したスクリプト内でsudoする必要があり、少しつまづいたのでメモ。

/etc/sudoersに以下を追加してまずはサーバ上のスクリプトを直接実行。

[実行ユーザ名] ALL=(ALL) NOPASSWD:ALL

成功。

が、Jenkinsから実行するとうまくいかない。。

ちょっと調べると、以下の設定も必要でした!

Defaults:[実行ユーザ] !requiretty

tty経由なしでのsudo実行を許可する設定っすな〜

しょぼ