この記事はMicroAd Advent Calendar 2019の23日目の記事です。
目次
- 目次
- 前書き
- 【Kotlin】アノテーションを自作する【SpringBoot】(2018年12月4日)
- 【SpringBoot】ファイルとその他データを同時にPostする【Axios】(2019年2月1日)
- 【Git】GUIツールGitKrakenで気に入っている3つのポイント(2019年9月30日)
- 【Java】拡張for文、forEach文の変数をimmutableにする(2019年10月2日)
- あとがき
前書き
自分は2018年12月からQiitaを始め、そこから1年の間に80本弱の記事を書きました。
この記事では、1年間で書いた記事の中から自信の有るものを、記事を書いた背景とともに4本選んで紹介したいと思います。
最初はQiitaに投稿しようかと思っていましたが、若干趣旨が違う気もしたのではてなで投稿します。
紹介は時系列順です。
【Kotlin】アノテーションを自作する【SpringBoot】(2018年12月4日)
Kotlin
でBeanValidation
のバリデーターを自作するという記事です。
「SpringBoot
(BeanValidation
)のアノテーションをKotlin
で作れるかな?」という疑問を検索したところ、やり方が全く引っかからず、唯一引っかかった内容も正しいとは言えなかったため執筆しました。
今読み返すと多少の稚拙さを感じますが、それでも検索で一番上に出るなど誰かの役に立っているんじゃないかなあと思っています。
この記事は元々Qiitaに初めて投稿した【Kotlin】バリデーションの書き方の基礎【SpringBoot】と合わせて書いていた記事で、長くなったから分割したという経緯が有ります。
なので、初めてQiita向けに書いた記事としても思い入れがあります。
【SpringBoot】ファイルとその他データを同時にPostする【Axios】(2019年2月1日)
SpringBoot
で、複数のファイルやJSON
等のデータを同時にPOST
し、かつバリデーション結果をBindingResult
に格納するという記事です。
この記事を書いた背景は、以下の要件を達成しようと考えたためです。
- ファイルと
JSON
を同時にPOST
したい POST
にかかる時間は最小限に抑えたいPOST
された結果をバリデーションしたい
1に関してはBase64
エンコードで解決できる感も有りますが、特に大きなファイルになった場合、データ量が1.4倍弱になるという点で2が満たせなくなります。
ということでMultipartFile
とJSON
をエンドポイントで同時に受け取る方法を探しましたが、検索しても全く引っかからなかったため執筆しました。
これができなければサーバに無理やり状態を持たせるようなやり方をする必要が有るため、有用な記事になっているかなと思っています。
自信に反していいね数が伸びないのが辛い所ですが……。
3に関しては、MultipartFile
とJSON
をエンドポイントで同時に受け取ることができれば問題なく動く内容です。
また、この記事の応用として、【SpringBoot】ファイルの配列/リストとその他データを同時にPOSTする【Axios】という記事も書きました。
補足
MultipartFile
とJSON
をエンドポイントで同時に受け取る場合、フォームはともかくファイルに関してはバリデーションができません。
ということで、受け取ったファイルとフォームをバリデーション用のオブジェクトにマップした上で【SpringBoot】バリデーション(@Validated / @Valid)を任意のタイミングで動かす【BeanValidation】の方法でバリデーションしてやるのが良いと今では思っています。
【Git】GUIツールGitKrakenで気に入っている3つのポイント(2019年9月30日)
自分が長年お世話になっているGitKraken
のお気に入りポイントの紹介記事です。
自分が書いた記事の中で初めてバズった記事で、Qiitaの日間ランキングにも載ることができました。
どうでもいいことですが、実はこの記事は会社の技術ブログで公開する予定だったもので、諸事情でQiitaに投稿したらバズったという経緯が有ります。
学生時代から使っているツールだったので、それを広めることができたのは嬉しかったです。
アドベントカレンダーで3本位書けるだけのネタは有り、本当はそれを書きたかったのですが、仕事が忙しすぎて書けなかったのが残念です。
一応明日のアドベントカレンダーに関してはGitKraken
ネタで書くつもりで、20191224T1200-1200(ISO 8601)
目指して執筆を進めています。
【Java】拡張for文、forEach文の変数をimmutableにする(2019年10月2日)
タイトル通り、拡張for
文、forEach
文の変数をimmutable
にするという記事です。
Java
の拡張for
文、forEach
文の変数(ラムダの引数)はmutable
だったため、これをimmutable
にできないかなということで執筆しました。
執筆後に間違いを指摘するコメントを頂いて書き直しが発生したという経緯が有ります。
個人的に、記事内容に関して大幅な間違いを指摘して頂いたのは初めてのことで、アウトプットにそういった知識の共有を求めていたこともあり、非常に嬉しかった覚えがあります(間違いを記事にしてしまったことに関しては申し訳ありませんでした、、、)。
特に実用性の有る内容とは言い難いですが、思い入れのある記事ということで紹介します。
補足
【Kotlin】for文、forEach文のインデックス(に限らずラムダの引数)はimmutableという記事も書きました。
実用面で言うと、Java
でimmutable
にすることを重視するとどんどんダサくなっていくのに対して、Kotlin
では最初からスマートな辺りがいいですね。
あとがき
ブログ本数で言うと学生時代は年100本程度書いていたので、それに比べると就職してからの1年でアウトプットのペースは落ちたかなと思います。
振り返ってみると今年は業務が物凄く忙しく、ブログの内容も個人開発というよりは業務で扱っている内容が多かったので、来年はもう少し自分で興味を持って開発や探求をし、その上で記事を書きたいという思いがあります。
また、自分のチームでは10月よりKotlin
を導入しているので、業務由来に関してはJava
よりKotlin
の記事を増やしていきたいですね。
来年も目標は80記事ということで、この記事を終わりにします。
今年も残り少し、皆様良いお年を~。