日々精進

新しく学んだことを書き留めていきます

【依存関係解決】wiredepはdeprecatedなのでmain-bower-filesを使う

アプリが依存するライブラリを読み込むのにRequireJSを使うことが多かったけど、 色々辛いのでindex.htmlにscriptタグを埋め込むソリューションを使ってみることにした。 今はmain-bower-filesを使ってビルド時にindex.htmlにscriptタグを埋めればいいらしい。

参考:

AngularJSの$location.path(url)で画面遷移する際に表示している画面のurlと同じurlを渡すと画面遷移しない

どうもAngularJSが同じPathの場合routingをキャンセルしているっぽい。 まあ普通はそれでいいんだけど・・・今回はそのような場合に画面をリロードするという仕様があったので pathの最後に/を付けて無理矢理画面遷移させることにした。 あ、でも今気付いたけど $route.reload(); でリロードできるじゃん。。

参考:

stackoverflow.com

gitコマンド実行時に“Insecure world writable dir /usr in PATH, mode 040777”エラー

原因は/usrが$PATHに入っていて、かつowner権限以外でwrite可能だから。 悪意のあるユーザが/usr/lsのような名前で実行ファイルを置くと、 攻撃対象のユーザの権限で危険なプログラムを実行させることができるというセキュリティリスクがあるのでowner以外のwrite権限を外せという意味のメッセージ。

chmod go-w /usr のようにgroupとotherのwrite権限を削除すると直る。

参考:

stackoverflow.com

ng-optionsをやめてtext bindingだけにすると超速くなる

AngularJSは何も考えずに作ると結構重くなる。。 <select ng-options...>タグが100個ぐらいある画面をIEで開くと操作可能になるまで20秒ぐらいかかった。

ただ、画面仕様的になぜか入力することは無く常にselectタグはdisableになっている仕様だったので、 h5タグで書き直したら20秒が300msになった。約70倍も違うとは。。

あとIEとChromeでパフォーマンス10倍程度違った。対応ブラウザChromeだけにしたい。。

one time bindingも試してみたけどあまり変わらなかった。

参考:

liginc.co.jp