覚え書き

RedisでSortを触ってみる

ListとSetとSortedSetに使える # 昇順 sort list # 降順 sort list desc # 途中で切る sort list desc limit 0 3 # 文字列の場合 sort list alpha

Redisでハッシュを触ってみる

key:valueのvalueにさらにハッシュを持つ # 追加 hset ハッシュ名 キー 値 hmset ハッシュ名 キー 値 キー 値 # 取得 hget ハッシュ名 キー 値 hmget ハッシュ名 キー 値 ハッシュ名 キー 値 # キーの長さ hlen ハッシュ名 # キーの種類 hkeys ハッシュ名 # …

Redisでset型を触ってみる

順番が保証されないlist型って事かな? # 追加 sadd set名 値 # 削除 srem set名 値 # 一覧 smembers set名 # 和集合 sunion set名 set名 # 積集合 sinter set名 set名 # 差集合 sinter set名 set名 # 集合から新しいsetを作る sunionstore myunion myset1 m…

Redisでlist型を触ってみる

# 配列に追加して行く # rなのは右から(末尾から)な操作 rpush mycolor pink rpush mycolor blue rpush mycolor green rpush mycolor red # 以下はleftのlじゃなくてlistのl # 要素を全て取り出す lrange mycolor 0 3 # これでも同じ lrange mycolor 0 -1 …

macにbrewでRedisを入れたらファイル書き込みエラーが出た

サーバー起動した後にクライアントから bgsave で動かしたら Background saving error って出たから 設定ファイル覗いてみたら vim /usr/local/etc/redis.conf dir /usr/local/var/db/redis/ こんな風に指定されてたので。 該当箇所を書き込み可能にしたらOK…

Hadoop HDFSコマンドメモ

