yumについて

パッケージ一覧を閲覧する。

# yum list

グループパッケージ一覧を閲覧する。hiddenを付けないと表示されないパッケージがある。

# yum grouplist hidden

正規表現について

パターン 意味
パターン 文字列と結果
^ 先頭にマッチする “^ab” “abcd” => true
“cdab” => false
$ 末尾にマッチする “ab$” “abcd” => false
“cdab” => true
. 任意の1文字にマッチする “a.c” “abc” => true
“abbc” => false
“ac” => false
? 直前の文字が0個または1個にマッチする “^A?$” “” => true
“A” => true
“AA” => false
“B” => false
* 直前の文字が0個以上にマッチする “^A*$” “” => true
“A” => true
“AA” => true
“B” => false
+ 直前の文字が1個以上にマッチする “^A+$” “” => false
“A” => true
“AA” => true
“B” => false
\d 半角数値(0-9)にマッチする
※ [0-9]と同じ
“\d” “0123” => true
“0123” => false
“abc” => false
\D 半角数値(0-9)以外にマッチする
※ [^0-9]と同じ
“\D” “0123” => false
“0123” => true
“abc” => true
\w 半角英数値(0~9、a~z、A~Z、_)にマッチする
※ [0-9a-zA-Z_]と同じ
“\w” “012_AbC” => true
“12Ab” => false
“#$%&” => false
\W 半角英数値(0~9、a~z、A~Z、_)以外にマッチする
※ [^0-9a-zA-Z_]と同じ
“\w” “012_AbC” => false
“12Ab” => true
“#$%&” => true
[ ] いずれかの文字とマッチする “[ABC]” “A” => true
“B” => true
“D” => false
( ) 1つのグループとして扱う “(ABC)” “ABC” => true
“CBA” => false
{n} 直前の文字にn回マッチする “^A{3}$” “AA” => false
“AAA” => true
“AAAA” => false
{n,} 直前の文字にn回以上マッチする “^A{3,}$” “AA” => false
“AAA” => true
“AAAA” => true
{n,m} 直前の文字にn回以上m回以下マッチする “^A{3,4}$” “AA” => false
“AAA” => true
“AAAA” => true
“AAAAA” => false
| いずれかとマッチする “ABC|DEF” “ABC” => true
“DEF” => true
“CBA” => false
“DE” => false
範囲を指定する “[3-7]” “2” => false
“3” => true
“7” => true
“8” => false
^ 否定([ ]の中で使用する) “[^AB]” “A” => false
“B” => false
“C” => true
&& かつ “[0-9&&[^4]]” “3” => true
“4” => false
“5” => true

batファイルで変数を扱う

変数に値を入力するには SET を使い、値を使うには %変数名% で利用可能。

SET test=abcd
ECHO %test%

→ 結果はabcd

変数の文字を抽出するには :~0,0 を使う。

ECHO %test:~0,2%

→ 結果はab

変数内の文字を置き換えするには :x=y を使う。

ECHO %test:cd=ef%

→ 結果はabef

応用してyyyyMMddHHmmssを取得する。

SET test=%date%%time:~0,8%
SET test=%test:/=%
SET test=%test: =0%
SET test=%test::=%
ECHO %test%

→ 結果は20161106100152

viエディタの基本的な使い方

ファイルを開く(ファイルが存在しない場合は新規作成)

vi /home/user/test.txt

閲覧モードで h で左移動、j で下移動、k で上移動、l で右移動

閲覧モードで G で最終行へ移動

閲覧モードで x で1文字削除

閲覧モードで dd で1行削除

閲覧モードで A で選択中の行末から編集モード開始

ESC で編集モードを終了

閲覧モードで :wq 後にEnterキーで上書き保存して終了

閲覧モードで :q! 後にEnterキーでviを強制終了

閲覧モードで v で範囲選択開始

範囲選択後に d で切り取り

範囲選択後に y でコピー

切り取りまたはコピー後に P で貼り付け

閲覧モードで Ctrl + f でページダウン

閲覧モードで Ctrl + b でページアップ

閲覧モードで / で検索 (nで次候補)

肯定先読み・否定先読み

良く理解しないで書いてます。

【例1】
パターン:(?=.*?[A-Z])^[0-9]{3,}
結果
"1"=>False "B"=>False "1A"=>False "2AAA"=>False
"333"=>False "333A"=>True "4444BBBB"=>True "@555C"=>False

(?= )肯定先読みの部分でA-Zを指定し、312Aや145Bなど、数字の後にA-Zが付いている場合のみマッチする。良く分からないが「.*」がないと再帰的にテストしてくれない。「.*?」の?はなくても動くが、入れた方がパフォーマンスの面で優れているので入れてます。regex101で確認すると面白いです。
regex101.com

【例2】
パターン:(?=.*?[0-9])(?=.*?[#%])(?=.*?[a-z])^[0-9a-z#%]{5,}$
結果
"a1#z4"=>True "aa1bca"=>False "000##34"=>False

肯定先読みで[0-9][#%][a-z]をそれぞれ別に指定し、[0-9a-z#%]の後に[0-9]、[0-9a-z#%]の後に[#%]、[0-9a-z#%]の後に[a-z]のすべての条件を満たした場合のみマッチする。

【例3】否定先読み
パターン:^[a-z0-9]{1,}\.(?!(rms|test)\.)[a-z0-9]{1,}\.rakuten\.co\.jp\/
結果
"glogin.rms.rakuten.co.jp"=>False "basket.step.rakuten.co.jp/rms/"=>True
"grp02.id.rakuten.co.jp/rms/"=>True

RMS以外のログインURLにだけマッチさせる正規表現。

名称 パターン
肯定先読み (?=pattern)
肯定戻り読み (?<=pattern)
否定先読み (?!pattern)
否定戻り読み (?<!pattern)

物理キーボード接続時にソフトウェアキーボードも表示する設定を促す

以下のコードをonResume()などに書くと良い

if (activityInstance.getResources().getConfiguration().hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_NO) {
    Toast.makeText(activityInstance, "物理キーボードを無効にしてください。", Toast.LENGTH_SHORT).show();
    ((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE)).showInputMethodPicker();
}

WebBrowserコントロールで互換表示を無効に

以下のレジストリエントリを追加する。

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]
"exeName.exe"=dword:00002af9

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]
"exeName.exe"=dword:00002af9

Windows上でのMBR初期化

1. 管理者としてコマンドプロンプトを実行

2. 下記コマンドを実行しDISKPARTを起動
 diskpart

3. ディスク一覧を見る
 list disk

4. ディスクを選択する
 select disk [3で確認したディスクNo]

5. ディスクをクリーン(たぶんデータ消えます)
 clean

6. パーティション作成
 create partition primary

7. 作成したパーティションを選択
 select partition 1

8. パーティションをアクティブに
 active

9. フォーマット
 format fs=fat32

10. 終了させる
 exit

C#でファイルをPUT送信する

using System.Net; を書いておかないとダメです。

// ファイルを開く
using (FileStream stream = new FileStream("C:\\test.txt", FileMode.Open, FileAccess.Read)) {
    // PUTでstream送信する
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://api.example.com/upload/");
    request.Method = "PUT";
    request.ContentType = "application/octet-stream";
    request.ContentLength = stream.Length;
    request.AllowWriteStreamBuffering = false;
    // タイムアウト6h
    request.Timeout = 360 * 60 * 1000;
    request.ReadWriteTimeout = 360 * 60 * 1000;
    try {
        using (Stream requestStream = request.GetRequestStream()) {
            stream.CopyTo(requestStream);
        }
    } catch (Exception) {
        // nop
    }
    request.GetResponse();
}