2015年6月16日火曜日

rundll32.exe が CPU を利用しすぎる → 落ち着かせる

Windows PC のファンが急に音を上げて動き出し、ファン周りが熱くなったので
何事か?とタスクマネージャーを確認したところ rundll32.exe が他のプロセスより
突出して利用していました。

rundll32.exe だけでは何をしているか分からなかったのですが、タスクマネージャーの
「プロセス」でメニュー「表示」 > 「列の選択」 > 「コマンドライン」にチェックをつけることで
実行しているプロセスのコマンドが確認できます。

コマンドを確認すると appraiser.dll DoScheduledTelemetryRun が実行されていました。
調べるとこれは、Windows の カスタマーエクスペリエンス向上プログラム が実行されているとのこと。
「コントロールパネル」 > 「管理ツール」 > 「コンピュータの管理」 > 「タスク スケジューラ」
 > 「タスク スケジューラ ライブラリ」 > 「Microsoft」 > 「Windows」 > 「Application Experience」
  > 「Microsoft Compatibility Appraiser」 の 「操作」 で実行されているコマンドと同一でした。

「Microsoft Compatibility Appraiser」 の 「全般」 にある説明を見ると

Microsoft カスタマー エクスペリエンス向上プログラムに参加している場合に、プログラムの遠隔測定情報を収集します。

となっていたので、このプログラムに参加しなければ動作しないのではと。
このプログラムの参加を無効にする方法は Windows 7 が対象でしたが、ありました。
Windows 7 セットアップで行った推奨設定を無効にする にある 「Microsoft による Windows の機能向上に協力する」 をクリックすることで手順を確認できます。

ひとまず、設定を無効にして様子を見ようと思います。
かなりファンが熱くなり何とかできないかと困っていたので、これで落ち着けば良いですが。

2015年6月14日日曜日

月日が経つのが早く感じる

前の投稿から約3ヶ月が経っていました。
月日が経つのは早いです。

CentOS の yum でパッケージを管理したときのログ

CentOS の yum でパッケージを管理しているときに追加や削除した
パッケージ情報が必要になったときがありました。

そういう情報はログに残っていると思ったのですが、どこに保存されているか
分からず、調べてみました。

CentOS でログの保存場所に関する設定は編集していません。
yum コマンドのログは /var/log/yum.log にありました。
/var/log/yum.log ではパッケージの追加/消去/更新の確認ができます。

パッケージの削除で依存しているパッケージを削除して、再インストールが
必要なパッケージを確認するとき、これまでは削除されるパッケージの一覧を
コピペで残していましたが、そのようなことはしなくて済みます。

2015年3月5日木曜日

omnibus-gitlabでtimezoneをAsia/Tokyoにする

omnibus-gitlabの最近のバージョンではtimezoneを設定できるようです。
バージョン7.5から対応しているようですが、今回試したバージョンは7.7.2です。
タイムゾーンを日本時間(Asia/Tokyo)にする手順です。
# /etc/gitlab/gitlab.rb に次の1行を追加
gitlab_rails['time_zone'] = 'Asia/Tokyo'

# GitLabの設定ファイルの再読み込み
sudo gitlab-ctl reconfigure

# GitLabの再起動
sudo gitlab-ctl restart
これでissueやコメントで表示される吹き出しの日時が日本時間で表示されます。

omnibus-gitlabでtimezoneが設定できない様子 を投稿したのですがバージョンアップで
対応できるようになっていました。

2015年2月26日木曜日

外注とのやり取りや開発フローに思うこと

外注を利用して製品を開発するときには、どうやって進めていけば良いのか悩む。
今までは外注を利用せず、内製で開発してきたので何がベストと思えるのか難しい。

近頃はバージョン管理するのが、普通な感じになっているので、外注との
やり取りはGitHubやGitLabのようなサービスを利用して進めたいと感じている。

GitHubやGitLabのようなサービスの利用前提ならフローも統一していけそうな気もする。
外注ごとにやり取りの仕方とか開発フローが変わってしまうと、やり辛い気がする。

2015年2月19日木曜日

git archive でアーカイブするときの改行コードには気をつける

納品したシステムやセットアップ済みのシステムに差分ファイルを反映するケースでは
git diff と git archive を組み合わせて差分ファイルを作成しているのですが、アーカイブしたときの
改行コードが意図しない状態になっていました。

git config の core.autocrlf が false のとき git archive を実行すると差分ファイルの
改行コードがCRLFになりました。
core.autocrlf を input にすると LF になりました。

git archive のヘルプを見ても改行コードに関する内容を見つけることができなかったので
もしかしたら、core.autocrlf の設定が git archive に影響を与えているのではないかと思います。

2015年2月5日木曜日

Basic認証またはCookieがあるときだけ閲覧を許可する

Basic認証、Cookieが存在するどちらかの条件がクリアしていればアクセスできるという
ケースが必要になったので調べてみました。

Satisfyの使い方を少し変えることで想定した動作を満たすことができました。
Satisfyはrequireとallowの両方を使われているときに設定するアクセスポリシーですが
requireはBasic認証、allowはCookieが存在するときに設定する環境変数があればの
条件を設定することでいけました。
Satisfy ディレクティブについてはこちらを見て参考にしました。
require valid-user
order deny,allow
deny from all

# Cookie
SetEnvIf Cookie "xxxxx=yyyyy" AUTH_ACCESS
allow from env=AUTH_ACCESS

# Basic Auth
AuthGroupFile /dev/null
AuthName "Admin only"
AuthType Basic
AuthUserFile /path/to/.htpasswd

Satisfy Any