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

git logのエイリアスを設定

Git

アリスとボブのGit入門レッスン作者: 川野辺正博出版社/メーカー: 秀和システム発売日: 2012/09/18メディア: 単行本購入: 1人 クリック: 32回この商品を含むブログ (13件) を見るこの本のp.124を参考にしてみた。 $ git log --oneline --graph --decorate --…

Array#any?とArray#all?の論理演算的関係

先に結論 文字列strと配列arrayがあるとします。 array.any? { |kw| str[kw] } (または array.any? { |kw| str.slice(kw) })はarrayに含まれる要素のどれかがstrに含まれている場合にtrueを返します。逆に言えば、全く含まれていない場合にのみfalseを返し…

PS1プロンプトに日付を付ける

.bashrcに export PS1='\[\e[0;31m\]\u@\h \e[36m\]\D{%Y/%m/%d} \t \[\e[33m\]\n\w/\[\e[0m\]:\n!\! \$ ' とすると riocampos@retina 2013/11/22 09:31:59 ~/: !4807 $ というようになります。日付表示設定は \D{%Y/%m/%d} です。 日付に関していちばん簡単…

MavericksからLion Serverへのssh接続設定

Mac

以前にやったとおり。 Lion Serverとのssh接続設定 - 別館 子子子子子子(ねこのここねこ)

MavericksでRuby1.9.3環境設定

注意 当然ですが内容は古いです。1.9.3も現在('14/2/24)は1.9.3-p545まで更新されています(そして'15/2/24を以て1.9.3は保守終了)。ですので参考にしてくださるのは結構ですが、鵜呑みにしないでくださいね。 補足 2.x.xの場合には、この手順の最終段階…

qtbindingsを使いたいのでQt 4.8.5をインストール

Qtをインストールします。qtbindingsはまだQt5に対応していないようなので、Qt 4.8.5をダウンロードしてインストールします。 そうすると途中でMinGWインストール画面になります。GCC云々とあるので、MinGW Installation ManagerでBasic Setupのmingw32-gcc-…

heroku更新のためWinXPでgit環境構築(+msysgitとMinGWの共存設定)

既にOne Click InstallerでRuby 1.9.3p448を入れていますが、そこから全く手を付けていませんでした。 しかし…Macが壊れてしまったorzので、herokuの更新が出来ない。 でもファイルはサーバにあるので設定環境さえ作れば更新できる。 ということで、仕方なく…

Macへの画面共有が出来なくなったらcom.apple.alf.plistを疑ってみる(未解決)

Mac

Lion Serverへ繋がらなくなりました。 おそらくセキュリティアップデート 2013-004 (Lion)を適用してから、です。 Lion のアプリケーションfw ですが、 /Library/Preferences/com.apple.alf.plist /Library/Preferences/com.apple.alf.plist.lockfile を削除…

URLエンコード/エスケープに使うメソッドごとの違い

2014/11/19追記 JavaScriptのencodeURIComponentにRubyのメソッドで近そうなのはWEBrick::HTTPUtils.escape_form ほぼ同じなのですが、唯一の違いが半角スペースのエンコード。 encodeURIComponent だと %20 ですが、 WEBrick::HTTPUtils.escape_form だと +…

homebrewからnanoをインストール

最近になりようやくgitを使い出しました。 参考書はこれです。 gitを使っていなかったときに本屋で立ち読みした時は、作業の手順で書いてあるのはどうかな、と思ったのですが、少しgitを使い出した後では、リファレンス的な本よりも手順に従う方が学びやすい…

Ruby 1.9(鬼車)では\bが\wと\Wの間にマッチしない(2.0以降の鬼雲も)

$ ruby -v ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-darwin10.8.0] 1.8とは違って1.9では\wに全角文字が含まれません。 pry(main)> str = "あいうabc" => "あいうabc" pry(main)> str[/\w+/] => "abc" pry(main)> str[/\W+/] => "あいう" \bは\w…

Twitter gemのrescue処理

くじら、重複ツイートのエラー処理をしていましたが、もうひとつnet/httpのエラー処理が必要と知りました。 Net::HTTPは内部でTimeoutを利用しているけども、これのエラー補足までの面倒は見てくれない。 なので必ずrescueで補足してあげる必要がある。 Time…

複数キーのソート Enumerable#sort (昇順・降順のみ、昇順・降順混在)

すみません控えのみです。 まずsortメソッド、sort_byメソッドの復習 instance method Enumerable#sort sort -> [object] sort {|a, b| ... } -> [object] 全ての要素を昇順にソートした配列を生成して返します。 ブロックなしのときは メソッドを要素に対し…

Mix-inにおけるModule#includeとObject#extend

これもメモです。 2014/7/30追記(まとめ) includeとextendの違いについて。 「オブジェクト指向スクリプト言語 Ruby」pp.195-196 から引用 モジュールを Mix-in としてクラスに「混ぜ込む」ためには include を使います。 include は Class クラスのメソッ…

RubyでRedisしてみよう(個人的まとめ)

herokuで永続化させるのにRedis To Goを使おうと思っているので、Rubyから扱えるRedis環境を作ってみます。 そして、オブジェクト指向でRedisを扱えるredis-objects gemをインストールします。 まずRedisインストール 日本語解説 redisドキュメント日本語訳 …

