2014-02-01から1ヶ月間の記事一覧
クラスをネストすることの意味 クラス定義のネストはいつ使うべきなのか。 リファレンスマニュアルを読むと以下のように書かれていました。 クラスのネストは、意味的に関連するクラスを外側のクラス/モジュールでひ とまとまりにしたり、包含関係を表すた…
苦手なのでRubyの例外処理まとめます raiseでエラーを表示させます raise 'error' #=>RuntimeError: error beginで例外を捕捉します。beginは例外が発生しそうな箇所に使用します begin 1/0 rescue = e puts e.message #=>divided by 0 puts e.class #=>Zero…
とりあえず RSSリーダー作成した。 テストもFATなコントローラも目をつぶった習作です。暇な時間使って1週間くらい?大体こんな感じ。 実装済み URLの登録機能 登録サイトの一覧 登録サイトの削除 登録サイトの最新記事一覧ページ 未実装 自動更新 未読既読…
RSSのパース時に発生しました 結論からいうと、RSS::NotWellFormedErrorはURLをパースする際に適切なURIでないと発生するエラーです。 例えば、以下のように単なるURLをパースしようとするとエラーが出ます。 url = "http://somethingpg.hatenablog.com/" rs…
小さな成果を意識して 昨日はこんな口幅ったいことを言っていたので、いままでローカルでやってたことをGithubでちゃんとIssue使ってコード書き出しました。 ブログを続けるにあたり考えたこと:小さくても成果を意識すべきではないか github/rssreader 習作…
数日ぶりです。こんばんは。 数日ぶりの更新となります。 更新に間が空いたのは単に休暇だったからですが、その間少し思うところもあったのでブログに残しておきます。 小さくても成果を意識すべきでは ブログを続けて2ヶ月になりますが、勉強中のプログラミ…
Macのタッチパッドと一部キーが異常な動作 タッチパッドはマルチタッチの操作をほぼ受け付けず(2本指スクロールが超低速)、command + tabでアプリケーションの切り替えをすると、tabを押していないのにカーソルがガァーーーっと右端まで選択されてしまう。…
Rubyでの変数とスコープをざっとまとめました。 # トップレベルの変数をメソッド foo = 'foo in toplevel' def display_foo puts foo #=> NameError トップレベルのローカル変数は参照できない end puts foo #=> foo in toplevelと表示される # display_foo …
最初が大文字のメソッドを作る場合は注意が必要 def Hello puts “hogs” end Hello #=> エラーが帰ってきます レシーバを記述するか、引数なしの場合は括弧をつけないとメソッドが呼び出せません。 Hello() #=>hoge あまり最初の文字を大文字で指定するメリッ…
自動でクローズされるってよく言われるけど、結局はFileオブジェクトの使い方に依る。 ブロックで開けば自動でクローズされる。 File.open ‘README.md’ do |file| puts file.read end ブロックで開いてない場合、ファイルは自分で閉じる必要があります。 fil…
たまには時事ネタに乗ってみます 「JALマイレージバンク」に不正ログイン、マイル盗む 数字のみパスワードの強化策は「検討していない」 パスワードは数字六桁強制で、現在は「対策する」と明言していますが、一時は、他の文字列使用を使用しての安全性向上…
猫も杓子もRSSリーダー RSSリーダーって「まずはこれ!」みたいな感じなので実際に作ってみます。 まずはRSSの要素を読み込んでみましょう。 RSSライブラリで読み込むよ require 'rss' rss = RSS::Parser.parse('http://somethingpg.hatenablog.com/rss') 超…
sinatraでコード書くために基本的な処理書いた Railsチュートリアルをボツボツ読んでましたが、Ruby自体への理解のなさに嫌気がさし舵を切り直して言語限定の学習に移行、パーフェクトRubyなんかを読み進めてますが肝心のアプリが手付かずなのでいろいろ考え…
END以下の行は定数DATAへ DATA.each_line do |line| puts line end __END__ いろはにほへと ちりぬるを #=>いろはにほへと #=>ちりぬるを END以下のデータはDATAという定数にFileオブジェクトとして保存されます。 ENDを宣言しない限り、定数DATAは生成され…