作成日:2024-02-18
目次
これ
今まで2度ポートフォリオを作ったことがあった。
1度目はReactで作成
Reactの勝手がそもそもわかっていなくてうまく作れなかった。また、DBを用意していなかったのでコードに記事を直接書き込んでいた(?多分)。→続かず
2度目はFlutterで作成
管理画面を作成して動的に記事を追加できるようにした。DBはFirestoreを使った。一方でFlutterでのSEO対策がわからないのとそもそもWebに向いていない。→続かず
3度目の正直として今回はSEO対策に強い?と言われているNext.jsと自分が愛用しているNotionを使ってポートフォリオを作っていこうと思った。
SEO対策にこだわっている理由は、「検索して上の方に来たらなんか嬉しいから」
Next.js,Notion以外について
バイトで使っていて使いやすかったから採用。最近みんな使っている印象。
Next.jsをデプロイできる。無料枠でも商用利用できる(?多分)。
ローカルのNodeのバージョン確認するのが面倒だから。新しくイメージ作成した方が楽だから。
いつも使っているから。自動デプロイができる(けどしない)。
↓今回のポートフォリオのソースコード。シークレットなコード上がってないといいけど。各種バージョンはpackage.json。
↓Dockerで作成したNodeの環境。リポジトリ名がNext.jsかつブランチ名にNextのバージョン書いてあるけどNext関係ないの意味不明(自分)
Notionを選んだことというより、Notionで実現させたこと。
ただ、自分がNotionをよく使っているっていて、書いた内容をポートフォリオにしたかった。
Notion APIとして使ったものは、ブロック取得とDBクエリ(データ取得)。
ポートフォリオはクライアント側からデータベースの値を変更することは特にない。
APIとして使ったのはデータ取得するだけのことだったからそんなに難しくなかった。
しかもライブラリ使った。↓
これもライブラリを使った。工夫というよりは、よく見つけた感。
ここはあまりライブラリに頼りたくなかったが早く完成させたかったから仕方なし。
ライブラリでNotionからmdに変換するならこれもライブラリ使えばいいやと↓。
これは自作。
↓ここにちょっとコードも載っけた。
文章(description)変えたい。固い。
サムネイルに画像が表示されていないのなんで。
lighthouseってやつ使って確かめたら86点だった。
理由は、「Links do not have descriptive text」と「Document does not have a valid rel=canonical
」だった。直す。
これ自体。このサイト自体が完成品。
Profile
地方公立大学院修士2年。
今年は「知識の幅を縦に広げること」が目標で、低レイヤ、OS、ミドルウェア、コンテナ、ネットワーク、データベース、SEO対策の勉強しています。
情報処理安全確保支援士と応用情報は合格しています。
研究として楕円曲線暗号、耐量子暗号、格子暗号や格子基底簡約アルゴリズム、同種写像暗号について学習しています。
普段はアルバイトでFlutter/Go/GCP/Next.js/Reactを使っています。