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
フレームワークのソースコードから知識を深める
Search
Tomoki Kawajiri
September 21, 2022
Technology
860
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
フレームワークのソースコードから知識を深める
https://rakus.connpass.com/event/256456/
Tomoki Kawajiri
September 21, 2022
More Decks by Tomoki Kawajiri
See All by Tomoki Kawajiri
プロダクトの成長に伴うAWSの利用サービスとアーキテクチャの変遷
weistom
0
860
Other Decks in Technology
See All in Technology
Driving AI Adoption Using In-House GPUs to Serve Qwen
po3rin
2
480
[2026-09-11]SREは誰のもの?運用エンジニアが始める 「SRE領域への越境」とチームの進化の軌跡 〜Road to NEXT CRE
tosite
0
120
The Agent Builder Loop from Daily Work to OSS
minorun365
PRO
3
120
「図書館」という名前のままでいいのか -Code4Lib JAPANカンファレンス2026 アンカンファレンス報告- / Code4Lib JAPAN Conference 2026: Unconference Report
ykiyota
0
160
Deploying a Full-Stack Bun-Native Framework on Cloudflare Workers
7nohe
0
130
AI時代だからこそ、スケールしないことをやろう
yutashigemura
1
130
Multica × 長期記憶:40個のミニプロジェクト管理
eiei114
1
240
アプリログインとWeb認証基盤をつなぐ ASWebAuthenticationSession 作法
shimastripe
1
190
From Vanilla Kubernetes to a Batteries-Included Platform: Developer Experience at 1,300+ Clusters
yosshi_
0
680
KPIだけでは評価できないプロダクトが考えるべき Evalsという第二の評価系 / Beyond KPIs: Evals as a Second Evaluation Framework for Products #PdEConf
aki_iinuma
4
3.9k
作品が生態系になった ─ Mini Tokyo 3D から世界へ
nagix
0
150
Microsoft 365 Copilot chat -tekoälypalvelun tietosuojaongelmat
hponka
0
650
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
330
Color Theory Basics | Prateek | Gurzu
gurzu
0
460
Ethics towards AI in product and experience design
skipperchong
2
370
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
4
620
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
560
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
520
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
820
The Limits of Empathy - UXLibs8
cassininazir
1
650
Transcript
フレームワークのソースコードから 知識を深める 株式会社おてつたび 川尻智樹
株式会社おてつたび リードエンジニア 川尻 智樹 @tomoki_kawajiri 前職の楽天のアクセラレーションプログラムを きっかけに代表の永岡と出会い、創業当初か らプロダクト開発全般に携わる。 現在は Rails
と React、楽天時代はバックエンド メインで Java や Python で開発
短期的・季節的な人手不足で困っている地域の方々と、地域に 興味がある方が出会えるマッチングプラットフォーム おてつたび 登録ユーザー数は2.3万人、 受入先は全国47都道府県 700事業者に拡大
こんなこと思ったことありませんか? • 大規模アプリや長期的にアプリを運用するためには、どのよう な設計がベストなのか • 既存システムやフレームワークに慣れて、同じような設計や コーディングスタイルになっている
参考書や記事を読んでも知識は広がるが 実運用をあまりイメージできない。。 こんなこと思ったことありませんか?
フレームワークのコードを追う フレームワークは情報の宝庫 何が得られるのか • 設計パターンの参考になる • 可読性について考えさせられる • フレームワークの知識が深まる •
デバッグスキルが上がる
設計パターンの参考になる • 依存関係 ◦ クラス同士の依存関係から、責務の分離の単位や継承の 関係性を探る • 全体像から把握 ◦ 点ではなく線でデータの受け渡しの流れを追えるので、新
たなレイヤーや概念に出会える • 新しい概念に出会えて実装方法もイメージもつけられる
設計パターンの参考になる 明確な責務の分離 ビジネスロジックのカプセル化 MVCと豊富な機能を提供 最低限の下地で柔軟性が高い おてつたびでは、ビジネスロジックがモデルやコントローラーに散らばっていた り、Fat化により保守性が下がっていた実情をTrailblazerの思想を一部導入する ことで改善しました
可読性について考えさせられる • ワンラインで書けるが、敢えて意味が分かる変数に代入して 複数行にしている • 行数は増えても、使用頻度の低いメソッドよりは高いメソッドを 使っている • 用途が違う場合は共通化していない などなど
フレームワークの知識が深まる • 新たなメソッドや応用パターンの出会い • コメントから正しい使い方を知る • 知らない設定値や継承できるクラス・メソッドが見つかり、選択 の幅が広がる
デバッグスキルが上がる • エラー内容から原因箇所へ早く辿り着けるようになる ◦ エラーメッセージやエラーが発生したクラス名に見覚えが ある ◦ データの流れを把握しているので、最短ルートで追うことが できる
デバッグスキルが上がる ひいてはこれを使うとこのエラーハンドリングも必要だと事前に気 づけるようになり未然に防げるようになる
まとめ 答えは全てソースコードの中にある • フレームワークは大きなソースコードの塊と捉える、スケール できる設計にするために大事な責務の分離や可読性の参考・ 反面教師になる • 将来発生しそうな問題点を知ることができる
まとめ 可読性 • 大規模アプリをチームで運用するにあたり可読性を下げる要因 • 深すぎる継承や依存によるブラックボックス化 保守性 • 最小限でコード修正できる書き方 •
ユースケースが違う場合は冗長を許容する • フレームワークの理解が深まりるので、多くの選択肢からソリューションを 提供できる
おてつたびでは、新しい旅の形を一緒に作っていく仲間を募集中です まずはカジュアルにお話ししましょう! 会社概要 Meety ありがとうございました