ウィンドウシステム
コンピュータの操作画面上に複数のソフトウェアの表示領域を同時に表示させ、即座に切り替えて使用できる方式。また、OSなどが提供するそのような機能や、そのような機能を実装したソフトウェアのこと。個々のソフトウェアに割り当てられた表示部分を「ウィンドウ」(window)という。
最大化したり最小化したり、windows + →で画面の右半分に寄せたりできるあいつのことをウィンドウという。アプリというとスマートフォンにインストールして正方形のボタンを押すと使用開始できるあいつのほうが印象強いけど、ブラウザとかエクセルもアプリというカテゴリに含まれる。エンジニア職に就くまでコンピューターには疎かったから、ブラウザやエクセルをアプリと呼ぶのは初めは結構違和感ありまくりだった。ソフトって呼んでたかな?
そうなるとソフトウェアとアプリの違いって何ってなってくるが、沼になりそうなので一旦スルー。
ソフトウェアと言えば、SaaSってhttp(s)で使えるのが売りやからソフトウェアっていうよりWebページじゃない?パッケージで売ってるインストールして使うやつもソフトウェアじゃない?
こちらも調べるのは時間がかかりそうなので一旦スルー。
閑話休題。
ウィンドウシステム、WindowsではOSの一部として存在するが(だからWindowsって言うのか?)、LinuxではOSとは独立してソフトウェアとして提供されているらしい。LPICの試験勉強でX Window SystemとかWaylandとかわけのわからん言葉が出てきて戦意喪失してる。一台のPCでクライアント・サーバモデルを採用してる?は?どういうこと?意味不明すぎる許せん。
ほかにも、
「ユーザが操作しているのがサーバ、リモートで動作するのがクライアント」となります。なぜこうなるかというと、X Window Systemの「機能を提供する」のが「サーバー」であり、その機能が、ユーザが操作する側に存在するためです。
X Window System – Linux技術者認定 LinuC | LPI-Japan
まじで何言ってるかわからん。とんち?
参考サイト
ウィンドウシステムとは – 意味をわかりやすく – IT用語辞典 e-Words
Brilliant Jerk(ブリリアントジャーク)
優秀であるがチームに悪影響を与える嫌な奴のこと。
Netflixが自社のValueページにおいて、Brilliant Jerkはチームに不要と断言したことで一躍有名になったらしい言葉。語源や由来は調べたもののわからず。
参考サイトの2つ目に乗せている記事?たとえ話?に出てくる
【想像上のボブ、自分勝手でタチの悪い凄腕エンジニア】
に関して、記事の中でも説明されている、以下の部分が自分の考えと結構近かった。
・ボブは本当に有能なのか?
タチの悪い凄腕エンジニア|水屋亜次郎(みずやあじろう)
ボブは他人の仕事から信用をえているので、これについて言いきるのは難しい。ボブは業界で敵を作っている、それに一部のスタッフは彼の仕事を意図的にサボることをする。長期的にそれらがボブのキャリアを傷つけている。結果としてボブは本当のところ有能ではない。
有能とか優秀とかって数多くの側面の総合評価として与えられるものとして仮定すると、チームの中で働く人間を評価するうえではチームの雰囲気に対して与える影響はかなり大きなウエイトを占めていると思うので、そもそもこういう人って有能とか優秀として定義するんですか?という気持ちがある。
マネージャーとか経験すると理想はそらそうやけど今こいつ切ると苦しいねんなあ~とか思うのかもしれないですね。語り得ぬものについては、沈黙せねばならない。
参考サイト
ブリリアントジャークとは?3つの対処法と1.1コミュニケーション – 魔法剣乱れ打ち
タチの悪い凄腕エンジニア|水屋亜次郎(みずやあじろう)
アクティビティ図
UML(統一モデリング言語)の一種で「システム実行の流れと条件分岐」を図解したもの。
応用情報技術者令和2年秋期問46 アクティビティ図の特徴はどれか|応用情報技術者試験.comより引用
システムの流れを記述するのがUMLだが、アクティビティ図は特に「実体の制御の流れ」にフォーカスしている。実体の制御とは「どのような行動(アクティビティ)が発生するか」を指している。
フローチャートに似てない?ってかフローチャートやんと思ったけど、こんな記述が。
採用する規格にもよりますが、一般的にフローチャートは並列処理の記述ができないことが多いです。もし記述ルールにこだわらないのであれば、フローチャートとアクティビティ図の違いはほぼないと言えるでしょう。
ただし、独自の記述ルールは保守性・可読性が低下するリスクがあります。ビジネスロジックを明瞭にする目的ならアクティビティ図、ソフトウエアの詳細設計ならフローチャートもしくはほかのUML図の利用をおすすめします
アクティビティ図(フローチャート)の作り方・活用法を初心者向けに解説 | Cacooブログ
フローチャートのほうが上位概念で、記述のルールが定まっていてUMLの一つとされているのがアクティビティ図って感じか?
ちなみに、上図のレーン1とかレーン2ってところは「スイムレーン」と呼ばれていて、その動作を行う人物やシステムの名前が入る。ユーザーとか勤怠管理システムとかそんな感じのやつ。
スイムレーン、直感的でわかりやすくていいですね。
参考サイト
アクティビティ図(フローチャート)の作り方・活用法を初心者向けに解説 | Cacooブログ
ポートフォワーディング(ポート転送)
インターネットから特定のポート番号宛てに届いたパケットを、あらかじめ設定しておいたLAN側の機器に転送する機能。
SSHを使ったポートフォワードが主流っぽい。SSHポートフォワーディングは以下の3種類存在する。
- ローカルポートフォワーディング
- リモートポートフォワーディング
- ダイナミックポートフォワーディング
いずれにしろ、やりたいことはSSHで暗号化された通信を経て、最終目的地となるサーバー(webサーバーであることが多いか?)にアクセスするということ。
これってALBがhttps終端点となっていて、そこからwebサーバーへの通信がhttpになる構成と一緒?
そんな気がする。
参考サイト
ssh接続のポートフォワーディングは3種類ある! | SIOS Tech. Lab
PAM(Pluggable Authenticaton Modules)
Linuxのユーザー認証に関する仕組み。/etc/pam.dディレクトリ配下に設定ファイルが配置されており、設定を変更することで認証の動作を変更することが可能。
suコマンドを使うときにパスワードの入力を不要にすることができるのもこの仕組みのおかげ。
また、Linux自体の認証だけでなく、telnetやssh、sambaなどのアプリケーション認証に関しても、PAMを利用できる。これによって、認証処理をアプリケーションから独立させることができ、認証方式を統一することができるというメリットがある。
標準の状態では、PAMは/etc/passwd(また、これを暗号化した/etc/shadow など)の情報を元に認証を行う。
コマンドもアプリケーションというのか……
プロセスとして動いてるもの=アプリケーションという認識でいいのかな……
アプリの実態が掴めない……
真実を疑え。未来を掴め。
ちなみに、「PAM」と検索すると、特権アクセス管理(Privileged Access Management、PAM)の記事しか出てこない。こちらも権限とか認証の話っぽいのでややこしい。PもAもMも違う単語やけど。
こちらのPAMは、IT環境内のユーザー、アカウント、プロセス、システムに対する高いレベルの(=特権)アクセス権や各種権限をコントロールするためのサイバーセキュリティ戦略、及びそのためのテクノロジーのこと。らしいです。
参考サイト
PAMを理解する – Linux技術者認定 LinuC | LPI-Japan
PAM – Linux技術者認定 LinuC | LPI-Japan
PAM(特権アクセス管理)とは?|Safeguard – ジュピターテクノロジー株式会社