Webシステム開発はお任せください
  • 開発ブログ

↑Topへ

開発ブログ

jqueryでチェックボックスをラジオボタンのように振る舞う方法(2015/04/07)

jqueryでチェックボックスをラジオボタンのように振る舞う方法

つい先日、jqueryの複数のバージョン使用していたwebアプリを整理していたところ、実装済の「チェックボックスをラジオボタンのように振る舞う処理」が誤動作するようになったため修正しました。その内容を掲載しておきます。
 
         $("input[id^='ALART_CHKBOX_']").on("click",function () {
             var flag = $(this).prop('checked');
             var reChecked = $(this).attr('checked'); //チェックされているチェックボックスを再度クリックした結果'undefined'が格納
             $("input[id^='ALART_CHKBOX_']").attr('checked', false);
             if (flag || typeof reChecked === "undefined") {
                 $(this).prop('checked', true);
             }
);
※checkboxやradioのチェック状態を調べる際にはattrではなpropを使うのが良いとの記事を見かけ、調べたところ それぞれの実行結果の違いがあることがわかりました。 普通にチェックされている以外の項目を選択した場合はいいのですが、既にチェックされている項目を再度チェックするとflag=falseになり、reChecked=undefinedになります。 flgだけで判断するとチェックが外れてしまうことになりますので注意してください。
  チェックした時 チェックを外したとき
prop true false
attr checked undefined

<サンプル>

アラーム  
 

 

Microsoft SQL Serverの2008以前のバージョンを使用していて、webサーバーを運用されている場合の注意(2015/04/06)

Microsoft SQL Serverの2008以前のバージョンを使用していて、webサーバーを運用されている場合の注意

2016412日にSQL Server 2005の延長サポートが終了します。(2008は2019年1月8日延長サポート終了)

SQL Serverの2008以前のバージョンですとweb Editionというものが存在していて、インターネットユーザ毎にCALを購入する必要のないエディションがあったのですが、2012以降はweb editionという考え方はなくなったようです(※ただしプロバイダ向けには存在している様子)。2012以上のstandardにバージョンを上げようとした場合、以下の選択肢しかないとのことです。
 
SQL Server 2014ライセンス価格
  ライセンス   Open Business Select Level A
選択肢1 コアライセンス ※購入単位は4コア単位なのでコアライセンスで購入する場合、667,000 円×2で1,334.000円が必要になる。 667,000 円
(2 コア パックの価格)
436,400 円
 
選択肢2 Standardのサーバー ライセンス   153,000 円 109,200 円
クライアント アクセス ライセンス (CAL) ユーザーあるいはデバイス数だけ必要
※認証処理にてログインする機能を提供する場合、そのユーザ数分必要になります。
33,300 円 25,500 円

これだと、中小企業で多数の会員(認証が必要な)を持つwebサイトを運営している場合、かなりの負担増になると思われます。

そこで、いろいろ検討した結果をまとめました。
    メリット デメリット
選択肢1 SQL 2005をサポート切れのまま使い続ける 追加コストがかからない サポートがない以上、bugFixのupdateはなくなります。
選択肢2 SQL Server2014のExpressエディションに移行する 追加コストがかからない。 【機能制限がある】
主な制限
・dbのサイズが10GB
・利用可能なデータベースエンジンのインスタンス毎のメモリサイズが最大1GB
に限定されます。
・タスクスケジューラが利用できない。
※アクセス数の少ない小規模サイトなら問題なさそうです。
選択肢3 MySQLやProstgreSQLなど他のフリーのDBへ移行する 一回修正してしまえば、運用コストは低くなる。 プログラムのDBとのI/O部分の修正コストがかかる。
選択肢4 SQL Server Webエディションを利用できるVPSへ移行する 月額費用は発生するが、通常のライセンス契約するよりは安く抑えられる
※2015/4/8以降「さくらのVPS for Windows Server」でSQL ServerのWeb Editionだと4コアで初期費用:20,000円(税抜)月額2,400円で利用できます。
オンプレミス環境では利用できない

今後、別の方法が見つかった場合は追記していきます。

Visual Studio 2013にUpdate4とWeb Essentials 2013をインストールすると便利な機能が利用できます その①(2015/03/11)

Visual Studio 2013にUpdate4とWeb Essentials 2013をインストールすると便利な機能が利用できます

①jsonデータを画面に表示して右クリックで「アンミニファイ」をクリックすると圧縮されたjsonデータが見やすい形に成形されます。(update4)

<実行前>


<画面上で右クリックし、アンミニファイを実行すると>
以下のように見やすい形式に変換してくれます。

※逆のミニファイの機能は「ドキュメントのフォーマット」で実現できると書いてありましたが、なぜかもとに戻りませんでした。
 

②ブラウザーリンク(Web Essentials 2013をインストールしなくても使用できるようですが、Web Essentials 2013をインストールすると拡張機能が使用できるようです)

一度に複数のブラウザを表示して、ソースを更新したのち一気にすべてのブラウザに更新内容を反映させる方法です。
下記のように 「Internet Explorer」の右の▼ボタンを押下し「使用ブラウザー」を選択します。



CTRLキーを押下しながら、複数ブラウザをクリック選択後、「ブラウザで表示」ボタンを押下します。
 

下記のように複数のブラウザが同時に起動されます。 


この状態で、cssやhtmlを変更し、下記の更新ボタン(丸い矢印)をクリックするとすべてのブラウザが同時に更新され結果が表示されます。
※このブラウザーリンクの機能は、web.configでdebug=trueの指定が必要になります。
 

③html編集機能(Web Essentials 2013)

htmlの編集画面でtable#list>tr.row*5>td.cell*4>aを入力しtabキーを押下すると
意味:
・tableタグの定義をid='list'で行う
・trタグにclass='row'をつけて5行分定義する
・tdタグにclass='cell'をつけて4列分定義する
・各セル内にaタグを定義する

 

そうすると、以下のようにhtml文を自動展開してくれます。

SSL3.0脆弱性に関する動作確認結果(2014/10/31)

Windows2012 IISにおけるSSL3.0脆弱性に関する動作確認結果

①最近問題が発覚したSSL3.0の仕様上の問題で対策を行った場合の影響に関する動作確認結果をお知らせします。
・まずwindows2012サーバー上にこのサイト(https://www.nartac.com/Products/IISCrypto/)からダウンロードしたツールをインストールして
SSL3.0を無効にします。

※ツールのご利用は自己責任でお願いします

そしてサーバーを再起動。

②下記の各種ブラウザでこのサイトhttp://www.cman.jp/network/support/ssl.htmlから上記の設定を行ったサーバーに対してアクセスしてチェックします。

③結果

ブラウザ ブラウザの設定値(デフォルトの状態) 結果
IE8 SSL3.0 TLS1.0チェック TLS1.2に自動接続
IE9 SSL3.0 TLS1.0 TLS1.1 TLS1.2にチェック 同上
IE10 SSL3.0 TLS1.0にチェック 同上
IE11 SSL3.0 TLS1.0 TLS1.1 TLS1.2にチェック 同上
chrome 2014/10/30時点の最新バージョン 同上
FireFox 2014/10/30時点の最新バージョン 同上
Safari 2014/10/30時点の最新バージョン 同上
Opera 2014/10/30時点の最新バージョン 同上
ということでIEに関しては、特に設定のSSL3.0チェックを外さなくても、自動的にTLS1.2で接続にいくようなので、今のところサーバー側だけの対応で問題なさそうです。

schtasks.exeで引数付きのexeを指定する方法(2014/10/24)

schtasks.exeで引数付きのexeを指定する方法は以下の方法で実現できました。

ネットで探しましたがなかなか、見つからず苦労したので掲載しておきます。

c:\windows\system32\schtasks /create /tn "メール配信" /tr \"C:\DssDBMaint\dssAttachment\Dss_mail.exe"\"/b" /sc daily /st 15:00:00

です。

内容は

項目 設定値
タスクジョブタイトル "メール配信"
実行プログラム "C:\DssDBMaint\dssAttachment\Dss_mail.exe"
引数 "/b"
実行日 毎日
実行時間 15:00:00

タスクスケジューラーに登録された結果はこうです

schtasks.exeで引数付きのexeを指定する方法は以下の方法

 

VB.NETで書くとこんな感じです。

Dim startInfo As New ProcessStartInfo

With startInfo
  .FileName = "C:\Windows\system32\schtasks.exe" 
  .Arguments = "/create /tn ""DSS_MAIL"" /tr \""C:\DssDBMaint\dssAttachment\Dss_mail.exe""\""/b"" /sc daily /st 23:00:00"
  .WindowStyle = ProcessWindowStyle.Minimized
  .CreateNoWindow = True            ' コンソール・ウィンドウを開かない
  .UseShellExecute = False          ' シェル機能を使用しない
End With

Try

Using prcss As System.Diagnostics.Process = System.Diagnostics.Process.Start(startInfo)

  prcss.WaitForExit()                 '終了するまでウエイト

End Using

Catch ex As Exception

  Throw New Exception(String.Format("タスクプログラム登録中にエラーが発生しました:{0}", ExeProgramPath & Argument))

End Try