/ 最近 .rdf 追記 設定 本棚

脳log[2017-07-05~]



2017年07月05日 (水) Webエンジニアだったら当然知っておきたい「 クリックジャッキング対策 」とは? | ヌーラボ」■言葉や図からなんとなくイメージしてたのと、主従が逆だった。上から覆い被さって操作を横取りするのではなく、外部の操作対象のページを透明化して上から被せるのだった。■これで何のハードルが越えられるのだろう。CSRFならブラウザが持つクッキーやログインセッションがユーザーの意図しないページ遷移によって悪用されるわけだけど(※望まないシングルサインオンも同じよな>20150702)、ユーザーの意図しないクリックが何を可能にするのだろう。■iframe内の要素って iframe外のスクリプト(マウス操作のエミュレート)から守られてるんだろうか。またその逆は?■キーワード。「X-Frame-Optionsヘッダ」「sandbox属性」■同一生成元ポリシーなんかだと基本は安全で、効率のために分散したり寄せ集めたりしたい人間があえて穴を開ける(開けすぎる)までは問題にならないと思ってるんだけど、クリックジャッキングは対策しておかない限り悪用される可能性があるようにみえる。1-Click購入ボタンは設置するのが大変に難しいってこと。


2017年07月03日 (月) Rubyでif文やwhile文とか言っている入門は非推奨 - Qiita」■式と文の区別って苦手。どっちも似たようなものに思える。statementと expressionだとそうでもなくて、statementだと静的なもの構造的なもので、expressionは評価できるもの何らかの値を返すもの、という印象と結びついて即座に理解できる。式と文では何の連想も働かずさっぱり区別が付かない。■式って形式の式でもあるわけで、つまり枠組み。式=statementもありえたのではないか、というねじれた発想がより区別を難しくする。■式とか文でなく、値を返すもの、値を返さないもの、でいいじゃない。Rubyの if式の存在が他のよくある if文との区別を否応なく迫ってきたおかげで、ようやくこの理解に至った。それまではあえて混同して区別する気がなかった。■statementを普通に訳すと声明になる。ifや forが声明っていうのもよくわからんけどね。using namespace std; とか require 'thelibrary' とか assert(A == B) なんかは意味やありようが声明っぽいけども、でもこれらが実際に statement(文)であるかは別の話。


2017年07月02日 (日) [SakuraEditor] 10の 2乗を計算するのにテンプレートを使うのもやりすぎだし、log10を使ってテキストファイルの行番号の桁数を求めるのもやりすぎだなと思ったら、それらは後付けで、最初の実装(たぶん)が自分の考えたとおりだった。バブルソートが必ずしも悪ではないのと同じで、forループを回せばいいんですよ。テキストファイルの行数みたいなものに対して対数オーダー(それも底が10)の計算回数で済むのだから、愚直にやって悪いことはない。短くて理解しやすくて、それにたぶん速くて、コンパイラを選ぶこともない(※ダメなコンパイラが具体的にあるとは言っていない。でもハードルは上がっている)。


2017年06月30日 (金) 翻訳のタイミングで訳者が URLの死活をチェックし、脚注に書かれた URLのほとんどに訳者による注(「現在はアクセスできないようです」)が付けられている本があった。■それより進んだ例では、著者が本のサポートページ(ただし著者の個人サイト)でリンク集を維持管理し、印刷された本からはリンク集へのアクセスだけが提供されていた。■何の話? 中国の教科書に書かれた URLとエロサイトの話。


