ブログ

qiisearchとは何か、とみぎくんに聞いてみた。

こんにちは。dottのバックオフィス業務を担当している藤井です。

ノンプログラマーの私ですが、エンジニア同士で日常語りあわれる呪文…
開発の時に使っている技術や言語を少しでも理解して、仲間に入りたい!!
と思い会社で作っているサービスや、技術の話など興味のある事を

メンバーにインタビューしながら非エンジニア目線でつらつらと書いていきたいと思います!


【今日のお題】

Qiisearchについて

毎週金曜に行われる定例MTGで、「Qiisearch(キーサーチ)」という単語が結構飛び交っていて

何よりslackチャンネルで頻繁に表示されるこの筋肉野郎のアイコン何なの?
なんで上腕二頭筋に矢印??
と気になりまくっていたので開発担当のとみぎくんに聞いてみました!

藤井:とみぎくん、奥様の出産おめでとう!
忙しいところ申し訳ないのですが、突撃インタビューさせて下さい。
Qiisearchってナニ??
サービスができるまでの経緯や背景から、私でもわかるように教えて下さい!

とみぎ:ありがとうございます〜OKです〜^^(無茶振りに優しく対応する紳士)
一言で言うと、今社内ツールとして使用しているslackから
調べたい事を入力すると、Qiita:Team内の関連のある記事を検索できるっていうものですね。

藤井:ストップ!ここで一旦解説です!
slackとQiitateamは、dottで使用している社内ツールです。自宅や遠隔作業メンバーが多いdottは
業務中の連絡はslack、
日報や社内共有したい記事はQiitateamを使用して日々作業をしています。
使った事がない方は以下をご覧下さい。
slackとは(公式サイトへとびます)
Qiitateamとは(公式サイトへとびます)

とみぎ:…続けていいっすか?w
経緯としてはうちの社内制度の一つのmendy(メンディー)からはじまってます。

藤井:はいストップ!!また解説!
※mendy(メンディー)とは…社内でめんどくさいと思った事をslackにつぶやくと、その課題を解決した人が
賞金をゲットできるというdottの福利厚生(社内副業制度とも呼ばれている)です。

プログラムを書いてる時に、
開発に使いたい実装の記事を他メンバーが書いてたな〜見たいな〜
って事が結構あって。

でも毎回Qiitaまでアクセスして技術の記事を検索するのが手間だなぁと思って話してたら
そこからスラックで検索できるのあったらいいね〜っってなってメンディーに投稿したら
じゃあ、社内業務効率化できるように作ろっか!的な流れで開発がスタートした感じですね。

藤井:なるほど〜。じゃあ目的としては、「エンジニアの負担を減らすため」って事で合ってます??

とみぎ:そんな感じですね〜。
メンバーが情報共有や記録用に、技術的なネタを結構残してくれているんで、便利ですよ!
Qiitaのタグでも検索できるようになってます!
とりあえず、登録してやってみますか??

藤井:はい!オネシャス!

—————-登録作業手順—————-

Step.1
QiiSearchをSlackへインストール
ウェブサイトからSlackにQiiSearchをインストールします

  すると、↓のような画面に遷移するので、「許可する」をクリック 

Step.2
slackの画面に遷移し、マッチョなQiisearchが、どうやってslack連携するか案内してくれます。Qiisearchの言う事を忠実に聞かないとスクワット200回なので、よく読んで作業しましょう。

 QiiSearchをチャンネルへ招待
QiiSearchを使用したいチャンネルに招待します。

Step.3
お使いのQiitaTeamと連携/setup <QiitaTeamのID>
とコマンドを打ってQiitaTeamの認証を行います
(例)IDがdottの場合: /link_qiita dott  となります
QiitaTeamのIDは、QiitaTeamのページを開いたURLの○○○○○.qiita.comの○の部分になります 

クリックすると…

Qiitaの画面に遷移するので、「許可する」をクリック

slack画面でQiisearchが祝福してくれます。ナイス筋肉!

 Step.4
準備完了!
@QiiSearch <検索ワード> 
とメッセージすると、スレッドに検索結果を投稿してくれます


藤井:わぁ便利!イイね!!
これ、技術用でなくてバックオフィスの作業とかでも使えそうです。どんな技術で作ってるんですか?


とみぎ:ちょっと技術的な話になっちゃいますが、

 Slackからのイベントを受け取るための処理をCloudFunctions/Goで実装し、処理を行っています。
Googleが開発した、サーバーサイドでデータを保存したりするための言語です。 

フレームワークはKtorというものを使い、RestAPIをKotlinで実装。CloudFunctions/Goからリクエストを受け取り、Qiita記事の検索・結果の返却などを行っています。 

実装の仕組みはこんな感じになってます!


藤井:
な…なるほど〜。せっかく作ったから、社外向けのサービスとしても使っていくんですか??

とみぎ:はい。slackアプリの審査も完了したのであとはリリース日を待つのみです!!
dott以外のスラックチームがあれば、インストールしてもらえれば無料で使う事ができますよ!


藤井:注意点とかはありますか?
とみぎ:んー…特にはないかな…むしろ申請とかでわかりにくい所とかあれば報告もらえたら嬉しいです!


あ、一点、今回のサービスはQiitaチーム内で使うサービスのものなので、
Qiita用の検索は今のところは未対応ですね!

藤井:ありがとうございました!それで一番気になってたとこなんだけど…なんで筋肉アイコンなの?

とみぎ:
良いコードは、良い筋肉から生まれるからです。