Journal

2020年振り返りと2021年の目標

2020年の時系列編

1-5月

カナダを楽しみつつ苦しみつつ個人ではちょこちょことこのサイトを作り直していた

https://isoppp.com/posts/revamp-blog-with-svelte-sapperhttps://isoppp.com/posts/revamp-blog-with-svelte-sapper

5-6月

結構仕事やめたい状態になっていて、5月末に決断、帰国ルートへ。6月から日本の仕事を開始。

  • ビザ出してくれそうではあったものの進みがよくなかった+だめだった時のコロナ+帰国のどうなるの感
  • 永住権までいけたとして、一生この英語圏で住めるのか、となる時にしっかりとイメージがわかなかった
  • 仕事にストレスを感じていた

https://isoppp.com/posts/journal-202006https://isoppp.com/posts/journal-202006

7-8月

帰国、PCR、空港泊など帰国体験はつらかった。

https://isoppp.com/posts/journal-202007https://isoppp.com/posts/journal-202007

このあたり、帰国かぁ、というとこもあったのか全然仕事以外コード書いてなさそう。このあたりからこれからどうしようみたいな漠然な感じが始まっている。カナダで頑張るぞ!という目標が消えた。

ここから月次を書かなくなっているものの…空港近くのホテル2週間→福岡2週間AirB→福岡4週間AirB(入居待ち)でなんとか仕事しつつ新しい土地を楽しみつつ…な感じ。

9月

待ちに待って賃貸入居、安定した基盤があることがありがたい。机をDIYしたりして割と満足な環境に。

10月

このあたりは割と個人開発やりたい、みたいな気持ちで、Blitz.jsを触っていた。ちょっとcontributeもした。

ただ結局Rails倒せるセットって感じはしないなと割と初期セットを作ってみた後に感じて中断。

https://isoppp.com/posts/roughly-understand-blitzjshttps://isoppp.com/posts/roughly-understand-blitzjs

11-12月

仕事でserverless framework環境を触る機会もあり、serverlessとAWSの勉強をかなりしていた。かなり大変だった。

https://zenn.dev/isoppp/scraps/a726c20ef43a62https://zenn.dev/isoppp/scraps/a726c20ef43a62

個人開発も含め結局どういうセットがいいのかなぁと色々触ってた。

Blitz.js、Frourio、Redwood.js、Rails、Laravel、Phoenix、Serverlessなどなど。買うまでが楽しいAmazon検索みたいになってる。

年末は久々にゲームをがっつりやりたくなってしまいゲーム(Last Epochというハクスラ)をずっとやる感じでフィニッシュ。

技術的トピック編

Reactにデビューした

なんかもう大分書いていると思っていたもののまだ今年途中からだったReact。前まではVueを書いていたものの、Typescript全盛となっている今、React書きやすいなという印象で2020年は終わった。JSXが気になっていたものの慣れてみると全然そうでもなかった。

あとはCSS in JSはやってみてもかなり好きではなくて、そこがデファクトスタンダードという所もちょっと抵抗があったものの、最近はTailwindcssやChakraUIなどUtilityベースでの実装が少しは増えてきていて、割と個人的には書きやすい環境が整ってきているような気がしている。あとはNext.jsの勢いがすごい。

React関連では個人開発関連で色々悶々としていた結果、Blitz.jsを知って少しはまってて少しコミットした。

https://github.com/blitz-js/blitz/pull/1419https://github.com/blitz-js/blitz/pull/1419

https://github.com/blitz-js/blitz/pull/1411https://github.com/blitz-js/blitz/pull/1411

serverless (serverless framework)

仕事で使っている環境に入る&実装することになったのでAWSから猛勉強した。色々な制約あって把握が難しい。ただここでなんとなくAWSアレルギーの殻が破れたのでそこはとてもよかった。請求覚悟で色々作ってみる、が最初のハードルな気がした。

現状どれほどこの構成に優位性があるのかは実感できていない。結構サービス伸びないとメリット感じにくいのかな。

https://zenn.dev/isoppp/scraps/a726c20ef43a62https://zenn.dev/isoppp/scraps/a726c20ef43a62

個人開発調査

個人開発をやりたい、やらないとみたいな所で色々調査してた。ただなんか個人開発やりたいのかこうやって調べてるのが楽しいのかよくわからない。

Serverless/Firebase/Amplify

この辺りは結構NoSQLが前提となっていて、NoSQLでサービスを作るイメージがあまりわかないまま終わっている。