2017年06月28日 (水) Windowsの日本語切り替えはトグルだからダメだと言う話。Macの方式が良い。 - 非天マザー by B-CHAN」■Windows 10の日本語入力だけど、最近になって悪夢のような振る舞いを見せるようになった気がする。■入力中に IMEを一時オフにすることで入力内容をクリアする人が自分を含め一定数いると思う。それが、入力途中の文字列が確定後の文字列と同じようにアプリケーション側で描画されるような方式になってから、IMEをオフにすると未確定文字列が勝手に確定されたように見えたのが、Windowsの XPだか Vistaだかでのこと。■今度はどんな嫌がらせをしてきたのか。IMEをオフにしても未確定文字列が未確定のまま残る。だが IMEの状態はオフになっている。未確定文字列がなくなって初めて直接入力に切り替わる。これをされると IMEの現在の状態が全くわからなくなる。タスクバーのツールバーアイコンが「あ」か「A」かを確かめなければわからなくなる。■いったいどういう了見でこんな嫌がらせをするんだろう。汲むべき意図があるとは認めないよ。オフにしたがオフにはならず(つまり視線の先では何も変化していないのに)、でも実はオフになってました(IMEをオフにすることでクリアしたかった未確定文字列を別の手段で削除して初めて判明する。クリアした後はまた日本語の入力をしたいのに、オフになってるんだよね)。■ま、HTMLフォームの入力文字列が不意に触った[ESC]キーひとつでクリアされる問題含みの IEさんのことを考えると、似たような位置にある[半角/全角]キーひとつでユーザー入力が失われるのが問題に思えるのかもしれない。IEには Ctrl+Zがあるけど IMEにはそれもないし。でも IEにぎょっとさせられることはこれまでに何度かあっても日本語入力でそれはないんだよなあ。文節の区切り直しが面倒だから長くても一文で変換・確定するからかなあ。■なんか「Windows 10 IME」で検索すると、IMEの切り替えに際して現在のモードが画面中央にでっかくちらっと表示されるようになったとか。違う、そうじゃないんだ。どうしてあさっての方向につき進んで行ってしまうんだ。ワンタッチでトグルしないのが問題なんであって、現在の状態をよく見せて解決を図るのは違う。■ATOKがもう何年も前にそういうオプションを用意していた。文字の入力先に入力モードを表示する設定。試してみて一瞬で元の設定に戻したけど。元の設定とは、デスクトップの右下隅に短いパレットを縦向きに表示する設定。タスクバーの外。そうすると、IMEをオンオフすると視界の隅でちらちら現れたり消えたりするのがなんとなし目に入る。これがちょうどいい。■たぶん IMEはずっとオンにしておいてモードを切り替えて使えってことなんだろう。英字であっても IMEを通すことで辞書からスペルや意味を引くことができるから、悪いことではない。ためしに IMEオンで変換キーを押してみたら半角モードになって直接入力ができた(辞書は引けない)。でも、IMEのオンオフと IMEのモードをどちらも管理するのは面倒すぎるし、目視確認が必要になる。だから IMEのオンオフだけを操作するんだよ。


