Hatena::ブログ(Diary)

くらげのChangeLog

2017-04-15

[]三ツ矢彰、Rootport「女騎士、経理になる」

読了。

ファンタジー世界と経理の紹介をミックスした、非常にレベルが高い「漫画で分かる簿記」。

[]郵便番号から県を判定することは不可能

http://mononofu.hatenablog.com/entry/20100126/1264485439

郵便番号は、1つの郵便番号に複数の住所が紐づいていて、

かつ、その住所が2つの都道府県に跨っているケースがある

ということで、そもそもデータとして郵便番号が県がn:nで紐付いているから判定不可能である。

そういう例外的なケースでは正しく判定できないことを許容するという前提なら、郵便番号から都道府県をだいたい正しく取得することはできる。

2017-04-13

[]ヤマグチノボルゼロの使い魔22」

読了。

ゼロの使い魔シリーズの完結作。

基本的にはよく書けているものの、作者が生前に書き残したプロットありきで書かれていることを感じさせてしまうので、大満足とは言えない出来だった。

作品への愛へを優先させて作者のプロットにさえもNGを出すくらいの人に代筆を頼んだほうがよかったのではないか。

展開は詰め込みすぎだし、最後にサイトが元の世界に戻るところの心境の変化に納得感が無い。21巻はそんなことなかったので、最後の方はちゃんとしたプロットが残ってなかったのを無理やり小説化したんじゃなかと予想する。

2017-04-12

[]jQuery で attr, prop, data の違い

http://tools.m-bsys.com/ex/attr-prop.php

attr(name)

要素の持っている属性(attribute)の値を取得、設定する。

javascriptで言うと、element.getAttribute(name), element.setAttribute(name, value) に相当する。

prop(name)

要素をDOMオブジェクトとして扱うとき、その要素が持っているプロパティの値を取得、設定する。

javascriptで言うと、element[name], element[name] = value に相当する。

data(name)

要素の持っているHTML5カスタムデータ属性("data-"で始まる属性)の値を取得、設定する。

キャッシュが効くとか、余計なお世話で数値などに自動変換されるとかで、バグの原因になるので使わないほうが無難っぽい。

checkedを扱う時に…

よくあるパターンだと、checkedを扱う時にattrとpropの差が表面化する。

checked属性は、その属性が存在していればどのような値を持っていても

[]html5カスタムデータ属性についてちゃんと理解する

http://dresscording.com/blog/html5/custom_data_attribute.html

基本

HTML5では「data-*="value"」の形式で属性名に値を設定できる。

HTML5カスタムデータ属性名は、小文字英数、ハイフン区切りの単語である必要がある。

ちょっと扱いが特殊なだけで、要素の属性であることには変わりない。

利用方法

拡張機能で使うパラメータ指定に使う目的で設定される。

たとえばbootstrapのdata-toggle="collapse"。この属性を指定することで折りたたみ展開が出来る要素になる。

javascriptでの利用方法

<tag id="element" data-camel-case="value">

var element = document.querySelector("#element");
console.log( element.dataset.camelCase ); // 読み込み
element.dataset.camelCase = "value2";     // 変更
element.dataset.camelCase = null;         // 削除

console.log( element.getAttribute("data-camel-case") );  // 普通の属性としても使える

jQueryでの利用方法

<tag id="element" data-camel-case="value">

var jElement = $("#element");
console.log( jElement.data("camelCase") ); // 読み込み
jElement.data("camelCase", "value2");      // 変更
jElement.removeData("camelCase");          // 削除

キャッシュが効くとかでバグの原因になるので使わないほうがいいらしい。

[]パシフィック・リム

視聴。

海中から現れる怪獣に巨大ロボットで立ち向かうというものを、ハリウッドが全力で映像化したらこうなったという感じの作品。

公開当初はすごい話題になったが、それで期待値を爆上げして見ると落胆することになる。映画単体というより映画をプロモーション動画とした、カッコイイ巨大ロボや怪獣が受けたという仕組みなんだろうか。

2017-04-10

[]AngularJS

https://ja.wikipedia.org/wiki/AngularJS

Googleが開発している、フロントエンド・Webアプリケーションフレームワーク

シングルページアプリケーションフレームワークである。

MVC(Model View Controller)フレームワークである。

[]MEAN

https://ja.wikipedia.org/wiki/MEAN_(%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%83%90%E3%83%B3%E3%83%89%E3%83%AB)

MongoDB, Express.js, AngularJS, Node.js を利用した、サーバクライアントjavascriptのみで動作するwebアプリケーション構築環境。

MongoDB   : NoSQLデータベース
Express.js: Node.jsで動作するWebアプリケーションフレームワーク
AngularJS : Webブラウザ上で動作するJavaScriptのMVCフレームワーク
Node.js   : イベント駆動型のサーバサイド/ネットワークアプリケーション

LAMP(Linux, Apache, Mysql, Php)環境みたいな構成の単語。

2017-04-05

[]gitの~と^の違い

http://qiita.com/chihiro/items/d551c14cb9764454e0b9

mergeコミットの親コミットを示すときに、数字を指定した表記で差が出る。

head~2は、headのメインである親コミットの親コミットを指す。

head^2は、headのサブである親コミットを指す。

a---b--c------head
 \--------e--/

というコミットグラフがあったとき、

head~→c
head^→c
head~~→b
head^^→b
head~2→b
head^2→e ※これが違う。