Octocatは技術的負債の夢を見るか?

treby
trebyWeb Developer
Octocat
?
2018/07/13 @treby006
Rails Developers Meetup Day3
• treby (@treby006) Shinjuku.rb
• Repro Dev2
• Rails
• Rails, Vue.js, AWS(ECS, EMR), Go
Repro
• Rails
•
•
•
Repro
• Rails
•
•
•
Commit 2
Additions/Deletions 1
( )
Repro
• Rails
•
•
•
• CTO Contribute
Repro
We are hiring!!
•
• / B to B
•
•
•
• Conference
Octocatは技術的負債の夢を見るか?
:
: Technical debt
(design debt)
---- Wikipedia
•
•
•
•
Octocatは技術的負債の夢を見るか?
Octocatは技術的負債の夢を見るか?
•
•
•
•
• =>
•
•
•
• ( )
•
•
•
•
•
•
•
•
(Rails )
1
DSL/
class SomeDSL
def self.configulation(*args)
end
module Definition
def provide(&definition)
end
end
:
:
end
DSL/
• 0 → 1
•
•
……
DSL/
•
•
• DSL/
DSL/
• Ruby
•
• gem OSS
2
class SomeController < ApplicationController
:
:
def create
@presenter = SomePresenter.new(@some_model)
if @presenter.save
redirect_to :some_path
else
render :new
end
end
end
2
class SomePresenter < PresenterBase
attr_reader :form
delegate :save, to: :form
def initialize(some_model)
@form = SomeForm.new(some_model.attributes, self)
end
:
:
end
2
class SomeForm < FormBase
validate :something
:
:
def initialize(params)
:
:
end
end
•
• Rails
•
• ……
SomeForm : Before
class SomeForm < FormBase
validate :something
:
:
def initialize(params)
:
:
end
end
SomeForm : After
class SomeForm < FormBase
validate :something
:
:
attr_reader :presenter
def initialize(params, presenter)
:
@presenter = presenter
:
end
def validate
presenter.some_methods
super
end
end
Presenter : Before
class SomePresenter < PresenterBase
attr_reader :form
delegate :save, to: :form
def initialize(some_model)
@form = SomeForm.new(some_model.attributes, self)
end
:
:
end
Presenter : After
class SomePresenter < PresenterBase
attr_reader :form
def initialize(some_model)
@form = SomeForm.new(some_model.attributes, self)
end
def save
:
@form.save
:
end
:
:
end
•
•
•
•
•
•
•
•
• CI
•
•
•
•
•
•
•
• →
• →
• →
•
•
•
• =>
•
•
•
• ( )
•
:
Octocatは技術的負債の夢を見るか?
Octocatは技術的負債の夢を見るか?
Octocatは技術的負債の夢を見るか?
•
• ( )
•
•
Octocatは技術的負債の夢を見るか?
Octocatは技術的負債の夢を見るか?
•
•
•
•
Octocatは技術的負債の夢を見るか?
Octocatは技術的負債の夢を見るか?
• ( )
•
•
• ( )
• ( )
•
•
• ( )
•
https://speakerdeck.com/joker1007/realworld-
domain-model-on-rails
https://speakerdeck.com/joker1007/realworld-
domain-model-on-rails
•
•
•
•
• Rails
•
• CoC (Convention over Configuration)
• Rails Rails
( )
•
•
•
•
• :
• :
Octocatは技術的負債の夢を見るか?
Octocatは技術的負債の夢を見るか?
!
!
•
•
•
• ( )
•
•
•
•
• ……
We are hiring!!
•
• / B to B
•
•
•
• Conference
Repro Tech Meetup
https://repro-tech.connpass.com/event/94282/
Happy Hacking!!
:
1 of 66

Recommended

