人生シーケンスブレイク

シーケンスブレイク(Sequence breaking、シークエンスブレイクとも)とは、テレビゲームにおいて開発が想定している攻略ルートを逸脱し、ショートカットする行為のことである。

Vimでググったコマンド一覧

徐々に増える。

検索(ハイライト)した文字列をそのまま置換する

一度 /<search_word> または * でハイライトした状態で

:%s//<replace_word>/g

:%s/<search_word>/<replace_word>/g と同じ結果になる。

空行削除

:g/^$/d

3行以上の空行を2行空行に置換する

:%s/\n\{4,}/\r\r\r/ 

重複している行を削除

:sort u

検索文字列を含む行を削除

:g/search/d

または、一度 /search で検索して

:g//d

検索文字列を含まない行を削除

:v/search/d

または、一度 /search で検索して

:v//d

文字をn個挿入する

normalモードで 100i-
文字列も日本語も可能。

macOS で JMeter をインストールする 2019

あらすじ

macOS Mojave で JMeter をインストールしようと思ったが、インターネット上の情報は錯綜していたので最新のスムーズなインストール方法を残しておく。

現在の手軽な方法

$ brew cask install java
$ brew install jmeter

以下細かい記録

JMeterインストール

Homebrew に JMeter があるようだったのでそちらをインストールすることにした。

$ brew install jmeter
==> Downloading https://homebrew.bintray.com/bottles/jmeter-5.1.1.mojave.bottle.tar.gz
==> Downloading from https://akamai.bintray.com/75/75fe29e4b60b96e881c3b64475d4f7fc268cd405e300b31f1aa3ce6cb26c4211?__gda__=exp=1570438461~hmac=9517ddefa9f0b663e575518e6da1acaf
######################################################################## 100.0%
==> Pouring jmeter-5.1.1.mojave.bottle.tar.gz
🍺  /usr/local/Cellar/jmeter/5.1.1: 2,492 files, 121.8MB

その後、 JMeter を起動しようとしたが、JAVA環境が必要だと怒られたので環境を構築することにした

$ jmeter
Unable to find any JVMs matching version "(null)".
No Java runtime present, try --request to install.
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program

$ jmeter --request
Unable to find any JVMs matching version "(null)".
No Java runtime present, try --request to install.
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program

JAVA環境構築

2019年現在、Oracle JDK 有償化に伴い、Oracle のサイトからダウンロードしようとすると Oracle のアカウント作成またはサインインを求められてしまうので、 Open JDK をインストールする。
Open JDKbrew cask でインストール可能。

$ brew cask install java
==> Satisfying dependencies
==> Downloading https://download.java.net/java/GA/jdk13/5b8a42f3905b406298b72d750b6919f6/33/GPL/openjdk-13_osx-x64_bin.tar.gz
######################################################################## 100.0%
==> Verifying SHA-256 checksum for Cask 'java'.
==> Installing Cask java
==> Moving Generic Artifact 'jdk-13.jdk' to '/Library/Java/JavaVirtualMachines/openjdk-13.jdk'.
Password:
🍺  java was successfully installed!

これで JMeter が起動できるようになった。

$ jmeter
WARNING: package sun.awt.X11 not in java.desktop
================================================================================
Don't use GUI mode for load testing !, only for Test creation and Test debugging.
For load testing, use CLI Mode (was NON GUI):
   jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
& increase Java Heap to meet your test requirements:
   Modify current env variable HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m" in the jmeter batch file
Check : https://jmeter.apache.org/usermanual/best-practices.html
================================================================================
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.bulenkov.darcula.DarculaLaf (file:/usr/local/Cellar/jmeter/5.1.1/libexec/lib/darcula.jar) to constructor com.apple.laf.AquaLookAndFeel()
WARNING: Please consider reporting this to the maintainers of com.bulenkov.darcula.DarculaLaf
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

f:id:ShineSpark:20191008003559p:plain
JMeterGUI

