Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
StartupAngular2資料
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Satoshi Watanabe
November 26, 2021
Technology
78
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
StartupAngular2資料
Satoshi Watanabe
November 26, 2021
More Decks by Satoshi Watanabe
See All by Satoshi Watanabe
AIエージェントでのコーディングでわかった理解の重要性
sassy
0
40
最近作ったClovaスキルの紹介
sassy
0
360
作ったスキルの紹介
sassy
1
470
RxJSではじめるリアクティブプログラミング
sassy
0
100
Other Decks in Technology
See All in Technology
越境するなら専門用語を使うな高校校歌 / If you wanna cross border, you shouldn't use jargon
vtryo
0
140
Snowflakeのコスト最適化を支えるアーキテクチャ設計
ktatsuya
1
1.6k
開発投資の期待値を上げるプロダクトロードマップづくり ~プロダクトエンジニアが越境して事業を伸ばす~
kekekenta
1
180
目の前の楽しいが人生を変える - コミュニティの螺旋の歩き方と楽しむコツ / change your life
soudai
PRO
4
620
AIによるクリエイティブ生成を行う上での試行錯誤
plaidtech
PRO
0
150
AIエージェントの自己改善をどう設計するか / How to Design Self-Improvement for AI Agents
22mi
23
16k
AIに任せた品質は、誰が見立てるのか - AI時代のテストマネジメント
nakanao
2
400
え、こんなに早く改修できるの?──新人エンジニアとスクラムマスターの2人が語る、AI×アジャイル開発の現場
ysasago
0
130
【技術的負債conf】事業成長に伴う技術的負債の説明責任とAIによるモニタリング、認知的負債について
i35_267
2
1.6k
Slack上でインフラをトラブルシュートする! Agentic Platform Engineeringの第一歩
teru0x1
4
1.7k
Claude in Chrome 入門 / Introduction to Claude in Chrome
cielo1985
0
820
Claude Code本って、 読む必要あるの?
oikon48
2
460
Featured
See All Featured
Tell your own story through comics
letsgokoyo
1
1.1k
The Pragmatic Product Professional
lauravandoore
37
7.4k
The Limits of Empathy - UXLibs8
cassininazir
1
670
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
690
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Test your architecture with Archunit
thirion
2
2.4k
Automating Front-end Workflow
addyosmani
1369
210k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
580
The Curious Case for Waylosing
cassininazir
1
510
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.8k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
490
Skip the Path - Find Your Career Trail
mkilby
1
230
Transcript
Copyright © KAKEHASHI Inc. All Rights Reserved. Startup Angular
#2 KAKEHASHIでAngularを利用すること Satoshi Watanabe@株式会社カケハシ 2021/11/26
Copyright © KAKEHASHI Inc. All Rights Reserved. 本日の内容 Startup
Angularということで、 スタートアップ企業としてのカケハシがAngularをどのように活用して いったのかというお話をできればと思っています。
Copyright © KAKEHASHI Inc. All Rights Reserved. 自己紹介 渡辺悟史
(わたなべ さとし) 株式会社カケハシ エンジニア 担当はPocket Musubi開発 主にフロントエンドをメインに担当 twitter: @sassy_watson
Copyright © KAKEHASHI Inc. All Rights Reserved. 株式会社カケハシ 創業5年のスタートアップ
「日本の医療体験を、しなやかに。」のミッションのもと テクノロジーで日本の患者体験・薬局体験の向上に取り組む 日本の医療体験を、しなやかに。
約 6万 店 (コンビニの数:約5.3万店) 約 7億 回 調剤薬局の数 患者さんと薬剤師の1年間の会話数 処方された薬を受け取るところ
処方された薬について説明するところ 薬について相談するところ 自分の薬の重複や相互作用を確認するところ 自分の薬や体質の情報を管理するところ 薬を減らしたり、飲みやすくするところ 薬以外のことについて相談するところ 一般医薬品や介護用品を購入するところ 自宅を訪問して薬の管理・指導をするところ 患者さんがもつ薬局への印象 薬局業界を取り巻く環境 5 5 出典:処方箋受取率の推計_https://www.nichiyaku.or.jp/assets/uploads/activities/bungyo/s/R2suikei.pdf
厚生労働省は、薬局に変革を促している 6 対物業務 対人業務 出所: 厚生労働省 患者のための薬局ビジョン(https://www.mhlw.go.jp/stf/seisakunitsuite/bunya/kenkou_iryou/iyakuhin/yakkyoku_yakuzai/index.html) 6
7 患者さんへの提供価値を妨げている要因 創業後、400人以上の薬剤師へのインタビューで見えてきた課題 対人以外の業務が多く、 心と時間の余裕がない 処方箋だけでは患者さんの ニーズがわからない (患者コミュニケーションへの不安) 対物業務が多い 各患者さんに対して
何をどう話すべきか悩ましい (患者コミュニケーションへの不安) 「効率化」の課題 「患者関係性」の課題 人によって業務の質に バラつきがある 業務の標準化が 出来ていない 「標準化」の課題
8 患者さんと薬剤師の“医療体験”を変革するため 調剤薬局向けSaaS「Musubi」が誕生
9 対物から対人へ。門前からかかりつけへ。 そして、地域医療を担う存在へ。 薬局に求められる役割が大きくなるにつれ、負担も大きくなっている。
患者さんのための薬局づくりのパートナーとして、 複合プロダクトで「薬局DX」をトータルサポート。 医薬品発注 管理最適化
Copyright © KAKEHASHI Inc. All Rights Reserved. AngularとReact カケハシではAngularとReactのどちらかをチームで採用している
Copyright © KAKEHASHI Inc. All Rights Reserved. Angularをどこで使っているか •
Musubi ◦ Angular + Electron • Pocket Musubi(LIFF/薬局管理画面) ◦ Angular(Web) • Musubi Insight ◦ Angular(Web)
Copyright © KAKEHASHI Inc. All Rights Reserved. なぜAngularを採用したのか •
導入時はまだAngular2が出たばかりのころ ◦ ReactとAngularのシェアは当時差がほとんどなかった • 全部入り(routerだったりHttpClientだったり)のフレームワーク • TypeScriptを使うこと前提(静的型による開発上のメリット) ◦ TypeScript対応という観点で見た時に、当時のReactはまだ不安 ◦ Angularは基本TypeScriptを使う ◦ 型重要!型重要!
Copyright © KAKEHASHI Inc. All Rights Reserved. なぜAngularを採用したのか •
当時のReactはまだHooksがなかった ◦ Vertual DOMをいい感じに使うためのかなり薄いフレームワーク ◦ Flux的な議論やモジュール・コンポーネント切り分けのような開発規約におい て決定版と言えるようなものがなく「ぼくのかんがえたさいきょうの開発方法」 の模索で界隈が疲弊していると観測していた • AngularはAngular Wayが極めて明確 ◦ 公式の開発ガイドラインがある ◦ ソフトウェアエンジニアのスキルレベルによる実装手段のセグメンテーションが 起きにくく価値創造のための実装に集中しやすい ◦ 素早くリリースすることを重視!
Copyright © KAKEHASHI Inc. All Rights Reserved. まずはMusubiを開発 Musubiの知見を生かし
他のプロダクトを 高速リリース
Copyright © KAKEHASHI Inc. All Rights Reserved. 公式ドキュメントで基本的な開発方法はわかる!
Copyright © KAKEHASHI Inc. All Rights Reserved. Angularの良いところ •
ロジックはServiceに書いて、ComponentにDIさせれば良い ◦ できる限りロジックはServiceに書く ◦ テストはServiceでテストをやる • Componentもテンプレートとスタイル(HTML/CSS)とロジック(TypeScript)が分離さ れている ◦ デザイナーと協業しやすい(HTML/CSSを別で書いてもらえる)
Copyright © KAKEHASHI Inc. All Rights Reserved. RxJSは苦労する •
リアクティブプログラミングに慣れる必要がある • ここは、かなりの意識を変化させる必要がある(手続き型の書き方とは違う) • streamをいかに操作し、使うかが大事
Copyright © KAKEHASHI Inc. All Rights Reserved. RxJSでいかにがんばるかがポイント •
subscribeの中の関数にはできる限りロジックは書かない ◦ streamをoperatorでできる限り操作する(if文が出てきたらfilterを使う、等) • ネストはしない(switchMapやmergeMapを使おう) ◦ subscribeの中でのsubscribeも注意 • unsubscribeを忘れない ◦ テンプレートで表示するだけだったらasync pipeを使う • がんばりすぎて読みづらくなったら注意 ◦ 他の人が理解できないと結果バグの温床になる ◦ チームがRxJSに成熟する必要がある ◦ ペアプロ・モブプロで知見の共有を!
Copyright © KAKEHASHI Inc. All Rights Reserved. 状態管理 •
プロダクトで状態管理は異なっている • Musubiというプロダクトは内製reducer ◦ 状態管理のライブラリのデファクトが当時なかった ◦ といってもメンテナンスが大変 • Pocket Musubiのフロントのような小規模だと状態管理のライブラリは使わず、 BehaviorSubjectでがんばるという選択もある ◦ ngrxは too mach ◦ ただ大きくなってくると状態管理のライブラリが欲しくなる • 使う時はngrxを第1候補に
Copyright © KAKEHASHI Inc. All Rights Reserved. CSSライブラリ •
Musubiはmaterialize.cssを使う ◦ しかしこれは色々やろうとすると逆に邪魔になる ◦ angular2-materializeもメンテナンスされなくなる • Pocket Musubiはその反省からCSS関連はライブラリを使ってない
Copyright © KAKEHASHI Inc. All Rights Reserved. テスト •
単位テストは書ける範囲で書く ◦ Componentのテストはコストがかかるので無理しない • E2Eテストはコードを書くのは大変 • E2Eテストはmabl(テスト自動化ツール)を使う ◦ AngularフレームワークのE2Eテストは使わない
Copyright © KAKEHASHI Inc. All Rights Reserved. angular-cli •
angular-cliがものすごく便利 ◦ WebPackでがんばってた時が嘘のよう・・・・ • アップデートも ng updateで一発 ◦ renovateでversion upしないように気をつける
Copyright © KAKEHASHI Inc. All Rights Reserved. まとめ •
KAKEHASHIでAngularで導入・活用の話をしました • もっと話したいことはありますが、また別の機会に • これを機会に皆様と情報交換をしたいと思っています。 • よろしくお願いします。
Copyright © KAKEHASHI Inc. All Rights Reserved. 株式会社カケハシでは エンジニア採用を行っています。
興味がある方はぜひカジュアル面談か らお願いします。 https://recruit.kakehashi.life/engineer
Copyright © KAKEHASHI Inc. All Rights Reserved. ブログもあります 検索キーワード:カケハシ
技術ブログ
Copyright © KAKEHASHI Inc. All Rights Reserved.