1/31 (金)
[Movie] ナイブズ・アウト/名探偵と刃の館の秘密
109シネマズ川崎『ナイブズ・アウト/名探偵と刃の館の秘密』(原題: Knives Out)を字幕版で観る。 『9人の翻訳家』はフランス映画で俳優もよくわからなかったのだが、今回の映画はメジャーな俳優が登場しているのでキャストを見ると犯人が分かってしまう…
1/26 (日)
[Movie] 9人の翻訳家
チネチッタで『9人の翻訳家』(The Translators)を観る。 ストーリーの肝になっているアレックスが『デダリュス』の第三部の冒頭を原稿を見る前に書くことができたのかは、ちょっとずるいような気がする。 だがアレックスがあれほど狂信的に『デダリュス』の作者に会いたいと願ったのかという点が、最後の最後にスーと明らかになるのは見事だった。 「Why done it = なぜ犯行を行ったか」の作品だ。
1/25 (土)
[Movie] CATS
チネチッタで『キャッツ』(原題: CATS)を字幕版で観る。
海外ではさんざん酷評されたようだが、確かに人間の体に猫的な模様がついているさまはシーマンを思わせるような不気味だが、途中でそのあたりの違和感は気にならなくなる。 ただ選ばれた猫が天上に昇るというのが、映画だと気球的なオブジェクトに乗った猫が空の彼方に消えてゆくさまが映し出されるので、後で落下して死んでしまうのではないかと気なるよ。
1/16 (木)
Go 言語のスコープ
Go 言語を使っていると複数の変数の定義でいろいろ迷うことがある。
:=
を使うと複数の変数の定義を一括で行うことができるが、いろいろ複雑だ。
複数の変数の定義
a, b := 2, 2
var a = 1 a, b := 2, 2
var a = 1 var b = 1 a, b := 2, 2
:=
を使うと左辺の全ての変数が定義されている場合はエラーとなり、一つでも定義可能なものがある場合は有効なようだ。
ブロックの中の変数の定義
同じ :=
であっても、 ブロックの中にある場合は定義される。
var a = 1 { a, b := 2, 2 fmt.Println(a) // これは 2 が表示される fmt.Println(b) // これは 2 が表示される } fmt.Println(a) // これは 1 が表示される
if 文の中で :=
を使っても、ブロックの中の扱いとなる。
var a = 1 if a, b := 2, 2; true { fmt.Println(a) // これは 2 が表示される fmt.Println(b) // これは 2 が表示される } fmt.Println(a) // これは 1 が表示される
1/15 (水)
CNAME Cloaking
ネット広告にブラウザのクッキーを用いるという傾向は曲がり角を迎えていると言われているが(日経経済新聞 ネット広告「クッキー離れ」広がる 10兆円市場変調も)、そこに油を注ぐように Google が Chrome ブラウザで 3rd party cookie を禁止すると発表して大騒ぎになっている。
- Chromium Blog | Building a more private web: A path towards making third party cookies obsolete
- TechCrunch | Google wants to phase out support for third-party cookies in Chrome within two years
とはいえば魚心あれば水心あり。 CNAME Cloaking という手法を使えば 3rd party cookie を 1st party cookie に偽装することができるとのこと。
Web サイトを運営している企業が、例えば www.nminoru.jp を運営しているなら、そこから htps://tracker.trackingcompany.com/j23jsak.js のようなサイトへのトラッカーを仕掛けた場合、ブラウザ側はこれを 3rd party cookie と判定可能だが、nminoru.jp の DNS ドメインに j23jsak.nminoru.jp のような CNAME を設定し、それが tracker.trackingcompany.com を指している場合はブラウザは 1st party cookie にしか見えないというもの。
いろいろなことを考え付く人がいるようだ。