日常

ケ・セラ・セラ

ruby 2つのファイルを一行ずつ交互にマージしたい

ひとつめのファイル samplefile1 1 2 3 4 5 6 7 8 9 ふたつめのファイル samplefile2 one two three four five six seven eight nine ten eleven とあった時に、こんな結果がほしい。という時。 1 one 2 two 3 three 4 four 5 five 6 six 7 seven 8 eight 9 …

YAMLファイルに別のYAMLファイルの値を参照、設定したい

こういうことがしたかったのですが、 # a.yml id: 1 type: foo description: baz # b.yml id: 2 type: bar description: (ここで a.yml の description の値を参照したい) こんな風にしました。 YAML.add_domain_type(nil, "include") do |type, val| YAML.l…

css 新旧 clearfix の書き方に関するメモ

css

最近は css も色々書いている。というか、渋々色々やっているという面があるのだけど、それは置いておいて。 昔からある css のメンテなどをすることになると、歴史上の色々な書き方に遭遇することもある。その中で clearfix についてメモしておく。まあ知っ…

Emoji に対応してみた

某サービスで Emoji を扱えるようにしてみた。 gemoji を使った。README を見ると大体やりたいことが出来た。 github.com

rails ActiveSupport 便利な String の活用形のメモ

[8] pry(main)> (:user_follows).to_s.singularize => "user_follow" [9] pry(main)> (:user_follows).to_s.pluralize => "user_follows" [10] pry(main)> (:user_follows).to_s.camelize => "UserFollows" [11] pry(main)> (:user_follows).to_s.classify =…

rails gravatar-ultimate を使う

email, password を入力してもらってユーザ登録できるやつで、 アイコンなど画像ファイルを自分のところで取り扱いたくない。 というケースで gravatar に頼る流れがあります。 https://github.com/sinisterchipmunk/gravatar 実装を見ると、サイズが指定で…

rails limitではなくtakeの使いどころ

limit 使えばいいし、take 使いどころ無いのでは?と思っていました。 先頭 1 件だけほしい時、Model.first すると、order by id ASC LIMIT 1 となります。 Model.limit(1) の場合、order by id しません。 Model.take も同様です。こういう時、take を使う…

input要素のpattern属性に関するメモ

pattern 属性。自分の場合頻繁に使うわけではないので、使うか。と思った時にもう忘れていて結局毎回調べたりして作業が止まるのが煩わしい。 どうせ次も調べるのだろうけど、この辺りを見れば手間も軽減する。ありがたい。 HTML5におけるinput要素のpattern…

地味に便利だと思って使っているシェルalias

sh

これなんですが、(一部から頭悪そうとか聞こえてくる) alias ..='cd ..' alias ...='cd ../..' alias ....='cd ../../..' alias .....='cd ../../../..' alias ......='cd ../../../../..' alias .......='cd ../../../../../..' pwd するとたまに深かったり…

vim 雑に全角文字だけ検索する

vim

/[^\x01-\x7E] のようにする。 ここを見た。 正規表現サンプル(全角文字を検索する)

rails + npm で heroku デプロイするとき

rails アプリを git push heroku master したら npm install もやってほしくて、こうしておいたらうまくいっている。 heroku buildpacks:set heroku/nodejs

Railsでnpmを使う今の所のやり方

自分の場合こうやっていますというものです。 Rails.root に普通に package.json を置き、普通に npm install する .gitignore で /node_modules などしておく application.js はどうしているかというと、 特に問題無ければ require_tree . で全部対象にすれ…

ruby 1行で rescue

最初の行、そうかー rescue でこういう if 文が書けるのかー。と思った。 if (ActionDispatch::Integration::Session.instance_method(:process_with_kwargs) rescue false) let(:send_request) do send http_method, path, params: request_body, headers: …

rails layout に対して個別に値を設定したい時

例えばこう、共通のレイアウトを適用したいけれど、タイトルだけは個々のものを使いたい。みたいな事例です。 # sample_layout.html.erb <html> <head> <title><%= yield(:title) %></title> </head> <body> <%= yield %> </body> </html> 個々の view で provide しました。 <%= provide(:title, @article.title) %…

rails layout を デフォルト(application.html.erb)から変更したい時

こんな風に使い分けることができる class ArticlesController < ApplicationController def without_layout render layout: false end def presentation render layout: "presentation" end end 某サービスにスライド機能つけようとしています

rails 単純なファイルダウンロード

