zakihayaメモ

RubyとRailsのことが中心

リポジトリをGitHubに変更してCircle CIで自動デプロイしようとしたら大ハマリした

今更ながらCircle CIを使ってみる 前から興味があったCircle CIでの自動デプロイを、機会があったので試してみました。 リポジトリをBitbucketからGitHubに変えて、Circle CIに登録してデプロイできるようになるまで8時間。。。 いい経験にはなりましたが大…

haml使用時に値が無い属性(itemscope)などを追加する

<div itemscope>・・・</div> のような感じで表示させたい場合は %div{ itemscope: true } とすればOK。

RubyのバッチでGoogleAnalyticsのデータを取得する(OAuth2利用)

Garbが使えなくなった・・・ もともとはGarbというgemを使ってアクセス数を取得するバッチを作っていたのですが、急にGoogleにログインができなくなってしまいました。。 Sija/garb · GitHub いろいろと見てみると、Google APIがOAuth2以外の認証を受け付け…

Railsでメールを送信する機能を実装する時はmailcatcherを使うと便利

Webアプリを作っていると、メールを送信する機能を作ることがよくあるかと思います。 そんな時はmailcatcherというgemを使うと、仮想SMTPのような形で使えるので便利です。 準備 Gemfileを更新して、 bundle install します。 # Gemfile group :development …

bundlerを使ってGemを作成する

Gemの作り方を勉強するために、どうしようもないGemを作ってみます。 テストを作成し、Travis CIで自動テストができることが目標です。 ソースはこちら zakihaya/hello-zakihaya · GitHub Gemを作成する準備 Gemの雛形を作成する $ bundle gem hello_zakihay…

MySQL varcharのlengthはバイト数ではなく文字数

varchar(255)だったら、全角でも255文字まで入る。よく忘れるのでメモ。 エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド作者: 奥野幹也出版社/メーカー: 技術評論社発売日: 2010/06/12メディア: 大型本購入: 16人 クリック: 204回この商…

Macで使う言語を英語にしたらgit logがおかしくなった

Mac

英語を勉強したいなーと思ってMacのシステム言語をEnglishに変更しました。そうしたらgit logが<A0>みたいな文字列になってしまったので、その対処法。 〜参考にさせて頂きました How to fix locale issues in Mac OS X Lion terminal (Mountain Lion has …

has_manyな関連にbuildした後にsortを実行したい

[Rails] has_many through な関連をチェックボックスで操作するときに苦労した話 | ハレノヒブログこちらのページを参考に、WordPressのカテゴリー選択UIみたいのを作りました。 が、これだと選択されたカテゴリが上に来てしまってソート順が無効になってし…

AWS VPC内にRDSでDBを作成する

AWS VPCでセグメントを分けてサーバを管理する - zakihayaメモ AWS VPC内にアプリケーションサーバを作成する - zakihayaメモ の続きです。DBを作成して、アプリケーションサーバから接続できることを確認します。 RDSからVPCを利用するための設定 1) AWSに…

AWS VPC内にアプリケーションサーバを作成する

AWS VPCでセグメントを分けてサーバを管理する - zakihayaメモ の続きです。VPCとサブネットを作成したので、public subnetにアプリケーションサーバを作成します。 EC2インスタンスの作成 1) AWSにログイン → EC2を選択2) Launch Instanceをクリック3) Amaz…

AWS VPCでセグメントを分けてサーバを管理する

VPCとは Amazon Virtual Private Cloud(Amazon VPC)で、アマゾン ウェブ サービス(AWS)クラウドの論理的に分離したセクションを確保し、ここで、お客様が定義する仮想ネットワークで AWS リソースを起動することができます。独自の IP アドレスレンジの…

AWS入門 IAMでユーザー管理をする

自分は結構前からAWSは使っているのですが、正直EC2でインスタンス作って運用しかしてません。 そこで、いろんなサービスをいじってみることにしました。まずはIAMから。 IAMとは IAM を使用すると、AWS のユーザーとグループを作成および管理し、アクセス権…

OS X Marvericksで最新のXCodeを入れてbundle installするとエラーになる

開発用のMacが来たので、リポジトリからソースを取ってきてbundle installをすると、下のようなエラーが発生する。 Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /System/Library/Frameworks/Ruby.framework/Version…

Rails4でsessionの格納先をactive_record_storeにする

Rails4でsessionの格納にActiveRecordを使うやり方。 gemを追加 # Gemfile gem 'activerecord-session_store', github: 'rails/activerecord-session_store' gemをインストール $ bundle installセッションを格納するテーブルをcreateするmigrationを作成 $ …

Paperclipでadd_attachmentする時にafterを指定したい

これを実行すると class AddAttachmentToUsers < ActiveRecord::Migration def change add_attachment :users, :avatar, after: 'name' end end usersテーブルに下の列が追加されてしまいます。 avater_file_name avater_content_type avater_file_size avat…

