C++幼女先輩

プログラミング成分多め

WindowsUpdateかけたら起動しなくなったので再インストール

今日は長いぞ!!

昨晩、Windows10が検索バーが何も出ないという不具合に遭遇し
緊急WindowsUpdateした
私は、検索バーのヘビーユーザーなので、ほんとあいつが居ないと効率が悪い

ところが、WindowsUpdateしたら画面真っ黒でWindowsが死んだ
f:id:murasame-labo:20200208181000j:plain

原因として色々と思うところはある
まず、開発のためにプレビューバージョンのWindowsであること
また、RamDiskWindowsのTempファイルを作っていたため
最近はないといわれてはいるが、WindowsUpdateがTempにファイル置いて再起動した可能性もある

リカバリとか頑張ってみたが、そもそも起動画面がバグっているので
あきらめてクリーンインストールにした
f:id:murasame-labo:20200208181023j:plainf:id:murasame-labo:20200208181034j:plainf:id:murasame-labo:20200208181043j:plainf:id:murasame-labo:20200208181054j:plain

ファイルバックアップ

まず、私はこういう時のためにバックアップ環境を用意している
もちろんMacbookWindowsノートPCもあるのだが、いざという時のために
ほかのSSDディスクに、すぐに仕事できるバックアップ環境を準備している
当然、必要なデータはほとんどクラウドに保存している
具体的にはドライブは下記のようになっている
Cドライブ。NVMe めちゃ速いSSD 1GB。メイン環境 Dドライブ。4TB HDD。データのバックアップや、クラウドデータの同期用
Eドライブ。2.5SSD 512GB。6か月前の開発環境。いざという時のホットスタンバイ用

その他、SSDは外付けで4個ぐらいある
なので今回はEドライブのWindows10を起動させ必要データだけDドライブに落とした

といっても、ほとんどはクラウド上なので、Dドライブに落としたのは
仕事用のディレクトリ(全部クラウド同期しているが、コミット前のものもあるかもしれないので)
動画編集用ディレクトリ(サムネイルテンプレートや編集前動画ファイル)
.sshファイル
ほんとこれだけである。

インストーラ作成

インストール用のDVDは持っているのだが、USBからインストールするほうが現代風である
しかもDVDだと古いバージョンなのでインストール直後に大規模なWindowsUpdateが走る
そのため、最新バージョンのWindowsのインストールディスクをUSBに作るほうが良い
一応半年前のイメージは持っていたのだが、この際 起動USBを最新にしようと思う
当然UEFIブートにする
UEFIとレガシーの違いは私も完ぺきに理解していないけどMBRではなくGPTというものになり
どうやらレガシーではプライマリパーティションは4個までだったが、UEFIでは起動数の制限が緩和されているようだ

UEFIになるとBIOS画面もかっこいいんだぜ!!
f:id:murasame-labo:20200208181104j:plain
昔の黒画面に文字だけの、マウスも使えないBIOS
謎の中途半端にマウスが使えるAMI BIOSとか懐かしい

まずはブート用USBメモリパーティション確認
f:id:murasame-labo:20200208181210p:plain
ディスク3のところ。こいつはWindows10以外にも FreeBSDUbuntuの起動もできる
そしてMicrosoftからWindows10のイメージをダウンロードし、USBに焼きこむ
f:id:murasame-labo:20200208181214p:plainf:id:murasame-labo:20200208181218p:plainf:id:murasame-labo:20200208181222p:plainf:id:murasame-labo:20200208181226p:plain

これでインストールディスク完成

インストール

USBインストール(UEFI)

BIOSでブートシーケンスをUSBを1stにして再起動
インストーラーが起動する
f:id:murasame-labo:20200208181114j:plainf:id:murasame-labo:20200208181124j:plainf:id:murasame-labo:20200208181135j:plainf:id:murasame-labo:20200208181146j:plainf:id:murasame-labo:20200208181157j:plain

おなじみの画面が出て、壊れたSSDパーティションを全部削除し、そこにインストールする
一度再起動を挟み、Hello, Windows10
あとは、設定をしていく

