カテゴリー : 2016年 4月

AirMac Extreme‎ の初期化 (リセット) 方法

オフィスの AirMac Extreme‎ をたまに工場出荷状態まで初期化することがあるので、リセット方法をメモ。

AirMac Extreme のリセットボタン

AirMac Extreme のリセットボタンは、AC 電源インレットの右横にあります。

AirMac Extreme リセットボタン

AirMac Extreme リセットボタン

AirMac Extreme‎ の初期化方法

AirMac Extreme‎ を初期化する方法は「ソフトリセット」、「工場出荷時のデフォルトリセット」の2通りあります。

ソフトリセット

  1. 「アプリケーション」>「ユーティリティ」と選択し、AirMac ユーティリティを開きます。
  2. 「AirMac ユーティリティ」>「アップデートを確認」と選択します。
  3. お使いの Mac で利用可能な最新バージョンのファームウェアと AirMac ユーティリティをインストールします。
  4. ベースステーションを電源に接続します。
  5. ペン先、鉛筆の芯、または伸ばした紙クリップを使って、10 秒間、リセットボタンを押し続けます。
  6. ボタンを放すと、ベースステーションがソフトリセットされます。

工場出荷時のデフォルトリセット

  1. ベースステーションを電源から取り外します。
  2. ペン先、鉛筆の芯、または伸ばした紙クリップを使ってリセットボタンを押しながら、ベースステーションを電源に接続します。3 つの LED ランプが高速で点灯するまで、5 秒程度、ボタンを押し続けます。
  3. ボタンを放すと、ベースステーションが工場出荷時の状態にリセットされます。

以上です。

Elasticsearch を Homebrew でサクッと Mac インストールする手順

Mac に Elasticsearch をインストールしたので手順をご紹介します。

インストール可能な Elasticsearch のバージョンを確認

2016年4月26日時点での最新版 2.3.1 がインストールできそうです。

$ brew info elasticsearch
elasticsearch: stable 2.3.1, HEAD
Distributed search & analytics engine
https://www.elastic.co/products/elasticsearch
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/elasticsearch.rb
==> Caveats
Data:    /usr/local/var/elasticsearch/elasticsearch_bakorer/
Logs:    /usr/local/var/log/elasticsearch/elasticsearch_bakorer.log
Plugins: /usr/local/Cellar/elasticsearch/2.3.1/libexec/plugins/
Config:  /usr/local/etc/elasticsearch/
plugin script: /usr/local/Cellar/elasticsearch/2.3.1/libexec/bin/plugin
 
To have launchd start elasticsearch now and restart at login:
  brew services start elasticsearch
Or, if you don't want/need a background service you can just run:
  elasticsearch

Elasticsearch をインストール

brew コマンドでサクッと elasticsearch をインストールしようとすると Java が無いというエラーが発生します。Java・・・

$ brew install elasticsearch
elasticsearch: Java 1.7+ is required to install this formula.
You can install with Homebrew Cask:
  brew install Caskroom/cask/java
 
You can download from:
  http://www.oracle.com/technetwork/java/javase/downloads/index.html
Error: An unsatisfied requirement failed this build.

Java をインストール

Oracle 公式サイトから Java をインストールしてもいいんですが、楽するために Java も brew コマンドでインストールしてしまいます。

$ brew install Caskroom/cask/java
==> brew cask install Caskroom/cask/java
==> We need to make Caskroom for the first time at /opt/homebrew-cask/Caskroom
==> We'll set permissions properly so we won't need sudo in the future
Password:
==> Caveats
This Cask makes minor modifications to the JRE to prevent issues with
packaged applications, as discussed here:
 
  https://bugs.eclipse.org/bugs/show_bug.cgi?id=411361
 
If your Java application still asks for JRE installation, you might need
to reboot or logout/login.
 
Installing this Cask means you have AGREED to the Oracle Binary Code
License Agreement for Java SE at
 
  http://www.oracle.com/technetwork/java/javase/terms/license/index.html
 
==> Downloading http://download.oracle.com/otn-pub/java/jdk/8u92-b14/jdk-8u92-macosx-x64.dmg
######################################################################## 100.0%
==> Verifying checksum for Cask java
==> Running installer for java; your password may be necessary.
==> Package installers may write to any location; options such as --appdir are ignored.
==> installer: Package name is JDK 8 Update 92
==> installer: Installing at base path /
==> installer: The install was successful.
🍺  java staged at '/opt/homebrew-cask/Caskroom/java/1.8.0_92-b14' (2 files, 227M)

念の為 Java がインストールされていることを確認します。

$ java -version 
java version "1.8.0_92"
Java(TM) SE Runtime Environment (build 1.8.0_92-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.92-b14, mixed mode)

改めて Elasticsearch をインストール

