SlideShare ist ein Scribd-Unternehmen logo
1 von 58
Downloaden Sie, um offline zu lesen
rubocopとの付き合い方
self.inspect
植森 康友
所属:株式会社Aiming
役職:エンジニア
管理ツール開発
WebAPI開発
Dockerおじさん
SNS:
twitter: @wakaba260yen
github: yuemori
今日の話
コードレビュー
rubocop
守破離
コードレビュー
コードレビュー、してますか?
コードレビューがなぜ必要なのか
新人教育
品質向上
相互学習
でも、ちょっとまって
そのレビュー、本当に必要?
例えば、こういうレビュー
コードレビューの本質
コードレビューに慣れないチームが、何の考えもナシにコードレビ
ューを始めるととにかく気になったこと大小様々な指摘が行われる
ことになる。一見、いろいろな指摘が出て議論が活発になっている
ように見えるが、だいたい議論が紛糾しているのは「コードのイン
デント幅が違う」とか「return が省略されてる。俺はreturn があ
ったほうが好み」とか「その場合は字下げをした方が綺麗にみえる
んでは」とか、そんな些末なことばかりである、ということが多い
naoyaのはてなダイアリー「些末なコードレビュー」より
http://d.hatena.ne.jp/naoya/20140313/1394664578
コードレビューの本質
そんなことを延々議論していたって、はっきり言って何の意味もな
い。何の意味もない、は言い過ぎにしても、そんなところを改善し
たところで実質的な品質は何ひとつ上がらないわけだし、どうして
も揃えたいならlint ツールか何かで機械的にチェックすればよいこ
とであって人間がやることではない。
naoyaのはてなダイアリー「些末なコードレビュー」より
http://d.hatena.ne.jp/naoya/20140313/1394664578
コードレビューの本質
やらなければいけないのは、「その設計は拡張に対して開いていな
いから開くべき」とか「これではエッジケースが想定されていない
からこういう不具合につながるのでは」とか「そのテストでは後日
見返したときに第三者が要求仕様を解釈しづらい」とかそういう指
摘である。
naoyaのはてなダイアリー「些末なコードレビュー」より
http://d.hatena.ne.jp/naoya/20140313/1394664578
再び、コードレビューがなぜ必要なのか
新人教育
品質向上
相互学習
=> より本質的なことにクローズアップした教育をしたい
=> 変更や拡張、バグ回避などに重点を置きたい
=> 設計や実装などのより良い議論に時間を使いたい
"lint ツールか何かで機械的にチェックすればよい"
rubocop、使ってますか?
rubocopとは
Rubyの静的解析ツール
コーディングルールを始め、様々な静的解析を行ってくれる
コーディングルールは同作者のruby‑style‑guideに準拠
https://github.com/bbatsov/ruby‑style‑guide
コーディングルール?
Rubyには公式のコーディングルールがない
Rubyの思想= Happy Hacking!
楽しくプログラミングできるようにデザインされた言語
おのおのが好きなように、楽しくかけるのが重要
コーディングルール?
しかし、必ずしも一人が楽しければHappyではない
他人のコードを読む・触るとき
他人にコードを書いてもらうとき(Pull Request!)
業務においてはコードが自分だけのものではない
状況に応じた適切なコーディングルールがあるとみんながハッピー
になれる
静的解析の恩恵
rubocopはスタイルチェックだけではない
Metrics、Performance、Security、etc...
より良いコードを書くためのチェックも行う
より綺麗で読みやすいコードを書けるようになる
rubocopの機能紹介
Cop
 In RuboCop lingo the various checks performed on the code