Chromeインストール

OSを起動すると最初にEdgeが立ち上がりますよね
Edgeも良いブラウザと思いますよ
でも、ChromeGoogleアカウントに結び付いたパスワードやら設定が非常にNEEDなので
最初の作業はChromeをダウンロードし、デフォルトブラウザをChromeにすることなんですわ・・・
そして、ChromeGoogleアカウントにログイン。よし、これで安心した

ビデオドライバ

nVidiaよりビデオドライバ落とします
といっても、インストール直後でも解像度出てたんですけどね

Explorerの設定

プログラマにはイランお世話の設定になってるので
隠し属性ファイルの表示や拡張子の表示など行う
ほんと、なんでこれがデフォルトじゃないのか・・

バックアップファイルを戻す

Dドライブにバックアップしたデータを戻します

システムドライバ

マザーボード用の各種I/Oのドライバをインストールします
内臓Sound、内臓LAN、内臓ビデオカード、ストレージなどなど IntelのチップなのでIntelが多いです

ゲーム

ダウンロード量がとても大きいものをとりあえずダウンロードする
SteamとBattleNetをインストールし、必要ゲームをインストール
Discordもセットアップ

Cloudストレージ

共有先はDドライブにしているので
Googleドキュメント、OneDrive、Dropboxをインストールし設定する

itunes

音楽ファイルはDドライブなので、そこを共有
いつもitunesの設定はドキドキする

開発環境

SourceTree

いつも通りのやつ。

MicrosoftOffice

Office365なので余裕

Slack

チャンネルを登録するのがだるい

VSCode

Pluginは必要になったら都度入れよう

Docker、WSL

OSのバージョンにも依存するので保留

Jetbrains色々

VSCodeだけでいいけど、一応 PyCharm、Goland、CLion、ReSharperおよび.net各種、WebStorm
などを入れた

VisualStudio

UNITYで使うよね

UNITY

とりあえずHubだけ

OpenVPN

設定ファイルもバックアップから戻す

RamDisk

SoftPerfect一応入れる

動画環境その他

GimpWebカメラドライバ、DavinchResolve、DuetDisplay

開発環境

とりあえずテレカンが問題ない事を確認
Gitはファイルのバックアップあるので、そのままローカルの.gitあればクローンも不要
WSL2はまだPreviewなので、PreviewOS入れるか悩むところ。。
一応WSL1とDockerを入れて開発環境は整えた
Docker-composeと、レジストリからPullすればよい。Docker
DBのマイグレーションやデータの投入などを一通り行い、たぶん開発可能だろう
ただし、VSCodeプラグイン入れてないのでちゃんと入れなきゃ・・
PyCharm、Golandとどっち使うか決めてない

とりあえず、思いつく必要なソフトはこんぐらいかなあ?
メモリ64MBあるけど、Dockerがいないと、全然余裕ありすぎるなあ・・・RamDisk大きくしちゃおうかなあ・・・

会社で取り組みたい事

フルスタックと言われているエンジニアなので、会社の柱をどうするか悩むよねえ
それをまとめていく

大まかな方針

基本的に私はオープンソースが好きだ。なぜなら、技術を隠匿せず世界に公開すれば、人類の進化速度が増す
そうすれば、最終的に自分の幸せも増え、未解明の事柄が減りプラスでしかないからだ
ただし、現在は資本主義の豚の世界。いや、人間には共産主義は無理で豚でしかないのだろう
会社の利益というのは必要。それらを満たすために私の方針は

技術、フレームワークオープンソースで提供し、その上のビジネスロジックでお金をかせぐ
という、ありふれたモデルを行いたい
具体的にはWordPressなりフレームワーク作って、タダで使っていいよ、お金くれたらコンサルするよ
というモデルである

現在の会社の技術

私を含め4,5人いる
基本的にはゲームプログラマフルスタックだ
フルスタック2名、ゲームエンジニア1名、フロントエンジニア1名、サーバインフラ見習い1名
だいたいそんな構成だ
それに加え、フルスタックの友達が手伝ってくれている

