おいちゃんと呼ばれています

ウェブ技術や日々考えたことなどを綴っていきます

RubyMine で検索対象から特定のディレクトリを除外する

そういえばシルバーウィークに入る前に同僚から質問を受けていたのだった(そのときは答えられなかった)。RubyMine で検索対象から特定のディレクトリを除外する設定をメモしておく。 おそらく WebStorm でも PhpStorm でも JetBrains 製の IDE では共通だ…

プライベートで 689日連続でコードを書いた(ことの振り返り)

プライベートで 689日連続でコードを書いた。 あるとき毎日コードを書いてみようと思い立ち、それを 1年間続けたならば、何か大変なもの(力・成果)を手にしているのではないかと、はじめる前には予想していた。 しかし、いざやってみて、もちろん得るもの…

Ruby 製バッチ処理を省メモリ化した

少し前に Ruby 製のバッチ処理を省メモリ化したときの話をメモしておきます。 どのようなバッチ処理だったか 動画共有サイトにアップされた動画がオトナの事情によって削除されることがしばしばあるということは周知のことだと思う。そこで、一定時間おきに…

Middleman でつくったブログの記事 URL を「xxx.html」で終わる形式にするか Pretty url にするか悩んだ

少し前に Middleman(及び middleman-blog を使って)で新規にブログを立ち上げたが、URL を下記のような形式にしていた。 http://example.com/blog/2015/06/30/101700.html これはビルド時に 2015-06-30-101700.md というファイルから生成されるファイルで…

エロサイトをマテリアルデザインで作り直した

このあいだ、プライベートで運営しているエロサイトをマテリアルデザインで作り直したのですが、エロドメイン配下で記事を書いてもまったく拡散されなくて、身近にいる同僚にすら伝わっていなかったので改めてここに書きます。GW だし許してもらえるっしょ。…

Yosemite にアップブレードしたら RubyMine が頻繁にフリーズするようになった

Mac

諸般の事情により今月ようやく Mac OS を Mavericks から Yosemite にアップグレードしました。そうしたら RubyMine が頻繁にフリーズするようになったので対処等を簡単にメモしておきます。 環境 Mac OS X Yosemite 10.10.3 RubyMine 7.1 不具合の内容 頻繁…

英語を(ちゃんと)勉強しはじめて 2週間たった

長年の課題だった英語をようやく本気で勉強する気になった。三日坊主になるかもという危惧もあったが、気がついたら 2週間たっていたので、このまま習慣になることを願いつつ、一旦整理する。 やりたいこと(優先順位順) そもそも何がやりたくて英語を勉強…

Elasticsearch のインデックスをすべて削除する

3回調べたらブログに書きましょうシリーズ。なぜか curl コマンドのオプションって単純なものでも覚えられないんですよね(言い訳) curl -XDELETE 'http://localhost:9200/*' レスポンス { "acknowledged": true } 参考 https://www.elasticsearch.org/guid…

launchctl load xxx.plist すると Permission denied って言われてつらいときの対処

Mac

Mac を起動するたびにミドルウェア(例えば Redis とか)を起ち上げるのが面倒なので、LaunchAgents を使うじゃないですか。 そうしたら、下記のエラーが出たのでメモしておきます。 $ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist Cou…

新卒エンジニア研修で「Elasticsearch の歩き方」について話した

これは Elasticsearch Advent Calendar 2014 の 11日目の記事です。 社内の新卒エンジニア研修で、先輩エンジニア&デザイナが自分の得意なことや好きなことをそれぞれ 1時間使って講義するという枠があって、先日 Elasticsearch について話しました。 当日…

ペパボのエンジニア評価制度を、社内の一般エンジニアはどうみているのか?

