「goo」の広報ブログ「gooの音」

「goo」広報担当が、みなさんにとっておき情報をお伝えしていきます!

小学生ラグビー大会【第4回シャイニングアークスカップ】大会レポート!

2018-03-22 | ★NTTレゾナントからのお知らせ

NTTコミュニケーションズ シャイニングアークスが主催となり、小学生ラグビーの普及、育成・発展及び選手同士の交流と競技力向上を促し、中学生ラグビーへの積極的な参加を図ることを目的としてスタートした「シャイニングアークスカップ」。
4回目となる今年はNTTレゾナントが協賛・共同運営社として参加しました。
近い将来日の丸を背負う“未来の日本代表”の熱戦や、シャイニングアークス選手との交流など大会レポートをご紹介します。

常総ラグビーフットボールクラブ田中薫くんの選手宣誓で始まったシャイニングアークスカップ。全45試合すべてに熱い闘志、勇者の姿がありました。

  

 

今年はシャイニングアークス選手が全チームの「スペシャルサポーター」として参加。選手やチームのお世話やアドバイスをするなどチームの一員として試合を盛り上げました!

 

 

見事優勝した常総ジュニアラグビーフットボールクラブ!
NTTコミュニケーションズ シャイニングアークス山本恭子部長より優勝カップの贈呈です。

またNTTレゾナント株式会社代表取締役社長若井昌宏より大会MVP賞の授与です。受賞した橋野遼くんにはトロフィーのほか、「シャイニングアークス 選手サイン入りジャージ」、gooのスマホ「g07++」とメグたんのぬいぐるみが贈呈されました!

今回、NTTレゾナントは協賛・共同運営者として参加し、同社のスポーツソリューション担当や若手社員を中心に、全社をあげて円滑な試合運営や楽しいイベント企画に務めました。

展示ブースではシャイニングアークスのオリジナルグッズ販売や、gooのスマホ「シャイニングアークスモデル」や対話ロボット「シャイニングsota」の展示、ワーママ向けアプリ「ままのわ」のサービス体験などのタッチイベントの他、みんなからのメッセージがひとつの形になる「モザイクメッセージパネル」も登場し、子供たちに喜んでもらいました。

 

 

 

今年は東日本大震災、熊本地震で被災したチームを招待し、計18チームに参加いただきました。ラグビーの持つ力が復興支援のパワーにつながるよう、NTTコミュニケーションズグループはこれからも取り組みを続けてまいります。

本大会レポートはNTTコミュニケーションズ シャイニングアークス公式サイトやShining Arcsカップ公式ブログでも掲載中です。併せてご覧ください!

NTT Communications RUGBY FOOTBALL CLUB:
http://www.ntt.com/rugby/news/2017/180312.html

ShiningArcs CUP公式ブログ:
https://blog.goo.ne.jp/sacup

いまトピ
https://ima.goo.ne.jp/column/article/5700.html

 


  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

gooニュースで選抜高校野球速報開始!

2018-03-19 | ★gooからのお知らせ

こんにちは!広報担当の成田です。

本日より、gooニュースで選抜高校野球速報ページをオープンしています。3/23より始まる選抜高校野球における試合結果を即日でお届けしています。

また、スポーツ紙10媒体、地方紙約40媒体からの高校野球関連の最新ニュースに加えて、ドラフト候補注目の選手にフォーカスしたオリジナルコラムや、名門校に関するコラムも併せてお届けします。

 

選抜高校野球速報はこちらから

https://flash.sports.goo.ne.jp/hs_baseball

 

gooニュースは約300メディアと提携し、国内ポータルサイトが提供するニュースサービスでは取り扱いメディア数において日本最多規模(NTTレゾナント調べ)となります。今までスポーツに関心がなかった方にもスポーツに親しんでいただけるよう、速報や選手にフォーカスしたコラムを配信し、gooニュースのスポーツコンテンツへの取り組みをさらに強化していきます。

 

 


  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

【エンジニアに訊く】「教えて!goo」の安定運用を続けるための「愛」のコードレビューとは?

2018-03-15 | ★もっと知りたい!NTTレゾナント

日本でインターネットの普及が急速に進んだ西暦2000年。ポータルサイトgooを代表するサービスのひとつである「教えて!goo」はその年に生まれました。昨年にはAIがユーザーの恋愛の悩みに答えてくれる機能を実装するなど、今もなお、進化し続けるサービスです。

