タグ

ブックマーク / kiririmode.hatenablog.jp (6)

  • なぜ今シェルスクリプトを学ぶのか・シェルスクリプトのTips - 理系学生日記

    会社の中でシェルスクリプトについての話をすることにしたので、このエントリはそのためのものです。 個人的な好みとかもいろいろ入ってしまっているので、そのあたりは取捨選択してください。 なぜ今シェルスクリプトを学ぶのか 公開されているSREをマルっとPDF化する SpotBugsのViolationレポートをMerge Requestのコメント投稿する ぼくの互換性についての考え方 何で書くか シェルスクリプトをうまく書くには ShellCheckを使う バッドパターンとその修正 line-by-lineの処理が多い lsを使う ls /directory | grep mystring ls | grep -v 'log$' lsの結果をループさせる 良いシェルスクリプトを書くためのTIPS set -euする 文字列は基的にクオートする 局所変数にはlocalを使う 定数は読み取り専用

    なぜ今シェルスクリプトを学ぶのか・シェルスクリプトのTips - 理系学生日記
  • チームのタスクを全部ソースリポジトリのissueとして記載するのは違うのではないか - 理系学生日記

    先日チームのレトロスペクティブで、タスクがチケット管理できてないよねという話があがった。 チームで仕事をするときのタスク管理はだいたいGitLabGitHub、Azure DevOpsで行おうとするのだけれど、うまくいかないことが結構多い。 なんでうまくいかないのかなと思案したけど、そもそも「会社のe-Learningを受講する」とか「なんかの決裁を取得する」とかいうものをソースリポジトリで管理しようとしているのがおかしい。 開発に直結するものはリポジトリのissueを起票して議論すれば良い。 一方で、開発に直結しないものをソースリポジトリで管理しようとしても、issueとして記述する内容から違う。 そういうものを混ぜるのは害悪な気がしてきた。 もともとそういうタスクをissue化しようとしていたのは、そういったタスクも開発スピードに影響するからという理由づけをしたためだった。 だけど、

    チームのタスクを全部ソースリポジトリのissueとして記載するのは違うのではないか - 理系学生日記
    ymm1x
    ymm1x 2021/08/31
  • find の -xdev オプション - 理系学生日記

    comp.unix.shell の一つの質問に対する回答として -xdev っていう find コマンドのオプションが使われていましたが,ぼくはこれが何だか知りません. 知らないことは調べないといけないので,man を引いて調べてみるなどしました. -xdev Don't descend directories on other filesystems. なるほど,他のファイルシステムにあるファイル/ディレクトリは find の検索対象としないということか! HP だけど,以下のサイトが参考になりました. ファイル・システム単位で検索したい場合,-xdev オプションをつけます。 例えば, # find / -name abc -print として検索した場合,/ ディレクトリ以下のすべてのディレクトリを検索するため,他のファイル・システム /usr, /var,その他 NFS マウントさ

    find の -xdev オプション - 理系学生日記
  • grepでは困難な、特定文字列の存在行から別の文字列が存在する行までの抽出 (Perlのflip-flop演算子の使い方) - 理系学生日記

    特定の文字列がある行から、別の特定の文字列がある行までを抽出したいということがよくあります。 これgrep等を使うと苦労する話なんですが、flip-flop演算子を使ったPerlのone-linerで可能です。 例えば昨日の記事ではgit help commitの中から--no-edit/オプションの説明を抽出しました。 これは--no-editという文字列が出てくるところから空行までを抽出すれば良い。これは以下のようにすれば可能です。 $ git help commit | perl -nle 'print if /--no-edit/ ... /^\s*$/' 解説自体に空行が混じるケースでは以下のようにすれば良いでしょう。 この例では、--cleanupという文字列が出現してから、次のオプション(-文字列形式)が出るまでを抽出しています。 $ git help commit | pe

    grepでは困難な、特定文字列の存在行から別の文字列が存在する行までの抽出 (Perlのflip-flop演算子の使い方) - 理系学生日記
  • AWS におけるマルチアカウント構成の動向 - 理系学生日記

    AWS で環境を構築する際はマルチアカウントになることが多い、これは理解していたつもりでした。 stg 環境と prod 環境は AWS アカウントごと分ける。dev 環境も分ける。 しかし、世の中のベストプラクティスはもっと先を行っていました。 なぜアカウントを分けるのか isolation authz & authn auditing and reporting 世の中のマルチアカウント構成 各企業の事例 AWS が提供するベストプラクティス Gruntwork から見た AWS ベストプラクティス 各社のプラクティスから読み取れること なぜアカウントを分けるのか AWS アカウントを分ける理由は 3 つあります。 isolation authz & anthn auditing and reporting isolation そもそもとして、環境は分離しないと、というものです。 st

    AWS におけるマルチアカウント構成の動向 - 理系学生日記
    ymm1x
    ymm1x 2020/05/06
  • 終わり行く2017年にgrepを - 理系学生日記

    みんな大好き grep についてですが、かなり機能が豊富な一方でなかなかそれがまとまっていないこともあるのと、自分自身、結構細かな Tips を忘れたりするので、ここで簡単にまとめてみたいと思います。 OR 検索 後述する拡張正規表現でも可能といえば可能ですが、サクっとできるのは -e (--regexp) を複数与えることです。 $ grep -e abc -e xyz hoge.txt abcdefg vwxyz この OR 条件がときどき変わって、その都度シェルスクリプトを変えたくないという場合、これらの条件は外出しすることも検討して良いでしょう。外出ししたファイルには、条件を 1 行 1 条件で並べます。 このファイルを -f (--file=filename) で与えれば、grep はそれらを OR 条件として解釈します。 $ cat cond.dat abc xyz $ gre

    終わり行く2017年にgrepを - 理系学生日記
    ymm1x
    ymm1x 2017/12/25
  • 1