pathto/down へのリクエストで、Rails.root/download/down.md を d.md というファイル名でダウンロードする適当なサンプル。 適当な Rails.root/pathto/down/down.md を事前に用意して、以下の感じです。 # config/routes.rb get "pathto/down" => "pathto#d…

heroku にデプロイするまでの準備

久々に heroku にデプロイするまでの環境を作ることになった。せっかくなのでメモしておいた。 いや改めて思うけどこれだけで公開できるとか楽だなあ。 まずは heroku toolbelt を公式サイトから install する。あとは以下の流れで。 heroku login heroku cr…

git 変更ファイル一覧を得る

git

これで取れた git diff --stat --name-only COMMIT_ID_A COMMIT_ID_B

rails 年度はじめ、年度末

こんな感じか today = Date.today beginning_of_fiscal_year Date.new((today << 3).year, 4, 1) end end_of_fiscal_year Date.new((today >> 9).year, 3, 31) end

イニシエのブラウザ判定

こういうコードを目の前にして、 最初何してるんだか分からなかったけれど、 どうやらブラウザの判定をしているらしい。 if(document.all) { // IE4 以上, 9.2 以下? } if(document.layers) { // Netscape4? } if(document.getElementById) { // 最近のブラ…

ruby sort の書き方について考えていた

どう書くのが見易いんだろうなー。という観点で考えていた。 結局、こういう感じだろうか。という着地をした。 lists.sort! do |a, b| (a.date <=> b.date).nonzero? || (b.user_id <=> a.user_id).nonzero? || (a.time <=> b.time) end

Capistrano2 使用時のメモ

これは Capistrano2 の記事です。3 ではありません。ご注意くだしあ まあ、ここにまとまっているんですが、よく使うやつをいくつか。これは自分用メモです。まだ cap2 を使っているプロジェクトだってあるんです。 https://github.com/capistrano/capistrano…

Railsあるある

ふいにやる気出る。 よし、おれはやるぞ! rails new !!! bundle install !!! . . . コーヒーいれる。他のことはじめる . . . なんだっけ? ってなるのがよくあるパターン 別に Rails に限った話じゃないなw

Rails Devise使用時のフレンドリーフォワーディング

ブラウザから直接URL入力してあるページへ行こうとした時、 まだログインしていなければログイン画面を表示させる。というのはよくある処理だと思います。 そしてログイン後には、ログインする前に行きたかったところへ送ってあげるのが親切でしょう。 そう…

Mac で bundle install nokogiri に失敗するときのやつ

bundle config build.nokogiri -- --with-xml2-dir=`brew --prefix libxml2` --with-xslt-dir=`brew --prefix libxslt` この後 bundle install したらどうかな?

git今日のコミット数、昨日のコミット数、2日前の、9日前のコミット数を数えるやつ

git

を、git の alias に追加してみた。 g cc で当日。 g cc1 で翌日、 g cc9 で9日前とか、あまりあたまのよくない感じがするけれどまあ便利 .gitconfig cc = shortlog -sn --no-merges --since='$(date +%Y/%m/%d) 00:00:00' # today's commit count cc1 = sho…

人に本を紹介するのって難しいなと思った。もやもやをただ書いた。

人に本を紹介するのって難しいなと思った。ブログとかに書くだけなら、読みたい人は買ったらいいし、そうでなければ買わなければいい。それだけで終わるのだけど。 仕事で関係する人と話をしていて、こういう家庭の問題で困ってる。って話が出た。自分も同じ…

nohupなしで実行した場合に後から対処する

sh

久々にやらかして、ぱっと出てこなかった。 この順に行う。 ./sleep.sh C-z bg disown こういった具合に動作する。 $ ./sleep.sh start sleeping 1 ... ^Z zsh: suspended ./sleep.sh $ jobs [1] + suspended ./sleep.sh $ bg %1 [1] + continued ./sleep.sh…

ただの日記 20160130

最近興味から Rhebok のコードをちびちび読んでるんだけど、得られるものが多くて超勉強になる。 ところで去年はこういうただの日記的なものはあまり書かなかったけれど、今年はこういうのも多く書いていこうと思う。 Rhebok に関してはまだ途中で、というか…

Bundler経由でのGemの読込み

こういうことなんですが、require "bundler"; Bundler.setup してから require すればよい。 [1] 2.3.0-p0(main)> require "pico_http_parser" LoadError: cannot load such file -- pico_http_parser from /home/284km/.rbenv/versions/2.3.0/lib/ruby/2.3.…