プロセスを検索してkillする

psとgrepの組み合わせだとgrepの結果までがプロセスとして表示されて見づらいので、それを回避する方法

pgrepとkillを組み合わせる

$ pgrep -f 'プロセス名' | xargs kill

pkillを使う

$ pkill -f 'プロセス名'

従来の(?)方法

ps とgrepを組み合わせてプロセスIDを割り出し、それをkillする

$ ps aux | grep 'プロセス名'

$ kill プロセスID

重み付けによる抽選ロジック

<?php


// 以下の配列から抽選で一つを抽出したい
$things = [
  'a',
  'b',
  'c',
  'd',
  'e',
  'f',
  'g',
  'h',
  'i',
  'j',
];

// 重み付けをする
// この設定だと5番目のもの($thingsの'e')が最も出やすい
// 0のものは出ない
$rate = '10,20,13,24,35,0,0,0,0,5';
$rate_array = explode(',', $rate);

$weight = 0;
$rated_indexes = [];
foreach ($rate_array as $key=> $r) {
  // 重みが0になっているものは対象外
  if (empty($r)) continue;
  $weight += (int)$r;
  // 重み付け後のインデックス配列
  $rated_indexes[$weight] = $key + 1;
}

// 抽選
$lot = mt_rand(1, $counter);

foreach ($rated_indexes as $key => $index) {
  if ($lot <= $key) {
    $hit = $things[$index];
    break; 
  }
}
// 結果表示
var_dump($hit);

開発業務のためにインストールしたソフト

iTunesで写真の同期ができなかった時

PC(MacBook Pro)側に保存してある写真をiPhone(6s)に同期しようとしたが失敗。

対処方法

  1. iTunesiPhoneアイコンをクリック
  2. Photosをクリック
  3. Sync Photosのチェックを外す
  4. PCの同期元のフォルダに入っている「iPod Photo Cache」を削除
  5. Sync Photosのチェックを入れてSyncボタンを押す

f:id:hchuno:20160328125348j:plain

AndroidエミュレータにAPKをインストールする

下準備

Android SDKのインストール

  • Android Studio をインストールして、SDK Managerを使ってインストールした
  • インストール先のPCによっては、VTx関連のBIOS設定が必要になる可能性アリ
  • ↓インストール先 ※Windows8.1の場合

C:\Users\ログインユーザー名\AppData\Local\Android\sdk

APKファイルの配置

  1. 前述のAndroid SDKのディレクトリ直下のtoolsディレクトリにapkファイルを置く
  2. toolsディレクトリに移動する

cd C:\Users\ログインユーザー名\AppData\Local\Android\sdk\tools

Pathの登録

上記のtoolsへのPathを登録する

Pathの設定画面
  1. 「ウィンドウズキー+xキー」で設定メニューを表示
  2. 「システム」を選択
  3. 「システムの詳細設定」を選択
  4. 環境変数」ボタンを押下
  5. 「システム環境変数」の中からPathを探して編集

実作業

Androidエミュレータの起動

> android avd

> adb devices
List of devices attached
emulator-5556 device

APKのインストール

  • 「下準備」で配置したAPKを指定する

> adb install apkファイル名

注意点
  • エミュレータが起動しきる前にインストールを試みるとエラーになる

Error: Could not access the Package Manager. Is the system running?

Error: more than one device and emulator

Windows8.1なPCに施した諸々の設定

キー配置の変更

普段使っているMac(USキーボード配列)に少しでも合わせるため、Change Keyというフリーソフトを使って配置換え。

f:id:hchuno:20150504184015j:plain

  • 無変換→Ctrl
  • 変換→半角全角
  • カタカナひらがな→Home
  • 右alt→End
  • 右クリックボタン→Page Up
  • 右Ctrl→Page Down
  • Caps Lock→無効
  • Num Lock→無効

テキストエディタ

Sublime Text2の導入

Viっぽい挙動(VintageMode)にできるので。

VintageModeを有効にする
  • 「Settings - Default」の最終行が「Vintageを無視する」という記述になっているので、以下のように変更して保存する。
#↓変更前
"ignored_packages": ["Vintage"]

#↓変更後
"ignored_packages": []
  • 「Settings - User」に以下を追記する
"vintage_start_in_command_mode": true,
"vintage_ctrl_keys": true

Synaptics TouchPad Driverのインストール

元々Windows7だったのを諸事情により8.1にアップグレードしたのだが、その時点で
「Synaptics TouchPad」が使えなくなっていた(ドライバーが消えていた)。
そこで、
HPのサポートサイトでPCの機種名検索から対応ドライバーを割り出した。
「Driver - Keyboard, Mouse and Input Devices」という項目に「Synaptics TouchPad Driver」が含まれていたので、これをダウンロード&インストール。

Virtualization Technology (VTx)を有効にする

背景

Android Studioのインストール時に必要となった。

対象

HP ProBook650

手順

  1. PC起動直後の真っ黒い画面で「Press ESC Key…」と表示されている時にescキーを押す
  2. F10キーを押してBIOS設定画面を表示する
  3. 左右キーを押してAdvancedという項目を表示する
  4. Virtualization Technology (VTx)という項目にチェックを入れる
  5. Saveを押す
  6. escキーを押してSaveを選択する