gitでググったコマンド一覧

これは何?

自分がgitであれをやりたい...と思ってググったコマンド一覧を備忘録として残した記事

ブランチ操作

今のブランチをmainに追従させる

$ git rebase -i origin/main

手元のブランチのHEAD, index, ワーキングツリーをremoteの状態で上書きする(手元のブランチの状態をリモートと同じ状態に戻す)

$ git reset --hard origin/main

コミット

直前のコミットに変更を追加する

$ git commit --amend --no-edit

1つ前のコミットに、特定の変更を追加できる。

add している状態で実行すれば、addされているものが追加されるし、

$ git commit --amend --no-edit <file>

とすれば、 を追加できる。

PR作成前の見直しで少しだけ修正が出てきた場合などに、知ってからはとてもよく使っている。

fixup!コメント付きでコミットする

$ git commit --fixup=@

このコマンドを実行すると、addしたものがfixup! コメント付けでコミットされる。

この状態で git rebase -i origin/main などを実行すると、最初から fixup 対象として扱われるので、fixupしたいコミットの次に並び替えるなどをしてfixupが実行できる。

用途としては、

  • 直前のコミットに組み込みたい場合
    • git commit --amend --no-edit
  • それ以前のコミットに組み込みたい場合
    • git commit --fixup=@ した後に git rebase -i origin/main

として使う。

コミットの修正

コミットした順序を入れ替える

$ git rebase -i @~5

並び替えて :wq

複数のコミットメッセージをまとめて修正する

$ git rebase -i @~5

編集したいコミットのpickをrにして:wq 個別に修正する

過去のコミットを分割する その1

分割したいcommitのidを <commit_id> とする

$ git rebase -i <commit_id>~

edit <commit_id> にして :wq で、修正対象のコミットまでHEADを戻す。
この時点では、作業ディレクトリは差分無しの状態だが、

$ git reset @~

をすると、分割したいコミットの差分対象のファイルがunstagingな状態に戻るので、個別にaddやcommitする。 分割コミットが終わったら

$ git rebase --continue

で完了。

過去のコミットを分割する その2

下記コマンドなどで分割したい対象のコミットを e して :wq

$ git rebase -i origin/main

すると、分割対象のコミットまでHEADが戻る。 この時点では、作業ディレクトリは差分無しの状態だが、

$ git reset @~

をすると、分割したいコミットの差分対象のファイルがunstagingな状態に戻るので、個別にaddやcommitする。 分割コミットが終わったら

$ git rebase --continue

で完了。

今のブランチのコミットをすべてコミットし直す

プルリクエストを作る際などに、コミットを綺麗に作り直したいケース。
コミットし直したいブランチをfeatureブランチとする。

まずmainブランチとの差分をすべてreset --softする

$ git reset --soft origin/main

すると、以下のようにfeatureブランチで加えたファイル差分がstageに上がったものの未コミットの状態に戻る。

一度すべてunstageに戻す。

$ git status
On branch feature
Your branch is behind 'origin/feature' by 4 commits, and can be fast-forwarded.
  (use "git pull" to update your local branch)

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
    new file:   ...
    modified:   ...
    modified:   ...
    modified:   ...

$ git restore --staged ./

すべてのファイルをunstageな状態に戻せば、そのブランチで行われたファイル差分はあるもののコミットはされていない状態に戻るので、改めて好きな粒度でコミットをしていけばOK.

$ git status
On branch feature
Your branch is behind 'origin/feature' by 4 commits, and can be fast-forwarded.
  (use "git pull" to update your local branch)

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
    new file:   ...
    modified:   ...
    modified:   ...
    modified:   ...

# 好きにコミットし直していく
$ git commit --message "..."

すべてコミットし直せたら、force pushする

$ git push --force

マージ

別ブランチのコミットの(無編集での)取り込み

dependabotのPRをまとめて取り込みたい時などに使う。

git merge --no-edit origin/branch-name