$ brew install elasticsearch
==> Downloading https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.3.1/elasticsearch-2.3.1.tar.gz
######################################################################## 100.0%
==> Caveats
Data:    /usr/local/var/elasticsearch/elasticsearch_bakorer/
Logs:    /usr/local/var/log/elasticsearch/elasticsearch_bakorer.log
Plugins: /usr/local/Cellar/elasticsearch/2.3.1/libexec/plugins/
Config:  /usr/local/etc/elasticsearch/
plugin script: /usr/local/Cellar/elasticsearch/2.3.1/libexec/bin/plugin
 
To have launchd start elasticsearch now and restart at login:
  brew services start elasticsearch
Or, if you don't want/need a background service you can just run:
  elasticsearch
==> Summary
🍺  /usr/local/Cellar/elasticsearch/2.3.1: 59 files, 29.4M, built in 1 minute 40 seconds

こちらも念の為、elasticsearch のバージョンを確認しておきます。

$ elasticsearch --version
Version: 2.3.1, Build: bd98092/2016-04-04T12:25:05Z, JVM: 1.8.0_92

elasticsearch を起動

Elasticsearch を起動してみます。

$ brew services start elasticsearch
==> Tapping homebrew/services
Cloning into '/usr/local/Library/Taps/homebrew/homebrew-services'...
remote: Counting objects: 7, done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 7 (delta 0), reused 6 (delta 0), pack-reused 0
Unpacking objects: 100% (7/7), done.
Checking connectivity... done.
Tapped 0 formulae (32 files, 46.0K)
==> Successfully started `elasticsearch` (label: homebrew.mxcl.elasticsearch)

elasticsearch のプロセスが起動されていることを確認しました。