Serverless FrameworkはDynamoDB使うと開発は簡単そうに思えるもののRDS+RDS Proxy / Aurora Serverlessとか組み合わせるとお金面や開発が個人開発としてはどうなのかって印象になってしまった。あとはローカルの開発環境やDeploy周りが結構ややこしくなったりスッキリしなくて難しいので、そういう意味ではインフラのメリットの引き換えにそういったデメリットがあって、個人のサービスではこのあたりのメリットは薄い気がするのでどうなのってなってしまった。

Firebase Authだけ使おう、というのは結構考えていたものの、Firebaseのユーザーと自サービスDBのUser同期、退会フローとかの同期+エラーフローを考えた時に結構面倒くさく、これもローカルのシミュレーションとかがややこしくなってしまい、あまり体験よくない気がしてちゃんとトライする前に断念してしまった。PostAuthentication的なtriggerがなさそう?で、User情報の変更同期とかも結構難しい(もしくはフロントを介す)のかなとなってしまった。

Firebase/Amplifyはこれで要件を満たせるなら良いと思うのの新規開発では後で制約にひっかかりそうで個人的には怖そう、という印象。

Node.js類

Blitz.js

お試しレベルまではかなり体験がよかったものの、バックエンドがNext.jsに乗ってるので結構validationとかが書きにくい?のかなとか、Eメール系も全部1から実装が必要そう、ユーザー認証はあるけど不完全(Eメール確認、Eパスワードリセットetc)、だったりと全部ないものはがりがり書いていく、という分には十分な環境だと思うものの、なんかプラグイン指したら大体の機能は簡単に実装できるよ、みたいな空気ではなかったので一旦中断。Validationとか、Next.jsの繋ぎこみとか、Blitz.jsがWrapしてる部分の理解とか、これに乗るメリットvs自前実装だとどっちがいいのかなと疑問になってしまった。とはいえお試し適当Todo開発、みたいな所までは本当に体験が最高だった。

めちゃくちゃ中途半端&雑に終っているものの、Post、Comment、ユーザー画像のS3へのアップロードなどの実装までは一度やっていて、validationのちゃんとした実装とか、ユーザーの不完全部分のフローで思ったより自分でがりがり書いていかないと、書き方作っていかないとだなとなって断念した。(パスワードリセットは話が出ていた気がするのでもう本家では実装済かもしれない)

https://github.com/isoppp/sandbox-blitzjshttps://github.com/isoppp/sandbox-blitzjs

Redwood.js

TSサポートのこのissueが閉じられたらまた試したい、という感じだった。backend、frontendはフォルダが別れつつ、ただgenerateのコマンドは両方を同時に結構がっつり作成してくれていい感じではあった。その先は正直全然試していないので分からない。

Frourio

自動生成や型定義の自動化はよかったものの、fastifyをwrapしているもののasync hookが使えない(?)感じがあったり、Firebase Authを入れてみようとするとSDKがフロントコードでBuildされてそうなエラーに遭遇したりして(しっかり調査までしていないので実際どうなっていたのかは不明)、こちらも型定義はよかったものの、この辺りのエラーを解消していったりとか、fastifyとの差分・できないことを把握するのとのメリデメで断念。

その他・総合

多くがServerlessにDeployをするようになっていて(Next.jsもVercelでDeployすると勝手にServerless構成になるはず)、その環境でDBを使う場合、Connection Poolを結構意識しないといけない気がしていて、DBどこのを使えばいいんだろうという悩みが尽きない。会社規模であればRDS+RDS Proxy or Aurora Serverless等である程度は捌けるような気はするものの個人趣味レベルとしてはお高い気がしていて踏み切れない。

全体的にTSの型定義が割と同期されつつ書きやすい、もののRails+デファクトスタンダードなGem群は倒せないみたいな印象があって迷走し始めていった。そもそも多くがv1に乗ってない&触ってまだv1じゃない所感を持つ、という所もあった。

バックエンド方面

Rails

やっぱりRailsなのかなぁとか思ったりしつつ魔法が読み込めなさすぎてやはり少し抵抗が。

Laravel

根拠のないPHPへの抵抗があったものの少し触りつつ一個本を読んで見つつで割と悪くないのでは、と感じた。ローカル開発環境だけちょっと手間取ってしまった。

Phoenix

以前一度勉強していて言語、FWの印象は良いものの、採用事例、ユーザー数から情報が少なくて踏み切れない、みたいになっている。各SDKサポート等気にする必要がありそう。

Django

なんとなく見ていない。API用途だとFastAPIか何かが良さそうだった記憶があるのでAPI用途だったらこちらを見てみてもいいのかも。

