これは1年間だけプログラミングを勉強した、文系大学卒、日本の非エンジニア職に務める人間が、作ったアプリを一年ぶりにリファクタリングしよう!という試みの記録です。
今回は、公開した以上やるしかないよね、と自分を追い詰めるためのお気持ち表明です。
経歴と経緯
文学部卒、31歳の人間です。
元々は商品開発を5年くらいやっており、カナダ留学してプログラミングを勉強。
その後日本に戻ってきてからはSQLと統計を学びつつ、データの分析を延々とやってます。
2020年1月から12月まで、カナダのカレッジでプログラミングを勉強しました。
カレッジではモバイル(Swift,Kotlin,ちらっとObject-C+アルゴリズム)を専攻し、
個人学習として、MENTAを利用してReactを勉強しておりました。
昨年12月に、学校の卒業制作として作成したWebアプリ(Reactとfirebaseで作りました・・・)があるのですが、
日本の職場に戻ってからは、延々と概念の勉強と、実務ではSQLを書いておりほぼプログラミングノータッチ。
気づけば最後にがっつり卒業制作をしてから一年が経過しそうになっているため、いろいろ頑張りきれなかった自分のアプリを改修しよう!
リファクタリングして再度公開したいと考えてこの記事を書いてます。
ただ、自分のコードが汚すぎて絶望したので、0ベースでコードを書いて作り直すのを目標とします。
今のアプリに拘っている理由
- 最低限の機能実装のみで終わってしまい、自分が入れたかった機能を全部作り込めなかったこと
- 現時点の機能にも粗があること
- アプリ(機能)としては、有用性があり広く使ってもらえる可能性を秘めている(と信じている)こと
が主な理由です。
当時はデータの持ち方や、非同期処理などあまり深く考えずに実装してしまったため、
理解を深めつつ、きちんとアプリを完成させたいなと思ってます。
今のプログラミングレベル
最低限の書き方覚えてるね、程度です。
今の職はBigQueryでSQLを駆使する完全にデータ分析職人になっているため、
JavaScriptでUDF書いたり、VBAでマクロ組んだりする程度。
副業で一回だけ、本当に簡単なReactアプリは作りました(日付情報加工してTwitterに投稿&画像ランダム表示させるだけ、レベルです)
完全にITから離れたわけではないですが、がっつりコードを書いてはいません。
前回制作時点で使ったもの
- React
- Redux
- firebase
- material-ui
- styled-components
- eslint
- prettier
- i18next
技術的な進化はまったく遂げていないので、基本は上記をベースにしつつ、
構造面やコードの最適化を図りたいと考えています。
(できればTypeScriptを導入したい気持ちでいっぱいです。)
スケジュール
今年中に完成・公開させる。以上。
今後は1週間ごとに進捗をメモしていきたいと思います。