Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
フレームワークのソースコードから知識を深める
Search
Tomoki Kawajiri
September 21, 2022
Technology
0
820
フレームワークのソースコードから知識を深める
https://rakus.connpass.com/event/256456/
Tomoki Kawajiri
September 21, 2022
Tweet
Share
More Decks by Tomoki Kawajiri
See All by Tomoki Kawajiri
プロダクトの成長に伴うAWSの利用サービスとアーキテクチャの変遷
weistom
0
820
Other Decks in Technology
See All in Technology
業務のトイルをバスターせよ 〜AI時代の生存戦略〜
staka121
PRO
2
200
re:Invent 2025 ふりかえり 生成AI版
takaakikakei
1
210
意外とあった SQL Server 関連アップデート + Database Savings Plans
stknohg
PRO
0
330
5分で知るMicrosoft Ignite
taiponrock
PRO
0
370
RAG/Agent開発のアップデートまとめ
taka0709
0
180
2025年 開発生産「可能」性向上報告 サイロ解消からチームが能動性を獲得するまで/ 20251216 Naoki Takahashi
shift_evolve
PRO
1
170
Python 3.14 Overview
lycorptech_jp
PRO
1
120
LLM-Readyなデータ基盤を高速に構築するためのアジャイルデータモデリングの実例
kashira
0
250
Database イノベーショントークを振り返る/reinvent-2025-database-innovation-talk-recap
emiki
0
190
会社紹介資料 / Sansan Company Profile
sansan33
PRO
11
390k
AWSを使う上で最低限知っておきたいセキュリティ研修を社内で実施した話 ~みんなでやるセキュリティ~
maimyyym
2
1.4k
マイクロサービスへの5年間 ぶっちゃけ何をしてどうなったか
joker1007
1
210
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.3k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
710
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1k
A Tale of Four Properties
chriscoyier
162
23k
4 Signs Your Business is Dying
shpigford
186
22k
The Pragmatic Product Professional
lauravandoore
37
7.1k
Mobile First: as difficult as doing things right
swwweet
225
10k
Building Applications with DynamoDB
mza
96
6.8k
For a Future-Friendly Web
brad_frost
180
10k
Transcript
フレームワークのソースコードから 知識を深める 株式会社おてつたび 川尻智樹
株式会社おてつたび リードエンジニア 川尻 智樹 @tomoki_kawajiri 前職の楽天のアクセラレーションプログラムを きっかけに代表の永岡と出会い、創業当初か らプロダクト開発全般に携わる。 現在は Rails
と React、楽天時代はバックエンド メインで Java や Python で開発
短期的・季節的な人手不足で困っている地域の方々と、地域に 興味がある方が出会えるマッチングプラットフォーム おてつたび 登録ユーザー数は2.3万人、 受入先は全国47都道府県 700事業者に拡大
こんなこと思ったことありませんか? • 大規模アプリや長期的にアプリを運用するためには、どのよう な設計がベストなのか • 既存システムやフレームワークに慣れて、同じような設計や コーディングスタイルになっている
参考書や記事を読んでも知識は広がるが 実運用をあまりイメージできない。。 こんなこと思ったことありませんか?
フレームワークのコードを追う フレームワークは情報の宝庫 何が得られるのか • 設計パターンの参考になる • 可読性について考えさせられる • フレームワークの知識が深まる •
デバッグスキルが上がる
設計パターンの参考になる • 依存関係 ◦ クラス同士の依存関係から、責務の分離の単位や継承の 関係性を探る • 全体像から把握 ◦ 点ではなく線でデータの受け渡しの流れを追えるので、新
たなレイヤーや概念に出会える • 新しい概念に出会えて実装方法もイメージもつけられる
設計パターンの参考になる 明確な責務の分離 ビジネスロジックのカプセル化 MVCと豊富な機能を提供 最低限の下地で柔軟性が高い おてつたびでは、ビジネスロジックがモデルやコントローラーに散らばっていた り、Fat化により保守性が下がっていた実情をTrailblazerの思想を一部導入する ことで改善しました
可読性について考えさせられる • ワンラインで書けるが、敢えて意味が分かる変数に代入して 複数行にしている • 行数は増えても、使用頻度の低いメソッドよりは高いメソッドを 使っている • 用途が違う場合は共通化していない などなど
フレームワークの知識が深まる • 新たなメソッドや応用パターンの出会い • コメントから正しい使い方を知る • 知らない設定値や継承できるクラス・メソッドが見つかり、選択 の幅が広がる
デバッグスキルが上がる • エラー内容から原因箇所へ早く辿り着けるようになる ◦ エラーメッセージやエラーが発生したクラス名に見覚えが ある ◦ データの流れを把握しているので、最短ルートで追うことが できる
デバッグスキルが上がる ひいてはこれを使うとこのエラーハンドリングも必要だと事前に気 づけるようになり未然に防げるようになる
まとめ 答えは全てソースコードの中にある • フレームワークは大きなソースコードの塊と捉える、スケール できる設計にするために大事な責務の分離や可読性の参考・ 反面教師になる • 将来発生しそうな問題点を知ることができる
まとめ 可読性 • 大規模アプリをチームで運用するにあたり可読性を下げる要因 • 深すぎる継承や依存によるブラックボックス化 保守性 • 最小限でコード修正できる書き方 •
ユースケースが違う場合は冗長を許容する • フレームワークの理解が深まりるので、多くの選択肢からソリューションを 提供できる
おてつたびでは、新しい旅の形を一緒に作っていく仲間を募集中です まずはカジュアルにお話ししましょう! 会社概要 Meety ありがとうございました