( ꒪⌓꒪) ゆるよろ日記

( ゚∀゚)o彡°オパーイ!オパーイ! ( ;゚皿゚)ノシΣ フィンギィィーーッ!!!

BPStudy#37とappengine ja night #11でエルシャダイ(mirah)の話をしたんだが大丈夫か?

BPStudy#37 : ATNDと#MA6 Mashup Camp - Collabo Day with appengine ja night #11 : ATNDで、やりたい放題やってきたらしいが、大丈夫か?。 エルシャダイのトレーラを流しながら、表示されている内容をリアルタイムについったーにポストしながら、JVMで動く…

.gitconfigに設定してるaliasなどのまとめ

git

22:56 @thinca さんからの指摘を追記 @yuroyoro あとお節介ですが、n個前とdiffなら HEAD^ より HEAD~ の方がいいと思いますよ。両者では若干意味が違います。~なら HEAD~3 と数字が書けるのも利点です。あと個人的にはwhatchangedよりlog --statの方が見や…

Scalaの抽象構文木(abstract syntax tree、AST)をグラフィカルに表示するオプション

「そんなASTで大丈夫か?」 ということで、ほとんどの言語はプログラムの内部表現として抽象構文木(abstract syntax tree、AST)を作ると思います。Scalaももちろんコンパイルするときに作ります。 で、Scalaコンパイラが生成してるASTを見るオプションがあ…

「HTMLスクレイピング in Scala」を改造しながら俺流Scalaコーディング手法を紹介してみる

短い中にいろいろなエッセンスが詰まったよいサンプルだと思ったので、id:noire722さん(@noire722)が書いた「HTMLスクレイピング in Scala」を、俺流に書き直してみました。 HTMLスクレイピング in Scala その2 - cignoir の日記 書き直す過程でどういう考え…

Scalaで<:<とか=:=を使ったgeneralized type constraintsがスゴすぎて感動した話

Scala2.8から、Predefに

Scala座#01で「これまでのScala これからのScala」という発表をしたんだぜ

名古屋で開催された第一回Scala座に酸化してきました。 俺は最初の発表で、「これまでのScala これからのScala」というタイトルでScalaの紹介とか2.8で追加された機能とかScalaの今後とかcase classと寧々さんとか#librabackとかについて話しました。 これま…

JVM勉強会「わかる!JavaVM ― 2時間でわかる?JavaVM入門」開催しました

無事終わりました。110人もの方に参加していただきました。 参加された皆さん、本当に有り難うございました。 わかる!JavaVM ― 2時間でわかる?JavaVM入門 : ATND 本編: クラスローダーについて(id:ashigeru)(@ashigeru) http://www.slideshare.net/ashigeru/…

ATNDでTwitter連携を設定している人のTwitterIDを抜き出すスクリプト書いたよ

