皆さん楽しくコード書いてますか?
どうも、MGの新人おっさんエンジニア、ma-kです。
MGに転職して来てみたら、いきなり最年長だったのですが割と予想通りでへこんでいません。
へこんでないったら!!
そういうわけで、おっさんとなった今では仕事としてコードを書くことはありませんが、好きでやってたエンジニア、未だ趣味でコードは書いてたりします。
自宅PCで子供たちに邪魔されない隙を伺って
・x86-64アセンブラの爆速さ加減を体感しつつ、出来た物の無意味さに気づく
・デジカメ写真10万枚の整理ツール作ったら欲しかった機能網羅したアプリあった
・某無料のRPAツール使ったら結局VB.Netの知識必須で泣きながら勉強した
割と波乱万丈に楽しく遊んでいます、コード書くのってめっちゃ楽しいですよね、
うん、ほんと楽しい。
##問題は、開発環境
MGでは、色んなモノ作ってますが、JSで多機能かつ見た目が楽しい機能実装している所を見ていると、ついつい自分もやってみたくなったりします。だって画像認識とか簡単なんですよ!すごくない?!
莫大な量の文字列処理するためにうんうん唸りながら最適化してたり、ビット演算を繰り返して地味に高速化を目指したりしてた身からすると、JS読み込んで呼び出すだけで驚きの高機能を実現できたりするのは、できるとわかっていても新鮮です。
ちょっと自分でも試してみたくなってやってみましたが、問題は環境です。
そんな大物作るつもりじゃなかったので、とりあえず。
Win上のvim → FTP → 自前サーバに設置
こんな旧石器時代みたいな環境でやり始めてみましたが、適当なディレクトリにソースを置いてたら思いっきりデグレってしまったり。キャッシュが効いてるんだかFTPでミスったんだかわかんなくなってバグの切り分け苦労したりと、「そらそうやろ」って感じでした、世間のテクノロジー/サービスの進化に背を向けてはいけませんね。
とりあえず、しょぼいコードでもGitHub使おう
→ 劇的に事故が減りました、っていうかなくなりました。
いちいち環境作るのめんどくさいから、Docker使おう
→ 色々HW資源の負担が少ないのに環境をさっさと構築できるようになった、これはスゴイ!
現場エンジニアレベルでは何言ってるんだ今更感ありますが、実際に使って便利さを体感すると結構感動するところです、これをWindows10上で構築するとなると色々と面倒なのです。ほとんどの環境はLinuxありきで作られてますし、Windows上で構築するにはTips多すぎます。上記以外にもApacheやNGINX、その他もろもろWindowsにインストールするのはめんどくさいですし、リモートの個人サーバに一々構築するのも面倒だし小回りが効きません、そこで!
##WSL Windows Subsystem for Linux !!
以前から、ちょっとshell使いたいときに使うためにインストールはしてありました。
ちょっとしたログファイルの整形やらに、shell + sed + AWKを使って簡単にやってしまえるのは本当に楽です。5万行のログファイルをエクセルで集計はしたくないですしね。
なんといってもWindows側ファイルを /mnt/c で参照できるのは本当に助かります。
WSLには1と2があって、共存が可能です(知らなかった)
ちょっとバージョンが違う程度に思っていたのですが、調べてみると
・WSL1. LinuxAPIをWindowsAPIにラップした物、つまり仮想化じゃなくてアプリ
・WSL2. 完全な仮想環境、Hyper-V上で本物のLinuxカーネルを動かす
それぞれメリットデメリットがあるようです、WSL2は1に比べファイルアクセスが遅いとか(そう単純でも無いようですが)、1は微妙にカーネルの互換性が怪しいとか(そりゃエミュレーションだからね)、それぞれ特徴はあるようです。
ちょっとshellを使う程度であれば問題はなさそうですが、色々インストール・構築するとなると、WSL1はなんか問題起こりそうで気になります。
両方共存出来るという事で今のところ両方活かしていますが、基本的にWSL2を使い構築しています。
ここで真面目な記事なら構築手順とか書きそうですが、本当にWSL2だからといって特別なノウハウは必要ありませんでしたので書くことがありません。Linuxに普通にインストールする手順で普通に完了します、ちょっと問題なさ過ぎて拍子抜けするくらいでした。
マシンを別に用意しなくてもまともなLinuxが使えるってホントアリガタイ。
##そしてその日がやってきた
気が付けば、WindowsUpdateにWindows11のインストールボタンが出ていました。
私のPCは割と早い方でした、開発に使っているPCとはいえ全くのお遊び。
これが会社PCだったら最新OSをリリース直後にインストールするなんてあり得ません、どんな障害が出るかわかりませんし、チーム全体で環境はできるだけ統一すべきですから一人だけイキってインストールすれば怒られモノです。
しかし、自宅PCとなると話は別です。使い道は
・家計管理のoffice系作業
・デジカメとホームビデオのファイル管理
・趣味のプログラム
・あんまりやってないPCゲーム
ショッピングとかタブレットで十分なので、PCはほぼパパのおもちゃ状態です。
デジカメ写真やらホームビデオのファイルは、NASと外付けディスクに置いてありますから、電源切っておけばアップデートで消される事故も起こりません(昔あったんですよ)。
しかし、いきなり動かなくなるのは困ります。11から10に戻すことはできるみたいですが、障害あった場合戻せば直るかというとちょっと微妙な気がします。
Intel Killer NICドライバに問題があるとか、Brotherのプリンタで障害出たとか、両方とも該当してたりします。UIがそれなりに変わるところもイマイチ気になります。
これは冷静に考えてやっぱしばらく見送った方がいいかと判断しました、新しいOSにするのめっちゃ楽しいんですけどね。
そういうわけで
#「ポチー」
あるぇ?なんでやねん俺!
アップデートはDL込みで、記憶があいまいですが15分ほどでした、30分はかかっていないでしょう。
再起動も1回、立ち上がる時のウザい機能紹介もあっさりスキップできました。
イメージとしてはWindows 10 21H1の方が長かったんじゃないかなという感じです。
ちょっと使ってみた感じでは、スタートボタンがセンタリングされた事で毎回「おっとそこじゃねぇ」となる事、右クリックコンテキストメニューがちょっと変わっているけどこれは慣れたら多分便利。
似たようなUIの変更があっちこっちに見られます、中にはちょっと不便かなぁ、という所もありますが、基本的にはそう大騒ぎするほど改悪されていない感じです。
個人的にはIMEに起因すると推定していたプチフリが解消されたことが一番助かります、多分Win11のお陰じゃないけど。
噂のAndroidアプリはまだ使えませんし、Teamsの統合もまだ、TPMやVBSは特に体験としては体感できません。
遅くなるといわれていましたが体感できるほど遅い感じもなく、割ときつめのゲームもちゃんと動きました。
問題の WSL ですが 1と2 ともに全く影響ありませんでした。
2はともかく1には影響あるのではないかと心配していましたが、何事もなく使えています、なんかトラブル起こってこの記事に書けることを期待していましたが、全くなにも起こらず困ってしまった結果こんな謎文章を書く羽目になってしまいました。
技術ブログじゃねぇぞこれ!
ごめんなさい