技術ブログはじめました

みなさん、はじめまして！
音楽とアニメとハイボールが大好きな Web エンジニアの [yasu](https://fav-music.tokyo/author.html) と申します！

このたび、超個人的嗜好で厳選したお気に入りの音楽を [Apple Music](https://www.apple.com/jp/apple-music/) のプレイリスト形式で紹介していく音楽ブログ「[Fav Music](https://fav-music.tokyo/)」の構築・運用過程で得た技術的知見を [qiita](https://qiita.com/hysh8392/) にアウトプットさせていただくことにしました。

僕がここでアウトプットした技術情報がいつか誰かの助けになったら嬉しいです :)

今回はご挨拶がわりに僕が [Fav Music](https://fav-music.tokyo/) を構築・運用するために使用している技術や製品をご紹介させていただきます。

なお、[Fav Music](https://fav-music.tokyo/) の全てのソースコードは [GitHub](https://github.com/hysh8392/fav-music) でも公開してますので興味のある方は合わせてご参照ください。
<(*_ _)>

## [Fav Music](https://fav-music.tokyo/) を構築するために使用している技術や製品
- MacBook Early 2015
- macOS Catalina 10.15.2
- Git 2.21.0 (Apple Git-122.2)
- [Homebrew 2.2.2](https://brew.sh/)
- [Rbenv 1.1.2](https://github.com/rbenv/rbenv)
- [Ruby 2.6.5](https://www.ruby-lang.org/)
- [Jekyll 3.8.6](https://jekyllrb.com/)
- [Adobe XD 25.1.12.7](https://www.adobe.com/jp/products/xd.html)
- [Visual Studio Code 1.41](https://code.visualstudio.com/)
- [Google Chrome 79.0.3945.88](https://www.google.com/chrome/)
- [GitHub](https://github.com/)

使用した技術や製品をいろいろ列挙しましたけど、重要なのは [Jekyll](https://jekyllrb.com/) だけですね笑

今流行りの静的サイトジェネレーターってやつですw

最初は [WordPress](https://wordpress.org/) でサイトを構築したんですけど、静的サイトジェネレーターをいろいろ試してみて最終的に [Jekyll](https://jekyllrb.com/) にしました。

[Jekyll](https://github.com/jekyll/jekyll) の他にも

- [Hugo](https://gohugo.io/) ([Go](https://golang.org/) 製)
- [Gatsby](https://www.gatsbyjs.org/) ([React.js](https://reactjs.org/) 製)
- [VuePress](https://vuepress.vuejs.org/) ([Vue.js](https://vuejs.org/) 製)

を試してみましたが、[Jekyll](https://jekyllrb.com/) を採用した決め手は、タグの一覧ページのページング機能が割と簡単に実現できたことです（各静的サイトジェネレーターのデフォルトの機能では意外と実現するのが難しい部分です）。

静的サイトジェネレーターで生成した静的サイトは [WordPress](https://wordpress.org/) で構築した動的サイトと比較してページングと検索の機能が弱い（というか自分で実装しないといけない）ので、これから静的サイトジェネレーターを使おうと思っている方はまず最初にその辺の使い勝手を徹底的に調査しておいた方がいいかもしれません。

ちなみに、[Fav Music](https://fav-music.tokyo/) ではまだ検索機能は実装してません💦

[Adobe XD](https://www.adobe.com/jp/products/xd.html) はキャッチアイ画像を作成するのに使ってるだけです。僕はデザインツールには詳しくないのでアレですが、[Adobe XD](https://www.adobe.com/jp/products/xd.html) はサクサク動いて使ってて気持ちいいですv

[Visual Studio Code](https://code.visualstudio.com/) はコード（`HTML`, `CSS`, `JavaScript`, `YAML`, `Ruby`, `Liquid`）と記事（`Markdown`）を編集するのに使ってるのと、`Git` とか `Shell` コマンドも内臓ターミナルから叩いてるので、ぶっちゃけほとんどこの中にいますw

[Google Chrome](https://www.google.com/chrome/) は、もちろん表示の確認とデバッグ（スタイルの調整）に使ってます。

## [Fav Music](https://fav-music.tokyo/) を運用するために使用している技術や製品
- [Amazon S3](https://aws.amazon.com/jp/s3/)
- [Amazon Route 53](https://aws.amazon.com/jp/route53/)
- [Amazon CloudFront](https://aws.amazon.com/jp/cloudfront/)
- [AWS Certificate Manager](https://aws.amazon.com/certificate-manager/)

最初に [WordPress](https://wordpress.org/) でサイトを構築したときは [EC2](https://aws.amazon.com/jp/ec2/) と [RDS](https://aws.amazon.com/jp/rds/) と [ALB](https://aws.amazon.com/jp/elasticloadbalancing/) を使ってガチで半年ほど運用してましたが、そもそも静的なコンテンツしかないんだから [S3](https://aws.amazon.com/jp/s3/) で十分じゃね？ということに気付き、先日 [S3](https://aws.amazon.com/jp/s3/) に切り替えました (笑)

これで万が一 Yahoo 砲が来ても耐えれますw

[WordPress](https://wordpress.org/) から [S3](https://aws.amazon.com/jp/s3/) の静的 Web サイトホスティングに切り替える時にちょっと困ったことは、[S3](https://aws.amazon.com/jp/s3/) ではページ URL の拡張子（`.html`）を省略できないっていうことでした（ディレクトリ URL の `index.html` は省略できます）。

対策はいくつかあるみたいですが、僕は単純に内部リンクは拡張子（`.html`）付きで書いて、[WordPress](https://wordpress.org/) の時に使われていた拡張子なしの URL は新しい URL に Rewrite （[S3](https://aws.amazon.com/jp/s3/) 側に `Redirection rules` として登録） するようにしました。

このやり方が一番良いやり方だったとは思えないので、もう少し調べて別の記事にまとめたいと思ってます。

[S3](https://aws.amazon.com/jp/s3/) ＋ [CloudFront](https://aws.amazon.com/jp/cloudfront/) でブログを運用した場合の実際のコスパについてもみなさん気になるところだと思うので近々公開したいと思ってますが、幸か不幸か全くアクセスがないサイトなので (恥)、参考になる数字が出せる日が来るかどうかは怪しいものです (笑)

# まとめ

以上、僕が [Fav Music](https://fav-music.tokyo/) を構築・運用するために使用している技術や製品をご紹介させていただきましたがいかがだったでしょうか。

今回は技術情報としてはほとんど価値のない記事だったと思うので、次回はもう少し役に立つ情報をアウトプットしたいと思います💦

ではまた ( ⸝⸝•ᴗ•⸝⸝ )੭⁾⁾