forget for get

覚えるために忘れる

リクルートの無料で使えるAI(A3RT)TextSuggestAPIを使ってみた

リクルートが無料で公開しているAI「A3RT」から、

TextSuggestAPIを使って、

リクルートのAI(A3RT)TextSuggestAPIちゃんと会話してみるアプリ

をつくってみました。

 

リクルートのAI(A3RT)TalkAPIちゃんと会話してみるアプリ」に引き続いて、

ちょっとした修正で完成。

f:id:lightwill:20170603231044p:plain

 

リクルートの無料で使えるAI(A3RT)TalkAPIを使ってみた

リクルートが無料で公開しているAI「A3RT」から、

TalkAPIを使って、

リクルートのAI(A3RT)TalkAPIちゃんと会話してみるアプリ

をつくってみました。

 

とっつきやすいように擬人化してみたのですが、

絵がヘタクソなので誰かに描いてもらいたい、、

 

f:id:lightwill:20170518003252j:plain

 

難しいことは何もしてなくて、ajaxで入力値を投げて、裏でTalkAPIにリクエストして、結果をそのまま返して、表示しているだけ。

 

実際会話してみて、

 

「おはよう」
→「おはようございます」
は基本として、

 

「恋人はいますか?」
→「ご想像にお任せします」
「寒いですね」
→「寒すぎて抱きしめられたいです」
など思わせぶりな発言も。

 

ドラえもん
→「どんな秘密道具が欲しいのですか?」
なんてピンポイントな回答も。

 

おもしろいシナリオとして、
「ゴキブリ好きですか?」
「食べられますか?」
「おいしいですか?」
「本当に?」
「きもい」
実際に試してみていただきたい。。

 

築地ッカソンでほしい物リスト公開サイトをつくりました

築地ッカソン vol.5 - connpass

に行ってきました。

 

築地の美味しい寿司が食べられるハッカソン、二度目の参加です。

 

そして、優勝してしまいました、メリークリスマス!

 

今回のテーマは「クリスマス」。

ということで、「プレゼンとウィッシュリスト」というWebサービスをつくりました。

 

子どもの頃、サンタさんにプレゼントをお願いしたと思います。

親に「良い子にしてないとプレゼントもらえないよ」とか言われて、

クリスマスの時期は特に良い子でいようと心がけていました。

 

そこで、サンタさんにプレゼントをお願いできるサイトをつくろうと決めました。

 

amazonほしい物リスト(ウィッシュリスト)という機能があります。

これ欲しいな、でも今買うのではないなというとき、備忘録として使える機能。

それだけではなく、

ほしい物リストを公開すると、それを見た誰かが買ってくれるかもしれない。

 

ブログにほしい物リストを公開したら本当に届いたという記事がたくさんヒットします。

これとかこれとか。

 

このウィッシュリスト機能を使えば、サンタさんにお願いが実現できる。

ブログにウィッシュリストを公開してる人はいるけど、

ウィッシュリストを公開するポータルサイトみたいなのはなさそう。

 

ウィッシュリストをただ公開しただけでは買ってもらえない。

どうしてそれがほしいのか、手に入ったらどう活用していくのかなどを

プレゼンすることによって買ってもらえる可能性を上げる必要がある。

 

それはまるでクラウドファンディングのようだ。

 

プレゼンとウィッシュリストを公開してほしい物を手に入れちゃうサイト

プレゼンとウィッシュリスト」、ぜひ使ってみてください。

 

築地ッカソン当日はトップページと詳細ページにテストデータを表示するだけのプロトタイプでしたが、その後機能を実装していってひと通り動作するようにしました。

 

ハッカソンは時間が限られているので、発表に耐えられるだけの作品にするために、これは実装できる、これは一旦ダミーで置き換えるなど、判断しなければいけません。

今回は投稿機能はあきらめて、ダミーデータを使うことにして、UIの実装に時間をかけたのがよかったのかなと思います。

 

優勝商品はこんなのでした。

f:id:lightwill:20161220004117j:plain

エゾシカの肉!

 

また、クリスマスバージョンということで、寿司だけではなくケーキもふるまわれました。

f:id:lightwill:20161220004438j:plain

 

また次回も参加したいなと思う築地ッカソンでした。。

