Suche senden
Hochladen
アプリがパッチにまみれたら
•
0 gefällt mir
•
1,437 views
Koichi ITO
Folgen
TokyuRuby会議11 (https://tokyurubykaigi.github.io/tokyu11/)
Weniger lesen
Mehr lesen
Ingenieurwesen
Melden
Teilen
Melden
Teilen
1 von 45
Empfohlen
AWS(Rekognition)と Pepperでご機嫌解析
AWS(Rekognition)と Pepperでご機嫌解析
Mitsuhiro Yamashita
Googleアナリティクス ランキング概要
Googleアナリティクス ランキング概要
AppBank
Bundler 2 の胎動
Bundler 2 の胎動
Koichi ITO
Stairway to The Pragmatic Rails Programmer
Stairway to The Pragmatic Rails Programmer
Koichi ITO
最軽の開発手法 dX 改
最軽の開発手法 dX 改
Koichi ITO
Railsアプリケーションプロジェクトでの読み書きそろばんの1周目、2周目とそれから
Railsアプリケーションプロジェクトでの読み書きそろばんの1周目、2周目とそれから
Koichi ITO
Ruby 2.4 / Rails 5.0に上げた際のパッチ5選
Ruby 2.4 / Rails 5.0に上げた際のパッチ5選
Koichi ITO
10年生きる Ruby / Rails アプリケーションプログラマーのエコシステム
10年生きる Ruby / Rails アプリケーションプログラマーのエコシステム
Koichi ITO
Empfohlen
AWS(Rekognition)と Pepperでご機嫌解析
AWS(Rekognition)と Pepperでご機嫌解析
Mitsuhiro Yamashita
Googleアナリティクス ランキング概要
Googleアナリティクス ランキング概要
AppBank
Bundler 2 の胎動
Bundler 2 の胎動
Koichi ITO
Stairway to The Pragmatic Rails Programmer
Stairway to The Pragmatic Rails Programmer
Koichi ITO
最軽の開発手法 dX 改
最軽の開発手法 dX 改
Koichi ITO
Railsアプリケーションプロジェクトでの読み書きそろばんの1周目、2周目とそれから
Railsアプリケーションプロジェクトでの読み書きそろばんの1周目、2周目とそれから
Koichi ITO
Ruby 2.4 / Rails 5.0に上げた際のパッチ5選
Ruby 2.4 / Rails 5.0に上げた際のパッチ5選
Koichi ITO
10年生きる Ruby / Rails アプリケーションプログラマーのエコシステム
10年生きる Ruby / Rails アプリケーションプログラマーのエコシステム
Koichi ITO
俺の開発日誌
俺の開発日誌
Koichi ITO
ghq gem-src and more
ghq gem-src and more
Koichi ITO
RuboCopとXPコーディング規約
RuboCopとXPコーディング規約
Koichi ITO
俺たちの新人教育!!
俺たちの新人教育!!
Koichi ITO
スローテスト刑事 (デカ)
スローテスト刑事 (デカ)
Koichi ITO
Gate of Agile Web Development
Gate of Agile Web Development
Koichi ITO
RubyKaigi 2015 の Drinkup を支える技術
RubyKaigi 2015 の Drinkup を支える技術
Koichi ITO
開発時の探し物を楽にする習慣作り
開発時の探し物を楽にする習慣作り
Koichi ITO
Motivationware
Motivationware
Koichi ITO
達人プログラマーへの道
達人プログラマーへの道
Koichi ITO
Let's get ready for next Ruby
Let's get ready for next Ruby
Koichi ITO
職と人
職と人
Koichi ITO
Agile Software Development with Edge Ruby
Agile Software Development with Edge Ruby
Koichi ITO
Safe navigation operator in Ruby
Safe navigation operator in Ruby
Koichi ITO
プロの無職についての考察:序
プロの無職についての考察:序
Koichi ITO
frozen string literal in Ruby
frozen string literal in Ruby
Koichi ITO
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
Koichi ITO
JavaからRubyへの変遷を約10年見てきて、プロジェクトで変わったこと、変わっていないこと12集
JavaからRubyへの変遷を約10年見てきて、プロジェクトで変わったこと、変わっていないこと12集
Koichi ITO
The World is Connected
The World is Connected
Koichi ITO
進撃の受託開発
進撃の受託開発
Koichi ITO
Weitere ähnliche Inhalte
Mehr von Koichi ITO
俺の開発日誌
俺の開発日誌
Koichi ITO
ghq gem-src and more
ghq gem-src and more
Koichi ITO
RuboCopとXPコーディング規約
RuboCopとXPコーディング規約
Koichi ITO
俺たちの新人教育!!
俺たちの新人教育!!
Koichi ITO
スローテスト刑事 (デカ)
スローテスト刑事 (デカ)
Koichi ITO
Gate of Agile Web Development
Gate of Agile Web Development
Koichi ITO
RubyKaigi 2015 の Drinkup を支える技術
RubyKaigi 2015 の Drinkup を支える技術
Koichi ITO
開発時の探し物を楽にする習慣作り
開発時の探し物を楽にする習慣作り
Koichi ITO
Motivationware
Motivationware
Koichi ITO
達人プログラマーへの道
達人プログラマーへの道
Koichi ITO
Let's get ready for next Ruby
Let's get ready for next Ruby
Koichi ITO
職と人
職と人
Koichi ITO
Agile Software Development with Edge Ruby
Agile Software Development with Edge Ruby
Koichi ITO
Safe navigation operator in Ruby
Safe navigation operator in Ruby
Koichi ITO
プロの無職についての考察:序
プロの無職についての考察:序
Koichi ITO
frozen string literal in Ruby
frozen string literal in Ruby
Koichi ITO
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
Koichi ITO
JavaからRubyへの変遷を約10年見てきて、プロジェクトで変わったこと、変わっていないこと12集
JavaからRubyへの変遷を約10年見てきて、プロジェクトで変わったこと、変わっていないこと12集
Koichi ITO
The World is Connected
The World is Connected
Koichi ITO
進撃の受託開発
進撃の受託開発
Koichi ITO
Mehr von Koichi ITO
(20)
俺の開発日誌
俺の開発日誌
ghq gem-src and more
ghq gem-src and more
RuboCopとXPコーディング規約
RuboCopとXPコーディング規約
俺たちの新人教育!!
俺たちの新人教育!!
スローテスト刑事 (デカ)
スローテスト刑事 (デカ)
Gate of Agile Web Development
Gate of Agile Web Development
RubyKaigi 2015 の Drinkup を支える技術
RubyKaigi 2015 の Drinkup を支える技術
開発時の探し物を楽にする習慣作り
開発時の探し物を楽にする習慣作り
Motivationware
Motivationware
達人プログラマーへの道
達人プログラマーへの道
Let's get ready for next Ruby
Let's get ready for next Ruby
職と人
職と人
Agile Software Development with Edge Ruby
Agile Software Development with Edge Ruby
Safe navigation operator in Ruby
Safe navigation operator in Ruby
プロの無職についての考察:序
プロの無職についての考察:序
frozen string literal in Ruby
frozen string literal in Ruby
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
JavaからRubyへの変遷を約10年見てきて、プロジェクトで変わったこと、変わっていないこと12集
JavaからRubyへの変遷を約10年見てきて、プロジェクトで変わったこと、変わっていないこと12集
The World is Connected
The World is Connected
進撃の受託開発
進撃の受託開発
アプリがパッチにまみれたら
1.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 アプリがパッチに まみれたら TokyuRuby会議11 2017-07-29�(Sat) 伊藤�浩⼀�(@koic)
2.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 �
3.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 �
4.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 �
5.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 �
6.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 ドリンク アップス ポンサー
7.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 �
8.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 ティルックラル�第391篇 学ぶ価値のある知識はすべて 学べ学ん だ知
恵を⽣か し て⾏ 動せよ
9.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 今⽇ の話
10.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 rails� new�以降 はパッチ
11.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 パッチいろいろ 機能拡張✓ バグ修正✓ パフォーマンス改善✓ 依存Gemのアップグレード✓ リファクタリング✓ 機能削除✓
12.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 結論
13.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 良いパッチにま みれれば幸い、 悪いパッチにま みれたら⾟い。
14.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 良いパッ チと悪い パッチ
15.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 良いパッチ 本質的な問題を解決している✓ 必要最⼩限でいて拡張の邪魔に ならないパッチ ✓
16.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 悪いパッチ その場凌ぎで問題解決している✓ 本質的な問題解決となっておら ずしばしば拡張の邪魔になるパ ッチ とはいえ問題解決はしているので、 度合いの問題ではある ✓ ✓
17.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 今⽇の お題
18.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 みんな大好 きモンキー パッチ
19.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 課題
20.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 アプリケーションの ドメインコードと、 フレームワーク/ラ イブラリの汎用コー ドが同⼀リポジトリ に混在する
21.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 分け よう
22.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 本来フォーカスす る問題領域のみア プリケーションの コードとしてリポ ジトリにあるべき
23.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 依存する OSSを含 めた観点
24.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 良いパッチ 適切な�upstream�に対するパ ッチを送って、本質的な問題解 決をする ✓ アプリケーションコードに依存 Gem特有の問題を混ぜない ✓
25.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 問題の残るパッチ とりあえず⼿元のアプリケーシ ョンが動くワークアラウンド ✓ あの時のあのパッチがあればが 今のアプリケーションに埋もれ たままになるかも ✓
26.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 天使の助⾔と悪魔の囁き 問題の抽象化やupstream向け のテストを書く⼿間はある 往々にして汎化問題より特化問題の ⽅が簡単 ✓ ✓ 「おまえもモンキーパッチにし てやろうか」 ✓
27.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 モンキーパッチの⽌むを得な い場合 フレームワーク/ライブラリへ の抽象化が難しい、本当にアプ リケーション特有の問題 ✓ RailsAdmin�での�CSV�ダウン ロードの�ShiftJIS�変換とか あれ?この例パッチ送れるのでは...✓ ✓
28.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 ⼈間の葛藤
29.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 悪魔の囁き に敗れた際 の対処事例
30.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 bundle�updateへ負債対策 ������������������������������������������� bundle�update�に注意みたいな コメントではなく、動くコード での警告にしておく。 ✓ Gemfileへのバージョン固定にす ると固定されて終わる ✓
31.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 Extract�Gem 外部Gemにして開発サイクル を分ける ✓ アプリケーション固有の問題で ないので切り出しGemfile�1⾏ にする ✓ 事例:�https://github.com/ koic/oracle-enhanced- monky̲patch̲755 ✓
32.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 Gemfile ������������������������������������������ ���������������������������������������������������������� Rails�4.2.1でタイムゾーンがズ レる問題を直すGemのはずが、 Rails�5でタイムスタンプ型が変 わったことへの対応も⼊った ✓ Oracleでのスキーマ移⾏を延命 できる ✓
33.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 Railsアップグレードとスキ ーマ RDBMSのスキーマの型変更は 重い話になりうる ✓ Railsアップグレードと異なる タイミングで⾏なえるようにし たのは悪い判断ではなかった ✓
34.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 究極の弱点 activerecord- oracle̲enhanced-adapter- monky̲patch̲755 ✓ わざとイケてない名前にしたけ れど、本当にイケてなくてつら い 全⼒でこの名前を消しにかかる✓ ✓
35.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 パッチ戦争 からGem 戦争へ
36.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 モンキーパッチGemを倒す Gem https://github.com/koic/ screamers ✓ oracle-enhanced- monky̲patch̲755を倒すた めに誕⽣した ✓ 怨念駆動開発✓
37.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 screamers:migration ����������������������������������������������� �������������������������������������������������� dateからdatetimeに⼀括変換す るマイグレーションファイルを ⽣成する ✓
38.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 天使界と 悪魔界の 狭間
39.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 Forked�Gem upstreamのmasterでは直っ ているがリリースされていない ✓ PRは出しているがコミッター が活動していない ✓
40.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 Rails�5.0.1�+�Ruby�2.4 warning:�constant�::Fixnum� is�deprecated�川が氾濫して いた ✓ ⾒たいログが警告に流されて⾒ えない ✓ 警告川の氾濫✓
41.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 Rails�5.0.1で警告を鎮まら せた ���������������������������������������������������������� �������������������������������������������������� ���������������������������������������������������������������� rails/railsの5-0-stableからブラ ンチを切って、必要なコミット をmasterからcherry-pick ✓ Rails�5.0.2までのあいだ警備し ていた ✓
42.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 反応がない。どうしたら... �������������������������������������� ������������������������������������������������ パッチはある。反応はない。✓ Gemの選定は大事✓
43.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 天使の助 ⾔が勝っ たとき
44.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 Upstreamに投げる Oracleに詳しいわけではない ので、DBAに⾒てもらえる ✓ 新しい知識を得ることが出来る✓ パッチ投げていたら、コミッタ ーに推薦してもらえた ✓
45.
アプリがパッチにまみれたら Powered�by�Rabbit�2.1.9 ⼩さな仕事、大きな成功 パッチの送り先はアプリケーシ ョンに限らない ✓ 依存先のupstreamにも出来る ことからコツコツと ✓ 少しずつ出来ることが増えて⾏ くので、カルマを積み重ねて⾏ きましょう ✓