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

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

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

【mac】CrystalDiskMarkがあったので使ってみたメモ

久々にCrystalDiskMarkを調べてたらmac版があったのでメモ的に貼っておく。数年後に見る用。 macbook pro 2018の13インチでストレージは256GB SSD。PCI Express x4だと圧巻の数値になりますね。。

【Linux】メモリに関するメモ

メインメモリ:物理メモリとも。一般に DRAM で提供される 仮想メモリ:メインメモリの抽象。実メモリではない。 常駐メモリ:現在メインメモリにあるメモリ。 無名メモリ:ファイルシステム位置やパス名を持たないメモリ。ヒープ(プロセスのアドレス空間内…

【k8s】セキュリティを高めるCAPABILITIES

k8s

linuxjm.osdn.jp capabilities - Linux のケーパビリティ (capability) の概要 ケーパビリティを使うとroot か root じゃないか、という究極の選択 的な権限の与え方ではなく、もっと細かい単位で権限をプロセスなりバイナリなりに付与してセキュリティを柔…

【Docker】20.10リリースノートが日本語版が出来てた

大分前に英語版はあったけど日本語のも来てたので更新。気になったのを何個かピックアップ。日本語ページ配下にあったってだけでまだ翻訳は全て行われたわけではなさそう。 matsuand.github.io ダイジェスト値によるプルをサポートしていない非準拠 レジスト…

【Bash】小数点演算する

引数で渡された分だけファイル内の数値に0.1ずつインクリメントするスクリプト。マイナーバージョンとかのタグを自動インクリメントしたいみたいなケースで使えたりする。 #!/bin/bash [[ ! -f "version" ]] && touch version [[ ! $# -gt 0 ]] && exit 1 fo…

【Linux】詳解 システムパフォーマンスの読書メモ

1.イントロダクション 視点 ・ワークロード分析:トップダウン ソフトウェアスタックのアプリ側から分析 リソース分析:ボトムアップ ソフトウェアスタックのデバイス、カーネル側から分析 動的トレーシング 本番環境のソフトウェアからあらゆる箇所の経過時…

【k8s】VPAの概要に触れる

HPAの親戚的な機能のVPA。HPAが水平スケールならVPAは垂直にPODをさせます。 ccvanishing.hateblo.jp HPAとVPAの違い 動的スケーリング種別 増減対象 主な用途 HPA 水平 Pod数 Webサーバ VPA 垂直 CPU/メモリ DBサーバ 冒頭でも述べたとおりHPAとVPAではそれ…

QUICおよびHTTP/3対応のNGINXプレリリースされていた

https://quic.nginx.org/ 知らなかった。

【C】IPC メッセージキューのサンプル実装

C

メッセージはプロセス間でデータをストリーム的にやりとりすることが可能で、FIFOやパイプに似ていますが、メモリ上で行なわれるのでより高速です。サンプルを実装してみたのでメモ

【Perl】配列の重複要素を削除する

CIで特定条件のファイルを抽出してテストを行うみたいな実装をしたかった際に配列にファイルパスを突っ込んでたら重複した要素を持つ配列になってしまった。 my @array = ( 'perl', 'php', 'java', 'java', 'php' ); my %count; @array = grep { !$count{$_}…

【Apache】2.4系のconfの雛形メモ

2.2系との微妙な違いにハマるのでメモ 2.2でマイナーな機能とか使っている場合は結構変わっているのでそのまま動かせなかったりするので注意。(change logとか見てるとセキュリティがらみで変わっている模様) ServerRoot "/etc/httpd" Listen 80 Include con…

【memcached】スピンロックでatomic操作を実現するためには

概要 マルチプロセス環境配下における、同一レコードへの書き込みが大量に発生するwrite heabyな環境でmemcachedの更新をどうやってatomicに行うかを考えた時に出てきたスピンロック的なことやってみた記事。 memcachedとは書いたもののCAS操作を提供してい…

【k8s】etcdctlに入門する

概要 Kubernetesのリソースの永続化に使われる高信頼分散KVSのetcd。k8sを学習していくに当たって重要コンポーネントなはずだけど特に単体で情報が乗ってることってあんまなかったので興味本位で調べてみた。 k8sを使った機能自体の拡張とかそのレベルで使い…

【Redis】pythonでパイプラインする

github.com r = redis.Redis() p = r.pipeline() p.set("transError", var) p.execute() 測定プログラム # -*- coding: utf-8 -*- from __future__ import absolute_import from __future__ import unicode_literals import redis import time r = redis.Str…

【Python】パイプでプログラムへ値を渡す

import sys input=sys.stdin.readline() print(input) 引数以外で使いたいケースがある場合にこんな感じで書けば $ echo hoge | python script.py みたいな実行イメージでプログラムが値を使って何かしらの処理を行うことができる。

【Nvim】カラースキームパスの場所

$HOME/.vim/colors/ vimrcなんかに以下を書いても良い :set runtimepath+=~/.vimstyles

【k8s】conftestのメモ

k8s

conftestはyamlに限らないポリシーチェックツール。rego言語を使ってポリシーを書く。この記事では便利なサイトとかをまとめて貼っておく。 playground play.openpolicyagent.org 手元に実行環境がないのでwebでさくっと試せる。regoを学ぶのに良さそう。 公…

【Linux】JVM系言語以外でも暖気運転は効果があるのかの考察

記事概要 JVM言語で話題の暖気運転についてJVM系言語(JIT)以外でも暖気運転は効果があるのかを考察した記事です。何かしらのベンチマークを取ったとかではないのでご注意ください。 JVMとの比較にはPythonとかPerlとかLL系言語かつpreforkで動くウェブアプリ…

【Linux】ImageMagickのTIPS

画像にボーダーをつける 色に迷ったらWebセーフカラーから convert _01.png -bordercolor "#CCCCCC" -border 2x2 01.png PNGのdpiを変更する convert _result.png -density 144 -units PixelsPerInch result.png from: https://saba.omnioo.com/note/2040/20…

【Redis】memtier_benchmarkでredisのベンチマークを取る

github.com memtier_benchmarkを使うとredisやmemcachedのベンチマークを取得できるらしく使ってみました。 dockerを使ってさくっとやってみます。-tでスレッド数-cでコネクション数-nでそれぞれのコネクションでどの程度のリクエストを投げるかを調整できま…

【k8s】プロダクションで使うためのマニフェストの書き方

概要 kubernetesをプロダクションで使うならネットに転がっているマニフェストをコピペだけで運用していくのは設定が足りなくなるケースがある。そのために何が必要かをまとめたTIPS的な記事 Pod リソースの割り当てを行う。(requestsはサーバのスケジューリ…

単方向リストと双方向リスト

双方向と片方向 双方向リストはノード毎に要するメモリ量が多くなるし、基本的な操作にかかる手間が多くなる。しかし、どちらの方向にもシーケンシャルアクセス可能であるため、扱いやすくなることが多い。特に、あるノードの削除をする場合、そのノードのア…

【Linux】イベント駆動ライブラリのlibevのサンプルmain

software.schmorp.de #include <stdio.h> #include <stdlib.h> #include <netinet/in.h> #include <ev.h> #include <strings.h> #define PORT_NO 3033 #define BUFFER_SIZE 1024 void accept_cb(struct ev_loop *loop, struct ev_io *watcher, int revents); void read_cb(struct ev_loop *loop, struct ev_io *</strings.h></ev.h></netinet/in.h></stdlib.h></stdio.h>…

【Ansible】コマンドラインオプション

1.Ansible 引数に従い、単発でモジュールを実行します。 $ ansible (対象機器名) -u (ユーザー名) -k -m (実行モジュール) -a (モジュールの引数) 引数の説明: (対象機器名) 設定を行う機器名。インベントリファイルに定義しておく必要があります。 1台…

これまでやってきたことをメモ

概要 職務経歴書で使うようなことを棚卸し的に書いてメモを記事にしただけの記事。 学歴とか 高校/大学は一応理系でプログラミングの基礎の基礎の基礎くらいは知っていたくらい。 職歴 1社目 2017/04 ~ 2019/03 仕事でやったこと 仙台に本社を構えるSIerに内…

【Linux】ImageMagickのTIPS

出力先を指定 -pathオプションを使う。 # リサイズした画像を、一つ上の階層のoutputディレクトリに保存する mogrify -path ../output -resize 128x *.jpg $ mogrify -help ... Image Settings: ... -path path write images to this path on disk mogrify &…

【Apache】mod_perlのビルドインストール

はじめに 「mod_perl」はperlからapacheのAPIを制御するためのapacheモジュールです。 mod_perl経由で実行されたperlスクリプトは、ネイティブコードに変換され、変換されたネイティブコードはapacheのメモリ上に常駐するため、通常のCGI経由でのperlスクリ…

【Linux】非同期IOブロッキングとかノンブロッキングの話

https://t.co/yicFtMJFtIselect/pollが非同期ブロッキングに当てはまる理由が良く分からない。。selectもreadもブロック。 pic.twitter.com/dWRy03U22O— Ryuichi@k8s再入門中 (@ryuichi_1208) 2021年1月9日 ブロッキングとかノンブロッキングとかの復讐して…

【Apache】preforkの話

概要 preforkの話。preforkってなんだっけって話から広げていく そもそもTCP通信のフロー LinuxでTCPクライアント/サーバで通信するにはサーバ側は以下の手順を踏んで通信を待ち受ける。 socket() -> bind() -> listen() -> acceps() qiita.com 単一プロセス…

【nvim】Failed to load python3 host.

You can try to see what happened by starting nvim with $NVIM_PYTH...OG_FILE set and opening the generated log file. Also, the host stderr is available in messages. brew updateしたせいでまたもpythonがらみのエラー。 :checkhealthとかすれば何…