Webuilder240

なぜ今更Railsでブログツールを自作してはてなブログから移行したのか

2020-06-23 20:07:07 +0900

Rails Ruby

いきなりまとめ

  • あまり人におすすめはできないが、ブログを書くことではなくコードを書く理由として自作にした。
  • サーバーサイドエンジニアで、キャッチアップ理由でまずはRailsを選んだ。
  • 挫折しないように機能は最小限にして、リリースして公開することを最優先にした。
  • ブログの機能の枠を超えていろいろ技術的にもやっていきたい。

目的はブログではなく開発題材

なぜ移行したのか? ひと言でいえば、「プログラミングをする題材が欲しかったから」につきます。
僕の性格上、競技プログラミングやプログラミングクイズの類がとても苦手で、やるのも好きじゃないし、 個人でなにかサービスを...となっても自分ではあまりいいアイディアが思いつかなかったり(だから会社に所属しているのです。)で何か休日にプログラミングしないとなぁ。と思ってもネタがないみたいなことに陥るのでした。
僕はWebエンジニアを5年以上はやっていて、お世辞にも駆け出しエンジニアとは言い難いキャリアです。 勉強のためであればJAMStackがイマドキだし、会社でも使って慣れているRailsを選択したのでしょうか?

なぜJAMStackではないのか?

正直良くは知らないのですが、ブログとしてはJAMStackのほうが効率的で簡単なのは明らかだし、僕自身があまりキャッチアップしていないReactなどにも触れる機会になるかとは思いました。 ですが、僕自身フロントエンド開発ではなく、サーバーサイドのほうが開発としては好きだし、そこにメインに投資をしていきたいというモチベーションがあったからです。
あと、現職で使っているRailsが訳ありで古いので、新しいRailsに対してのキャッチアップの意味もありました。簡単にキャッチアップはしているものの、「使ってみた」レベルを超えて使ってみないと分からないこともあるので。

ブログの公開までにやったこと

  1. ドメインを取った
  2. まずはブログの機能を作らないで、Topページだけを作ってHerokuにRailsのアプリをDeploy
  3. ここからブログの機能の開発開始...
  4. ブログを移行
  5. リリース
という感じで、とにかく公開を急いだ形になります。というか作る前から公開しましたね。 これはさっさと公開してしまって、やらない理由をなくすためです。 ブログを書くだけなら、はてなブログのほうがデザインもいいし、めちゃくちゃ便利なので、「やらないとヤバい」という状況にするためです。

ブログのエディタについて

エディタについても苦労が見えるので、とにかく妥協しまくりました。 エディタを作ったり設定するのが鬼門なのですが、僕としてはMarkdown記法になれていたので、Markdownエディタを入れたいところですが、なんとRails6にはActionTextという便利機能があるし、これはちゃんと最初からActiveStorageと連動していて、Railsで10分で「リッチ」なブログの投稿画面が作れそうだったので、そっちにしました。 ActionTextが刺さる稀なケースだと思います。

その後、ログイン機能をざっくり作って、スタイルをちょいちょい実装した段階で、完成したことにしてDeployしました。

ブログの移行について

そのあとにやったのが前までブログを運用していたはてなブログです。 ここにある記事を自作Railsアプリケーションにインポートします。 はてなブログのエクスポート形式が「MT形式」なるもので、僕も初めて知ったくらいなのですが、 この形式のファイルをインポートするスクリプトを書いて(これは後日コードを整理して公開したい...)、完了させました。当然ながらこの作業が一番苦労した気がしますが、プログラミングのネタができて良かったです。

公開した後の開発ついて

公開した後についてもちょいちょいやらないとなーみたいなことはあって、改善を進めています。 古き良き自作ブログなのにAtomフィードがないから作ったり、無駄かもしれないけど、ブログを書くならSEOをちょっと頑張ってみたい思いがあって、OGPをちゃんと設定したり、ブログにタグをつける機能を作ったりしました。 次は個人ブログなのに、AMPサポートを検討していて現在進める予定です。
この辺までやるとやることがブログを書く以外になくなってしまうし、 あまり人にはおすすめできませんが、Webインフラも自分で面倒見るのがネタ的にはいいのかな、と思っており格安のVPSだったりを検討してみたりという感じです。Herokuで公開を急ぎましたが、スピードが速いのはこれですしねぇみたいなのはあります。 このままRailsを使うのもいいんですが、ちょっとそれだけだと面白くないので何かやりたいと考えています。

関連しそうなブログ