4月19日に公開された技術者のためのトークライブイベント「TechLION vol.12」のレポート記事を受け、早速「エンジニアが『好き』と伝えるためのAPI」が実装された。
技術者のためのトークライブイベント「TechLION vol.12」が、4月18日に開催された。イベントでは、「私のこと好き?」と聞く文系女子に対し、「APIを用意するから、不安になったらそこにアクセスしてよ」とまっすぐに答える「エンジニア思考」が注目を集めた。後日公開したレポート記事でも大きな反響があり、ついにはこんなコメントが寄せられた。
こうして、4月21日、「エンジニアが『好き』と伝えるためのAPI」が完成した。API開発者の@oh_sky氏によれば、「いつ彼女ができても大丈夫なように、このAPIを実装することにした」という。仕様・ソースコードは以下のとおり。
<?php
App::uses('AppController', 'Controller');
class YoshioriController extends AppController {
public function index() {
$message = '';
$lang = 'ja';
if(
isset($this->request->query['q'])
&& preg_match('/love/',$this->request->query['q'])
){
//英語対応
$lang = 'en';
$message = 'I love you.';
}
else if(
isset($this->request->query['q'])
&& preg_match('/((好|す)き|愛してる)[\??]?/u',$this->request->query['q'])
){
//レスポンスのデフォルトは日本語
//レスポンスにランダム性を持たせる
$message_ary = array(
'好きだよ。',
'愛してる。',
);
$message = $message_ary[mt_rand(0,count($message_ary)-1)];
}
else{
$message = 'ん?';
}
$response = array(
'lang'=>$lang,
'message'=>$message,
);
//jsonで返す
$this->set('response',$response);
$this->viewClass = 'Json';
$this->set('_serialize','response');
}
}
実際に、API使用例として挙げられている http://oh-sky-ohsky.sqale.jp/yoshiori?q=do+you+love+me にアクセスすると、 {"lang":"en","message":"I love you."} とレスポンスがある。また、日本語にも対応しており、「私のこと、好き?」と聞くと {"lang":"ja","message":"\u597d\u304d\u3060\u3088\u3002"} と日本語で返してくれるのも特徴だ。
現状の大きな問題点としては、不特定多数の人に「I love you.」「好きだよ。」とレスポンスしてしまうため人間関係のもつれが想定されるほか、質問内容の解析が不十分なため「リカコのこと、好き?」などと他の女性の名前を入力すると「好きだよ。」と浮気をあっさりと認めてしまうことだ。
文系女子は覚悟を。エンジニアの頭の中は、わけが分からなくて面白い。詳細は、GitHubに公開されている。
Copyright © ITmedia, Inc. All Rights Reserved.