第4回CodeIQ感謝祭「CodeIQ夏の陣」

第4回CodeIQ感謝祭「CodeIQ夏の陣」に行ってきました。


Rubyの開発者まつもとゆきひろさんの話。


「許可を求めるな、謝罪せよ」
「この新技術を使うとよりシステムが良くなると思うんですけど、やっていいですか?」
と上司に言っても、失敗するリスクを考えると、上司は断らざるを得ない。
だから、勝手にやって成功した後に上司に報告する。
成功していれば上司は認めてくれる。

 

実際の経験談。
3ヶ月間アプリのコードを1行も書かずにライブラリをつくった。
その間周りはみんな大丈夫かとドキドキしていた。
その後1ヶ月でアプリを完成させ、上司に「1ヶ月余りました」と報告した。

 

憲法改正が話題になってるけど、修正範囲が広すぎるという理由でリジェクトしたい。
憲法GitHubで管理すればいい。修正箇所はdiffで見たい。

 

生産性を上げればたいていの問題は解決する
人生の中のほんの短期間でブーストをかける。そこでハードワークして一気に生産性を上げてしまう。
そうすれば後の人生は楽できる。


ハードワークは悪だという風潮があるが、低い生産性で長時間働くのが悪。
無駄な時間がないとアイデアが生まれないから余裕は必要。

 

ラストワンマイル
ファイナルファンタジー14の開発で、攻撃をよけるのに何フレームの遅延まで許すのかが問題になった。
対象が日本だけなら、通信が高速なので問題にならないが、北米やヨーロッパでは通信が高速でない地域もあるので注意が必要。

 

UI・UXはゲームの方がはるかに進んでいる。
業務系のUI(例えばATMなど)は操作がわかりづらい。

 

プロトタイプの作り方は職種によって違う
エンジニア:実装にかかる工数を考えた実現可能なアイデアを出す
デザイナー:実現できるかどうかあやしいエレガントなアイデアを出す
プランナー:ビジネス的な成功を考えたアイデアを出す
これらをすり合わせたアイデアがいいプロトタイプ

 

マネジメントをやりたがらない人がいるけど、一度はやってみた方がいい。
マネージャーが考えていることがわかるようになると、エンジニアとしての価値が上がる。

 

チャットはOFFにする。無限に時間をとられるので。

 

懇親会では主に「一休」のエンジニアの人と話してました。
ガイアの夜明け」で見たことがあったので。
システムは主にC#で書かれてるそうで、でも一部ASP使ってるレガシーコードがあるそうです。
私の今の現場でもPHPのバージョンが古かったり、独自フレームワークのバージョンが古かったりといったレガシーコードがあって、タイムリーな話題。
前の現場では2~3年で.NETからPerlへ、PerlからPHPへシステムを完全移行してました。
なんでそんな無駄なことをするのかと思ってましたけど、古いシステムを使い続ける方がリスクだなと最近感じてます。

Apache Solrの使い方を日本語で

Apache Solrとは

Apache Solr(ソーラー)は全文検索エンジンです。
全文検索エンジンには他にElasticsearch、Groongaなどがあります。

Apache Solrの日本語のドキュメントがない、、

「Solr 入門」「Solr 使い方」と検索しても、日本語でよくまとまったものがみつからなかったので、
公式ドキュメント(英語)を見ながら、こんな感じでやると勉強しやすいというのを日本語でまとめてみました。

 

まずはチュートリアル

チュートリアルどおりにやると、だいたいどんなことができるのかわかります。

こちらからチュートリアルと同じバージョンをダウンロードすると、スムーズかと思います。

リファレンスで詳しく

チュートリアルの最後にリファレンスを読め、とあるので、リファレンスを読みます

こちらからPDFのリファレンスをダウンロードしてください。(Webで見れるのは最新バージョンのドラフトだけみたいです)。

 