ATNDがTwitterと連携できるようになりましたね。そこで、イベントの参加者のTwitterIDを抜き出すスクリプト書きましたよ。 object ATNDEventTwitterList { def main( args:Array[String] ) = { args.headOption.foreach { eventId => ATNDApi.event( eventId…

LL TigerのLanguage UpdateでScalaの話をしてきました

はい こんにちわ。ゆろよろです。LL TigerのLanguage UpdateでScalaの話をしてきました。スライドはこちらっす。 20100731 LL Tiger Language Update ScalaView more presentations from yuroyoro. 2.8.0.finalでの機能追加について詳しく説明してもよかった…

Scalaでの例外処理 - Either,Option,util.control.Exception

今日はScalaの例外処理について解説しますよ。 基本 - try,catch,finally 例外処理の基本は、try,catch,finallyです。これはJavaと同じですね。 ただし、Scalaでのtry,catch,finallyは値を生成します。つまり、実行されたブロックの値が評価されます。 scala…

ハイパーおちんちんタイム転送プロトコル Hyper Otintin Time Transfer Protocol (HOTTP/1.0)

HTTPの勉強として、ジョークRFCを書いてみました。 ネタは相当に頭が悪く、真摯にWebに対して向き合っている方々には本当に申し訳なく思っており、反省しています。 ただ、こういう仕様を考えることで色々と勉強になりました。URIスキームとステータスコード…

ScalaのOptionステキさについてアツく語ってみる

今日は、ScalaのOptionの使い方について解説しますよ。OptionはScala使いにとってはなくてはならないものです。これを覚えてしまうと他の言語でもOptionを作りたくなる、かもしれない? Optionってなに? Option型は、値があるかないか分からない状態を表すも…

パターンマッチをもっと便利に - extractor(抽出子)による拡張

パターンマッチは便利すぎてこれを覚えてしまうと他の言語でも欲しくてたまらなくなりますね。 Scalaのパターンマッチは、実はユーザーが独自のパターンを定義することが可能になっています。 extractor(抽出子)によるパターンの拡張 簡単な例を紹介します。…

Scalaの奇妙なFizzBuzz - PartialFunctionとimplicit conversionを添えて

前回書いたPartialFunctionの利用例として、奇妙なFizzBuzzを書いてみましたよ。 // PartialFunction[A,B]を "A --> B"のように書けるようにしておく type -->[A,B] = PartialFunction[A,B] // FizzBuzz用のPartailFunctionを生成するユーティリティ def toP…

ScalaのPartialFunctionが便利ですよ

Scalaには、PartialFunctionというものがあります。 直訳すると部分関数ですが、これはなにかっていうと「特定の引数に対しては結果を返すけど、結果を返せない引数もあるような中途半端な関数」です。 どうやって使うのん? まぁ、ちょっと例を見てましょう…

JVM勉強会「わかる!JavaVM ― 2時間でわかる?JavaVM入門」やります!

クラスローダー、バイトコード、GCなどJavaVMのわりとローレイヤーめなところをターゲットとした勉強会を開催します。 参加希望の方は、ATNDで申し込み登録してくださいね☆ もう定員いってるんですが、キャンセルでるかもしれないんで「まだあわてるような時…

プログラミング言語の超能力度

超能力者(レベル5) 単独でGoogleと戦える程の力 大能力者(レベル4) プロジェクトにおいて戦術的価値を得られる程のニンジャ力 強能力者(レベル3) 日常業務において活用可能で、便利に使われてしまう力 異能力者(レベル2) 低能力者(レベル1)とほと…

プログラミング言語 「天使ちゃんマジ天使」と「ブブゼラ」を作ってみたよ

今AngelBeats!見てます。天使ちゃんマジ天使でいいと思います。 で、だいぶ前に作ったScala版のちょっと草植えときますね型言語 Grassを改造して、プログラミング言語 「天使ちゃんマジ天使」とプログラミング言語 「ブブゼラ」を作ってみたよ。 Grassは、id…

1階マルコフ連鎖で奇声を発するジェネレータ

今日は、とうとつについったーに奇声をポストしたい気分だったので、1階マルコフ連鎖で奇声を生成するジェネレータを書いてみました。 奇声なんで意味のある文章ができなくても充分なので、1階マルコフ連鎖で充分。マルコフモデルを研究していた元首相のご意…

ついったーのStreaming API ChirpUserStreamとWebSocketを組み合わせてみた

最近の流れでは、時代はHTML5なんですかね? そんなわけで、前にちょっとやってみたJetty7のWebSocketと、ついったーのStreaming API ChirpUserStreamを組み合わせて簡単なWebベースのついったクライアントを書いてみました。 スクリーンショット: 動いている…

OAuthプロトコルの中身をざっくり解説してみるよ

「おーおーっすっ!」 てなこって、TwitterのAPIのBASIC認証も6月末に終了してOAuth/xAuthに移行するというこの時期に、あらためてOAuthについて勉強してみたんですのよ? OAuth認証を利用するライブラリは各言語で出そろってきてるのでそれを使えばいんじゃま…

id:Yoshioriとid:ngtykがケコーンするのでみんなでなにか贈ろう

ご報告 - ショウジユウコオフィシャルブログ ここから↓ http://www.amazon.co.jp/wishlist/1FPZ9YVV0PJ0S http://www.amazon.co.jp/wishlist/1U0XYA5QTEODM 猫砂がいいとおもうYO!

新言語TMS-Javaを作ったよ

Semicolonless Javaに衝撃を受け、 「これからはSemicolonless Javaの時代だ!」と狂喜したJavaプログラマも多いのではないでしょうか? 私もその一人です。 しかし、私は実際の業務でSemicolonless Javaを利用してみて、ソースコードの可読性に難があり、チー…

エイプリルフール用の釣りページ作りました

明日はエイプリルフールですね。 きっと、みなさんいろいろなネタを用意してるのではないかと思います。ついったーなんかにPostしたりね。すると思うんですよ? そんなときに、釣りページへの短縮URLを貼っておくと、釣りの成功率が高まるのではないかと思っ…

あなたのIDを誤解なく相手に伝える自重しない方法

「どーも、id:yuroyoroです」「え?よろ…よろ?」「ゆ・ろ・よ・ろ、です!」 こんなやりとりを何度イベントや勉強会で繰り返したのでしょうか? で、対策を考えました。 こんなTシャツつくりました。これで、相手に誤解なく自分のIDを伝えることができますね?こ…

GAE/JでのScalaのSpinUp時間を計ってみた

GAE/JでのScalaのSpinUp時間を計ってみました。appengine ja night #6 Beer Talk : ATNDでLTしたときに言っちゃいましたのでね。 java-ja温泉第2回の成果その1ですお。 測定方法 測定パターンは以下の4パターンです。 simplescala Scalaで書いた単純なFilter…

Slim3をScalaで動かすためのいろいろ

「EXILEはクラウド!」 ではなく、appengine ja night #6 Beer Talk : ATNDで発表した内容です。 Slim3をScalaで動かすためのブランクプロジェクトと、ScalaのController/Serviceを生成するSlim3-gen-scalaを作りました。 yuroyoro/slim3-scala-blank · GitHu…

Scala的な考え方 - Scalaがとっつきにくいと思っている人へ

Javaな人から見ると、「Scalaって難しい」ってイメージがありますね。俺も最初はそう思ってました。今もですけど。 で、考えてみたんですが、何が難しいって考え方・イディオムになじみがないのが原因かと思ったんです。 ここでは、俺が今までScalaをやって…

Jetty7のWebSocketをScalaから使う

HTML5っ!WebSocketっ!サーバーからプッシュでっ! やりますよscalaで。とはいえ、Javaでも同じなので、Javaでやってみようって人にも参考になるかも? サーバーの実装 サーバ側の実装は、要点をまとめるとこんな感じです。 org.eclipse.jetty.websocket.WebSoc…

GAE/JでScalaとSlim3使って恵方を知ることができるサービス作ったよ(誰得?)

Google App EngineでScalaとSlim3使ってヘンなサービス作りました。 恵方's - 恵方ってどっちよ? なんと! 今年の恵方だけでなく、去年や来年の恵方までわかってしまう画期的なサービスです!! Google App EngineでScalaとSlim3の話は、appengine ja night #6 …