SlideShare a Scribd company logo
トランザクションスクリプトのすすめ
自己紹介
twitter
pospome
読み方
ポスポメ
職種
サーバサイドエンジニア
興味
クラス設計全般, DDD
ここら辺の技術に興味ある方は
  フォローしてくださると嬉しいです
良いコード書くにはどうすればいい???
経験を積む
プログラミングにかかわらず
“やったことがある”
という経験は強い
同じようなコードを10回書いたことがある人
と
1回も書いたことない人
↑
コードに対する観点が異なる
ex.パフォーマンス, 汎用性
コードを2回書く仕組み
トランザクションスクリプト
&
リファクタリング
1.MVCのControllerに全処理をべた書き
  ・場合によってはSQLも直書きする
  ・モデルは可能な限り作らない
  ・同じようなコードはひたすらコピペ
  ・テストも書かない(というか書けない)
  ・大体PullRequest単位でやる
2.動作確認する
 ・curl or ブラウザ
3.リファクタリングする
  ・ここでちゃんと設計する
新規実装以外の改修タスクも同じイメージ
既存コードに対して
べた書き & リファクタリング
メリット
1.必要な処理を理解した上でリファクタリング
 ・人間は賢くない
 ・最初から完璧なものを作れない
 ・考慮漏れだってある
 ・複雑さの可視化
メリット
2.動くものを提供できる
 ・クライアントへAPIを最速で提供できる
 ・デモもできる
 ・フィードバックを得た上でリファクタリング
  できるかもしれない
メリット
3.どこまでちゃんと設計するかを調整できる
 ・すべてを完璧に設計する必要はない
 ・ビジネスなのでコスパは大事
 ・動くものはできている
 ・辛くなりそうならちゃんと設計しようの精神
トランザクションスクリプトにもメリットはある
やったことない人は是非やってみてください
おわり

More Related Content

PPTX
Redisの特徴と活用方法について
Yuji Otani
 
PDF
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
 
PDF
イミュータブルデータモデルの極意
Yoshitaka Kawashima
 
PDF
Where狙いのキー、order by狙いのキー
yoku0825
 
PDF
PostgreSQLの行レベルセキュリティと SpringAOPでマルチテナントの ユーザー間情報漏洩を防止する (JJUG CCC 2021 Spring)
Koichiro Matsuoka
 
PDF
イミュータブルデータモデル(世代編)
Yoshitaka Kawashima
 
PDF
ドメイン駆動で開発する ラフスケッチから実装まで
増田 亨
 
PDF
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
 
Redisの特徴と活用方法について
Yuji Otani
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
 
イミュータブルデータモデルの極意
Yoshitaka Kawashima
 
Where狙いのキー、order by狙いのキー
yoku0825
 
PostgreSQLの行レベルセキュリティと SpringAOPでマルチテナントの ユーザー間情報漏洩を防止する (JJUG CCC 2021 Spring)
Koichiro Matsuoka
 
イミュータブルデータモデル(世代編)
Yoshitaka Kawashima
 
ドメイン駆動で開発する ラフスケッチから実装まで
増田 亨
 
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
 

What's hot (20)

PDF
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
 
PDF
ドメイン駆動設計に15年取り組んでわかったこと
増田 亨
 
PPTX
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
NTT DATA Technology & Innovation
 
PDF
ドメイン駆動設計 失敗したことと成功したこと
BIGLOBE Inc.
 
PDF
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
 
PDF
SolrとElasticsearchを比べてみよう
Shinsuke Sugaya
 
PDF
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Shin Ohno
 
PDF
できる!並列・並行プログラミング
Preferred Networks
 
PDF
マイクロサービス 4つの分割アプローチ
増田 亨
 
PPTX
分散システムについて語らせてくれ
Kumazaki Hiroki
 
PDF
組織にテストを書く文化を根付かせる戦略と戦術
Takuto Wada
 
PPTX
世界一わかりやすいClean Architecture
Atsushi Nakamura
 
PDF
ドメイン駆動設計 分析しながら設計する
増田 亨
 
PDF
デキるプログラマだけが知っているコードレビュー7つの秘訣
Masahiro Nishimi
 
PDF
ドメイン駆動設計サンプルコードの徹底解説
増田 亨
 
PDF
Javaのログ出力: 道具と考え方
Taku Miyakawa
 
PDF
マルチテナントのアプリケーション実装〜実践編〜
Yoshiki Nakagawa
 
PPTX
地理分散DBについて
Kumazaki Hiroki
 
PDF
例外設計における大罪
Takuto Wada
 
PDF
ドメイン駆動設計 本格入門
増田 亨
 
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
 
ドメイン駆動設計に15年取り組んでわかったこと
増田 亨
 
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
NTT DATA Technology & Innovation
 
ドメイン駆動設計 失敗したことと成功したこと
BIGLOBE Inc.
 
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
 
SolrとElasticsearchを比べてみよう
Shinsuke Sugaya
 
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Shin Ohno
 
できる!並列・並行プログラミング
Preferred Networks
 
マイクロサービス 4つの分割アプローチ
増田 亨
 
