けものフレンズBBS NEO

フレンズ検索アプリを作りたい

275 コメント
views
81 フォロー

フレンズ検索アプリを作るスレ
開発予定地
https://japari-search.netlify.com/
フレンズ登録フォーム
https://goo.gl/forms/hU548UrMOMSChs9v2
仮一覧
https://docs.google.com/spreadsheets/d/1A_U2n4puTNDb_6ZC3zjpHybOnxzWT0uniPxliy3ybPc/edit?usp=sharing
全てはこのレスから始まった。
そろそろフレンズ検索ソフトが欲しいな、作ろうかな。
https://zawazawa.jp/minmi/topic/193
のレス377より)
で、実際に作りたいと思います。
現在Fusion Tableとgoogle apps scriptによる
webアプリケーションとしてのリリースを検討しています。
意見よろしくです。

ひねもす
作成: 2018/03/02 (金) 23:06:31
最終更新: 2018/04/01 (日) 23:54:59
通報 ...
  • 最新
  •  
205
ひねもす 2018/03/18 (日) 21:56:18

>> 204そういうことです。(お忙しい中技術協力していただけるだけでありがたいです。)
データ入力の手間から考えて、泳ぐ、飛ぶは「不明」にしときますね。

入力方法ですが、キャラごとにやるよりも項目ごとのほうが楽そうな気がしてきたので

○○は8話に出たか? → 8話に出たのは○○、○○

という感じでデータを集めていきたいと思います。
漫画,舞台,舞台イコラブ,ぱびりおん,コラボも含めたアニメ各話
についてはそんな感じで
生物分類については後日新しいフォームをご案内します。

206

了解です。
私はそれで問題ないと思います。

207
ふる奈 2018/03/18 (日) 21:59:14 >> 205

自分もそれでいいと思います
(最近入力できてなくて申し訳ないです)
正直な話、フレンズ単位で入力していくと各項目ごとに思い出すのが若干ゃ面倒だったので、改定ありがたいです

208
ひねもす 2018/03/18 (日) 22:11:07 >> 205

協力していただけるだけで本当にありがたいです。

それにしてもC言語書くと故郷に帰ってきた感あるなぁ。
※アップロードされた一覧からsqlの生成をC言語で書いてる。

209
ひねもす 2018/03/18 (日) 22:31:22

ふっはっはっはっは~
79項目だったのが143項目になって、あ行、20分でおわったぜ!
今までの労力なんだったのか分からなくなったぜ!

210
ひねもす 2018/03/19 (月) 11:53:55

登録フォームはこれから作成予定ですが、とりあえず分類未登録フレンズ名簿です。(常時更新されます。)
https://script.google.com/macros/s/AKfycbxQTTkOaQ7uonmvrgrkK42am3uvHyKBEmoDod_Jln2wypWvQrk/exec

211
むさし 2018/03/19 (月) 22:17:46

>> 210(通知のための安価なので内容は関係ないです)
今作ろうと考えているのですが、細かいところが見えていないのでどうしようか決めかねています。
例えば、どういったUIを想定しているのか?どういった使い方を想定しているのか?等です。
僕の方である程度勝手に決めるという方法もあるのですが、サーバのコードも依存してくるので進めにくい状態です。
かといって、詳細な仕様書書くほどでもないですし(しかもそれでも手戻りが発生して時間がかかりそう)、ここでやりとりするにも文字ベースだとレスポンスがスムーズじゃなく時間がかかってしまいます。
どうしましょうか。。。?
直接話せると早いんですけど。。。

212
ひねもす 2018/03/19 (月) 22:29:34

>> 211
難しい問題ですね。そもそもクライアントがそこまで明確でないですし。
ざっくりと
「絞り込む条件設定して」→「検索ボタン押して」→「フレンズの名前一覧が出てきて」→「フレンズの名前ぽちったら詳細な情報が表示される」
でいいんじゃないでしょうか?(フレンズ当てゲーム的には)
楽しいことが一番大事なので、むさしさんの楽しくなるようにやってください!それに合わせます。

213
ひねもす 2018/03/19 (月) 22:36:18

(ふと思った独り言)
OR検索はどうやって値の受け渡しをしよう…

214
むさし 2018/03/19 (月) 23:17:35