are called cops 
rubocopの用語で、コード上で実行される検査のことをCopと呼ぶ
Copの種類
Style
Layout
Lint
Metrics
Performance
Security
Rails
Bundler
StyleCop
コーディングスタイルに対するCop。
コーディングルールの一貫性のチェックを行う。
デフォルトはruby‑style‑guideに準拠。
設定により変更することもできる。
LayoutCop
レイアウトに対するCop。
インデント、alignment、空白などに対するチェックを行う。
LintCop
エラーに対するCop。
曖昧な表現や、エラーに対するチェックを行う。
MetricsCop
メトリクスに対するCop。
コードの複雑さや保守性などのメトリクスを解析しチェックを行う。
PerformanceCop
パフォーマンスに対するCop。
パフォーマンスの低いコードのチェックを行う。
SecurityCop
セキュリティに対するCop。
セキュリティに問題のあるコードのチェックを行う。
RailsCop
Railsに対するCop。
Railsに特定したコードのチェックを行う。
BundlerCop
Bundlerに対するCop。
Bundlerに特定したコードのチェックを行う。
auto‑correct
auto‑correct対応のCopに対し、自動整形を行う。
Todo
 rubocop --auto-gen-config を実行することで、Todoリストを作成
することができる。
「今は直せない負債」を目に見える形で残すことができるため、既存プ
ロジェクトへの導入などに効果的
守破離
rubocopはきょうせいギブス
rubocopはきょうせいギブス
1ファイルに警告×300個
やかましい!
ちょっとまった
Configuration
.rubocop.ymlを設置することで設定を変更することができる
コーディングルールなどプロジェクト内の設定を記述する
守破離って、知ってますか?
守破離
日本での茶道、武道、芸術等における師弟関係のあり方の一つ
個人のスキル(作業遂行能力)を3段階のレベルで表している
守破離
まずは、師匠の教えを守る
「型を守る」ところから修行を始める
=> 支援のもとに作業を遂行できる(半人前)
=> 自律的に作業を遂行できる(1人前)
守破離
型を研究し自分と照らし合わせていき、自分にあった型を見つける
自分の型を作ることで「型を破る」
=> 作業を分析し改善・改良できる(1.5人前)
守破離
最終的に師匠の型と自分が作り出した型の上に立脚する個人になる
型から自由になり、型から「離れ」て自在になることができる
=> 新たな知識(技術)を開発できる(創造者)
守破離
守:rubocop先生に教えを請う
破:rubocopのルールを自分に合わせて改善する
離:自分なりのコーディングスタイルを確立する
自分のレベルに合わせたrubocopの活用をしていく
画像引用: http://www.motivation‑up.com/motivation/shuhari.html
rubucop.yml
rubocop用の設定ファイル。rubucopの警告の挙動を変更する
デフォルトでイケてないなと思う挙動を変更する(結構ある)
不要なルールは無効化する
好きな方を選べるルールも多い(インデントスタイルなど)
‑> 自分なりのrubocop.ymlを育てていくことで「離」につながる
よりrubocopを活かすために
rubocopを入れただけでは平和にならない
rubocopを入れただけでは平和にならない
入れただけでは守らない
そのうち警告がうるさくなってきて無視
そして戦場へ...
CI、自動チェック
git hook
pre‑commit, pre‑push
チーム全体でhookを共有しておくのがおすすめ
github連携
houndci, sideciなど
設定相談
rubocopの設定を議論することで共通認識ができる
気に入らないルールはissueなどで相談する
‑> rubocopの設定をチームの合意にする
ローカルでの自動チェック
エディタ連携
guard‑rubocop
rubocopの導入
既存プロジェクトに入れるのはコストがかかるのでtodoを活かす
プロジェクトに入れるなら最初から入れる
個人プロジェクトにデフォルト設定で入れるのが一番おすすめ
自分のコーディングの弱点を知る
そのうち「これは本質的な警告じゃないな」と思うようになる
rubocopの教えを理解した上で無効化するようにしていく
まとめ
自動化できるチェックはrubocopで自動化する
rubocopは自分やチームの段階に応じて調教していく
rubocopと一緒に成長し自分なりのコーディングスタイルの確立へ
ご静聴ありがとうございました
最後に一つ宣伝を
rails developer meetup
第一線で活躍する開発者や企業から知見を学び現場で活かせる考え
方やテクニックを得る非営利勉強会
所属企業と地域の枠を超えた技術コミュニティ
なんのコネもない開発者・企業に唐突に登壇依頼をする運営スタイ
ル
次回
日時: 8/24(木)の19 30~
connpassの募集は8/1から
ハッシュタグ: #railsdm
keynote: pockeさん、伊藤淳一さん
興味のある方は是非ご参加ください

