@Konboi memo

主に技術に関してつらつらと。

2014-01-01から1年間の記事一覧

sinatra で response body の JSONをparseする

JSON.parse(resposen.body.read) readを付けなくて、parse出来ずに嵌ったのでメモ。 Sinatra: Up and Running作者: Alan Harris,Konstantin Haase出版社/メーカー: O'Reilly Media発売日: 2011/11/21メディア: Kindle版この商品を含むブログを見る

expand-regionが動かない

困った。 expand-region が動かなくて困っている。 設定も特に変な事はしてない。 ... はず (require 'expand-region) (global-set-key (kbd "C-\'") 'er/expand-region) こんな感じの設定ファイル。 C-@は複数のキーを一変に打つのがつらくてC-'に変えている。 …

CentOS6 の git バージョンをあげる

はじめに 最近emacsを使い始めたのはいいけれどmagitがつかえない症状にはまっていた。 調べたらgit のバージョンをあげればいけるらしい あげよう!! アンインストール gi のバージョンが古いってことなのでアンインストール $ sudo yum remove git $ sudo …

magit がつかえなくてこまった

magit がつかえなくてこまった M-x magit-status と打っても Git repository: file/path と出てきて/project/root/dirctory を指定しても yes としても Wrong type argument: stringp, nil と出るばかり…orz magit-process を見ると 129 git --no-pager -c c…

centosでcaskを使ってsmartchr.elを入れるまで色々大変だった。

追記 本家にp-r済みなのでsmartchr.elは問題なくインストールできると思います。 はじめに 最近 いろんな人が cask を使ってemacsのlispを管理してるらしいので、 自分もやってみた。 が、色々嵌ったのでメモしておく。 前提条件 vagrant + chef で環境構築してい…

Dist::Makerを使ってひな形を作ってみる。

はじめに rails new みたいなのを perl でやろうとしたら今もModule::Setupで作ったflavorをセットアップしてやるのが一般的なのかな??— こんぼい。 (@Konboi) 2014, 5月 18 @Konboi Amon2なんかは、独自で雛形作成機構を持ってるけど、自分独自のやつ作り…

merge済みのbranchを消す

git

mergeしたけど消してないみたいなbranchが結構あってうざかったので消した git br -r --merged | grep -v 'master' | awk -F "/" '{print $2 "/" $3}' | xargs -n 1 -I % git push origin :% awk便利。

gitの現在のbranch名だけを取得する

git

git branch だとディレクトリにあるbranch全部が取得できる。 が、 今回は現在のbranch名のみを取得したかった。 git rev-parse --abbrev-ref HEAD これでいける。 よい。 参考URL すがブロ GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)作…

Brewfileでhomebrewでインストールするものを管理する

開発環境は vagrant x chef で構築してるからぶっ壊れてもすぐに構築できるんだけど、 やっぱり母機のmac側もなんだかんだ使うのですぐに必要なもの入ったほうがいいなってことで、 今更ながら Brewfile で管理するようにしてみた。 既に homebrew でインストー…

grep -{数字} オプションが便利だった。

ログをみるときとか、該当の文字列を探すときとかお世話になる grep コマンド。 このオプションをしる前までは、該当の行はすぐわかるんだけど、その前後数行もみたいんだよね... ってことがよくありましたが。 が、 この grep -10 とか - + 数字 のオプションをつ…

標準出力を出力しつつファイルにも出力する

移植してるgemで表題のことを実現したかった。 色々調べてみたけど、実現したいことをするにはだいぶ古いきじだけれとこちらのページが参考になった。 def std_out log_fh = self.log_fh std_out = Object.new std_out.instance_eval{@ofile=log_fh} class <

perlのモジュールをrubyに移植してみた