分散システムについて語らせてくれ
Kumazaki Hiroki
 
組織にテストを書く文化を根付かせる戦略と戦術
Takuto Wada
 
世界一わかりやすいClean Architecture
Atsushi Nakamura
 
ドメイン駆動設計 分析しながら設計する
増田 亨
 
デキるプログラマだけが知っているコードレビュー7つの秘訣
Masahiro Nishimi
 
ドメイン駆動設計サンプルコードの徹底解説
増田 亨
 
Javaのログ出力: 道具と考え方
Taku Miyakawa
 
マルチテナントのアプリケーション実装〜実践編〜
Yoshiki Nakagawa
 
地理分散DBについて
Kumazaki Hiroki
 
例外設計における大罪
Takuto Wada
 
ドメイン駆動設計 本格入門
増田 亨
 
Ad

Similar to トランザクションスクリプトのすすめ (20)

PDF
読みやすいプログラム、書き換えやすいプログラム
amusementcreators
 
PDF
C・C++用のコードカバレッジツールを自作してみた話
simotin13 Miyazaki
 
PPTX
Clrh 110827 wfho
Tomoyuki Obi
 
PDF
テスト自動化読書会 第3章 20150523
dnoguchi
 
PDF
Javaで1から10まで書いた話(sanitized)
Tokuhiro Matsuno
 
PDF
良い?悪い?コードコメントの書き方
Shigenori Sagawa
 
PPTX
プログラミング初心者に ECMAScript(JavaScript) を最初の言語として勧めるべき? Meguro es6
健太 田上
 
PDF
Djangoのススメ
Alisue Lambda
 
PDF
開発者は仕事でリーダブルなコードを書けるのか?
Kouhei Sutou
 
PPT
Mizukiryu refactering-20110821
Mizuki Yamanaka
 
PDF
【Hpcstudy】みんな、ベンチマークどうやってるの?
Seiichiro Ishida
 
PDF
Code Reading at Security and Programming camp 2011
Hiro Yoshioka
 
PDF
大規模なJavaScript開発の話
terurou
 
PDF
Programming camp 2008, Codereading
Hiro Yoshioka
 
PDF
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
Hiroh Satoh
 
PDF
CLR/H第54回勉強会 ライトニングトーク
Jun-ichi Sakamoto
 
ODP
どこに何を書くのか?
pospome
 
PPTX
20130603 aspnet勉強会 実践的debugging
kumake
 
PDF
Programming camp code reading
Hiro Yoshioka
 
PPTX
LINTから理解するTDD
Masafumi Sasaki
 
読みやすいプログラム、書き換えやすいプログラム
amusementcreators
 
C・C++用のコードカバレッジツールを自作してみた話
simotin13 Miyazaki
 
Clrh 110827 wfho
Tomoyuki Obi
 
テスト自動化読書会 第3章 20150523
dnoguchi
 
Javaで1から10まで書いた話(sanitized)
Tokuhiro Matsuno
 
良い?悪い?コードコメントの書き方
Shigenori Sagawa
 
プログラミング初心者に ECMAScript(JavaScript) を最初の言語として勧めるべき? Meguro es6
健太 田上
 
Djangoのススメ
Alisue Lambda
 
開発者は仕事でリーダブルなコードを書けるのか?
Kouhei Sutou
 
Mizukiryu refactering-20110821
Mizuki Yamanaka
 
【Hpcstudy】みんな、ベンチマークどうやってるの?
Seiichiro Ishida
 
Code Reading at Security and Programming camp 2011
Hiro Yoshioka
 
大規模なJavaScript開発の話
terurou
 
Programming camp 2008, Codereading
Hiro Yoshioka
 
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
Hiroh Satoh
 
CLR/H第54回勉強会 ライトニングトーク
Jun-ichi Sakamoto
 
どこに何を書くのか?
pospome
 
20130603 aspnet勉強会 実践的debugging
kumake
 
Programming camp code reading
Hiro Yoshioka
 
LINTから理解するTDD
Masafumi Sasaki
 
Ad

More from pospome (9)

PDF
MicroServices & APIs
pospome
 
ODP
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
pospome
 
PDF
アプリケーションコードにおける技術的負債について考える
pospome
 
PDF
Datastore/Go のデータ設計と struct の振る舞いについて
pospome
 
PDF
Goのシンプルさについて
pospome
 
PDF
パッケージの循環参照
pospome
 
PDF
Controllerのbefore_actionにおける インスタンス変数セットについて
pospome
 
PDF
REST API のコツ
pospome
 
PDF
サーバサイドNodeの使い道
pospome
 
MicroServices & APIs
pospome
 
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
pospome
 
アプリケーションコードにおける技術的負債について考える
pospome
 
Datastore/Go のデータ設計と struct の振る舞いについて
pospome
 
Goのシンプルさについて
pospome
 
パッケージの循環参照
pospome
 
Controllerのbefore_actionにおける インスタンス変数セットについて
pospome
 
REST API のコツ
pospome
 
サーバサイドNodeの使い道
pospome
 

トランザクションスクリプトのすすめ