Skip to content

Instantly share code, notes, and snippets.

Avatar
:octocat:

Ikiru Yoshizaki guitarrapc

:octocat:
View GitHub Profile
@guitarrapc
guitarrapc / AmazonLinux2023_arm64.sh
Last active March 22, 2023 06:52
Get ARM64 Amazon EC2 Images via awscli, pulumi, terraform
View AmazonLinux2023_arm64.sh
# Amazon Linux 2023
# need filter to latest
$ aws ec2 describe-images --owners amazon amazon --filters "Name=name,Values=al2023-ami-2023*-arm64" "Name=virtualization-type,Values=hvm" "Name=architecture,Values=arm64" --query 'reverse(sort_by(Images, &CreationDate))[:5].Name' --output text
# list of amis
$ aws ssm get-parameters-by-path --path "/aws/service/ami-amazon-linux-latest"
# only latest returns (same image id)
$ aws ssm get-parameters --name /aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-arm64 --output text
$ aws ssm get-parameters --name /aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-arm64 --output text
@guitarrapc
guitarrapc / daemonset.yaml
Created March 18, 2023 13:44
Place daemonset without Fargate Node
View daemonset.yaml
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: foo-daemonset
spec:
selector:
matchLabels:
k8s-app: foo-daemonset
template:
metadata:
@guitarrapc
guitarrapc / NotionAI.md
Last active March 17, 2023 02:40
Docker and containerd, Kubernetes container runtime difference on stdout output log on node.
View NotionAI.md

Kubernetes のコンテナランタイムが Docker と containerd に変わることでどのような違いが起こるか例を教えてください。

Kubernetesは、コンテナ化されたアプリケーションを管理するためのオーケストレーションツールです。KubernetesがDockerからcontainerdに移行することで、いくつかの違いが生じます。

まず、コンテナイメージの管理方法が異なります。Dockerでは、コンテナイメージをDocker Hubなどのリポジトリからプルして管理しますが、containerdでは、OCI(Dockerの規格)に基づいて、イメージをプルして管理します。

次に、ネットワーク管理の方法が異なります。Dockerでは、Dockerが提供するネットワークドライバーを使用して、コンテナのネットワークを管理しますが、containerdでは、CNI(Container Network Interface)を使用して、ネットワークを管理します。

最後に、ログの管理方法が異なります。Dockerでは、Dockerデーモンがログを収集して管理しますが、containerdでは、コンテナランタイムがログを直接管理します。

@guitarrapc
guitarrapc / LocalStack_SQS.cs
Created March 9, 2023 10:39
C# SQS request on local with LocalStack. https://github.com/localstack/localstack
View LocalStack_SQS.cs
// using Amazon;
// using Amazon.Runtime;
// using Amazon.SQS;
// using Amazon.SQS.Model;
// using System.Threading.Tasks;
async Task Main()
{
// for LocalStack
var credentials = new Amazon.Runtime.BasicAWSCredentials("test", "test");
View deploy.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: grpcserver
spec:
selector:
matchLabels:
app: grpcserver
replicas: 1
template:
@guitarrapc
guitarrapc / BenchmarkDotnet_Stopwatch.cs
Created February 24, 2023 06:55
Benchmark.NET with Stopwatch
View BenchmarkDotnet_Stopwatch.cs
async Task Main()
{
var summary = BenchmarkRunner.Run<BenchmarkTarget>();
// var sw = ValueStopwatch.StartNew();
// await Task.Delay(1 * 1000);
// sw.GetElapsedTime().Dump();
// await Task.Delay(1 * 1000);
// sw.GetElapsedTime().Dump();
// await Task.Delay(1 * 1000);
// sw.GetElapsedTime().Dump();
@guitarrapc
guitarrapc / UrlIsValid.cs
Created December 20, 2022 01:43
C# can treat http://google.com as valid code.
View UrlIsValid.cs
void Main()
{
// ラベル (http:) + コメント (//google.com) になる
http://google.com
// 条件: 何かしらの文or式が下にないとだめ
for (var i = 0; i < 10; i++) {}
}
@guitarrapc
guitarrapc / 5.1.txt
Last active December 15, 2022 09:01
PowerShell Alias Comparison
View 5.1.txt
Name
----
%
?
ac
asnp
cat
cd
CFS
@guitarrapc
guitarrapc / Program.cs
Created December 1, 2022 03:10
StackExchange.Redis での KeyPrefix 付きの処理
View Program.cs
using StackExchange.Redis;
using StackExchange.Redis.KeyspaceIsolation;
var connectionStrings = "localhost:6379,ssl=false,password=password";
var connection = ConnectionMultiplexer.Connect(connectionStrings);
// Prefix は DB に対してつけることで透過的に処理される
//var db = connection.GetDatabase(); // Prefix なし
//var db = connection.GetDatabase().WithKeyPrefix(""); // Prefix なしと同じ
var db = connection.GetDatabase().WithKeyPrefix("PREFIX:"); // Prefix あり
@guitarrapc
guitarrapc / UdpServerClient.cs
Created October 7, 2022 06:23
C# UDP Server and Client sample
View UdpServerClient.cs
async Task Main()
{
using var cts = new CancellationTokenSource();
var host = "127.0.0.1";
var port = 8125;
using var client = new Client(host, port);
using var server = new UdpServer(host, port)
{