青空な日々

ITエンジニア関連で興味あることをアウトプットして共有したいブログ

2020年4月以降の新刊執筆について(宣言駆動)

はじめに

思いつきですが、近々で執筆したい新刊について書いておこうと思います。

昨今の状況から仕方ないのですが、直近で同人誌販売イベントの開催予定がないので、
ここで宣言してやる気に繋げていくのを試して見るか!という感じです。

あとは執筆中の内容を(今度こそ)ブログに書いていきたいと思っているので、その始めとして。

目次


2020年4月近々で書きたい本

  • サーバーサイドKotlin本の新刊
  • SIerのSEのためのモダンフロントエンド入門(仮)
  • まいにち続ける技術(仮)


サーバーサイドKotlin本の新刊

直近の新刊でやりたかったけど、できなかったこととして以下を挙げていました。

  • 画像投稿
  • 複数テーブルの検索(JOIN)
  • ツリー表示
  • レスの投稿

このうち、画像投稿と複数テーブルの検索はぜひやりたいと考えています。
これらはやってみたいのもありますし、
バックエンドでの処理としてよく使われるので需要があると思っています。

ですが、ツリー表示とレスの投稿は掲示板としての機能になり、
別に掲示板を作りたいわけではないので、もういいかなーという感じです。

これに追加として思いついたのが、ユーザー認証にOAuthを用いる認証を試してみたいです。
私がなにか個人サービスを作るとしたら、
TwitterFaceBookGithubGoogle認証あたりを用いてログインさせると思います。
なのでそれを試して本にしたいなーと思います。

もうひとつ、Spring Bootのバージョンアップをするという内容も書きます。
これはもう実際に作業したので、すぐブログにアップしたいお気持ち。

あと将来的な話で次の新刊に乗せるかは未定ですが、
Springフレームワークには様々なフレームワークがあるので、
それを紹介しつつ、試してみた結果を載せてみたいと思っています。

あとは今までずっとSpringフレームワークだけで紹介してきたので、
そのうち純Kotlin製のフレームワークであるKtorでの紹介をしてみたいと思っています。

SIerのSEのためのモダンフロントエンド入門(仮)

私のJavaScriptの知識と経験はバニラJS(ES5まで)、JQuery(業務では1.6くらいまで)です。
いまの会社ではAngularJS、Reactを使っているので勉強しなきゃなーと思っています。

ですが、Angular(AngularJS)、React、Vueとかって覚えること多すぎじゃありません?
SIerで業務システムを作っていたつい5年前とかの案件では、バニラJSで十分だったのに…。
(いまもそのシステムはバニラJSで動いているはず)

ここで言いたいのはバニラJSが最善というわけではなく、SIerのSEとして業務していた頃はバニラJSで十分だったのに、
なぜいま時間をかけてまで勉強して「より複雑にしなくてはならないのか?」と思ってしまうわけです。

いや、わかります。
バニラJSより複雑にしてまでも、効果があるから、というのは分かるんです。
分かるというか推測はできるんです。

ですが、残念ながら私も人間なので、
やはり体感したことじゃないと分からない、体感したいと思ってしまいます。
(これを自覚なしでやると老害です…いや自覚があっても時と場合と環境によりますが…w)

しかし、バニラJSから昨今のモダンフロントエンドまで学ぶには山谷が多すぎます。
なんかバベル?とかある(あった)らしいじゃないですか。
ライブラリ管理とかもしているらしいし。
トランスパイルとかも必要らしくて…。

その辺を飛ばしてとりあえず公式みて触れ、という話も分かるのですが、
「えっ・・・Node.jsとかしらない・・・なにこれ?なんのためにいるの?ライブラリ管理のため?なんのライブラリの管理が必要なの?scriptタグで良いんじゃないの?」というモヤモヤを我慢したまま手を動かすのは苦痛です。
自分なりに「あー分かった。完全に理解した!」となってから学びたい、進めていきたいのです。

これが非効率だ!と言われればそうでしょう。
そのとおりです。
が、効率だけ考えたらバックエンドエンジニアとして雇われている私が、
フロントエンドを学ぶ意味は業務的にないわけです。
(実際Reactつよつよのエンジニアをリファラル採用しているので組織的な責任は果たしていると言える)