$ ps aux | grep elasticsearch
bakorer          1308   0.5  1.5  5075616 256028   ??  S     7:04PM   0:07.18 /usr/bin/java -Xms256m -Xmx1g -Djava.awt.headless=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -XX:+DisableExplicitGC -Dfile.encoding=UTF-8 -Djna.nosys=true -Des.path.home=/usr/local/Cellar/elasticsearch/2.3.1/libexec -cp /usr/local/Cellar/elasticsearch/2.3.1/libexec/lib/elasticsearch-2.3.1.jar:/usr/local/Cellar/elasticsearch/2.3.1/libexec/lib/* org.elasticsearch.bootstrap.Elasticsearch start
bakorer          1327   0.0  0.0  2432772    560 s000  S+    7:04PM   0:00.00 grep --color=always elasticsearch

[おまけ] elasticsearch-head をインストール

Elasticsearch には plugin をインストールできる仕組みがあり、elasticsearch-head をインストールするとブラウザから色々と確認できるようになります。

$ /usr/local/Cellar/elasticsearch/2.3.1/libexec/bin/plugin install mobz/elasticsearch-head
-> Installing mobz/elasticsearch-head...
Trying https://github.com/mobz/elasticsearch-head/archive/master.zip ...
Downloading 
...............................................................................................DONE
Verifying https://github.com/mobz/elasticsearch-head/archive/master.zip checksums if available ...
NOTE: Unable to verify checksum for downloaded plugin (unable to find .sha1 or .md5 file to verify)
Installed head into /usr/local/Cellar/elasticsearch/2.3.1/libexec/plugins/head

管理画面の URL は http://localhost:9200/_plugin/head/ です。

elasticsearch-head を使って見れる管理画面

elasticsearch-head によって http://localhost:9200/_plugin/head/ から見れるそれっぽい管理画面

Elasticsearch を使い始めたばかりなので、これから徐々にキャッチアップしていきたいと思います。

Ansible 2 を Mac にインストールする方法

Ansible 2 系を brew コマンドを使ってサクッと Mac にインストールしました。

$ brew info ansible
ansible: stable 2.0.2.0 (bottled), devel 2.0.2.0-0.4.rc4, HEAD
Automate deployment, configuration, and upgrading
https://www.ansible.com/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/ansible.rb
==> Dependencies
Build: pkg-config ✘
Required: libyaml ✘, openssl ✘
==> Caveats
Homebrew writes wrapper scripts that set PYTHONPATH in ansible's
execution environment, which is inherited by Python scripts invoked
by ansible. If this causes problems, you can modify your playbooks
to invoke python with -E, which causes python to ignore PYTHONPATH.
$ brew install ansible
$ ansible --version
 
ansible 2.0.2.0
  config file = 
  configured module search path = Default w/o overrides

以上です。

brew update で fatal: cannot create directory at ‘.github’: Permission denied というエラーが出たときの対応方法

Mac で brew update を実行したら、

$ brew update
fatal: cannot create directory at '.github': Permission denied
Error: Failure while executing: git pull -q origin refs/heads/master:refs/remotes/origin/master

というエラーメッセージが表示されたときの対応方法をご紹介します。

/usr/local ディレクトリの permission を変更

fatal: cannot create directory at ‘.github’: Permission denied というエラーメッセージが表示されるのは /usr/local ディレクトリの permission が無いのが原因です。

chown コマンドで所有者を自分に変更しましょう。

$ ls -la /usr/local
total 112
drwxr-xr-x   24 root     wheel    816 Oct 28 08:47 .
$ sudo chown $(whoami):admin /usr/local
$ ls -la /usr/local
total 112
drwxr-xr-x   24 myname  admin    816 Oct 28 08:47 .

Homebrew の GitHub repository を master へ更新

cd `brew --prefix`
git fetch origin
git reset --hard origin/master

最後に Homebrew をアップデート

$ brew update
$ brew -v
Homebrew 0.9.9 (git revision 145155; last commit 2016-04-23)
Homebrew/homebrew-core (git revision bd06; last commit 2016-04-23)

以上です。

[Node.js] npm package の実行ファイルは node_modules/.bin にシンボリックリンクで存在する

Node.js で npm install した package の実行ファイルは node_modules/.bin ディレクトリ配下にシンボリックリンクが自動作成されます。

npm logo

(例) とある node_modules/.bin 配下

$ ls -l ./node_modules/.bin
lrwxr-xr-x  1 codenote  staff  22 Apr 21 18:11 express -> ../express/bin/express
lrwxr-xr-x  1 codenote  staff  22 Apr 21 18:11 grunt -> ../grunt-cli/bin/grunt
lrwxr-xr-x  1 codenote  staff  16 Apr 21 18:11 jade -> ../jade/bin/jade
lrwxr-xr-x  1 codenote  staff  21 Apr 21 18:12 npm -> ../npm/bin/npm-cli.js

Node.js で開発して4年以上も経つのに知らなくて、自分でもびっくりしました。

ちなみに、モジュールにコマンドが用意されていた場合のみ /path/your_project/node_modules/.bin にシンボリックリンクが作成されます。

サポートタイプのリーダーを目指すあなたにやってほしいこと

とあるチームの業務改善の一環で、そのチームのリーダー宛に送ったメールを一部編集して記事にしました。

以下、メール本文です。


チームの立て直しに関連して今後、◯◯さん(リーダー)にやってもらいたいことを、優先度順に書き出しました。
できること、できないことあると思いますが、ご確認よろしくお願いします。

概要

  • サポートタイプのリーダーなので、自分の時間を確保して業務キャッチアップして、把握できてないこと、できないことを減らしていって欲しいという考えのもとに書き出してます
  • 自分ができる業務は他のメンバーに任せても、最悪自分で解決できるので、時間の作り方としてオススメです
  • 僕も意識して開発メンバーに任せまくってます

流れ

  1. 自分の業務を手放す
  2. 元々、自分の業務だったものはフォローできる
  3. 空いた時間でキャッチアップ、勉強する
  4. チームメンバーの業務全てフォローできるようにする

サポートタイプのリーダーになるためにやってほしいこと

実務を早急にメンバーに引き継ぐ

実務を抱えてると時間が作れないと思うので、今までやっていたタスクはフォローできると思うので一旦、手放しましょう。
困ったらフォローする形でリーダーシップとっていくのが理想的です。

空いた時間でチームの業務を全てキャッチアップする

失礼ながら数字に弱い印象なので、扱ってる数字がどうなってるかは最低限、分かっていてほしいです。
その他、チームメンバーがやってる業務内容の概要を把握してください。
チーム内の業務で分からないことがあれば勉強してください。

チーム内の各業務 MTG にも時間の許す限り参加する

最初のうちは基本参加してください。

各メンバーの実務面での動きを見てないと、評価面談のときに何も書けないと思います。
メンバーのことを見ていない人に評価されても納得感がないと思います。

最後に、慣れてきたら MTG への参加頻度は減らしていきましょう。
MTG ばかり参加していると自分の仕事の時間が確保できなくなるからです。

他チームとの面倒な調整役を引き受ける

サポートタイプのリーダーが力を発揮できるポイントだと思います。
チームメンバーには各自の業務に集中できる環境を作ってあげましょう。


以上がメールに書いた内容でした。

最後に

「リーダーってどうあるべきだろう?」と悩んでいる方に少しでも参考になれば幸いです。

Google Analytics と AdSense を連携する

Google Analytics と AdSense の連携はアナリティクスの管理画面からできます。

Google Analytics と AdSense を Link する

セッション数や PV/UU などとアドセンス経由の収益の関係性を分析するために、この設定は必須ですね。

[Google Analytics]「セキュリティ上の問題が発生しました。ページを再読み込みしてください。 アカウントの認証情報を検証できません。アカウント情報を確認し、ログインし直してください。」の解決方法

Google Analytics で「セキュリティ上の問題が発生しました。ページを再読み込みしてください。 アカウントの認証情報を検証できません。アカウント情報を確認し、ログインし直してください。」というエラーメッセージが表示されたときの解決方法をご紹介します。

セキュリティ上の問題が発生しました。ページを再読み込みしてください。 アカウントの認証情報を検証できません。アカウント情報を確認し、ログインし直してください。

Google Analytics – セキュリティ上の問題が発生しました。ページを再読み込みしてください。 アカウントの認証情報を検証できません。アカウント情報を確認し、ログインし直してください。

複数の Google アカウントでそれぞれ Google Analytics を利用していると URL パラメータに固有の ID が、
https://analytics.google.com/analytics/web/?authuser=1#home/a21896103w50053525p50617345/
のように ?authuser=1#home/a21896103w50053525p50617345/ というように付いてしまいます。

例えば、この URL をブックマークしていると、別の Google アカウントでアクセスしたときにエラーメッセージが発生することがあります。

解決方法としては https://analytics.google.com/analytics/web/
のように URL パラメータを削除してアクセスすると「アナリティクス設定」のページをエラーメッセージ無しで、正常にアクセスできるはずです。

バックアップ用途としてオンラインストレージサービスを比較してみた

バックアップで利用している HDD 1TB をいつも持ち歩いてるのですが、調子が悪くて読み込めなくて焦るということが増えてきました。この HDD の中には消えると困るデータも入っているので、オンラインバックアップサービスを利用することを決めて、色々と検討した末に Google Drive を採用しました。

オンラインバックアップサービスに Google Drive を採用した理由

Google Drive は 20GB までなら無料で利用できますが、容量が足りないので 100 GB プランに上げて利用しています。100 GB プランだと月額 $1.99 です。全部バックアップした場合は 1TB にする必要がありますが、それでも月額 $9.99 で済みます。

Google Drive 100GB Plan

Google Drive 100GB Plan

オンラインストレージサービスの比較

他に検討したオンラインストレージサービスは以下の通りです。

Dropbox

1TB で ¥1,200/月 です。

有料プランがまず 1TB からなので 100GB もあれば充分という人には Google Drive を利用することをおすすめします。

OneDrive

1TB で $6.99/月と価格的には一番良さそうです。

もし Google Drive のプランを 100GB から 1TB にアップグレードする必要がでてきたときには OneDrive への移行も検討したいです。

ただ、1点だけ気になるのが OneDrive のサービスの使いやすさです。僕は OneDrive を全く利用したことが無いので Google Drive と比較してかなり劣るようだったら、安価だからという理由だけで OneDrive へ乗り換えるという選択肢はなさそうです。

MEGA

無料で 50GB のストレージが利用できるという点が素晴らしいです。

mega.nz pricing

mega.nz pricing

1TB 以上のプランを利用することが出てきたときに MEGA には、2TB 19.99 €/月 のプランがあるので Google Drive から乗り換えるという選択肢がでてくるかもしれません。

以前の Megaupload が違法ダウンロードサイトの巣窟になっていたので、Mega が同じ用途で利用されてサービス閉鎖に追い込まれないかだけがユーザ的には気になるポイントです。

Amazon S3

Web サービス開発での利用ではなく、単なるバックアップ用途として Amazon S3 だと価格はいくらぐらいになるか調べてみると意外と割高でした。

  • スタンダードストレージ $0.0300 /GB
  • 標準 – 低頻度アクセスストレージ $0.0125 /GB
  • Glacier ストレージ $0.007 /GB

標準で価格計算したとしても $0.0125 * 1TB (1000GB) = $12.5 と Dropbox と同程度でした。

B2 Cloud Storage

少し前に TechCrunch の「バックアップサービスのBackblazeがAmazon S3の1/4の料金でクラウドストレージサービスを立ち上げ」という記事で取り上げられていた Backblaze を利用すると 1TB 5$ とかなり低価格で利用できそうです。

$0.005 /GB なので $0.005 * 1TB (1000GB) = $5

今回、比較した中では最安価ですが Web アプリが使いにくいので個人用には向いてないと判断しました。例えば、ファイルサイズが 100MB を超える場合は Web からはアップロードできないので、CLI を利用するしかないというようなことです。

コストはかなり抑えられるので Web サービス開発で Backblaze を利用するのは良い選択かもしれませんね。

まとめ

オンラインストレージサービスはそれぞれ良い点・悪い点があるので、自分の用途にあったサービスを見極めて利用していけると良いですね。お金はそんなに掛けないで、大切なデータを守れるのがベストだと思ってます。

他に「このオンラインストレージサービスもオススメだよ!」という情報があればぜひコメントにて教えて下さい。