備忘録:検索 JavaScript

対象の文字を変数で指定したい場合は、RegExpオブジェクトを利用(複数条件可能)。

	var text="石松選手がゴルフのメジャー大会の一つであるマスターズで初めて優勝しました。ゴルフが好きな私も早朝からテレビの前に陣取り応援しました。最後までしびれる試合展開でしたが、最後に優勝が決まりもらい泣きをしてしまいました。";
var key="ゴルフ  大会 マスタ 優勝";
var targetStr= key.replace(/ +| +/g,"|");
console.log(targetStr);  //ゴルフ|大会|マスタ|優勝
var count = ( text.match( new RegExp( targetStr, "g" ) ) || [] ).length ;
console.log(count);  // 6

mobableType プライマリカテゴリ(メインカテゴリ)とメインカテゴリ以外を分けてみた(2)重複削除

プライマリカテゴリとそれ以外を分けたあと、カテゴリ名が重複しているので、ハッシュのkeyとして格納して重複するカテゴリを上書きすし一意にしてみた。

<mt:Entries limit="5000">	
 	
    <mt:If tag="EntryCategory">	
        <!-- カテゴリ -->	
        <mt:EntryPrimaryCategory>	
            <$mt:CategoryLabel setvar="label_name"$>	
            <$mt:SetVar name="categoryArray" key="$label_name" value="1"$>	
        </mt:EntryPrimaryCategory>


        <!-- サブカテゴリ -->	
        <mt:EntryAdditionalCategories glue="," setvar="sub_cats">	
            <$mt:CategoryLabel setvar="sublabel_name"$>	
            <$mt:SetVar name="subCategoryArray" key="$sublabel_name" value="1"$>	
        </mt:EntryAdditionalCategories>	
    </mt:If> 	
</mt:Entries>	
<!-- カテゴリの出力 -->	
<MTsetVar name="categoryCount" value="1"> 	
<mt:Loop name="categoryArray">	
    <p><MTVar name="categoryCount">件目 <mt:Var name="__key__"></p>	
    <MTSetVar name="categoryCount" value="1" op="+">	
</mt:Loop>	
---------------	
<!-- サブカテゴリの出力 -->	
<MTsetVar name="subCategoryCount" value="1"> 	
<mt:Loop name="subCategoryArray">	
    <p><MTVar name="subCategoryCount">件目 <mt:Var name="__key__"></p>	
    <MTSetVar name="subCategoryCount" value="1" op="+">	
</mt:Loop> 

mobableType プライマリカテゴリ(メインカテゴリ)とメインカテゴリ以外を分けてみた(1)

mobableTypeで何らかの理由でサブカテゴリが作られていな場合、
記事の設定からプライマリカテゴリ(メインカテゴリ)とメインカテゴリ以外を分けてみた。

<mt:Entries limit="5000">	
 	
    <mt:If tag="EntryCategory">	
        <!-- カテゴリ -->	
        <mt:EntryPrimaryCategory>	
            <mt:SetVarBlock name="categoryArray" function="push"><$mt:CategoryLabel$></mt:SetVarBlock>	
        </mt:EntryPrimaryCategory>	
        <!-- サブカテゴリ -->	
        <mt:EntryAdditionalCategories glue="," setvar="sub_cats">	
            <$mt:CategoryLabel$>	
        </mt:EntryAdditionalCategories>	
        <mt:If name="sub_cats">	
            <mt:SetVarBlock name="subCategoryArray" function="push"><$mt:GetVar name="sub_cats"$></mt:SetVarBlock>    	
        </mt:If>	
    </mt:If> 	
</mt:Entries>	
<!-- カテゴリの出力 -->	
<MTsetVar name="categoryCount" value="0"> 	
<MTsetVar name="subCategoryCount" value="0"> 	
<mt:Loop name="categoryArray">	
    <p><MTVar name="categoryCount">件目 <mt:Var name="__value__">,</p>	
    <MTSetVar name="categoryCount" value="1" op="+">	
</mt:Loop>	
---------------	
<!-- サブカテゴリの出力 -->	
<mt:Loop name="subCategoryArray">	
    <p><MTVar name="categoryCount">件目 <mt:Var name="__value__"></p>	
    <MTSetVar name="subCategoryCount" value="1" op="+">	
</mt:Loop> 

>>
記事一覧のメインカテゴリとメインカテゴリ以外一覧が出力されます。

MACの秘密鍵と公開鍵の作り方

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/username/.ssh/id_rsa):  ← 作成される場所。問題なければEnter。
Enter passphrase (empty for no passphrase):  ← パスフレーズの入力。省略する場合はそのままEnter。
Enter same passphrase again:  ← パスフレーズの再入力。省略した場合はそのままEnter。

秘密鍵 (id_rsa) と公開鍵 (id_rsa.pub)が~/.ssh/ディレクトリ以下に作成されます。

$ ls ~/.ssh/
id_rsa id_rsa.pub


www.task-notes.com
qiita.com

HTMLメールできおつける事

tableレイアウトとかで作成されているメールもまだまだあるようなので
気おつける点のメモ


tdなどの隙間10pxの高さを解消するためにfont-size:0; を入れてたくなってしまうがこれは悪手。altが表示れなくなってしまう。


参考:
https://qiita.com/m_hamada/items/e94d031e2a8a3db517aa

この辺りを試してみるとどうなんだろう?
https://tukihatu.hatenablog.com/entry/20131203/1386077778

Vue3に変わる時に気おつける箇所

リリースノート
https://github.com/vuejs/vue-next/releases/tag/v3.0.0

vue3マイグレーションガイド: イントロダクション
https://v3.vuejs.org/guide/migration/introduction.html

RFC
https://github.com/vuejs/rfcs/tree/master/active-rfcs


後方互換性を持ったバージョンUPでなので、ほぼ変えなくても大丈夫だと思いますが、
以下をきおつける必要があります。
・Filters がなくなる。
 Vuetify(ライブラリ)を使っている場合は対応地待ち(2021の夏ぐらい)
・mixin を使っていると既存メンバーは暗黙の了解だか
 新規メンバーが、隠れた部分を追えなくなるので使わない方が良い。(mixinは最初は良いが後が辛い)
 →compositionAPIを使う。
(compositionAPIがReactでいうHooksにあたるもの)
 stepup(props)
  従来の書き方、data、computed、mesodもできます。
  vue2のままならhelper関数を使ってmixinを回避する方法もあるがthisが辛い。
 compositionAPIはthisが無くなる。
・IE11が対応していない。(今後対応予定ではあるが...)
・テレポートはモーダル、ツールチップ、ドロップダウンメニュー、セレクトボックスに使う。
 (Vuetifyで代替え出来てしまうのだが、DOMをたくさん生成してしまうのでパフォーマンスが悪い)
・フラグメント