理系学生日記

おまえはいつまで学生気分なのか

終わり行く2017年にgrepを

みんな大好き grep についてですが、かなり機能が豊富な一方でなかなかそれがまとまっていないこともあるのと、自分自身、結構細かな Tips を忘れたりするので、ここで簡単にまとめてみたいと思います。 OR 検索 後述する拡張正規表現でも可能といえば可能で…

食器洗浄器のために自力で分岐水栓をつける

12 月になって引越しをしていたんですが、元々の家はシステムキッチンに食器洗浄器がついていたのが、引越し先には付いていない。 こういうときに何が困るのかというと、食器洗浄器に引き込む水を取水するための栓がないことでした。 引越し先の蛇口はタカギ…

インターネットに接続できないオフライン環境でPython製ツールをインストールしたい

ときに、インターネットに接続できない環境というのが存在します。 しかし、今回はこういう環境において Python 製のツールを使いたいという状況が発生しました。 今日びのパッケージマネージャというものはパッケージリポジトリからダウンロードするのが一…

Cookieのpath属性に対するブラウザ毎の挙動の違い

ブラウザ毎の Cookie の path に対する挙動の違いによって、検証しているアプリに色々とバグっぽい挙動が出てきたので、あらためて Cookie における挙動をまとめてみます。 検証内容 セットするCookie の path 属性に /path、あるいは /path/ を指定した Web…

known_hostsからエントリを消す

定期的に忘れるんだけど、~/.ssh/known_hosts にあるエントリをスクリプトから消すコマンドは、ssh-kengen -R。 そもそも known_hosts とは 接続したことのある各ホストの公開鍵を保存しているファイルで、普通の文脈だとユーザレベルのファイルである ~/.ss…

Google Public NTP の Leap Smear

ずっとエントリ書こうと思っていたんですが、Google Public NTP で使われている Leap Smear についてです。 Leap Smear について書き始めたは良いものの、思っていたよりコンテキストが厚くて、閏秒から話をしないといけませんでした。 そうすると、Leap Sme…

MyFacesでのステートレスビューとCSRF対策の問題(解決済)

JSF において、ポストバックに対する CSRF 対策が実装されているというエントリを書きました。 ここでは、CSRF 対策トークンの値が javax.faces.ViewState という hidden 値に埋め込まれ、それを改竄した場合は ViewExpiredException が発生するという内容を…

JSFにおけるCSRF対策

CSRF については、一般に正規利用者の意図したリクエストであることを確認することが対策になります。いわゆる徳丸本で紹介されている、具体的な方法としては以下のとおりです。 秘密情報(トークン)の埋め込み パスワード再入力 Referer のチェック 体系的に…

JSFにおけるPostback、そしてライフサイクル

JSF における Postback とは何なのか、っていうのはなかなか本を見てもわかりませんでした。 かといって、こういう概念は実装してもよくわかんなかったりするので、こういうのはやっぱり公式ドキュメントを読んで理解した方が良いだろうと、そこで学んだこと…

declare、typeset、そして local

declare とか typeset、local まわりの使い方について。 まず、declare と typeset は、シノニムなので、この 2 つの差異は考えなくて良いと思います。このため、ここでは declare でひとまとめにして扱いたいと思います。 そういうわけで、declare と local…