MW211 EXIT

devlog
JavaScript/jQuery対応表
2024年06月04日
┌───────────────┬──────────────────────┐
│            jQuery            │                 VanillaJS                  │
├───────────────┼──────────────────────┤
│$('#ID属性')                  │document.getElementById('ID属性')           │
│                              ├──────────────────────┤
│                              │document.querySelector('#ID属性')           │
├───────────────┼──────────────────────┤
│$('.クラス')                  │document.getElementsByClassName('クラス')   │
│                              ├──────────────────────┤
│                              │document.querySelectorAll('.クラス')        │
├───────────────┼──────────────────────┤
│$('タグ')                     │document.getElementsByTagName('タグ')       │
│                              ├──────────────────────┤
│                              │document.querySelectorAll('タグ')           │
├───────────────┼──────────────────────┤
│.parent()                     │.parentNode                                 │
├───────────────┼──────────────────────┤
│.closest(条件)                │.closest(条件)                              │
├───────────────┼──────────────────────┤
│.find(条件)                   │.querySelectorAll(条件)                     │
├───────────────┼──────────────────────┤
│.html()                       │.innerHTML                                  │
├───────────────┼──────────────────────┤
│.html(値)                     │.innerHTML = 値                             │
├───────────────┼──────────────────────┤
│.text()                       │.innerText                                  │
│                              ├──────────────────────┤
│                              │.textContent                                │
├───────────────┼──────────────────────┤
│.text(値)                     │.innerText = 値                             │
│                              ├──────────────────────┤
│                              │.textContent = 値                           │
├───────────────┼──────────────────────┤
│.val()                        │.value                                      │
├───────────────┼──────────────────────┤
│.val(値)                      │.value = 値                                 │
├───────────────┼──────────────────────┤
│.css('スタイル')              │.style.スタイル     ※スタイルはキャメル文字│
├───────────────┼──────────────────────┤
│.css('スタイル','値')         │.style.スタイル = '値'                      │
├───────────────┤                                            │
│.css({'スタイル','値'})       │                    ※スタイルはキャメル文字│
├───────────────┼──────────────────────┤
│.addClass('クラス')           │.classList.add('クラス')                    │
├───────────────┼──────────────────────┤
│.removeClass('クラス')        │.classList.remove('クラス')                 │
├───────────────┼──────────────────────┤
│.toggleClass('クラス')        │.classList.toggle('クラス')                 │
├───────────────┼──────────────────────┤
│.attr('属性')                 │.attr('属性')                               │
├───────────────┼──────────────────────┤
│.attr('属性', '値')           │.attr('属性', '値')                         │
├───────────────┼──────────────────────┤
│.each(function(index, value) {│.forEach(function(value, index) {           │
│});                           │});                                         │
├───────────────┼──────────────────────┤
│.on('click', function(event) {│.addEventListener('click', function(event) {│
│});                           │});                                         │
├─────────┬─────┴──────────────────────┤
│$(function() {    │window.addEventListener('DOMContentLoaded', (event) => {│
│});               │});                                                     │
└─────────┴────────────────────────────┘

分類:JavaScript
JavaScript/多次元連想配列から配列を抽出する方法
2024年04月09日
┌──────────────────────────────────────┐
│Hashes = [                                                                  │
│    {year:2023, month:10, value: 1},                                        │
│    {year:2023, month:11, value: 2},                                        │
│    {year:2023, month:12, value: 3},                                        │
│    {year:2024, month: 1, value:10},                                        │
│    {year:2024, month: 2, value:20},                                        │
│    {year:2024, month: 3, value:30},                                        │
│];                                                                          │
└──────────────────────────────────────┘
上記のようにDBテーブルのような多次元連想配列があり
列「year」が「2024」の行の、列「value」の値を一次元配列に抽出したい場合
以下のように「.filter()」と「.map()」を組み合わせればよい
┌──────────────────────────────────────┐
│console.log(                                                                │
│    (Hashes.filter((o) => o['year'] == '2024')).map((o) => o['value'])      │
│);                                                                          │
│//→一次元配列「10.20.30」                                                  │
└──────────────────────────────────────┘
→「.filter()」はWHERE条件、「.map()」はSELECT文のようなものだ
分類:JavaScript
JavaScript/in_array()
2024年02月22日
配列中に特定の値があるか判定するPHP関数「in_array()」。
┌──────────────────────────────────────┐
│if (in_array(値, 配列)) {                                                   │
│    // 該当あり                                                             │
│}                                                                           │
└──────────────────────────────────────┘

