ンンンパ

ふとしです

移転しました

IntelliJ IDEA の右クリックから Atom でファイルを開けるようにする (ついでに Thunar からも)

IntelliJ IDEA

File > Setting > Appearance & Behavior > Menus and Toolbars に各ポップアップメニューの項目があるので、そこの任意の位置に External tools に登録 (後述) しておいた Atom を配置します。

f:id:mmmpa:20170831041259p:plain

External tools に登録

File > Setting > Tools > External Tools の [+] ボタンをクリックして登録を行います。コマンドラインから開く時と同じように設定すればそれで動きます。

ただ Open console のチェックをはずす、 Parameters-n オプションをつけるなど微調整をしたほうが心地よく使えるでしょう。(-n オプションをつけていないと既存のウィンドウに開かれる場合があり、複数のワークスペースで Atom を開いてる場合に現在アクティブなワークスペースで開かない場合がありすこし鬱陶しい)

f:id:mmmpa:20170831042014p:plain

Thunar

Thunar は Xfce についてきたファイルマネージャーですが、編集 > アクションの設定 でポップアップメニューに項目を追加できます。

f:id:mmmpa:20170831042205p:plain

おわり

日常業務において IntelliJ IDEA に不満はありませんが Markdown の補完が肌にあわないのでプレビューを行える Atom を使用しています。-n オプションを知るまでは Atom も大変不便な場合があったのですが、ちゃんと help を読んで心地よく使えるようになりました。

Terminator (ターミナル拡張) のタイトル部を、ウィンドウごとに任意のものに変更する (bash)

f:id:mmmpa:20170829034221p:plain

ターミナルを立ち上げまくっていると上のようなことになってどれがどれだかわからず大変につらい。

このタイトルはプロンプトの変更と同じく PS1 に食わすことで変更できます。プロンプトを生かしたままで変更しなければならないので ~/.bashrc などに関数を定義して一発で変更できるようにします。

set_title () {
  ORIG=$PS1
  TITLE="\e]2;$*\a"
  PS1=${ORIG}${TITLE}
}
set_title EC2

f:id:mmmpa:20170829040402p:plain

Terminator ではフォーカスがあたっているターミナルのタイトルが表示されるので、分割しまくっている場合は Broadcast all などで全てに設定しないといけないのが少し手間ですね。

参考

stackoverflow.com

Bash/プロンプトのカスタマイズ - ArchWiki

プロンプトと同じようにシェルにエスケープシーケンスを出力することでターミナルのウィンドウタイトルもカスタマイズできます。プロンプトでウィンドウタイトルのカスタマイズすることができます。技術的には xterm の機能ですが、近代的なターミナルの多くがカスタマイズをサポートしています。使用するエスケープシーケンスは ESC]2;new titleBEL です。ESC と BEL はエスケープとベルの文字列に置き換えてください。

"\e]2;NEW TITLE\a"

Amazon Linux で普通に yum install した Nginx の auth_request_module を有効にしたい

現在の設定をそのままにコンパイルし直すという手を使いました。

  1. nginx -V で現在の configure を得る
  2. 1 で得た configure に --with-http_auth_request_module を加える
  3. Nginx 同バージョンのソースを得る
  4. ./configure が通るまで足りないライブラリを追加する
  5. make && make install
  6. nginx -s reload
$ sudo nginx -V
# 略
$ wget https://nginx.org/download/nginx-1.10.3.tar.gz
# 移動とか略
$ sudo yum install -y pcre-devel zlib-devel openssl-devel gcc gcc-c++ make gd-devel perl-ExtUtils-Embed GeoIP-devel gperftools-devel
$ sudo ./configure --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi --http-scgi-temp-path=/var/lib/nginx/tmp/scgi --pid-path=/var/run/nginx.pid --lock-path=/var/lock/subsys/nginx --user=nginx --group=nginx --with-file-aio --with-ipv6 --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_geoip_module=dynamic --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-http_perl_module=dynamic --with-mail=dynamic --with-mail_ssl_module --with-pcre --with-pcre-jit --with-stream=dynamic --with-stream_ssl_module --with-google_perftools_module --with-debug --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' --with-ld-opt=' -Wl,-E --with-http_auth_request_module'
$ sudo make
$ sudo make install
$ sudo nginx -s reload

Nginx で print デバッグ

そもそもきちんとログに出してログを見ろという話ですが、 return を使えばどの変数になにが入っているかを簡易に確認できます。

server {
  listen 9998;
  
  location = /check-header {
    add_header Content-Type text/plain;

    # ステータスコードとボディ文字列
    return 200 $http_user_uuid;
  }
}

