諸行無常

IT色々お勉強中のブログ

sidekiq,redis内容確認方法

irb(main):001:0> queue = Sidekiq::Queue.new('default')
=> #<Sidekiq::Queue:0x007f95049d9680 @name="default", @rname="queue:default">
irb(main):002:0> queue.size

#処理待ちのjob
Sidekiq::Queue.new.each {|job|puts "#{job.jid} #{job.klass} #{job.args}"}

#リトライ待ちのjob
Sidekiq::RetrySet.new.each {|job|puts "#{job.jid} #{job.klass} #{job.args}"}
#消す!!
Sidekiq::RetrySet.new.each {|job| job.delete}

Redisとは

メモリ上にKey-Valueストア(KVS)を構築することができるソフトウェアの一つ。

redis-cli
127.0.0.1:6379> help
redis-cli 3.0.7
Type: "help @<group>" to get a list of commands in <group>
      "help <command>" for help on <command>
      "help <tab>" to get a list of possible help topics
      "quit" to exit

127.0.0.1:6379> set wanko bow-wow
OK
127.0.0.1:6379> get wanko
"bow-wow"
127.0.0.1:6379> del wanko
(integer) 1

#入ってるもん確認?
redis-cli KEYS '*'

JQuery javascriptの基本

どうしても忘れてしまうのでメモ

$(セレクタ).イベント(function(e){
  $(this)

eはjQuery.eventが返ってくる e.target.valueはクリックしたもののvalue $(this)でイベントの発生元($(#hoge)こんなんと一緒)

e.preventDefault()その要素のイベントをキャンセルし、stopPropagation()は、親要素への伝播をキャンセルする。

FormData クラスは、HTML5 世代の機能 要素内に存在する、すべてのコントロール要素の name と value 属性値を抽出し、1つの FormData オブジェクトにまとめる事ができる var formData = new FormData(); formData.append(“parent_id”, data);

JavaScriptのセミコロンを省くと起こること

qiita.com

pushStateとは HTML5から追加されたHistory APIのメソッドで、ページ遷移なしでスタックのみを積む(ブラウザの履歴を追加する)ことが出来

vimfilter使い方備忘

記憶からよく消えるので

  • 起動
:e .

キーバインド

Tab バッファ切り替え

  • 全ファイルの選択をトグル

r カーソル下/選択 ファイルの名前を変更

m –/選択 ファイルを移動

c –/選択 ファイルをコピー

p – ファイルをペースト

d –/選択 ファイルを削除(ゴミ箱への移動)

D –/選択 ファイルを削除(rm 相当)

u –/選択 ファイルをゴミ箱から復元(d によって削除したもののみ有効)

K – 新規ディレクトリを作成

N – 新規ファイルを作成

h 上位のディレクトリに移動

\ ルートディレクトリに移動

~ ホームディレクトリに移動する

ActiveRecord忘れるので覚書

  • saveメソッドは、保存できない場合falseを返します。
  • save!メソッドは、保存できない場合例外ActiveRecord::RecordInvalidが発生します。

  • カラム名_changed?でそのカラムが変更されたか分かります。

  • model.changes {“report”=>[“こんばんわ報告”, “こんばんわ報告更新するよ\r\nどうすんの”]} 変更前と変更後の値が出る

  • save(:validation => false)はバリデーションをスキップ

  • .build や build_xxx buildを使うと親モデルに対する外部参照キーを自動でセットできるらしい

オブジェクト指向について

オブジェクト指向で書く理由、それは変更に対して柔軟に対応するため

  • ポリモーフィズムとは

    • ざっくりいえば引数を受け取ったインスタンスがクラスによって違う振る舞いをする
    • 共通のメソッドを呼び出すが、オブジェクトによってその機能を変化させる
    • 同じメソッドなのに、返ってくる答えの種類がちがう
  • カプセル化とは

    • カプセル化とは複雑な部分を隠し、無駄な操作をしなくても良い状態にそのものを洗練させ、分かりやすい状態にするということ
    • そのものにまだ名前が付いていない時は、それに正しい名前をつけるということが、カプセル化の最後の仕上げ
    • 他のクラスの干渉をうけなくなり、その影響で変数を他のクラスから変更できなくなる
  • 継承とは