makotan _at_ gmail dot com

ふんわり不思議だなぁって思ってたこと

プログラミングを上手くなりたいって人は一定数まわりで見かける

めったに使わないような技術に詳しい人もある一定数で見かける

でもDB設計に興味を持つ人がめっちゃ周りに少ない

 

個人的にはだいぶ不思議だなと...

 

 

プログラムとデータ構造は切っても切り離せないもの

どんなプログラミング言語もデータ構造に依存してる

DBといえばある意味データ構造の塊

なのにDB設計には興味ない

 

 

全く理解出来なかった〜〜

 

 

ま、別に良いんですけどねw

 

 

キーボードショートカットがアレなのでStream Deck

MSFSでStream Deckを使って操作してるのを見て、これは凄い!って思って

で、Amazonを見に行って金額を見ると...お、おう...ってなったので

流石にこのためだけに買うのはなぁ〜と(今更感)思い

 

そうだ!intelliJでたまにしか使わないショートカットをいっぱい用意すれば

メニュー経由で操作しなくて良いのでは!?

これならMSFSの為だけではなく、IntelliJでも使えるから大活躍!

という思いつきでポチ...るには少々気合いが必要な値段w

 

あ、iOSのアプリがある ... そして手元には旧になってしまったiPad proが...

 

れっつらごー

最初の1ヶ月は無料なのでこの間に試しまくれと

 

普段キーボードショートカットを使わない奴をポチポチ入れていく

そしてIntelliJを開いてポチポチ

 

こ、これは良い!

 

そして気がついた

iPad proこの操作するにはデカすぎない?

ハードだとボタンだけだから小さい?

iPhoneだともっと小さいって?

とりあえず欲しいものリストにポチッ

 

それ以前にショートカットキー覚えれば良くない?

ほら、Optionとかだいぶ押しにくい場所にあるし...ファンクションキーはfnとセットじゃないとダメだし...覚えるの面倒くさいし...ブツブツ

 

ここにMSFSの各種パラメータが表示されるのか〜いいなぁ〜

