備忘録

備忘録

UbuntuにPostgreSQLをインストールする方法

Ⅰ. はじめに

タイトルの通り「UbuntuにPostgreSQLをインストールする方法」です

Ⅱ. 環境

  • Ubuntu 20.04

Ⅲ. 手順

1. pgdg.list を作成する
sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
2. 公開鍵を登録する
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
3. アップデートする
apt-get update
4. インストールする
sudo apt-get -y install postgresql-15
5. 自動起動設定
systemctl enable postgresql
6. 外部アクセスを許可する
$ vim /etc/postgresql/15/main/postgresql.conf
listen_addresses='0.0.0.0'

$ vim /etc/postgresql/15/main/pg_hba.conf
host all all 0.0.0.0/0 scram-sha-256

$ sudo -u postgres psql
ALTER ROLE postgres PASSWORD 'my_password';
7. パスを通す(initdb等を利用できるようにする)
vim ~/.bashrc
PATH="$PATH":/usr/lib/postgresql/15/bin/

エクスプローラのナビゲーションウィンドウからホームとギャラリーを削除する方法

Ⅰ. はじめに

タイトルの通り「エクスプローラのナビゲーションウィンドウからホームとギャラリーを削除する方法」です。

Ⅱ. 手順

1. 以下コマンドを実行する
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace_41040327\{e88865ea-0e1c-4e20-9aa6-edcd0212c87c}" /f

reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace_36354489\{f874310e-b6b7-47dc-bc84-b9e6b38f5903}" /f

実行結果

ホームとギャラリーが削除された

MariaDBでfor文を実行する方法

Ⅰ. はじめに

タイトルの通り「MariaDBでfor文を実行する方法」です。

Ⅱ. 環境

  • MariaDB 11.2.3

Ⅲ. サンプルSQL

delimiter //
for i in 1..3
do
  select i;
end for;
//

delimiter ;

実行結果

+---+
| i |
+---+
| 1 |
+---+
1 row in set (0.000 sec)

+---+
| i |
+---+
| 2 |
+---+
1 row in set (0.001 sec)

+---+
| i |
+---+
| 3 |
+---+
1 row in set (0.001 sec)

Prometheus + Node exporter + Grafanaを利用してテレメトリデータをグラフ化する方法

Ⅰ. はじめに

タイトルの通り「Prometheus + Node exporter + Grafanaを利用してテレメトリデータをグラフ化する方法」です。

Ⅱ. 手順

1. 新規ディレクトリを作成する
mkdir telemetry
2. 新規ファイルを作成する

telemetry/prometheus/prometheus.yml

global:
  scrape_interval: 15s
  evaluation_interval: 15s

scrape_configs:
  - job_name: "prometheus"
    static_configs:
      - targets: ["127.0.0.1:9090"]
  - job_name: "node"
    static_configs:
      - targets: ["127.0.0.1:9100"]

telemetry/docker-compose.yml

version: '3.8'

services:
  prometheus:
    image: prom/prometheus
    container_name: prometheus
    network_mode: host
    expose:
      - 9090
    restart: unless-stopped
    volumes:
      - prometheus:/prometheus
      - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
  node_exporter:
    image: quay.io/prometheus/node-exporter:latest
    container_name: node_exporter
    command:
      - '--path.rootfs=/host'
    network_mode: host
    pid: host
    restart: unless-stopped
    volumes:
      - '/:/host:ro,rslave'
  grafana:
    image: grafana/grafana
    container_name: grafana
    network_mode: host
    expose:
      - 3000
    restart: unless-stopped
    volumes:
      - grafana:/var/lib/grafana
volumes:
  prometheus: {}
  grafana: {}
3. Dockerコンテナを起動する
docker-compose up -d
4. WebブラウザでPrometheusにアクセスする

Node exporter の接続状態を確認する

4. WebブラウザでGrafanaにアクセスする
URL http://127.0.0.1:3000
初期ユーザー名 admin
初期パスワード admin
5. GrafanaのデータソースにPrometheusを指定する


6. Grafanaにグラフを追加する


実行結果


留意点

  • ファイアウォール設定を適切に行う

ASP.NET Coreでレスポンスを圧縮する方法

Ⅰ. はじめに

タイトルの通り「ASP.NET Coreでレスポンスを圧縮する方法」です。

Ⅱ. 手順

1. サンプルプログラムを書く
Program.cs

using Microsoft.AspNetCore.ResponseCompression;
using System.IO.Compression;

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddResponseCompression();
builder.Services.AddResponseCompression(options =>
{
  options.EnableForHttps = true;
  options.Providers.Add<BrotliCompressionProvider>();
  options.Providers.Add<GzipCompressionProvider>();
});

builder.Services.Configure<BrotliCompressionProviderOptions>(options =>
{
  options.Level = CompressionLevel.Fastest;
});

var app = builder.Build();
app.UseResponseCompression();

app.MapGet("/api/test", () =>
{
  return "Hello world";
});

app.Run();

実行結果

Brotli
gzip