[Slack] bot から @channel のような mention 付き投稿の記法

Slack bot で @channel や @everyone のようなメンション付き投稿は、そのまま書いても正常に動作しないので独自記法を使わないといけません。

Slack

成功例: という記法を使う

Slack bot 経由では以下のような記法を使うと、

'<!channel> Hello! Project'

下記のようにちゃんと mention として認識されるようです。

Slack bot @mention success

失敗例: @channel とそのまま書く

普段 Slack アプリから投稿するのと同じ感覚で、

'@channel Hello! Project'

と書いても Slack bot 経由では下記のようにちゃんと mention として認識されないようです。

Slack bot @mention failure

Slack 公式情報

Slack Help Center の Bot messages にも記載されていました。

Bot messages

If you wish to trigger one of these notifications with a bot message, the message should contain <!channel> or <!everyone>.

「Slack bot 作ったけど mention 付き投稿できない…」と悩んでいた方の助けになれば幸いです。

[SEO] モバイルフレンドリーを向上させることはドメインオーソリティを上げることに影響があるらしい

サイトのモバイルフレンドリーを向上させることはドメインオーソリティを上げることに影響があるそうです。

「どれぐらいモバイルフレンドリーなのか?」は Google 公式ツール「モバイル フレンドリー テスト」 で確認できます。

例えば、当サイトはセッションの 93% が PC なので、未だモバイル対応をしてないのですが「モバイル フレンドリー テスト」で確認してみた結果が以下のスクリーンショットです。

モバイル フレンドリー テスト

当然の結果ですが「モバイル フレンドリーではありません」というアラートメッセージと共に、いろんなアドバイスが表示されています。

このアドバイスを全部クリアしてモバイルフレンドリーを向上させて、ドメインオーソリティを上げて SEO 効果を見込みたいです。

ひとまず、当サイトもモバイル対応に取り組みます。

[Mac] Excel (エクセル) が遅いときの解決方法

仕事でバイヤーさんの業務改善をしていて「最近、Excel の文字入力が遅くて困ってる」という相談を受けて、解決方法を調べて実践したのでその手順をご紹介します。

Mac Office2011 Excel

事前準備 – Excel アプリを終了する

まず最初にすべきことは「Excel を終了する」ことです。

これを忘れていると、環境設定ファイルやキャッシュファイルを削除しても Excel が遅い問題は解決されません。

僕は実際に Excel を終了する手順を忘れてしまっていて「Excel 遅いの治らない…」という状況に陥りました。

フォントファイルの重複修正

  1. アプリケーションから Font Book アプリを開く
  2. All Fonts で全てのフォントを選択する
    Font Book - All Fonts
  3. Font の重複を解消する
    Font Book - Look for Enabled Duplicates

環境設定 plist ファイルの削除

  1. Finder から Shift + ⌘ + G を押してダイアログボックスに ~/Library/Preferences/ を入力する
    Finder - ~/Library/Preferences/
  2. 以下の環境設定ファイルを削除する
    com.microsoft.Excel.plist
    • com.microsoft.Excel.plist
    • com.microsoft.office.plist

キャッシュの削除

  1. Finder から Shift + ⌘ + G を押してダイアログボックスに ~/Library/Caches/ を入力する
    Finder - ~/Library/Caches/
  2. Microsoft フォルダを削除する
    Caches - Microsoft

まとめ

Excel for Mac の動作が重いときに解決する手順は以上です。

環境設定ファイルやキャッシュファイルを削除しないと遅くてまともに使えないなんて Excel ダメすぎだろー。

Google Search Console で co.jp や .com によって検索結果の切換えはできますか? #SEO

  • Q) google.com と google.co.jp の検索結果は異なりますか?
  • A) はい、異なります。さらに、検索したユーザーの接続元のIPアドレスや言語設定によっても変わります。
  • Q) Google Search Console で co.jp や .com によっての検索結果の切換えはできますか?
  • A) 私が知る限りでは、できないようです。

「UZABASE Meetup#3 〜チームの生産性を向上させる〜」参加レポート #UzabaseMeetup

「UZABASE Meetup#3 〜チームの生産性を向上させる〜」という勉強会に参加してきたレポートです。

UZABASE Meetup#3

オープニングLT