約3,000万件のQ&Aデータを学習し、恋愛の悩みに答えるAI「オシエル」 


今回は、「教えて!goo」のエンジニアにインタビューを行い、サービスを安定して運用するためのコードレビュー*1の取り組みと、その開発文化に迫りました。
*1: ソフトウェア開発の工程で見過ごされた間違いをチェック・修正することを目的としている、ソースコードの検査を行う作業のこと

 

左:メディア事業部ソーシャルサービス部門 伊藤 恵吾
2003年にNTTレゾナントに入社。「gooニュース」をはじめ、gooの数多くのサービスの開発・運用に携わり、gooサービスの技術者を牽引。2015年からプライベートクラウド「Openstack」の導入など「教えて!goo」の開発・運用を技術リーダーとして担当。酒・旅・フットボールをこよなく愛する。

右:メディア事業部ソーシャルサービス部門 矢野 尊之
2016年にNTTレゾナントに入社。「教えて!goo」のエンジニアとして、Webサイト内の改善やアプリとのAPI連携等を開発。2017年5月にアプリ作成に携わり、iOSエンジニアとして訪日版「教えて!goo」のアプリをリリース。現在は、Web版、アプリ版の双方の開発を担当。

 


「教えて!goo」という大樹を育てるには

 

――今回は、サービス開始から18年経った今でも、AI導入や訪日向けサービス開始など、機能拡張を続ける「教えて!goo」がコードレビューに対してどのような取り組みを行っているのかを訊いてみたいと思っています。まずは、どのように開発を進めているのかを伺ってみたいのですが?

伊藤:
「教えて!goo」は運営開始から18年間機能を拡張し続けてきました。いまや、大小含め膨大な数の機能が枝分かれしている大樹のようなサービスです。

私たちはその大樹の枝をそのまま伸ばすような育て方をしていません。枝に不具合があれば、大樹の命に関わるシステムまで影響してしまうからです。そのため、枝のみを先に作ってしまい、それを接ぎ木していくようなイメージで大樹を育てています。こうすることで、枝と大樹を接合する際に、枝に不具合がないかを十分確かめることができます。

大きな1本の樹が「教えて!goo」のソースファイルの本流であり、私たちはそれを「trunk(トランク)」と呼んでいます。対して、接ぎ木するための枝が拡張する機能で「branch(ブランチ)」と呼んでいます。


――コードレビューはどのタイミングで行われるのでしょうか?

伊藤:
まさにbranchをtrunkに結合する前ですね。プルリクエストという他の開発者に変更を通知する機能を使い、他の開発者が変更された箇所に対してレビューを行います。

例外としてbranchがとてつもなく大きい場合は、プルリクエストより前にレビューを行います。これをプルリクエストの時に見てしまうと、レビューする範囲も膨大になってしまいます。また、そもそものシステム設計部分に問題があると、大きな手戻りになってしまいダメージもその分大きくなってしまうのです。

コードレビューのタイミングは接ぎ木をする直前

 

――コードレビューは人間が行っているのでしょうか?それとも自動化しているのでしょうか?

伊藤:
機械がチェックできる部分はなるべく自動化を進めるようにしています。「こういうコードの書き方はだめだよ」という指摘は今まで人間が行ってきたのですが、今はシステムが自動的に検知、指摘してくれるようにしています。自動化できない範囲を人間がレビューしていますね。


――なるほど。では、具体的にどういう部分を自動化しているのでしょうか?

伊藤:
自動化しているのは主にコード規約です。コードの書き方の癖や変数の長さなどを指摘してくれます。


――自動化を行うにあたり、何かツールを導入したのですか?

伊藤:
1年半ほど前から、WebアプリケーションのテストツールSeleniumを使っています。Seleniumはページ上のどのボタンをクリックするかなどを決めて、その動作を自動化することができ、その結果をチャット上に投稿してくれるツールです。

「教えて!goo」の本丸(最も重要な機能)は「質問する」「回答する」ということだと思っています。このSeleniumを使うことで、ブラウザで自動的に質問投稿や回答投稿ができるかという、まさに本丸の機能が正しく動作するのかを確認しているのです。Seleniumを導入してからは、「質問する」「回答する」という機能は一度も障害が起きていません。いまや、障害から本丸を守る真田丸*2のような存在です。
*2: 真田幸村が大阪城に築いた防御のための出城の名称

 