Weitere ähnliche Inhalte

Was ist angesagt?

ぐるぐるDDD(ドメイン駆動設計)に参加してみました
ぐるぐるDDD(ドメイン駆動設計)に参加してみましたぐるぐるDDD(ドメイン駆動設計)に参加してみました
ぐるぐるDDD(ドメイン駆動設計)に参加してみましたTakuya Kawabe
 
Docker study for beginner in My Company 2017/10/19
Docker study for beginner in My Company 2017/10/19Docker study for beginner in My Company 2017/10/19
Docker study for beginner in My Company 2017/10/19TearTheSky
 
[社内勉強会]Gradleを使おう
[社内勉強会]Gradleを使おう[社内勉強会]Gradleを使おう
[社内勉強会]Gradleを使おうhirooooo
 
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座DIVE INTO CODE Corp.
 
マジカルsvnとキュアgit
マジカルsvnとキュアgitマジカルsvnとキュアgit
マジカルsvnとキュアgitTakafumi ONAKA
 
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発慎一 古賀
 
Google Glassでできること XE12版 最新開発情報 Mirror API & GDK
Google Glassでできること XE12版 最新開発情報 Mirror API & GDKGoogle Glassでできること XE12版 最新開発情報 Mirror API & GDK
Google Glassでできること XE12版 最新開発情報 Mirror API & GDKMasahiro Wakame
 
Async deepdive before de:code
Async deepdive before de:codeAsync deepdive before de:code
Async deepdive before de:codeKouji Matsui
 
Cocoa関西勉強会#49
Cocoa関西勉強会#49Cocoa関西勉強会#49
Cocoa関西勉強会#49yashigani
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割Toru Yamaguchi
 
師弟登壇・新米サムライの集い 2013
師弟登壇・新米サムライの集い 2013 師弟登壇・新米サムライの集い 2013
師弟登壇・新米サムライの集い 2013 hiboma
 
Rubyの仕事で食べていくために僕らは!
Rubyの仕事で食べていくために僕らは!Rubyの仕事で食べていくために僕らは!
Rubyの仕事で食べていくために僕らは!Ouka Yuka
 
一人でできるPullRequest
一人でできるPullRequest一人でできるPullRequest
一人でできるPullRequestsnow long
 
WebStormでできること
WebStormでできることWebStormでできること
WebStormでできることkamiyam .
 
2015.04.19 WordBench 埼玉 Git & WordPress
2015.04.19 WordBench 埼玉 Git & WordPress2015.04.19 WordBench 埼玉 Git & WordPress
2015.04.19 WordBench 埼玉 Git & WordPressYutaro Miyazaki
 
お気に入り拡張機能
お気に入り拡張機能お気に入り拡張機能
お気に入り拡張機能SatsukiYabu
 
楽しいゲーム開発管理
楽しいゲーム開発管理楽しいゲーム開発管理
楽しいゲーム開発管理Maki Koiwa
 
JavaScriptを使った開発を始めるなら!TypeScriptをはじめよう ~ ステップアップ
JavaScriptを使った開発を始めるなら!TypeScriptをはじめよう ~ ステップアップJavaScriptを使った開発を始めるなら!TypeScriptをはじめよう ~ ステップアップ
JavaScriptを使った開発を始めるなら!TypeScriptをはじめよう ~ ステップアップ慎一 古賀
 

Was ist angesagt? (20)

DevOpsって何?
DevOpsって何?DevOpsって何?
DevOpsって何?
 
ぐるぐるDDD(ドメイン駆動設計)に参加してみました
ぐるぐるDDD(ドメイン駆動設計)に参加してみましたぐるぐるDDD(ドメイン駆動設計)に参加してみました
ぐるぐるDDD(ドメイン駆動設計)に参加してみました
 