設定変更

単語単位でdiffを表示する

通常は行単位でしかdiffが表示されないが、単語単位でdiffを表示するには、.gitconfigにこう書く。

[pager]
    log = diff-highlight | less
    show = diff-highlight | less
    diff = diff-highlight | less

lessのようにpager無しで標準出力したい場合には、 | less を外せばよい

git/contrib/diff-highlight at master · git/git · GitHub

branch をpagerとして出力するのを辞めたい

.gitconfigにこう書く。

[pager]
  branch = false

docker, docker-composeでググったコマンド一覧

これは何?

自分がdockerやdocker-composeであれをやりたい...と思ってググったコマンド一覧を備忘録として残した記事

docker

今起動しているコンテナをすべて止める

$ docker ps -q | xargs docker kill

以前restart=alwaysでdocker runしたコンテナを探す

$ docker inspect -f "{{.Name}} {{.HostConfig.RestartPolicy.Name}}" $(docker ps -aq) | grep always

以前restart=alwaysしたコンテナの自動再起動を止める

$ docker update --restart=no $CONTAINER_NAME

docker-compose

Docker実践ガイド 第2版 (impress top gear)

Docker実践ガイド 第2版 (impress top gear)

Contessa II コンテッサ セコンダの座面をメッシュからクッションに交換した

あらすじ

コンテッサ セコンダ の下記モデルを昨年夏に購入してほぼ1年満足して利用していたよ。

高い買い物なので大塚家具にアーロンチェアなども含めて試座しに行ったりしつつ、国産メーカーだから日本人の体型に合っているという口コミに確かになーと共感しつつ、最終的にコンテッサ セコンダを購入したよ。
以前バロンチェアを利用していた時には座面がメッシュだと通気性が良くてよかったのでメッシュタイプにして満足して利用していたよ。

コンテッサ セコンダは、コンテッサに比べても座面のメッシュが強くなったこともあり、たるみにくいとレビューで書いてあったから安心してメッシュにしたよ。 実際、それまで非常に満足して利用していたよ。

ところが状況が変わってきた

今まではかなり満足して利用していたんだけれども、リモートワークOKというかほぼフルリモートな会社に転職して、一日8時間、連日座り続けるようになったらだんだんお尻が痛くなってきた。
メッシュが強いことで、長時間座っているとまるでラケットの上に長時間座っていたかのようにメッシュに触れる部分が痛くなることがあった。

それに、朝起きて支度してエアコンの効いた自室でリモートワークを開始するだけなので、蒸れを気にする機会がないなーと気付き、だんだんクッションタイプの方がいいかもと思うようになってきた。

オカムラに相談してみる

軽くググったところ、有償で交換できるようなので早速オカムラに相談。
金額は3〜4万円、大体1ヶ月位で生産できるとのことでまぁ今後も使うことを考えるといいかなということで依頼。

今年のGWは10連休だったので多少遅れますとのことだったけど、大体予定通りに納品の交換日程になった。
支払いはクレジットカード払いにした。

交換・そして交換方法も教えてもらう

こんな感じでクッションタイプの座面を持ってきてもらったので、早速交換してもらった。

クッションタイプの座面

ついでに座面の外し方も教えてもらった。座面を外すには、座面の裏側が5mmの6角ネジで四隅の4箇所を緩めて座面を外すだけでOK。

時々家具購入時に付属しているL字の六角棒レンチは大抵4mmで5mmのものは少ないので今後自分で交換する際には注意。 自分はこちらのラチェットドライバーを持っていたから大丈夫かなと思ってたけれど、

一部ストレート型でないと届かないネジもあったのでボールポイントレンチがあった方がよかった。 自分は自転車用に買ってたこれが丁度よかった。

なんやかんやでクッションタイプに換装完了。

換装後のコンテッサ セコンダ

交換した後のメッシュの座面を処分するか訊かれたのだが、これはそのまま所有して暑い時期や気が変わった時の為に手元に残しておくことにした。

