よちよち.rb の冬休みのシュクダイとして、「何か読んで読書感想文を書こう!」という企画があったのでのっかりました。といっても、特に読もうと思っていた本があるわけではなかったので、企画段階で課題図書として案のあった「コードの未来」を読むことにしました。 ぶっちゃけ、読む前は、そのタイトルや、雑誌の連載をまとめたものということから、軽い感じで読めるコラムが沢山あるような本を想像していました。なので、読み進めていて、ちょっと読むのに時間がかかりそうなところ (ガッツリとコードが出てくるところとか) が出てきたら飛ばしちゃったりしていたんですが、そうすると途中からほとんど飛ばすことになってしまって、「なるほど、これはサクっと読める本じゃなかったんだな…」と、勘違いしていた認識を改めて、ちゃんと腰を据えて読むことにしました。 所感 最近 Ruby…

READ MORE >>



Swift で作っているiOS アプリに、Facebook の iPhone アプリのような横にスライドして表示されるメニューを追加したいと思いました。 いくつかライブラリを見てみたところ、iOS-Slide-Menu というライブラリが簡単に使えそうです。iOS-Slide-Menu は Swift ではなく Objective-C のライブラリですが、インストールも CocoaPods で1発なのでそれを利用することにします。ただ、素直に Readme に記載されている通りの実装をしただけではうまくいきませんでした。その理由は、 作っているアプリが Tab Bar インターフェースを持っている 各タブにそれぞれ個別の Navigation Controller が設定されている iOS-SlideMenu が提供する SlideNavigationController はシングルトンオブジェクト だからです。したがって、複数の Navigation Controller にそれぞれ SlideNavigationController…

READ MORE >>



先日公開した yochiyochi-pingping のステージング環境を作りました。 yochiyochi-pingping は Heroku 上で運用しています。が、ローカルの開発環境では、GitHub の OAuth 用のアプリケーション登録すらしていません。なので、修正したときには、ろくに動作確認もせずにいきなり Live に push してうまく動くことを祈る、というメチャクチャなやり方をしていました。しかし、利用してくれている人もいるので、さすがにこれじゃマズいだろう、ってことで、Live と同じ Heroku 上にステージング環境を作ることにしました。 Heroku にステージング用のアプリを作る Heroku でのステージング環境の構築は、調べてみるといくつか方法があるようで、Heroku アプリをそのまま fork して複製することもできるようです。当然、Live と ステージング環境は同様の環境であることが望ましいので、fork するのは良い方法でしょう。ただ、私の場合は、New Relic や Heroku Scheduler…

READ MORE >>



この記事は 「よちよち.rb Advent Calendar 2014」 17日目の記事です。 昨日は katorie さんによる 「よちよち.rb 第49回 #yochiyochirb」 でした。katorie さんは毎回レポートを書いてくれているので、残念ながら参加できなかった日も、そのレポートを読めばどんな内容だったのかをおよそ掴むことができるのでとても嬉しいです。 また、ミートアップで GitHub の Issues を使っているので、ウォッチしていればリアルタイムに活動状況がバンバン飛んできます。もちろん参加するのが一番楽しいのは間違いないですが、参加できない日でもこうして参加気分を味わうことができて、置いてきぼり感を感じさせないのも、よちよち.rb のとても素敵なところだと思います。ときには参加していない人からの「突然の」書き込みがあったりして盛り上がるのも楽しいです。これは、コミュニケーションツールに Idobata のチャットを使っていることも大きいのでしょう。 さて、その Idobata を眺めていると、「music…

READ MORE >>



この記事は 「よちよち.rb Advent Calendar 2014」 9日目の記事です。 昨日の記事はトミーこと ta1kt0me さんによる 「Rspec3のexpectとallowの違い」 でした。Rspec3 の と の違いを説明しながら、読むと「スタブ」と「モック」の違いを理解できる内容になっています。掲載してあるサンプルコードは長くないものですが、似ているけど微妙に細部が異なっているようなコードが多く、注意深く読んで内容を掴まないと混乱するので丁寧に読みましょう!ちなみに私は Rspec をほとんど使ったことがないのでとても勉強になりました。 さて、今日の記事は「審判の雷 Lightning Picker」です。意味わかんないですよね。はい、自分でもよくわかりません。これは、ADVENTAR 上でアドベントカレンダーに登録するときに適当につけちゃったタイトルです。いつもこういうの「細かいことは後で考えよーっと」と適当にノリでやっちゃって後悔することが多いです。今度の LT…

READ MORE >>



