カテゴリー : 2016年 5月

MongoDB query でタブ文字区切りの文字列を出力させた結果をコピペするとタブ文字が消えることがあるのでファイル出力するのがベスト

本記事でお伝えしたいことはタイトルで完結していますが、先日 MongoDB の Query を書ける営業社員から「Mongo Query の出力結果を Google スプレッドシートに貼り付けると左に列がずれるのでコードレビューしてほしい」と相談されました。

結論としては query 自体には何も問題なく、タブ文字 \t 区切りで文字列を出力すると Mac の Terminal アプリからコピー&ペーストするときに折り返し位置によって \t が消えてしまうことがあるようでした。

ファイル出力すればタブ文字が消えてしまう問題は発生しないので、

mongo --quiet mydb script.js > example.csv

のような感じでファイルに出力して、これを Google スプレッドシートにインポートすると列がずれることがなくなりました。

もし、似たような問題が発生した方は Terminal アプリからのコピペの部分の挙動を疑ってみると解決するかもしれませんよ。

「渋谷ECミートアップvol.2」参加レポート #pbtech

「渋谷ECミートアップ」というタイトルに釣られて参加してきました。

渋谷ECミートアップ

ペパボが主催で「渋谷ECミートアップ」という名前を付けるのはどないやねんという話は置いておいて。

ノベルティのレポート

ペパボ ノベルティ

もらったノベルティたちです。

ペパボ ノート

ノベルティでノートをもらったので仕事で使いたいです。

イベント参加レポート

LT

LT の内容は「どんな感じで業務をやってるか」ということがふわっと分かる感じだった。特に EC は関係ない印象でした。

新卒1〜3年目でペパボに転職を考えてるエンジニア、デザイナーにとっては「ペパボで働くのはどんな雰囲気なのか?」ということがなんとなく分かって良いのかもしれません。

演劇「雨あがりの5月30日、月曜日の夕会」

シュールなネタでした。

懇親会

ペパボ ピザ

入社1週間目のエンジニアさんとひたすらお話しました。

「ほとんどの人が定時退社する」「残業してると上司から怒られる」というホワイト企業な話を聞いて、「すごいなー。でも、限られた時間の中でアウトプットを出さないといけないのでシビアな職場だなー」という好印象を受けました。

まとめ

もっと EC の話をしたかったです。

[Ansible] パスワードなしで SSH 接続できるサーバには ansible-playbook コマンドの -k, –ask-pass オプションを付けるとエラーになる

Ansible を使い始めて最初にハマったことは、パスワードなしで SSH 接続できるサーバには ansible-playbook コマンドの -k, –ask-pass オプションを付けるとエラーになるということでした。

ansible

ansible-playbook コマンドの help によると -k, –ask-pass は接続時にパスワードを求めるオプションみたいです。

$ ansible-playbook -h
Usage: ansible-playbook playbook.yml
 
Options:
  -k, --ask-pass        ask for connection password

以下、エラー時の実行結果です。

$ ansible-playbook -k -c paramiko -i hosts init.yml -vvv --extra-vars "user_password=$user_password"
No config file found; using defaults
SSH password: 
 
PLAYBOOK: init.yml ******************************************************
1 plays in init.yml
 
PLAY [setting SakuraServer VPS by root] ****************************************
 
TASK [setup] *******************************************************************
<128.199.213.164> ESTABLISH CONNECTION FOR USER: root on PORT 22 TO 128.199.213.164
 
paramiko: The authenticity of host '128.199.213.164' can't be established.
The ssh-rsa key fingerprint is 99a7fb117513602f560568e9d6daaa72.
Are you sure you want to continue connecting (yes/no)?
yes
fatal: [128.199.213.164]: UNREACHABLE! => {"changed": false, "msg": "Authentication failed.", "unreachable": true}
	to retry, use: --limit @init.retry
 
PLAY RECAP *********************************************************************
128.199.213.164             : ok=0    changed=0    unreachable=1    failed=0

公開鍵認証による SSH 接続設定をしていて、ログインパスワードが不要な場合は -k, –ask-pass オプションを付けると下記のように The authenticity of host ‘128.199.213.164’ can’t be established. というエラーが発生してしまいます。

$ ansible-playbook -h
Usage: ansible-playbook playbook.yml
 
Options:
  -k, --ask-pass        ask for connection password

-k オプションを付けずに ansible-playbook コマンドを実行すると正常に実行できました。

$ ansible-playbook -c paramiko -i hosts init.yml -vvv

以上です。

「自己割り当てIPアドレスのためネット接続ができません」エラーが発生したらルータの DHCP 割当数を確認すべきという教訓

タイトルで完結してますが、実際に今日ネットワークのトラブルシューティングしたお話です。

先日、ルーター機器を切り替えたのが原因で、物流倉庫内で使っている PC やモバイル機器から Wi-Fi に接続しようとすると、「自己割り当てIPアドレスのためネット接続ができません」というエラーが頻発するようになりました。

結論としては、切り替えたルータ Aterm WG1800HP2 の DHCP 割当数の上限は32台までと、Wi-Fi 利用機器に対してかなり少なかったという点でした。

AtermWG1800HP2 PA-WG1800HP2

Aterm WG1800HP2 が DHCP で割り当てるIPアドレスの範囲は以下の記事に詳しく書かれてます。

このルータから自動的にIPアドレスなどを割り振れる(DHCP)のは32台まで。
それ以上は、個々の機器に固定IPアドレスを割り振れば 32 + 221 = 最大253台まで接続できるようです。

元々、NTT からレンタルしていたルータ PR-500KI はより高性能だったので DHCP 割当数の上限という問題が発生しなかったんですけどね。

参考情報

[Windows10] L2TP/IPSec VPN クライアントの接続設定

Windows10 にて L2TP/IPSec VPN クライアントの接続設定について調査しました。

基本的な VPN 設定方法は下記の記事を参考にしました。

通常は上記の記事だけで無事に設定完了できるはずですが、Mac OS で VPN Server を構築してる場合はもうひと工夫という名の設定が必要になります。詳しくは下記の記事をご参考ください。

具体的にどういう手順でトラブルシューティングをしたかは、別に記事を書きます。