>> 212
単純に決められることは僕の方で決めているのですが、それでも相談したいことはあるんですよね。
それを説明するのに僕の中でもふわりとしか固まってないので、うまく文章で表現出来ない状態なんです。
例えば絞りこむところの条件もどう設定するのか?と言うのが僕の方では見えていませんし、ひねもすさんが懸念しているOR検索のこともあります。
OR検索はテーブル構造で回避する方法や、受け渡し方法で回避する方法色々あるのですが、これも一人では決めにくいです。。。
あと、OR検索はUIもかなりの難敵なんですよね。。。正直いい案がないです。。。
パラメータ量が多くてなかなか画面に収まらない上に、指定する方も混乱すると思います。
アニメに出ているのヒントだと1-12までORチェック入れて他のヒントの分も入れるので、ちょっとややこしく思います。
こんな感じで一人ではどうしても解決出来ないものが多くてつらいのだー
anime_araisan_tsuraisan

215
名無しのフレンズ 2018/03/20 (火) 07:35:02 4884f@0406f

プログラマーの大変さの片鱗が見えた気がする…

216
むさし 2018/03/20 (火) 08:36:12

それ以外にも、パラメーターの受け渡しももう少し情報が欲しかったり(なんの型のどんな値が入りえるのか)します。
それを文字ベースでやるのは時間がかかるように思います。
話せば一時間くらいで終わることも、文字ベースだと何日もかかってしまうので。
本当はこの細かい仕様云々の所はそこまで大切ではないので、サクッと終わらせて作りたいんですよね。

一回たたき台が出来てしまえば、細かい調整は都度聞けばいいのですが、たたき台出来るまでは辛いですね。
長々と失礼しました。

217
ひねもす 2018/03/20 (火) 09:14:29

Skypeという技を使いますか。
この掲示板用のアカウント取得して。
幸い、僕のほうはまだ春休みなので時間調整が利きます。

218

そうしてもらえるとありがたいです。
後でアカウントとります。

219

アカウント作るの面倒なら、これ使うのもありだと思います。何回か使ったことありますが、スカイプより品質いいです。
https://appear.in

220
ひねもす 2018/03/20 (火) 10:45:20 >> 217

アカウントをとるのはだるくないのですが、そのツールを試そうかな。

221
ひねもす 2018/03/20 (火) 19:38:09

@64f1608776都合の良いお時間を教えてください。

222

平日は時間調整が難しいので、今週なら土曜の夜か日曜でお願いします。

223
ひねもす 2018/03/20 (火) 21:30:40 >> 222

anime_lycaon_ryokai
よろしくお願いします!

224

時間は土曜の夜が個人的にはベストなんですが。

225

@hinemosu
と思ったのですが、明日休みんですね。知らなかったです。
明日でも大丈夫です。

226
ひねもす 2018/03/20 (火) 23:24:49 >> 222

あ、ほんとだ!
明日の20:00ごろにしますか。

227
228
ひねもす 2018/03/21 (水) 19:51:25 >> 222

部屋の作成お願いしてもよろしいでしょうか?

229
むさし 2018/03/21 (水) 19:57:57 修正 >> 222

>> 228
こちらでお願いします。
最初にマイクとカメラのアクセス求められるのでokにしてください。
デフォルトはカメラonなので、映って欲しくない場合は何かでカメラを隠してするにoffにしてください。
あと、これ他の人も参加出来てしまいますが、まあ問題ないと思います。
難しそうだったらskypeに切り替えましょう。

230
むさし 2018/03/21 (水) 20:47:41

@hinemosu
先ほど話した受け渡しパラメーターは以下のようで大丈夫でしょうか?
keyが受け渡しの時のjsonのkey、typeが型、rangeが取り合えう値とその説明です。
Array[Int]となっているのは、はいの場合の値を含めています。
いずれの指定がない場合はkeyを含みません。

名称 key type range
旧アプリに出ているか? nexon Int 0: いいえ
1: はい
漫画(フライ版)に出ているか? flyco Int 0: いいえ
1: はい
舞台に出ているか? stage Array[Int] 1: 無印
2:イコラブ
ぱびりおんに出ているか? pavilion Int 0: いいえ
1: はい
アニメに出ているか? anime Array[Int] 1~12:それぞれの話数
13:OP
14:ばすてき
15:けいばじょう
16:ふっくら
17:あにさま
能力 ability Array[Int] 1:泳げる
2:飛べる
旧アプリ属性 type Int 1: パッション
2: クール
3: ピュア
231
ひねもす 2018/03/21 (水) 21:11:49 >> 230

anime_lycaon_ryokai
それで行きましょう。

232
むさし 2018/03/27 (火) 01:00:43

@hinemosu
前にクライアントは他の人でもメンテナンスできるようjQueryでやりましょうと話しましたが、
後々辛くなりそう(例えば受け取ったデータをソートする時など)なので、別のフレームワークに変えてもいいでしょうか?
今の所Vueというものを想定しています。
https://jp.vuejs.org/index.html