注視したい技術

ゲーム開発

言語フレームワーク

サーバインフラ

サーバインフラではサーバレスを推していきたい
もちろんオンプレなりインスタンス開発は保守でお金を稼げるのだが
そういうアコギなビジネスは狙わず、新規開発を行いメンテはゼロにした方が人類のためだ
サーバレスだと言語はnodeがメインになってくるのだが
最初はnodeで行うとして、今後はC#にシフトしていきたいと思っている
nodeはどのFaaSでも対応しているし、慣れてていいのだが
やはり実行速度の面やセキュリティ 色々考えて難がある
C#やGo、Javaといった高速かつ書きやすい言語をメインにしていきたい
その中でC#を選んだのは下記の事柄とも関係が深い
ただしC#AWSとAzureぐらいでしか対応されておらず、またServerlessFrameworkではAzure C#が未対応
なので、まだC#だけで押し切れないのだが・・

一応他の言語との比較であるが

  • node
    やはりランタイムの速度などに問題がある。ただ 立ち上げ速度は速いのかもしれない
    サーバレスの基本言語なので、当然基礎知識としては使えるようにする

  • go
    最近Goの案件も多く、Go2も控えてて注目言語ではある。速度もとても速い
    goroutineがもてはやされるが、async/awaitも全然負けてない
    このあたりの比較もしてみたいなあ

  • Java
    古くからあり、ライブラリも沢山。大手メーカーなどの案件でも使えるため非常に悩んだ
    ただやはり、ライセンス問題などが大きくのしかかる

  • PythonRuby
    それら使うならnodeでいいよなーって感じ

Webフロント

JavaScript一択ではあるのだが、そうでもない事態になっている
ゲーム会社の利点をいかし、UNITYで作ったUIをWebに吐き出しをして使いたい
またBlazorを使い、C#で作ったSPAをWebに移植したり行ってみたい
SPAであればサーバ側もサーバレスにして、全部C#でサーバ監視いらず安い料金でのサービス運用が可能
夢のようである

ゲーム

UNITYとUnrealがありとっても難しい・・・
やはり仕事でいうとUNITYが必要だ、特に小さな会社では
だがUnrealの魅力もある
のでここは心が揺らぎ両方とした

もしUNITYのみに限定できれば、全部C#で完結する美しい世界が出来上がる

ビジネス的な注視

恐ろしい事に、これが全くないのだ・・
ゲームに専念するでもなく、AR/VRに注視するでもなく、ブロックチェイン、VTuber・・・
色々な新しい技術をかじってはいるが、集約できていない
ここは技術者だから仕方ないんだろうか
新しいものに飛びついて、その時に意気投合したら集約
という流れを行うのだろうか・・

とりあえずサーバレスの波に乗りたい

Youtuber王になる!

という夢を観ました

最近VTuberならびに動画関連の案件も増えたので
ちゃんと勉強すべくYoutuber始めました

www.youtube.com

どんなコンテンツが受け入れられるか不明ですが
とりあえずはアクアリウム、プログラムをメインで行っていきます

皆さんチャンネル登録よろしくお願いします!

アクアリウム履歴

4年ぶりにアクアリウム再開をした
4年前までは、わりと本格的に遊んでいたが、引っ越しで一時中止していた
その中止するまえまでの履歴

アクアリウムは10年ほどかなあ?正確には覚えていない
最初は友達とシェアしている家で玄関に何もないと寂しいと思い熱帯魚をいれた
45㎝水槽で基本に忠実に? ネオンテトラオトシンクルスミナミヌマエビ
濾過は底面フィルターにした。理由は色んなフィルターを試すにしても、底面だけは最初にいれないとリセットになるので
その後、熱帯魚といえばエンゼルフィッシュと思ったが、気性が荒く混泳に向かないのでやめた