この記事は 「よちよち.rb Advent Calendar 2014」 5日目の記事です。 昨日の記事は bonbon0605 さんによる 「第3回MetaNightに参加してきました」 でした。この MetaNight には私も第1回から参加していて、毎回とても楽しいです。英語の本、更にメタプログラミングを扱った本ということで、ちょっと敷居が高く感じられるかもしれませんが、1回に読む分量はほどほどで、それ以上に内容や Ruby のことについての話をしている (もちろん日本語で) ことが多いので、英語が得意でない方も楽しめる会となっていると思います。その分、最後まで読破できる日はだいぶ先のことになりそうですが… Kajaeru おだいさんの2日目の 「Yochiyochi Committers Who's Who in 2014」 でも少し触れられていましたが、よちよち.rb では Rails を使って Kajaeru というサービスを開発しています。 Kajaeru とは、よちよち.rb の RubyKaja…

READ MORE >>


FIVETEESIXONE

Volt

November 26, 2014

Volt は、サーバーサイドとクライアントサイドの両方を Ruby で書くことができる Web アプリケーションフレームワークです。 もちろん、この「クライアントサイドのコードも Ruby で書ける!」ということが最も大きな特徴ですが、Volt が素晴しいのは、ただそれだけに留まらず、「WebSocket でクライアント - サーバー間のコネクションを張ることで、永続化したモデルを同期するリアルタイムアプリケーションの開発ができる」ことだと思っています。 この点で、クライアントサイドでも Ruby で記述できることの利点がより浮かび上がってきます。 Volt はまだ開発中ですが、 GitHub のリポジトリ に 2,000 近いスターが付けられているので、注目している人の数は多いようです。また、海外のブログなどのメディアで取り上げられているのを目にすることも増えました。先日の RubyConf で紹介されたことも大きいのかしれません。 ところで、クライアントサイドを Ruby で書くというのはどのようにして実現しているのでしょうか。 これは、 Opal という Ruby to…

READ MORE >>



このブログで使っているテンプレートを公開しました。テンプレートの名前は Drops といいます。上にいるキャラが水滴くんっぽかったので。 https://github.com/5t111111/middleman-blog-drops-template せっかく公開したので、Middleman 公式のテンプレートリストにも載せてもらえるように Middleman Directory にリクエストも出してみました。これで載っけてくれるものなのかどうかはわからないけど。 ぶっちゃけ、公開すること自体が目的だったというよりは、公開するという体でソースを整理したかった…要は、ほっとくと自分もワケわかんなくなってしまうので、その前にリファクタリングしとく動機が欲しかった、というのが正直なところです。できれば、公開したテンプレートをそのまま自分でも使えるのが理想的だったんですが、ある程度まではうまくいったものの、いくつかどうしてもうまく解決できない問題があって最終的には完全な共通化は諦めました。 method_missing…

READ MORE >>



Ruby 技術者認定試験が version 2.1 に更新されて、更に「今なら不合格のときの再受験が無料キャンペーン中!」らしいので受験してみます。全然受験するつもりなんてなかったのに、どうもこういうキャンペーンには弱いみたいです。 まずは Silver ですが、近所で受験できる直近の日を選んだので、もう試験まで数日しかありません。なので、ドキュメントをちゃんと読んでる時間なんてどこにもありません。一応、 1.8 の頃の攻略本 なら持っているので、とりあえず、そのときから比べてわかりやすく変更されているところを適当にだーっと見ていきます。 数値リテラル 追加されたもの 有理数 42r 3.14r 複素数 42i 3.14i 虚数部が有理数の複素数 42ri 3.14ri 変更されたもの 文字 a を表す String ?a コントロール a を表す String ?\C-a メタ a を表す String ?\M-a メタ-コントロール a を表す String ?\M-\C-a 「?a とかこれ数値なのかよ?」って気もしますが、Ruby 1.…

READ MORE >>


FIVETEESIXONE

respondto.it

November 09, 2014

クライアントサイドの JavaScript で Form を POST する機能を書いているのですが、submit する先がまだ用意できておらずテストしにくいので、HTTP エンドポイントのテスト用サービスを使うことにしました。別に全然 RESTful な API に対しての POST とかではないものの、リクエストのパラメータが正しいかどうかなどを手っ取り早く確認できそうだったので。 HTTP エンドポイントへのテスト用サービス HTTP エンドポイントへのテスト用のサービスはいくつかあるようですが、 こちらの記事 を参考に、 RequestBin か respondto.it のどちらかを使ってみることにしました。今回、ちょっと外部サービスをそのまま使うのを躊躇する案件だったのと、テスト用の URL と結果をしばらく残しておきたいということがあったので、どちらもソースが公開されており、自分でローカルに立ち上げることができるのもいい感じでした。 ちょろっとソースを眺めてみると、 RequestBin Flask ベースで実装は Python respondto.it…

READ MORE >>