Blogaomu

WEBアプリケーション開発とその周辺のメモをゆるふわに書いていきます。

Ruby

kanazawa.rb meetup #52 に参加しました #kzrb

早いもので今年最後のkanazawa.rbです。今回は締めくくりとしてLT大会が行われました。 Meetup #52 - Kanazawarb お試し Bitbucket Pipelines docs.google.com 今年の夏ぐらい(?)からBitbucket内でCIサービスが使えるようになりました。ビルド環境がDockerコ…

kanazawa.rb meetup #51 に参加しました #kzrb

Meetup #51 - Kanazawarb kzrb.doorkeeper.jp 今回は参加者が多く(初参加の方もいた)、バックグラウンドも様々な人たちが集まっていました。基板持ってきて光や音を出したり、RubyやGoやElectron触ってたり、勉強してたりなど全体的に幅広いジャンルでもくも…

kanazawa.rb meetup #48 に参加しました #kzrb

金沢に戻ってきてかねてから行ってみたかったkanazawa.rbに参加してきました。 kanazawa.rb meetup #48 - kanazawa.rb | Doorkeeper Meetup #48 - Kanazawarb この回は「祝4周年LT大会」ということで、参加者は1人1本以上LTを発表するという縛りがありました…

渋谷Ruby会議01 に参加してきた

11/01に開催された渋谷Ruby会議01に参加してきました。 毎月第3水曜日に開催している Shibuya.rb の拡大版としての地域Ruby会議ですが、いつも通りの "自分たちの" Ruby会議という雰囲気があって良かったです。 レポートは他の人がやってくれているので、自…

redis gem で Encoding::CompatibilityError が発生した

set(key, value) するときに、keyとvalueのエンコーディングに互換性がないと例外になる話。 keyに日本語入れることはあまり無いと思いますが、以下の例で発生します。 require 'redis' require 'msgpack' redis = Redis.new(host: "localhost", port: 6379)…

MongoDBで配列の要素数を条件にしたクエリ

$size 演算子を使うとよい。 http://docs.mongodb.org/manual/reference/operator/query/size/ 例えばブログの記事のコレクションがあったとする。 { "_id": ObjectId("53c5339ab967a1dd52f52402"), "title": "Rubyでhogehoge", "tags": [ "ruby", "programi…

Minaのgit設定

今回はMinaのlib/mina/git.rbを見ていました。 mina/lib/mina/git.rb at master · nadarei/mina git:clone

#shibuyarb 20140319 に参加してきた

渋谷.rb[:20140319] on Zusaar に参加してきました。 エントリー書いてないだけかもしれないけど久しぶりの勉強会です。 他の参加者のLTを聞いたりしながら私はMinaのソースコードを読んでいました。 MinaというのはRubyで作られているデプロイツールです。…

Blogaomu on Unicorn (on Heroku)

本BlogのWebServerをWEBrickからUnicornに変更しました。ちなみに Heroku で動かしています。 経緯 毎日 Error R12 というエラーが出ていました。 Rails app hosted on heroku: Error R12 (Exit timeout) - Stack Overflow 回答を読むと、Unicornにすればい…

update_attribute について(ActiveRecord, Mongoid比較)

ActiveRecord, Mongoidに定義されているupdate_attributeメソッドはバリデーション無しに値を保存しているようです。これを使ってハマったのでメモしておきます。 調査対象 ActiveRecord: 4.0.2 Mongoid: 3.1.6 ActiveRecord ActiveRecordのlib/active_recor…

mongoid の delete と destroy

mongoid にてドキュメントを削除するにはdeleteかdestroyを使うのですが、違いはなんでしょうか? Mongoid: Persistenceを見ると、 delete: callback 呼ばずにドキュメントを削除する destroy: callback を呼んでからドキュメントを削除する という違いがあ…

ネストしたクラス定義のメモ

Ruby でクラスをネストしようとしてハマったのでメモ。以下のようなネストしたクラスを作ろうとしていました。 hoge.rb class Hoge end hoge/fuga/huge.rb class Hoge::Fuga::Huge end この2つのファイルを作成して Hoge::Fuga::Huge を呼び出そうとすると、…

BasicObject#instance_eval についてメモ

BasicObject#instance_eval で理解不足の部分があったのでメモっておきます。 Ruby 1.9.3p448 で実行しています。 こんな感じのクラスを作りました。 class Klass # なんらかの処理の後に実行する def proc_after_run(&block) @proc = block end def run # …

WordPressからOctopressに移行しました

この度思い切ってブログをOctopressに移行しました。

memo: rbenvでRubyの新しいバージョンを使いたい

ruby-build をアップデートするとインストールできるRubyのバージョンが追加される。 OS Xだったらbrew upgrade ruby-buildしてからrbenv install -lするとバージョンが追加されているはず。

Google Calendar APIでカレンダーを取得するスクリプト

参考 Google Calendar API – Google Apps Platform — Google Developers 特定のカレンダーのイベント一覧を取得して、CSVに出力するスクリプトを書いてみました。Githubはこちら→TAKAyukiatkwsk/google_calendar_util 環境の構築 % cd path/to/project % vi …

RSpecを初めて使ってみました

前回書いたRubyのスクリプトに対して、RSpecでテストコードを書いて実行するという一連の流れを試してみました。資料の見よう見まねで書いたのでツッコミお待ちしております。 github :: TAKAyukiatkwsk/english_numerals 参考資料 Rubyist Magazine – スは…

プチRuby勉強会

こんにちは。今回は久しぶりにDevな話題。 先日、Mr Taddyさんに遊びに行く機会がありまして、そこでRubyエンジニアのお二人と一緒にプチRuby勉強会をしました。(流れでコード書きましょうか〜、という感じになった。)お題を設けて各者がコードを書き最後…