これをJavaScriptで実現できるjQueryの機能が「$.inArray()」。
┌──────────────────────────────────────┐
│if ($.inArray(値, 配列) >= 0) {                                             │
│    // 該当あり                                                             │
│}                                                                           │
└──────────────────────────────────────┘

最近のJavaScriptでは、配列の「indexOf()」メソッドで実現できるようになった。
┌──────────────────────────────────────┐
│if (配列.indexOf(値) !== -1) {                                              │
│    // 該当あり                                                             │
│}                                                                           │
└──────────────────────────────────────┘

なお、ビット反転により-1を0に変換できるチルダ演算子「~」を用いると
以下のようにスマートに記述できる。
┌──────────────────────────────────────┐
│if (~配列.indexOf(値)) {                                                    │
│    // 該当あり                                                             │
│}                                                                           │
└──────────────────────────────────────┘
分類:JavaScript
送信メール(SMTP)Port
2023年11月20日
【送信メール(SMTP)Port】
  ┌────┬────┬────┐
  │        │  TLS   │StartTLS│
  ├────┼────┼────┤
△│Port  25│   ×   │   ×   │元祖(閉鎖されがち)
  ├────┼────┼────┤
△│Port 465│   △   │   ×   │現在は他用途に転用のため非推奨
  ├────┼────┼────┤
○│Port 587│   ○   │   ○   │推奨
  ├────┼────┼────┤
△│Port2525│   ×   │   ×   │非公認(閉鎖されがちなPort25の代用)
  └────┴────┴────┘
Excel関数/掛け算の合計
2023年11月15日
┌──┬──┬──────┐
│単価│数量│    金額    │
├──┼──┼──────┤
│A1  │B1  │=A1*B1      │
├──┼──┼──────┤
│A2  │B2  │=A2*B2      │
├──┼──┼──────┤
│A3  │B3  │=A3*B3      │
└──┼──┼──────┤
      │合計│=SUM(C1:C3) │
      └──┴──────┘
上記のようなことを一発で行う方法。
┌──┬────────────┐
│合計│=SUMPRODUCT(A1:A3,B1:B3)│
└──┴────────────┘
分類:Excel
PowerShell/実行ポリシー
2023年11月14日
【実行ポリシー】(スクリプトの許可禁止)
┌────────────────────┬─────────────────┐
│PowerShell -ExecutionPolicy Restricted  │全禁止          (クライアント既定)│
├────────────────────┼─────────────────┤
│PowerShell -ExecutionPolicy AllSigned   │署名が必要                        │
├────────────────────┼─────────────────┤
│PowerShell -ExecutionPolicy RemoteSigned│端末のものは許可      (サーバ既定)│
│                                        │ダウンロード分は署名が必要        │
├────────────────────┼─────────────────┤
│PowerShell -ExecutionPolicy Unrestricted│ダウンロード分のみ警告あり(非推奨)│
├────────────────────┼─────────────────┤
│PowerShell -ExecutionPolicy Bypass      │全許可                    (非推奨)│
└────────────────────┴─────────────────┘
  ダウンロードとは、インターネットからのダウンロードのこと
分類:PowerShell
MSSQL/インデックスをとなりのDB…にはできない
2023年11月01日
Q.インデックスをテーブルのあるDBとは別のDBにはることができるか?
    (インデックス領域を別DBに移し、領域の効率化をはかる)