Docker study for beginner in My Company 2017/10/19
Docker study for beginner in My Company 2017/10/19Docker study for beginner in My Company 2017/10/19
Docker study for beginner in My Company 2017/10/19
 
[社内勉強会]Gradleを使おう
[社内勉強会]Gradleを使おう[社内勉強会]Gradleを使おう
[社内勉強会]Gradleを使おう
 
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
 
マジカルsvnとキュアgit
マジカルsvnとキュアgitマジカルsvnとキュアgit
マジカルsvnとキュアgit
 
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
 
Google Glassでできること XE12版 最新開発情報 Mirror API & GDK
Google Glassでできること XE12版 最新開発情報 Mirror API & GDKGoogle Glassでできること XE12版 最新開発情報 Mirror API & GDK
Google Glassでできること XE12版 最新開発情報 Mirror API & GDK
 
Async deepdive before de:code
Async deepdive before de:codeAsync deepdive before de:code
Async deepdive before de:code
 
Cocoa関西勉強会#49
Cocoa関西勉強会#49Cocoa関西勉強会#49
Cocoa関西勉強会#49
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
 
師弟登壇・新米サムライの集い 2013
師弟登壇・新米サムライの集い 2013 師弟登壇・新米サムライの集い 2013
師弟登壇・新米サムライの集い 2013
 
IDEALIZE YOU
IDEALIZE YOUIDEALIZE YOU
IDEALIZE YOU
 
Rubyの仕事で食べていくために僕らは!
Rubyの仕事で食べていくために僕らは!Rubyの仕事で食べていくために僕らは!
Rubyの仕事で食べていくために僕らは!
 
一人でできるPullRequest
一人でできるPullRequest一人でできるPullRequest
一人でできるPullRequest
 
WebStormでできること
WebStormでできることWebStormでできること
WebStormでできること
 
2015.04.19 WordBench 埼玉 Git & WordPress
2015.04.19 WordBench 埼玉 Git & WordPress2015.04.19 WordBench 埼玉 Git & WordPress
2015.04.19 WordBench 埼玉 Git & WordPress
 
お気に入り拡張機能
お気に入り拡張機能お気に入り拡張機能
お気に入り拡張機能
 
楽しいゲーム開発管理
楽しいゲーム開発管理楽しいゲーム開発管理
楽しいゲーム開発管理
 
JavaScriptを使った開発を始めるなら!TypeScriptをはじめよう ~ ステップアップ
JavaScriptを使った開発を始めるなら!TypeScriptをはじめよう ~ ステップアップJavaScriptを使った開発を始めるなら!TypeScriptをはじめよう ~ ステップアップ
JavaScriptを使った開発を始めるなら!TypeScriptをはじめよう ~ ステップアップ
 

Ähnlich wie Rubocopとの付き合い方

「CodeYourRuby」で オープンなコードレビューを体験しよう
「CodeYourRuby」で オープンなコードレビューを体験しよう「CodeYourRuby」で オープンなコードレビューを体験しよう
「CodeYourRuby」で オープンなコードレビューを体験しよう中條 剛
 
ぼくとレビューとモブプログラミング
ぼくとレビューとモブプログラミングぼくとレビューとモブプログラミング
ぼくとレビューとモブプログラミングnaoqoo2
 
どこに何を書くのか?
どこに何を書くのか?どこに何を書くのか?
どこに何を書くのか?pospome
 
OSS開発で.NETを活用してDevOps
OSS開発で.NETを活用してDevOpsOSS開発で.NETを活用してDevOps
OSS開発で.NETを活用してDevOpsMakoto Nishimura
 
今年はRubyを勉強するぞ!という方へCodeYourRubyリポジトリのご紹介
今年はRubyを勉強するぞ!という方へCodeYourRubyリポジトリのご紹介今年はRubyを勉強するぞ!という方へCodeYourRubyリポジトリのご紹介
今年はRubyを勉強するぞ!という方へCodeYourRubyリポジトリのご紹介中條 剛
 
