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

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

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

技術ブログと日常ブログを統合してみる

IT関連の話題をしゃべる自分とリアルでの自分を紐づけたくなくて日常系のブログと技術ブログを分けていたが日常ブログをえいやで閉鎖したのでこっちを技術ブログと日常ブログにしてみる。FC2とかアメーバとか紆余曲折してついにはてブに統合する。(小学生の…

「自分の中で大切に思ってる専門書」ってなんだろうって思ったので自分も書いてみた

hiboma.hatenadiary.jp を読んでいて「自分の中で大切に思ってる専門書」ってなんだろうって思ったので自分も書いてみた。とりあえず5冊を選んでみた。 初めてのPerl 作者Larry WallによるPerlの考え方、哲学にとても惹かれたのがこの本でした。Perlを始める…

ファイル名についてる日付ごとにファイル数を出すワンライナー

root@52b8c9922ca0:/o# ls -1 2021-10-11-aaa 2021-10-11-bbb 2021-10-11-ccc 2021-10-11-ddd 2021-10-12-aaa 2021-10-13-aaa 2021-10-14-aaa 2021-10-15-aaa 2021-10-16-aaa 2021-10-17-aaa 2021-10-18-aaa 2021-10-18-bbb 2021-10-18-ccc 2021-10-19-aaa 2…

よく使うcurlコマンドのオプション

背景 curlコマンドを使う際に毎回調べて実行しているのですがさすがに面倒なのでまとめてみました。 自分のevernoteからの転載なので誤記などあったら教えてください。 curl(カール)コマンドとは サーバから、もしくはサーバへデータ転送を行うコマンド。 FT…

bashで忘れがちな機能とかいろいろの備忘録

背景 シェルスクリプトを書くことが結構あるのでその備忘録代わりに記事を書いてみました。 特殊変数とは 特殊変数とは シェルによって自動的に値が設定される特殊な変数がいくつかあり、それら特殊な変数を参照することにより、様々な情報を取得することが…

MySQL5.7 の mysql_secure_installation

セットアップ時の初期パスワードがわからなくてどうするのってなったのでメモ。ドキュメント読めよって話でした。 weblabo.oscasierra.net

【Perl】アラームでタイムアウト

イディオム的に書いておく。 #!/usr/bin/perl use strict; use warnings; local $@; eval { local $SIG{ALRM} = sub { die "timeout!!\n"; }; alarm 2; sleep 3; # 時間のかかる処理 alarm 0; }; if ( $@ ) { print "exception: $@"; } alarm ${数字}を実行…

GMOペパボ株式会社へ入社しました。

あなたは誰 ペパボを知ったきっかけとか 入った経緯とか 宣伝: 転職に使った媒体 ここが辛いよ! 入ってよかった ほか pepabo.com GMOペパボ株式会社へ2021/07/01に入社しました。丁度3ヶ月経って多分試用期間も終わったはず(?)なので入社エントリを書いて…

【ProxySQL】mysql-shun_on_failuresの罠

「mysql-shun_on_failuresの罠」ってタイトルですが罠でも何でもない話です。 preforkなwebアプリケーション -> ProxySQL -> MySQL みたいな構成のシステムがあってProxySQL <-> MySQLでネットワーク不調かなんかでconnectionが一時的に貼れなくなった時にmy…

【MySQL】SHOW ENGINE INNODB STATUSの見方を学ぶ

SHOW ENGINE INNODB STATUSの見方が全然わからなかったので読み方を調べていく mysql> SHOW ENGINE INNODB STATUS\G; BACKGROUND THREAD ----------------- BACKGROUND THREAD ----------------- srv_master_thread loops: 0 srv_active, 0 srv_shutdown, 49…

【Perl】複数行の置換

echo "tea\nconst" tea const こんな出力からtestという文字を作りたいみたいなケースでperlのワンライナーでやろうとすると何も考えないと¥nで改行されてうまくいかないです。 echo "tea\nconst" | perl -pe 's/a\ncon//m' tea const これを防ぐためにはrec…

【ProxySQL】入門する

概要 ProxySQLを触る機会があったので入門してみた記事。2.1が最新見たいだが仕事で使うのが1.4なのでなるべくそのバージョンに合わせた内容で調べていく。(最新だとこうだね〜みたいなのは書いておくつもり) proxysql.com 目次 概要 目次 ProxySQLとは 主な…

【Linux】JVM系言語以外でも暖気運転は効果があるのかの考察(修正版的な感じ)

記事概要 今見ると色々違う気がしたので前書いたやつの修正版として上げてみた。後半は手をつけれなかった。。 JVM言語で話題の暖気運転についてJVM系言語(JIT)以外でも暖気運転は効果があるのかを考察した記事です。何かしらのベンチマークを取ったとかでは…

【k8s】ArgoRolloutsでカナリアリリースを試す

k8s

概要 github.com ArgoRolloutsを使ってさくっとカナリアリリースを試す記事です ArgoRolloutsとは KubernetesのCRDで標準ではできないブルーグリーンデプロイやカナリアリリースなどの高度なデプロイ機能を提供するOSSです。ArgoCDと組み合わせることでGitOp…

サービスディスカバリに関するメモ書き的なもの

Qiitaより転載 概要 サービスディスカバリを初めてみたのでそのメモ サービスディスカバリとは サービスディスカバリ(Service Discovery、サービス検出[1])はサービスのインスタンスがもつネットワーク上の位置を決定することである[2]。 引用元: サービス…

【Python】サブネット形式で値を渡すと国を判別するツールを書いた

github.com サブネット形式で値を渡すと国を判別するツールを書いてみました。ちなみにGeoLite2をローカルに置いてそこを参照するので外部サイトへの確認なんかを行わない作りになっています。(問い合わせし放題) 使い方はこんな感じ。slackとかから呼べると…

【Ruby】ワンライナーで便利そうなものを書いていく

背景 Ruby入門中だしでせっかくなのでRubyで便利だなぁと思ったワンライナーのTOP5を書いてみます。オプションとかは以下の記事がとてもわかりやすかったです。 maeharin.hatenablog.com 5位 webサーバ 定番のやつですね。nginxの検証とかするときにproxy先…

【Linux】fincoreコマンドを使ってファイルがページキャッシュに乗っているかを見るって記事を書こうとしたら自分で既に書いていた

「fincoreコマンドを使ってファイルがページキャッシュに乗っているかを見る」ってタイトルの記事を書いて色々ググっていたら自分で昔書いていた記事がヒットした。3年前くらいか。 qiita.com mincore(2)に見覚えがあったがなるほどとなった。。アウトプット…

【Linux】tcpdumpを使って通信しているパケットのtlsバージョンを調べるメモ

背景 提供しているサービスに対してクライアントがどのTLSバージョンで来ているのかを調べるみたいな場合にサーバのログで出せれば一番手っ取り早いですが「そんな機能ないよ!」みたいな場合も往々にしてあると思い、「その場合はどうするのが良いんだろう…

【vim】vimiumを触ってみる

Chromeの操作をvimっぽくするための拡張プラグインです。結構vimってます。 インストール方法 https://chrome.google.com/webstore/detail/vimium/dbepggeogbaibhgnhhndojpepiihcmeb 上記サイトへアクセスしインストールするのみ 使い方 Command Description…

【Ruby】LinuxとRubyとCoW

hiboma.hatenadiary.jp こちらのアンサー記事を書いてみますw なぜ CoW の話が出てきたのか なぜCoWを気にしたのかを話すとまず社内で動かしているAPIサーバがメモリ利用過多となってアラートがなったのが話のスタートでした。サービス自体はUnicornを使って…

【memcached】 pymemcacheは障害が発生したmemcachedを自動で切り離す

まとめ pinterest/pymemcacheは障害が発生したmemcachedを自動でリバランスして書き込みに行かないような機能を持っている 特定ノード間だけで起きてたりするとデータの不整合が発生するかもしれないから注意が必要 memcachedのクライアントを選ぶときはこの…

【Redis】キャッシュスタンピード対策をPythonで実装してみる

背景 ryuichi1208.hateblo.jp この前描いてた記事のスピンオフ的な記事でキャッシュスタンピード対策をPythonで実装するとしたらどんな感じかなと思って調べてみた記事。内容としては以下の記事でやっていることの一部を掘り下げて考えてみたという感じです…

【systemd】Type=notifyについて調べたメモ

systemdのカスタムサービスファイルを書くときにどのTypeで起動を判定するかのTypeでType=notifyについて調べたメモです。 github.com Type=notifyとは 以下のような記載があります。フォアグラウウンドで実行を継続するデーモンで使えるType=simpleとほぼ同…

【Ruby】メモリの共有率を計算するスクリプトを書いた

github.com マルチプロセスモデルなどで動くアプリケーションがどれくらい他プロセスとメモリを共有しているのかを計算スクリプトを書いてみました。 Linuxに関してのCoWの細かい話は他記事で書いてるので省略。引数のpidからtgidを中で取得したりして子プロ…

【Linux】SO_REUSEPORTに入門してGracefulなrestartを目指す

ジムのマッサージ機に乗りながらsocket(7)のmanを読んでいたらSO_REUSEPORTというオプションがあって気になって調べたのでメモ SO_REUSEPORT (Linux 3.9 以降) Permits multiple AF_INET or AF_INET6 sockets to be bound to an identical socket address. T…

【Nginx】proxy_cache_lockが思ってたのと違った件

背景 pkg.go.dev ISUCONの過去問を眺めていたらキャッシュのThundering Herd問題を解決するのにsingleflightというライブラリを使った解決策があることを知ったので調べていたらNginxでも似たようなことをできそうと言うことを知ったので調べてみたメモ。 キ…

【Nginx】proxy_cache_bypassを使ってみる。

Nginx -> appみたいな構成でproxy_cacheを入れているとappまでリクエストが到達せずにNginxがリクエストを返すことができる。これはこれでとても便利なのでがブラウザのスーパリロード時はappまで貫通させたいみたいなケースがあったので調べたメモ。 結論 p…

New Game Opsが面白そう

qiita.com https://qiita.com/furandon_pig/items/840e853f7400ad54f65e

【Ruby】SYNCNTを調整して早めにタイムアウトさせる

自宅で動いてるVMが15台を超えそれぞれどのポートで何してるんだっけってなることが増えてきた。コマンド一発でどのサーバのどのポートがopenになってるのかを確認するコマンドが欲しくなったのでRubyで実装しようと思ってやったメモ。 実装方針 docs.ruby-l…