Railsチュートリアルの歩き方 (第3版) by
Railsチュートリアルの歩き方 (第3版)Railsチュートリアルの歩き方 (第3版)
Railsチュートリアルの歩き方 (第3版)Yohei Yasukawa
351.3K views50 slides
Railsチュートリアルの歩き方 (第4版) by
Railsチュートリアルの歩き方 (第4版)Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)Yohei Yasukawa
427.8K views59 slides
Rust meetup delhi nov 18 by
Rust meetup delhi nov 18Rust meetup delhi nov 18
Rust meetup delhi nov 18Abhiram Ravikumar
50 views28 slides
Heroku Dockerの使い所 by
Heroku Dockerの使い所Heroku Dockerの使い所
Heroku Dockerの使い所Yusuke Kon
2.4K views24 slides
Intro to Clojure lightningtalk by
Intro to Clojure lightningtalkIntro to Clojure lightningtalk
Intro to Clojure lightningtalkNola Stowe
1.4K views10 slides
JS Lab`16. Роман Лютиков: "ClojureScript, что ты такое?" by
JS Lab`16. Роман Лютиков: "ClojureScript, что ты такое?"JS Lab`16. Роман Лютиков: "ClojureScript, что ты такое?"
JS Lab`16. Роман Лютиков: "ClojureScript, что ты такое?"GeeksLab Odessa
549 views28 slides

More Related Content

What's hot

T4T Training day - NodeJS by
T4T Training day - NodeJST4T Training day - NodeJS
T4T Training day - NodeJSTim Sommer
764 views39 slides
Scalding by Adform Research, Alex Gryzlov by
Scalding by Adform Research, Alex GryzlovScalding by Adform Research, Alex Gryzlov
Scalding by Adform Research, Alex GryzlovVasil Remeniuk
630 views18 slides
Capybara by
CapybaraCapybara
CapybaraMona Soni
1.9K views8 slides
Hands on Gradle by
Hands on GradleHands on Gradle
Hands on GradleMushfekur Rahman
174 views23 slides
Practical IronRuby by
Practical IronRubyPractical IronRuby
Practical IronRubyShay Friedman
766 views25 slides
Xitrum HOWTOs by
Xitrum HOWTOsXitrum HOWTOs
Xitrum HOWTOsNgoc Dao
45.1K views30 slides

What's hot(20)

T4T Training day - NodeJS by Tim Sommer
T4T Training day - NodeJST4T Training day - NodeJS
T4T Training day - NodeJS
Tim Sommer764 views
Scalding by Adform Research, Alex Gryzlov by Vasil Remeniuk
Scalding by Adform Research, Alex GryzlovScalding by Adform Research, Alex Gryzlov
Scalding by Adform Research, Alex Gryzlov
Vasil Remeniuk630 views
Capybara by Mona Soni
CapybaraCapybara
Capybara
Mona Soni1.9K views
Xitrum HOWTOs by Ngoc Dao
Xitrum HOWTOsXitrum HOWTOs
Xitrum HOWTOs
Ngoc Dao45.1K views
Resque by erichsen
ResqueResque
Resque
erichsen639 views
DSD-INT 2014 - NGHS Workshop Scripting in SOBEK 3 & Delft3D Flexible Mesh - P... by Deltares
DSD-INT 2014 - NGHS Workshop Scripting in SOBEK 3 & Delft3D Flexible Mesh - P...DSD-INT 2014 - NGHS Workshop Scripting in SOBEK 3 & Delft3D Flexible Mesh - P...
DSD-INT 2014 - NGHS Workshop Scripting in SOBEK 3 & Delft3D Flexible Mesh - P...
Deltares1K views
みんなのNode.js by ogom_
みんなのNode.jsみんなのNode.js
みんなのNode.js
ogom_940 views
RxSwiftを用いたアプリ開発の実践 by GOMI NINGEN
RxSwiftを用いたアプリ開発の実践RxSwiftを用いたアプリ開発の実践
RxSwiftを用いたアプリ開発の実践
GOMI NINGEN285 views
JavaScript Language Update 2016 (LLoT) by Teppei Sato
JavaScript Language Update 2016 (LLoT)JavaScript Language Update 2016 (LLoT)
JavaScript Language Update 2016 (LLoT)
Teppei Sato10.2K views
Web crawl with Elixir by 이재철
Web crawl with ElixirWeb crawl with Elixir
Web crawl with Elixir
이재철 719 views
Intro to Clojure 4 Developers by Nola Stowe
Intro to Clojure 4 DevelopersIntro to Clojure 4 Developers
Intro to Clojure 4 Developers
Nola Stowe297 views
Applying the paradigms of core.async in Clojure and ClojureScript by Julian Gamble
Applying the paradigms of core.async in Clojure and ClojureScriptApplying the paradigms of core.async in Clojure and ClojureScript
Applying the paradigms of core.async in Clojure and ClojureScript
Julian Gamble1.3K views
An introduction to Rails 3 by Blazing Cloud
An introduction to Rails 3An introduction to Rails 3
An introduction to Rails 3
Blazing Cloud846 views
クローラーをテストしよう! by Kazuki Morozumi
クローラーをテストしよう!クローラーをテストしよう!
クローラーをテストしよう!
Kazuki Morozumi657 views
Why I don’t want to develop iOS apps in Objective C by SeniorDevOnly
Why I don’t want to develop iOS apps in Objective CWhy I don’t want to develop iOS apps in Objective C
Why I don’t want to develop iOS apps in Objective C
SeniorDevOnly288 views
Xitrum @ Scala Conference in Japan 2013 by Ngoc Dao
Xitrum @ Scala Conference in Japan 2013Xitrum @ Scala Conference in Japan 2013
Xitrum @ Scala Conference in Japan 2013
Ngoc Dao2.2K views

