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
5分で問診!Composer セキュリティ健康診断
codmoninc
0
890
AIが無かった頃の素敵な出会いの話
codmoninc
1
390
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
0
130
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
1
1.5k
Android CLI
fornewid
0
210
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
18k
Welcome to the "Parametricity" 🏙️ − Generic だけど Specific な世界 −
guvalif
PRO
1
200
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
540
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
3.5k
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
210
20260722_microCMSで考える、AI時代のコンテンツ運用設計
yosh1
0
370
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
480
Featured
See All Featured
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
490
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
Raft: Consensus for Rubyists
vanstee
141
7.6k
Deep Space Network (abreviated)
tonyrice
0
250
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
230
How to build a perfect <img>
jonoalderson
1
5.9k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Designing for Performance
lara
611
70k
WENDY [Excerpt]
tessaabrams
11
39k
Chasing Engaging Ingredients in Design
codingconduct
0
260
Visualization
eitanlees
152
17k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
980
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