読者です 読者をやめる 読者になる 読者になる

みんなのちからになりたい

コピペでブログラムつくっていきたい

WindowsでAnsibleする

Ansibleをやっていきたい ここをみながら進めていく http://yteraoka.github.io/ansible-tutorial/ Vagrant を使ってサーバーを準備する 言葉があってるかわからないけど、なにやらサーバ側からクライアント側へpushして構成を作成するものらしいので、サー…

ruby1.9.3-p448 っていうか rubygems 2.0.5 で padrino がインストール出来ない

padrino 勉強しようと思って入れようとしたら atomic-1.1.10 が make できなくてダメだとか怒られるので途方に暮れてたら rubygems のバグだったっぽい。https://github.com/oneclick/rubyinstaller/issues/184 https://github.com/rubygems/rubygems/issues…

windowsのruby2.0で開発するのつらい

nokogiri とか入れようとがんばってみたけど、気力の限界を感じてあきらめた。 悲しみに暮れながら ruby1.9.3 入れたらすべてが何事も無く動いて、先人のやさしさに包まれてるのを感じた。結論:windowsにruby2.0入れるのはまだ早い

windowsにruby2.0入れてdevkitをインストールした際、漢字使ってるフォルダにインストールしてしまってあとから違うフォルダに変えてまた ruby dk.rb install してもdevkitのpathが変わらないので make ができない件

おひさしぶりですが、この数カ月でやんごとなき理由があって東京に来ることになり、新生活にもなかなか慣れないこのごろいかがお過ごしでしょうか。この間、rubyもビタイチさわってなくて、新しい部署でも配属されてもそうそうすることはないのでrubyをまた…

MD5とかSHA-2とか

自分はあまりする機会ないけどクソでかい文字列とかバイナリとかの同一値を比較するときハッシュ値で比較すること多いけど、MD5とか16バイトだから同じハッシュ値のものが出来る可能性ってどのくらいなのかなと思って調べた。 ハッシュの衝突耐性っていうの…

MatrixTimeline改造した

このまえ作ったこれ、週末に常用できるように大幅に改造した。sinatraの練習としてMatrixTimelineっていうの作った - みんなのちからになりたい見た目こんな感じにした。アイコンだけ並んでてもいいんだけど、TL読むときアイコンぽちぽち押すのもだるいなあ…

sinatraの練習としてMatrixTimelineっていうの作った

仕事の合間にtwitterのタイムライン追うのまず無理というかめんどいので、流れだけでもみえるようにしたくて仕事に合間に作ってみた。こんな風にリアルタイムにフォロー中のひとのアイコンが出てきてどんどんマトリックスを埋めてくる。 retweetはRとか鍵付…

rubygemの作り方

Basic RubyGem Development - Tech.Pro勉強になる。

rubyでロト7

ロト7が始まったそうなので、なにも考えずランダムに7個の数字を求めるのをやってみた。みずほ銀行 宝くじコーナー:ロト7 「ロト7(ロトセブン)」は、1~37の37個の数字の中から、異なる7個の数字を選んで購入する、「数字選択式宝くじ」です。2013年4月よ…

rubyやばい

このブログすごい勉強になるのでいつもみてるんだけど、昨日のこのブログのはてぶ一覧の記事をざっくり読んでた。ギットハブにはてブとはてスタを殺されたので、このブログの人気記事一覧を作りました。で、そのなかでこの記事があって、そこのsingletonのと…

rubyで連番の配列作ろうとして気づいたアホな思いこみ

連番が入った配列を作ろうと思って普通に [1..10] とかやったけどぜんぜんできなくてなにが起きたのかと思ったら、単純にこれで作れると勝手に思いこんでただけでそんなんでできないって話だった。 [1..10]でできるのは1..10というRangeが入った要素が1つあ…

sinatraとheroku

先週から空き時間にちょこちょこやってみて、なんとなく使いかた理解できた気がする。heroku使ってみて感じたこと なんにも考えずカジュアルにupして消すみたいなことできてすごく便利 logどうやってみるかわからなかった heroku logsでみれた しばらくアク…