これは Pepabo Advent Calendar 2014 の 8日目の記事です。昨日は Ubuntu + Monit + Fluentd 起動の自作 Docker イメージを DockerHub に配置までをやってみた でした。明日は laughk さんです。 今日はペパボのエンジニア評価制度について書きます。 (エン…

Rails + Elasticsearch で analyzer 設定をした後のデバッグまとめ

下記で Elasticsearch の analyzer 設定について書いたのですが、今回は設定した後のデバッグについてもう少し掘り下げて書きます。 elasticsearch-rails を使っているときの custom analyzer 設定の書き方 環境は下記のとおりです。 Elasticsearch 1.3.1 an…

elasticsearch-rails を使っているときの custom analyzer 設定の書き方

Elasticsearch に analysis-kuromoji というプラグインを入れると、下記にあるように「kuromoji」という analyzer が使えるようになります。 https://github.com/elasticsearch/elasticsearch-analysis-kuromoji/blob/v2.3.0/src/main/java/org/elasticsearc…

Rails + Elasticsearch + kuromoji のテストを Wercker で実行する

Rails から Elasticsearch を使っているときのテストの書き方(elasticsearch-rails, RSpec) のつづきです。Rails から Elasticsearch を使っているときのテストを Wercker で実行するときに必要な設定をメモしておきます。 環境は下記のとおりです。 Elast…

Rails から Elasticsearch を使っているときのテストの書き方(elasticsearch-rails, RSpec)

みんな大好き babyshark では全文検索に Elasticsearch を使っています。テストの書き方について日本語情報が少ないようなので、僕はこういう感じで書いてますというのを共有します。 環境は下記のとおりです。 Elasticserch 1.3.1 analysis-kuromoji(ブラ…

GitHub のプルリクエストのビルド結果をファビコンに表示してくれるユーザースクリプト「PR Build Status in Favicon」が便利

タイトルが長ったらしくなりましたが、要は下記のようなものです(ファビコンに注目) GitHub のプルリクエストにコミットがプッシュされたときに CI が自動ビルドするようになっていたとして。最新のビルド結果がファビコンに表示されます。 ビルド成功、実…

レガシーなウェブアプリを Rails で拡張するときに DB の扱いで気をつけること #rubyhiroba

最近仕事で PHP 製のレガシーなウェブアプリの API を Rails でつくるということをやっていまして(僕がイチから構築したわけではないですが)、Rails way に沿っていないスキーマの DB を扱う際に苦労しました。 そのとき苦労した点を一昨日 RubyHiroba 201…

gem 名を検討。xxx-ruby にすべきか ruby-xxx にすべきか?

あるウェブサービス(仮に xxx とします)の API のクライアントを gem にしようかと思いまして。その gem 名を検討中です。 xxx-ruby? xxx という名前の gem は既にあったので、じゃあ、しょうがないから xxx-ruby にしようかなと。 ruby-xxx? 一方で、gem …

CentOS のバージョンを確認する

もう、毎回ググっている気がするので、いい加減に覚えるためのメモ。下記のいずれかで OK コマンド $ cat /etc/centos-release $ cat /etc/redhat-release $ cat /etc/system-release ただシンボリックリンクを張っているだけなので、実質同じです $ ls -l /…

Rails で "とりあえず動くコード" を書けるようになった人が次に遭遇する問題とそれを解決してくれる本まとめ

以前も少し書きましたが、いまペパボのフリマアプリ「kiteco(キテコ)」の API を Rails でつくっています(つい先日 Android 版をリリースしました) 古着フリマアプリ kiteco(キテコ)- 手数料無料キャンペーン中! で、少し前に新卒2年目氏がチームに加…

Boxen でインストールしたアプリケーションをゴミ箱に入れた後に再インストール

3回調べたらブログに書きましょうシリーズ。下記のケースの解決方法をメモしておきます。 現象 Boxen を使って .dmg 形式のパッケージをインストールした そのアプリケーションをゴミ箱に入れてアンインストールした あ、やっぱりまた使うわーと思って Boxen…

例えば Rails 4 で Product モデルの price 属性の合計値を出す(inject, sum)

たぶん基本的なことなんだろうけど、自分は知りませんでしたシリーズ。 前提 タイトルのまんまなんですけど、Rails 4 で、Product というモデルがありまして、その price という属性の合計値を出したいなーという前提で。 Before 最初はまあ、下記のようなコ…

Enumerable.select { ... }.first って、Enumerable.find(または detect)で書けるらしい

3回調べたらブログに書きましょうシリーズ。過去に同僚から教えていただいたのに、えっとどうだったっけ?とおんなじことを 2回も調べたので、メモします。 内容は下記のまんまです。 module Enumerable http://docs.ruby-lang.org/ja/2.1.0/class/Enumerabl…

【Rails 高速化】ペパボのフリマアプリ「kiteco(キテコ)」の API を高速化したときのことを詳しく書いてみた

最近、仕事でずっと iPhone アプリの API を Rails でつくっていて、ようやく 2014年2月6日(木)にやっとリリースできました。いろんなメディアに取り上げていただいて、ユーザー数も伸びてきて、嬉しい限りです。 古着フリマアプリ kiteco(キテコ)- 手数…

Rails の date_select でつくるセレクトボックスを「年」「月」「日」で区切る

Rails では date 型のデータについて date_select メソッドを使うと簡単にセレクトボックスをつくれて捗りますよね。 ActionView::Helpers::DateHelper datetime_select - リファレンス - Railsドキュメント デフォルトでは下記のように年月日の区切りは空白…

FactoryGirl で多対多のアソシエーションをつくる

FactoryGirl の公式 README 読んでも多対多のアソシエーションをつくる書き方が分からなくて、先日やっと分かったのでメモしておきます。 thoughtbot/factory_girl 使用しているバージョンは下記のとおりです。 factory_girl 4.2.0 rails 4.0.2 rspec-rails …

RSpec + database_cleaner で永続的なマスターデータを扱う

例えば EC サイトを Rails でつくっていて、RSpec + database_cleaner でテストを行っているとして。商品カテゴリーデータ等の永続的なマスターデータを扱いたいときどうするかって話です。 最近 paperboy&co. に入社された @udzura さん(『パーフェクト Ru…

Rails でつくる API のテストの書き方(RSpec + FactoryGirl)

最近 Rails で API をつくりはじめました。1か月テスト書きまくって、だいたい書き方が落ち着いてきたので共有します。 もっとこうした方が良くない?というのをコメントまたははてブコメントしてくださったら泣いて喜びます! 環境は下記のとおりです。 * r…

Rails でつくる API のドキュメントを自動生成してくれる autodoc がすごい

最近 Rails で API をつくりはじめたのですが、ドキュメントをどうしようかなと悩んでいまして。なにかイイ感じに自動生成してくれるツールはないものかと探していたら、@hsbt さんと id:antipop さんがまさにズバリのものを教えてくれました。 先日ふわっと…

Paperclip と CarrierWave を結構マジメに比較してみた

仕事で Rails の画像アップロードライブラリを選定することになって、この分野のメジャーどころ Paperclip と CarrierWave を較べてみました。仕事で使うライブラリは一旦選ぶとそうそう簡単には乗り換えられないということもあって結構マジメに選んだつもり…