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

漫画「PEACE MAKER」を読み終えた

最終17巻、読みました。おもしろかった。ぼくはバチバチに戦っていたところが好きだったので、終盤のしっとりとしたところはほんのり物足りなさを感じたりもしたけれど、物語としてはこれでよかったんじゃないかな〜。きれいに終わっていった。

最近はエコ指向なので、また1巻から読み直してリサイクルしようかな。またひとつ大好きな漫画が終わってしまって悲しいけど、生きている間に何度か読み直して何度も楽しむぞ〜。今は不思議と ARMS を読みたい気持ちになっている。

これで皆川さんの作品は「スプリガン」「ARMS」「D-LIVE!!」「ADAMAS」に続いて5作品を読み終えたことになるのかな。超古代文明ルイス・キャロル、乗り物、宝石、そして今回の「銃」とテーマはいろいろあれど、どの作品も皆川節炸裂という感じなのがいい。

最新作は「海王ダンテ」ですな。これはまだ読んでいない。どんな感じなのだろう。

漫画「鉄風」を読み終えた

クセの強い漫画だったなあ!単行本の出るペースが遅かったので、無事に完結してくれてよかったなぁとほっとしている。最終巻が出ているのに気付かず数ヶ月を過ごしてしまったけれど、先日たまたま「出てるじゃん」と気付いて1巻から読み直して一気に読んでやった。満足。

読んでいて、誰が主人公なのかあんまりはっきりとはわからない感じで、個性の強い登場人物たちのやりとりに見惚れるように読んでいった。「こんなに異質でこんなに強い女子格闘家なんていないだろ、現実離れしすぎでは?」と思っちゃう瞬間もあったけれど、この時期によく名前が聞こえてきていたレスリングの吉田沙保里選手もじゅうぶんに現実離れしているので、トッププレイヤーたちってのはそういうものなのかもしれないなあ。

どのキャラも魅力的ですが、ぼくはキャメロン・ディアスさんが大好きでした。

2ヶ月に1回くらいずつ会う人が話しやすいタイプだとうれしい

f:id:june29:20160819235944p:plain

2008年に上京してきて、もうすぐ8年半が過ぎようかというところ。

上京直後は本当にお金がなくて、とにかく「安く済ませられるところ」として選んだ当時の自宅近くの床屋さんに行って「かっこよくしてください」とおっちゃんに頼んだら、よっしゃ任せておき〜というテンションでハサミが進んでいき、最終的におっちゃんと同じ髪型になった。ドッグフーディングという意味では筋が通っているので納得はしたけれど、ぼくにはあんまり似合っていないと感じて、自己評価としてはかっこわるい髪型になった。そのお店には二度と行っていない。

その次か、もしくは次の次に行ったお店の美容師さん──ここではAさんと呼ぼう──とは相性がよくて、いい感じの髪型にしてくれるしお話も弾む感じだったので、それからたぶん2年くらいかな、Aさんに髪を切ってもらっていた。「実は、子どもができまして…」といってAさんがオメデタ退職されることになったタイミングで、ぼくは次の美容師さんを探さなければならなくなったのだ。

ぼくは、お目当ての美容師さんがいなくなる場合は、もうそこのお店には行かないことにしている。ヘアカットは、お店で選んでいるんじゃなくて美容師さんで選んでいる。同じお店の別の美容師さんに頼むのはなんだか気が引けて、たとえば育児期間を終えてもとの担当美容師さんが戻ってきたらまた担当を変えるのかい、それって気まずいんじゃないの、とか考えると面倒で、やっぱりお店を変えちゃうんだよね。