(結局MSFSの事を考える人だった

 

TCPが人類に早すぎるのでは説

いんたーねっとを使う上では避けて通れないTCP/IPを人類が理解して使うのは早すぎるのでは?ってよく思ってる

 

実際には存在してないコネクションの概念

論路的にTCP/IPの接続が可能なことを相互に確認して、それが次の処理でも使える状態にする程度の意味合いなんだけど、実際にネットワークに何かを繋いでるわけでもなく、パケットのやりとりに変換されるのに存在する謎の概念

 

host名と実IPの変換

host名では繋がらないってなんですか?IPに変換する必要あるんですね?っておもったら、IPアドレスも接続元に応じて実IPアドレスを切り替えれるとか謎なことを言い始める複雑怪奇なIPアドレスの仕組み

 

TCP/IPコネクションの上位のプロトコル

TCP/IP単独ではやりとりにしか使えないので、そこに意味を持たせるプロトコルを理解する必要がある。しかもさらにプロトコルベースのエラーとTCP/IPレベルのエラーも共存するので、実際にどれがどれなのかどうやって識別するんですか??ってなる

 

複雑怪奇なコネクションプール

コネクションは実際には存在してないはずなのに、コネクションをプールして再利用するという挙動な上に、初期設定でNコネクションを自動的に作ろうとする奴もいたり、コネクションプールに溜まって一定時間経つと自動的に閉じられるという謎の挙動。さらにたまに上限数設定があったりして、適切ではない状況を検知するのは至難の業

 

それらを簡単に使えることを目指したライブラリ

一見するとこんな複雑な物を簡単に使えるんだから良いことだと思わせて理解してない人類を集めておいて、謎な挙動をひた隠しにしてエラー時のハンドリングを難しくしていたりする恐ろしい奴

 

サービスによっては存在するリトライルール

なんらかの一時的エラーが返った場合はリトライしましょうって書いてるのにエクスポネンシャル・バックオフとか謎な事を言って、まずはN秒まってそれでもエラーならN*2秒待ってを繰り返してM回エラーになったらエラーとして扱ってくださいというルール

 

サーバに接続するために使うロードバランサー

IPアドレスが実はサーバそのものじゃなくてロードバランサーのもので、ロードバランサーが実際のサーバに接続して・・・って何階層入れるんですか??

なのにコネクションはサーバと接続??よくわかりません・・・

 

SSL接続の謎挙動

SSL接続を有効にするとそれだけで数百ミリ秒の処理時間がかかるとか、SSLにバージョンがあってそれによってエラーになるとか、実は既にSSL接続じゃなくてTLSっていうのが主流なんだよとか、素人殺し感満載なSSL接続方式

 

サーバによって存在する接続上限

TCP/IPの接続に接続の上限があるとかポートの再利用が必要だとか謎の事を言ってくる某OS、しかも環境によっては変更困難だったり色々あるっぽい。この上限にぶち当たってもそういうエラーじゃなくて単なるコネクションエラーになるところが更に状況を悪化させる

 

これら全部を理解した上で、使えって言われても困るよな...

コード生成をぼんやり考えてた

GWなので・・・

 

A型(type-A)

Excel等のツールだけを使ってコード生成する

Excelの式とかmacroとかを駆使する

定義と生成の距離が短い

 

B型(type-B)

既存の何らかの定義を読み込んでコード生成する

DBのSchemaとか、ソースコードとかを入力として使う

一種類の定義からかなりの種類の出力が出来る様になる

 

C型(type-C)

専用の定義を使ってコード生成する

専用のエディタがあったり、yaml/jsonを入力として使う

定義した内容を使った定義が出来る

広範囲のコード生成が出来る

 

1種(type-X1)

生成した物はプログラマには触らせない

専用ツール上で動作するためのコードを生成する

 

2種(type-X2)

生成したコードはプログラマ変更する前提

再生成は出来ない

 

3種(type-X3)

生成したコードは拡張ポイントを使ってプログラマが動作を変える

再生成も可能

 

たとえば・・・って書こうと思って例が懐かしすぎて止めたw

型A,B,C

種1,2,3

はそれぞれ組み合わせが自由なので

YYYってツールはtype-B2とかの表記が出来るよと

 

今のところ自分が認識してるコード生成ツールがこの分類でどれかに当てはまってる

そしてそんなことを考えてると言うことは・・・

 

to be continued(嘘

MSFSでMarketplaceがグレーアウトした

2021/04/07時点のバージョンの話

 

先日のバージョンアップ辺りから起動直後にXBOXの画面が見えてそれからMarketplaceがグレーアウトして使えない...それはそれで困る...

 

まぁF15飛ばしたいとか困るので対応を探していくと・・・

OSに英語のlanguage packが必要なのでOSの設定でインストールする

XBOXコンソールコンパニオンっていうソフトウェアを入れる

XBOXコンソールコンパニオンでStoreと同じアカウントでログインする

というステップが増えてた

 

https://flightsimulator.zendesk.com/hc/en-us/articles/360016892819-Access-to-the-content-servers-is-currently-unavailable-error-message-Microsoft-Store-version-

ここをみると何やら見慣れない奴が居たのでこっちを参考にしてみた

 

https://flightsimulator.zendesk.com/hc/en-us/articles/360017006900-The-Marketplace-and-or-Online-services-are-grayed-out-

この対応方法を色々頑張ってたんだけどダメだった

 

マーケットプレース等のグレーアウト問題 - Microsoft Flight Simulator 日本語 Wiki*

ここも見たんだけど、今回はダメだった

IPv6を通さないルーティングもやってみた)

 

XBOX対応を進めてるのか〜っていうので理解は出来るけどだったら必要なソフトウェアのインストールもセットでやってくれ!

認知範囲

人にはそれぞれ認知してる範囲があって

その範囲外のことは知る事が出来ない

でもその範囲外からの影響を受けることが多々あって

それの反応は

無視する

拒絶する

受け入れる

の3つ、それぞれメリット・デメリットはあるけど

 

 

ただ、人が他人の能力を見る時は自分の認知範囲に他人の認知範囲を重ねるので、案外低く見がちになる。

特に自己評価の高い人は認知範囲が広いと思い込んでる場合があるので面倒なことになる

 

 

極まれに認知範囲のめっちゃ広い人とか、そもそも認知範囲が存在しないような動きの人がいる。

この二つの人を識別するのは難しい

 

 

認知範囲を広げる方法は唯一、範囲外からの影響を受け入れて興味を持つことだなぁ〜って思った

 

要はバランスなんですよ・・・っていう意味

あるときに「そのバランスをどう取るのかが難しいんだよ!」って聞こえてきて、そうなんだ・・・なんでだろ・・・って思っててしばらくしてお風呂で理解した

 

 

バランスを取るには

周囲の力関係の理解が必要で

周囲の力関係の中で良い塩梅に設定することを

要はバランスなんですよ〜の一言で片付けてた

まずは周囲の力関係の理解を先にしないと意味がなかった

 

 

ということで、周りのライトサイドとダークサイドの力関係を理解しつつ

フォースのバランスをとることが大事って事で

シスにならないように頑張る

ってことですね

(↑これを書きたかっただけ