valid,invalid

関心を持てる事柄について

jQuery の古いバージョンでは SVG の class 属性を操作する API の一部が使えない

複数サイトを管理していて、片方のサイトでは動くのにもう一方では動かない以下のようなコードがあった。

$svg('svg.target')
$svg.toggleClass('hide')

jQuery 2.2 and 1.12 Released | Official jQuery Blog を見るに、以下のバージョン以上であれば動くとのことなのでバージョンを揃えて回避する。使えるようになったのは .addClass(), .removeClass(), .toggleClass(), .hasClass()


完全に操作できないかというとそうではなく回避する方法もあるようだが使い勝手が悪い。

css - jQuery SVG, why can't I addClass? - Stack Overflow

Mac の VirtualBox に Windows のイメージをインポートする

検証のために MacWindows VM を入れないと…と思って数ヶ月経過し、ようやく入れることにした。

必要な時にはダウンロードを待つことが出来ずに検証用の実機で済ましてしまい、その時が過ぎれば忘れてしまう…この繰り返しでなかなかやる気が起きなかった。

早速 MicrosoftVM Download ページへ行く。

developer.microsoft.com

必要なバージョンを選んで Download .zip 押す。

数分待つ。DL 終わる。ファイル名見たら Mac 用ではなく Windows 用の zip ファイルぽい。 うーん、と思って調べると同じ事象に引っかかった人が何件か見つかり、やはり OS が誤判定されているぽい。パスの WindowsMac に書き換えてやり、直接 DL する。

https://az412801.vo.msecnd.net/vhd/VMBuild_20141027/VirtualBox/IE11/Windows/IE11.Win7.For.Windows.VirtualBox.zip

https://az412801.vo.msecnd.net/vhd/VMBuild_20141027/VirtualBox/IE11/Mac/IE11.Win7.For.Mac.VirtualBox.zip

その後は特にハマることもなく解凍した ova ファイルを VirtualBox でインポートして VM を起動することができた。

その他、クリップボードや言語の設定は Mac+VirtualBox+仮想マシン(旧modern.IE)でIEとEdgeの確認を行う方法 - 情報系大学院生のWebメモ が詳しくて参考になった。

『RESTful API の設計のキホン』 by Cside 読んだ

わかったつもりの知識の復習になったうえ、新しい気付きもあってよかった。

だいたい、基本的なところを「ふむふむ、そうだよな。わかるわかる」と思いつつ読むが、アンチパターン集を見ると「やってしまっている...」となる。

悪い例として挙げられたもののうち以下の4つは過去にやったことがあり、直したい気持ちが湧いた。

  • レスポンスがフラットな配列
  • 動作を URI に含める
  • Limit-Offset のページネーション
  • 要求に失敗してるのに 2XX を返す

特にページネーションは、最初のうちは気付かないがデータやユーザーが増えるにつれ実現したくなることが多い。こういうのも視野に入れた設計・実装・レビューをしていきたい。


直したい気持ちを湧かせながらコードを眺めたら、API を複数のクライアント(web / native)で共有しており、互換性の問題ですぐには直せないことに気付いたりした。スピードも大事だが、最初の設計は本当に大事だ...。

jQuery セレクターのエスケープにはバックスラッシュを使う

以下のような HTML 要素がある時に

<input type="text" id="hatena.jp" />
$('#hatena.jp')

上記のセレクターではこの要素を取得できない。 id == "hatena.jp" ではなく id == "hatena" && class.include?('jp') にマッチする要素を探してしまう。

メタ文字 (!"#$%&'()*+,./:;<=>?@[\]^{|}~) を含む場合は\` (two backslashes) でエスケープする必要がある。

$('#hatena\\.jp')

そもそもこうした文字を含まないよう実装すべきとは思うものの、id や class ではなく data attribute あたりだと気づかずに起こったりしそう。

参考

javascript - How do I get jQuery to select elements with a . (period) in their ID? - Stack Overflow

Selectors | jQuery API Documentation

最近の文化活動

Hulu 解約して Netflix 契約した

Hulu のラインナップで気になるものはだいたい見てしまい、ぱっとしなくなってきたので乗り換えた。

涼宮ハルヒの憂鬱』アニメ1期を見た

何の因果か2016年にもなって全話見直した。

1期が放送された2006年は高校2年生の時だった。通っていた高校が全国オタク比率ランキング2位*1の男子校だったので、能動的にアニメやゲームを摂取しなくても自然と流行情報が手に入った。SOS団○○高校支部とかも見たし、なぜ男子校を選んでしまったんだという後悔の念に取り憑かれた奴もしばしば観測された。

そんな中、他のどのアニメも見なくていい、これだけはとゴリ押しされたのがハルヒだった…。(そのあと結局ライトノベルもゴリ押しされて全部借りて読んだ)

今見返すと何もかもが懐かしい、というか何もかもがミーム

ひぐらしのなく頃に』漫画を読んだ

何の因果か2016年にもなって出題編と解答編を全部読んだ。

これも高校生の頃に盛り上がってた。その頃、原作のノベルゲームを出題編だけちょろっとやって漫画も部活の合宿時に友達から借りて読んだのだが、作品を全部味わう前にネタバレを 2ch か何かで見てしまい、読むのをやめてしまった気がする。

ペルソナ4, 5と並行して楽しんだところ、「"絆"が鍵」というテーマがけっこう重なっていると思った。

シュタインズゲート』アニメを見た

何の因果か2016年にもなって全話見直した。

これは確か大学生の時に見た。 全国オタク比率ランキング2位の男子校から大学に進学すると周囲の環境が変わり、あまりアニメを見なくなってしまった。大学時代に見たアニメは数えるほどしかないんだが、何で見ようと思ったんだっけ。原作のゲームをプレイしてた奴に勧められたような気もする。

今見返すと何もかもが懐かしい、というほどの思い入れは無いけどやっぱり面白かった。

ペルソナ4』アニメを見た

後述する『ペルソナ5』を予約し、発売日9/15まで待ちきれずにこっちを見てた。

とにかく良い OP

www.youtube.com

まあまあ面白かったけど戦闘があっさりしていたり展開が遅いと思えば最後は駆け足だったり、ゲームの方が面白いだろうな…と思った。 というか RPG のアニメ化って難しいんだなと思った。

ペルソナ5』を買った

これまで女神転生シリーズもペルソナシリーズもやったことなかったが、YouTube に幾つもある公式 PV を見てたら気づいたら買っていた。

とにかく良い OP

www.youtube.com

とにかく色々詰め込んで引きの強い PV

www.youtube.com

90時間かけてクリアし、即2週目に入った。特に説明はしませんが最高です

*1:出典見つからなかったが10年前にどこかで見た。難関校 - アンサイクロペディアにも書いてなかった。

ジム通い

8末頃からジム通い始めた。

週2回、筋トレとウォーキングを1 ~ 1.5時間ずつ行っている。

社会人1年目の頃、「自分で稼いだ金の賢い使い道を知ってるか?」と言わんばかりの、ジムに通うことそのものをステータス化する同年代を disり続けてきたが、痩せるのと肩こり解消を本格的に目指す必要が出てきた。

トレッドミル(ジムによくあるランニングマシン)で走るのを見てハムスターみたいだな、とか外走ればよいのではと以前から思っていたが、映像を見ながら走ることができたり、虫に怯えることもないし、傾斜を付けることで消費カロリーを圧倒的に上げたりできると知った。

また、筋トレも思ったより楽しい。向精神作用でそのうち自分の思考がマッチョ寄りになっていくなら誰かに観測しておいてもらいたい。