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

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

【Ruby】Gemfile入門

背景 ruby経験0だけどbundlerとか打って環境構築した気になってるの良くない気がしたので調べてまとめてみた記事。gemってなんやねんって状態だけど雰囲気で実行しているマンです。 gemってなんだ Rubyのライブラリのこと www.ruby-lang.org Ruby のライブラ…

【Ruby】Capistranoを使ってみる

github.com 背景 Capistranoってなんやねんレベルでコマンドだけ打って便利さを感じつつも何も理解してなかったので調べた際のメモ。「JenkinsとかGitHub Actionsででシェルスクリプトでデプロイじゃー!」ぐらいしかやったことレベル感で書いてます。(jenki…

【Consul】入門する

背景/概要 Consulを使う機会が出てきたのでメモ。「Prometheusから利用できそうだね」くらいを理解のゴールとして設ける。 この記事でやれることはconsulの入門とdnsでサーバのIPを引けるようになるまで。dnsは別で立ててますが閉じた検証にしたいのでとりあ…

【Mackerel】入門する

背景 Mackerelに触れ始めたので概要だけでも入門。監視ツールはZabbixとPrometheusとElasticsearch(beats)を触ったことあるのとN社の出している独自OS用の監視ツールに触れていたという経験があると言った感じ。基本的なメトリクスというよりもMackrel独自の…

【Terraform】入門する

www.terraform.io 背景となぜ書いたのか 仕事で遂にTerraformを使う機会ができたのでこの気に学び直してみた記事。これまでAnsibleを使っての構成管理を行なった経験はあるがよりレイヤの低い部分の管理はGUIなりでやってきた経験しかないので結構新鮮に学ん…

【Nginx】ngx_mrubyへ入門

github.com 概要 ngx_mrubyへの入門記事。luaとはjavascriptも組み込めたりするのがその一種っぽいくらいの認識の状態から調べてみました。 ngx_mrubyとは ngx_mrubyとは弊社ペパボ研究所に所属する松本 亮介(@matsumotory)によって開発されているOSSです。 …

【OpenStack】入門する

背景 仕事で使う機会が出てきたのでそもそもなんなのかから調べていく。聞いたことはあるけど実際それぞれなにしてるのかはよくわかっていない。構築とはまでは別でやるとしてそもそもの用語整理とコンポーネントについて理解するのが目標。 目次 背景 目次 …

【puppet】入門する

背景/概要 puppetを使う機会が出てきたので調べたことのメモを記載。commitログとかみてると結構頻繁に今でも更新されていてちょっとびっくりした。 以下に全てがまとまっている。 Puppet入門 from Tomita Akiyoshi www.slideshare.net puppetとは/特徴とか …

【CLI】envchain入門

github.com envchainとは 秘匿情報を[環境変数]に入れるのを、多少安全にしてくれるツールでC言語で実装されている。 インストール方法 $ git clone https://github.com/sorah/envchain.git $ cd envchain $ yum install readline-devel libsecret-devel $ m…

【Ruby】入門するURLメモ

rubyに入門する必要が出てきたので便利URLのメモリスト 公式 www.ruby-lang.org 多言語からのRuby入門なんて記事もあった。 www.ruby-lang.org 環境構築系 github.com github.com qiita.com qiita.com バージョンの話 www.ruby-lang.org spirits.appirits.co…

【httpd】graceful shutdownの実装メモ

preforkの方で見ていく。子プロセスがどうやって死んでいくか気になったのでメモ ざっくり流れ ユーザがSIGUSER1をhttpdへ送信 親プロセッスがlisten socketをclose 処理中の子プロセスがあればそれを待つ 全て終了したらSIGUSR1を子プロセスへ送信 親プロセ…

【Linux】EPOLLEXCLUSIVEのメモ

↑は別件でepollの話だった。Linux 4.5で入ったEPOLLEXCLUSIVEで解決するようになった。難しい。https://t.co/4aYd9L1BXB— Ryuichi@k8s再入門中:|| (@ryuichi_1208) 2021年6月27日 概要 epoll(2)のオプションのEPOLLEXCLUSIVEについて気になったので調べたメ…

退職エントリっぽいもの

都内の某SIerを2021年6月末で退職します。10年後くらいに自分で見て懐かしむために書いておきます。 どんな会社だった 社員数500人くらいで東京本社と地方にちらほら拠点がある会社でした。吸収合併を重ねて大きくしてる会社という印象でした。 何をやってた…

【Linux】so_reuseportに関して

背景 SO_REUSEPORTってなんだろ。https://t.co/0YDyRDKrI2— Ryuichi@k8s再入門中 (@ryuichi_1208) 2021年6月26日 so_reuseportってなんやねんと思って調べた SO_REUSEPORTとは ローカルアドレスの再使用を有効にするソケットオプションのSO_REUSEADDRは使っ…

【Linux】UDPのMapping Refresh

なるほど。意図せずエンドツーエンドでQUICに対応して〜みたいなのいつか起きそう。 https://t.co/tYoyV6UoVI— Ryuichi@k8s再入門中 (@ryuichi_1208) 2021年6月23日 UDPでのルーターのNATテーブルの圧迫の話。自分の家もまさに該当しそうなので調べてみた。 …

【Linux】/proc/sys/fs/epoll/max_user_watches

qiita.com /proc/sys/fs/epoll/max_user_watches

【Linux】io.h: No such file or directory

“ちなみにかしこくて、grepとかをかけると、ww なしでも全部表示されます。” どういう仕組みなんだろ。stdoutがパイプか判定してるとかかな。 / “あなたはps -ef派なのか、auxf派なのかをちょっとだけまとめてみた | https://t.co/mbDaaXFdMc” https://t.co/…

【Linux】TCPの再送制御あたりのソースを眺める

概要 ブラウザからWebサーバを経由しAPサーバにアクセスする場合の通信に関する説明をざっくりまとめてみました。再送制御あたりがメインです。 記事を書こうと思った背景 AWSの資格学習をしていてRDSあたりのフェールオーバ ーあたりで「DNSベースでやるの…

【Nginx】ファイルキャッシュの追い出しアルゴリズム

mogile.web.fc2.com nginxが持っている機能のファイルキャッシュの追い出し方法について調べたので書いた。 ざっくり結論としてはキューを用いたLRUでキャッシュサイズが指定した値より大きい場合は要素の末尾を削除していくという実装 static time_t ngx_ht…

【Nginx】ファイルキャッシュの追い出しアルゴリズム

mogile.web.fc2.com nginxが持っている機能のファイルキャッシュの追い出し方法について調べたので書いた。 ざっくり結論としてはキューを用いたLRUでキャッシュサイズが指定した値より大きい場合は要素の末尾を削除していくという実装 static time_t ngx_ht…

【C】pthreadsのテンプレ

C

スレッド使ったサンプル作るためのテンプレ #include <stdio.h> #include <stdlib.h> #include <pthread.h> void *thread_func(void *param); int main(void) { pthread_t thread; int ret = 0; ret = pthread_create(&thread, NULL, thread_func, NULL); if (ret != 0) { // pthread_creat</pthread.h></stdlib.h></stdio.h>…

【Linux】NetworkMangerとは

概要 RHEL6 ではネットワークスクリプト(/etc/init.d/network)によりネットワーク設定が行われていた ここが /etc/sysconfig/network-scripts や /etc/sysconfig/static-routes などを読んでいた RHEL7 より NetworkManager を使ってネットワーク設定する…

【Linux】Network

ネットワーク設定と設定ファイル ネットワーク設定ファイルの位置はかわらずだが、ファイルを直接編集せず nmcli, nmtui などを利用することが推奨されている。サーバー構築時に主に設定する内容と対応する設定ファイルは以下のとおり。 ホスト名とIPアドレ…

【Nginx】ログの出力可否

特定UAの場合ログに書き込みたいくないみたいなケースがあってどうにかならないかみていたらaccess_logはifで状態を取れるらしいことに気づいた。 nginx.org Syntax: access_log path [format [buffer=size] [gzip[=level]] [flush=time] [if=condition]]; a…

【DB】ACIDの話

Atomicityとは トランザクションが残す結果が、すべてのトランザクション内操作が成功したか、もしくはすべて無かった事になったかのAll or Nothingになる特性の事をいう。不可分だとかは関係ない(というかトランザクションの個々の操作はインターリーブさ…

【Linux】rw-なディレクトリのメモ

実行権限xがない場合のディレクトリの挙動メモ ディレクトリへのファイルの作成や削除は実行権限が必要 書き込み権限があるとディレクトリのメタデータの更新は可能。(statとかでみれるatimeなど)

【AWS】Amazon Web Service 負荷試験入門の読書メモ

概要 Amazon Web Services負荷試験入門 ――クラウドの性能の引き出し方がわかる Software Design plus | 仲川 樽八, 森下 健 | 工学 | Kindleストア | Amazon この本を読み始めたので気になったところとかをメモしていく 目次 概要 目次 負荷試験とPDCAサイク…

【転職ドラフト】使ってみた感想

概要 転職ドラフトを使って転職したのでサービスについての感想なんかを書いた記事。転職への思いとかは別記事で書くのでこれはあくまでもサービスのユーザとして思ったことがメイン ちなみにこちらの記事は転職ドラフト体験談投稿キャンペーンに参加してい…

Error: Cannot retrieve repository metadata (repomd.xml) for repository: base. Please verify its path and try again

CentOS6を使ってる場合に出るメッセージ。以下で解決した。 qiita.com

【Make】特殊変数メモ

C

$@ : ターゲットファイル名 $% : ターゲットがアーカイブメンバだったときのターゲットメンバ名 $< : 最初の依存するファイルの名前 $? : ターゲットより新しいすべての依存するファイル名 $^ : すべての依存するファイルの名前 $+ : Makefileと同じ順番の依…