Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
自家製家計簿システム作って家庭内で運用してるはなし / homemade-household-...
Search
kxn4t
November 30, 2018
Programming
1.1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
自家製家計簿システム作って家庭内で運用してるはなし / homemade-household-account-book-system
社内LT大会での発表資料です。
kxn4t
November 30, 2018
Other Decks in Programming
See All in Programming
壊れたパーサから始める関数型設計と構成的なパーサ #fp_matsuri
raiga0310
2
210
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
4
1.1k
Welcome to the "Parametricity" 🏙️ − Generic だけど Specific な世界 −
guvalif
PRO
1
160
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
360
Hatena Engineer Seminar #37「言語モデルの活用に関する研究」
slashnephy
0
520
Prismを使った型安全な暗号化_関数型まつり2026
_fhhmm
0
120
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
7
1.8k
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
2
200
継続モナドとリアクティブプログラミング
yukikurage
3
560
The Bowling Game- From Imperative to Functional Programming - Part 1
philipschwarz
PRO
0
320
Claude Team Plan導入・ガイド
tk3fftk
0
180
任せる範囲はこう広がった / How the Scope of AI Delegation Has Expanded
nrslib
1
250
Featured
See All Featured
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
310
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Practical Orchestrator
shlominoach
191
11k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
410
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
940
My Coaching Mixtape
mlcsv
0
170
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
220
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
220
Transcript
自家製家計簿システム作って 家庭内で運用してるはなし 廣瀬翔遥 2018.11.30 @stylez社内LT
自己紹介 廣瀬翔遥(ひろせかなた) • もともとの専門は機械設計 • 新卒で入ったメーカーは田舎が嫌で辞めた • 都会に住むならITでしょ!と 適当にIT業界飛び込んで早3年2ヶ月 •
今期はけっこうアニメみてる • RELEASE THE SPYCE • ベルセブブ嬢のお気に召すまま • ひもてはうす • となりの吸血鬼さん • アニマエール! • うちのメイドがうざすぎる • 俺が好きなのは妹だけど妹じゃない • おこしやす、ちとせちゃん 見たいけど追い切れてない。。。 • 青春ブタ野郎~ • 寄宿学校のジュリエット(原作組 • アイカツフレンズ!(20話くらいまでは見てる • 色づく世界の明日から • SSSS.GRIDMAN • やがて君になる • ゴブリンスレイヤー • 転生したらスライムだった件 • SAO • ゾンビランドサガ 言語:PHP、C#、Java、Javascript 最近はVue.jsとかフロント周りが好き VueFes行ったり勉強会もちょくちょく # そろそろいい加減開発やりたいやりたい
突然ですが、
家計ってどう管理してますか?
弊家では • 共働きなので家計はひとまず折半したい • 2人ともエンジニア • 折半できるアプリないかなと探してみたけどなかった (もしあるなら教えてください。。。
どうしようー
None
ないんだったら自分で作ればいいのよ!
作りました
折半するだけのWebアプリ (弊家ではSaifuとか呼ばれてる)
折半できるWebアプリ • 仕様 • 言語:Java 8 • フレームワーク:Spring Boot 2.0
• 画面:Thymeleaf 3・mini.css • 認証:OAuth 1.0a • データ保存:zaim • 分担 • 自分:認証とか土台まわり • 嫁 :画面、計算まわり
技術選定理由 • なんでzaim? • 家計簿部分まで作るのはなんか違うのであるものを使う • レシート読み取りが便利 • APIが公開されている •
なんでJava + Spring Boot? • Javaやってなさすぎて忘れないように • 開発スピードが出ると思ったから(5、6人日くらいはかかったけど • なんでmini.css? • Bootstrapめんどくさいから別のを使ってみたかった(らしい
どう使っているか
登録 • スマホアプリから各々zaimに使った金額を登録 • アカウントは1つを共有 • 登録時、メモ欄に名前を記入 • どっちが使ったものかここで判断 レシート読み取って登録
認証 • 未認証だとzaimの認証画面にリダイレクト • zaimとはOAuth1.0aで認証 • 認証後、認証済画面へ遷移 • 以降はtokenで署名してzaimと通信 •
tokenはcookieに保持して再認証不要に OAuth1.0a Cookie oauth_token oauth_verifier
計算 • 集計期間を指定して実行 • 集計期間はLocalstrageに保存 • 各々がその期間でいくら使ったか集計 • どちらがどちらに何円払うか表示 •
メモで判断できないものもリストで表示 REST API view JSON response 集計期間 分割キーワード
こんなかんじ
運用 • 今は2~3か月に1回くらいで集計 • 集計するときは今のところローカルPCで実行 • 集計後はslackで共有
まとめ
作ってみて • 折半が楽になった • 勉強になった • OAuth完全に理解した • やっぱり作るのは楽しい
今後の改善 • Slack連携 • スラッシュコマンド叩いたら計算してくれるとか • 計算終わったら通知してくれるとか • サーバでの運用 •
その辺に転がしてるRaspberry Piに乗っけたい
快適に過ごすために他にも色々
ほかにもいろいろ • 予定共有 • Googleカレンダーをお互いに共有 • IFTTT使って、予定が追加されたらお互いのLINEに通知 • 言った言わないがなくなったので神 •
便利すぎてスケジュール帳を使わなくなった • ゴミの日通知 • 2週間に1回の燃えないゴミの日忘れがち • ファイル共有サーバ(NAS) • 取り込んだ音楽とか共有便利
自分たちの生活は 自分たちでよりよくしていく
ありがとうございました
- OAuth1.0の話 https://qiita.com/kxn4t/items/9f0f920e41e47bb2aaf4 - GitHub(認証部分だけ https://github.com/kxn4t/saifu