Similar to Octocatは技術的負債の夢を見るか?

Ruby on Rails : 簡介與入門 by
Ruby on Rails : 簡介與入門Ruby on Rails : 簡介與入門
Ruby on Rails : 簡介與入門Wen-Tien Chang
75.3K views51 slides
遇見 Ruby on Rails by
遇見 Ruby on Rails遇見 Ruby on Rails
遇見 Ruby on RailsWen-Tien Chang
5.7K views72 slides
DevLOVE Beautiful Development - 第一幕 陽の巻 by
DevLOVE Beautiful Development - 第一幕 陽の巻DevLOVE Beautiful Development - 第一幕 陽の巻
DevLOVE Beautiful Development - 第一幕 陽の巻都元ダイスケ Miyamoto
5.4K views60 slides
Rails 3.1 by
Rails 3.1Rails 3.1
Rails 3.1Lori Olson
1.2K views46 slides
Sinatraで触れる生SQL by
Sinatraで触れる生SQLSinatraで触れる生SQL
Sinatraで触れる生SQLtreby
1K views26 slides
MVC Gems by
MVC GemsMVC Gems
MVC GemsKir Shatrov
436 views18 slides

Similar to Octocatは技術的負債の夢を見るか?(20)

Ruby on Rails : 簡介與入門 by Wen-Tien Chang
Ruby on Rails : 簡介與入門Ruby on Rails : 簡介與入門
Ruby on Rails : 簡介與入門
Wen-Tien Chang75.3K views
Rails 3.1 by Lori Olson
Rails 3.1Rails 3.1
Rails 3.1
Lori Olson1.2K views
Sinatraで触れる生SQL by treby
Sinatraで触れる生SQLSinatraで触れる生SQL
Sinatraで触れる生SQL
treby1K views
深層学習ライブラリの環境問題Chainer Meetup2016 07-02 by Yuta Kashino
深層学習ライブラリの環境問題Chainer Meetup2016 07-02深層学習ライブラリの環境問題Chainer Meetup2016 07-02
深層学習ライブラリの環境問題Chainer Meetup2016 07-02
Yuta Kashino51.9K views
Kubernetes Manchester - 6th December 2018 by David Stockton
Kubernetes Manchester - 6th December 2018Kubernetes Manchester - 6th December 2018
Kubernetes Manchester - 6th December 2018
David Stockton621 views
MongoDB开发应用实践 by iammutex
MongoDB开发应用实践MongoDB开发应用实践
MongoDB开发应用实践
iammutex4.6K views
Exploring Clojurescript by Luke Donnet
Exploring ClojurescriptExploring Clojurescript
Exploring Clojurescript
Luke Donnet83 views
44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Franci... by 44CON
44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Franci...44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Franci...
44CON 2014 - Pentesting NoSQL DB's Using NoSQL Exploitation Framework, Franci...
44CON12.3K views
TechEvent 2019: Oracle to PostgreSQL - a Travel Guide from Practice; Roland S... by Trivadis
TechEvent 2019: Oracle to PostgreSQL - a Travel Guide from Practice; Roland S...TechEvent 2019: Oracle to PostgreSQL - a Travel Guide from Practice; Roland S...
TechEvent 2019: Oracle to PostgreSQL - a Travel Guide from Practice; Roland S...
Trivadis277 views
Charles nutter star techconf 2011 - jvm languages by StarTech Conference
Charles nutter   star techconf 2011 - jvm languagesCharles nutter   star techconf 2011 - jvm languages
Charles nutter star techconf 2011 - jvm languages
Ractor's speed is not light-speed by SATOSHI TAGOMORI
Ractor's speed is not light-speedRactor's speed is not light-speed
Ractor's speed is not light-speed
SATOSHI TAGOMORI4.6K views
Scala at Treasure Data by Taro L. Saito
Scala at Treasure DataScala at Treasure Data
Scala at Treasure Data
Taro L. Saito3.1K views