longurl gemインストール(+String#gsubのブロック取扱)

URL短縮サービスで短縮されたURLを伸張して返します。 twitterのt.coの展開に使えます。 t.coはわざわざlongurlで展開しなくても、Twitter APIの返答に入ってました…詳しくは→t.coの伸張後URLは含まれてた - 別館 子子子子子子(ねこのここねこ) インストー…

t.coの伸張後URLは含まれてた

注意:Twitter gemのバージョンが5未満の設定ですので、5以上だと以下の手順は無効ですゴメンナサイ Twitter APIのhome_timelineやmentions_timelineのオプションで”include_entities”を真にすると、tcoで短縮される前のURLを取得することができます。 Twitt…

twitter gemを使ったruby一行野郎を環境変数を使って改良

注意:Twitter gemのバージョンが5未満の設定ですので、5以上だと以下の手順は無効ですゴメンナサイ 前準備 前提としてTwitter Application Managementでconsumer_key, consumer_secret, oauth_token, access_token, oauth_token_secretを取得済みであるとし…

consumer key/secretのみの認証だとTwitterサーバにApplication-only authenticationでのアクセスだと勘違いされる

注意:Twitter gemのバージョンが5未満の設定ですので、5以上だと以下の手順は無効ですゴメンナサイtwitter gemを使ったruby一行野郎を環境変数を使って改良 - 別館 子子子子子子(ねこのここねこ)の続きです。 Twitterサーバへ認証できていて、検索も出来…

はてなダイアリーのカテゴリーをソートする

はてなダイアリーのカテゴリーは新しいものをなるべく増やさないようにしているのですが、ときどき増やしてしまいます。 で、追加した順にカテゴリーが並ぶので、LibreOfficeのCalcなどの表計算ソフトで時折ソートしていました。 ですが、いちいち重量級ソフ…

bitly gemインストール

bitlyでURL短縮します。 インストール GitHub - philnash/bitly: A Ruby wrapper for the bit.ly API $ gem install bitly Fetching: multi_xml-0.5.5.gem (100%) Fetching: httparty-0.11.0.gem (100%) When you HTTParty, you must party hard! Fetching: …

yacan gemインストール

yacan Yahoo!テキスト解析APIをラップするgem http://developer.yahoo.co.jp/webapi/jlp GitHub - pokutuna/yacan: TODO: one-line summary of your gem ドキュメント http://rubydoc.info/gems/yacan/frames/file/README.rdoc インストール $ gem install y…

流行りのエディタSublime Text 2の括弧を強調するBracket Highlighterのショートカットを少し変更

Sublime Text、最近使い始めました。いままではCotEditorで書いてたので、機能の違いに驚いてます。ちなみにColor SchemeはFlatland - Darkを使ってます。 括弧の相手が分かるBracket Highlighter GitHub - facelessuser/BracketHighlighter: Bracket and ta…

rtmpdumpとffmpegをつかったライブトランスコーディング

rtmpdumpからffmpegへパイプを通す rtmpdumpは出力ファイルを指定しないと標準出力にそのまま出力します。 --flv -o output Specify the output file name. If the name is − or is omitted, the stream is written to stdout. RTMPDUMP(1): そして以下の設…

定数STDOUTとグローバル変数$stdout、そしてRubyの出力のバッファリング(loggerとかで厄介)

結論を先に:STDOUTは定数だから変更しない方が良いです。 あと、Loggerクラスを使ってログを出力する場合には $stdout.sync = trueしておいたほうが良いです。 STDOUTと$stdoutの違い STDOUT(Object::STDOUT):定数。 $stdout($>):グローバル変数。初…

ハッシュ要素の配列、配列要素のハッシュ、配列要素の配列、ハッシュ要素のハッシュ

'14/5/4追記:すみません初級だと思っていた方法と検証方法が間違っていましたorz 確認し直します。 初級:ハッシュ要素の配列 Array.new(n) { {} }(n:要素数)Array.new{ {} }([{}]でもOK) 初級:配列要素のハッシュ Hash.new { |h, k| h[k] = } Hash.ne…

引数によって生成するインスタンスを変更する

配列arrayが中に入っているオブジェクトObj。Obj#[]で返される配列の要素をオブジェクトElemで包んで返す場合を考えてみる。 class Obj def initialize(array) @array = array end def [](i) Elem.new(@array[i]) end end class Elem def initialize(elm) @e…

ruby 1.9.3-p448インストール

p448が出てこない → ruby-build更新 Ruby - rbenv のアップデート! - mk-mode BLOG によるとruby-buildから古いとrbenv installの候補に新しいバージョンが出てこないとのことなのでアップデート。 $ brew upgrade ruby-build ==> Upgrading 1 outdated pac…

ハッシュキーをメソッド名(プロパティ)としてハッシュにアクセス(読出、そして代入も)するには

たしかメタプログラミングRuby作者: Paolo Perrotta,角征典出版社/メーカー: KADOKAWA/アスキー・メディアワークス発売日: 2010/08/28メディア: 大型本購入: 18人 クリック: 533回この商品を含むブログ (125件) を見るに載ってたよなー、ActiveRecordで使っ…

YARDとRSpecとをインストール

今までダラダラとRubyスクリプトを書いてきたのだけど、書いたあとにスクリプトを見直しても使い方が分からなくなったりしている。ということで、ドキュメントを書かなきゃと思いましたのです。 あと、ダラダラと書いて、でも動かないので直したら余計に動か…