地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

2020-04-01から1ヶ月間の記事一覧

MarkdownのLintツール

ドキュメントの整備なんかをする際に適当に突っ込んでおくだけでも良さそうなツール。 markdownのlintツール : markdownlint github.com markdown内のリンクが有効かどうかを確認するツール : markdown-link-check github.com GitHubActionsでやるならこんな…

kubectlコマンド一覧

Kubernetesの基本コマンド (1) podを作成 kubectl create -f [Pod定義ファイル] (2) rc(Replication Controller)を作成 kubectl create -f [rc定義ファイル] rcを作成すると、複数のpodを一括管理できる。また、いくつpodを起動するかを規定し、podが停止す…

cpanmのビルドログ

cpanmのビルド(インストールログ)はinstall.logって感じで出力される。 コマンド自体の終了ステータスが1以外の時には下記を確認することで何が失敗したかなどの結果を確認することができる。 Test Summary Report ------------------- t/01_Module_Load_Con…

Ansibleでcronを設定するTIPS

- name: set cron become: True template: src: templates/cron.sh.j2 dest: /root/cron.sh - name: set cron become: True cron: name: backup minute: 0 hour: 3 job: "sh /root/cron.sh 1>> /var/log/nas-log/exec.log 2>> /var/log/nas-log/error.log" s…

【Linux】カーネルのtcpソース

sys_listen() システムコールで呼ばれる大元の関数 引数から作成されたソケットを取得 backlogの精査 inet_listen()の呼び出し inet_listen() inet_csk_listen_start()

構造体を初期化する際はメンバも指定する

go

goでの構造体の初期化と同時に値を代入する方法は2つあってメンバを順番に入れる方法とメンバを明示的に指定する方法がある。 type T struct { Name string Age int } こんな構造体があるときに初期化は // 1 t := T{"tanaka", 50} // 2 t := T{Name: "tanak…

Quic対応Nginxを試す

TCPからUDPベースでのhttpであるQuicをNginxで試してみる。 Nginxbのメインラインとしてはバイナリをそのまま使えるってわけでなく外部で足されているパッチを当てビルドオプションを指定して自前ビルドが必要。 手順はこの辺を参考 blog.cloudflare.com ngi…

【k8s】masterで動くコンポーネント

k8s

Master Nodeにデプロイされるコンポーネントの役割は以下のようになっています。 コンポーネント名 役割 kube apiserver KubernetesのAPIを公開するコンポーネント。kubectlからのリソース操作を受け付ける etcd 高可用性を備えた分散キーバリューストアでKu…

ciで使えるgitコマンド tips

ciで使えるgitコマンド # git diff オプション git diff [<options>] [<commit>] [--] [<path>…​] git diff [<options>] --cached [<commit>] [--] [<path>…​] git diff [<options>] <commit> <commit> [--] [<path>…​] git diff [<options>] <blob> <blob> git diff [<options>] --no-index [--] <path> <path> # git diff でファイル名のみ表示する…</path></path></options></blob></blob></options></path></commit></commit></options></path></commit></options></path></commit></options>

【GitHub Actions】Dockerを使うテンプレートyaml

ベース name: Push Docker image to ECR on: push env: # BuildKitを有効化 DOCKER_BUILDKIT: 1 IMAGE_NAME: sample IMAGE_TAG: test jobs: build: name: Build image runs-on: ubuntu-18.04 steps: - uses: actions/checkout@master - name: Login GitHub R…

github actions pythonのキャッシュパス

pythonのci環境でpipなりのインストールを高速化する際のキャッシュのパス(osごと) Ubuntu /opt/hostedtoolcache/* Mac /Users/runner/hostedtoolcache/* Windows C:\hostedtoolcache\windows* ubuntuとmacは同じかと思ってたけど違うのでエラー出るので注意…

fmt.Printfのフォーマット演算子

型 verb 論理値 %t 符号付き整数 %d 符号なし整数 %d 浮動小数点数 %g 複素数 %g 文字列 %s チャネル %p ポインタ %@ %#v Go言語の構文で表現。boolでもsliceでもstructでも使える fmt.Printf("%#v\n", &[]int{1, 2, 3}) %T 価の型を出力。結構なにが返って…

vim-go: could not find 'goimports'. Run :GoInstallBinaries to fix it

色々いじってたらgo開発環境のvimがおかしくなった。 vim-go: could not find 'goimports'. Run :GoInstallBinaries to fix it vim内で:GoInstallBinariesを実行することで解決。 ついでにcoc関連でgoplsもうまく動いてなかったようなので再インストール イ…

nginx open_file_cacheで静的ファイルのcache

open_file_cacheを利用するとファイルディスクリプタやサイズ、更新時間といった情報をキャッシュすることができる。 設定例 open_file_cache max=200000 inactive=20s; open_file_cache_valid 30s; open_file_cache_min_uses 2; open_file_cache_errors on;…

Gatling シナリオ Tips

概要 github.com ディレクトリ構成 ├── LICENSE ├── bin │ └── gatlingやrecorderの実行ファイルが格納されている。 ├── conf │ └── 設定ファイル全般 ├── lib │ └── gatling自身が利用するjarファイルなど ├── results └── テスト結果のログ、レポートの生…