More from treby

失敗から学ぶEM方法論 by
失敗から学ぶEM方法論失敗から学ぶEM方法論
失敗から学ぶEM方法論treby
2.3K views39 slides
Vue.js + Vuexチーム開発実践の事例 by
Vue.js + Vuexチーム開発実践の事例Vue.js + Vuexチーム開発実践の事例
Vue.js + Vuexチーム開発実践の事例treby
4.2K views110 slides
Frontendと向き合う by
Frontendと向き合うFrontendと向き合う
Frontendと向き合うtreby
1.2K views57 slides
Railsのフロントエンドのトレンドと実際〜事業を進めながら、レールに乗り続けるためのテクニック〜 by
Railsのフロントエンドのトレンドと実際〜事業を進めながら、レールに乗り続けるためのテクニック〜Railsのフロントエンドのトレンドと実際〜事業を進めながら、レールに乗り続けるためのテクニック〜
Railsのフロントエンドのトレンドと実際〜事業を進めながら、レールに乗り続けるためのテクニック〜treby
5.4K views55 slides
モダンJSでモダンなWebアプリケーションを作ろう! by
モダンJSでモダンなWebアプリケーションを作ろう!モダンJSでモダンなWebアプリケーションを作ろう!
モダンJSでモダンなWebアプリケーションを作ろう!treby
1.9K views63 slides
Shinjuku.rb #61 RubyKaigi2018予習 by
Shinjuku.rb #61 RubyKaigi2018予習Shinjuku.rb #61 RubyKaigi2018予習
Shinjuku.rb #61 RubyKaigi2018予習treby
642 views75 slides

More from treby(20)