突然アパッチのおたけびしたくなったときのwebアプリ作った

アパッチのおたけびsinatraとtwitter apiとherokuの勉強のために作った。 突然アパッチのおたけびしたくなったとき便利です。

続herokuの鯖の時差を合わせる

昨日の続き。herokuの鯖の時差を合わせる - みんなのちからになりたいもうちょっといいのがあった。[Heroku]タイムゾーンを設定する - func09 % heroku config:add TZ=Asia/Tokyo Adding config vars: TZ => Asia/Tokyo Restarting app...done.これでいける…

herokuの鯖の時差を合わせる

時差の合わせ方わからなかったので調べた。Ruby – DateTimeオブジェクトの時差を変更する « blog.udzura.jpこれでいけた。 p DateTime.now.new_offset(Rational(9, 24)).strftime("%Y-%m-%d %H:%M:%S") 勉強になる。

いつやったらいいかわからないときのためのwebアプリ作った

いつやるか?sinatraとherokuの勉強のために作った。 いつやったらいいかわかるので便利です。

to_proc

Rubyではじめてのコードゴルフ このブログすごい勉強になっていつもみてるんだけど、&:size って書き方がどうしてもわからなくて調べたらこれだった。「関数型Ruby」という病(1) - Symbol#to_proc, Object#method - ( ꒪⌓꒪) ゆるよろ日記 instance method S…

sinatraの変数のスコープ

sinatraでインスタンス変数いくら作ってもgetやpostに入るたびになぜかnilにされてどうなってんのかまったく理解できなかったけど、doc読んでやっと意味分かった。 Sinatra: README (Japanese) Sinatra のスコープについて - 君の瞳はまるでルビー - Ruby 関…

sinatra reloader

sinatra reloader、requireしたら動くものだと勝手に思っててまったく動かなくてはまってたけど、思った通り使い方わかってなかっただけだった。ざくにく定食: Sinatraの自動リロード require "sinatra/base" require "sinatra/reloader" if Sinatra::Base.d…

sinatraでのcssとかjsを入れる場所

雨降ってるのでsinatraでwebアプリでも作ろうと思っていろいろやってたら、viewsに入れてるテンプレのcssとかのpathがviewsじゃないっぽくてはまった。Sinatra: README (Japanese)docみると要はpublicに入れろってことなんだろうけど、デザインとかするとき…

windowsで最新版のforeman使うとエラー出る

早速foreman入れて動かしてみたらすぐさまエラー出た。 エラーは出てもとりあえずは動いてる。 $ foreman start Bad file descriptor C:/Ruby193/lib/ruby/gems/1.9.1/gems/foreman-0.62.0/lib/foreman/engine.rb:377:in`read_nonblock' C:/Ruby193/lib/ruby…

ENVに適当に値をセットしていいもんかどうか

sinatraでtwitterを使ったwebアプリを作ってみようと思ってて、そのときCONSUMERKEYをファイルから読んでセットしようと考えてたんだけど、configureで読んでもいいんだけど読み込み失敗したときhaltも利かないんでエラーにするのめんどそうだしどうにかでき…

rubyでEmbedded Tweetsをいろいろやる

twitterの規約変わってtweetを表示するときはこうしろとかめんどくさくなったんだけど、その他を押すとembed用のコードが出てきてそれを貼るだけでかっこいい表示になる。これをコピって htmlに貼るとこうなる。 これを動的にやりたいときってまさかあのテン…

rubyでtwitterにいろいろする

twitterにいろいろしたい。 ぐぐるとスタンダードなのはTwitter gemっぽいのでそれを使用。 いろいろみてるとconfigureはこうしたほうがいいというのがあったのでそれに従ってやってみる。Twitter Ruby Gem の非スレッドセーフ API は使うべきではない #Ruby…

sinatraでtwitterにsign inする

twitterを使ってなんかするweb siteを作るため、まずはsign inする仕組みを作ってみる。 2年くらいまえにざっくりしたものを作ったことがあるのでなんとなくは理解してるけど再勉強する。要は OAuth使ってtwitterと認証 認証成功するとaccess_tokenもらえる …

sinatraをざっくり読む

Sinatra: README (Japanese)初っ端に # myapp.rb require 'sinatra' get '/' do 'Hello world!' end って書いてあって、なんでこんなので動くのかなあと思ったら、DelegatorでSinatra::Applicationにdefine_methodしてるからか。main.rb sinatra/lib/sinatra…

sinatraを使う

そろそろwebアプリケーションを作ってみたいのでやってみる。 rubyでやるとなるとrailsがいちばん有名みたいなんだけど、数年前rubyに最初にトライしたとき参考書にrailsを使うとdbを使ったサイトが簡単に出来ますって良く書いてあって、db使わないサイト作…

config.ruの中でrequire_relativeするとエラーになる

sinatraをやってみようと思っていろんなサイトを参考に動かそうと思ったらいきなりこれではまった。 require_relative "app" MyApp.run! :host => 'localhost', :port => 9090 こんな感じでやるとエラーが出る。 C:/workspace/ruby/sinatra/config.ru:3:in `…

