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

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

2022-01-01から1年間の記事一覧

myloaderでERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. myloaderを使っていたら出た。デフォルトパスワードから変えて上げる必要があるらしい ALTER USER 'root'@'localhost' IDENTIFIED BY '新パ…

mysqlpumpを使ってバックアップを取ってみる

mysqlの後継ツールとしてmysqlpumpというものがあるらしいので使ってみた。mysqldumpと違って処理がシリアルな部分を並列化で高速化をしてくれたりと嬉しい機能が色々とあるらしい mysqlpump dev.mysql.com やってみる やってみるとわかるがほぼほぼmysqldum…

C++に入門し始める

PHPとGoあたりに仕事のために入門中だがC++が気になって長いので今度こそ、この機会に入門してみる。とりあえず読めればいいかなくらいで構文を眺めている段階。いつもどおりなんかしらのCLIツールでも書こう。 rinatz.github.io 評判よさそうなのでこれをや…

【C++】外部から基底クラスのメンバ関数呼び出し

派生クラスインスタンスからこの基底クラスのfunc関数を呼び出すには「派生クラスインスタンス.基底クラス::メンバ関数();」という書き方をすることで解決する。 class Base { public: // do something virtual void func(); }; class Derived : public Base…

linux sysfs

/ sys /firmware このディレクトリには、ファームウェアオブジェクトと属性を持つサブディレクトリが含まれています。 / sys / module このディレクトリには、カーネルにロードされる各モジュールのサブディレクトリが含まれています。次に例を示します。

固定費を見直し

かかっている固定費がよく分かってないので見直す2022。前にやったのは社会人1年目とかのときに作ったメモだったのでいかにずさんなのかが浮き彫りになった... 項目 費用 備考 ジム 9,500円 スマホ代 1,800円 楽天の3.1GBの契約 Dropbox 2,900円 プロプラン …

php.iniのパスを知りたい

php -r "phpinfo();" | grep php.ini | less

特定のTCP状態が多くなっている状態を検出したかったのでツールを作ってみた

github.com TIME_WAITの数とかSYN_SENTの数で終了ステータスが変わるようなツールが欲しかったので書いてみた。すでにありそうだけど数十行程度でかけてMackerelのチェックプラグインを書いたことがなかったのでいい機会なので書いてみた。check-tcp-status …

夏休みが終わってしまった

8/10 ~ 8/21まで取っていた夏休みが終わってしまった。ここまで長い休みをとったのはいつぶりだろう。明日から仕事なので頑張ろう。

/proc/net/devのdropとエラーをパースするmackerl-pluginを書いた

github.com 役に立つタイミングが来るかはわらか無いけど久々にコード書きたくなったので書いた。仕事で使うにはまず別レイヤのボトルネックを倒しきって次に来るであろうボトルネックも楽しきればこの辺にボトルネックが遷移してくるんじゃないかなと思って…

k8sのQoS Class

今日だけで4~5回くらい調べたのでメモ。 # QoS class priority condition 1 Guaranteed 1 Pod内のすべてのコンテナにmemory,CPUのrequestsとlimitsが設定されており、かつrequestsとlimitsで同じ値であること 2 Burstable 2 Guaranteedではなく、1つ以上のre…

オライリーの茶色の鈍器シリーズが揃った

揃った(全部貰い物😌) pic.twitter.com/wht8MwTBDZ— Ryuichi@Gurasan:|| (@ryuichi_1208) 2022年8月10日 とんでもないサイズ感。全部貰い物。下期の読書会の本の選定がまだ終わってないのだけどこれはもしや。。。(違)

Cloudflareのキャッシュの有無

CDNの設定後に本当に設定されてるかどうやって見るのって言われたときの返答レスをメモ CDNにキャッシュされていることを確認 キャッシュ設定が終わってから時間を置く デベロッパーツールのNetworkタブを開く サイトを表示 画像やCSSファイル等をクリック R…

Cloud Operator Daysに動画登壇しました

Cloud Operator Days Tokyo 2022 に「信頼性を落とさず効果的にオンコールを減らす取り組みを目指して」というタイトルでオンコールの効率化について動画登壇させていただきました。 Cloud Operator Days Tokyoとは cloudopsdays.com クラウドの運用者に焦点…

生焼け肉は危ない

先々週くらいに自宅で生焼けの砂肝を食べたら腹痛で3日間くらいトイレから出れなくなった。生焼け肉食べて腹痛になるの毎年やってる気がするのだがこれ現代の技術を持ってすればなんとか防げるのでは?と思って調べてみた。が、特に解決索的なものはなかった…

MySQLのメタデータロックメモ

dev.mysql.com DDLとか打たないと意識しないメタデータのロック。metadata lockされているテーブルには、DDLから保護されるので、DDLが発行できなくなる。pt-oscとかをshow processlistとかでみるとWaiting for Table metadata lockになっている。この状態で…

エヴァ博行ってきた

eva-x-expo.exhibit.jp 出社に合わせて飲み会を2つ入れたらちょうどいい感じの空き時間ができたので行ってみた。最高アンド最高だった。プロダクト4000点超が集結していてコラボのバイクとか車とかやみたことないグッズが大量に置かれていたり面白かった。私…

【手元メモ】jqチートシート

ほしい要素だけ抜き出す jq '{name, description}' 指定した複数の要素をスペース区切りの文字列として出力する jq -r '"\(.id_str) \(.text)"' < file 文字列のエスケープを解除して出力する -rオプションを使う $ echo '{"key": "value\n\"aaaa\""}' | jq …

プライムデーで買ったもの

を振り返っていたが開催期間中に家で出たゴキブリが衝撃的過ぎてあまりものを買っていないことに気づいた。これまで無駄使いで不要なものまで買っていたがそれどころじゃないようなことが起きるとどうやら物欲は減るらしい。ちなみに出たゴキブリは1回見ただ…

GitHub Actionsでeb cliを使う

jobs: build: runs-on: ubuntu-latest env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: python-versio…

スピンロックの思い出(?)

社内勉強会でスピンロックという単語が出てきてずっと前にユーザー空間アプリケーションでスピンロックを使おうとしてレビューで反対されたというのを思い出した。その時はDBMSなんかが排他制御にpthread_mutexを使わず、独自にユーザー空間のspinlockを実装…

【MySQL】先頭のレコードより前、末尾のレコードより後

show engine innodb statusのロックモニターに出てくる用語。 最大下限レコード(infimum record) 最小上限レコード(supremum record) 先頭レコードよりも前にある疑似レコードと、末尾レコードより後にある疑似レコードを意味する。「先頭レコードより前…

eBPFでPIDを取得

BCCのツールで直接取得 data.e_pid = bpf_get_current_pid_tgid(); 上位32ビット TGID 下位32ビット PID の64ビットを返り値で渡してくれるヘルパー関数 BCCでtask_struct構造体から取得する struct task_struct *task; task = (struct task_struct *)bpf_ge…

【MySQL】ギャップロックはデッドロックをするかもしれない

InnoDB のギャップロックは、「単に抑制的」です。つまり、ほかのトランザクションによるギャップへの挿入が停止されるだけです。したがって、ギャップ X ロックの効果はギャップ S ロックと同じです。 dev.mysql.com タイトル通りそのまま。SELECT ~ FOR UP…

Composer

Composerとは PHPのライブラリ管理ツールです。 ライブラリAを使用するためには、別のライブラリBを先にインストールする必要がある、なんてことがあります。 この時、ライブラリAはライブラリBに依存している、と言います。 Composerを使用することで依存関…

【MySQL】consistent readとか

consistent read トランザクション内での (locking read ではない) 読み取りは、そのトランザクション中はじめに read した時点のスナップショットを参照するような挙動になる スナップショットは全テーブル対象 (クエリしたテーブルのみではない) スナップ…

ペパボに入って1年が経った

ryuichi1208.hateblo.jp っていう記事を書いて一年が経った。これまでの経験上自分は対数関数的な成長を遂げるようなことが多くてそろそろ鈍化しそうなもんだが携わってるサービスですらしょっちゅう知らないことが判明したり学びだらけの環境。innodbとか1…

【Linux】open済みのファイルのフラグを見る

/proc/${PID}/fdinfo/${fd} で見ることができる。flagsはopenに指定できるフラグの値が設定されている。posでファイルオフセットも取得できるのは何かに使えそう?となった。(ファイルを先頭から読み込んで何かをするプログラムで途中で刺さって動かないみた…

【Nginx】proxy_ignore_client_abortの効果を考えてみる

nginx.org proxy_ignore_client_abortはデフォルト値がOFFの設定でONにすると以下のような動きになる。 クライアントが応答を待たずに接続を閉じたときに、プロキシされたサーバとの接続を閉じるかどうかを決定します。 これは何が嬉しいかというとリバース…

【MySQL】非ユニークなカラムのロックは広いかもしれない

非ユニークインデックスの場合は、等価条件であっても範囲条件に近いロックを取るという話。空振ってなくても思ったよりロック広い??ってなるケースとかはこれの可能性がありそう。ユニーク制約の付いていないカラムには同値を入れることができるため、現…