こちらの記事を見て、4番目、5番目の案をあげてみました。
CoffeeScript if for of - すぱぶらのはてブロ
元記事はif elseとfor ofの組み合わせのようなので、existential operatorを使うのはコンテキストにあってない気もするけど、気にしないことにします。
僕が書くなら2行になるけど#5か、#1か#2が好きかも。
こちらの記事を見て、4番目、5番目の案をあげてみました。
CoffeeScript if for of - すぱぶらのはてブロ
元記事はif elseとfor ofの組み合わせのようなので、existential operatorを使うのはコンテキストにあってない気もするけど、気にしないことにします。
僕が書くなら2行になるけど#5か、#1か#2が好きかも。
ずらずらとあげて行きます。結構多い。
那覇市松尾、3LDK、6.3万円、敷金なし、リビング広い、市場近い
やっぱり宜野湾の5LDK、6万のお部屋が魅力的に見える。
それぞれの個室に鍵も付いてるし、共有スペースも広いし。
交通の便的に考えて僕はちょっと辛いけど沖国大や琉大の人誘えば僕居なくても人数埋まりそうですね…
僕としてはバスターミナル近辺にバスまたはモノレールで通えるなら嬉しい。
徒歩で通えるなら学校や会社への交通費も浮くから嬉しいです。
@cota2nと職場近いからその付近におうちあれば楽かな、と思う。
あと初期費用押さえるなら敷金礼金無しの物件探すとか(あるいは交渉して無くしてもらえないかとか)
シンプルなTwitterクライアント書きました。
名前はTwitter×Ruby、ついるび、つるび、つるべ、ということでtsurube。
コマンドラインで動作するTwitterクライアントを30分くらいで作れるPythonはかっこいい - YAMAGUCHI::weblog
こちらの記事をを見てRubyでやってみたくなった。
「30分? よゆー」と思ってたけどずるずる時間かかって実装力の足りなさを痛感しました。
今のところ
あたりのコマンドは実装した。基本的なツイートする、TL見る、メンション見る、終了する。が実装出来たし満足。
config.ymlに認証情報を登録したらすぐ使えます。
カーソルキーの上押すと前のコマンドが見れたり、Emacsバインドで編集出来れば最高なんですが、そういう事が出来るgemを僕は知らない。
探そうと思ったけどHighLineで対処。
今度良さそうなgemをいくつか試しておこうと思う。
日本語で発言するときにここのコードで「warning: regexp match /.../n against to UTF-8 string」が出た。
faraday/lib/faraday/utils.rb at master ? technoweenie/faraday ? GitHub
UTF-8の文字列に対してRegExpのオプションでnを渡して漢字コード無視ってるのが問題なよう。
エラーメッセージでググると同じ問題がいくつか出てきた。
FaradayのUtilsのescapeメソッドの中身をEscapeUtilsのescape_url使うようにして対処。
元ネタのライセンスが面白かったので同じものを採用。
ログインが必要な処理をブロックで渡して、ログインしてなかったらログインを促すメッセージをだしブロックを実行しない、ログインしていたらブロックを実行する。
という風に書いてみた。ブロック可愛いよブロック。
enchant.jsをCoffeeScriptで書直しました。
enchant.coffeeというファイルがあるはずです。
サンプルはexample/action-coffee/とexample/action-coffee2/以下に入っています。
僕はCoffeeScriptにハマっています。CoffeeScriptは美しいからです。
functionを書かなくていいし、全て式なのでreturnを書かなくていいし、後置でifが書けるし、デフォルト引数もあるし、内包表記が凄く便利だし、?オペレータもかなり便利です。
僕はenchant.jsにもハマっています。enchant.jsは素早くゲームが作れるし、スマートフォンでもサクサク動くし、書いていて楽しいから。
enchant.jsがCoffeeScriptで書けたらいいな… そう思ってた時期にHotRubyからenchant.jsを使う記事を読みました。
wise9 › Ruby on enchant.js / RubyでHTML5ゲームを作ってみる
その中にはこう書かれていました。
ならCoffeeScriptで書けばいいじゃん、という意見もあるだろうけど、ここでは聞かなかったことにする。
僕はCoffeeScriptで書けばいいじゃん、と思った。
思ったからには書かねばならない。情熱が覚めないうちに。
まだまだ全然CoffeeScriptらしく書けてませんが公開します。
ちなみにenchant.coffeeの行数は2295行、元のenchant.jsが2685行なので14.5%、390行程度ソースコードの行数が減りました。
9leap : enchant.coffeeサンプル by hanachin_ - どこでも遊べる、投稿型ゲームサイト
9leap : enchant.coffeeサンプル2 by hanachin_ - どこでも遊べる、投稿型ゲームサイト
ソースコードはこんな感じ
enchant()
class Bear extends Sprite
constructor: (w, h, image) ->
super 32, 32
@image = Game.instance.assets[image]
@x = 0
@y = 0
enterframe: (e) ->
@x = @x + 1
game = new Game(320, 320)
game.fps = 24
game.preload('chara1.gif')
game.onload = ->
bear = new Bear(32, 32, "chara1.gif")
game.rootScene.addChild(bear)
game.start()
もちろんenterframeだけでなく他のイベントにも対応しています。
不要なfunctionを置換したりインデントを揃えるので時間がかかった。
EventTargetクラスのコンストラクタで
constructor: ->
@_listeners = {}
# Eventクラスで定義されたイベント名と
# 同じ名前のメソッドを持っていれば呼び出すようにする
for own prop, ev of enchant.Event
@addEventListener(ev, ((ev) -> ((e) -> @[ev](e) if @[ev]?))(ev))
enchant.Eventクラスの持つイベント名に対して、それぞれイベントリスナを追加しています。
イベントを受信した際に、クラスがそのイベント名と同じ名前のメソッドを持っていれば、それを実行するようになっています。
バグがあれば直しますので@hanachin_までご報告ください。
なるべくenchant.jsの機能追加等に追従出来るようにしようと考えています。
後は9leapのプラグイン等をCoffeeScriptで書直します。
enchant.coffee自体も整理したいのですが、まずは9leapで実際に使えるようになることを目指します。
何か質問等ございましたらTwitterで@hanachin_宛にmentionをください。
もしくは以下のアドレスまで連絡をください。
よろしくお願いします。
日本Androidの会 沖縄支部 workshop@Naha Vol.13 : ATNDで発表しました。
今回はUstreamで勉強会の様子が配信されています。
USTREAM: ITカレッジ沖縄: 専門学校 ITカレッジ沖縄がお送りする番組!イベント等の様子を配信!.
Twitterのハッシュタグは#ojagnaha1119
振り返りコメント
Togetter
OJAG workshop@Naha Vol.13 - Togetter
鈴木さんのボードを見た。なんか面白そうだったのでにやにやが止まらない。
電子工作がやりたくて自分もArduino買ったので何かネタでも作ろうかな。
ミク☆キュンの紹介をしてきました。
僕のセッションもUstreamで配信されております。
内容的には前に書いたエントリと被ってる所が多いです。
Ust見直してプレゼンの反省
話の途中に「えっと」が挟まると「かくっ」と引っかかる感じがするよね。
それが無ければもうちょっと良い感じに聞こえるかも。
多分「考え中」に微妙に空いた時間を埋めるために「えっと」を挟んでるのかと。
プレゼンの内容をもっと自分で把握しておけば解消されると思う。
発表は20分の予定が15分で終わったけど、開始時間が5分遅れたので結果的にうまく収まりまったかと。
KPTでもっとソースコード等について知りたい、という声もあった。
今回は具体的な中身については触れないつもりで20分貰ったので、省いた。
次回発表するときはもう少し具体的な内容入れた方がいいのかも。
あるいはもっと非技術的な発表に走るとか。
はじめての発表で緊張したけど発表できて幸せだー!
学校入ってから勉強会に出始めてずっと聞き専だったので自分で発表出来るというのは嬉しい。
ネタつくってまた発表します。
feedbackを更に貰ったので追記。
非技術系の発表ならプレゼンテーションZen + KeyNote
技術系ならKeyNoteよりもorgモードのHTML5 Presentationと
Presenting Research in Science and Engineering
この本がお勧めだと教えて頂いた。
AndroidアプリからMacを操作するPaddapというアプリを作りました。
一言で説明すると、AndroidをMacのトラックパッド代わり等に使うアプリです。MacRuby使ってます。
週末ものづくり講座の成果物です。
勉強会はブログ書くまでが勉強会!
Okinawa.rbの勉強会に参加してきました。
具体的には、iPhone勉強会のやり方に倣って、Ruby/Rails初心者な方達には過去の勉強会資料などを使ってチュートリアルを行い、そうでない方々にはモクモクとハッカソンをしてもらう、という形です。
僕はモクモクとハッカソンしました。
ハッカソンの様子。真ん中で寝てるのが僕。
「はてなブックマークのタグ付けのデータを元に自分(や他人)が今興味をもっていることを視覚化したい。」
そう思ってしこしこ授業中に作ったのがこちら。
Processingを直接使うより手慣れた言語でやった方が早く出来るだろう。
データの取得も表示も同じ言語でやった方がやりやすそうだ。
ということでプロトタイプをRubyで書きました。
という流れ。これを皆が見れるようにウェブブラウザで動くように書き直そう!というのが僕の今日のハッカソンの目標。
とりあえずブラウザでProcessing.js使って加工済みのデータを表示するところまで出来ました。
といった感じでした。
書き直す前の元データと書き直した奴まとめて成果物として置いておきます。
こういうもくもくもいいですね。楽しかったー。自分も(完全ではないにしろ)ブラウザで動くようになったし。
同級生がRubyハマってくれたようだし、初めてRubyやる人多かったけど皆楽しいって言ってましたね。(英語がつらいとも…)
Okinawa.rbの人に長田のうどん屋、栄町のサワディ・おでんの東大など美味しそうな店紹介してもらった。行かねば。(特にうどん)
今月は26・27日にもハッカソンがあるのでたのしみです。2日も実装に使えるのでいいネタ考えねば! (2つ作るのもありなのかな)
忘れ物しないようにチェックを入れる事が出来るウェブアプリ
Node.jsいじってたらしい。自分もいじりたい。
第3回 Okinawa.rb 勉強会 - ハッカソン/チュートリアル - Togetter