???

作業した、くらいしか書くことないので、最近の自分の位置と転職〜今について振り返ってみる。
すきあらば自分語り、だが自分の事を語る以外にこのブログの存在価値はないので許されたい。
そもそも、わざわざ作曲の修士まで出ておいて、しかも先生方に大変お世話になって講師までさせて貰っていたのに転職したのは、単純にもっと技術力が欲しかったからだった。
独学の限界を感じたし(実際のところ、独学に限界はないのでこれは単純に自分の限界だと思うけれど)、同居人とやっていた仕事の方も行き詰まったので、自分の作りたいものを作るためには技術力が必要だ、これは多分お金にもなるし、今頓挫しているサービスを実現するためにはもうそうするしかないのではないか、となったわけだった。
実際どこに限界を感じていたかというと、アーキテクチャやWEB FrontendとWEB Backendの連携、DB周りなんかの扱いについてだった気がしている。
その辺りははっきりしないし、はっきりしていたら多分独学でもうちょっとなんとかなっていただろうと思う。

本はこの時期に結構買って読んだし、PythonやJavaやScalaのWEB FWは齧ってみたけど(FlaskとかPlay2とかSkinnyとか、あと怨霊ルズ、出たてのSwiftもちょっと触ったしCocos2Dとかもいじってみた)、正直チュートリアル以上のものは出来なかった。
この時期にこそアーキテクチャの本を読むべきだったんだと思うんだけど、そういう概念を「アーキテクチャ」と呼ぶ事自体をあまり理解していなかったように思う。
直後にレイヤードアーキテクチャやクリーンアーキテクチャが流行ったので、タイミング次第ではもっと早く辿り着いていたかも知れない。
が、本を買ってもこの時期だと読み切れていなかっただろうな、という気もする。
オープンソース読む系の本も、基礎知識が足りなすぎて何書いてあるか全くわからなかった。
とりあえず1ページでGoFとPOSAとJ2EEの簡単な説明が書いてあって、この本読む前に理解してね、みたいな事が書いてあった。
何言ってるかわからんってなって終わったが、今見返すと超良書。少し古くなってはいるけど。
これを最初から全部わからない単語を1個1個調べて読んでいくことが出来たら、独学でも全然大丈夫だったんだろうな、とは思う。

転職してから暫くは、そこそこの量のそこそこの構造を持ったソースを読む機会に恵まれたので、本で読んで知っていたはずなのに全然理解していなかった単語の意味が繋がってとても気持ちがいい時期が続いた。
最初にちゃんと勉強した言語がScalaだったのでJava 1.4とかを書くのは結構苦痛だったけど、作業自体は移植やらもうロジックが具体的な数式として表現されているものの実装やらみたいな簡単な仕事ばっかりだったので特に作業に問題はなかった。
移植時に勝手に関数を切り分けて増やしたり結合したり、クラスを増やして構造ごと変えてしまったりと原型がわからなくなるくらい弄り回しても何も文句を言われなかったのも、今になって思えばとても有り難かった。
(僕ならこれまで就職もせずフラフラしてましたとか言ってる謎の未経験者に、最初からそこまでの自由を与える勇気はない。なんか今になってめっちゃ感謝の念が湧いてきた。今度お礼言いに行こ…。)

で、色々(C# (ASP), PHP, 全文検索エンジン(ES, Solr), REST(Like) API、Web Crawler & Scraper, Node.js(Express), Docker, 証明書周り, クラウド(VM, Storage, Serverless, コンテナ周り)とかをちょっとずつ触るなどが)あって、今のプロジェクトになって長いが、なんか最初に知りたかったことはもう大体知っている気がする。
(あ、でもフロントエンドは全く触る機会がなかったので全然できる気がしない。VueとReactは少し触った。本当に少しだけ。CSSはわからん。)

勿論知るにつれて知らない事が同じだけ増えているので全然追いつかないのだけど、そろそろ初心に立ち返って作りたかったもの作る時期では?と思うと、これがまた、なんというか、正直あんまり難易度が変わってない気がしてしまう。
アーキテクチャによる見通しの確保や、各種原則の適用でおそらく複雑性はかなり軽減できると思うのだけど。
なんだろう?いや、でもやっぱり作りかけのものは一旦放置して最初から組み立て直してみるべき時期だよな。

うーん、何か変わったんだろうか。
やってみないとわからないな。

Meeting2

3月に大阪で展示をやるので、その打ち合わせをした。
プログラミングは好きなんだけど、基本的には要件を噛み砕いて抽象を作って、抽象をいかに抽象のまま扱って具象化するタイミングを遅らせるか、みたいな駆け引き(?)が好きなので、やれレイテンシだのメモリの都合だのというのが入ってくると突然僕の好きだったはずの部分が現実に侵食されはじめる。
大抵の低レイテンシ低メモリな言語は抽象を扱う機会や機能が少ないのに対して、Rustだけは思い切って抽象側に寄せているので、展示で使うソフトもいずれRustで書けたら楽しそうだと思っているけど、ハードウェア界隈はそれほどRustの事を気にしていないようで事例があまりにも少ない。
しかし展示物にはリアルタイムに反応してもらわないと困るし、1GBやら4GBやらのメモリを搭載したハードを10個も20個も調達してたら破産するし、そもそもそういうのは大きすぎて要件にあわない。
あれ、ひょっとしてこの界隈向いてない?と思い始めてから6年が経過したが、やっぱ向いてないのでは…?
映像と音楽の生成だけやっていたい(といいつつ音楽もMAXやVSTにべったり頼っているから棚上げされているだけで、自力では全然生成できるレベルではないのだけど…)

Forgot

なんかこう、長文であれを書くぞ!みたいなやつがあって、そうそう、忘れないうちに先に書くか、みたいな、そんなアレだったんだけど、完全に忘れた。
綺麗サッパリ忘却の彼方。

Youkai

“オカルト雑誌ワー”プレゼンツ新春特番妖怪大集合スペシャルの収録を観に行った。
知り合いの怪奇紙芝居師が出演していたためだが、紙芝居は流石のキレだった。
その他については、多分これから僕が言う感想が最も正しいし求められているやつなんだけど、
「え、これ今何を観せられてる??????」
と思っていたら2時間が経っていた。

もちろんいい意味です。

NGK2020S

1年と1ヶ月くらいぶりにNGKに行った。
多分皆そのくらいぶりだったんじゃないかと思う。
ダムナイトの話とTaPLより安い梅酒の話と、キャッシュ更新の話、テニスの姿勢推定の話が面白かった。

一日で3回学生と間違えられた。
貫禄が皆無なのが悪いんで…って凹んでいたら、服装が学生っぽいから…ってフォロー(?)して貰った。
でもショートダッフル好きなんだよなぁ。

夜の部で音楽やSwiftやC++やReactやテニスや機械学習の話をした。

ずっと15分スプリントってそのスプリントの期間は全員でズラしてるのか一斉に15分のスプリントを終えるのか気になっていて、きょんさんの隣に座ることができたのに、結局聞けずじまいだった。