Lazy Diary @ Hatena Blog

PowerShell / Java / miscellaneous things about software development, Tips & Gochas. CC BY-SA 4.0/Apache License 2.0

「事故」という用語の由来

よく「システムが○時間止まった」というトラブルを指して「事故」という言葉が使われる。
高校や大学では使ったことのない用語だったので、これって業界用語だよね?と思って調べてみると、どうやらそうでもないみたい。

プログラムのバグや、それに起因したトラブルを指す言葉として、高校や大学ではよくJIS X 0014やJIS Q 9000に基づく表現を教えられる。

  • 障害(fault): JIS X 0014
  • 誤り(error): JIS X 0014
  • 故障(failure): JIS X 0014
  • 欠陥(defect): JIS Q 9000

なんだけど、以下に示す Design Wave Magazine の記事では、

  • 障害(fault)→異常(error)→故障(failure)→潜在危険(hazard)→事故(accident)

という表現が取られていた。
参考URL: http://www.cqpub.co.jp/dwm/contents/0109/dwm010900270.pdf

JIS X 0014 の表現とは食い違うように思うけれど、これはこれで分かりやすい。何由来の考えかたなんだろう?(ISO 26262? ISTQB? IEC 61508?)

お金の使いかた

  • (A) 「1円でも多く貯めておけ」という考え方。
  • (B) 「ここで使っとかないと使うときがないぞ」という考え方。

私の育った家は(A)の文化でした。私の育った地域には「買い初め」という文化が存在せず、かつ交通の便がよい場所で、自動車で30分〜1時間も行けば大概のものは手に入れることができました(つまりある時に買い逃したものがあってもまたすぐ手に入れるチャンスがある)。(A)の考え方で不自由しなかったのは、そういった背景もあるのかもしれません。
一方で「買い初め」という文化が存在し、かつ大きな町まで100km(ある時に買い逃したものがあると、次に手に入れるチャンスがあるのは100km先まで移動する用事があるときだけ)という文化だったりすると、どうしても(B)の文化になるのかもしれませんね。

人から話を振られたときの「えーと」の意味

  • (A) 何か打ち合わせをするときに、わざわざ前もって「頭出しのための打ち合わせ」を行う文化。打ち合わせの中で質問を受けたときに「えーと」と発言しても問題ない(論点を整理しようとしてるんだろう、くらいにしか思われない)。
  • (B) 打ち合わせの場でもないのに、いきなり「○○の件なんだけど」と話を振られたとしても、即答できることが求められる文化。「えーと」などと言おうものなら、主題について真剣に考えていない(真剣に考えているなら即答できるのが当たり前で、その場で何か考えているようでは検討に参加してもらっている意味がない)と捉えられる。

担当者と顧客の対応関係が一対多だと(A)に、一対一だと(B)になるのかとも思ったんだけど、どうやらそういう訳でもないみたいなんだよね。「顧客から見て」担当者と顧客の対応関係が一対一に「見える」……言いかえると、担当者と顧客の対応関係が一対多であることが想像もつかない、という前提だと(B)になるのかな。

小さいうちの自然との触れ合いかた

英語を学ぶことをもって異文化コミュニケーションとか言うことがあるけど、言語以外の異文化っていっぱいあるよ、という話。

  • (A) 小さいうちは自然に触れ合って遊ぶのが良い、という考え方。小学校で「校区の良いところは?」と先生が聞くと、「緑が多いところ」と答えるのが定番だったりする。
  • (B) 小さいうちは自然に触れ合うのは危険だ、という考え方。野山は毒のある動植物が多いし、迷い込んだりすると危険。人の手の入らない山が多かったり、気候が厳かったりするとこうなりがちなのかもしれない。

Pause before HTTP redirect (302) and get redirection URI with Chrome developer tools

Context

  • When you try to attack to OAuth2 Authorization Code Flow with CSRF (See RFC 6749 "10.12. Cross-Site Request Forgery"), you have to pause before redirect in order to get redirection URI, because the redirection URI is unique and will be invalidated after the access to the URI.
  • Client local proxy like Burp Suite or Fiddler is widly used for this purpose. But sometimes it is prohibited to install such local proxy, because of asset management policy or security policy of their organization.
  • With Chrome, you can pause before redirect with code below (See Chrome: pause before redirect). This code can just pause before redirect, but you cannot get redirection URI (No request will be shown in the Network tab on Chrome developer tools).
window.addEventListener("beforeunload", function() { debugger; }, false)

Solution

  1. Open Chrome developer tools and open "Network" tab.
  2. Once access to an URL that redirect request.
  3. Right-click the redirection URI and select "Block request URL". The "Request blocking" tab will be automatically opened.
  4. In the "Request blocking" tab, replace variable part of URI with wildcard (*).
  5. Access to the URL same as 2. again.
  6. In the "Network" tab, the blocked request (request URI) will be hilighted in red. Right-click the request and select [Copy]-[Copy link address].