multiselectのoption要素をjqueryで選択状態にする

仕事でであったのでメモ代わり

 

jqueryを使用したwebアプリでセレクトボックスの内容を選択状態にしたとき

基本的に

    $('select').val() = value

の形式で設定していたが、複数選択の場合は各要素に対し

    $('select').attr('selected', 'selected')

で設定する必要がある

 

 

ここまで書いたところでどうやらIE10だと挙動がおかしいという記事を見つけてしまった

どうもattrではなくpropを使う必要があるらしい…

まぁ 今回はchromeのみ対応ってことだったから黙ってていいかな

 

ちなみにこんな感じで全選択した

$('#select option').each(function(){

    $(this).attr('selected', 'selected');

});

 

 

サフィックスの作成場所

三日坊主どころの話ではなかった

 

 

仕事で出会った話

 

プログラム中でテンポラリビューを作成する必要があり、スレッドセーフにするためにビューの名前にサフィックスをつけて管理している箇所があった

 

プロトタイプのシステムであまり吟味せずに作りながら要件を決めていたので仕方ないのだが、テンポラリビューにアクセスするタイミングでサフィックスを取得していた

 

このやり方だとビューを作成した関数内でドロップまでする場合は問題ないが、関数の外で参照またはドロップを行う場合に非常に面倒なことになる

 

僕が見たプログラムではグローバル変数に保持していた

正直かなり良くないグローバル変数の使い方だと思うので正式版を組む時はテンポラリビューを作る箇所が呼ばれた瞬間に作るように修正したい

python学習環境の話

話というほどのものでもないのだけど

Googole Colabというサービスの存在を最近知った

 

プログラム言語の勉強を始めるにおいて、一番面倒なのは環境構築だと思う

Googole Colabはすぐにpython(jupyter notebook)を提供してくれる

 

おまけに、というか自分のような初心者以外にはこちらがメインだと思うが

GPUが無料で使えるらしい

numpy等基本的なパッケージはインストール済みとのこと

 

使い方はmydriveから新規→その他→アプリを追加でcolaboratryを選択

 

python機械学習の学習コストを大きく下げるので使わない手はない