失敗から学ぶEM方法論 by treby
失敗から学ぶEM方法論失敗から学ぶEM方法論
失敗から学ぶEM方法論
treby2.3K views
Vue.js + Vuexチーム開発実践の事例 by treby
Vue.js + Vuexチーム開発実践の事例Vue.js + Vuexチーム開発実践の事例
Vue.js + Vuexチーム開発実践の事例
treby4.2K views
Frontendと向き合う by treby
Frontendと向き合うFrontendと向き合う
Frontendと向き合う
treby1.2K views
Railsのフロントエンドのトレンドと実際〜事業を進めながら、レールに乗り続けるためのテクニック〜 by treby
Railsのフロントエンドのトレンドと実際〜事業を進めながら、レールに乗り続けるためのテクニック〜Railsのフロントエンドのトレンドと実際〜事業を進めながら、レールに乗り続けるためのテクニック〜
Railsのフロントエンドのトレンドと実際〜事業を進めながら、レールに乗り続けるためのテクニック〜
treby5.4K views
モダンJSでモダンなWebアプリケーションを作ろう! by treby
モダンJSでモダンなWebアプリケーションを作ろう!モダンJSでモダンなWebアプリケーションを作ろう!
モダンJSでモダンなWebアプリケーションを作ろう!
treby1.9K views
Shinjuku.rb #61 RubyKaigi2018予習 by treby
Shinjuku.rb #61 RubyKaigi2018予習Shinjuku.rb #61 RubyKaigi2018予習
Shinjuku.rb #61 RubyKaigi2018予習
treby642 views
The Art of Collaboration by treby
The Art of CollaborationThe Art of Collaboration
The Art of Collaboration
treby580 views
楽しく学ぶ?API by treby
楽しく学ぶ?API楽しく学ぶ?API
楽しく学ぶ?API
treby1.4K views
VueとdockerとAWSとチームとアイマスと私 by treby
VueとdockerとAWSとチームとアイマスと私VueとdockerとAWSとチームとアイマスと私
VueとdockerとAWSとチームとアイマスと私
treby931 views
アイマスハッカソン2017 by treby
アイマスハッカソン2017アイマスハッカソン2017
アイマスハッカソン2017
treby1K views
Railsフロントエンドの modernizeにおける一事例 ~decaffeinateからES2015移行まで~ by treby
Railsフロントエンドの modernizeにおける一事例 ~decaffeinateからES2015移行まで~Railsフロントエンドの modernizeにおける一事例 ~decaffeinateからES2015移行まで~
Railsフロントエンドの modernizeにおける一事例 ~decaffeinateからES2015移行まで~
treby1.3K views
最近のRailsフロントエンド開発の紹介 by treby
最近のRailsフロントエンド開発の紹介最近のRailsフロントエンド開発の紹介
最近のRailsフロントエンド開発の紹介
treby1.4K views
たたかうFFI by treby
たたかうFFIたたかうFFI
たたかうFFI
treby598 views
mastodon API by treby
mastodon APImastodon API
mastodon API
treby761 views
TH@NK YOU for SMILE!!とミリオンボーダーbot by treby
TH@NK YOU for SMILE!!とミリオンボーダーbotTH@NK YOU for SMILE!!とミリオンボーダーbot
TH@NK YOU for SMILE!!とミリオンボーダーbot
treby821 views
Paperclip by treby
PaperclipPaperclip
Paperclip
treby630 views
このみさんにPRしてもらう by treby
このみさんにPRしてもらうこのみさんにPRしてもらう
このみさんにPRしてもらう
treby1.3K views
reading suture by treby
reading suturereading suture
reading suture
treby891 views
趣味から始めるWebスクレイピング by treby
趣味から始めるWebスクレイピング趣味から始めるWebスクレイピング
趣味から始めるWebスクレイピング
treby2.9K views
Osoji to-ban bot by treby
Osoji to-ban botOsoji to-ban bot
Osoji to-ban bot
treby936 views

Recently uploaded

