コマンドで一気に複数アプリを起動して自分のワークスペースを立ち上げる

Macのみです。タイトルのままです。特に大したアレじゃないのですが、便利でずっと使ってるので共有がてらメモです。 普段、ずっと立ち上げてるアプリってあると思います。僕の場合は、 iTerm Google Chrome Airmail Slack Facebook Messanger LINE iCal あ…

nginxでRailsのアプリケーションと独立したファイルへのアクセスを設定する

別に何のアプリケーションでもいいのですが、nginxで他のアプリケーションを動かしつつ、独立したファイルへのアクセスも可能にするための設定メモ。 nginxのconfファイルを以下のようにします。 server { # ...(omission)... location /path/to/directory/ …

MySQLのチューニングやること

参考リンク 基本指針 具体的な方法 1. バッファサイズを適切に設定する 2. indexを適切に貼る 3. テーブルの最適化 その他 メモリの消費量が大きいなと思ったとき 参考リンク nippondanji.blogspot.jp thinkit.co.jp yakst.com 基本指針 必ずベンチマークす…

Macでステータスバーがフリーズしたときの解決方法

最近、うちのMacBookProでステータスバーが固まることがよくある。 いきなり固まることもあれば、Wi-Fiのon/offで固まることがあったり。 時計が進まなくなったり、スクリーンショットが使えなくなったり、半角/全角切り替えができなくなったりなどSystem周…

Wordpressの記事データをRailsのDBに移行する

目次 目次 おおざっぱな流れ 移行するデータ 1. CSVを抽出 記事データ カテゴリ タグ Primary Category 画像データ サムネイル 2. mysqlでimportする 記事データ カテゴリデータ 記事とカテゴリの関連付けデータ タグデータ 記事とタグの関連付けデータ Prim…

Googleのモバイルフレンドリーテストのデバイス判定が適切にされないとき

Googleのモバイルフレンドリーテストの際に、mobile用のViewが適切に読み込まれていないことに気付きました。これはページランクに影響が出る可能性大なので早急に解決すべき問題。 k0kubunさんのrack-user_agentを使って、RailsのAction Pack Variantsを用…

React x Railsでデータの同時編集ロック機能を実装する

検討 競合する可能性が大いにあり、かつデータの整合性が非常に重要な部分の実装なので、今回の場合は楽観的ロックではつらそう。では悲観的ロックではどうか。 悲観的ロックとは、 悲観的ロックとは、DBMSの行ロック機能(SELECT FOR UPDATE句)を利用して…

Reactでロード中indicatorを表示するcomponentをRailsに組み込む

react-spinkitを使ってみます。 github.com 以下にデモも用意してくれてます。 React Spinkit classnamesとobject-assignというライブラリを使用しているので、こちらをnpmでインストールしておくのを忘れないように。 GitHub - JedWatson/classnames: A sim…

Railsで標準クラスへメソッドを追加してNumericの桁数を求めれるようにする

Numericクラスに、桁数を返すメソッドを追加したいと思ったので、Railsに乗っていて標準クラスをオーバーライドするプラクティスあるのかなーと思って調べてみましたが、特に決まったものはなさそうです。 ruby on rails - Railsで既存クラスへのメソッド追…

impressionistでcounter_cacheがうまくupdateされない

PVの測定にimpressionistというgemを使っているのですが、このimpressionistにはRails3くらいに実装されたcounter_cacheの機能を簡単に盛り込めるようにしてくれるオプションをis_impressionableメソッドにつけてくれてます。 ですがこいつがうまくupdateさ…

HTMLのタグを除去して文字数だけをカウントしたい

Rubyで例えばブログみたいなシステムを想定して「DBの中身はHTMLなんだけど、タグ部分は除いて純粋な本文の文字数のみをカウントしたい」ってとき。想像以上に簡単にできちゃうのでメモ。 Nokogiriを使えば以下のようにすればok。 Nokogiri::HTML(source).xp…

Reactでタブ機能を実装

以下を参考にしてReactでタブを実装します。 https://toddmotto.com/creating-a-tabs-component-with-react/ Componentのデザイン 以下のようなComponentを作成することを目指します。 <Tabs> <Pane label="Tab 1"> <div>This is my tab 1 contents!</div> </Pane> <Pane label="Tab 2"> <div>This is my tab 2 contents!</div> </Pane> <Pane label="Tab 3"> <div>This…</div></pane></tabs>

Railsでログイン機能を自作する

はじめに deviseを使いたくないし、と思ったらsorceryは開発終了してしまってるみたいだし、monbanはきになるけどproductionに載せるには少し不安だ...。 ということで、僕がきいてる限りだと大きな会社のアプリケーションだとかなり自作の事例の方が多いみ…

【動的VS静的】Railsの404/500エラーページ 静的の勝利

揉めに揉める議論 最初、もりじゅんさんの以下の記事を参考にさせていただこうとしたのですが、 morizyun.github.io Qiitaでも(多分もりじゅんさんの記事を参考にした)同じ例をみかけて、そこでyuki24さんが、この方法はあまりよい方法でないというコメン…

pg_dumpの実行時にパスワード入力を省略する

pgではpg_dump実行時に必ずインタラクティブなパスワードの入力を求められるのですが、cron jobでのpb_dump実行時に、パスワードの入力を省きたいって感じのことです。どうやらパスワードを渡す方法はないみたいですね。 PostgreSQL公式docのpg_dumpのところ…

PostgreSQL初期設定 in EC2

以下を参考にさせていただきました。 http://dev.classmethod.jp/cloud/aws/install-postgresql-on-aws-ec2/ 手順 PostgreSQLをインストールします。 $ sudo yum update -y $ sudo yum install -y libxslt.i686 $ sudo yum install -y postgresql postgresql…

Capistranoデプロイ時にwheneverのタスクでinvalid byte sequenceのエラー

Capistranoでのデプロイ時に、デプロイフックでのタスク中で以下のようなエラーが出るようになりました。 DEBUG [67444af4] Command: cd /var/www/onebox/releases/20160426053048 && ( export RBENV_ROOT="/usr/local/rbenv" RBENV_VERSION="2.3.0" ; /usr/…

Rails+Reactにbrowserifyを導入する

react-railsでReactを導入してるRailsアプリにbrowserifyを導入します! JSのモダンな環境に関してはめちゃくちゃ素人なので調べた過程で読んでよかった!な記事を順番になるようにメモしておきます。 最初に読みたい記事 最初に読んでおいたらいいなと思っ…

Webpay::Mockで決済周りのテストを書く

この記事 qiita.com とかを参考にしながらWebpayでの決済機能は実現できたものの、テスト書くのどうしよ。。 と悩んでいたところでWebpay::Mockというものを用意してくださってくれていることに気付く。 決済周りの処理のテストを書く方法をメモしておきます…

全アクション共通メソッドを利用してナビゲーションバーに検索フォームを配置する

検索フォームをナビゲーションバーのような共通viewファイルに置くにはどうしたらいいのか、一瞬迷ったのでメモ。 今回は、以下で作成した検索フォームをnavigation barに配置したいと思います。 totutotu.hatenablog.com 実装 Railsでは、全てのController…

Railsで検索機能を実装する

Special Thanks 以下の2つを参考にして実装しました。 github.com ruby-rails.hatenadiary.com 実装 Railsで、ransackを使ってObjectベースな検索機能を作成していきます。 今作成してるCofwaというコーヒーコミュニティアプリケーションで、豆のブランドの…

URLのパラメータにid以外を使う方法

/users/:idではなく/users/:usernameみたいにURLにid以外のパラメータの値を使う方法です。 以下でいけます。 resources :users, param: :username パラメータにするカラムはunique設定されてることを一応確認しておきましょう。 基本的にidはアプリケーショ…

【deviseに疲れた人のための】sorceryでユーザログイン機能を実装

deviseの代替案として、前々からsoceryいいよなんてきいてたので使ってみます。 github.com @komagata さんにおききしたらつらみはそんなに減らないとなったのが一瞬頭によぎる @komagata devise、つらみを感じてます...。あとはSorceryとかをよくきくのです…

Railsでのテスト時に`test_after_commit`のgemが読み込めないエラー

こんな感じのエラーに出くわした。 /Users/totzyuta/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/bundler-1.11.2/lib/bundler/runtime.rb:80:in `rescue in block (2 levels) in require': There was an error while trying to load the gem 'test_afte…

Twilio+Deviseで電話番号(SMS)ユーザログイン機能を実装

電話番号認証、サービスによってはすごい比率が高いらしいので実装したいなと思います。 目次 目次 方針の検討 1. 電話からの音声案内 2. 情報をアプリケーション側で開示した後、ユーザがSMSを送信 3. アプリケーション側から6桁の番号を送信、ユーザはそれ…

deviseでemailの確認を行わずにuserを保存する

deviseでconfirmableを使ってemailのverificationを行うようにすると、SNSログインを使ったユーザなりもともと登録されてたユーザなり全て送信されたメールの確認が必要になっていまいます。 そんなときの逃げ道。#skip_confirmation!を使えばよいようです。…

Wordpressでinstall.php実行しようとしたらredirect loopになるとき

WordpressのURLのルートからinstall.phpにリダイレクトされるときに、 example.com/index.php/wp-admin/install.php みたいになってリダイレクトループしてたのですが、ふいに思いついて example.com/wp-admin/install.php にパスを書き換えてアクセスしたら…

deviseで各種OAuthのSNSログイン実装 [Twitter,Facebook,Google,Yahoo!]

OAuthでの各種SNSログイン機能を、deviseを使ってるところに実装したので、それぞれ参考にした資料とかまとめておきます。 Twitter && Facebook deviseを使っていれば、以下の記事に従えば簡単に実装できます! qiita.com Twitterでレスポンスのデータサイズ…

curlで天気予報取得するのがめちゃくちゃかっこいいのでtmuxのスクリーンセーバにした

こんなツイートをみかけました。 How do you check the weather? curl wttr.in — Sure thing! #wttrin pic.twitter.com/mgYzW2ajyq— Igor Chubin (@igor_chubin) 2016, 2月 20 めちゃくちゃかっこいい!!! http://wttr.in/ github.com Tokyoの天気を表示す…

Adminなlayoutを設定する

以下を参考に。 stackoverflow.com まずは、Adminで区切られる名前空間のコントローラーに共通する親コントローラを作成します。 class Admin::BaseController < ApplicationController layout 'admin' before_filter :require_admin_user end こうすること…