連休を使ってJavaScriptまわりを勉強する

underscore.js メソッド名がRubyっぽいJavaScriptのライブラリくらいの認識しか無かったが、 使ってみるとこれは相当便利。 今まで使っていなかった事を本気で悔やみました。Underscoreドキュメント日本語訳便利機能満載のライブラリUnderscore.js - にのせ…

lazy_high_chartsでlabelsにformatterを使う場合

こんな感じにすればOK f.yAxis[ {:title => {:text => '降水量'}, :labels => {:formatter => %q|function(){return this.value +'mm';}|.js_code}} ] 参考 :formatter not working for dataLabels · Issue #73 · michelson/lazy_high_charts · GitHub

Rails4でActiveAdminを使ってみる

Railsで簡単に管理画面を作れる系のgem。Ruby Toolboxを見たところActiveAdminが一番人気があるっぽい。 使ったことがあるRailsAdminにしようかと思ったが、せっかくなので試してみた。gregbell/active_admin · GitHub Gemfileに記入 RubyGems.org のはバー…

第2回アフィリエイトソンに参加してきました

6月に行われたアフィリエイトソンの結果が発表され、なんと準優勝しました!商品の世界のビール詰め合わせが届いたのですが1ヶ月半くらいお預け。。。 お酒が解禁されたら飲みますのでビール好きの方はご連絡ください。サイトはこちら 楽天で高評価のワイン…

hamlで行末に改行を表示しないようにする

タグの周囲の改行を表示しないようにするには > を使う。 タグ内のスペースなどを除去する場合は 何もしない書き方 haml %div %span a html <div> <span> a </span> </div> > を使う haml %div %span> a html <div><span> a </span></div> haml %div %span< a html <div> <span>a</span> </div> 参考 http://haml.info/docs/yardoc/fil…

Webサイトにストリートビューを表示する

どんどん便利になっていくなぁ。【仕様】 #mapAddressに住所が入っている #gMapに地図を表示する #gViewにストリートビューを表示する var geocoder = new google.maps.Geocoder(); geocoder.geocode( { 'address': $('#mapAddress').val(),'region': 'jp'},…

Capistranoを使う時はブランチ名をdeployにしてはいけない

アプリをデプロイしようとコマンドを打っても全くうまくいかない。 スペルミスも無いのになぜだろうと思ったら、ちゃんとエラーが出てた。 fatal: A branch named 'deploy' already exists. どうやらCapistrano内部でdeployブランチを作って、それをサーバに…

街コンで成功するためにするべきたった1つの事

飯食いに外に出たら街コン参加者の大行列ができてる。まだ流行ってるんだな。 裏技をこっそりお教えするので、今後参加する方がいたらご参考に。 久しぶりのブログがこんなでいいのかわからないが。。。 街コンのシステム 男性2人または女性2人のペアで参加…

Macが来たのでイチから設定してみる(アプリ)

最後にアプリケーションのインストールと設定。Growl - The Growl Project 今までは古いバージョンのを無料で使ってたが、せっかく新しいのにしたので今回は購入。

Macが来たのでイチから設定してみる(IME、キーボード)

続いてキー入力まわり。 Google日本語入力 Google日本語入力のインストール 一度使ってしまうとことえりには戻れないなあ。 ダウンロードしてインストール。 Google 日本語入力 ことえりを無効にする ことえりは不要なので無効にする。 システム環境設定→言…

Macが来たのでイチから設定してみる(システム環境設定)

Mac

きましたよー新しいMacBookAir。会社Macの設定をそのまま移行しようかとも思ったのだけど、 不要なものが多そうだったので整理しながら設定してみる。 木曜の夜までに設定完了したい、終わるかな。。。とりあえず初日はシステム環境設定から。 Dock Dock を…

Hash#mapとHash#selectのブロック引数の違いでハマる

ブロック引数が1つのmapで作っていたソースをコピーしてselectをやろうとしたら うまくいかなくて困った。 Hash#mapはブロック引数が1つの時と2つの時で挙動が違う 引数が1つの時 keyとvalueが配列に入ってくる {a: 1, b: 2, c: 3}.map{|val1| puts "val1=#{…

AASMのReadmeを日本語訳してみた

AASMはRubyのクラスにステートマシンパターンを追加できるライブラリです。 業務で使うことがあったので訳してみました。初の試みなので、おかしい点などがあればばしばし指摘してください。元ページ aasm/aasm · GitHub AASM - Rubyのステートマシン このパ…

find_or_create_by・・・が素敵すぎる!

今さら知ったのかよ感がありますが、こんな便利メソッドがあったんですね。 知らなかった!こいつを使うと user = User.find_by_name("zakihaya") || User.new(name: "zakihaya") が user = User.find_or_create_by_name("zakihaya") になる!Rails4からは下…

EC2上のCentOSにFirefoxをインストールする

ハマったのでメモInstall Firefox on Amazon Linux x86_64 Compiling GTK+ | JoeKiller