感想

  • 「そんなこといってないで、どれでもいいから作りきろう」って言われる(言われてる)とぐうの音もでない2020

  • 全部メリデメで選定って難しいなと実感。色々触ったので勉強にはなったような気もする

  • Railsスタートは今はない、みたいなのは見るけどじゃあ何が正解なの?どれでスタートしますか?の解をみないのでRails系が結局強いというか__スタートとしては__正解なのではと思ってしまっている

  • Node.jsではバックエンドとして枯れてそうなNestJSとかも試してみてもいいのかもしれない(hapiが昔所感よかったものの、一度開発終了みたいなニュースが流れてた気がするのでちょっと怖い、と思ったものの普通に動いてそうに見える)

  • そういえばGo言語系を全然調べてないので調べた方が良さそう

  • やっぱり調べるのが楽しいだけなのかもしれない

アウトプットとコミット

カナダで何もアウトプット的には成せなかったのはよくなかった。

年2しか技術系を書いていなくて後はほぼ日記みたいなものだった。日記の中になんか技術的考えがあったりはするものの、どれだけ書かなくても四半期に1本くらいは書きたかった。

日記は日記で有用な部分もあったのでこれは個人サイトとしてはありな気がした。

コミット毎日、は半分くらいしか恐らくできていなかったものの、部分的には本を読み進めつつGithubに上げるようなものを書いていなかった部分があり、Input全集中だとコミットは厳しいものの、これは別に個人評価として良いので、あまり気にせずなるべくコードを書くくらいで良さそうだった。

2020年のまとめ

  • カナダから帰国して道(目標)を見失いつつあり迷走している
    • もう3年前じゃないかというくらい実感がわかない
  • Reactはじまった
    • 今の所こっちでいいかな感
  • 個人開発調べてばっかで何もできていない
    • 色々勉強にはなる
  • ちょっとだけバックエンドの方にも実務で手を出し始められた
    • AWSアレルギー解消

2021年の目標

余談的に2020年買ってよかったものの一番が壁面に貼るホワイトボードで、そこに書き出してみてOKR的に色々考えてみた。/後ろがストレッチゴール。

仕事や技術的に

フリーランス継続、正社員転職、起業(?)などなど最近はこれといった道筋がはっきり見えていないものの、そういってても仕方がないので見えたときのために一旦全体的に土台整理するという年にしたい。

  • Blog 年4/年12
    • 2020年全然書けていない
  • AtCoder緑/青
    • アルゴリズム周りを転職等を考えると対策する必要がある。あと基礎力。
  • DDD、クリーンアーキテクチャ、アジャイル、カイゼンジャーニー、issue drivenなんとか等の本や知識
    • テックリード系も視野に入れて、設計や社内の動き方や考え方等を少し広げておきたい
  • 英語 TOEIC800/900(帰国後受験できていない)
    • 最低カナダで少しはのびたであろう部分のキープ、単語力がゴミすぎるのでそこを強化すると達成できるような肌感
  • 個人開発のサービス 年2/年4
    • 最低限の個人開発レベルでのフルスタック能力は持ちたいので頑張りたい。調査以外も…。
  • 技術書など 年6/年12
    • 去年読めてたかもしれないがカウントしていない。公開しなくて良いのでまとめながら読みたい。
  • 資格 基本情報技術者/応用情報技術者
    • 内容よく知らず興味がなかったものの、意外とこのあたりだめなのでは、と思って知る意味も込めて
  • 資格 AWS ソリューションアーキテクト・デベロッパーのアソシエイト/同プロフェッショナル
    • AWSアレルギーが取れた2020年だったので、この勢いのまま取れるなら取ってみたい

プライベート的に

体がアカン

  • 体重 -9kg/-15kg
    • フトリスギタ
  • 禁煙
    • 全然やめれていないので…。流石にこの時代もうメリットがあるとか言い訳もできない
  • 原酒 週3以下/週1
    • カナダあたりの苦しみからほぼ週7に親しい生活になってしまっていてそれもあって太っていたり時間ももったいないので減らすorやめたい
  • 運動筋トレ 週1/週2以上
    • 健康というか体力面を増強していきたい

まとめと余談

余談

カナダにいって英語どうなったか、という所では少し伸びた気はしていて、特にリスニングは慣れもあって伸びたような気がしています。

福岡にいってどうなのか、という所では仕事面、給与面はやはり少ない・安めになってしまうもののそのあたりが問題なければ人口的には博多・天神などの中心部でなければ丁度いいなと思っています。
最初はご飯もそこまでなのかなと思っていましたが段々と美味しいなと思ってきていて気に入っています。あとは人柄が関東よりスンとしていない感じはあります。

まとめ

2020年は後半から割とだれつつも興味に向かってはなんかやる、とはいえなんか目標がないのでぱっとしない、ということでどうにか策定してみました。
結構色々あって気を抜いているとだめな結果になるので頑張っていきます。

share