投稿

3月, 2018の投稿を表示しています

XR (VR/AR/MR) 情報をあつめてTwitterにポストするbotを作った

イメージ
XR (VR/AR/MR) 情報をあつめてTwitterにポストするbotを作った 僕はTwitterで技術情報などをTweetしてくれるアカウントをフォローして空いた時間に流し見することで情報収集してるんですが、VRに関する情報を集めようとすると某社のアダルトVR動画の情報ばっかりヒットしてしまいます。 なので、アダルト系以外のXR情報サイトをスクレイピングし、定期的に記事のリンクをTweetするbotを作成しました。 XRNewsJP 収集した記事のURLを現在は10分毎にTweetしています。 (Herokuの無料枠内でやっているので、Tweet間隔は状況を見て調整予定) この記事では、このbotの概要について解説します。 システム仕様 XR情報サイトなどをスクレイピングするプログラム xr-news-scraping と、スクレイピングした記事をTwitterに投稿するプログラム xr-news-tweet-bot の2本構成となっています。 実際のソースコードは以下です。 Kazunori-Kimura/xr-news-scraping: XR (VR/AR/MR) に関するニュースを収集するスクリプト Kazunori-Kimura/xr-news-tweet-bot: XR-NewsJPのTwitterBot それぞれ Node.jsのCLIプログラムで、 Heroku 上で一定時間ごとに実行されています。 Heroku Redisは無料枠(Hobby Dev)では25MBしかメモリを使用できないので、記事情報はLISTに保持し RPUSH -> LPOP することで不必要な記事データが残らないようにしています。 スクレイピング cheerio-httpcli で対象ページをダウンロード ダウンロードしたページから記事リンクを抽出 タイトルとURLをHerokuのRedisに登録 同じURLを何個も登録しないように、RedisのSetにURLのハッシュ値を保持しておき、既に登録済みの記事は破棄しています。 TweetBot HerokuのRedisから記事データを取得 goo.gl でURLを短縮 1Tweetにタイトルと短縮URL, ハ

2018-03-17 ライトニングトーク会

イメージ
2018-03-17 ライトニングトーク会 毎月恒例ライトニングトーク会 2018/3/17(土) に毎月恒例のライトニングトーク会を開催しました。 今回は4名の参加者に来ていただきました。 人数は少ないながらも4名それぞれがLTをする活発なイベントとなりました! JavaScriptのimport/export 私のLTです。 JavaScriptのimport/exportについて CommonJS ModulesとES Modulesの解説とWebPack, Parcelの紹介。 JavaScriptのimport/export // Speaker Deck Parcelを使ってみた、の方が良かったかもですね。 毎月、npmで見つけた便利なツールの紹介LTの方が需要がありそうだ。 モブプログラミングについて 実際に業務でモブプログラミングを取り入れてみた効果と感想。 ペアプロ・モブプロは一度やってみたいと思いつつもフリーでやっていると機会がないので、実際にやってみたお話しは貴重ですね。 品質の向上に繋がったということなので、チームで開発する際には是非一度やりたいです。 Xamarin.Forms+Prism.Forms Xamarin FormsとPrismを使ってアニメ主題歌検索アプリを開発したお話し。 Prismというフレームワークをはじめて知りました。 Prismを導入することでXamarin FormsでDIが簡単にできる…という事でいいのかな? 後述のMRの話で、UWPアプリをVRの領域に表示することができるみたいなので、Xamarin+Prismで開発する機会が出てきそうな予感。 VR/MRゴーグルについて VR/MRゴーグルの紹介と、Windows Mixed Realityでできること、デモ動画の紹介。 VR/MRについてはWindowsがかなりリードしている状況ですかね。 いろいろなデバイスが出て価格が下がってくるのは嬉しいですが、様々なプラットフォームが出てくると開発者は困ってしまいますねー。 WindowsのUWPアプリをVRの領域に取り込んで表示するデモは、すごい可能性を感じますね。複雑な処理は外部アプリに投げて結果だけ受け取る事ができれば、VR

Unityと音声認識

Unityと音声認識 Unityでの音声認識による操作について調査したので簡単にまとめてみる。 お仕事になるかどうかまだ分からないので、さらっと検索しただけです。 Unityと音声認識 Unityから音声認識の機能を利用するためには以下の方法が考えられる。 クラウドサービスを使用する デバイスの機能を使用する 音声認識ライブラリを使用する クラウドサービスを使用する メリット 実装が容易 デバイスが違っても全く問題ない デメリット タイムラグがある (要検証) 従量課金 GoogleかIBM Watsonあたり? Azureは情報が少ない感じ。 デバイスの機能を使用する Unity から iOS の Speech で音声認識する - Qiita VRアプリで使える音声コマンドを簡単に実装してみる(Oculus Rift CV1 + Windows10) - Qiita Androidもできそう。 Mac/Linuxはなさそう? (VRアプリという観点からはMac/Linuxは無視しても良さそうだが) マルチプラットフォームとするのなら、デバイスの差異を吸収するようなラッパーを実装する必要がありそう。 メリット (対応デバイスの種類が少なければ)実装は容易 無料 デメリット 対応デバイスが増えると実装・テストが複雑になる 音声認識ライブラリを使用する Julius というオープンソースのライブラリがあり、それを使うのが良い感じ。 大語彙連続音声認識エンジン Julius julius-speech/julius: Open-Source Large Vocabulary Continuous Speech Recognition Engine Unity から音声認識ライブラリ JuliusLib を使うためにやったこと - Qiita chiepomme/julius-unity: Bridges between unity and juliuslib on windows editor and ios マルチプラットフォームとするのであれば、この方法が良いかも。 ただ、実装面では一番面倒くさい上に辞書なども含む