この記事は旧ブログサービスからの移植記事です。
表示がおかしい場合があります、ご了承ください。
この記事はFUN Advent Calendar 2020 part1 5日目の記事です。
前回はしゅれぬこくんによる 統計検定2級に合格したのでやったことを書く でした。
早く本題が読みたいという方はこのリンクをクリックしてください。
公立はこだて未来大学
公立はこだて未来大学は北海道函館市亀田中野町116-2に本部を置く、 2000年に設置された比較的新しい大学です。
大学の特徴としては 校舎が綺麗、山の上にあって登校が大変、プロジェクト学習という特殊な講義がある、などが挙げられます。
大学の外観
そんな未来大学に通う学生、通称未来大生は普段どのような外食をしているでしょうか?
未来大生の外食事情
多くの未来大生は美原エリアと言うところに住んでいます。
美原エリアには多くの飲食店があります。ラッキーピエロ、マクドナルド、CoCo壱番屋、牛角などなど…
しかし、その中でも特に異彩を放つJapanese Traditionalな食品を提供する店舗があります。
そうです。スシローです。
手軽でおいしいスシロー
スシローとは函館市美原1丁目に位置する、筆者がドハマリしている回転寿司チェーンです。
美味しいネタが100円から楽しめる、筆者の思う最高の回転寿司屋です。
マップを見て分かる通り、スシローは未来大生にとってアクセスがとてもいいです。
実際のところ、自分の周りの友人(未来大生)がよくスシローに出向いているのを耳にします。
未来大生にとってスシローは重要な拠点です。
コロナ禍到来
皆さん御存知の通り、今年はコロナという単語を何度も聞く年になりました。
コロナ禍の影響で飲食店が閉店に追いやられるという話もよく聞きます。
「自分の好きなお店が潰れてはならない。スシローを利用して応援しなければ。」
そこで、おいしいだけでなくエキサイティングなスシローの寿司を食べるWebサービスを友人と考えました。
それが🍣乱数寿司🍣 です。
https://atria64.github.io/RandomSushi/
乱数寿司、それは乱数で食べるものを決めるもの。
寿司が食えるだけ幸せだと思え。
サイドメニューなども出てきます
つかいかた
まずは https://atria64.github.io/RandomSushi/ にアクセスします。
抽選
ボタンをクリックするとスシローのグランドメニューから一つ品目が選ばれます。
選ばれたら食べます。
お腹が一杯になったら終わりです。
このアプリは賢いので、料金の計算やカロリーの計算もしてくれます。
開発
詳しいことを話しても難しいと思うので、開発を行っている感を感じる程度の記述にしました。
開発期間
5時間ぽっきり
利用したもの
- GitHub Actions
- GitHub Pages
- C#/Blazor WebAssembly
- Radzen Blazor
GitHub Pagesへの自動Publish設定
はじめにGitHub Actions周りを終わらせました。
やる事というと .github/workflows
を頑張って書いたりいろいろです。
Blazor/WebAssembly製アプリをGitHubPages上で公開するにはbaseurl
などを変える必要があるためちょっと特殊な操作が必要になります。具体的には
- baseurlの変更
- launchSettings.jsonの編集
- ci.ymlの作成
が挙げられます。
launchSettings.json系の話題については [Blazor WebAssembly] launchSettings.jsonのapplicationUrlを変更してブラウザデバッグができなくなってしまったときの対処 に書いています。
ci.ymlの作成については今回は触れません。そのうち記事のネタで書くと思います。
JSONデータの作成
つぎに、スシローさんのグランドメニューからJSONデータを作成します。
乱数使って出すだけだから楽勝だと思った自分が憎い。
この作業で1.5hくらい溶けた気がします。
自動化してやろうかとも思いましたが、時間がないので手打ちで頑張りました。
おいしそう
JSONデータの受取&表示
Http.GetFromJsonAsync
をよしなに利用してJSONを受け取ります。
なんでもListにぶちこめば動く
ランダム選出・ロギング
ランダム選出にはSystem.Random
を利用し、ロギングには新しくFood
型を格納するListを宣言してよしなにやるだけです。かんたん。
すべての商品情報を格納しているfoodlsからひとつ引っ張るだけ
統計情報
C#にはLINQという強力なものがありますので、LINQを気持ちよく叩くだけで終了です。かんたん。
LINQについては昔スライドを作ったので、気になる方どうぞ。
Sumを叩くだけです
そんなこんなで完成しました。かんたんだね。
感想・今後
2020/12/04 23:54
もう6分しか時間がないです。あまりにも着手がおそすぎました。
というのもこのサービスを作る原案が決まったのは昨日(2020/12/03)の夜のことです。
来年のアドベントカレンダーはしっかり余裕を持って進めたいものです。
また、このアプリも改善できそうなところが多々あるので、気が向いたらアップデートを行っていきたいです。
次回、FUN Advent Calendar 2020 part1 6日目の記事はゆうとくんです。
シミュレーション系のなにかをやるらしいです。お楽しみに!
おまけ
そういえば、みなさん FUN Advent Calendar 2020 part1 1日目の やままくんの記事は読みましたか?
あの記事に出ているAくんは僕なのですが、ガチ比較のついでに僕もアロマを導入しました。
お部屋がおしゃれな香りに包まれました。幸せです。[EOF]