タグ

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

  • コミット履歴を綺麗にするときの`git commit --fixup`と`git rebase --autosquash` - 理系学生日記

    Pull Request(PR)やMerge Request(MR)を作る中で、コミット履歴はできるだけ綺麗にしておきたいものです。 プルリクエストについて - GitHub Docs Merge requests | GitLab ぼくはあまりコミット履歴の綺麗さを気にしない方でした。 しかし大きめのPRやMRをレビューする側に回ると、「変更のまとまり」が追えないと「なぜこの変更をしたのか」が非常に追いにくくなります。 だからこそ最近は、コミット履歴をかなり意識するようになりました。 その時に活躍しているのが、タイトルの通りgit commit --fixupとgit rebase --autosquashです。 git commit --fixup git rebase --autosquash そのほかおすすめ git commit --fixup git commit --fixu

    コミット履歴を綺麗にするときの`git commit --fixup`と`git rebase --autosquash` - 理系学生日記
  • .ssh/configの記述量を減らしたいしホスト鍵警告メッセージも減らしたい - 理系学生日記

    今日もみなさんどんどん ssh でどっかのホストにログインするのにお忙しい事と思います。最近のプロジェクトでは、ぼくもどんどん ssh でどっかのホストにログインするのにお忙しくて、ログインし続けていたら一日が終わる。 さて、ssh を使うときの個人用設定としては ~/.ssh/config が使われるのは周知の通りですが、結構業務効率を左右するような状況にもなってきたので色々と調べてみました。 設定をシンプル (DRY) に 警告メッセージを黙らせたい ssh 接続を切断させない 設定をシンプル (DRY) に ~/.ssh/config 内では、ホストごとに設定を切り替えることができます。 Host hoge.com というような設定を記述して ssh hoge.com 用の設定を行う方も多いでしょう。 ここで問題になったりするのが踏み台とそれ以外のサーバであり、また、その数が多くなっ

    .ssh/configの記述量を減らしたいしホスト鍵警告メッセージも減らしたい - 理系学生日記
  • zshのターミナル環境を変更したらモチベーションアップした - 理系学生日記

    雑談ネタです。 4 月に入り、自宅の Mac をクリーンインストールし直しました。 最近どうも多忙にかまけてしまい、この Blog も含めて自宅での IT 関連のモチベーションが湧かない状況でした。全てを一新することで、もう一度あの熱い想いを思い出せないか、というのが動機です。 それに伴い、Terminal 環境も一新したいなと思いまして、久しぶりに zshrc 等をいじりました。平成は、はてなにもこういうネタ多かったよね。最近見ない気がするけどね。懐古厨かしら…。 それで、これまでは liquid-prompt を使っていたんですが、今回はやっぱり powerline ベースにしたいなということで alien を使いはじめました。 変更した Terminal はこちら。 プラグイン入れるだけでプロンプト綺麗にできるの楽で良いですね。昔は man zshall とかとか読みまくって、無限

    zshのターミナル環境を変更したらモチベーションアップした - 理系学生日記
  • RFCを調べるときは IETF の Datatracker がすごく有用なことに今更ながら気がついた - 理系学生日記

    新卒で入社した会社の新人研修で心に残っているのは、 "一次情報源にあたれ" という話でした。 要するに Blog 記事とか Qiita とかでノウハウを吸収するのは効率良いんだけど、そうする理由は何?とか、仕様として正しいの?と言われたときに、 このエントリに書いてありました、とかいうのはプロじゃないよね、という話で、そういうのは今でもできるだけ気をつけていたりします。 1 そういうわけで、RFC 参照しなきゃって気になるときは多くあるんですが、RFC を読みたいっていうとき、だいたい WebSocket rfc とかのキーワードで検索することが多かった。だいたいそれで要は足りるんですが、不安になるのは「これって他の RFC が出てたりしないかな」ってことでしたが、 そういうのの不安を軽減するのに IETF Datatracker が便利っぽい。 たとえば、oauth 2.0 について調べ

    RFCを調べるときは IETF の Datatracker がすごく有用なことに今更ながら気がついた - 理系学生日記
  • Perl における flip-flop 演算子の使い道について - 理系学生日記

    flip-flop 演算子とは、スカラーコンテキストで使用される範囲演算子(Range Operator) のことです。一般にはドット (.) 2 個で構成される演算子として認識されています。 この演算子は 2 つのオペランドを取ります。下記の例では、3 と 5 をオペランドに取っています。 perl -nle 'print if 3 .. 5' bigfile.txt 上記は、bigfile.txt を 1 行ずつ読みこんでいくのですが、bigfile.txt が 1 ~ 2 行目のうちは if 文は false を返します。3 行目になると if 文は true になり、if 文が true として評価されるこの状態は 5 行目まで続きます。そして 6 行目に達して以後は、ずっと false として評価されます。 ここではわざと「状態」という言葉を使いましたが、この演算子は「状態」を持

    Perl における flip-flop 演算子の使い道について - 理系学生日記
    azumakuniyuki
    azumakuniyuki 2017/08/02
    バウンスメールの解析でこの演算子を使って実装したけど二、三種類のフラグを使った方が速かったってのを思い出した。
  • Perl で Expect - 理系学生日記

    対話的なプログラムを自動化するのに expect があるという話を前に同僚から聞いていましたが、Perl でやるとどうなるんだろうとか思ってると、そのまま Expect っていうモジュールがあった。 インタラクティブなコマンドのクソ面白くない例としてパスワード変更がありますが、それを Expect.pm で書くとたぶんこんな感じになるんだと思います。 #!/usr/bin/perl use strict; use warnings; use Expect; my $cmd = 'passwd'; my $oldpass = 'aaaa'; my $newpass = 'bbbb'; my $expect = Expect->new; $expect->log_stdout(0); # hide stdout of 'passwd' $expect->log_file('./passwd.l

    Perl で Expect - 理系学生日記
  • AnyEvent で並列ダウンローダを作ってみた。 - 理系学生日記

    Youtube からのダウンロードは以下のような 2 ステップに分かれます。 HTML から flv ファイルの URL を抽出 実際に flv をダウンロード こういう形でいくつかのステップに分かれる場合に AnyEvent ではどう書くのかを検証したかったこともあり、チャレンジしてみました。 結論から言うと、 イベント発生 コールバック(1) の呼び出し コールバック(1) の中でコールバック(2) の設定 コールバック(2) の呼び出し .... というようにコールバックを連鎖させることで、上記のようなステップが分割されるようなケースに対応することができそうです(当はもっとスマートな方法があるのかもしれませんが)。AnyEvent の POD 中にある "REAL-WORLD EXAMPLE" で Net::FCP の説明がなされていますが、ここでの AnyEvent の使い方が非

    AnyEvent で並列ダウンローダを作ってみた。 - 理系学生日記
  • 1