2017年06月23日 (金) クリア寸前になってなんとなく離れてしまうというありがちな理由によって放置されていたラストレムナントを再度最初からプレイしている。基本的に良いのだけど、サガ好きには特に訴えるものがあるのだけど、こういうものへのカウンターとしてオープンワールド的なゲームが嗜好されるのだろうなあというのを強く感じて、そういう部分が残念でもある。■モンスター素材でアイテムを生産・強化できる。割と序盤からこんなすごい装備が作れるんだぜ、ってのが見えているのは、たとえばフィールドにまだまだ敵わない強敵を配置しておいて、今はまだこっそり隠れて通り過ぎるだけという体験にも通じて、ネトゲをやらない俺にとってそれはドラクエ1での橋の向こうだったり FF12だったりするのだけど、それは良い。■何が違って何がダメか。フィールドの強敵であればちくちく経験値を積み重ねてレベルを上げれば倒すことができる。負けイベントであってもレベル上げの時間さえかければ倒すことができるなんてことが昔からあった。ラストレムナントのモンスター素材や採集素材は、絶対に集まらない。資源の入手時期は制作者のコントロール下にある。見えている強武器は見えているだけで、時間をかけても作れはしない。■さらに悪いことにモンスターから追加ドロップが得られるようになるアイテムが存在する。必要な素材があって、ドロップする敵がいて、でもそのアイテムを持っていないとどれだけその敵を倒してもその素材は手に入らない。モンスターハントにも負のインセンティブが働くってわけだ。「今はまだ倒すべきときではない。あとで戻ってきて追加ドロップと一緒に収集しよう」「素材名からあの敵が落としそうだけど、どんだけ倒しても無駄骨かもわからん」■見えてることでかえってモチベーションが下がるんだよね。どうせ作れない。どうせより強いものが作れるようになるのが見えてるから、今作れるものになけなしの全財産(※いつだってお金が全然足りない)をつぎ込む気が起きない。プレイヤーキャラクターを強化する一番の近道はストーリーを進行させること。入手時期を調整された新素材が手に入るようになります。モンスターの売価が順調に上昇していくので、いつでも旧世代の武器なら買えます。ただし時限式のサブイベントがあって、ストーリーを進めすぎると消えてしまいます。■もうね、もうね、なんでプレイヤーのモチベーションを下げることに一生懸命なんだろうって思う。管理されてる、支配下にある、なぞってるだけ、ってのに気が付いた瞬間に醒める。そもそも論を持ち出すと全部プログラムされた通りのことしか起こらないわけだけど、「電ファミニコゲーマー」のどれかのインタビュー記事だったかで、プレイヤーの逸脱を許容することが語られていたと思う。あるいは AIでフィットさせ過ぎることの害を語ったこれとか>「“世界最古”にして現代ゲームAIの先駆。21世紀に『パックマン』が再評価される理由を、作者・岩谷徹氏×AI開発者・三宅陽一郎氏が解説【仕様書も一部公開!】」。■ストーリー進行と共にインフレする各種パラメーターに沿ってゲームをデザインしようとすると、そしてそれが行き過ぎるとこうなるんだろうな。オープンワールドが万能の解決策ってわけでもなくて、HORIZONは良くも悪くも「パラメータが違うだけの類似のアイテムが存在しないエッセンスだけの世界」だし、ゼルダ(ブレスオブザワイルド)はこんなことを書かれてる>「収集要素によるインセンティブが(他のオープンワールドRPGに比べて)とても弱い」(<サガフロ2でも武器が壊れるんだけど、武器を壊すことにインセンティブがあったのですよ)。でもじゃあ、ラストレムナントでプレイヤーは何を目的と楽しみにして時間をつぎこむことが想定されてるんだろうって疑問がわく。そこが曖昧で、悪くないのだけどいまいちのめり込めない。■今ストーリーはラスボスの直前で、ここに来てからが一番時間をかけている。つまり今が本番。ストーリー進行や、追加ドロップを得るためのアイテムを得るためのお使いクエストといった、義務を終えた今が一番楽しいとき。俺にとって RPGの中心には反復する戦闘があるのだけど、ずっとその楽しみの一部を人質に取られスポイルされてきた。これを解消するのにオープンワールドを持ち出す必要はないと思う。逆に、オープンワールドであっても作り手が同じならしょうもない制限や義務を課すことができてしまうだろう。■■■関係ないけど、ゼルダのマスターソードが一定使用毎に使えなくなるっていうのは考えたよね。それをしないとマスターソードを手に入れる前と後が別のゲームになってしまう。たとえちょっと弱めに設定してあったとしても、壊れない便利さを取る人が多かっただろうし。■ボスだからっていう理由でそれまでのゲーム性を否定するゲームには見習ってほしい。その考え方は体力の数字を上げ下げするだけで済んでいた時代のものだ。←ラストレムナントは強敵にも割としっかり麻痺(※技無効)やサイレス(※術無効)が効く。そうではないゲームがあるってこと。


2017年06月22日 (木) ドライブ・バイ・ワイヤ (drive-by-wire)は、自動車における運転制御システムの1種で、従来の機械式制御に置き換わり機械的仕事を電線内(電線=ワイヤ)を通る電気信号で制御するシステムのことであり、」■最近出て人気らしい CBR250RRがスロットルバイワイヤを採用したのが 250ccでは珍しいってね。■しかし by-wireにはどうにもなじめない。だって電子制御ではないスロットルには文字通りのワイヤーが2本通っていてアクセル開度を調節しているのだから、なんの区別にもなっていない。それどころか、初めて聞いたときから逆の意味で使うべきではないかとの違和感が消えない。ブラックボックスに中継されて物理的な接続が見えない方をバイワイヤと呼ぶのは逆ではないかと。■wireとワイヤーの違いとも思えないんだけどなあ。■「フライ・バイ・ワイヤ以前の機力操縦システムでは、パイロットが操縦桿(輪)やラダーペダルに与えた入力は、金属製のロープ(鋼索、この分野における「ワイヤ」との呼び分けでは「ケーブル」と呼ぶ)やロッドや滑車による機械的リンクを経由して」■導入が遅い二輪は by-wire というできあいの概念を輸入しただけだからってのが理由? しかし、飛行機でも、wireの語を選ぶかね。