チームの生産性を下げる要因が2つある。

1. 役割を明確にし過ぎること

  • 視野が狭くなる。
  • 個人プレーになり連携がしにくくなる。

2. 責任の所在を決めてしまうこと

失敗したときの責任を考えてしまうのに時間を割くのは本当に無駄ですよね。

UZABASE Meetup#3 責任の所在を求めてしまう

“役割の線引を曖昧にし、成すべきことを俯瞰して見るべき。”

  • Q) 曖昧にすると特定の人に仕事の負荷が偏ったり、誰もタスクを拾わなくなったりするけど何か工夫してるのか?
  • A) 毎日 10 分はチームで会話して「こういうことに困ってるんだよ」とかリアルなコミュニケーションをとると、いい感じにチームが回った。

生産性を高めてハッピーライフを

なぜ「生産性」を重視するか?

なぜ「生産性」を重視するか?

  • スピードは競争力の源泉
  • 仕事以外の時間も大切に

ホント、この2つですよね。

chatopsのおかけでエンジニアがルーティンワークから解放された話

エンジニアで工数でやってると肝心な開発が進まない

  • Q) Push 通知以外で非エンジニアに chatops を導入できてる事例は?
  • A)

三位一体GitHub駆動開発

ZenHub を使っているのか。以前、使っていたけどページの表示処理が遅すぎて使うの辞めたけど Trello と比べてどうなんだろう?

  • Q) 以前 ZenHub を使っていたんですが表示が遅くてイライラしませんか?
  • A) 遅いという認識はある。

まとめ

懇親会のピザ

ユーザベース、エンジニア的にいい雰囲気な会社という印象でした。

Mac OS X El Capitan にアップグレードしたら hub コマンドが動かなくなったけど brew upgrade hub したら解決した

Mac OS X El Capitan がリリースされてそれなりに時を経たので、会社で使ってる Mac も El Capitan へアップグレードしました。

タイトルで終わってますが El Capitan にアップグレードしたら hub コマンドが動かなくなったのですが brew upgrade hub したら解決したので、似たようなエラーに悩まされた方は brew upgrade するといいですよ。

hub コマンドのエラー事例

いつも通り hub コマンドで github の pull-request を作成しようと思ったら、見たことのないエラーが発生しました。

$ hub pull-request -h myGitHubRepo:`git symbolic-ref --short HEAD`
/usr/local/bin/hub:75:in `initialize': wrong number of arguments (9 for 1) (ArgumentError)
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http.rb:1030:in `new'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http.rb:1030:in `proxy_uri'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http.rb:1017:in `proxy?'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http.rb:868:in `connect'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http.rb:862:in `do_start'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http.rb:851:in `start'
	from /usr/local/bin/hub:473:in `perform_request'
	from /usr/local/bin/hub:588:in `perform_request'
	from /usr/local/bin/hub:437:in `post'
	from /usr/local/bin/hub:371:in `create_pullrequest'
	from /usr/local/bin/hub:1760:in `pull_request'
	from /usr/local/bin/hub:1586:in `run'
	from /usr/local/bin/hub:2514:in `initialize'
	from /usr/local/bin/hub:2518:in `new'
	from /usr/local/bin/hub:2518:in `execute'
	from /usr/local/bin/hub:2569:in `<main>'

ネットで調べてみたところ 「hub のバージョンが古いと動かないので brew upgrade hub するといいよ」という内容を書いている isuue を見つけたのでそれ通り対応してみたら解決しました。

$ brew list | grep hub
hub
 
$ hub --version
git version 2.1.3
hub version 1.12.2
 
$ brew upgrade hub
==> Upgrading 1 outdated package, with result:
hub 2.2.3
==> Upgrading hub
==> Downloading https://homebrew.bintray.com/bottles/hub-2.2.3.el_capitan.bottle.tar.gz
######################################################################## 100.0%
==> Pouring hub-2.2.3.el_capitan.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
 
zsh completion has been installed to:
  /usr/local/share/zsh/site-functions
==> Summary
🍺  /usr/local/Cellar/hub/2.2.3: 9 files, 10.3M

OS アップグレードは何かしらハマりますね。

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

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

MongoDB

結論としては 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 割当数の上限という問題が発生しなかったんですけどね。

参考情報