Scala

  • 18 9月 2012

Scalaは仕事場では使いづらい

Scalaは仕事場では使いづらい。 個人的にはScalaは好きだけど、環境によっては使いづらくて困る…という話。

続きを読む 
  • 07 8月 2012

Sublime Text 2でsbtコンパイル

Sublime Text 2にensimeを入れてみたものの、完璧ではない。

Sublime Text 2でensimeを利用してみたが…

■ Use Sublime Text 2 for Scala Development « A Pinoy Programmer in Japan http://blog.hugeaim.com/2012/03/22/use-sublime-text-2-for-scala-development/
It seems that the validation is not yet perfect, so I would still use this in combination with an SBT build
こんな記述もあるわけだし、完璧ではないのは承知の上。 エラーがあるのか無いのかよくわからないこともあり、sbtも導入しておくのがよさそう。…

続きを読む 
  • 18 10月 2011

sbtとEclipseの共存

続きを読む 
  • 15 7月 2011

ScalaからDatastoreを更新したい

続きを読む 
  • 07 7月 2011

勉強会: AppEngine + Scala

続きを読む 
  • 09 6月 2011

OAuthでapps scriptとApp Engineをつなぐ

続きを読む 
  • 09 3月 2011

sbt 0.9.1のビルド

続きを読む 
  • 10 1月 2011

IDEA+sbt-appengineで流れるような開発

続きを読む 
  • 10 1月 2011

IDEAからsbt-appengineを起動し、デバッグする

続きを読む 
  • 26 12月 2010

IntelliJ IDEAでsbtを使う

続きを読む 
  • 31 10月 2010

MacでlibusbJavaを使う

続きを読む 
  • 18 10月 2010

EclipseでGAE+Maven+Scalaの環境構築

続きを読む 
  • 29 7月 2010

OAuth EchoのRequestTokenを取得する

Twitter絡みで、OAuth Echoを使いたかったので書いてみた。

ネットの情報を色々と見ていると、人それぞれというか、動くのかな?っていうのもあったりして、軽く振り回された感あり :| 書いたソースコードはgithubに置いておきます&下の方に貼り付けておきます。 http://gist.github.com/497821 お役に立つようでしたら、ご自由にどうぞ。

以下、RequestTokenを取得するURLの作り方を簡単にまとめます。 RequestTokenはTwitterに署名付きのパラメータを送ることによってもらうことが出来きます。

http://twitter.com/oauth/request_token?&<各種パラメータ>&<署名>

この各種パラメータは次の通り。

  • oauth_consumer_key: 各自のConsumerKey
  • oauth_signature_method: "HMAC-SHA1" 他にもあるらしいが今回はこれ固定。
  • oauth_nonce: その場限りの値。ランダム文字列を利用。
  • oauth_timestamp: 現在時刻を秒で表した値。1900年を起算にっていう例のやつ。
  • oauth_version: OAuthのバージョン値。"1.0"固定。

URL構築時にはお約束の key=value を&で連結。

署名がちょっと面倒。 まずは署名の準備。署名にはHMAC-SHA1形式を利用。 キーを作成するときは "ConsumerSecret&OAuthToken" とする。もちろん、ConsumerSecretもOAuthTokenも自分の値で書き換えてください。 初回はOAuthTokenをまだ取得してないので空文字列となり、結果的に "ConsumerSecret&" となります。

続いて、署名するための文字列を作成します。

  1. パラメータを名称順にソート。
  2. パラメータを連結(key1=value&key2=value2&...)。これを仮に<Params>とする。keyとvalueをそれぞれエンコードする必要があるという情報も見たが、今回はエンコードしても同じなので、してません。
  3. "GET&encode(http://twitter.com/oauth/request_token)&encode(<Params>)" を作成。encodeはURLエンコード。

ここで作成した "GET..." という文字列を先程作成したキーで署名します。 署名した値をBase64エンコードし、その後、URLエンコードします。 これがRequestTokenをもらうためのURLの一部となる署名です。

生成したURLを叩いて "oauth_token=..." というレスポンスが帰ってくれば成功です。

もし、うまくいかなかった場合に見直した方がいいと思われるところ。

  • 署名用のキーを生成するところ。ConsumerSecretとOAuthTokenを利用しているか?OAuthTokenが無い場合は "ConsumerSecret&" のように&で終わっているか?
  • 署名する値("GET&http://...")の生成は正しいか?
  • 署名した値をBase64→URLエンコードしているか?

それほど難しいわけじゃないけど、はまるとミスっている箇所を見つけるのがちょっと大変かも。

続きを読む 
  • 06 6月 2010

映画: ソラニン(with プンプン!?)

続きを読む 
  • 29 5月 2010

Scala 2.8.0.RC2でspecs

続きを読む 
  • 13 5月 2010

戻り値が異なる場合の型推論

続きを読む 
  • 12 5月 2010

HTMLチックを解析したい

続きを読む 
  • 21 4月 2010

Scalaの強力な拡張:コレクション

続きを読む 
  • 06 4月 2010

カリー化した関数をカリー化してないように使う

続きを読む 
  • 06 4月 2010

Scalaのブロックを省略したい

続きを読む 
  • 15 3月 2010

JUnit4でScalaをテスト

続きを読む 
  • 15 3月 2010

本のリスト作成完了!

続きを読む 
  • 15 3月 2010

プラグイン内部のエラーが原因か

続きを読む 
  • 12 3月 2010

Scalaで書いてみて

続きを読む 
  • 09 3月 2010

Base64の76文字制限

続きを読む 
  • 05 3月 2010

Scala 2.8をMacPortsでインストール

続きを読む 
  • 03 1月 2010

FizzBuzz

続きを読む 
  • 12 9月 2009

スキマ猫, LAST DIARY, Scalaスケーラブルプログラミング

続きを読む 
  • 29 5月 2008

scalaのannotationって・・・使えないの?

scalaだとなぜかannotationが使えない。 scalacでclassファイルにしてもだめ。

Antでコンパイルしたbuild.xmlをメモ。

続きを読む 
  • 27 5月 2008

scalaのannotation

続きを読む 
  • 25 5月 2008

わかりづらいよ、Scala Plugin for Eclipse…orz

続きを読む 
  • 25 5月 2008

java.lang.NoClassDefFoundError

scalaをちょっといじってみた。 下記のようなエラーが発生。

java.lang.NoClassDefFoundError: sdb/SDBTest Caused by: java.lang.ClassNotFoundException: sdb.SDBTest
もんのすごい基本的なエラーだが、理由がわからない。 問題なく動作するときと、しないときがあるから。 (動作するときとしないときの現象の切り分けは出来つつある。下記参照)…

続きを読む 
  • 23 6月 2007

Scala

The Scala Programming Language http://www.scala-lang.org/index.html たまたまこんな言語を発見! JavaVM上で動作!! だ〜いぶ前から存在はしていたらしい。

続きを読む