という様なお気持ちを実際にSIerでSEをやっていた人(やっている人)の多くは思った(思っている)のではないでしょうか。
僕は思いました。
たぶんこの記事を読んでいる人はプログラミングや技術に興味ある人が多いと思います。

ですが、SIerで働いて実装業務をしているSEの多くは、
そこまでプログラミングに興味がある人は多くないでしょう(独断と偏見とバイアス)
そんな人が山谷を乗り越えてまで、必要もない、効率が悪いのを承知で勉強などしたくないわけです。
(私も仕事のための勉強ならやらないですが、本にしたい欲望があるのでやります)

ですが、その道筋を通った人がいて、同じ様な疑問に対してその人なりの回答を書いた本があったらどうでしょうか?
勉強する気になる、すくなくとも読みたいと思います(私はなる)

なので、こういう本を書きたいわけです。

ちなみに一番最初にやることは公式みて手を動かして、
分からんな???となった部分を調べるので、
結局のところ「とりあえず公式みて触れ」になるのですが・・・w

まいにち続ける技術(仮)

私が最初に書いた技術同人誌は「はじめる技術 つづける技術」という同人誌です。
これは「何かを新しく始めるのも、それを続けていくのもツライよね」という現実に対して、
私がどういう工夫をしてきたか、どう考えてきたか、結果なにを始められて続けられているか?という話を書きました。

この本で心残りだったのは、毎日続ける技術を紹介できなかったことです。
これは単純に「毎日続けるのはツライから長期的に続けることを優先してやらない(ほうが良い)」という趣旨だったのですが、
方法があれば毎日続けること自体は悪いことではありません。

そこで毎日続ける技術を模索してみることにしました。

今回は続けるのもポイントですが、目的を達成するのも重要だと考えて取り組んでいます。
これは続けるのが目的ではなく、目的を達成するために毎日続けたいから、です。

例えば小さな習慣という本があるのですが、これは続けることに重きをおいているので、
やる内容を極限まで減らすことを認めています。

極限まで減らすというのは筋トレなら腕立て1回でもOKとする、みたいなものです。
コレ自体は悪くないですし、有効だと思いますが、
それで筋トレによって達成したかった目標はいつ実現できるのでしょうか?

小さな習慣では始めると高確率で1回以上やるから1回でも大丈夫、とにかくやろう(超意訳)という話になっています。
これも実際そうなのですが、技術としては気分によりすぎていると思います。

小さな習慣ではモチベーションを重視しないのですが、
「高確率で1回以上やる」に頼るのはモチベーション以外の何物でもない気がします。
(なぜ高確率で1回以上やるかは書いてなかったと思います…脳の構造的な話があったかも…)

筋トレなら1回でも良いのかもしれませんが、
絵を描けるようになりたい、英語を読めるようになりたい、新しいブログラミング言語を学びたいという目標に対して、
一日最低のことだけ続けていったとして、本当にいつかできるようになるのでしょうか?

毎日1本だけ線を引いていったら絵が描けるようになるのでしょうか?
毎日1単語だけ英単語を覚えたらいつか英語が読めるようになるのでしうか?
毎日新しいプログラミング言語を1命令だけ書いたら習得できるのでしょうか?

なぜ毎日続けたいか?といったらその方が効率が良い、効果があるからそうしたいのです。
ただ漫然と毎日続けたいわけではありません。

毎日続けることで実現したいことがあるのです。
それについて試してみたい、書いてみたいと思っています。
(なのでとりあえず毎日続けたいだけなら小さな習慣を読めば良い気がしますw)

現在はTwitter#まいにち続ける技術 というハッシュタグで進捗を呟いています。

これまで毎日なにかを1ヶ月間続けて成果を出したことがあるので、
今回は3ヶ月連続して毎日続けてそれが終わる頃に本が出せたら良いかなぁと思います。

さいごに

4月10日くらいに出そうと思って書きかけだった記事を、思い立っていま書き上げて出しましたw
当時はメッチャやる気あったんですが、
なんか突然ダウナー状態になってダラダラとしてしまいました。

コロナ禍によって紙の本を届けるタイミングは遅くなりそうですが、
いまのところ技術同人誌を書くのは辛くも楽しいので継続して書いていきたいと思います。

ちなみにいままで書いた同人誌はこちら(PR)

fortegp05.github.io


とはいえ、実際に新刊が完成するのはいつかなぁw