A.できない
┌──────────────────────────────────────┐
│CREATE NONCLUSTERED INDEX [索引] ON [DB1].[dbo].[表] …                     │
└──────────────────────────────────────┘
    上記を[DB2]で実行して、[DB1]上でインデックスがはられる
    ([DB1]で実行したのと同じ結果になる)
    また、下記のような指定もできない
┌──────────────────────────────────────┐
│CREATE NONCLUSTERED INDEX [DB2].[dbo].[索引] ON [DB1].[dbo].[表] …         │
└──────────────────────────────────────┘
分類:MSSQL
MSSQL/インデックスの違い
2023年10月31日
┌────────────┬─────────────────────────┐
│クラスタ化インデックス  │(基本的に)主キー(*1)、テーブルに一つのみ設定可能  │
│                        │実データがその並びになるので検索は爆速            │
│                        │*1:敢えて主キーを非クラスタ化し                  │
│   PRIMARY KEY CLUSTERED│    他インデックスにクラスタ化を譲ることも可能    │
├────────────┼─────────────────────────┤
│非クラスタ化インデックス│一般的なインデックス(クラスタ化以外のインデックス)│
│                        │実データとは別に検索列と行ポインタの並びを保存する│
│      NONCLUSTERED INDEX│更新時に時間がかかり、インデックスサイズを消費する│
├────────────┼─────────────────────────┤
│カバリングインデックス  │インデックスに検索列以外に参照列も含めて          │
│複合インデックス(の活用)│行を参照することなくインデックス内で参照を完結させ│
│                        │検索を高速化する手法(参照列は検索列と相違なし)    │
│                  ON (,)│但し、その分インデックスサイズが肥大化する        │
├────────────┼─────────────────────────┤
│付加列インデックス      │カバリングインデックスのサイズを削減したもの      │
│             INCLUDE (,)│参照列を検索列と分ける(参照専門にする)ことで実現  │
└────────────┴─────────────────────────┘
分類:MSSQL
MSSQL/容量確認
2023年10月30日
┌──────────────────────────────────────┐
│EXECUTE sp_spaceused;                                                       │
└──────────────────────────────────────┘
上記をDBにて実行すると、以下の結果が取得できる。
┌─────────┬─────────┬─────────┐
│database_name     │database_size     │unallocated space │
├─────────┼─────────┼─────────┤
│(DB名)            │①       xxxx.xxMB│②       xxxx.xxMB│
└─────────┴─────────┴─────────┘
┌───────┬───────┬───────┬───────┐
│reserved      │data          │index_size    │unused        │
├───────┼───────┼───────┼───────┤
│③      xxxxKB│④      xxxxKB│⑤      xxxxKB│⑥      xxxxKB│
└───────┴───────┴───────┴───────┘

実体ファイル(のサイズ)との関係は以下の通り
・データ「(DB名).mdf」  =②+③  (なお、③=④+⑤+⑥)
・ログ「(DB名)_log.ldf」=①-(②+③)

つまり
・①=データ「(DB名).mdf」+ログ「(DB名)_log.ldf」
  →プロパティに表示される「サイズ」も①である
分類:MSSQL
VBScript/VBS自身の位置
2023年09月07日
WSHのCurrentDirectoryでもいけそうなのだが…
┌──────────────────────────────────────┐
│Dim objWSH                                                                  │
│Set objWSH = WScript.CreateObject("WScript.Shell")                          │
│MsgBox objWSH.CurrentDirectory                                              │
└──────────────────────────────────────┘
他から呼ばれた場合(*1)に、呼ばれた場所が採用されてしまう。

そのファイル自身の位置を取得するには以下がよい。
┌──────────────────────────────────────┐
│Dim objFSO                                                                  │
│Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")             │
│MsgBox objFSO.getParentFolderName(WScript.ScriptFullName)                   │
└──────────────────────────────────────┘

*1:コマンドプロンプトから実行した場合など
┌──────────────────────────────────────┐
│cscript //nologo VBSCriptファイル.vbs 引数                                  │
└──────────────────────────────────────┘
分類:WSH・VBS
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 … 156 次へ