2017年06月20日 (火) 幼女が気になって問題に集中できない。「超難問論理クイズ「2人の幼女とチェス盤の部屋」が本当に難しすぎた - SIST8」■「幼女とは、「幻ノ女」の略称です。完璧な演繹・推論を行うこの世ならざる存在として、論理クイズの世界では「幼女」が登場します。(※個人の見解です)」 完璧な演繹・推論を行う女は存在しない、と。※男ならできる、男にはできる者がいるとは言っていない。■2の64乗通りの表現力を持つチェス盤(※回転対称を区別してもいいよね?)に冗長性を持たせて、表現力は64通りのみでいいけれど、その64通りすべてが2の64乗通りの表現の 1ビット隣に控えていなくてはいけない。0b0...0の 1ビット隣には 0b1から 0b0...01までがあって、何ビット目が立ってるかで64ビットから64通りが読み取れるから、ちょうどできるような気はする。でも64までの数のひとつを読み取れるパターンが 2^(64-6)通りあるって想像を絶する。■■■パリティとか排他的論理和とか、俺は本質を理解していなかったのだ! 解答を読んだ今でも……。


2017年06月19日 (月) なんのはずみか昨日から Twitterの画面がフィンランド語だった(おそらく。lang="fi"ってそうでしょ?)。字面が gobbledygook風味でちょっとおもしろい。意味のない文字を並べたジョークかと思った。クッキーを削除したら直って、もう再現できないが。


2017年06月11日 (日) Subversionはリポジトリが手元にないとできないことが多い。ワーキングコピーでできることは限られている。Gitはその点リポジトリを持ち歩いているようなものだ。その上で、リポジトリとリポジトリを同期する手段が充実している。■……なんてことに今更ながら気が付くのは、最近になって持ち歩いている USBメモリ上で作業する機会ができたからだ。USBメモリの中身は唯一のマスターデータたり得ない。 手でコピーして同期するのも xcopyや robocopyでタイムスタンプを基に同期するのも、どうにも泥臭くてミスが避けられない気がする。PCと USBメモリに同じリポジトリのワーキングコピーをそれぞれ作っておいて、svn commit, svn up でリポジトリを通して同期することにすれば、操作ミスによる作業結果の喪失は避けられる。■だけど Subversionのリポジトリは1か所にしかないのだよね。今回の場合は USBメモリ上のワーキングコピーがリポジトリから切り離されていたりいなかったりする。ワーキングコピーだけでできることは限られている。具体的にはコミットができない。■今まさに Gitを必要としている。■ま、オフラインではないので、SvnHubに当たるものがあれば済むという話でもある。■ファイルサーバーを作って VPN(※よく知らない)でアクセスとかは電気代が気になるね。■@2017-10-25 コントロールパネルに同期センターという項目があることに気が付いて、開くと「同期のセットアップ」「競合」「同期結果」という項目がある。競合がきちんと扱えそうなのが良い。これが Windowsに予め用意された最初に気付くべき解決策だったのでは? 古くはブリーフケースという名前の茶色いフォルダが似たような機能を担っていた気もしてきた。誰も使わなくて廃れたらしいけど。Windows10だと OneDriveが解決策かな。クラウドも行き過ぎた自動化もごめんだけど、そこまでハードルを下げないと使われないし可能性に気付かれもしないってのがある。


2017年05月31日 (水) パケット単価についてもやってほしいなあ。「スマホ回線料「算定根拠」、大手に開示義務化へ : 経済 : 読売新聞(YOMIURI ONLINE)」今どきの通信方式だと一瞬で使い切る容量に、何千円とるのかと。


2017年05月17日 (水) HORIZON ZERO DAWN。HUD設定にある oxygen bar って見たことがないなと、廃止されたギミックなのだとしたらバージョンアップで消えないのがおかしいなと思っていたのだけど、他人のプレイ動画に□ボタンで水面下に隠れて泳げるというインフォメーションが出ていた。えっそんな操作知らない。


2017年05月16日 (火) あ、これ俺のことが書いてあるやつだ(参考:20170416)、と思ったら違った。「絶対に付き合ってはいけない性格・気質を持った人間20項目」■理由を考えたら、このページに書いてある項目を満たすためには、だいたい他者が必要なのだった。踏みつけにする対象としての他者が。しかしお前の周りには踏みつけにするもしないもまず他者が存在しないよね、って。■自分とはまるで違うからこそ、たぶんね、「世の中はきれい事では動いていない」からこそ、ここに挙げられている特徴は「絶対に付き合ってはいけない」人の特徴ってわけではないような気がする。バカとハサミは使いよう。