タグ

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

  • 毎回go.sumのconflictを解消するのがつらすぎるので、.gitattributesでunion merge driverを使うよう指定する - 理系学生日記

    Golangのツールをチームで開発しているのですが、Merge Requestをmergeする度にgo.sumとのconflictが発生する。つらい。 実のところは「つらすぎる」というほどつらくはないのですが、毎回conflict markerの<<<<<<<を消していく作業で人生を浪費するのはつらい。 というわけで、暫定的に.gitattributesでunion merge driverを指定する運用をはじめてみました。 $ grep go.sum .gitattributes go.sum merge=union .gitattributesについてはここでも書いた。 理屈 テキスト系ファイルに対しGitで利用されるデフォルトのmerge driverはtextです。 このmerge driverでconflictが検出されると<<<<<<<や>>>>>>>でconflictしている

    毎回go.sumのconflictを解消するのがつらすぎるので、.gitattributesでunion merge driverを使うよう指定する - 理系学生日記
    manabou
    manabou 2021/02/14
    [merge
  • OAuth 2.0の認可権限無効化の仕様 - 理系学生日記

    OAuth 2.0 のプロバイダを作るんだったら、もしかして認可権限の取消画面も作らないといけないのかしら〜〜〜〜(ほげ〜〜〜〜)と思って調べてたら、その revoke の仕様も RFC で仕様化されていることを知りました。 これにより、必ずしも取消画面を作らなくて良いということにはなりませんが、API として公開することは容易そうなので心をなでおろしています。 RFC 7009 - OAuth 2.0 Token Revocation OAuth 2.0 (RFC 6749) では認可サーバ側での認可権限の無効化について触れられていますが、RFC 7009 で触れられているのは、クライアントからの権限の無効化です。 Twitter における「アプリ連携」メニューでは、個々のアプリケーションに対して「許可を取り消す」というボタンが存在していますが、あれを仕様化したものと理解すれば良い。 ト

    OAuth 2.0の認可権限無効化の仕様 - 理系学生日記
  • 特定ユーザのGithub上のリポジトリをごそっとローカルにcloneする - 理系学生日記

    Github 上にある特定 user のリポジトリをぜんぶローカルに持ってきたいなぁというときのワンライナー。 nablarch のところは適当なユーザに書き換えれば OK。ghq ではなく単に git を使いたければ、ghq get を git clone に変えれば良いです。 $ curl 'https://api.github.com/users/nablarch/repos?per_page=100' | jq -r '.[]["clone_url"]' | xargs -n1 -P4 ghq get Github API Github には API があって、参照だけなら HTTP リクエストを送るだけで情報を取得できるようになってます。特定ユーザのリポジトリ一覧を得る API はこちら。 Repositories - GitHub Docs デフォルトでは 30 件しか取得でき

    特定ユーザのGithub上のリポジトリをごそっとローカルにcloneする - 理系学生日記
  • 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に関わるオプション - 理系学生日記
  • Data::Dumper に代わる Data::Printer - 理系学生日記

    LL でデバッグと言えばデバッガではなく print デバッグ、という人は多いと思います。ぼくはもっぱら print デバッグです。 いまこのタイミングでこのオブジェクトはどんな値を持っているんだろう、というときは、Perl だったらもっぱら Data::Dumper を使って、 sub p { print Dumper @_ } p $object; なんてのを良く書いてたんですけど、$object がクソみたいにデカいモジュールのオブジェクトだったりすると、ターミナルが溢れて(ぼくが)死んだりしてました。DateTime とか HTTP::Request あたりとか大変ですね。 で、ちょっと Data::Printer 良いよって声を聞いたので試してみたのでした。Class::MOP 依存だがな!!! 基的な使い方 Data::Printer を use すると、p っていう関数がデ

    Data::Dumper に代わる Data::Printer - 理系学生日記
  • モジュール名からモジュールのソースファイルをシームレスに開く elisp - 理系学生日記

    タイトルの通り、モジュール名を読んでモジュールのソースファイルを開く elisp を作ってみました。これによって、ソースを読みつつ気になったモジュールがあると、そのモジュールのソースもシームレスに覗くことができるようになりました。 動機 最近ヒマなときはずっと Catalyst を写経しているのですけど、今まで使っていなかったモジュールが山ほど出てきていて、これらのモジュールがどう実装されているのかが気になることがあります。 local::lib を使っているので、ほとんどモジュールは $HOME/perl5/lib/perl5 配下にあるのですが、Emacs でそれらのファイルをパス指定していくのはメンドいし、Module::Pluggable のように $HOME/perl5/lib/perl5/darwin-thread-multi-2level 以下にインストールされるモジュール

    モジュール名からモジュールのソースファイルをシームレスに開く elisp - 理系学生日記
  • 1