タイトルの通りそれが問題だ、いや、だったのだ。
javascriptを学習して以来、もう一つくらいプログラミング言語を学びたいと思っていたのですが、候補のScalaかgo言語(golang)どちらにするか決められずにずっと悩んでいたのでした。更に、Pythonも良いかもなぁなど、気づけば半年ほど流れてしまったわけです。
これじゃいかん、とついに決心。go言語で行きます。なんか環境構築が一番簡単そう、かつIDEが軽量っぽかったので 笑。(実際中々快適です)
使ってみた感想は...「難しい」です。
型宣言? なんでこんな面倒なことを...
引数にも型宣言すんの?
ポインタ? 初心者キラーとして有名なアレ? やっぱ全然ワカンネ。
とまぁこんな感じでした。
ログ出力もjavascriptならブラウザのログをクリックすればプロパティが調べられたりして楽だったのですが、go言語はそういうことが出来ず、ちゃんとドキュメントを読む努力をしないといけないようです。そもそもgo言語で作りたいものがないという噂も出るシマツ。
チョ、待てよ。そういや近所の図書館でgo言語入門書があったぞ。
シケた図書館にしては珍しい蔵書だったので、覚えていたのです。そこでサイトで貸出状況をチェックをしてみたら...残念、貸出中。実はこの状態が2週間以上続いていて、誰か知らんが年末手前からずっと借りてやがるんですよね。
まぁそれは良いとして、毎回あの図書館のシケたサイトにチェックしに行くの面倒。キーワード打ち込んでクリックをするのにもカロリーを消費します、自動で確認してくれる機能があれば...
チョ、待てよ。こういうのどっかで聞いたことあるな...と思い出したのが「HTML解析」です。パーサーとかクローラと呼ばれるものです、これを試しに作ってみようというお話。
実際はセッションだかの関係上、図書館の在庫チェックには使えなかったので、方向転換して画像収集クローラを作ることに。
ちなみに実際、図書館のサイトに情報収集クローラをかけて犯罪に間違われたという話があります。悪意はなかった、ということで大きな事件には至らなかったと記憶していますが...サイト巡回は気をつけないとサーバーに負担をかけてしまうということですね。
私がこの手の記事を書く時は大体の作業は終わっていて、このクローラも多少ムリヤリですが、目的は達成しております。
しかし現状では画像の数だけhttpリクエストを発行しており、なんとなくサーバーフレンドリーとは言えない気がします。httpリクエストは一度だけで済みそうなものなので、もう少し勉強してみます。
サイトに設置されているボタン用画像などは保存しても仕方ないので、正規表現を使って特定の拡張子のみを保存する、といったことが出来ればと思います。
というわけでgo言語、始めてみましたというお話。