Selenium(真田丸)は本丸を守るツール

 


コードレビューとは「愛」である

 

――それでは、自動化されていない部分、人間がレビューを行う部分についての質問です。レビュワーになるには何か条件があるのでしょうか?

伊藤:
レビュワーになる基準はありません。全員がレビューしますし、全員がレビューされます。通常は、レビュワーは依頼して決めるのですが、みなさん忙しいので頼みにくいときもあります。また、レビュワーもセンスが問われ、属人化しがちになってしまいます。「この人に見てもらわないと気持ちが落ち着かない」みたいな状態になってしまうのです。
ということで、最近、苦肉の策でレビュワーをランダムで決めるチャットボットを作りました(笑)。「レビュワー募集」と打ち込むとランダムで人が決まります。当たった人が絶対にやるわけではないのですが。

インタビューの時にテストでレビュワー指名ボットを使うと、まさかの矢野さんが指名された(笑)。

 

――コードレビューの指摘は基本的にテキスト上で行うと思うのですが、テキストでの指摘だと高圧的に受け取られてしまうこともあると思っています。そこに対して配慮されていることはありますか?

伊藤:
コードレビューはおっしゃる通り、チャットサービス上で行います。やったこと、悩んでいることをテンプレート化しています。そこを重点的にレビュワーが見るようにしています。

特に指摘方法自体に具体的なルールを設けているわけではありません。例外として、お互いをリスペクトし合うということが唯一のルールということですかね。


――お互いをリスペクトし合うことがルール?

伊藤:
私の考えなのですが、コードレビューは「愛」なのですよ。


――愛…!?

伊藤:
そうです。「愛」です(笑)。

レビュワーも別の開発業務を担当しているのでもちろん暇なわけではありません。それなのに、時間を割いて他の人のコードを見なければいけません。レビュワーがその時間を割いてレビューしてくれるということ自体に、レビュイーはリスペクトを払わなければいけないと思います。

また、レビュワーも相手の成果物(コード)に対してリスペクトを払った上で、「こういう書き方の方が良いのではないでしょうか」とレビューすることが大事だと思っています。このお互いへのリスペクトこそが愛であり、愛こそが良い開発文化を醸成するのだと思っています。


――愛が良い開発文化を醸成する。まるで哲学みたいですね(笑)。それでは、昨年度にジョインしたばかりの矢野さんに質問です。前職のときもエンジニアだと伺っていますが、コードレビューはされていたのですか?

矢野:
いや、前職のときはコードレビューをする文化は無かったです。NTTレゾナントに来て初めてコードレビューというもの体験しています。


――コードレビューに対してどういうことを感じますか? 

矢野:
自分が書いたコードを相手に見てもらうことによって、技術向上に繋がっているという実感はあります。あと、「教えて!goo」のサービスは、開発段階でのバグが極端に少ないなという印象があります。開発段階での不具合はあるものの、ものすごく少ないというイメージです。  


――実際にコードレビューがサービスの安定運営に繋がっているのを実感されているのですね。

矢野:
そうですね。あと、プロダクトの品質保持だけではなく、副次的な効果も大きいと感じています。「教えて!goo」では全員がレビュワーであり、レビュイーなので、それぞれのシステムを全員が高いレベルで把握できています。


――なるほど。コードレビューがシステムの属人化を防ぐことに繋がっているのですね。では、逆にデメリットを感じることはありますか?

矢野:
デメリットは、やはり時間かかることでしょうか。自動化している部分のテストを私たちはユニットテストと呼んでいます。ユニットテストでは、機械が自動的にチェックできるようにするためのコードであるテストコードも自分で作る必要があります。慣れていないのもあって、そのテストコードを書くのにプロダクトコードの2倍弱ほどの時間がかかってしまうのです。



それでもコードレビューを行う理由


――2倍弱!?かなり時間がかかっていますね。

伊藤:
プロダクトコードとテストコードをきちんと書いた場合、一般的にその物量比はおおよそ1:2になります。単純にテストコードの方が長くなるわけで、当然、時間も大きくかかります。

プロダクトコードとテストコードの物量費

 

――時間がそれほどかかるのに、それでもコードレビューを続けるのは何故ですか?

伊藤:
コードレビューを行う理由は大きく3つあります。

