コピペコードで快適生活

明日使えるソースを自分のために

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

RubyのThreadメモ

まずは超簡単なところから。 n = 1 # この記述に至った時点で非同期で実行開始される t1 = Thread.new do puts "t1 start" puts "t1 n is #{n}" n = 2 sleep 5 puts "t1 end" end t2 = Thread.new do puts "t2 start" sleep 5 puts "t2 n is #{n}" # => 2 ス…

ActiveSupport::CallbacksでRubyクラスにコールバックを差し込む

ActiveRecordじゃなくてもコールバックは使えるんやで。 class Article include ActiveSupport::Callbacks define_callbacks :before_submit set_callback :before_submit, :before, :validation def validation puts 'Check!!!' end def submit puts 'Submi…

第37回シェル芸勉強会メモ

https://b.ueda.tech/?post=20180901_shellgei_37 にて学んだことメモ。 Q1 FizzBuzzのアニメーション seq 100 | gsed '0~3s/.*/Fizz/;0~5s/.*/Buzz/;0~15s/.*/FizzBuzz/' | # 0~3s みたいな書き方で3行ごとに置換を行う gawk '{printf("%08s\n", $1)}' | # …

ActiveRecordのafter_commitが発火するとき発火しないとき

発火する ・なにも変更せずにsaveしても発火する(select文しかないtransactionでcommitがされるため) ・destroyで発火する。self.destroyed?はtrue, self.reloadでActiveRecord::RecordNotFound ・soft_destroyでも発火する。self.soft_destroyed?はtrue (ka…

ndenvを使ってNode.jsをインストールする

ずっとnvm使っていたのだけど、プロジェクトディレクトリ移動するたびに手動でバージョン切り替えるのがさすがに辛くなってきたので、ndenvに乗り換えました。 インストール # clone git clone https://github.com/riywo/ndenv ~/.ndenv # パスを通す