タグ

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

  • Golangでバイナリを配布するとき、go-licensesとgoxzを使って利用モジュールのLICENSE、NOTICEを同梱する - 理系学生日記

    Golangで作ったプロダクトを公開・配布するとき、課題となるのが利用するモジュールのライセンスです。 MITライセンスであれ、MPLライセンスであれ、利用するモジュールのLICENSEやNOTICEファイルを同梱することになるでしょう。 goxzとgo-licensesを使うと、クロスビルドした実行バイナリと利用モジュールのLICENSE等を含め頒布物を作成できるようになります。 最終イメージ 同梱されていることの確認 go-licenses ハマりポイント goxz まとめ 最終イメージ 最終イメージですが、以下のようなMakefileを用意しました。 プロダクトに設定したライセンスで利用できないモジュールがあるかどうかをlicense-checkで確認した後、cross-build.shを呼び出します。 .PHONY: license-check license-check: go-

    Golangでバイナリを配布するとき、go-licensesとgoxzを使って利用モジュールのLICENSE、NOTICEを同梱する - 理系学生日記
    honeybe
    honeybe 2023/03/17
  • なぜ今シェルスクリプトを学ぶのか・シェルスクリプトの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 - 理系学生日記
    honeybe
    honeybe 2022/05/02
  • 困ったときのパケットキャプチャ+curl - 理系学生日記

    リバースプロキシから渡ってきた HTTP リクエストで WebApp がエラーになるという状況が発生しました。 状況としては、 リバプロにはぼくたちはアクセスできないし、そのリバプロにリクエストを送ることもできない。 リバプロから WebApp 用 FW に何らかの HTTP ヘッダを連携することになっているが、果たして送られているのかが不明 という状況。正確に何が起こっているのか分からない状況で鍵になるのは事象の再現であり、このときに採った戦略はパケットキャプチャでリクエスト内容を確認し、それを curl で再現することでした。 容易にサーバ上にツールを導入できる状況でもなかったので、tcpdump が使えたことは当に有り難かったです。また、自分の端末にもソフトウェアを簡単に導入できない環境ではあったものの、WireShark が入っていたのも良かった。 この 2 つが揃っていれば、あ

    困ったときのパケットキャプチャ+curl - 理系学生日記
    honeybe
    honeybe 2018/02/19
  • シェルスクリプトにおける [ と [[ - 理系学生日記

    シェルスクリプトで条件分岐を書くとき、[ を使ったり [[ を使ったりすることになると思います。 POSIX の test にも記載がありあすが、[ は test と同じ機能を持つことになっており、同じ実装であることも多いです (ただし、[ として実行されるか、test として実行されるかに依って挙動が変わり得る)。 一方で、[[ は POSIX で定義はされていない、Bash 等の高機能シェルでの拡張になります。 [ と [[ は、当然ながら同じような機能を持っています。そりゃ、後者は前者の拡張ですからね。一方で、「拡張」であるが故に、[ と [[ で異なる挙動も存在します。 演算子 たとえば比較の演算としては以下のような挙動のちがいがあったりします。なお、[ への有無については、POSIX 定義という観点であって、シェル実装によっては普通に使えるものもあります。 機能 [ [[ 備考

    シェルスクリプトにおける [ と [[ - 理系学生日記
    honeybe
    honeybe 2017/07/24
  • スレッドダンプを解析する地獄とFastThreadというWebサービス - 理系学生日記

    スレッドダンプというと、JVM 言語に関する運用でマジで困ったときの頼みの綱みたいなイメージある。マジで困ったとき、じゃなくて、カジュアルに見れば良いんだけど、スレッドダンプのフォーマットが異常すぎてつらくなる。 そもそもなんなんだこのゴミみたいなフォーマットは。 一体誰がどういう思想の元でこのフォーマットを決めたのかさっぱり分からないし、人類を苦しめるために未来から来た AI が勝手に策定したのではないか。 "[ThreadPool Manager] - Idle Thread" #42 daemon prio=5 os_prio=31 tid=0x000000012a3a7800 nid=0x15503 in Object.wait() [0x000070000ab66000] java.lang.Thread.State: WAITING (on object monitor) at

    スレッドダンプを解析する地獄とFastThreadというWebサービス - 理系学生日記
    honeybe
    honeybe 2017/06/26
  • BashのGlobに関わるオプション - 理系学生日記

    前に Bash の Glob に関するエントリを書きました。 他にも Glob には様々な応用があります。 あまり知られていないような使い方も多いので、それらをご紹介していくコーナーです。 extglob Glob で正規表現と not 条件を表現できるようになる。 詳細については、 BashのGlobは積極的に利用しましょう - 理系学生日記 に書きました。 nullglob 通常、Glob を指定したもののそれが合致するファイル/ディレクトリが存在しない場合、Bash は指定した Glob をファイル名として解釈します。 何を言っているかというと、これを見れば分かって頂けるでしょうか。 # *.hoge というファイルが存在しないので、Bash は '*.hoge' というファイル名をそのままコマンドに渡す $ ls *.hoge ls: cannot access '*.hoge':

    BashのGlobに関わるオプション - 理系学生日記
    honeybe
    honeybe 2016/08/10
  • BashのGlobは積極的に利用しましょう - 理系学生日記

    bash には glob というものがあります。glob ってなによっていう人も ls *.sh とかを展開する bash の機能ですよっていうと分かるかと思います。 この glob の機能って多用されますがあまりマニュアルとか読んだ人もいないと思うので、簡単にまとめてみます。 1. Pattern Matching Glob のパターンマッチングに使用できる文字のパターンっていうのは、通常、次の文字です。 *: 何にでもマッチする ?: 任意の一文字にマッチする [...]: [ と ] の間に記述された任意の文字にマッチする。これはちょっとややこしいので、もうちょっとまとめます。 [...] [...] の ... には通常として文字の集合を指定できますが、多少表現力のあるものも指定できます。 次のように、ハイフン- で指定された範囲のみにマッチさせたりできますし、 $ ls test

    BashのGlobは積極的に利用しましょう - 理系学生日記
    honeybe
    honeybe 2016/08/02
  • HashiCorp社が出したVaultとはどういうものなのか - 理系学生日記

    HashiCorp 社から、新たなソフトウェアである Vault by HashiCorp がリリースされました。 - HashiCorp Blog: Vault この Vault について、Getting Started を一通り実施した後に Docs の一部を確認してみたので、簡単にその内容をまとめてみます。 Vault とは何なのか Vault を一言で言うと、機密情報(Secret) を管理するツールです。 これだけ IT が広がっている現在、機密情報の範囲も広がり続けており、データベースにアクセスするためのユーザ/パスワードや、連携するシステムの API キー等、多岐に渡ります。こういった情報、おまえのところのシステムではどう管理してた?XML に生で書いてる、あるよねそういうの。jdbc.properties に直書き、うんうんわかるわかる。ちょっとがんばったら crypt で

    HashiCorp社が出したVaultとはどういうものなのか - 理系学生日記
    honeybe
    honeybe 2015/05/07
  • 1