私が歌川です

@utgwkk が書いている

沖縄

3/21-24の3泊4日で沖縄に行きました。沖縄に行った理由はとくにないです。

以下は雑多な観光日記です。

3/21

お昼ごはんに天一を食べて関空に向かう。ぼんやりしてたらチェックイン締切20分前に着いてしまいやや焦る。

2時間ぐらい飛行機に乗ってて、通路側の席だったのでとくに景色は見てない。寝たりゆゆ式を読んだりして暇をつぶす。

そうこうしてたら沖縄に着く。寒くなく過ごしやすい天気で、雨も降ってなくて助かった。ゆいレールSuica対応してて便利。

チェックインして荷物を置いたら国際通りに向かう。シークヮーサー泡盛を買って飲むけど量が多くて慌てて水も買うことにした。ああいった飲み物がカジュアルにコンビニに置いてあるのはすごい。

id:anatofuz と飲みに行く。せんべろコースで3杯飲んでまだ1000円じゃんって大はしゃぎしてた。そのあと2軒行って解散。

3/22

めちゃくちゃ早く目覚めて、なんかあまり眠れた感じがしないけど、眠気があるわけでもない。とはいえ身体は重たかったので寝てたら11時前になってた。

とりあえずソーキそばを食べに行く。肉が乗った太麺がどこでも食べられておもしろいしおいしい。

ゆいレールの延伸部分の乗りつぶしを兼ねて首里城に向かう。案内に従って歩いてたらめちゃくちゃ歩かされて、まだ首里城じゃないのってなってた。

YAPC::Okinawa 2018で来たときは本殿にも入ったと思うのだけれど、いまは立入禁止になっていた。燃えてしまったのだなあと感慨に浸る。

utgwkk.hateblo.jp

歩きすぎて足がめちゃくちゃ疲れたので急いでゆいレールの駅に戻り、てだこ浦西に向かう。とくに何もないのでそのまま引き返した。

国際通りの店でステーキを食べる。肉の寿司も見た。

寿司見てる

肉見てる

ステーキを食べたあとにせんべろに行ったら、突き出しだと思って注文した料理が思いのほか多くて満腹になってしまう。しばらくダウン。

タコライス食べたいなと思って調べたところ、ペンギンがいる店でタコライスを食べられるということが分かったので向かう。

ペンギンに餌をあげる体験もしたしタコライスも食べた。

3/23

美ら海水族館に行こうと思い立つ。2時間ほどバスに乗っていたら着いた。自動車免許を持たない身だと、車を使わないと行けない場所に行くには足が重たいが、直通のバスが出てるのでなんとかなった。

砂浜を見た。潮だまりが好きなんだけど理由は分からない。歩きまわってたらどんどん足が疲れてきたので2時間ほど滞在したのちバスに乗り、那覇に戻る。

3/24

正午ぐらいの便で帰るので観光する時間はない。空港で萌えピン*1をやって搭乗までの時間をつぶす。

飛行機は窓側の席がよいのかもしれないけどトイレが近いので通路側にいたい。

和歌山旅行2

2/22-2/23 に和歌山に行きました。これで2度目の和歌山です。

utgwkk.hateblo.jp

1日目

京都から和歌山線経由で和歌山に行くことにしました。これは奈良駅で途中下車した様子です。

f:id:utgwkk:20200315132443p:plain
奈良

和歌山線は、住宅街と川の横を走りつづける路線でした。トンネルだらけということもなく、よい景色だったことを覚えています。

f:id:utgwkk:20200224174151p:plain
和歌山線完乗

f:id:utgwkk:20200315132609p:plain
寿司

和歌山では寿司を食べずに酒を飲んでいました。

www.instagram.com

和歌山にはサイズ感のおかしい日本酒が出てくるお店があります。

www.instagram.com

2日目

主に海を見ていました。

南海本線で大阪まで戻って、サウナに行きました。

nginx の $request_uri と $uri

nginxの $request_uri$uri は似ているけどちょっと違う。

$request_uri

$request_uri
full original request URI (with arguments)

  • クエリパラメータ付きのオリジナルのURI

