読者です 読者をやめる 読者になる 読者になる

tech.guitarrapc.cóm

C#, PowerShell, Unity, Cloud Platfrom Technical Update and Features

2016年を振り返って

Review

振り返りにはいくつか種類があると思っています、短短期的、短期的、中期的、長期的.... スパンの取り方、タイミングは人によってだと思いますが一年の振り替えりは中期的な振り返りとしてマイルストーンを測るのは私にあっているようです。

さて2015年からどうかわったか自省します。

tech.guitarrapc.com

目次

PowerShell

言語としてのPowerShell は、「2016年 PowerShell は転換点を迎えた」と思います。最たる象徴が Github におけるオープンソース化です。Pester や PSReadline といったOSSライブラリのコア取り込みからここまで2年。PowerShell Team は マイクロソフトの中でも最もコミュニティとの関わりが深く、強いチームだと思いますが、2年でここまでもってきたのは素晴らしいかと思います。紆余曲折があり、今もありますがきっと良い方向に進むでしょう。

PowerShell の依存性を0に

2015年時点で残っていた最も大きな PowerShell の負の遺産が PowerShell DSC の実行に関するコードベース。WMF4.0 Update ベースだったこれを、C# で制御するように書き換え、PowerShellは Configuration のみとしてWMF5.1 にDSCエンジンを入れ替えました。PowerShellはグラニのインフラに一部残っているものの、大半はさようならです。AWS Windows 自動化ラウンドテーブルのセッション資料公開 でも話ましたが、今後を見据えて、PowerShell DSC も docker file を中心として、ごく補助 または次のステージに行くでしょう。

tech.guitarrapc.com

PowerShellは道具の一つ

結構長年に渡って考えることは好きで自分の中にいくつかのテーマがあるのですが、PowerShell もその一つにして集中して全力で取り込んで考えてきました。

道具は、想定された使いやすい使い方はあるものの、人によって使い方が変わると思います。PowerShellは道具です、「他の一見似たように思えるツールと触り心地、想定された使い方が異なる」、私も含めて多くの人にとってはじめ戸惑いの声が先にあがるような。

PowerShell がどこまで行けるかはまだまだ先がありますが、2015年に考えていたCmdlet は答えではありませんでした。今は、ワンライナーで直感的にかける範囲がPowerShell が多くの人に受け入れられやすく、本領を発揮できるかなぁと思っています。

ls | where Extension -eq ".png" | sort LastWriteTime | select -First 1

ちょっと足を伸ばすと様々なことができます。直感とは反する挙動も出てくるでしょう。*1

その人にとってPowerShellの利用が「道具に使われずに使う」、「上手くマッチしたときに使ってよかった」と思ってもらえると嬉しいですね。PowerShellを使わなくても色々な手数はあります。現在と未来をみつつ、うまく判断できればいいと思います。

CSharp

今年は言語として完全にC# な年でした。ほぼ100% でしょうか。書いていると自分の手持ちのカードの少なさにはいつもしょんぼりします。

さて、ブログで主に扱ったのは Serverless でした。

tech.guitarrapc.com

2016/4/2 にリリースされた AzureFunctions に始まり、2016/12/2 にリリースされた AWS Lambda on .NET Core とクラウドプラットフォームにおけるそれぞれを実際に使うために取り組んでいました。幸いにも実は出て、グラニにおける多くの処理が Serverless に移管されました。ほっておくと複雑化するものがシンプルさを再び取り戻せたのは非常によかったと思います。「使えるものを使えるようにする」というのをブログで書くかどうかの基準にしているのですが、Serverless は「より良く使えて損が今のところ小さい」ので引き続き活用できるといいと思います。

さて、C# を自分の中心言語としたときに、性能と書き心地(読みやすさ) を重視する貴重な気づきをいくつかもらいました。振り返ると自分がおろそかにしていたことで、非常によくないなぁと思うところがあり真摯に反省です。手数の少なさが色々苦しいのでお勉強をより一層ですねぇ。ムズカシイ... ただ、ペアプロに近い状況がしばらくあり、そこで得たものはとても大事にしています。人の目って大事ですね。心底感謝しています。

仕事

シフトと集中とチームがテーマでした。結構ぎりぎりまできました、年末年始もっとゆっくりしたいと思ったのは社会人になって初めてです。*2

私はグラニでこれまでインフラエンジニアとしてやって来ました。入社時点で求められていたことがそこにあり、発揮できるように努めてきましたがそれも幾分落ち着き、夏からVRエンジニアに転向しています。VRでは、どう書けばよりよいのかがわからない状況からスタートして、一つのコンテンツを作り終え、新しいコンテンツに向けて進んでいます。1人で過ごす期間があったこともあり、自分のできないことを自分で突きつけられるのは趣深かったです。Five order of ignorence ってありますが、毎日が 0OI や 1OI っていう転職時にあるあるを初心に返って痛感するのは良いことですね。人がいない方が集中できるかどうかに関して、自分の傾向が明確に掴めたのは生きていくのでしょう。

集中力は少しは解消してもののまだまだ課題です。昔から 集中って個人としてのメリットとチームとしてのデメリットがあり、バランスが難しいと思っています。チームが変わると必要となる集中の質も変わることも再確認できたので、いい加減今年は決着をつけたいですねぇ。

小さいながらVRチームが形成される中で、考えることも多いのですが今年最優先はゲームのリリースです。

記事

すさまじくムラがありましたが、昨年よりは多かったようです。

2015年、そういえばPowerShell に関して登壇、アドベントカレンダー参加しませんでした。Build Insider の連載は一つだけ更新しました。

www.buildinsider.net

このあたりは性格が表れてしまいますが、今の自分にとって 真正面から取り組むものがシフトしたことをふとした時に感じてます。おそらく今後もこの傾向は維持され、C#、VR、Unity に関する記事が増えると思います。

来年

ゲームを出す、そして次のVRコンテンツを出す。Done is better than perfect は、ここ7年ぐらいの私の根幹においている考えですが、取り組み方の変化を感じていて今年何かしら結実させたいです。

*1:PowerShell には仕様通りでも

*2:そういえば初めて年末年始に休んでいます