英語だらけで挫折しそうになったので、目次だけ日本語にします。

  • はじめかた(Getting Started)※チュートリアルとだいたい同じ
  • 管理画面の使い方(Using the Solr Administration User Interface
  • ドキュメント、フィールド、スキーマのデザイン(Documents, Fields, and Schema Design)
  • アナライザー、トークナイザ、フィルターの理解(Understanding Analyzers, Tokenizers, and Filters)
  • インデックス、基本データの操作(Indexing and Basic Data Operations)
  • 検索(Searching)
  • Solrのパフォーマンスチューニング(The Well-Configured Solr Instance)
  • Solrの運用管理(Managing Solr)
  • Solrクラウド(SolrCloud)
  • スケーリングと負荷分散(Legacy Scaling and Distribution)
  • クライアントAPI(Client APIs)

 「管理画面の使い方」で画面からデータを登録する方法がわかります。

「検索」で検索の仕方がわかります。

登録するデータのつくり方は「ドキュメント、フィールド、スキーマのデザイン」と「インデックス、基本データの操作」を読めばいいです。

 

日本語の参考書

英語のドキュメントを時間をかけて読むより、日本語の参考書を読んだ方が早い気がする、、

[改訂新版] Apache Solr入門 ~オープンソース全文検索エンジン (Software Design plus)

テキストファイル(.txt)をiOS(iPhone)のブラウザ(safari)で開いた時の文字化け対応

テキストファイル(.txt)をiOSiPhone)のブラウザ(safari)で開いた時に文字化けしたので、その対応。

 

SJISでもUTF8でもダメでした。

結論、Unicodeだと文字化けしませんでした。

 

サクラエディタUnicodeでテキストファイルを保存して解決!

 

自作曲の歌詞をスマホをカンペにして見たい時に、

テキストファイルをサーバに置いて見たい時に困ったので、

今回調べました。

築地ッカソンでWebVRやってみた

築地ッカソン vol.4 ~VRをテーマにアプリを作ろう~

に行ってきました。

 

7時間くらいでテーマに沿った作品をつくる築地で行われるハッカソン
終わったら寿司が食べられます。

 

VRに興味はあって何かつくってみたいなと思っていたけど、
なかなかやる時間がない、
いや、時間はあるけど手をつけてない、、
ハッカソンに参加すればやらざるを得ないじゃないか!
ということで、参加しました。

 

WebVRについて調べてみると、
ThreeJS、Aframe、WebVR starter kit、VR Viewなどのライブラリがあるそうで、
(参照:WebVR はじめよう - Qiita

この中のMozillaが発表したAframeを今回使いました。

 

新しいWebVRフレームワークA-Frame入門 - Qiita

を参考に。

 

jsを読みこんで、
<script src="https://aframe.io/releases/latest/aframe.min.js"></script>

 

htmlタグのように書くだけで、
<a-scene>
<a-cube></a-cube>
</a-scene>

 

簡単に直方体が描画されます。
スマホだと向きを変えると、表示も変わります。

 

サンプルを動かしつつ、
どんなことができるのか確認しながら、
時間内でどんなことができそうか考えて、、

 

「VRで探せ!」というのをつくりました。

http://lightwill.main.jp/vearch/

 

画面上にランダムで現れるコイキングを探すというもの。

 

背景の全球画像はGoogleストリートビューアプリで撮影しました。
スマホのカメラで全球画像がつくれちゃうんですね。

 

時間内にはできなかったですが、
コイキングをみつけたら自動でリロード、
カーソルをモンスターボールに、
したかったです。

 

もうひとつ、
先日、お台場でやってる「DMMプラネッツ」に行ったときに撮ったパノラマ画像を360度で見れるのもつくりました。

http://lightwill.main.jp/vearch/planets

 

写真だとキラキラ感が薄れてしまいますが、
実際はキラキラして動いてるのが360度広がってるような世界です。
全球カメラで動画を撮ったりして見れたらいいですね。

 

今回、ハッカソンというものに初めて参加したのですが、
限られた時間の中で何かつくるというのは、
取捨選択を素早く行う必要があり、頭の回転も早くなるので、
短時間で急激に成長できる場だなと思いました。

 

参加者の中にはプログラム始めて1ヶ月です、みたいな人もいて、
誰でも参加できるような雰囲気です。

 

場所が築地ということで、寿司がとてもおいしかったです。
無料でおいしい寿司が食べられるというだけで素晴らしいイベントです!

 

というわけで、WebVRおもしろいのでやってみてはどうでしょうか?

 

ハッカソンおもしろいので参加してみてはどうでしょうか?

 

築地ッカソン facebookhttps://www.facebook.com/tsukijickathon