移植したモジュール 移植したもPerlのモジュールはScript::Ichigeki になります。 こちらのモジュールの使い方は Script::Ichigeki - 相手は死ぬ こちらの記事を参考にしていただければと思います。 記事内の言葉を抜粋すると クリティカルな一発スクリプト(ゲ…

awkで"(ダブルコーテーションマーク)を使って嵌った。

ps aux | grep hoge | awk "{$1}" とかのコマンド打っても反映されなくて?!ってなってた。 ps aux | grep hoge | awk '{$1}' でいけた。 シングルコーテーション使ってこう。

Time::Piece::Plus でunix timeから time piece オブジェクトを作る

CORE::timeとかから取得した値を使って Time::Peace::Plus のオブジェクトをつくろうとした時に嵌ったのでめも。 localtime->strptime($unix_time, “%s”); 最初試した方法。 いけたけど、 tim zone が JSTにならなくて ?! ってなった。 use Time::Pease::Plus;…

$0 と __FILE__ の違いについて調べてみた。

gemとかの require されるファイル側でどこから呼ばれてるのか知りたかったので調べてみた。 caller メソッドとかで特定もできなくはなさそうだったけど、 $0 のほうが一般的っぽかった。 $0 とよくgemとかで見かける __FILE__って何が違うのか調べてみた。 ざっ…

classのinitializeの引数でハッシュを渡したい時はどうするのがベストなんだろう?

hoge1 = Hoge.new puts hoge1.hoge puts hoge1.foo hoge2 = Hoge.new({hoge: 'hoge2'}) puts hoge2.hoge puts hoge2.foo hoge3 = Hoge.new({foo: 'foo2'}) puts hoge3.hoge puts hoge3.foo hoge3 = Hoge.new({hoge: 'hoge2',foo: 'foo2'}) puts hoge3.hoge p…

今更ながらatter_reader,writer,accesor の復習

class Hoge attr_reader :read attr_writer :write attr_accessor :access def initialize(read, write, access) @read = read @write = write @access = access end def access_update @access = @write end end hoge = Hoge.new('read', 'write', 'access'…

インストールしてあるgemの一覧をだしてGemfileにまとめる。

gem list --local | awk '{print $1}' | xargs -I% -n 1 echo gem \"%\" >> Gemfile こうすれば、インストールされてるgemの一覧をGemfileにしてくれるので、以降したPCでbundlerをインストール後に bunlde installすればいい感じになるはず。 ※ この方法は OSX…

grepで正規表現を使う

grep -e ^fuga -e オプションを与えて上げれば正規表現使えるようになる 複数の条件を付けたい場合は grep -e ^hoge -e ^fuga で与えて上げればよい。 chefのレシピ書いてるとこういうコマンドの勉強になってよい。 [改訂第4版] UNIXコマンドポケットリファレ…

gitでremoteのブランチが更新されない

git br -r うつと origin/hoge origin/fuga origin/foo って出てくるから git push origin :foo って打っても削除できない。 githubで確認したら既にブランチが削除されてた。 どうしたらいいのかなーと思って調べてみたら、 remote branch の情報を更新してな…

libsslがないって怒られたので openssl-develをインストールした。

npm -U ngx_openresty-1.4.3.3-1.el6.x86_64.rpm を打つと libssl がないって怒られる。 sudo yum search libssl しても見つからない... さて、困ったなと思って調べてみたら openssl-devel をインストールすると入ってくれるらしい。 ということで sudo yum in…

アクセスログからどこからのアクセスが多いのかを調べる

cat access.log | awk '{print $1}' | sort -n | uniq -c | sort -n するとこんな感じで表示される。 他のももっとちゃんと調べていきたい。

リモートブランチの削除方法

branch切ったはいいがどうやって削除するのか分からなかったので git push origin :want_to_delte_branch_name これだけでいける。 こわい。

.capをruby modeで開きたい

capistranoが3系になってタスク用のファイルの拡張子が.capになった。 .capファイル開くとインデントとか全然してくれないので、どうしたものかと思ってしらべたら ~/.vimrc に au BufNewFile,BufRead *.cap setf ruby を追記したらいけた ついでだから au Buf…

メモリもりもり食うunicornのプロセスを殺す

ps aufxx | grep unicorn | grep -v grep | grep -v master | awk -v OFS=, '{if ( $4 > 10 ) print $2}' | xargs -n 1 kill メモリを10%以上使用しているunicronのプロセスをkillする。 時々アラートきてたけど、今はいい感じ。

Omniauth で callback先ののホストを設定する

railsで複数の認証を扱うなら omniauth が有名。 今日、理由はわからないけどcallbackのホストが違うところ言ってしまいまじ ( ゚д゚)ハッ ?! ってなってどうしよどうしよって焦った。 が下記の方法でとりあえず、解決できた # config/initialize/omniauth.rb OmniAu…

Rubyの配列でlimit使えない

Rails使ってるとlimitが使えないとき ?! ってなるw かわりに take か first でいける irb(main):003:0> a = [1,2,3,4,5] => [1, 2, 3, 4, 5] irb(main):004:0> a.take(3) => [1, 2, 3] irb(main):005:0> a.first(3) => [1, 2, 3] よい。

node.js x websocket で プレゼンツールっぽいのを作ってる

はじめに 最近JavaScriptを再びさわりはじめた。 JavaScriptを使ってたら普段サーバー側だしwebsocketが使いたくなってみた。 websocketを使って今回は試しにプレゼンツールっぽいもの作ってみた。 作ってみた 右Windowがコントローラーになっていて、 Next をク…

はてブのホットエントリー記事をkindleで読みたい

はじめに 最近は、本を読むのには kindle paperwhite を使って読んでる。 Kindle Paperwhite(ニューモデル)出版社/メーカー: Amazon発売日: 2013/10/22メディア: エレクトロニクスこの商品を含むブログ (61件) を見る 軽いし、まるで本を読んでるような感じな…

RailsアプリケーションをPassengerを使ってサブディレクトリで動かす

開発用のサイトはたくさんのアプリケーションが複数言語で動いているのでapacheで運用してる。 本番環境でアプリケーションをサブディレクトリで動かす必要がでてきた。 やり方はそこまでむずかしくない。 今回は /home/apps/rails_app に置いてあるアプリケー…