233
ひねもす 2018/03/27 (火) 07:37:53 >> 232

webのフレームワークには疎いのでお任せ致します。

234
むさし 2018/04/01 (日) 01:35:25

@hinemosu
webアプリ側のデプロイ先はこちらを利用しようと思っています。
https://www.netlify.com/
前デモで使ったgithub pagesでもいいのですが、こっちの方が開発のサイクル的に勝手がいいのでこちらにしたと思います。
近々ドメイン取得用の適当なランディングページを作りたいと思います。
名前の候補的には https://japari-search.netlify.com でいいでしょうか?

235
ひねもす 2018/04/01 (日) 11:39:10 >> 234

名前それでいいと思います!
なんか本格的になってきた!こっちも作業頑張ります!

236
むさし 2018/04/01 (日) 23:38:49

とりあえず、サブドメイン取得用のランディングページを作りました。
いつ完成するかは不明ですが、頑張りましょう。

Japari Search Project
This is a Japari Search Project Landing Page.
netlify

237
ひねもす 2018/04/01 (日) 23:45:40 >> 236

わーい!あした指定のパラメータに対応したSQL構文を作るコードを作成しますね!
配列が含まれているからJSONで受け取りでいいんでしたっけ?

238

はい、jsonで受け取りでお願いします。

239
ひねもす 2018/04/01 (日) 23:48:26 >> 237

anime_lycaon_ryokai
春休みもまもなく終わるからがんばろ

240

時間ある時でいいのでスレトップにurl貼っておいてください。

241
ひねもす 2018/04/02 (月) 22:20:26

@64f1608776
fusion tablesはsqlのORに対応していない…だと

242

anime_toki
ちょっと調べたときにそれっぽいことが書いてあったので、まさかとは思ってましたが…

243
ひねもす 2018/04/02 (月) 22:31:59 >> 241

ANDだけで作ったsqlを何回も流し込むことで解決できなくはないが
アルゴリズムが怠いので結構時間かかりそうです。
例:1話か3話か5話に出たフレンズを出すとなると
WHERE A1 = 1
WHERE A1 != 1 AND A3 = 1
WHERE A1 != 1 AND A3 != 1 AND A5 = 1
の結果を全部結合しなくちゃいけない。

244
ひねもす 2018/04/02 (月) 22:38:48 >> 243

アルゴリズムはいいとしても
クエリ頻度が増大してgoogleに拒否られる可能性ががが

245

フレンズって全部で何人いるんでしたっけ?
1000人くらいでしたら、foreachで回した方が早いような気がして来ました。
GASがどれだけメモリを割り当てられているか不明ですが、1000程度の配列なら問題ないはずです。

246
ひねもす 2018/04/02 (月) 22:44:02 修正 >> 243

そうですね。ポケモンよりは少ない400ちょいなので
fusion tables捨てて、オブジェクトで保持してforでぶん回したほうが早そうですね。
では、その方向で構築します。

追記
スプレッドシートを探索するほうがメモリ的に安全ですね。

247

fusion tables...あいつはいいやつだった...

248
ひねもす 2018/04/02 (月) 22:52:08 >> 243

グッバイfusion tables、
ちょっと費用かかってもいいからORに対応したら
また会いに行くよ。

249
クモハ223-2046 2018/04/02 (月) 23:30:49