1つは、バグがないかどうかの確認。「教えて!goo」のように、機能が多岐にわたり、ユーザーも多く抱えるサービスを安定運営するためには欠かせない取り組みだと考えています。

もう1つは、プロダクトの平準化です。誰がシステムを作っても一定の品質と規則が守られているものにするためです。
最後は、技術力の向上です。他の人が書いたコードを見ると、「この人はこういうコードを書くのか」「こういうコードの書き方があるのか」など、学ぶことはたくさんあります。

矢野さんがおっしゃっているように、自分が担当していないシステムも見ることになるので、チーム全体の知識レベル向上に繋がっていると思います。


矢野:
事実、私はコードレビューで自身の技術力の向上をとても感じていますね。

チーム内で技術力の高いメンバーが「こういう書き方の方がスマートですよ」と丁寧に教えてくださり、実際に自分のスキルにも繋がっているのを感じます。

多分、見る人が見るとまだまだだなと思われるコードを書いているときもあると思うのですが、皆さん親切に指摘してくれます。伊藤さんの言っていた「愛」を感じますね(笑)。 


――コードレビューが他のエンジニアの知見を吸収できる場も作り出しているのですね。コードレビューを行う開発文化というのはどのように作り出していけるのでしょうか?

伊藤:
そうですね。私たちエンジニアは生み出したプロダクトで評価される世界にいます。ですが、コードレビューというのは、プロダクトを作るための道具を作る作業です。

料理人に例えると、鍋磨きや、包丁を研ぐ作業ですかね。なので、そこに進んで時間を割こうという人は、なかなかいません。でも、実は良いプロダクトを作るためには、いい道具が必ず必要になります。そこに気がつけるかどうかですかね。 


――急がば回れのような考え方なのですね。矢野さんは、入社当初、コードレビューに抵抗は無かったのでしょうか?

矢野:
正直、色々と面倒だと思うことはありました。ただ、レビューされる度に、自分のコードの書き方に関する想いも変わってきているように思います。「動けばそれでいい」ではなく、「安定して運用するために」ということを意識するようになりましたね。知識も経験も豊富なプログラマーの方にレビューいただけたことで、考え方も変わってきましたなと思います。


――インタビューを通して、チームのコミュニケーションにもコードレビューが役立っているなと思ったのですが?

伊藤:
そうですね。何度も言いますが、コードレビューは決して楽な業務ではないです(笑)。なので、メンバーもできるだけ楽しんでできる雰囲気が生まれるようLGTM*3を使ったコミュニケーションも生まれていますね。
*3: looks good to me の略。コードレビューが終わった時に、その喜びを共有するためにノリの良い(バカらしい)画像を送りあうこと。

また、コードを管理するツールとしてGitHubを使っているのですが、その役割はコードの管理だけではないと思っています。私はエンジニア同士がコミュニケーションするためのツールだとも思っているのです。 


――なるほど。それでは、伊藤さんの想いとして、どういう開発チームになっていきたいですか?

伊藤:
メンバー間の信頼と個々の技術力を最大化させていきたいと思っています。メンバー間の信頼と個々の技術力はシンクロしていると思っていて、信頼しあえているチームの技術力は自ずと高くなり、技術力を上げていくことでお互いが信頼できる関係になると思っています。どちらが欠けても、「教えて!goo」という樹を枯らすことに繋がりますし、逆にどちらも伸ばすことで「教えて!goo」という樹が今よりもっと大きくなれるのではと思います。

 

――ありがとうございました。

 

 

【広報のあとがき】

コードレビューは「愛」と表現する伊藤さん。実際に「教えて!goo」の開発チームには優しい雰囲気を持った「愛」のあるメンバーが集まっています。彼らが開発している「教えて!goo」は、自分の知らない人が質問したことに回答するという「愛」から始まるサービスです。そのサービスを作っている開発チームの「愛」を、今回のインタビューで感じ取ることができました。

今後、「教えて!goo」という大樹がどのように育っていくのか、1人のユーザーとしても、とても楽しみです。



NTTレゾナントでは、「goo」を一緒に作るエンジニアやデザイナー、プロデューサーを募集中です!採用ページでは、実際のエンジニア社員へのユーザーインタビューや社内カルチャーを紹介していますので、ご興味があればぜひご覧ください。


  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

今日から使える!夕飯レシピのお悩み解消アプリ「ファミペコ」がリリース!

