SlideShare une entreprise Scribd logo
1  sur  24
アイマス駆動開発
2016.02.24 Shinjuku.rb #34
@treby006
自己紹介
• treby (Hiroaki Ninomiya) @treby006
• Portfolio: treby.info
• Space Market, Inc
• ユニークな場所でイベントやりたい等ありましたらお気軽に!
• Shinjuku.rb世話役
• LTでは枠と時間が余った時に登場します
アイマス駆動開発とは
• 2013年頃にノリで提唱
• アイマス(私の場合ミリオン寄り)好きな気持ちを開発モチベに利用
• 結構響き(とウケ)が良いので、事あるごとに使っている表現
• 多分この辺が初出:http://labs.gree.jp/blog/2013/12/10049/
• 最近の仕事上の実績 → アイマス曲を聴きながら作業 → アイマス駆動開発
• 自分よし、会社よし、ユーザーよしの三方よし
• まさしくHappy Hacking!! ヽ(•̀ω•́ )ゝ
◯◯駆動開発
• 「◯◯」に自分が好きなものを入れる
• それがコンテンツであれば一次供給者(公式)がある程度継続して企画してくれ
るものの方が長くワークしやすいかも
• 第三者に分かってもらえやすいため(承認欲求のような)
• その点でアイマスはコンテンツとして10年続いています
• 二次創作分野(同人)のネタ決めにも近い
• 「好きな気持ち」を仕事や趣味開発のモチベにできる
• WebスクレイピングやTwitter botなどはアイマスへのモチベから
アイマス駆動開発の結果を記事に
その反応
アイマス駆動開発はいいぞ
• 本質は単なる言葉遊び
• コミュニティでわいやわいやするのも含めて楽しい
• どちらか片方の素質(アイマス/開発)を持つ人と話すのは楽しい
• 両方の素質を兼ね備えている人と話すと超楽しい
• 結果として人生が面白くなったり何らかの貢献ができるのであれば
良いのではないか
• というわけで、今日はアイマス駆動開発メソッドで作ったrubimasにつ
いて紹介します
rubimasについて
• アイドルマスター(アイマス)のアイドルの基本情報をrubyちっくに取得できる
Gem
• https://github.com/imas/rubimas
• 中身はYAMLで定義された情報をhashie使ってメソッドちっくに参照
• rubicureにinspire
• rubicure → プリキュアのGem
• https://github.com/sue445/rubicure
• もともとはrubicureを写経 → 実装面にも強く影響
デモ
rubimasの利用
• http://mlborder.com/
• アイマスのゲームについてのサイト / Rails製
• 月間10,000PVほど → HerokuのFree dyno上で運用
• アイドルの情報が必要なところで利用
• 実質的にrubimasはこのサイトで使いやすくするために改修してい
る感がある……
rubimasの利用
アイドルの名前問題
• 従来のrubimasにおける「アイドルの名前」の取り扱い
• あくまで一要素、中身は単なるString
• 姓と名の間にスペースを入れておき、「名前」部分を取りたいときはsplitし
て取り出す。
• 大部分のアイドルはこのメソッドで問題なかった
• ただし、50人いるアイドルのうち、一部に例外があった
• 本名不詳なパターン
• 本名とアイドル活動時の名前が異なるパターン
対策:名前をclassに
• Idol::Nameというclassを準備
• アイドルの名前に関わるメソッドを持たせる
• 苗字・名前や読み仮名など(#familyや#givenなど)
• 本名とアイドル名が違う場合はa.k.aという概念でサポート
• to_sメソッドで欲しい名前を定義
• そのままIdol::Nameを画面表示などでStringに変換しようとした
際に適切な表現となるように。
Rails側の対応
• 変える前
• 変えた後
Rails側の対応
• 元々ActiveHashでwrap
• 単純なハッシュという感じでもなくなったので(Idol::Name)
• method_missingなものをrubimas側に移譲
• RailsからはARライクにアイドル情報を扱える
• 冗長なところ多いけど、まあメモリ上に展開されているデータだし
いいか、みたいな
まとめ
• 話したこと
• アイマス駆動開発
• アイドルを愛でるためのgem, rubimas
• 何か作っていると業務にも応用ききそうな問題にぶつかることがある
• ただし、趣味の場合は仕事と無関係に自分のペースで行えるのでや
らなくても良いが、やれば自分の力に。
• そのきっかけをくれる点で◯◯駆動開発メソッドは強力だと思う。
Happy Hacking!!

Contenu connexe

Tendances

Raspberry piでlチカしてみた
Raspberry piでlチカしてみたRaspberry piでlチカしてみた
Raspberry piでlチカしてみた
森下 智裕
 

Tendances (15)

写真の撮り方
写真の撮り方写真の撮り方
写真の撮り方
 
TImageList / TGlyph の使い方
TImageList / TGlyph の使い方TImageList / TGlyph の使い方
TImageList / TGlyph の使い方
 
さぼろうくん(仮) @ おばかIoT選手権 2016
さぼろうくん(仮) @ おばかIoT選手権 2016さぼろうくん(仮) @ おばかIoT選手権 2016
さぼろうくん(仮) @ おばかIoT選手権 2016
 
テレビさんというslack読み上げbotについて
テレビさんというslack読み上げbotについてテレビさんというslack読み上げbotについて
テレビさんというslack読み上げbotについて
 
1画面1Storyboardのススメ
1画面1Storyboardのススメ1画面1Storyboardのススメ
1画面1Storyboardのススメ
 
WEB業界でほしい人材とは? そしてWEB業界の実際
WEB業界でほしい人材とは? そしてWEB業界の実際WEB業界でほしい人材とは? そしてWEB業界の実際
WEB業界でほしい人材とは? そしてWEB業界の実際
 
Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話
 
はじめてのブログ論 Ver臼杵
はじめてのブログ論 Ver臼杵はじめてのブログ論 Ver臼杵
はじめてのブログ論 Ver臼杵
 
201503_LT_embulk_for_upload
201503_LT_embulk_for_upload201503_LT_embulk_for_upload
201503_LT_embulk_for_upload
 
さぁ、対話をしよう
さぁ、対話をしようさぁ、対話をしよう
さぁ、対話をしよう
 
リキッドレイアウトって何なのよ
リキッドレイアウトって何なのよリキッドレイアウトって何なのよ
リキッドレイアウトって何なのよ
 
IGDA日本ボードゲームAIワークショップ第1回「ガイスター」
IGDA日本ボードゲームAIワークショップ第1回「ガイスター」IGDA日本ボードゲームAIワークショップ第1回「ガイスター」
IGDA日本ボードゲームAIワークショップ第1回「ガイスター」
 
Raspberry piでlチカしてみた
Raspberry piでlチカしてみたRaspberry piでlチカしてみた
Raspberry piでlチカしてみた
 
ラジオのはなし~Co-Create一般社団法人化一周年記念イベント~
ラジオのはなし~Co-Create一般社団法人化一周年記念イベント~ラジオのはなし~Co-Create一般社団法人化一周年記念イベント~
ラジオのはなし~Co-Create一般社団法人化一周年記念イベント~
 
Substance勉強会 in Osaka
Substance勉強会 in OsakaSubstance勉強会 in Osaka
Substance勉強会 in Osaka
 

Similaire à アイマス駆動開発 #shinjukurb

「ダウンシフト」という越境〜成長を追い求めなくなってから見えてきたワクワク〜
「ダウンシフト」という越境〜成長を追い求めなくなってから見えてきたワクワク〜「ダウンシフト」という越境〜成長を追い求めなくなってから見えてきたワクワク〜
「ダウンシフト」という越境〜成長を追い求めなくなってから見えてきたワクワク〜
Chihiro Tomita
 

Similaire à アイマス駆動開発 #shinjukurb (6)

クソアプリ作った
クソアプリ作ったクソアプリ作った
クソアプリ作った
 
「ダウンシフト」という越境〜成長を追い求めなくなってから見えてきたワクワク〜
「ダウンシフト」という越境〜成長を追い求めなくなってから見えてきたワクワク〜「ダウンシフト」という越境〜成長を追い求めなくなってから見えてきたワクワク〜
「ダウンシフト」という越境〜成長を追い求めなくなってから見えてきたワクワク〜
 
ノベルゲームができるまでに ふたりでやったこと
ノベルゲームができるまでに ふたりでやったことノベルゲームができるまでに ふたりでやったこと
ノベルゲームができるまでに ふたりでやったこと
 
OSC 2012 HIROSHIMA
OSC 2012 HIROSHIMAOSC 2012 HIROSHIMA
OSC 2012 HIROSHIMA
 
広島で Ruby が流行らないのはどう考えても俺たちが悪い
広島で Ruby が流行らないのはどう考えても俺たちが悪い広島で Ruby が流行らないのはどう考えても俺たちが悪い
広島で Ruby が流行らないのはどう考えても俺たちが悪い
 
20190531 「運用自動化」のモデルを考える
20190531 「運用自動化」のモデルを考える20190531 「運用自動化」のモデルを考える
20190531 「運用自動化」のモデルを考える
 

Plus de treby

Plus de treby (20)

失敗から学ぶEM方法論
失敗から学ぶEM方法論失敗から学ぶEM方法論
失敗から学ぶEM方法論
 
Vue.js + Vuexチーム開発実践の事例
Vue.js + Vuexチーム開発実践の事例Vue.js + Vuexチーム開発実践の事例
Vue.js + Vuexチーム開発実践の事例
 
Frontendと向き合う
Frontendと向き合うFrontendと向き合う
Frontendと向き合う
 
Railsのフロントエンドのトレンドと実際〜事業を進めながら、レールに乗り続けるためのテクニック〜
Railsのフロントエンドのトレンドと実際〜事業を進めながら、レールに乗り続けるためのテクニック〜Railsのフロントエンドのトレンドと実際〜事業を進めながら、レールに乗り続けるためのテクニック〜
Railsのフロントエンドのトレンドと実際〜事業を進めながら、レールに乗り続けるためのテクニック〜
 
モダンJSでモダンなWebアプリケーションを作ろう!
モダンJSでモダンなWebアプリケーションを作ろう!モダンJSでモダンなWebアプリケーションを作ろう!
モダンJSでモダンなWebアプリケーションを作ろう!
 
Octocatは技術的負債の夢を見るか?
Octocatは技術的負債の夢を見るか?Octocatは技術的負債の夢を見るか?
Octocatは技術的負債の夢を見るか?
 
Shinjuku.rb #61 RubyKaigi2018予習
Shinjuku.rb #61 RubyKaigi2018予習Shinjuku.rb #61 RubyKaigi2018予習
Shinjuku.rb #61 RubyKaigi2018予習
 
The Art of Collaboration
The Art of CollaborationThe Art of Collaboration
The Art of Collaboration
 
楽しく学ぶ?API
楽しく学ぶ?API楽しく学ぶ?API
楽しく学ぶ?API
 
VueとdockerとAWSとチームとアイマスと私
VueとdockerとAWSとチームとアイマスと私VueとdockerとAWSとチームとアイマスと私
VueとdockerとAWSとチームとアイマスと私
 
アイマスハッカソン2017
アイマスハッカソン2017アイマスハッカソン2017
アイマスハッカソン2017
 
Sinatraで触れる生SQL
Sinatraで触れる生SQLSinatraで触れる生SQL
Sinatraで触れる生SQL
 
Railsフロントエンドの modernizeにおける一事例 ~decaffeinateからES2015移行まで~
Railsフロントエンドの modernizeにおける一事例 ~decaffeinateからES2015移行まで~Railsフロントエンドの modernizeにおける一事例 ~decaffeinateからES2015移行まで~
Railsフロントエンドの modernizeにおける一事例 ~decaffeinateからES2015移行まで~
 
最近のRailsフロントエンド開発の紹介
最近のRailsフロントエンド開発の紹介最近のRailsフロントエンド開発の紹介
最近のRailsフロントエンド開発の紹介
 
たたかうFFI
たたかうFFIたたかうFFI
たたかうFFI
 
mastodon API
mastodon APImastodon API
mastodon API
 
TH@NK YOU for SMILE!!とミリオンボーダーbot
TH@NK YOU for SMILE!!とミリオンボーダーbotTH@NK YOU for SMILE!!とミリオンボーダーbot
TH@NK YOU for SMILE!!とミリオンボーダーbot
 
Paperclip
PaperclipPaperclip
Paperclip
 
このみさんにPRしてもらう
このみさんにPRしてもらうこのみさんにPRしてもらう
このみさんにPRしてもらう
 
reading suture
reading suturereading suture
reading suture
 

Dernier

Dernier (10)

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 

アイマス駆動開発 #shinjukurb