$uri

$uri
current URI in request, normalized

The value of $uri may change during request processing, e.g. when doing internal redirects, or when using index files.

  • 正規化されたURI
  • リクエストの処理過程で $uri の値は変わりうる
  • クエリパラメータは付いてない

どのように正規化されるのか

locationディレクティブに書いてある。

The matching is performed against a normalized URI, after decoding the text encoded in the “%XX” form, resolving references to relative path components “.” and “..”, and possible compression of two or more adjacent slashes into a single slash.

  • パーセントエンコーディングの文字列をデコードする
  • 相対パスを解決する
  • merge_slashes on なら、2つ以上のスラッシュが隣接してたら1つにまとめる

見比べる

merge_slashes on;
log_format hoge "$request\trequest_uri:$request_uri\turi:$ur";
# 中略
access_log /var/log/nginx/access.log hoge;

のように設定して、/foo/bar/baz///こんにちは?hoge=2 にアクセスし、ログを見る*1

GET /foo/bar/baz///%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF?hoge=2 HTTP/1.1     request_uri:/foo/bar/baz///%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF?hoge=2      uri:/foo/bar/baz/\xE3\x81\x93\xE3\x82\x93\xE3\x81\xAB\xE3\x81\xA1\xE3\x81\xAF

たしかに $uri は正規化されてるしクエリパラメータが付いてない。

consistent hashでupstreamへのリクエストを振り分けるときや、アクセスログに記録するときにうまく使い分ける必要がありそう。

参考

*1:相対パスの部分はリクエストする前にChromecurlが解決しているようだった

早寝すると調子がいい気がする。

月曜日は二日酔いデバフもあってまったく捗らず、これはもうどうしようもない、と諦めて21時に就寝したところ、翌日には体力回復した。 昨日も22時に寝て早起きして、洗濯も掃除もやって調子いい出だしになっている。

夜型人間ってよく言われるけど、寝るのを惜しんでたら翌朝調子が出なかったのの積み重ねだったのかもしれない。

昨日、ぜんぜん捗らなくてぼうっとしてたのだけれど、諦めて21時に就寝してそのまま寝まくってたら回復した。

VSCodeの拡張機能を書くときに見るページ

VSCode拡張機能を書くことがまあまああるのだけれど、毎回 vscode extension api hogehoge みたいな検索ワードで検索しまくっているので、普段どういうページを見ながら拡張機能を書いているのかまとめることにした。

utgwkk.hateblo.jp

utgwkk.hateblo.jp

Contribution Points

code.visualstudio.com

package.jsonにcontributesといって、拡張機能が提供する機能について書かないといけないのだけれど、何をどのように書いたらよいかを調べるときに見る。

VS Code API

code.visualstudio.com

とにかく拡張機能を実装するのに利用できるAPIを確認するときに見る。 型定義を見たり、このページをgrepしたりしてちょうどよいAPIを探すことができる。

Publishing Extnsions

code.visualstudio.com

vsce コマンドで拡張機能を公開できるけど、そのときに使う認証方法について書いてある。

github.com/microsoft/vscode-extension-samples

APIあるのは分かったけどどうやって使えばいいの??? となったとき、ここに使用例がいっぱいあるので見る。

github.com

GitHubで使いたいAPIで検索する

samplesにもないAPIを使いたいけどみんなどうやって使っているの?? とか、packages.json結局どういうことを書けばいいの? となったときに見る。

NodeJSのAPIリファレンス

VSCode拡張はTypeScriptで書けて、NodeJSで動いてるのでNodeJSのAPIが使える。 おもむろにchlid_processで外部コマンド叩くみたいなのもできる。 エディタにいいAPIがなさそうだったらNodeJSのAPIでなんとかする、みたいなことが可能。

家のISPを変えたらインターネット回線速度がよくなるのか、について考えている。引っ越しシーズンが来つつある気がするので乗り換えるなら高速に話を済ませたい。なんかいいプロバイダあったら教えてください。

追記

NURO光の回線契約申し込んだ