今週の学び part 3
Unity
ExecuteAlways
[ExecuteAlways] アトリビュートを付与すると、PlayMode に加えて EditMode でもイベント関数が実行される。
ただし、PlayMode の時ほど頻繁に実行されないような工夫が施されている。
[ExecuteAlways]
public LookAtTarget : MonoBehaviour
{
[SerializeField]
private Tarnsform target;
void Update()
{
if (target is null) return;
transform.LookAt(target);
}
}
例えばこんなコンポーネントを作ることができる。
CoreCLR
Unity 7 以降は .NET のランタイムとして Mono だけではなく CoreCLR を利用することができる。対応プラットフォームは下記の通り。

CoreCLR を本当に表面だけ見て見た限り
- Roslyn が生成した各種 .dll (ゲームコード(アセンブリ毎), Unity API コード, .NET のコード が CIL + Metadata になったもの) を RyuJIT でコンパイルして機械語にする
- GC や例外処理の実装を機械語で所有している
このようなことをする認識。
AWS
Security Group
AWS が通信しても良い相手、方向、ポートを制限する、仮想的なファイアウォール。

このような設定項目がある。
resource "aws_security_group" "foo_group" {
name = "foo"
description = "bar"
vpc_id = aws_vpc.buzz.id
ingress {
protocol = "tcp"
from_port = 22
to_port = 22
cidr_blocks = ["0.0.0.0/16"]
}
egress {
from_port = 53
to_port = 53
protocol = "tcp"
cidr_blocks = ["192.7.5.0/24"]
}
}
Terraform で記述するとこのようになる。