KPT発表会 - アジャイルひよこクラブ
KPT発表会 - アジャイルひよこクラブKPT発表会 - アジャイルひよこクラブ
KPT発表会 - アジャイルひよこクラブAtsushi Harada
 
趣味プロダクトで楽しいコードライフワークを送る
趣味プロダクトで楽しいコードライフワークを送る趣味プロダクトで楽しいコードライフワークを送る
趣味プロダクトで楽しいコードライフワークを送るvolpe_hd28v
 
シナリオレビューという手法の提案
シナリオレビューという手法の提案シナリオレビューという手法の提案
シナリオレビューという手法の提案tuna cook
 
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-nishio
 
DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」
DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」 DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」
DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」 Koichiro Matsuoka
 
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話Terui Masashi
 
【デブサミ福岡B5】コードレビューの進め方~全員で行う品質の維持~
【デブサミ福岡B5】コードレビューの進め方~全員で行う品質の維持~【デブサミ福岡B5】コードレビューの進め方~全員で行う品質の維持~
【デブサミ福岡B5】コードレビューの進め方~全員で行う品質の維持~Developers Summit
 
Aizu.LT16 社会人1年目の失敗とContinuous Integration
Aizu.LT16 社会人1年目の失敗とContinuous IntegrationAizu.LT16 社会人1年目の失敗とContinuous Integration
Aizu.LT16 社会人1年目の失敗とContinuous IntegrationTomoaki Tamura
 
Git hubで雑誌記事を執筆するのは間違っているだろうか
Git hubで雑誌記事を執筆するのは間違っているだろうかGit hubで雑誌記事を執筆するのは間違っているだろうか
Git hubで雑誌記事を執筆するのは間違っているだろうかKakigi Katuyuki
 
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)Masahiro Nishimi
 
何者(Dockerって)
何者(Dockerって)何者(Dockerって)
何者(Dockerって)Koji Saiki
 
何者 (Docker って)
何者 (Docker って)何者 (Docker って)
何者 (Docker って)紘二 佐伯
 
コーディング入門以前
コーディング入門以前コーディング入門以前
コーディング入門以前Yutaka Kinjyo
 
2021/09/15 ノーコード開発について
2021/09/15 ノーコード開発について2021/09/15 ノーコード開発について
2021/09/15 ノーコード開発についてbeychan
 

Ähnlich wie Rubocopとの付き合い方 (20)

「CodeYourRuby」で オープンなコードレビューを体験しよう
「CodeYourRuby」で オープンなコードレビューを体験しよう「CodeYourRuby」で オープンなコードレビューを体験しよう
「CodeYourRuby」で オープンなコードレビューを体験しよう
 
#nds34 LT
#nds34 LT#nds34 LT
#nds34 LT
 
ぼくとレビューとモブプログラミング
ぼくとレビューとモブプログラミングぼくとレビューとモブプログラミング
ぼくとレビューとモブプログラミング
 
どこに何を書くのか?
どこに何を書くのか?どこに何を書くのか?
どこに何を書くのか?
 
OSS開発で.NETを活用してDevOps
OSS開発で.NETを活用してDevOpsOSS開発で.NETを活用してDevOps
OSS開発で.NETを活用してDevOps
 
今年はRubyを勉強するぞ!という方へCodeYourRubyリポジトリのご紹介
今年はRubyを勉強するぞ!という方へCodeYourRubyリポジトリのご紹介今年はRubyを勉強するぞ!という方へCodeYourRubyリポジトリのご紹介
今年はRubyを勉強するぞ!という方へCodeYourRubyリポジトリのご紹介
 
KPT発表会 - アジャイルひよこクラブ
KPT発表会 - アジャイルひよこクラブKPT発表会 - アジャイルひよこクラブ
KPT発表会 - アジャイルひよこクラブ
 
趣味プロダクトで楽しいコードライフワークを送る
趣味プロダクトで楽しいコードライフワークを送る趣味プロダクトで楽しいコードライフワークを送る
趣味プロダクトで楽しいコードライフワークを送る
 
