Ruby vs Scala
RubyistがScalaを簡単に把握できるように、
Google Spreadshee
気が向いたら項目を追加していきます。
だれでも編集できる状態なので、加筆修正welcomeです :)
See Also
RubyistがScalaを簡単に把握できるように、
Google Spreadshee
気が向いたら項目を追加していきます。
だれでも編集できる状態なので、加筆修正welcomeです :)
See Also
ざっと調べてみた感じでは
Scalaを使って関数のASTにアクセスするには、以下のようにすればいいらしい。
1 scala> def f = print("hello") 2 f: Unit 3 4 scala> scala.reflect.Code.l ift(f).tree 5 res3: scala.refl ect.Tree = Select(Select(Select(Ident(Field(line4$object,PrefixedTy pe(ThisType(RootSymbol ),Class(line4$object)))),Field($iw,PrefixedTy pe(ThisType(Class(line4$object)),Class($iw)))),Field($iw,PrefixedTy pe(ThisType(Class($iw)),Class($iw)))),Method(f,PolyType(List(),List(),PrefixedTy pe(ThisType(Class(scala)),Class(scala.Unit )))))
長いこと不安定だったので一時期 mod_proxy_
今のところは安定している感じです。
普段のコミットログから作業日報的なものを生成したい場合、 以下のようなコマンドでそれらしいものが出力できます。
1 % git log --author=takiuchi --format="%ad %s" --date=sho rt
gem push によって、 gem の公開が大変簡単になりました。 しかし、敷居の低さは油断に繋がるもので、 近い将来、誰もが一度は秘匿性のあるファイルを誤って公開してしまい、 パニックになることでしょう。
今回、皆さんを出し抜く形になってしまい甚だ恐縮ではございますが、 一足先に体験させて頂きましたので、 その対処法を報告致します。
gem の新機能である yank コマンドを利用すると、 指定したバージョンの gem の公開を停止することができます。 例えば、foo-0.0.1 gem の場合、以下を実行します。
1 % gem yank foo -v0.0.1
この機能は rubygems1.
1 gem update --system 2 gem install gemcutter
これで、gemcutter の index からは削除され、 gem search および install の対象からは除外されたのですが、 ホームページ上からは依然としてダウンロードが可能な状態になっています。 完全に削除しない理由は、
というポリシーからのようです。 でも、 「パスワードみたいに本当に致命的な場合は、 個別に判断するのでとりあえず連絡下さい」 という方針のようなので、 以下の問い合わせフォームから削除を嘆願します。
http://hel
これは基本的に公開BTSなので、下のほうにある
[x] This is a private discussion
を忘れずにチェックして、private なメッセージにして投稿しましょう。 これで数日中には完全に削除されるはずですので、 support staff に感謝の気持ちを伝えて作業完了です。
yank を取り消す(undo)機能も存在しています。
1 % gem yank foo -v0.0.1 --undo
この yank / undo の一連の操作を覚えておくと、 「もしかしてセキュリティーホールがある?」 「新バージョンでエンバグしてる?」 なんて時には速攻で yank して、 「やっぱ気のせい」 という場合は undo で戻せるので、とても便利です。
git svnを使っていると、何度conflictを解決しても SVNに
"Your file or directory '*' is probably out-of-dat
1 % git checkout -b merging 2 % git checkout trunk 3 % git reset --hard <XXXX> 4 % git svn fetch 5 % git rebase trunk merging # コンフリクトするので解決してコミット 6 % git checkout -b merging2 7 % git checkout trunk 8 % git merge merging2 9 % git svn dcommit
結構面倒です。git-svnが賢くなってくれることに期待します。
git svn rebaseを行って conflict が発生した場合、 (no branch) になってしまいます。
この場合、手動でconflictを解決してcommitしたあと、
1 % git log -1 --pretty=oneline
でコミットのハッシュを確認し、git checkoutでmerge先のブランチに
移動してから git merge <commit hash>
すればokのようです。
厳守してるわけじゃないですが、なんとなくこんなリズムでコードを書くようにしています。
朝は脳が冴えていて、前日仕込んだバグが嘘のようによく取れます。
午後は眠くなるので、あまり脳を使わないテストやドキュメントを書きます。 単調な作業への反動でいいアイディアをひらめいたりします。Yakです。
夜は創造の時間です。新しいことに取り組みます。行き止まりだと思っていたところに道が開けます。
ちまたで話題のXperiaに機種変更して1週間ちょっとたったので、現在インストールしているアプリを簡単にまとめてみます。
最初は手当たり次第インストールしてたんですが、1週間経つと使うアプリ/使わないアプリがちょっと見えてきた感じです。
あ、Xperiaを1週間使った感想は、
って感じです。
それでは、インストールしているアプリのまとめをどうぞ!
ついでに、Xperia特集な感じのもののリンクを載せておきます。 Xperia購入を考えている方は参考までに。