Empathic Computing: Delivering the Potential of the Metaverse by
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the MetaverseMark Billinghurst
476 views80 slides
handbook for web 3 adoption.pdf by
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdfLiveplex
22 views16 slides
Case Study Copenhagen Energy and Business Central.pdf by
Case Study Copenhagen Energy and Business Central.pdfCase Study Copenhagen Energy and Business Central.pdf
Case Study Copenhagen Energy and Business Central.pdfAitana
16 views3 slides
The details of description: Techniques, tips, and tangents on alternative tex... by
The details of description: Techniques, tips, and tangents on alternative tex...The details of description: Techniques, tips, and tangents on alternative tex...
The details of description: Techniques, tips, and tangents on alternative tex...BookNet Canada
126 views24 slides
Info Session November 2023.pdf by
Info Session November 2023.pdfInfo Session November 2023.pdf
Info Session November 2023.pdfAleksandraKoprivica4
11 views15 slides
Voice Logger - Telephony Integration Solution at Aegis by
Voice Logger - Telephony Integration Solution at AegisVoice Logger - Telephony Integration Solution at Aegis
Voice Logger - Telephony Integration Solution at AegisNirmal Sharma
31 views1 slide

Recently uploaded(20)

Empathic Computing: Delivering the Potential of the Metaverse by Mark Billinghurst
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the Metaverse
Mark Billinghurst476 views
handbook for web 3 adoption.pdf by Liveplex
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdf
Liveplex22 views
Case Study Copenhagen Energy and Business Central.pdf by Aitana
Case Study Copenhagen Energy and Business Central.pdfCase Study Copenhagen Energy and Business Central.pdf
Case Study Copenhagen Energy and Business Central.pdf
Aitana16 views
The details of description: Techniques, tips, and tangents on alternative tex... by BookNet Canada
The details of description: Techniques, tips, and tangents on alternative tex...The details of description: Techniques, tips, and tangents on alternative tex...
The details of description: Techniques, tips, and tangents on alternative tex...
BookNet Canada126 views
Voice Logger - Telephony Integration Solution at Aegis by Nirmal Sharma
Voice Logger - Telephony Integration Solution at AegisVoice Logger - Telephony Integration Solution at Aegis
Voice Logger - Telephony Integration Solution at Aegis
Nirmal Sharma31 views
Spesifikasi Lengkap ASUS Vivobook Go 14 by Dot Semarang
Spesifikasi Lengkap ASUS Vivobook Go 14Spesifikasi Lengkap ASUS Vivobook Go 14
Spesifikasi Lengkap ASUS Vivobook Go 14
Dot Semarang37 views
From chaos to control: Managing migrations and Microsoft 365 with ShareGate! by sammart93
From chaos to control: Managing migrations and Microsoft 365 with ShareGate!From chaos to control: Managing migrations and Microsoft 365 with ShareGate!
From chaos to control: Managing migrations and Microsoft 365 with ShareGate!
sammart939 views
Attacking IoT Devices from a Web Perspective - Linux Day by Simone Onofri
Attacking IoT Devices from a Web Perspective - Linux Day Attacking IoT Devices from a Web Perspective - Linux Day
Attacking IoT Devices from a Web Perspective - Linux Day
Simone Onofri15 views
STPI OctaNE CoE Brochure.pdf by madhurjyapb
STPI OctaNE CoE Brochure.pdfSTPI OctaNE CoE Brochure.pdf
STPI OctaNE CoE Brochure.pdf
madhurjyapb13 views
Special_edition_innovator_2023.pdf by WillDavies22
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdf
WillDavies2217 views
Piloting & Scaling Successfully With Microsoft Viva by Richard Harbridge
Piloting & Scaling Successfully With Microsoft VivaPiloting & Scaling Successfully With Microsoft Viva
Piloting & Scaling Successfully With Microsoft Viva
Unit 1_Lecture 2_Physical Design of IoT.pdf by StephenTec
Unit 1_Lecture 2_Physical Design of IoT.pdfUnit 1_Lecture 2_Physical Design of IoT.pdf
Unit 1_Lecture 2_Physical Design of IoT.pdf
StephenTec12 views
DALI Basics Course 2023 by Ivory Egg
DALI Basics Course  2023DALI Basics Course  2023
DALI Basics Course 2023
Ivory Egg16 views
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院 by IttrainingIttraining
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院

Octocatは技術的負債の夢を見るか?