学生時代は接客業のアルバイトをしていることが多かったので、その時期は髪型の制約が強めだった。一方、学生期間の最後の1年と、それ以降のソフトウェアエンジニアとしての人生においては、髪型についてとやかく言われる場所に身を置いていないので、基本的にはどんな髪型にしてもよい立場だ。上京してきてからの散髪については、いつもだいたい美容師さんに以下のように要件を伝えている。

  • どんな髪型になったとしても、絶対に文句は言いません
  • もし、美容師さんが最近試したいと思っているカットなどあれば、ぜひ試してください
  • 素直に整った髪型よりも、部分的に遊びを加えた髪型の方が楽しくて好きです

それで「前髪パッツンストレート、それ以外はうねうねウェーブ」みたいな周りからの評判がすこぶる悪い髪型が錬成されたりもしたけれど、楽しかったからぼくは満足していた。

10代後半のころは、いっしょうけんめいにヘアカタログ的な雑誌を見て「こういう髪型にしたい」というイメージを固めてから美容室に足を運び、写真を見せるなどして「前髪はこうで、サイドはこうで、襟足は〜〜〜」と事細かに要件を指示しがちだった。マイクロマネジメント。そして、ほとんどの場合は、ぼくがもともと想定していたよりもブサイクな仕上がりになるのであった。まだ、自分の「かっこよくありたい」という願望に諦めがついていなかったころは、期待と現実のギャップにしばしば落胆したものだ。20歳を迎えるころには身のほどを知ったというか、そもそもあんまり自分の容姿に期待しなくもなり、美容室でも「適当に短くしてください」とか言うようになり、皮肉なことにそれくらい緩めに伝えた方が美容師さんがちゃんとぼくに合う髪型にしてくれたりして、無能なマイクロマネジメントの愚かさを呪う羽目になるのであった…!

さて、Aさんがいなくなってしまったぼくは、次の場所として、当時の自宅近くの適当な美容室を選んだ。そこで相性のいいBさんを見つけた。Bさんには、3〜4年くらいお世話になっていたと思う。この時期に「美容室に行ったことがない、行ってみたい」という10代の若者の美容室デビューをお手伝いする機会があって、Bさんのもとに連れていった。その後しばらく、その若者は自宅から1時間くらい離れた場所にあるBさんのいる美容室に通っていたようだった。ぼくは、Bさん経由でその若者の恋バナを聞けたりしたからおもしろかった。

Bさんから「実は、別の店舗に異動になりまして…」と言われたときに、別れの季節がやってきてしまった。そうしてぼくは、いま通っている美容室に向かうことになった。いまの担当美容師さんが、Cさんだ。

先週、自宅近くのコンビニにふらっとお買い物に向かったら、Cさんと思しき女性がコンビニから出てきた。ぼくは「こんにちは〜」と声をかける。ただ、顔を下に向けて俯いた姿勢で歩いていたので、声をかけながら「あっ、もしかしたらCさんじゃないかも… 人違いだったらどうしよ…」と不安になりつつあった。結局は、ちゃんとCさんだったからよかった。

Cさんは「実は、妊娠しまして…」とちょっと照れた様子で教えてくれた。それで、下を向いて、少し見えにくくなった足元を気にしながら歩いていたとのこと。担当美容師さんとはたっぷりおしゃべりするタイプのぼくは、おめでたいことだなぁとうれしくなりつつ、また次の美容師さんを探す旅がはじまっちゃうなぁと、寂しくも感じてしまった。Cさんの最終出勤日は10月初頭だということなので、9月の末頃に、髪を切ってもらいに行こうと思っている。

私が簡易なクローラをつくるとき

はじめに

お盆の前後にまとまった自由時間があり、久しぶり (といっても数ヶ月ぶりくらい) に Web クローラ的なものを書いた。大量のデータが収集されていくログの様子を眺めるのは楽しい。今回も楽しかった。

f:id:june29:20160818001157p:plain

再利用するかどうかもその時点ではわからない簡易な Web クローラを書くとき「だいたいこんな感じだな」というのを言語化してみる試み。この内容は、何度かいっしょにクローリング業務をこなしたことのある @darashi に大きく影響を受けているだろうな、ってことは最初に書いておこう。最近は共同クローリングがごぶさたなので、またいっしょにやりたいなって思っています。