2018-03-14 | ★NTTレゾナントからのお知らせ

こんにちは!広報担当の佐藤です。

本日、NTTレゾナントから新しいレシピ提案アプリをリリースしました

その名も「ファミペコ」。気になる機能と使い方をご紹介します!

 

毎日の夕飯作りの悩みを解決、レシピ提案アプリ「ファミペコ」 

 


「ファミペコ」は、定番食材やお家の冷蔵庫にある材料から
その日のメイン料理を提案する、レシピ提案アプリです。

さらにアプリが提案した候補の中から気に入ったレシピを、
LINEで家族と共有しながら、一緒にメイン料理について話し合いもできます。

毎日の献立に悩む方はきっと多いはず。「ファミペコ」なら、
アプリからのオススメレシピと家族との会話で 、スピーディーに献立を決められますよ


▼ダウンロードはこちらから 
 URL: https://itunes.apple.com/jp/app/id1345852901

 ※2018年3月現在、iOS版のみで提供

 

「ファミペコ」の主な特徴

◆メイン料理を提案

今日のおすすめレシピを材料や定番料理にあわせて提案します。

 

◆プロの簡単レシピ

ファミペコで紹介する料理は、プロの料理研究家や調理師考案の
家庭でおいしく簡単につくれる料理です。季節ごとにレシピを追加していきます。

 

◆家族に共有

選んだレシピはLINEですぐに共有。
グループトークで家族と会話しながら今日のメイン料理を決められます。

 
ぜひ使ってみてくださいね


  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

3つのポイントキャンペーンが開催中!

2018-03-13 | ★gooからのお知らせ

こんにちは!広報担当の成田です。

現在、gooポイントが貯まるキャンペーンを3つ開催しています
gooポイントを貯めるチャンスですので、ぜひキャンペーンをチェックしてみてください

 

1.gooブログ 14周年記念キャンペーン(~3/22まで)

URL:https://point.goo.ne.jp/j/ssc/staticContents/show/cp_156

gooブログは3/9に14歳になりました!
これを記念し、gooでブログを書く皆様へ感謝をこめて、14万gooポイントの山分けキャンペーンを実施します。3/22までの期間中、gooトップページで“Welcome!スタンプ”を集めたgooブログユーザー様に、gooポイントをプレゼントします!

これを機会にブログを始めたユーザー様にもgooポイントをプレゼントします。ぜひふるってキャンペーンにご参加ください。


2.gooニュースアプリのアンケートで200ポイントゲット(~3/30まで)

URL:https://point.goo.ne.jp/j/grt/AAMenu/show

1/18に提供開始したgooニュースアプリ。Android版に続き、先週、待望のiOS版をリリースしました。これらのアプリをダウンロードしてgooポイントのアンケートに答えるともれなく即時で200gooポイントがもらえます!(アンケートの回答には、gooポイント会員になることが必要です。)

 

3.ツイートかリツイートでついつい当たっちゃうキャンペーン(~3/18まで)

URL:https://blog.goo.ne.jp/goothanks_team/e/ba611ab098ddc6a047edeb41485322e4

3/18までの期間中、gooサンクスチームが投稿する3つのキャンペーン対象のツイートについて、ツイートまたはリツイートをすれば、200gooポイントかgooオリジナルマグカップが当たります。プレゼントによってそれぞれの応募条件が異なります。詳しい情報は上記URLをご確認ください。 

 

たくさんのご応募をお待ちしています


  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

gooニュースアプリ iOS版を本日リリースしました!

2018-03-05 | ★gooからのお知らせ

こんにちは!広報担当の成田です。
2018年2月にAndroid版でリリースしたgooニュースアプリですが、本日ついにiOS版でも使えるようになりました

gooニュースアプリの特徴はずばり「大好きなものを心ゆくまで追いかけられる」です。
好きな芸能人や気になる時事問題など、好きなトピックをキーワードとしてフォローするだけで、最新ニュースが1つのタイムラインに集約されます。

あなたが好きなことを好きなだけ楽しめるニュースアプリ、ぜひ試してみてください!!

 

☆iOS版ダウンロードはこちら!
https://apple.co/2HXCb7g

☆Andoroid版ダウンロードはこちら!
https://play.google.com/store/apps/details?id=jp.ne.goo.app.news&hl=ja

 


  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする