彼女からは、おいちゃんと呼ばれています

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

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

このあいだ、プライベートで運営しているエロサイトをマテリアルデザインで作り直したのですが、エロドメイン配下で記事を書いてもまったく拡散されなくて、身近にいる同僚にすら伝わっていなかったので改めてここに書きます。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 を較べてみました。仕事で使うライブラリは一旦選ぶとそうそう簡単には乗り換えられないということもあって結構マジメに選んだつもり…

Rails 4 へ移行してあらためて大切だと思ったこと + 役に立ったリンクを全力まとめ

先週 babyshark を Rails 3.2.13 から Rails 4.0.0 にアップデートしました。巷の情報では StrongParameters さえ気をつけておけば、なんとかなる << 的な。いやいや、たしかに Rails 2.3 -> 3.0 ほどの大変さではないにしろ、結構大変でしたよ。嘗めてかか…

vagrant up したらエラー「sudo: sorry, you must have a tty to run sudo」が出たときの対処

Puppet のための試験環境として、Mac に VirtualBox と Vagrant を入れています。で、あるときから、vagrant up するたびにエラーが出るようになりました。原因と解決方法をメモしておきます。環境は下記のとおりです。 Mac OS X Mountain Lion(10.8.4) Vi…

GitHub のプルリクエストをマージした後に巻き戻す

Git

どういうことかというと、GitHub のプルリクエストをマージして、ステージング環境とかにデプロイして、動作確認をしていて。。あれ?なんかちょっとレイアウトが崩れてる、とか。なんか IE だと動かなくない?とか。ありますよね?あれー?開発環境ではちゃ…

Git の疑問。トピックブランチで作業中に、master ブランチで重要な変更が加えられた。どうすればよい?

Git

タイトルの疑問がチーム内で発生して、それに対する答えが、なかなかウェブ上で見つけられなかったので、メモしておきます(Git 公式ページの説明のなかで、少し触れられてはいます) Git - ブランチとマージの基本 *答え 作業中のトピックブランチにいる状…