作業の流れ

  • (01) あんまりクラス設計とか気にせず、処理の流れを思いつくままに書いていく
    • 最初のエントリポイントにアクセスして、データを取得して、ストレージに保存して、ってな感じで
  • (02) 効率のよいクローリング戦略を考えながら、ページングやループの終了条件のロジックを書く
  • (03) こんなもんかな〜っていう処理が書けたら、とにかく起動して適当に動かしてみる
  • (04) 想定した通りのデータの形をしているときはいい感じに動くものの、ほぼ間違いなく想定外の形のデータに遭遇してエラーを吐いて死ぬ
  • (05) 遭遇した想定外の形のデータに合わせて処理をプチ更新する
  • (06) 何度か (04)〜(05) を繰り返しているうちに、次第にしっかりと動くクローラの姿になってくる
  • (07) ある程度の量のデータを収集できてくると、このデータの持ち方じゃ破綻するな〜とわかってくるタイミングが訪れる
  • (08) ここまでに収集したデータをぜんぶ捨てるつもりで、最新の知見をもとにデータの持ち方を設計して実装に反映させる
  • (09) ここまでくると、動かせば動かすだけデータを集められるようになるので、スクリプトを再起動したときにいい感じに続きから実行してくれるようなレジューム機構を入れる
  • (10) そろそろけっこう堅牢なクローラになっているので、ひたすら動かしておいて、外的要因で止まったら自動で再起動するような仕組みを入れて動かし続ける
  • (11) お目当てのデータがたくさん集まってきて、桶屋が儲かる

コツっぽいもの

  • (A) 取得したデータは、なるべく取得したまんまの生データを保存しておく
    • 加工した上で保存すると、加工方法を変えたときに最初からデータを取り直す羽目になる
    • データの取得と加工は別工程と考えておくのが吉
    • 特に HTML は「スクレイピングして、必要なデータだけ保存」って、昔のぼくはやりがちだった、今はとりあえず HTML を丸ごと保存する
    • これは @darashi がそうしているのを見て真似した
  • (B) スクリプトの起動時とか「データ取得10,000件ごと」とか例外発生時とか、わかりのいいタイミングで Slack 等へ通知させるとよい
    • 基本は放置で動かしておきたいけど、進捗とか異常系はちょいちょい把握したいときに便利
    • 手元の開発マシンを離れて VPS なんかで動かす場合にも、コンソールへのログ以外に Slack 等に通知しておくと移動中にも確認できて便利だったり

他にもある気がするので、思い付いたら追記したい。

しかし、最近は Web API が豊富で、きれいにフォーマットされた JSON が簡単に手に入るから、昔みたいに「クローラとスクレイパの両方をがんばらなきゃいけない」ってことが減ってきた。スクレイピング職人は働き口も後継者も見つからず、このまま絶滅してしまいそう。

書籍「逆襲の<ヴィジュアル系>」を読んだ

ゴールデンボンバー鬼龍院翔さんのインタビューが載っているというので、それ目当てで買いました。期待通り、おもしろかったです。

つくづく、ゴールデンボンバーという存在は、時代に愛され、そして時代を愛しているのだろうと思います。著者の市川さんは「ヴィジュアル系が、ヤンキー文化からオタク文化へと遷移していった」と捉えていて、なるほど感があります。ヤンキー文化時代のヴィジュアル系の世代を生きていたら、先輩たちに呼び出されてボコボコにされていただろう、と鬼龍院さんは言う。わはは。

鬼龍院さんは1984年生まれで、ぼくは同世代なので、発言の端々から感じられる世代観のようなもの、いちいち「わかる〜」となってしまうのだ。ゴールデンボンバーという現象が生じてくれて、本当によかった。壮大な社会実験を見せてもらっているような気持ちにもなる。

ゴールデンボンバーの登場箇所だけでも読み応えたっぷり。いい本でした。