シナリオレビューという手法の提案
シナリオレビューという手法の提案シナリオレビューという手法の提案
シナリオレビューという手法の提案
 
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
 
DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」
DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」 DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」
DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」
 
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話
 
【デブサミ福岡B5】コードレビューの進め方~全員で行う品質の維持~
【デブサミ福岡B5】コードレビューの進め方~全員で行う品質の維持~【デブサミ福岡B5】コードレビューの進め方~全員で行う品質の維持~
【デブサミ福岡B5】コードレビューの進め方~全員で行う品質の維持~
 
Aizu.LT16 社会人1年目の失敗とContinuous Integration
Aizu.LT16 社会人1年目の失敗とContinuous IntegrationAizu.LT16 社会人1年目の失敗とContinuous Integration
Aizu.LT16 社会人1年目の失敗とContinuous Integration
 
Git hubで雑誌記事を執筆するのは間違っているだろうか
Git hubで雑誌記事を執筆するのは間違っているだろうかGit hubで雑誌記事を執筆するのは間違っているだろうか
Git hubで雑誌記事を執筆するのは間違っているだろうか
 
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
 
何者(Dockerって)
何者(Dockerって)何者(Dockerって)
何者(Dockerって)
 
何者 (Docker って)
何者 (Docker って)何者 (Docker って)
何者 (Docker って)
 
コーディング入門以前
コーディング入門以前コーディング入門以前
コーディング入門以前
 
2021/09/15 ノーコード開発について
2021/09/15 ノーコード開発について2021/09/15 ノーコード開発について
2021/09/15 ノーコード開発について
 

Mehr von Yasutomo Uemori

Active job meets kubernetes
Active job meets kubernetesActive job meets kubernetes
Active job meets kubernetesYasutomo Uemori
 
Ruby/Rails Benchmarking and Profiling with TDD
Ruby/Rails Benchmarking and Profiling with TDDRuby/Rails Benchmarking and Profiling with TDD
Ruby/Rails Benchmarking and Profiling with TDDYasutomo Uemori
 
GCP・GKEで作るスケーラブルなゲーム開発環境
GCP・GKEで作るスケーラブルなゲーム開発環境GCP・GKEで作るスケーラブルなゲーム開発環境
GCP・GKEで作るスケーラブルなゲーム開発環境Yasutomo Uemori
 
オンラインゲームのRails複数db戦略
オンラインゲームのRails複数db戦略オンラインゲームのRails複数db戦略
オンラインゲームのRails複数db戦略Yasutomo Uemori
 
ゲーム会社でのRuby : rails活用事例
ゲーム会社でのRuby : rails活用事例ゲーム会社でのRuby : rails活用事例
ゲーム会社でのRuby : rails活用事例Yasutomo Uemori
 

Mehr von Yasutomo Uemori (6)

Active job meets kubernetes
Active job meets kubernetesActive job meets kubernetes
Active job meets kubernetes
 
Ruby/Rails Benchmarking and Profiling with TDD
Ruby/Rails Benchmarking and Profiling with TDDRuby/Rails Benchmarking and Profiling with TDD
Ruby/Rails Benchmarking and Profiling with TDD
 
GCP・GKEで作るスケーラブルなゲーム開発環境
GCP・GKEで作るスケーラブルなゲーム開発環境GCP・GKEで作るスケーラブルなゲーム開発環境
GCP・GKEで作るスケーラブルなゲーム開発環境
 
オンラインゲームのRails複数db戦略
オンラインゲームのRails複数db戦略オンラインゲームのRails複数db戦略
オンラインゲームのRails複数db戦略
 
Rails api way in aiming
Rails api way in aimingRails api way in aiming
Rails api way in aiming
 
ゲーム会社でのRuby : rails活用事例
ゲーム会社でのRuby : rails活用事例ゲーム会社でのRuby : rails活用事例
ゲーム会社でのRuby : rails活用事例
 

Rubocopとの付き合い方