rubyでいい感じにtumblrする

tumblr大好きなんだけど、平日は仕事やなんやかんやでみるひまほとんどないので、いい感じにreblogされてるquoteとphotoを取ってきてそれをhtmlにしてみるやつ作った。ここを参考にやったんだけど、すごいわかりやすくて勉強になった。 RubyからTumblrへの投…

ideone.com

便利だけどクソ重い。

blockとかProcとかがいまいちよくわからない

blockとかProcとか概念が独特すぎていまいちよくわからなかったけど、これみてたらなんとなく理解できた。http://d.hatena.ne.jp/shunsuk/20090101/1230816826:title:bookmakすごい勉強になるけどいまいちProc作る理由がよくわからない...

websocket-client-simple

http://shokai.org/blog/archives/7223あとでやってみる。 まえにMacにEventmachine入れたらわけわからないエラー出まくって怒られたのですごい助かる。

Sinatra RocketIO

橋本商会 » Sinatra RocketIOというプラグイン作った、これでWebSocketとCometが使えるまんまnodejsっぽい感じで使えるっぽい。 2年前くらいにMBPにEventMachine入れようとしたけどわけわかんないエラー出まくってインストール出来なかった思い出が蘇る。

組み込みクラスのinitializeをoverrideする

昨日のやつの続きで組み込みクラスでも同じことやってみる。標準で用意されてるクラスのinitializeをoverrideする - みんなのちからになりたい今回はTimeで。 class Time def initialize(*args) p "kita!" end def aaa "aaa" end end p tt = Time.new(2013, …

標準で用意されてるクラスのinitializeをoverrideする

きのうのやつまだ解決してないんだけども、ああいうことができるならinitializeとかもoverrideできるのかもと思ってやってみる。 そもそも標準で用意されてるクラスにinitializeがあるのか調べてみる。てっとり早くDateでやってみる。 ちなみにDate.methods…

rubyの演算子を再定義するとFloatがなんか変

rubyは演算子もメソッドだということなので、試しに再定義してみた。 class Float ['+', '-', '*', '/'].each do |num| define_method(num) do |other| "UMAIBOU" end end end p 1.0 + 1.0 p 1.0 - 1.0 p 1.0 * 1.0 p 1.0 / 1.0 $ ruby test.rb "UMAIBOU" 0.…

moduleのメソッドでclassのメソッドをoverrideする

moduleのメソッドでclassのメソッドをoverrideしようとしてもならなかった。 module HogeHoge def hoge "hogehoge" end end class Hoge include HogeHoge def hoge "hoge" end end p Hoge.new.hoge $ ruby test.rb "hoge" ならない。 ぐぐってみるとできない…

scrapingの練習として

じゃがりこのラインナップ取ってくるやつ作った。 勉強になる。

active_supportで日付いじるの便利

DateTimeに5分足したいとかするとき、どうしたらいいかわからなくて悩んだ。 require "date" dt = DateTime.now p "now -> #{dt}" dt += 5 p "now + 5 -> #{dt}" $ ruby datetime.rb "now -> 2013-03-08T12:07:05+09:00" "now + 5 -> 2013-03-13T12:07:05+09…

RSpecのbeforeのやつ

RSpecではまってる件 - みんなのちからになりたいこのまえはまってたやつ、やっぱそういうことみたいだった。RSpec の it { … } と速度の話 #Ruby #Rspec #Rails - Qiita it や its 毎に before(:each) と after(:each) が走るため。 なるほど勉強になる。こ…

hashの初期値

Hashのこんな使い方 #Ruby - Qiitahashに初期値入れられるのは知ってたけどこんな便利なことできるって知らなかった。 すごい便利。試してみる。 val = Hash.new do |hash, key| p "haitta!!" end p val_a: val["a"] = "a1" p val_b: val["b"] p val_a: val[…

rubyで標準エラーに出力するのはいいけどどうやって読むのか

たぶんそうとうアホなこと書いてると思うんだけど、例えばファイルを読むとき例外が出たらSTDERR.putsとかでエラーを書いたりするみたいなんだけど、普通はコンソールに出力されるだけでそれを呼んだメソッドとかはどうやって読むつもりでいるのかという疑問…

RSpecではまってる件

見よう見まねでRSpec書いてテストしてるんだけど、そもそもRSpecの仕様よくみてないっていうのもあるんだけどtopでbeforeでクラスのインスタンス作ったやつを使ってネストさせたdescribeで判定させるとき、desribeの度にインスタンスが新しく作られててはま…

クラスメンバのhashとか配列とかにアクセスするとき

githubの誰かのリポジトリをみてたら、外からhashとかにアクセスさせるとき def [](key) @hash[key] end みたいなことしてて、すごいかっこいい。 演算子もメソッドだからこういうことやれるらしい。クラス/メソッドの定義 - Rubyリファレンスマニュアルこ…

cacheみたいなことしたい

スクレイピングとかするとき、毎回アクセスしにいくと遅いしそのまえに相手の鯖に悪そうなのでキャッシュしといて2回めからはそこから取ってくるみたいなことしたい。 serializeしてファイルに書けばいけそうなので調べたらMarshalでやれそう。module Marsha…

URI.joinするときケツのスラッシュを付けたり付けなかったりしたときで値が違う

"http://aaa.com/bbb"と"ccc/ddd"をjoinさせて"http://aaa.com/bbb/ccc/ddd"を作ろうと思ったらケツにスラッシュ付けないと"http://aaa.com/ccc/ddd"になったのでなんでかなと。 [2] pry(main)> require "uri" => true [3] pry(main)> URI.join("http://www.…

rubyのclassを継承してる時の定数ではまる

自分でもなんの根拠があったわけでもなく、いままでやってきた経験から継承先で定義したものはインスタンス作ったあとは継承先のものが使われるって思ってて、それをrubyでやってみたら違ったのではまった。例えばこういう感じ。 class AAA WORK = "work" de…

シンボル

あるクラスの中にハッシュがあって、そのキーをシンボルにしてたんだけど、そのシンボルをクラス外から使えるのかなと思って使ってみたら普通に使えた。 わかってるひとからすれば当然のことなんだろうけど、型定義のある言語しかやってこなかったひとからす…

open-uriで`open_loop': HTTP redirection loop:が出る

スクレイピングしようとしたページがなんかリダイレクトされててopen-uriすると `open_loop': HTTP redirection loop: が出てどうしたらいいかわからなかったのでぐぐった。nokogiri抓取页面报错HTTP redirection loop: - ITeye问答中国語まったくわからない…

Nokogiriを使う

XPathがいまいち馴染めなくて使いかたがよくわからなかったNokogiriをまた使ってみる。 よく読んだらcssセレクタも使えるみたいなので、XPathよりはまだそっちのほうが馴染みがあるので今度からその方向で。 Nokogiri使い方とか スクレイピングのためのNokog…