メッシュタイプの座面

ついでに座面の昇降ワイヤーの硬さも調整してもらって作業完了。

換装した感想

クッションタイプの方が優しいので長時間座る場合にはこちらの方がオススメ。暑さや蒸れが気になったらまたメッシュにしようと思っているけど、当面はクッションでいいかな。
交換費用はそれなりに掛かったけれど、より快適になったことや座面の選択肢が増えたことに満足している。

みんなもコンテッサ セコンダを買えばいいよ!

ちなみに公式サイトには、カラーシミュレーターがあるよ!

www.okamura.co.jp

参考

EIZO FlexScan EV2785 の入力を自動判別にする

EIZO FlexScan EV2785 を使っている。 - FlexScan EV2785 | EIZO株式会社
4Kで画面が綺麗。USB Type-C接続でMacBook Proへの給電もできて便利。

ただ入力ソースを切り替えたい時にポチポチ手動でする必要があり、その点だけが不満だった。

自動で入力ソースを切り替えようと、通常のメニューや設定をいくら探しても見つからなかった。けれども設定できる方法が見つかったので備忘録として。

やり方

  1. FlexScan EV2785 取扱説明書 を全部読む
  2. 第4章 管理者向け設定の項を見つける
  3. 一番左側のスイッチに触れながら、電源ボタンに2秒以上触れてモニターの電源を入れる f:id:ShineSpark:20190522030745p:plain
  4. Administrator Settings が立ち上がる f:id:ShineSpark:20190522025520j:plain
  5. Auto Input DetectionOn にして、 Apply する

説明書をちゃんと読もう!

ちなみに付属のディスプレイスタンドもすごく良く出来ているけれども、ディスプレイアームにしました。気軽に位置調整できるのでオススメです。

2020-03-06 追記

EIZO FlexScan EV2760 でも同じ方法で自動判別にできました。

Time Machineデータを別のMacから引っこ抜けなくて困ったけど何とか引っこ抜いた

状況

  • 手持ちのMacBook Proを初期化 & 再インストールしたくなった。
  • 初期化 & 再インストールしたら以前のTime Machineデータが見れなくなった。
    • せっかくなのでユーザー名も変えてしまった
  • 以前のTime Machineのディスクに接続すると過去の日付が表示されるものの、遡れない。

f:id:ShineSpark:20190327011845p:plain

過去の日付が見えるものの、クリックできず遡れない

環境

  • macOS Mojave
  • Air Mac Extreme + 外付けHDDのTime Machine環境
  • 2015年からのTime Machineデータ

模索

  • Time Machineをコマンドから利用する系の記事は軒並みダメ。
  • sudo /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder で root権限でFinderを起動して... はMojaveではダメ。恐らくYosemite辺りからダメ。
  • Time Machine のアイコンを optionを押しながらクリックして、「ほかのバックアップディスクをブラウズ」” もダメ。
  • 海外の記事も探したけど各種コマンド系のものは軒並みダメ。

諦めかけてたところ、Time Machine でデータを新しいMacに復元しようとしてハマった - noanoa 日々の日記 、関連して ほかのTime Machineディスクをブラウズ でファイルの中身が全く見られない時の対処法 | ごりゅご.com を見つけて試したら解決したのでメモ。

解決手順

既存のTime Machineバックアップファイルを右クリックし、 DiskImageMounter で開く

f:id:ShineSpark:20190327013745p:plain

メニューバーのTime Machineアイコンをクリックし、option / alt キーを押すとサブメニューが変わるので、 Browse Other Backup Disks... をクリック

f:id:ShineSpark:20190327014330p:plain

先程マウントしたディスクが表示されるのでそれを選択して Use Selected Disk

f:id:ShineSpark:20190327014224p:plain

選択したディスクからTime Machineに入ると、以前のデータにアクセスできるようになる

f:id:ShineSpark:20190327011845p:plain

感謝の参考記事