f:id:mmmpa:20170824093050p:plain

特に夏だからというわけではないが体重を 10 kg 減らしたのでグラフ

減りました。

2017/3/27 開始の本日までのグラフです。(記録がとんでる部分があるので日数は一致しない)

test

なぜ?

2017/3/27 に行った人間ドックの最後の説明で空腹時血糖値が境界を超えてアウトだったので「ヤバいマジ糖尿」という雰囲気のことを言われた。

(なお HbA1c は普通で、しかも後日普通の健康診断で普通に血液検査をしたところ、ちょっと高めではあるが境界にも達していない平常値だった。脅しすぎ医者 + ビビりすぎ私)

どうやって?

食事を減らした

減らした後の食事はおおむね以下の通り

  • 朝: 魚肉ソーセージ 4 本
  • 朝から昼にかけて: サラダチキン 3 枚
  • 夜: 1000 kcal 前後 + 泥酔するまで飲む

体重が増えていた時はこれに加えて魚肉ソーセージが 2 本と胸肉が 3 枚ほど追加されていた。体重が増え続けていたのも納得だし、それを削って体重が減ったのも納得というところ。

運動は減らさなかった

1 日 2 時間のエアロバイク運動は食事を減らした後も継続した。腹が減っていてもなんとか漕げる。エアロバイク中は暇なのでブラッドボーンなどのゲームをしたり電子書籍を Android や iPhone に音読してもらっている。

なけなしの筋肉を落としたくなかったので筋トレもちゃんとやるようにした。おかげで必要以上に腕などは細くならなかったと思う。

まとめ

食事を見なおせば体重は減る。

Rails の ActiveRecord での lock! の細かい話

前プロジェクトでログを眺めていて気づきました。仕組みを考えれば確かにという感じだった。

class User < ApplicationRecord
  after_initialize -> { logger.info('Instantiate!') }
end
User.find(1).lock!
#  User Load (0.2ms)  SELECT  `users`.* FROM `users` WHERE `users`.`id` = 1 LIMIT 1
# Instantiate!
#  User Load (0.3ms)  SELECT  `users`.* FROM `users` WHERE `users`.`id` = 1 LIMIT 1 FOR UPDATE
# Instantiate!

User.lock(true).find(1)
#  User Load (0.5ms)  SELECT  `users`.* FROM `users` WHERE `users`.`id` = 1 LIMIT 1 FOR UPDATE
# Instantiate!

騒がしい社内で心穏やかに仕事するためのセット

みなさん、静かな環境で心穏やかにお仕事されていますでしょうか?

わたくし、前職は非常におしゃべり好きな人間がおおい職場で、さまざまな会話音声により集中力をそがれておりました。他人のくだらない音声ほど集中力をそぐものはないと思います。

そんなわたくしに心の平穏をもたらした 2 つの道具を紹介させていただきます。

ぶっちゃけた話、耳栓

イヤホンなどで大音量で音楽を流すという手もあるのですが、それはそれで音に集中力を持っていかれるので、やはりここは静寂を求めていきたいところです。

そこで、以下の 2 つを組みあわせることで、比較的安価にあなたの耳に静寂を取り戻すことができます。

f:id:mmmpa:20170529184752j:plain

イヤーマフ PELTOR H540B

写真奥手に見えるのがこのイヤーマフです。

頭にひっかけるタイプではなく、挟みこむ力で状態を維持するので、多少の締め付けがありますが、防音性能はおりがみ付きです。

髪にかからないので、派手な髪型の御仁や、頭皮への圧力が気になるお年ごろの方でも安心ですね。

任意の、耳に突っ込むタイプの耳栓

MOLDEX 耳栓 8種セット プラケース付

MOLDEX 耳栓 8種セット プラケース付

写真手前にうつっているのが耳栓です。耳に突っ込むタイプなら割とどれも性能がよくて、わたしは 500 円ぐらいで amazon で買える、テキトーな詰めあわせのものを使っています。

イヤーマフのみでもかなりの静けさは得られるのですが、ダメ押しとして突っこんでおくと、静けさがうるさいぐらいに静かになります。

耳栓のかわりにカナル型のイヤホンを突っこむと、音量をさほど上げることなく、好みの音楽の下で穏やかに働くことができるので、そちらもおすすめです。

まとめ

前職、前前職ではこの 2 つを組みあわせることにより、平穏を得ることに成功していました。

現職ではリモートワークなので、人の会話音声や騒音の類に悩まされることはほぼないのですが、隣室でリフォーム工事がはじまり急遽復活の要が発生したので、ついでに紹介してみました。

おすすめです。