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

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

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

【AWS】DVA試験で出てきそうなサービスのメモ

AWS

DVAの資格勉強中に思ったハンズオンだけでもやるべきサービスのメモ。SAAに比べるとサービス数は少ないが模擬試験を受けてみて深く突っ込んだ問題が多くなってる印象。実際開発しないと分からないことだらけで結構大変そう。。 コンピューティング/コンテナ …

【Git】diffでファイル名のみを取得する

git diff 比較ブランチ名 --name-only って感じでブランチ名をしてしておけば特定ブランチとの差分があったファイルを取得できる。ついでにhelpをみてみた。 usage: git diff [<options>] [<commit>] [--] [<path>...] or: git diff [<options>] --cached [<commit>] [--] [<path>...] or: git diff [<options>] <commit> [<commit>..</commit></commit></options></path></commit></options></path></commit></options>…

【Linux】ssコマンドのSend-Q/Recv-Q

ssってあまりなじみないけどこの一個前の記事書きながら状態を見るのに使ってみた。Send-Q/Recv-Qの値がそれぞれ何を意味してるのかを調べてみた。 サーバアプリ ネタバレするとsocketの状態次第でssの出力の意味は変わってくるらしい。listen状態の場合はSe…

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

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

【Linux】new macについてのリーナスの回答

www.realworldtech.com リーナスへの質問でM1 macについてどう思うかの回答があった。Linuxが動くなら欲しいと回答している。ARMベースのラップトップはずっと欲しかったらしい。 どこかしらはARMベースのmacでLinuxを動かそうとしてるプロジェクトはあるだ…

【GitHub Actions】ブランチ名やコミットIDなどをシェル芸やらずに欲しい値だけ抜き出すaction 「GitHub Environment Variables Action」が便利だった話

ryuichi1208.hateblo.jp ↑の記事を書いてる最中にもずっと思ってがGitHub Actionsが公式で提供してくれてるリポジトリ名って扱いづらいなと。 で、調べていたら同じようなことを思っている人たちはそれなりにいて(stack overflow調べ)いい感じに変数を設定し…

【Terraform】foreachが使えた話

Terraform を使ってVPCやらIAMユーザを管理する際に一つのtfで大量にパラメータを管理するの大変そうって思って調べてたらfor_eachが比較的最近のバージョンで入ったらしく使ってみたのでメモ。loopで書くよりも取得自体は直感的にでもないけど可読性は確実…

【AWS System Manager】基本情報

AWS

AWSでのDevOpsあたりの資料を読んでると結構頻繁に登場するSystem Manager。実際雰囲気しか理解してないしでいい機会なのでまとめてみた。 System Managerとは AWSでインストストラクチャを表示及び制御するためのAWSのサービス。複数のAWSのサービスのオペ…

【Bash】変数展開で置換をやるイロハ

100回ぐらいググっているやつ。bashにある変数展開は多機能だがその中でもたまにつかう置換機能の紹介です。 記法 概要 ${変数#パターン} 文字列先頭の最短マッチ部分を削除 ${変数##パターン} 文字列先頭の最長マッチ部分を削除 ${変数%パターン} 文字列末…

【Python】正規表現が取りうる値をリストで返してくれるライブラリ「sre_yield」

github.com タイトルの通り。書いた正規表現が取りうる値を表示してくれるツール 実行結果 実行するとこんな感じ。便利すぎる。。。 1-4-テスト 2-4-テスト 3-4-テスト 1-5-テスト 2-5-テスト 3-5-テスト 1-6-テスト 2-6-テスト 3-6-テスト 1-4-test 2-4-tes…

【AWS IAM】IAMポリシーに入門

AWS

AWS IAMポリシーとは 「誰が」「どのAWSサービスの」「どのリソースに対して」「どんな操作を」「許可する(許可しない)」、といったことをJSON形式で記述するもの。このJSONをロールやらユーザやらリソースへ紐付けてJSONの内容でアクセス制御するよって感じ…

【vim】Failed to load the ESLint library for the document

coc.nvimでjsを弄ってたらエラーが出てた。既にissueも上がってたのでそちらを元に対応。 github.com 対応 nodeのバージョンが古すぎてyarnが失敗してたのでそちらが原因。nodebrewも古くなっていたのでbrewを使ってそこからアップデートして対応した。 $ br…

【Fluentd】プラグインを追加する

$ gem install fluent-plugin-s3 $ fluentd -c sample.conf 別のターミナルで以下のようにすると、 $ echo hello >> input.txt S3のバケットの中身を見ると、データが保存されているのが確認できます。chunk_limit_records 1なので、1ファイルに1レコードの…

【Bash】エクスポネンシャルバックオフ

> Exponential Backoffこれ名前あったんだ。。https://t.co/vZomHNRHoF— Ryuichi@vimなにもわからない (@ryuichi_1208) November 16, 2020 仕組み自体は前から知ってたけど正式な名前はさっき知った。そして指数関数的なリトライの実装って実はライブラリが…

【GitHub Actions】set-envの代替え

github.blog set-env/add-pathがCVEの関係で非推奨となったらしい。すぐに対応する必要は無さそうだがどうせ使えなくなるのならと言うことで代わりに使える方法が書いてあったので使ってみた。 サンプルyaml echo "{name}={value}" >> $GITHUB_ENVみたいな感…

【GitHub Actions】 特定ブランチへのpushだけ動作するジョブ 2

ryuichi1208.hateblo.jp この前かいたやつの追加版。特定ブランチが単独じゃなくて複数だった場合に上のままだと無限にjobsが増えてしまう。その対策が以下のように書ける。 contains('refs/heads/develop refs/heads/main', github.ref) containsはGitHub A…

【Linux】autofsと始めるNAS

autofsとは 自動的に適切なファイルシステムをマウントするためのクライアント側のサービスです。クライアントが現在マウントされていないファイルシステムをアクセスしようとすると、autofs ファイルシステムはその要求に介入し、automountd を呼び出して要…

【Bash】パイプ有無での実行シェルの違い

シェルスクリプトを書いていて関数を定義した際にlocalを付けずに変数を宣言するとグローバル領域に定義されたような動作をする。これはこれでグローバルにフラグを持っておいて関数内で書き換えたりっていう処理を書くなら直感的で個人的には良いなと思って…

【Terraform】TerraformからAnsible

Terraformはリソースのプロビジョニングツール。Ansibleはサービスの構成管理を行うツール。同じIaCを実現するためのツールでもそれぞれ得意領域と言うのがあって使い分けるのがベストプラクティスな模様なので連携させてみた。 (Ansibleで無理やりリソース…

【Ansible】userモジュールが常にchangedとなってしまうのを防ぐ

- name: Creating user "{{ uusername }}" with admin access user: name: {{ uusername }} password: {{ upassword | password_hash('sha512') }} groups: admin append=yes userモジュール使ってパスワードを設定しようとすると毎回changedが出てしまいhan…

【OSS】plant umlのSVGをpushごとに生成してブラウザから確認する

OSS

github.com pmlファイルがpushされたら動くパイプラインを自前で書いてたがそれ用のアクションが便利だったので紹介してみる。*.pmlを指定するとそのファイルの更新時にSVGを自動で生成してブラウザから確認できるようにしてくれるアクション。 yamlの例 公…

【GitHub Actions】pull_requestイベントからメッセージを取得したい。

pull_requestのイベントからメッセージとかブランチとかを取得して何かをしたいワークフローがある場合に使える。PR->リリースみたいなケースでもこのフローを使っておけば問題ない予定。 PULL_REQUEST_NUMBER : ${{ github.event.pull_request.number }} PU…

【Terraform】そこそこ便利コマンドTips

一昨日あたりにterraformに入門した。 補間をいれる 必須なやつ。zshだとインタラクティブにオプションやらサブコマンドを選べるので無いと困るってぐらい必須 $ terraform -install-autocomplete 基本コマンド apply: 変更の実行。デプロイを行う。 Usage: …