ブログの引っ越しをしました
2018-03-20

お気づきの方もいるかもしれませんが、ブログを引っ越しました。

以前は WordPress を使っていましたが、 Miyadaiku という静的サイトジェネレータを使ったブログに変わりました。

また、この記事は Miyadaiku に関する話はなく 過去の振り返りや経緯など、少しエモい感じになるので 興味ない方は ブラウザバックおなしゃす。

経緯

上で述べたように 前は WordPress でした。

はてなブログ や Google Blogger など 様々な選択肢がある中で WordPress を選んだのは すべて自分で管理したいという考えからでした。

サービスは落ちることもあるし、突然終了することもあります。 と、まぁそれはなんでも同じですが、自分で管理していればある程度対応のしようがあります。

その考えは今でも変わらないのですが、運用しているうちに WordPress が嫌になってきました。

Note

WordPress の批判に聞こえるかもしれませんが 単に自分の用途に合わなかっただけの話です。

ブログは用途に合わせてじっくり選びましょう。

記事を Git でバージョン管理できない

WordPress は 記事を DB (MySQL) で管理します。

WordPress にもリビジョンという更新差分を管理する概念が有りますが、 Git とは違いますし、ローカルで管理するようなサクサク感はありませんし コードのバックアップも自分で取らないといけません。 これについては 日々ダンプして、DropBox に同期するプラグインを導入していました。

そして、WordPress が用意した エディタで記事を管理する必要があります。

もちろん一旦別のテキストファイルに書いてから 公開するときに移すということもできますが、やはり手間です。 書き終わったら WordPress にログインするというのは結構面倒でした。

プレビューができない