なんかNEO随一の日本語でおkスレと化しておる...
け、結局のところ何を作ってるんですか?(完全について行けない
管理するデータベースとUIを担うWebページ、その間をSQLか何かで条件を渡すと該当するデータをJsonか何か(語彙力)で返してくれるWebAPIで結ぶ感じのシステムですか?
ていうかここ外野が発言していいのかな...

250
たべないでください⁽˙³˙⁾◟( ˘•ω•˘ )◞⁽˙³˙⁾ 2018/04/02 (月) 23:36:11

どういうアプリが出来上がるのか素人ユーザーに説明してくださーい

251
ひねもす 2018/04/02 (月) 23:39:27

外野発言常時OKです。
ざっくりと今までは
WEBページ(検索したい内容のリクエスト)WebAPI(データベースに渡す命令(SQL))データベース

252
ひねもす 2018/04/02 (月) 23:41:34 >> 251

だったんですが
今回データベースに使われているアプリケーションFusionTablesの使い勝手が悪い
(OR検索がしにくいうえに1日の検索回数にリミットがある)
ので
WebAPIからデータベースではなく、WebAPIそのものにデータを格納あるいはスプレッドシートから参照する形式に変更になりました。

253
クモハ223-2046 2018/04/02 (月) 23:43:58 >> 252

なるほど
WebページからAPIへの伝達はSQLではないんですね

255
ひねもす 2018/04/02 (月) 23:46:08 修正 >> 252

つまり
WEBページ(検索したい内容のリクエスト)WebAPIスプレッドシート
※WEBページAPI間のやり取りはJSONで行われます。

で、フレンズを様々な検索条件で絞り込むWEBページが出来上がります。

259
クモハ223-2046 2018/04/02 (月) 23:55:54 >> 252

>> 255
やはり伝達はJSONでしたか
んでAPIの中にデータを内包するという仕様へ変更しようとしているという感じですか

266
ひねもす 2018/04/03 (火) 06:48:16 >> 252

そういうことです。

254
Chromeに嫌われた男 2018/04/02 (月) 23:44:44

頭が悪いからか全くわかりません(°∀。)

256
ひねもす 2018/04/02 (月) 23:48:21 >> 254

ユーザー視点での要約
アニメ何話に登場したか?ネコ科か?とかの条件に当てはまるフレンズを
表示してくれるwebページを作ってる。

257
Chromeに嫌われた男 2018/04/02 (月) 23:50:40 >> 256

なるほど

258
むさし 2018/04/02 (月) 23:53:18

薄々書き込みずらいスレになってるなと思いながらも、何もせず申し訳ないです。

で、こんなにひねもすさんと私がここでやり取りをしているのは、webページとサーバ(上でいうとapi)のやり取りのルールを決めるのにかなり時間がかかっていたのです。
今はほとんど終わったので、あとは作るだけ+データ入れるだけです。

260
クモハ223-2046 2018/04/02 (月) 23:56:55 >> 258

UI側とDB側はお二人が別々に作っているのですか?

261

そうです。
私がUIで、ひねもすさんがDBです。

263
クモハ223-2046 2018/04/03 (火) 00:35:44 >> 260

>> 261
なるほど
本当にそれっぽくてすごいなぁ

262
むさし 2018/04/03 (火) 00:08:08

一回この辺のwebに関する話を「フレンズと学ぶ〇〇シリーズ」にしようと考えたのですが、インターネットから始まると、もうボス以外のキャラが完全に聞き手になってしまったので諦めました。

269
名無しのフレンズ 2018/04/03 (火) 22:20:45 >> 262

図書館にインターネットが使えるPCがあるみたいな設定はなかなか面白そうですやんか
フレンズで学ぶシリーズにはこういうものもあることですしね

264
クモハ223-2046 2018/04/03 (火) 00:40:54

(もしAPIが外から使わせてもらえるのならできるかはさておき自分もクライアントを作ってみたいかもしれない)

265

実は私もandroidアプリを作ろうと考えていました…

267
ひねもす 2018/04/03 (火) 07:15:07 >> 264

いいですよ、そのためのwebAPIですから。
GASが耐えきれることを願いますが…。

268
クモハ223-2046 2018/04/03 (火) 21:42:00 >> 267

ありがとうございます

270
むさし 2018/04/13 (金) 08:53:38

レッドリストの欄もほしいですね。
(なお、私の作業は進んでないです…)

271
クモハ223-2046 2018/04/13 (金) 12:01:34 >> 270

学名があってもいいかもと思っていました
フレンズ紹介にはレッドリストと同じく大抵一緒に載っていますし

272
ひねもす 2018/04/13 (金) 13:49:38 修正 >> 271

いいですね。拡張するときにつけたい。進捗:検索システムはある程度できたかな。

273
むさし 2018/05/13 (日) 00:29:08

@hinemosu
こっちもぼちぼち進めるかと思ったのですがいくつか質問です。

  • webはpc向けonlyでしょうか?
    それともスマホもokでしょうか?
  • 検索一覧画面に表示される情報は名前と何目何科何属くらいで、いいでしょうか?
  • 検索結果が多い場合はページネーション(例えば100件ごとにページを変えるやつです)する感じでいいでしょうか?
    その場合、検索条件を投げるjsonに新しく何ページ目かのカラムが必要になります。
  • 検索に条件を何も入れないで検索するのはokでしょうか?
    何も条件なしで入力は、つまり全部の結果を返すことになります。
274
ひねもす 2018/05/13 (日) 07:50:17 >> 273

・そこまで大変さが増えないのであればスマホもOKで!
・それでお願いします。
・あったほうがいいですね。400件も並ぶと見るほうがつらい。
・それでお願いします。
りめんばーもありますので負担になりませんようごゆるりとお願いします。

275

了解です。
PCとスマホどちらも最適化するのは大変なので、どちらかに寄せて作ります。