paranitips

Never stop learning! がモットーのゆるふわエンジニアブログ

2015-10-01から1ヶ月間の記事一覧

引数を使えるrakeタスクを作成して実行するとzshに怒られた

環境 $ rails -v Rails 4.1.1 $ ruby -v ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin14.0] $ echo $SHELL /bin/zsh タスクを作成 my_taskを作成してみます。 rails g task my_task # lib/task/my_task.rake namespace :my_task do desc "おれ…

nginxで迷惑ボットを拒否する

newrelicのエラーレートが定期的にやたらと高くなるなーとおもってたらMG12botという迷惑ボットが周回してきてました。 404エラー頻発 →newrelicのアラートが止まらない →不安で寝れない のでnginxで拒否します。ネムイ(´・ωゞ) # /etc/nginx/nginx.conf if ($ht…

ckeditorに認証機能を実装する

ckeditorはデフォルトだと誰でもアクセス可能となっているので認証機能を追加します。 cancanを利用する場合は Ckeditor.setup do |config| config.authorize_with :cancan end でOKですが、独自の認証機能を使いたい場合は以下のようにします。 # config/in…

ckeditor+carrierwaveで画像をS3にアップロードできるようにする

WYSIWYGといえばckeditor!ということで、ckeditorのインストールから画像のS3アップロードの設定までを書いていきます。 必要なgemをインストール Gemfileに以下を追加し、bundleでインストールします。 # Gemfile gem 'carrierwave',github: 'carrierwaveu…

ckeditorのスタイルが本番環境で崩れる

Railsでよくある「開発環境では動くのに本番環境ではうまくいかない」パターン。 ckeditorが本番環境ではcssが 404 not found になってました。 以下の3行を加えてckeditorのアセットも一緒にプリコンパイルしてやればOKです。 # config/enviroments/product…

rubyで unused variable と言われないように使わない変数にはアンダースコア(_)を使う

例えば、以下のように使わない変数が宣言されている場合警告が出ます。 array = [[1,2],[4,3],[2,1]] array.sort{|(k1, v1), (k2, v2)| v2 <=> v1} # 「assigned but unused variable - k1」と警告が出ます。 このように使わない変数にはアンダースコア_を使…

配列から重複した要素を取り除くのではなく取り出す

ただ単に重複した要素を取り除く場合は、uniqを使えばOKです。 a = [1,2,3,5,1,2,4] a.uniq => [1, 2, 3, 4, 5] 今回は、重複した要素そのものを取り出したい、つまり、先ほどの配列aから[1,2]を抽出します。 a = [1,2,3,5,1,2,4] a.uniq.map { | e | [e, a.…

印刷するときだけ要素を非表示にする

印刷ページを別途用意するのもいいけど、ちょっとそれはめんどくさい。。 ってときに、css3のメディアクエリを使うと便利でした。 @media print{ .no_print{ display: none; } } <p>このパラグラフは印刷時には表示されるよ</p> <p class="no_print">このパラグラフは印刷時には表示され</p>…