書籍「ラピッドデベロップメント―効率的な開発を目指して」

古い本を買ってしまったシリーズ、今回は、「ラピッドデベロップメント―効率的な開発を目指して」 (MicrosoftPRESS)です。かつて持っていたが手放してしまっていた。古本で見つけてうっかり購入。

ラピッドデベロップメント―効率的な開発を目指して (MicrosoftPRESS)

ラピッドデベロップメント―効率的な開発を目指して (MicrosoftPRESS)

初版1998年、XP/アジャイル以前であり「古い感」はいなめない。が、ソフトウエア開発プロジェクトのありかたにつて、今ナナメ読みしてみても、身につまされる(耳が痛い)ところも多い。 この本では、ソフトウエア開発作業のライフサイクルとして、よくいう"ウォータフォール"とそれ以外を10のパターンに分類している。

  • 純粋なウォータフォール
  • コーディングと修正
  • スパイラル
  • 改良ウォータフォール
  • 発展的プロトタイピング
  • 段階的配布
  • 発展的配布
  • スケジュールに合わせた設計
  • ツールに合わせた設計
  • 市販のソフトウエア

(上のリストは、開発ライフサイクルとしては粒度が合わなく見えるが、名前のつけかたによるもので、本書には上のが一覧表で比較されている)

あとこの本はコーディングについては触れてない。そのへんは「コードコンプリート」を読んでくれと。

RubyでHTMLスクレイピング Oga

GitHub - YorickPeterse/oga: Moved to https://gitlab.com/yorickpeterse/oga

以前はTutorials - Nokogiri 鋸を使っていましたが、依存関係をなくそう : Rubyアプリ・Gemの開発者への提言 | プログラミング | POSTDこちらを読んだら、最近はOgaがよさそう。

サクッとインストール

$ gem install oga

スクレイピングとは違いますが、RSSをプルパーサーでみるのはこんな感じで

require 'Oga'
require 'open-uri'
rss = open("http://www.amazon.co.jp/rss/bestsellers/books")
parser = Oga::XML::PullParser.new(rss)
parser.parse do |node|
   parser.on(:text) do  
     puts node.text unless node.text.strip.empty?    
   end    
end  

結果

Amazon.co.jp: 本のベストセラー
http://www.amazon.co.jp/gp/bestsellers/books/ref=pd_zg_rss_ts_b_books_c
Fri, 4 Mar 2016 12:47:14 GMT
Fri, 4 Mar 2016 12:47:14 GMT
60
Amazon Community RSS 2.0
ja-jp
Copyright 2016, Amazon.com
...

こちらに参考にさせていただきました。
Ogaってゆー新しいXML/HTMLパーサーについて - Qiita

今日知ったこと Mac OSXでCPUコア構成を表示する hwloc-ls

ターミナルからコマンドでasciiアート図表示してくれて便利。 Homebrew等でインストールしておく必要がありますが、

brew tap homebrew/science
brew install hwloc

で準備OKです。コマンド"hwloc-ls"

hwloc-ls --output-format ascii

すると、 f:id:osamuk:20160211112831p:plain:w300 こんなかんじでasciiアート図が出ます。

Rubyで[].all?がtrueになるのはなぜ?

[2] pry(main)> [].all?
=> true

こちらに

The method returns true if the block never returns false or nil. ruby's "any?" and "all?" methods behaviour on Empty Arrays and Hashes - Stack Overflow

ブロックがfalseかnilを返さない場合、all?はtrueを返す。 偽である要素があればfalseを返し、なければtrueを返す。 [].all?の場合は、偽である要素が無いので、trueとな。

MacBook Pro Late 2013 SDカードスロットが不調だったけど復活したのでうれしい、けどちょっと驚いた件

愛機MacBook Pro (Retina, 15-inch, Late 2013)。 SDカードスロットはこれまでほとんど使っていなかったのだが、最近使ってみたら、SDカードを認識したりしなかったり。複数のメディアで試したけどどれも接続が安定せず...。接触悪いのかと思って「SDスロットクリーナー」なるものを買って、MacBook ProのSDカードスロットに抜き差ししてみること10回ほど。結果の写真がこれ。
f:id:osamuk:20151123183651j:plain:w150 左が使用後、右が使用前。「SDスロットクリーナー」のピンクのところが微粒子研磨剤とのことなのですが、左側の黒い複数の縦筋、べつに鉛筆で描いたのではありません。スロットに抜き差ししただけで、この黒筋です! まったく「え!私のSDカードスロットの接点こんなに汚れてたの?」ですわ。めでたくSDカードを安定して認識してくれるようになりました。 今後はSDカードスロットには常時SDカードアダプタを挿したままにしとこぅっと。

今さらやったこと AWS S3 で静的HTMLページのホスティング

Edit 2018-08-24: その後、AWS S3の静的HTMLページホスティングから、Netlifyに移行しました。それについてはこちら

個人的なサイトで、静的なHTMLだけ使っているのがあって、それいままでHerokuでnode.js使ってた。
(これ個人的に大昔にちぃっちゃなRailsアプリとして作って、その後Node.jsに変えてもっと少ないコードで出来ちゃって、さらにその後ブラウザのJavaScriptだけでjQuery使ったら数十行のコードでできちゃってWebサーバ側の機能いらなくなって...と紆余曲折で今に至るのだ)

Herokuではおおむね、こちらnull.ly - a really cool domain parked on Park.ioやこちらHerokuに手っ取り早く静的サイトをデプロイする(node版) - Qiitaのようなことやって静的なHTMLファイルをホストしてました。
Heroku小さいアプリなら無料で使い続けられるのでいいんですよね。ちなみにHerokuこのまえ料金体系が変わった New Dyno Types and Pricing Public Beta | Herokuのですが、自分が使うのは、私だけが時々アクセスするだけのWebアプリので無問題でした。

なんとなくAWS S3を使って静的HTMLをホストしてみようかと。これまでAWSは使ってなかった。わずかとはいえ料金が発生するのをけちっていたのだ! でもAWSをちょっとぐらいさわってみたかったので、いざ。

Amazon S3による静的Webサイトホスティング
Amazon S3 を使用して静的ウェブサイトをホスティングする - Amazon Simple Storage Service

上参考にしたら、結構サクッとできました。AWS手始めにはちょうどいい。