2012-01-01から1年間の記事一覧

PHPでクラスのフィールド(プロパティ)に関数オブジェクトを入れる

会社で「クラスのフィールドに無名関数入れられん><」って言ってる人がいたので、 「あれ?なんかできなかったっけ???」って思った。一旦、ローカル変数に入れれば使える。なんで $this->func(); って呼べないんじゃろね…

git flow でのチーム開発ワークショップ資料

この記事は会社内の別チームの方に、 僕の今のチームで git をどう運用してるかを ワークショップ形式で説明するための資料である。 事前準備 git と git-flow を入れておくこと 参考資料(Macでgitとgit-flowインストール) - xcode cli toolインストール -- …

日本におけるハッカーのビジネス、またはSotarokと僕

2年ぐらい前のパーフェクトPHP出版記念かなんかの勉強会で出会う LINKIN PARK のライブのチケット余ってるってTwitterで言ってたので、Twitterでコンタクトとって一緒にライブに行く PHPカンファレンス2011かなんかでも会ったような気がする Crocosもsotarok…

シェル操作課題 (cut, sort, uniq などで集計を行う) 解答編

さて先日の設問編 http://d.hatena.ne.jp/Yamashiro0217/20120727/1343371036 の解答例です。はてブとかトラックバックで解答例もらってて、あきらかに俺の解答よりよかったり面白かったりするので、 最後にまとめたので見てみると面白いと思う。他の人の解…

シェル操作課題 (cut, sort, uniq などで集計を行う) 設問編

この記事は弊チームの新人の方にシェル操作に慣れてもらうために作った課題である。 皆様のチームの新人にやってもらってもいいですね。 あとで解答編を書く。もちろん他の方も解いてもらって構わない。 というか僕の解答以上の解答がきっとあるはずなので、…

Serialize周りのテストが、SBTでテストするとClassNotFoundが出るときの対応

Intellij IDEAからテストすると大丈夫なんだけど、SBTから実行すると ClassNotFoundException が出る。 「sbt ClassNotFoundException」あたりでググる https://github.com/harrah/xsbt/issues/89「fork := true」を設定せよと。動かない。よくよく調べると…

gitメモ

git

自分用gitメモ 現在のブランチのみの push する設定 git config --global push.default upstream

Intellij IDEA にスペルチェックの辞書を登録する

Intellij IDEA のスペルチェック機能便利ですね。ですが、Redisとか自分のプロジェクト専門の用語とかが当然辞書に入ってないので、波線が出てしょんぼりしますね。そんなとき、 <どっかのディレクトリ>/dictionaries/unko.dic baka.dicなどというディレクト…

既存のライブラリが java.util.logging API 使ってて、俺は今 logback が使いたいんだ!

既存のライブラリが java.util.logging API 使ってて、俺は今 logback が使いたいんだ!設定ファイルは logback.xml に統一したいんだ!という人向けの情報http://mvnrepository.com/ で「jul-to-slf4」java logging api から slf4j へのブリッジになるライ…

sbtからすべてのテストを実行すると失敗する件

IDEAから単体でテストしたり、 sbtプロンプトから >test-only hoge.FooTestならテスト通るが、 >testで実行すると動かない問題にハマった結論からいうとsbt 0.11.2 0.10.0 以降には、タスクの並列実行(Parallel Execution)の機能が入った。 https://github.c…

sbtでcompileとかpackageとかの前に自分のタスクを差し込みたい

まぁ、たとえばpackage前にjarに入れたいファイルを加工する自前のタスクとか挟みこみたいわけです。例えば単純なカスタムタスク val hello = TaskKey[Unit]("hello") val helloTask = hello := { println("hello") } があったときに、compile タスク実行前…

IntelliJ IDEA でエディタのフォントサイズをさくっと変える方法

コードレビューとかペアプロしてるときとかはフォントサイズでかくしたいですよねいちいち設定画面で設定するのはだるい[File]-[Settings]-[Editor]-[Mouse]-[Change font size(Zoom) with Ctrl + Mouse Wheel] にチェックを入れて、Ctrl+Mouseホイールでお…

scala + specs2 + sbt で特定のクラスの中のさらに特定のテストだけ実行したい

Scala で specs2 使いながら開発・テストしてるときに、特定のクラスのさらに特定のテストだけ実行したいときありませんか?僕はありましたなので調べましたとりあえず特定のクラスのみは以下 sbt>test-only hoge.FooTestね。簡単でしょう?特定のテストだけ…

sbt で最新のScalaのバージョンのライブラリがまだリポジトリにないときの対処法

Scalaのバージョンが 2.9.2 にあがりましたね。 ついさっき、lift-json を試用してみようとしたんですよ そしたら今日現在、lift-jsonは2.9.1までのjarしか置いてない… http://oss.sonatype.org/content/repositories/releases/net/liftweb/ sbt使ってるんで…

ScalaでDIというかServiceLocator的な名状しがたい何か

ScalaでDIというかServiceLocator的な名状しがたい何かを簡単に実装してみた。 理由はテストを楽に書くため。LiftのSimpleInjectorも検討したが、まぁ、勉強がてら作成。 完成形のコードはgistに上げた https://gist.github.com/2651257 例えばTwitterのクラ…

Scala + IDEA で scala idea java.lang.ClassFormatError: Duplicate method name&signature と言われる

package foo abstract class Bar extends App { def foo() foo() } というコードを継承した package foo object Hoge extends Bar { def foo() { println("foo") } } Hogeというクラスを作るIDEAからRunさせると無事動くHogeのたとえば"foo"という文字列をい…

ScalaのREPLがjava.lang.IncompatibleClassChangeErrorで立ち上がらなくなった件

会社のWindowsマシンにScala環境作っててなぜか REPL が以下のエラーで立ち上がらなくなった Exception in thread "main" java.lang.IncompatibleClassChangeError: Expecting non -static method scala.Predef$.refArrayOps([Ljava/lang/Object;)Lscala/col…

PHPでEnum(列挙型)っぽい何かを実装

PHP 皆さん書いてますか!元気ですか!Javaっぽい構文だがなんだか痒いところに手が届かない感を感じたりしませんか。僕は感じます。Java書いてるときは enum クラスというのを多用するのですが PHP にはなく、1年ぐらい前に実装しました。コードは github …