その後、コリドラスがかわいいと思いコリドラスを飼った
コリドラスアルビノが売っていた。アルビノの体に皮下注射で色素をいれ、模様を描いていた
たしか屋台の金魚でも同じようなものを見た事あるなあ
ただ、45㎝水槽では狭すぎるので濾過を増やすか大きくする必要があった
とりあえず濾過を追加した。エーハイムの外部フィルターだ
それと同時に、底面フィルターもエアリフトから外部フィルター直結にした
水草水槽にするには、生体が多すぎてCO2不足になるので、とりあえず 濾過ボーイを投げ込んでエアレーションした

結局フエール病にかかり、60㎝水槽を追加した
今までの生体は主に60㎝水槽にうつした
60㎝水槽は底面フィルターと外部フィルターを直結させ、エアレーションなしの水草水槽にした
そして、CO2も添付した
最初はCO2は筒のやつで、CO2スプレーでいれていたが、ランニングコストが悪いので
ミドボン導入した。完全に沼である
60㎝水槽はとても快適でよく育った
当時 リシアマットが流行っていたので、ライトを追加し、酸素を発生させていた
その後、色々研究してCO2の添付はあまり必要じゃない、光量の方が重要だとおもい、CO2は発酵式を自作した

一方、何も使ってなかった45㎝水槽も、活用したいと思うはずである
今までしてこなかった繁殖をしたいと思った
ブリーディングには、水草など邪魔なものをいれないシンプルな水槽が良さそうだが
そこまでガチで考えずに、底面フィルター+投げ込みエアレーションにして水草も入れた
水草は基本的にはウィローモスガボンバなど。あくまで繁殖目的なので魚の状態が見えにくくならないように。
生体は、とりあえずグッピーにした。繁殖が簡単なので。
メダカもいれてみた。卵からの繁殖もやってみたくて

グッピーの繁殖は順調にいった。近所のアクアリウムショップがタダ同然だが買い取ってくれるようになった
むしろ、メインはエサや道具などの物々交換だが
そんな中、人気のあるグッピーを作ろうと思った
タキシード、リボン、ブルー、ブラック・・・
狙ってブリーディングするために、30水槽を増やした
底面フィルターとスポンジフィルターにした。どちらも稚魚吸い込みを防げる
で、狙ったグッピーは45水槽に入れ、その他は60水槽に混泳させる
30水槽は基本的に稚魚を大きくさせる為につかった
産卵ボックスも使い、稚魚が食われず育つようになったので30水槽もブリーディング用になった

メダカもガンガン繁殖した。メダカはコンスタントに売れる。他の生体の餌になるらしい

メダカとグッピーの繁殖も慣れてきたので、他の生体の繁殖したいなーと思ったところで、一時休止中

今度は何を増やそうかなあ

Youtuber始めました

www.youtube.com

Youtuberはじめました
というのも、VTuber関連の仕事も少ししているのだけど
やっぱちゃんとVTuberしないと、ビジネスの会話についていけないのでやってみる
1000人のチャンネル登録を集めれば Youtubeスタジオ行けるらしいので、一度行って調査したい
ってのがモチベーション

まずはアクアリウムの動画からはじめたが、どの話題がくるかわからないので、まずは色々やってみろってかんじ

アクアリウム、ゲームプレイ、プログラムやVTuberシステム開発、ビジネスの話 他は何しようかな?
英語や中国語の勉強とか

とりあえず、まずは日記のつもりではじめる

11月から暫く常駐です

11月からまたしばらく常駐作業です
本当は常駐ゼロにしたいけど、完全にゼロはまだ難しいねえ
自社案件作らなきゃ・・・

でも、再びドリームチームでの仕事なので、楽しみです
なんてったって、私がいるのにですよ、私がシェーダーやアート関連ではなく
サーバインフラメインで考えている
それぐらいの ドリームチームなのですよ!!

ある程度常駐して、持ち帰りいけそうだ!という事になれば
常駐日数を減らして半常駐にできるかなー
あるいはガッツリタスクを早期に切ってしまい
完全に請負を目指そう

ゲーム会社なのに意外と契約がカッチリしているので、そのあたりの厳しさはあるけど
契約がキッチリしているのは安心ですね