hadoopコマンド使ってファイルをとりあえず触ってみるコマンド ファイルリスト表示 hadoop dfs -ls ファイルコピー hadoop dfs -get [元][先] hadoop dfs -cp [元][先] ファイル移動 hadoop dfs -mv [ファイル] その他同様にrm, mkdir, rmr(ディレクトリ削除…

Vagrantで"The guest additions on this VM do not match the install version of VirtualBox!"と出たら

こんな感じのメッセージが出た場合 [default] The guest additions on this VM do not match the install version of VirtualBox! This may cause things such as forwarded ports, shared folders, and more to not work properly. If any of those things …

vagrantのイメージ(OS)の管理

vagrant box add box名 vagrant用OSイメージのURL で追加出来る。 box名はgitのリモート名みたいなもんで、 複数持つ事が出来る。 vagrant的にはboxという単位でOSを管理してる。 恐らくVagrantファイルでこの名前を使って起動するOSを決めてるっぽい。 (本…

vagrantでサーバーの起動,停止, 破棄

vagrantの設定ファイルを置いてあるディレクトリで 自分の場合 ~/vagrant/Vagrantfile のディレクトリで 起動 vagrant up 停止 vagrant halt 破棄 vagrant destroy もうちょっと使ってみたら設定からまとめてみる。

Rubyのハッシュからキーと値を取り出すパターン

ハッシュ 配列として イテレータとして キーを取り出す keys each_key | キー| 値を取り出す values each_value| 値| [キー, 値]のペアを取り出す to_a each{| キー, 値|} each{| 配列|} 実際のコードでは eachでループする事が多そう。

Ruby1.9で文字コードを指定する(日本語扱う)

# -*- coding: utf-8 -*- 後はコードを書くだけ。

Rubyで数え上げる

ループのさせかた色々あるみたいで。 # iをインクリメントしながら10を超えるまで繰り返す ary = [] 10.times do |i| ary << i end p ary # iをレシーバーの値からインクリメントしながら10になるまで繰り返す # iがuptoの引数を超えるまで繰り返す ary = []…

RubyのArrayクラスのpushと同じメソット

ary = [] ary << "hoge" こう書ける。 書き方が多いのは慣れれば良いんでしょうが。。。

Rubyのcatchとthrow

def est_throw # catchで指定したものと同じシンボルが指定されてるから呼び出し元のブロック終了 throw :test end puts "test start # ブロックの同じシンボルを引数にしてthrowを呼ぶとブロックを終了 catch(:test) do puts "before test_throw()" # メソ…

Rubyのクラス継承の書き方

MyError = Class.new(StandardError) こんな風に書いておくと class MyError < StandardError end と同じ意味になる。 何も変えない時に使えるみたいだけど。 何も変えないのにどう使うんだろ。。。 読み方として書いておく。

Rubyの標準出力(print,puts)とカンマ,の関係

ただの文法の話 print "Hello", "Ruby\n" こんな風に書いて ruby hello.rb とすれば HelloRuby と出力される。 putsでやれば多少便利かも。 puts "Hello", "Ruby\n" Hello Ruby こうなる。 便利なんだかどうなんだかよく解らない。

sqaleでfuelphpの.htaccessを開発環境と本番とで分ける

http://go-surftrip.hatenablog.jp/entry/2013/05/08/235026 これの続き↑ これでデプロイ完了した時にシンボリックリンクを貼ってくれる はずなのにshellが動かない。。。何故だ。。。追加で問い合わせ中。 相変わらず早い。 翌日に帰ってきた。 完全に勘違…

Rubyのモジュールについて

クラスとの棲み分けがまだわかってないが。 module HelloModule Version = "1.0" # 定数定義 def hello(name) # メソット定義 print "Hello,",name, "\n" end module_function :hello # helloをモジュール関数として公開する end p HelloModule::Version Hel…

rubyのインスタンスメソットをまとめてアクセス制限する

1つ1つであれば class Hoge def pub puts "this is public" end public :pub # pubメソットをpublicに設定 def priv puts "this is private" end private :priv # privメソットをprivateにする end まとめて指定したい場合 class Hoge public # 引数を指定…

fuelphpの環境毎設定

fuelphpの環境毎に設定変えるには(dbの接続情報) 開発環境 fuel/app/config/development/db.php 本番環境 fuel/app/config/production/db.php にそれぞれ設定しておいて(名前のつきかたはイディオム) それぞれのサーバー内にあるこのファイルを設定する。…

rubyのクラスメソット

クラスに関連する操作をするためにクラスメソットを定義する。 んで。このクラスメソットの定義方法は def クラス名.メソット end になる class HelloWorld def HelloWorld.hello() print 'hello' end end こんな感じ。 クラス定義の中のselfはその暮らすオ…

Titaniumの日本語サポートページと入力補完コマンド

上記は殆ど関連性が無いから覚え書きレベル Titaniumの日本語ドキュメント(非公式) http://code.google.com/p/titanium-mobile-doc-ja/ コード記入中に入力補完したくなったら ^ Space で補完してくれる。 最近やっとtitaniumを触り始めた。 率直な感想と…

vimでヤンクした文字をコマンドモードに貼付ける

全然珍しく無いんだけどproject.vimと組み合わせると凄く便利だった。 ヤンクした文字でgrepしたい時とかに使ってる。 ヤンクした後に " ctrl + rして"を入力 <C-R>" project.vimのトグル内で ¥g(¥G)でgrepしてくれるので 探したいメソットとかをヤンクしてトグル</c-r>…

screenでペアプロっぽい環境を作ってみる

まあ今更な内容だけど覚え書きとしても。 screenがインストール済みという前提で。 $HOME/.screenrcに下記を追記 multiuser on acladd rio rioは自分にアタッチしてくるユーザー名 で自分(hoge)が screen 立ち上げて screen -r ユーザー名/ソケット名 でア…

ttyrecを使ってみる

ターミナル上で作業した物を記録してターミナル上から再生出来る。 2002年とか超前の事なんだけど超楽しい。 http://0xcc.net/unimag/4/ macなら brew install ttyrec でいける。 録画 ttyrec foo.tty 再生 ttyplay foo.tty 使い道考えてみる。