WordPress 自体には記事プレビューの機能はありますが、環境によっては機能しないことがあります。(今はどうなんだろう

実は以前の環境は 管理画面のみ SSL化 をしていました。

ただ このブログのために 証明書の取得なんてしたくなかったので レンサバから提供されている 共用SSLを 使っていたのです。

共用SSL が使えるのは 業者から提供される mysite.業者のドメイン.com みたいなもので 当然自分ドメインとは異なります。

(おそらく)これが原因で プレビューしたときに記事がないと言われてしまい プレビューが行なえませんでした。

結果、プレビューなしで公開する必要があり、あとでおかしな箇所が見つかって書き換えるということが多々発生してしまいました。

バージョンアップ

WordPress は 世界中で 多くの人に使われているソフトウェアです。

多くの便利機能を使える反面、攻撃の対象になりやすいというデメリットももちます。

レンサバのサービスによっては、「ミドルウェアのバージョンを上げるから対応しないとブログを消す」みたいな 警告をうけることもあるみたいです。

私のところは なんかよくわからないですが、勝手にパッチが当たってたまに更新メールが来てました。 そのせいで 書き換えた WordPressエディタ がもとに戻っててちょっとイラッとした記憶がありますw

アップデートは 失敗したらサービス停止になることもあるのでそんなカジュアルにやってほしくもないんですが、 かと言ってアップデートしなければセキュリティホールを放置することにもなります。

私はブログ運用にそこまで頭を悩ませたくありませんでした。

「自分のサイトなんて攻撃対象にならない」みたいに考えている人は一度、自サイトのアクセスログを見てみると 明らかに自分ではない人から管理画面にへアクセスを試行されているのがわかりますよ。

有名なサイトだけが対象ではないのです。

お金

WordPress は 動作に PHP と MySQL が必要です。

これらが動くサーバが必要で借りるのに最低スペックでも 数百円/月 必要です。

なんてことない額ですができれば払いたくありませんよね。

重い

これは借りていたマシンのスペックによるものやプラグインによるところでもあるのですが、 動きは割りともっさりしていて、 たまに どこか有名なところからリンクされると 頻繁に 500エラーになっていました。

低スペックなサーバでやるとユーザを逃がす恐れがあります。

結論

WordPress から去った私が言うと全部批判のように聞こえてしまうかもしれないんですが、 私は WordPress はブログの集合知だと思っているので 良いところは数え切れないほどにたくさんあります。

現に今のブログでできなくなったことはいくつかあり、それは甘んじて受け止めています。 (なんかこうやって書くと謝罪してるみたいですね!

WordPress は 多少のお金をかけ複数人で運用する ときに力を発揮するもので、 私のように 個人で公開メモ帳として運用する には 過剰であり、 かつ低スペサーバだと 恩恵を受けきれない と思います。

といっても WordPress を選んだことに後悔はしていません。 いままでありがとう。

Sphinx

さて、完全にワードプレス dis の話になってしまいましたね。

実は次の引越先として Sphinx を検討していました。

PyHack の合宿では その作業をすすめるみたいなことを宣言してしまいましたが、 見事に別のところに着地しました汗

Sphinx にしなかった理由は 私が合宿で酔いつぶれたからではなく Sphinx では期待したブログができないとわかったからです。

Sphinx の Hackthon にお邪魔して幾つか質問させてもらいました。

そこで (以降敬称略

  • ぼく      「 Sphinxで一覧ページみたいの出力するのって..」

  • shimizukawatoctree でやるといいよ」

  • ぼく      「 toctree って画像とか出力できるんですか?」

  • shimizukawa 「 普通はできないけど俺は記事内の画像を引っ張ってきて og:image に入れるように改造してる 」

みたいなありがたい話を聞き、以降の清水川さんは「PRお待ちしてます」しか言わなくなってしまいました。

Sphinxのことなど殆ど知らない自分にとって 改造は難しいことでした。

そこへ tk0miyaMiyadaiku はどうなのと 提案してくれたので、 PyHack 合宿で小耳に挟んでたが殆ど知らなかった私は、 Sphinx の Hackathon なのに ずっと Miyadaiku のことを調べていました。

自分の期待することを概ねカバーしていたので、その場で 舵を切り、今に至ります。

教えてくれた方々、本当にありがとうございました。 やはり 色んな人の意見を聞くのは大事ですね。

どうなったか

前のブログから構成を大きく変えたくはなかったので既存のテーマではなく自分でカスタマイズしました。

レイアウト

  • このブログの記事は長いのが多いので、背景は少しでも目に優しくするため白から少し青みがかった色に変えました。 (でも負担はそんなに変わってないのかもしれない

  • 以前は固定幅だった本文の幅を可変に変更しました。

    • CSS3 の flexbox を使っています。

JSで頑張ったこと

  • どこまで読んだかを localStorage に記録するようにしました。

    • 記事詳細ページでは ヘッダの直下の青いバーが現在の進捗を表しています。

      • バーの部分をクリックすると該当部分までスクロールされます。

    • 一覧ページでは プログレスバー (input type=range) にて 現在の進捗を表示指定します。

    • いずれも VueJS で作りました。イベントに合わせて 反映・保存されます。

    • 出来上がったJSは webpack で圧縮しました。JSが無効だったりバージョンが低いブラウザではスタイルすら効かないと思いますが割り切りました。

    • その他のライブラリは使っていません。

  • 関連記事 を サイドバーに表示するようにしました。

    • 静的ブログとなったため、人気記事の集計をするのが難しくなったので、少しでも補うための措置です。

    • JS で追尾させてます。

ブログを書くことについて

ついでに少しだけ。

私がこのブログを始めたのは 入社のほんの少し前でした。 得たものをアウトプットする場所が欲しかったからです。

それまでは勉強したけど忘れていく感覚、何か足りていないような不安を感じていました。

カレーメシ先輩も 少し前の LT (スライド) で

  • 公開せずにローカルに置いてたメモは必ずどっかいく

    • 無くなったら記憶もどっかいく

と言っていました。

ローカルに置いたメモは見返す機会が少なく、なくなりやすいです。 私も昔勉強したネットワークの知識はきれいに消え去りました。今思えばもったいないですね。

記憶というのは 一回では定着しにくいので、公開して見返す機会を増やそうと思ったのでした。

前に清水川さんが Evernote を第二の脳と言っていてそれがすごい印象に残っているんですが、 自分で書いたことだからどこに書いたかもすぐに思い出せて見直せる、自分にとってブログはまさにそれだと感じています。

そして、ブログに書いたことは覚えたことにして、そこで一旦気持ちに区切りをつけられることが精神的に凄くプラスになりました。

意識していること

公開することで間違ったことを書きづらくなるというのも私にとっては大きなメリットです。

しかし、マサカリを持った怖い人がたくさんいるので、ツッコまれないように出来る限り動作検証をします。

そして証拠として検証に使ったコードも載せるようにしました。(これは予想に反して喜んでくれる人が多くいました) あとから自分が読んで役に立つことがあるので、今では自分のためにのせていますw

どこかの記事を参考に写経するだけだとただのパクリになってしまうので できるだけ本家のリファレンスを読むことも重要です。(もちろん記事も参考リンクとして載せるけど

リファレンスを読んでもわからないことは仮説をたて検証する& なぜそうなるのか自分の考えを自分の言葉でわかりやすく書く(私の場合は忘れた頃に読んだ自分がわかると思うように意識しています

これが知識の隙間を埋めてくれます。

書きなぐったのでとりとめのない話になってしまいました。 エモい話はしばらくしないと思いますが、こういう気持ちでこれからもやっていきます。

あ、このブログの記事をネタにした 勉強会 を不定期でやってるので気になる方は是非参加してください。