Submit Search
Upload
トランザクションスクリプトのすすめ
•
2 likes
•
3,007 views
pospome
Follow
トランザクションスクリプトのすすめ
Read less
Read more
Software
Report
Share
Report
Share
1 of 14
Download now
Download to read offline
Recommended
どこに何を書くのか?
どこに何を書くのか?
pospome
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
pospome
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
Koichi Tanaka
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
Mikiya Okuno
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
Atsushi Nakamura
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
増田 亨
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
Recommended
どこに何を書くのか?
どこに何を書くのか?
pospome
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
pospome
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
Koichi Tanaka
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
Mikiya Okuno
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
Atsushi Nakamura
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
増田 亨
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
Takuto Wada
ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門
増田 亨
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
Cognitive Complexity でコードの複雑さを定量的に計測しよう
Cognitive Complexity でコードの複雑さを定量的に計測しよう
Shuto Suzuki
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
Yoji Kanno
GraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ること
Shingo Fukui
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
Takuto Wada
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
Hiroshi Ito
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計
sairoutine
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
Itsuki Kuroda
継承やめろマジやめろ。 なぜイケないのか 解説する
継承やめろマジやめろ。 なぜイケないのか 解説する
TaishiYamada1
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
Atsushi Nakada
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
増田 亨
Guide To AGPL
Guide To AGPL
Mikiya Okuno
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
増田 亨
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
Takuto Wada
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
Koichiro Matsuoka
読みやすいプログラム、書き換えやすいプログラム
読みやすいプログラム、書き換えやすいプログラム
amusementcreators
C・C++用のコードカバレッジツールを自作してみた話
C・C++用のコードカバレッジツールを自作してみた話
simotin13 Miyazaki
More Related Content
What's hot
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
Takuto Wada
ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門
増田 亨
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
Cognitive Complexity でコードの複雑さを定量的に計測しよう
Cognitive Complexity でコードの複雑さを定量的に計測しよう
Shuto Suzuki
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
Yoji Kanno
GraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ること
Shingo Fukui
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
Takuto Wada
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
Hiroshi Ito
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計
sairoutine
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
Itsuki Kuroda
継承やめろマジやめろ。 なぜイケないのか 解説する
継承やめろマジやめろ。 なぜイケないのか 解説する
TaishiYamada1
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
Atsushi Nakada
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
増田 亨
Guide To AGPL
Guide To AGPL
Mikiya Okuno
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
増田 亨
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
Takuto Wada
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
Koichiro Matsuoka
What's hot
(20)
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Cognitive Complexity でコードの複雑さを定量的に計測しよう
Cognitive Complexity でコードの複雑さを定量的に計測しよう
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
GraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ること
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
Redisの特徴と活用方法について
Redisの特徴と活用方法について
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
継承やめろマジやめろ。 なぜイケないのか 解説する
継承やめろマジやめろ。 なぜイケないのか 解説する
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
Guide To AGPL
Guide To AGPL
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
Similar to トランザクションスクリプトのすすめ
読みやすいプログラム、書き換えやすいプログラム
読みやすいプログラム、書き換えやすいプログラム
amusementcreators
C・C++用のコードカバレッジツールを自作してみた話
C・C++用のコードカバレッジツールを自作してみた話
simotin13 Miyazaki
Clrh 110827 wfho
Clrh 110827 wfho
Tomoyuki Obi
テスト自動化読書会 第3章 20150523
テスト自動化読書会 第3章 20150523
dnoguchi
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
Tokuhiro Matsuno
良い?悪い?コードコメントの書き方
良い?悪い?コードコメントの書き方
Shigenori Sagawa
プログラミング初心者に ECMAScript(JavaScript) を最初の言語として勧めるべき? Meguro es6
プログラミング初心者に ECMAScript(JavaScript) を最初の言語として勧めるべき? Meguro es6
健太 田上
Djangoのススメ
Djangoのススメ
Alisue Lambda
開発者は仕事でリーダブルなコードを書けるのか?
開発者は仕事でリーダブルなコードを書けるのか?
Kouhei Sutou
Mizukiryu refactering-20110821
Mizukiryu refactering-20110821
Mizuki Yamanaka
【Hpcstudy】みんな、ベンチマークどうやってるの?
【Hpcstudy】みんな、ベンチマークどうやってるの?
Seiichiro Ishida
Code Reading at Security and Programming camp 2011
Code Reading at Security and Programming camp 2011
Hiro Yoshioka
大規模なJavaScript開発の話
大規模なJavaScript開発の話
terurou
Programming camp 2008, Codereading
Programming camp 2008, Codereading
Hiro Yoshioka
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
Hiroh Satoh
CLR/H第54回勉強会 ライトニングトーク
CLR/H第54回勉強会 ライトニングトーク
Jun-ichi Sakamoto
20130603 aspnet勉強会 実践的debugging
20130603 aspnet勉強会 実践的debugging
kumake
Programming camp code reading
Programming camp code reading
Hiro Yoshioka
LINTから理解するTDD
LINTから理解するTDD
Masafumi Sasaki
プログラミングを早くする方法
プログラミングを早くする方法
kazukiTakahashi18
Similar to トランザクションスクリプトのすすめ
(20)
読みやすいプログラム、書き換えやすいプログラム
読みやすいプログラム、書き換えやすいプログラム
C・C++用のコードカバレッジツールを自作してみた話
C・C++用のコードカバレッジツールを自作してみた話
Clrh 110827 wfho
Clrh 110827 wfho
テスト自動化読書会 第3章 20150523
テスト自動化読書会 第3章 20150523
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
良い?悪い?コードコメントの書き方
良い?悪い?コードコメントの書き方
プログラミング初心者に ECMAScript(JavaScript) を最初の言語として勧めるべき? Meguro es6
プログラミング初心者に ECMAScript(JavaScript) を最初の言語として勧めるべき? Meguro es6
Djangoのススメ
Djangoのススメ
開発者は仕事でリーダブルなコードを書けるのか?
開発者は仕事でリーダブルなコードを書けるのか?
Mizukiryu refactering-20110821
Mizukiryu refactering-20110821
【Hpcstudy】みんな、ベンチマークどうやってるの?
【Hpcstudy】みんな、ベンチマークどうやってるの?
Code Reading at Security and Programming camp 2011
Code Reading at Security and Programming camp 2011
大規模なJavaScript開発の話
大規模なJavaScript開発の話
Programming camp 2008, Codereading
Programming camp 2008, Codereading
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
CLR/H第54回勉強会 ライトニングトーク
CLR/H第54回勉強会 ライトニングトーク
20130603 aspnet勉強会 実践的debugging
20130603 aspnet勉強会 実践的debugging
Programming camp code reading
Programming camp code reading
LINTから理解するTDD
LINTから理解するTDD
プログラミングを早くする方法
プログラミングを早くする方法
More from pospome
MicroServices & APIs
MicroServices & APIs
pospome
アプリケーションコードにおける技術的負債について考える
アプリケーションコードにおける技術的負債について考える
pospome
Datastore/Go のデータ設計と struct の振る舞いについて
Datastore/Go のデータ設計と struct の振る舞いについて
pospome
Goのシンプルさについて
Goのシンプルさについて
pospome
パッケージの循環参照
パッケージの循環参照
pospome
Controllerのbefore_actionにおける インスタンス変数セットについて
Controllerのbefore_actionにおける インスタンス変数セットについて
pospome
REST API のコツ
REST API のコツ
pospome
サーバサイドNodeの使い道
サーバサイドNodeの使い道
pospome
More from pospome
(8)
MicroServices & APIs
MicroServices & APIs
アプリケーションコードにおける技術的負債について考える
アプリケーションコードにおける技術的負債について考える
Datastore/Go のデータ設計と struct の振る舞いについて
Datastore/Go のデータ設計と struct の振る舞いについて
Goのシンプルさについて
Goのシンプルさについて
パッケージの循環参照
パッケージの循環参照
Controllerのbefore_actionにおける インスタンス変数セットについて
Controllerのbefore_actionにおける インスタンス変数セットについて
REST API のコツ
REST API のコツ
サーバサイドNodeの使い道
サーバサイドNodeの使い道
トランザクションスクリプトのすすめ
1.
トランザクションスクリプトのすすめ
2.
自己紹介 twitter pospome 読み方 ポスポメ 職種 サーバサイドエンジニア 興味 クラス設計全般, DDD ここら辺の技術に興味ある方は フォローしてくださると嬉しいです
3.
良いコード書くにはどうすればいい???
4.
経験を積む
5.
プログラミングにかかわらず “やったことがある” という経験は強い
6.
同じようなコードを10回書いたことがある人 と 1回も書いたことない人 ↑ コードに対する観点が異なる ex.パフォーマンス, 汎用性
7.
コードを2回書く仕組み トランザクションスクリプト & リファクタリング
8.
1.MVCのControllerに全処理をべた書き ・場合によってはSQLも直書きする ・モデルは可能な限り作らない ・同じようなコードはひたすらコピペ ・テストも書かない(というか書けない) ・大体PullRequest単位でやる 2.動作確認する ・curl or ブラウザ 3.リファクタリングする ・ここでちゃんと設計する
9.
新規実装以外の改修タスクも同じイメージ 既存コードに対して べた書き & リファクタリング
10.
メリット 1.必要な処理を理解した上でリファクタリング ・人間は賢くない ・最初から完璧なものを作れない ・考慮漏れだってある ・複雑さの可視化
11.
メリット 2.動くものを提供できる ・クライアントへAPIを最速で提供できる ・デモもできる ・フィードバックを得た上でリファクタリング できるかもしれない
12.
メリット 3.どこまでちゃんと設計するかを調整できる ・すべてを完璧に設計する必要はない ・ビジネスなのでコスパは大事 ・動くものはできている ・辛くなりそうならちゃんと設計しようの精神
13.
トランザクションスクリプトにもメリットはある やったことない人は是非やってみてください
14.
おわり
Download now