SlideShare a Scribd company logo
1 of 37
Download to read offline
OSS開発手順 Powered by Rabbit 2.1.7
OSS開発手順
須藤功平
株式会社クリアコード
SEゼミ2015 - OSS Hack 4 Beginners
2015-06-27
OSS開発手順 Powered by Rabbit 2.1.7
SEゼミの立場一覧
参加者(みなさん)✓
スポンサー✓
運営✓
OSS開発手順 Powered by Rabbit 2.1.7
立場別SEゼミの目的
参加者
OSSを開発したい!✓
✓
スポンサー
一緒に働きたい人をみつけたい!✓
一緒にOSSを開発するとわかりそう!✓
→参加者のOSS開発参加を支援✓
✓
運営:↑をサポートしたい!✓
OSS開発手順 Powered by Rabbit 2.1.7
参加者のふるまい方
選ばれている!と気負わない
目的(OSSの開発)に集中すればよい✓
✓
スポンサー
本来の参加者に興味✓
✓
仮面をかぶらない
入社→ミスマッチ→お互いに不幸!
仮面をかぶり続けられるならアリ
「m_seki ロールプレイングゲーム」で検索
✓
✓
OSS開発手順 Powered by Rabbit 2.1.7
スポンサー
たくさんいる✓
勉強会中
企業は気にしない✓
担当メンターの人から学ぶ✓
✓
ランチ・懇親会
様々な企業の様々なメンターと交流✓
→今まで知らなかった新しい視点!✓
✓
OSS開発手順 Powered by Rabbit 2.1.7
スポンサー(1)
クラウドワークスさん✓
エス・エム・エスさん✓
万葉さん✓
スマートエデュケーションさん✓
クックパッドさん✓
OSS開発手順 Powered by Rabbit 2.1.7
スポンサー(2)
ビズリーチさん✓
VASILYさん✓
Treasure Dataさん✓
ピクシブさん✓
楽天さん✓
OSS開発手順 Powered by Rabbit 2.1.7
スポンサー(3)
CROOZさん✓
ミラクル・リナックスさん✓
フリークアウトさん✓
ぐるなびさん✓
OSS開発手順 Powered by Rabbit 2.1.7
トレーナー
須藤
運営✓
進行と全体を気にかける係✓
大学生の頃からOSSの開発に参加
RabbitもOSS✓
✓
OSS開発手順 Powered by Rabbit 2.1.7
メンター
参加者のサポート係✓
現役超優秀エンジニア✓
スポンサー企業または運営✓
OSS開発経験者
→困ったり悩んだら積極的に相談✓
✓
OSS開発手順 Powered by Rabbit 2.1.7
このイベントの前提
参加者
OSS開発に参加したい✓
でも参加したことはない✓
✓
↓
仮説:漠然とした不安があるから
OSS開発手順 Powered by Rabbit 2.1.7
このイベントの目的
参加者の
OSS開発参加への
不安を払拭
OSS開発手順 Powered by Rabbit 2.1.7
目的の理由
OSS Hack Weekendの準備
ビクビクせずに済むように
このPR嫌がられないかな…✓
✓
スムーズに進められるように
どこから手をつければいいんだ…✓
時間だけが過ぎていく…✓
✓
OSS開発手順 Powered by Rabbit 2.1.7
不安を払拭すると…
OSS Hack Weekend
ビクビクせずに済むように
このPRでいこう!✓
✓
スムーズに進められるように
まずはここから着手!✓
その後はアレをやろう!✓
✓
OSS開発手順 Powered by Rabbit 2.1.7
参加者の目的の再確認
SEゼミ
OSSを開発したい!(でもなんか不安✓
✓
OSS Hack 4 Beginners
OSS開発参加への不安を払拭!✓
→Weekendでスムーズに取り組める!✓
✓
OSS開発手順 Powered by Rabbit 2.1.7
目的の実現方法概要
手順を伝える
知らないから不安なんじゃない?✓
ただし、1つだけ伝える
不安には多くの選択肢より1つのオススメ✓
✓
1.
失敗しても大丈夫なOSSで体験
未体験だから不安なんじゃない?✓
対象OSS:メンターが関係者✓
2.
OSS開発手順 Powered by Rabbit 2.1.7
目的の実現方法
開発参加時の手順を知る
オススメ手順を知る✓
1.
手順を見る
トレーナーが手順をデモ✓
2.
実践する
参加者が実際に体験する✓
3.
OSS開発手順 Powered by Rabbit 2.1.7
開発参加時の手順
途中で詰まったらメモしておく
(後で直すため)
まず動かす(ものすごく大事)
(急いで進むよりここをちゃんとできることが大事)
✓
開発用にインストール✓
テストを実行✓
OSS開発手順 Powered by Rabbit 2.1.7
詰まったらメモ
うまくいかない
文句言っちゃう?✓
文句を言っている時間で直す?✓
✓
直す!(あるいは報告する)
OSS開発参加のチャンス!楽しもう!✓
次の人はうまくいく✓
✓
メンターへ:うまくいかない時どう動く人と一緒に働きたい?
OSS開発手順 Powered by Rabbit 2.1.7
メモ
forkリポジトリーのissueへ
(forkすることは後で説明する)
✓
再現できる情報を書く
(大事なので午後も説明する)
何をした?何を期待?実際は?✓
✓
メンターへ:最終的に「報告をもらう人が理解できる情報」に
ブラッシュアップするので、雑でいいのでそのときに参考にな
る情報を入れるようにフォロー。自分ならどういう情報を入れ
る?
メンターへ:バグレポートに必要な情報を想像するといいかも
メンターへ:どんな報告をする人と一緒に働きたい?
OSS開発手順 Powered by Rabbit 2.1.7
メモ例
brewでインストールできるはずなのに失敗した
(↑期待する結果)
(↓なにをしたか)
% brew install XXX
(...コマンドの実行結果...)
(↑実際の結果)
XXX is not found
↑というようにパッケージがないと言われる
OSS開発手順 Powered by Rabbit 2.1.7
まず動かす
対象OSSを確認1.
対象OSSをfork2.
対象OSSのドキュメントを確認
「ユーザー」として動かす✓
「開発者」としてじゃない!✓
3.
OSS開発手順 Powered by Rabbit 2.1.7
ユーザーとして動かすドキュメントを読んで…
(↓に不備があったらメモ。後で直す。)
概要理解✓
インストール✓
チュートリアル実行など…✓
✓
このOSSがわかる!
(↑が「まず動かす」で目指すところ。速く!じゃな
い。)
✓
メンターへ:詰まった人のフォローは、問題を代わりに解決で
はなく、自分はこうやって調べる、一緒にやってみよう、でお
願い
メンターへ:一緒の調査経験後、どうなる人と一緒に働きた
い?
OSS開発手順 Powered by Rabbit 2.1.7
わかる
↓の状態になっていること
自分が使える✓
他の人に説明できる✓
他の類似ツールと比較できる✓
✓
「まず動かす」で
「わかる」状態に
ならなかったら…
OSS開発手順 Powered by Rabbit 2.1.7
わからない…
ドキュメントが足りなかった?
サンプルコードを確認✓
テストコードを確認✓
パラメーターを変えながら動かす✓
✓
↑はメモポイント!✓
メンターへ:こういうときは自分はどうやっている?
メンターへ:新しい視点を伝えて
OSS開発手順 Powered by Rabbit 2.1.7
開発参加時の手順
途中で詰まったらメモしておく
(後で直すため)
まず動かす(ものすごく大事)
(急いで進むよりここをちゃんとできることが大事)
✓
開発用にインストール✓
テストを実行✓
OSS開発手順 Powered by Rabbit 2.1.7
開発用にインストール
ドキュメント
あり→その手順に従う✓
なし→メモして後で手順をPR✓
あるけど不備→メモして後で直す✓
✓
通常のインストールより
手間がかかることが多い
✓
OSS開発手順 Powered by Rabbit 2.1.7
テストを実行
ドキュメント
あり→その手順に従う✓
なし→メモして後で手順をPR✓
あるけど不備→メモして後で直す✓
✓
テスト
なし→メモして後でPR
(ただし、テストの仕組みづくりは難易度が高い)
✓
✓
OSS開発手順 Powered by Rabbit 2.1.7
開発参加時の手順
途中で詰まったらメモしておく
(後で直すため)
まず動かす(ものすごく大事)
(急いで進むよりここをちゃんとできることが大事)
✓
開発用にインストール✓
テストを実行✓
OSS開発手順 Powered by Rabbit 2.1.7
今日の流れ - 午前
10:00- 進め方の説明✓
11:00- まず動かす✓
12:00- 無料ランチ
(pixivさん提供!)
✓
13:00- スポンサーのLT✓
OSS開発手順 Powered by Rabbit 2.1.7
今日の流れ - 昼下がり
13:30- まず動かす(続き)✓
15:00- フィードバックしよう✓
OSS開発手順 Powered by Rabbit 2.1.7
今日の流れ - 夕方
17:00- まとめ✓
17:10- 質疑応答✓
17:30- アンケート記入✓
18:00- 無料懇親会✓
デモ
OSS開発手順 Powered by Rabbit 2.1.7
開発参加時の手順
途中で詰まったらメモしておく
(後で直すため)
まず動かす(ものすごく大事)
今日はここまででもよい✓
✓
開発用にインストール✓
テストを実行✓
メンターへ:つまづいていても答えを教えずに自分ならどこに
着目して調べるかを伝えて一緒に調べて
メンターへ:動いたらグループの他の人を手伝うように促して
OSS開発手順 Powered by Rabbit 2.1.7
詰まったら…?
うまくいかない
文句言っちゃう?✓
文句を言っている時間で直す?✓
✓
直す!(あるいは報告する)
OSS開発参加のチャンス!楽しもう!✓
次の人はうまくいく✓
✓
メンターへ:うまくいかない時どう動く人と一緒に働きたい?
OSS開発手順 Powered by Rabbit 2.1.7
大事なこと
楽しむ!
OSS開発手順 Powered by Rabbit 2.1.7
まずユーザーとして動かす
対象OSSを確認→fork1.
対象OSSのドキュメントを確認
(↓に不備があったらforkのissueにメモ。後で直
す。)
概要理解・インストール・✓
チュートリアル実行など…✓
2.
このOSSがわかる!を目指す
(わかる = 自分が使える・他の人に説明できる)

More Related Content

What's hot

自社サービスkintoneをふんだんに活用したサイボウズの開発フロー
自社サービスkintoneをふんだんに活用したサイボウズの開発フロー自社サービスkintoneをふんだんに活用したサイボウズの開発フロー
自社サービスkintoneをふんだんに活用したサイボウズの開発フローYuki Okada
 
エンジニア組織づくり5年。見えてきた関西Web界隈のええとこ、あかんとこ - Developers Summit 2019 KANSAI
エンジニア組織づくり5年。見えてきた関西Web界隈のええとこ、あかんとこ - Developers Summit 2019 KANSAIエンジニア組織づくり5年。見えてきた関西Web界隈のええとこ、あかんとこ - Developers Summit 2019 KANSAI
エンジニア組織づくり5年。見えてきた関西Web界隈のええとこ、あかんとこ - Developers Summit 2019 KANSAIYuki Okada
 
kintoneチームのKAIZEN文化
kintoneチームのKAIZEN文化kintoneチームのKAIZEN文化
kintoneチームのKAIZEN文化Ryo Mitoma
 
機能追加せずに使える!concrete5の権限とワークフローについて
機能追加せずに使える!concrete5の権限とワークフローについて機能追加せずに使える!concrete5の権限とワークフローについて
機能追加せずに使える!concrete5の権限とワークフローについてHayaka Shoji
 
Motivationware
MotivationwareMotivationware
MotivationwareKoichi ITO
 
開発時の探し物を楽にする習慣作り
開発時の探し物を楽にする習慣作り開発時の探し物を楽にする習慣作り
開発時の探し物を楽にする習慣作りKoichi ITO
 
concrete5の権限とワークフローについて
concrete5の権限とワークフローについてconcrete5の権限とワークフローについて
concrete5の権限とワークフローについてHayaka Shoji
 
Salary negotiation battle on Cybozu - employee side
Salary negotiation battle on Cybozu - employee sideSalary negotiation battle on Cybozu - employee side
Salary negotiation battle on Cybozu - employee sideRyo Mitoma
 
Azure Machine Leaning Workbench の使い方
Azure Machine Leaning Workbench の使い方Azure Machine Leaning Workbench の使い方
Azure Machine Leaning Workbench の使い方Yoshitaka Seo
 
初心者の皆さんに伝えたいこと
初心者の皆さんに伝えたいこと初心者の皆さんに伝えたいこと
初心者の皆さんに伝えたいことYamamoto Kazuhisa
 
20201107 jjug ccc Spring Boot ユーザーのための Quarkus 入門
20201107 jjug ccc Spring Boot ユーザーのための Quarkus 入門20201107 jjug ccc Spring Boot ユーザーのための Quarkus 入門
20201107 jjug ccc Spring Boot ユーザーのための Quarkus 入門ryoheiseki1
 
kintoneとカラーユニバーサルデザイン
kintoneとカラーユニバーサルデザインkintoneとカラーユニバーサルデザイン
kintoneとカラーユニバーサルデザインKobayashi Daisuke
 
Ruby会議08 倉貫発表資料
Ruby会議08 倉貫発表資料Ruby会議08 倉貫発表資料
Ruby会議08 倉貫発表資料Yoshihito Kuranuki
 
第4回concrete5初心者勉強会-基礎編-
第4回concrete5初心者勉強会-基礎編-第4回concrete5初心者勉強会-基礎編-
第4回concrete5初心者勉強会-基礎編-Hayaka Shoji
 
SEゼミ2015 - OSS Hack Weekend - 2日目のまとめ
SEゼミ2015 - OSS Hack Weekend - 2日目のまとめSEゼミ2015 - OSS Hack Weekend - 2日目のまとめ
SEゼミ2015 - OSS Hack Weekend - 2日目のまとめKouhei Sutou
 
#RoadToDF19 - Dreamforceでやりたいこと
#RoadToDF19 - Dreamforceでやりたいこと#RoadToDF19 - Dreamforceでやりたいこと
#RoadToDF19 - DreamforceでやりたいことTakahito Miyamoto
 
管理部門の仕事をチームから組織にした話
管理部門の仕事をチームから組織にした話管理部門の仕事をチームから組織にした話
管理部門の仕事をチームから組織にした話Yukie Ozaki
 
ITWeekモバイル活用展登壇資料
ITWeekモバイル活用展登壇資料ITWeekモバイル活用展登壇資料
ITWeekモバイル活用展登壇資料altplus-lab
 
チームで取り組む!サイボウズのアクセシビリティ 開発プロセスにアクセシビリティをインクルードする | GAAD Japan 2021
チームで取り組む!サイボウズのアクセシビリティ 開発プロセスにアクセシビリティをインクルードする | GAAD Japan 2021チームで取り組む!サイボウズのアクセシビリティ 開発プロセスにアクセシビリティをインクルードする | GAAD Japan 2021
チームで取り組む!サイボウズのアクセシビリティ 開発プロセスにアクセシビリティをインクルードする | GAAD Japan 2021Kobayashi Daisuke
 

What's hot (20)

自社サービスkintoneをふんだんに活用したサイボウズの開発フロー
自社サービスkintoneをふんだんに活用したサイボウズの開発フロー自社サービスkintoneをふんだんに活用したサイボウズの開発フロー
自社サービスkintoneをふんだんに活用したサイボウズの開発フロー
 
エンジニア組織づくり5年。見えてきた関西Web界隈のええとこ、あかんとこ - Developers Summit 2019 KANSAI
エンジニア組織づくり5年。見えてきた関西Web界隈のええとこ、あかんとこ - Developers Summit 2019 KANSAIエンジニア組織づくり5年。見えてきた関西Web界隈のええとこ、あかんとこ - Developers Summit 2019 KANSAI
エンジニア組織づくり5年。見えてきた関西Web界隈のええとこ、あかんとこ - Developers Summit 2019 KANSAI
 
kintoneチームのKAIZEN文化
kintoneチームのKAIZEN文化kintoneチームのKAIZEN文化
kintoneチームのKAIZEN文化
 
機能追加せずに使える!concrete5の権限とワークフローについて
機能追加せずに使える!concrete5の権限とワークフローについて機能追加せずに使える!concrete5の権限とワークフローについて
機能追加せずに使える!concrete5の権限とワークフローについて
 
Motivationware
MotivationwareMotivationware
Motivationware
 
開発時の探し物を楽にする習慣作り
開発時の探し物を楽にする習慣作り開発時の探し物を楽にする習慣作り
開発時の探し物を楽にする習慣作り
 
concrete5の権限とワークフローについて
concrete5の権限とワークフローについてconcrete5の権限とワークフローについて
concrete5の権限とワークフローについて
 
Salary negotiation battle on Cybozu - employee side
Salary negotiation battle on Cybozu - employee sideSalary negotiation battle on Cybozu - employee side
Salary negotiation battle on Cybozu - employee side
 
Azure Machine Leaning Workbench の使い方
Azure Machine Leaning Workbench の使い方Azure Machine Leaning Workbench の使い方
Azure Machine Leaning Workbench の使い方
 
初心者の皆さんに伝えたいこと
初心者の皆さんに伝えたいこと初心者の皆さんに伝えたいこと
初心者の皆さんに伝えたいこと
 
20201107 jjug ccc Spring Boot ユーザーのための Quarkus 入門
20201107 jjug ccc Spring Boot ユーザーのための Quarkus 入門20201107 jjug ccc Spring Boot ユーザーのための Quarkus 入門
20201107 jjug ccc Spring Boot ユーザーのための Quarkus 入門
 
kintoneとカラーユニバーサルデザイン
kintoneとカラーユニバーサルデザインkintoneとカラーユニバーサルデザイン
kintoneとカラーユニバーサルデザイン
 
Ruby会議08 倉貫発表資料
Ruby会議08 倉貫発表資料Ruby会議08 倉貫発表資料
Ruby会議08 倉貫発表資料
 
MyInceptionDeck
MyInceptionDeckMyInceptionDeck
MyInceptionDeck
 
第4回concrete5初心者勉強会-基礎編-
第4回concrete5初心者勉強会-基礎編-第4回concrete5初心者勉強会-基礎編-
第4回concrete5初心者勉強会-基礎編-
 
SEゼミ2015 - OSS Hack Weekend - 2日目のまとめ
SEゼミ2015 - OSS Hack Weekend - 2日目のまとめSEゼミ2015 - OSS Hack Weekend - 2日目のまとめ
SEゼミ2015 - OSS Hack Weekend - 2日目のまとめ
 
#RoadToDF19 - Dreamforceでやりたいこと
#RoadToDF19 - Dreamforceでやりたいこと#RoadToDF19 - Dreamforceでやりたいこと
#RoadToDF19 - Dreamforceでやりたいこと
 
管理部門の仕事をチームから組織にした話
管理部門の仕事をチームから組織にした話管理部門の仕事をチームから組織にした話
管理部門の仕事をチームから組織にした話
 
ITWeekモバイル活用展登壇資料
ITWeekモバイル活用展登壇資料ITWeekモバイル活用展登壇資料
ITWeekモバイル活用展登壇資料
 
チームで取り組む!サイボウズのアクセシビリティ 開発プロセスにアクセシビリティをインクルードする | GAAD Japan 2021
チームで取り組む!サイボウズのアクセシビリティ 開発プロセスにアクセシビリティをインクルードする | GAAD Japan 2021チームで取り組む!サイボウズのアクセシビリティ 開発プロセスにアクセシビリティをインクルードする | GAAD Japan 2021
チームで取り組む!サイボウズのアクセシビリティ 開発プロセスにアクセシビリティをインクルードする | GAAD Japan 2021
 

Viewers also liked

ngx_http_groonga - 全文検索nginx
ngx_http_groonga - 全文検索nginxngx_http_groonga - 全文検索nginx
ngx_http_groonga - 全文検索nginxKouhei Sutou
 
リーダブルコードワークショップ(パイオニア向け)のコードチェンジ
リーダブルコードワークショップ(パイオニア向け)のコードチェンジリーダブルコードワークショップ(パイオニア向け)のコードチェンジ
リーダブルコードワークショップ(パイオニア向け)のコードチェンジKouhei Sutou
 
SEゼミ2014 - リーダブルコード勉強会のアイスブレイク
SEゼミ2014 - リーダブルコード勉強会のアイスブレイクSEゼミ2014 - リーダブルコード勉強会のアイスブレイク
SEゼミ2014 - リーダブルコード勉強会のアイスブレイクKouhei Sutou
 
実践リーダブルコードのアイスブレイク
実践リーダブルコードのアイスブレイク実践リーダブルコードのアイスブレイク
実践リーダブルコードのアイスブレイクKouhei Sutou
 
リーダブルコード勉強会 in 筑波大 - 練習
リーダブルコード勉強会 in 筑波大 - 練習リーダブルコード勉強会 in 筑波大 - 練習
リーダブルコード勉強会 in 筑波大 - 練習Kouhei Sutou
 
リーダブルコード勉強会 in 筑波大のグループふりかえり
リーダブルコード勉強会 in 筑波大のグループふりかえりリーダブルコード勉強会 in 筑波大のグループふりかえり
リーダブルコード勉強会 in 筑波大のグループふりかえりKouhei Sutou
 
SEゼミ2014 - リーダブルコード勉強会のまとめ
SEゼミ2014 - リーダブルコード勉強会のまとめSEゼミ2014 - リーダブルコード勉強会のまとめ
SEゼミ2014 - リーダブルコード勉強会のまとめKouhei Sutou
 
SEゼミ2014 - リーダブルコード勉強会のまとめ
SEゼミ2014 - リーダブルコード勉強会のまとめSEゼミ2014 - リーダブルコード勉強会のまとめ
SEゼミ2014 - リーダブルコード勉強会のまとめKouhei Sutou
 
リーダブルコードワークショップ(パイオニア向け)のまとめ
リーダブルコードワークショップ(パイオニア向け)のまとめリーダブルコードワークショップ(パイオニア向け)のまとめ
リーダブルコードワークショップ(パイオニア向け)のまとめKouhei Sutou
 
SEゼミ2015 - OSS Hack 4 Beginners - フィードバック
SEゼミ2015 - OSS Hack 4 Beginners - フィードバックSEゼミ2015 - OSS Hack 4 Beginners - フィードバック
SEゼミ2015 - OSS Hack 4 Beginners - フィードバックKouhei Sutou
 
リーダブルコード勉強会 in 筑波大の進め方
リーダブルコード勉強会 in 筑波大の進め方リーダブルコード勉強会 in 筑波大の進め方
リーダブルコード勉強会 in 筑波大の進め方Kouhei Sutou
 
OSS開発者を増やしたい!
OSS開発者を増やしたい!OSS開発者を増やしたい!
OSS開発者を増やしたい!Kouhei Sutou
 
Hatoholのログ監視機能 2014/10版
Hatoholのログ監視機能 2014/10版Hatoholのログ監視機能 2014/10版
Hatoholのログ監視機能 2014/10版Kouhei Sutou
 
SEゼミ2014 - リーダブルコード勉強会のアイスブレイク
SEゼミ2014 - リーダブルコード勉強会のアイスブレイクSEゼミ2014 - リーダブルコード勉強会のアイスブレイク
SEゼミ2014 - リーダブルコード勉強会のアイスブレイクKouhei Sutou
 
OSS Gateワークショップ(チュートリアル) - まとめ
OSS Gateワークショップ(チュートリアル) - まとめOSS Gateワークショップ(チュートリアル) - まとめ
OSS Gateワークショップ(チュートリアル) - まとめKouhei Sutou
 
Mroonga開発者が来たぞ!
Mroonga開発者が来たぞ!Mroonga開発者が来たぞ!
Mroonga開発者が来たぞ!Kouhei Sutou
 
PGroonga – Make PostgreSQL fast full text search platform for all languages!
PGroonga – Make PostgreSQL fast full text search platform for all languages!PGroonga – Make PostgreSQL fast full text search platform for all languages!
PGroonga – Make PostgreSQL fast full text search platform for all languages!Kouhei Sutou
 

Viewers also liked (18)

ngx_http_groonga - 全文検索nginx
ngx_http_groonga - 全文検索nginxngx_http_groonga - 全文検索nginx
ngx_http_groonga - 全文検索nginx
 
リーダブルコードワークショップ(パイオニア向け)のコードチェンジ
リーダブルコードワークショップ(パイオニア向け)のコードチェンジリーダブルコードワークショップ(パイオニア向け)のコードチェンジ
リーダブルコードワークショップ(パイオニア向け)のコードチェンジ
 
SEゼミ2014 - リーダブルコード勉強会のアイスブレイク
SEゼミ2014 - リーダブルコード勉強会のアイスブレイクSEゼミ2014 - リーダブルコード勉強会のアイスブレイク
SEゼミ2014 - リーダブルコード勉強会のアイスブレイク
 
実践リーダブルコードのアイスブレイク
実践リーダブルコードのアイスブレイク実践リーダブルコードのアイスブレイク
実践リーダブルコードのアイスブレイク
 
リーダブルコード勉強会 in 筑波大 - 練習
リーダブルコード勉強会 in 筑波大 - 練習リーダブルコード勉強会 in 筑波大 - 練習
リーダブルコード勉強会 in 筑波大 - 練習
 
リーダブルコード勉強会 in 筑波大のグループふりかえり
リーダブルコード勉強会 in 筑波大のグループふりかえりリーダブルコード勉強会 in 筑波大のグループふりかえり
リーダブルコード勉強会 in 筑波大のグループふりかえり
 
SEゼミ2014 - リーダブルコード勉強会のまとめ
SEゼミ2014 - リーダブルコード勉強会のまとめSEゼミ2014 - リーダブルコード勉強会のまとめ
SEゼミ2014 - リーダブルコード勉強会のまとめ
 
SEゼミ2014 - リーダブルコード勉強会のまとめ
SEゼミ2014 - リーダブルコード勉強会のまとめSEゼミ2014 - リーダブルコード勉強会のまとめ
SEゼミ2014 - リーダブルコード勉強会のまとめ
 
リーダブルコードワークショップ(パイオニア向け)のまとめ
リーダブルコードワークショップ(パイオニア向け)のまとめリーダブルコードワークショップ(パイオニア向け)のまとめ
リーダブルコードワークショップ(パイオニア向け)のまとめ
 
SEゼミ2015 - OSS Hack 4 Beginners - フィードバック
SEゼミ2015 - OSS Hack 4 Beginners - フィードバックSEゼミ2015 - OSS Hack 4 Beginners - フィードバック
SEゼミ2015 - OSS Hack 4 Beginners - フィードバック
 
リーダブルコード勉強会 in 筑波大の進め方
リーダブルコード勉強会 in 筑波大の進め方リーダブルコード勉強会 in 筑波大の進め方
リーダブルコード勉強会 in 筑波大の進め方
 
OSS開発者を増やしたい!
OSS開発者を増やしたい!OSS開発者を増やしたい!
OSS開発者を増やしたい!
 
Hatoholのログ監視機能 2014/10版
Hatoholのログ監視機能 2014/10版Hatoholのログ監視機能 2014/10版
Hatoholのログ監視機能 2014/10版
 
SEゼミ2014 - リーダブルコード勉強会のアイスブレイク
SEゼミ2014 - リーダブルコード勉強会のアイスブレイクSEゼミ2014 - リーダブルコード勉強会のアイスブレイク
SEゼミ2014 - リーダブルコード勉強会のアイスブレイク
 
OSS Gateワークショップ(チュートリアル) - まとめ
OSS Gateワークショップ(チュートリアル) - まとめOSS Gateワークショップ(チュートリアル) - まとめ
OSS Gateワークショップ(チュートリアル) - まとめ
 
Groonga族2015
Groonga族2015Groonga族2015
Groonga族2015
 
Mroonga開発者が来たぞ!
Mroonga開発者が来たぞ!Mroonga開発者が来たぞ!
Mroonga開発者が来たぞ!
 
PGroonga – Make PostgreSQL fast full text search platform for all languages!
PGroonga – Make PostgreSQL fast full text search platform for all languages!PGroonga – Make PostgreSQL fast full text search platform for all languages!
PGroonga – Make PostgreSQL fast full text search platform for all languages!
 

More from Kouhei Sutou

RubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
RubyKaigi 2022 - Fast data processing with Ruby and Apache ArrowRubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
RubyKaigi 2022 - Fast data processing with Ruby and Apache ArrowKouhei Sutou
 
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021Kouhei Sutou
 
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache ArrowRubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache ArrowKouhei Sutou
 
Rubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェアRubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェアKouhei Sutou
 
Apache Arrowフォーマットはなぜ速いのか
Apache Arrowフォーマットはなぜ速いのかApache Arrowフォーマットはなぜ速いのか
Apache Arrowフォーマットはなぜ速いのかKouhei Sutou
 
Apache Arrow 1.0 - A cross-language development platform for in-memory data
Apache Arrow 1.0 - A cross-language development platform for in-memory dataApache Arrow 1.0 - A cross-language development platform for in-memory data
Apache Arrow 1.0 - A cross-language development platform for in-memory dataKouhei Sutou
 
Redmine検索の未来像
Redmine検索の未来像Redmine検索の未来像
Redmine検索の未来像Kouhei Sutou
 
Apache Arrow - A cross-language development platform for in-memory data
Apache Arrow - A cross-language development platform for in-memory dataApache Arrow - A cross-language development platform for in-memory data
Apache Arrow - A cross-language development platform for in-memory dataKouhei Sutou
 
Better CSV processing with Ruby 2.6
Better CSV processing with Ruby 2.6Better CSV processing with Ruby 2.6
Better CSV processing with Ruby 2.6Kouhei Sutou
 
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームApache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームKouhei Sutou
 
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システムMySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システムKouhei Sutou
 
MySQL 8.0でMroonga
MySQL 8.0でMroongaMySQL 8.0でMroonga
MySQL 8.0でMroongaKouhei Sutou
 
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!Kouhei Sutou
 
MariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システムMariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システムKouhei Sutou
 
PGroonga 2 – Make PostgreSQL rich full text search system backend!
PGroonga 2 – Make PostgreSQL rich full text search system backend!PGroonga 2 – Make PostgreSQL rich full text search system backend!
PGroonga 2 – Make PostgreSQL rich full text search system backend!Kouhei Sutou
 

More from Kouhei Sutou (20)

RubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
RubyKaigi 2022 - Fast data processing with Ruby and Apache ArrowRubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
RubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
 
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
 
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache ArrowRubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
 
Rubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェアRubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェア
 
Apache Arrowフォーマットはなぜ速いのか
Apache Arrowフォーマットはなぜ速いのかApache Arrowフォーマットはなぜ速いのか
Apache Arrowフォーマットはなぜ速いのか
 
Apache Arrow 1.0 - A cross-language development platform for in-memory data
Apache Arrow 1.0 - A cross-language development platform for in-memory dataApache Arrow 1.0 - A cross-language development platform for in-memory data
Apache Arrow 1.0 - A cross-language development platform for in-memory data
 
Apache Arrow 2019
Apache Arrow 2019Apache Arrow 2019
Apache Arrow 2019
 
Redmine検索の未来像
Redmine検索の未来像Redmine検索の未来像
Redmine検索の未来像
 
Apache Arrow - A cross-language development platform for in-memory data
Apache Arrow - A cross-language development platform for in-memory dataApache Arrow - A cross-language development platform for in-memory data
Apache Arrow - A cross-language development platform for in-memory data
 
Better CSV processing with Ruby 2.6
Better CSV processing with Ruby 2.6Better CSV processing with Ruby 2.6
Better CSV processing with Ruby 2.6
 
Apache Arrow
Apache ArrowApache Arrow
Apache Arrow
 
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームApache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォーム
 
Apache Arrow
Apache ArrowApache Arrow
Apache Arrow
 
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システムMySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
 
MySQL 8.0でMroonga
MySQL 8.0でMroongaMySQL 8.0でMroonga
MySQL 8.0でMroonga
 
My way with Ruby
My way with RubyMy way with Ruby
My way with Ruby
 
Red Data Tools
Red Data ToolsRed Data Tools
Red Data Tools
 
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
 
MariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システムMariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システム
 
PGroonga 2 – Make PostgreSQL rich full text search system backend!
PGroonga 2 – Make PostgreSQL rich full text search system backend!PGroonga 2 – Make PostgreSQL rich full text search system backend!
PGroonga 2 – Make PostgreSQL rich full text search system backend!
 

SEゼミ2015 - OSS Hack 4 Beginners - OSS開発手順

  • 1. OSS開発手順 Powered by Rabbit 2.1.7 OSS開発手順 須藤功平 株式会社クリアコード SEゼミ2015 - OSS Hack 4 Beginners 2015-06-27
  • 2. OSS開発手順 Powered by Rabbit 2.1.7 SEゼミの立場一覧 参加者(みなさん)✓ スポンサー✓ 運営✓
  • 3. OSS開発手順 Powered by Rabbit 2.1.7 立場別SEゼミの目的 参加者 OSSを開発したい!✓ ✓ スポンサー 一緒に働きたい人をみつけたい!✓ 一緒にOSSを開発するとわかりそう!✓ →参加者のOSS開発参加を支援✓ ✓ 運営:↑をサポートしたい!✓
  • 4. OSS開発手順 Powered by Rabbit 2.1.7 参加者のふるまい方 選ばれている!と気負わない 目的(OSSの開発)に集中すればよい✓ ✓ スポンサー 本来の参加者に興味✓ ✓ 仮面をかぶらない 入社→ミスマッチ→お互いに不幸! 仮面をかぶり続けられるならアリ 「m_seki ロールプレイングゲーム」で検索 ✓ ✓
  • 5. OSS開発手順 Powered by Rabbit 2.1.7 スポンサー たくさんいる✓ 勉強会中 企業は気にしない✓ 担当メンターの人から学ぶ✓ ✓ ランチ・懇親会 様々な企業の様々なメンターと交流✓ →今まで知らなかった新しい視点!✓ ✓
  • 6. OSS開発手順 Powered by Rabbit 2.1.7 スポンサー(1) クラウドワークスさん✓ エス・エム・エスさん✓ 万葉さん✓ スマートエデュケーションさん✓ クックパッドさん✓
  • 7. OSS開発手順 Powered by Rabbit 2.1.7 スポンサー(2) ビズリーチさん✓ VASILYさん✓ Treasure Dataさん✓ ピクシブさん✓ 楽天さん✓
  • 8. OSS開発手順 Powered by Rabbit 2.1.7 スポンサー(3) CROOZさん✓ ミラクル・リナックスさん✓ フリークアウトさん✓ ぐるなびさん✓
  • 9. OSS開発手順 Powered by Rabbit 2.1.7 トレーナー 須藤 運営✓ 進行と全体を気にかける係✓ 大学生の頃からOSSの開発に参加 RabbitもOSS✓ ✓
  • 10. OSS開発手順 Powered by Rabbit 2.1.7 メンター 参加者のサポート係✓ 現役超優秀エンジニア✓ スポンサー企業または運営✓ OSS開発経験者 →困ったり悩んだら積極的に相談✓ ✓
  • 11. OSS開発手順 Powered by Rabbit 2.1.7 このイベントの前提 参加者 OSS開発に参加したい✓ でも参加したことはない✓ ✓ ↓ 仮説:漠然とした不安があるから
  • 12. OSS開発手順 Powered by Rabbit 2.1.7 このイベントの目的 参加者の OSS開発参加への 不安を払拭
  • 13. OSS開発手順 Powered by Rabbit 2.1.7 目的の理由 OSS Hack Weekendの準備 ビクビクせずに済むように このPR嫌がられないかな…✓ ✓ スムーズに進められるように どこから手をつければいいんだ…✓ 時間だけが過ぎていく…✓ ✓
  • 14. OSS開発手順 Powered by Rabbit 2.1.7 不安を払拭すると… OSS Hack Weekend ビクビクせずに済むように このPRでいこう!✓ ✓ スムーズに進められるように まずはここから着手!✓ その後はアレをやろう!✓ ✓
  • 15. OSS開発手順 Powered by Rabbit 2.1.7 参加者の目的の再確認 SEゼミ OSSを開発したい!(でもなんか不安✓ ✓ OSS Hack 4 Beginners OSS開発参加への不安を払拭!✓ →Weekendでスムーズに取り組める!✓ ✓
  • 16. OSS開発手順 Powered by Rabbit 2.1.7 目的の実現方法概要 手順を伝える 知らないから不安なんじゃない?✓ ただし、1つだけ伝える 不安には多くの選択肢より1つのオススメ✓ ✓ 1. 失敗しても大丈夫なOSSで体験 未体験だから不安なんじゃない?✓ 対象OSS:メンターが関係者✓ 2.
  • 17. OSS開発手順 Powered by Rabbit 2.1.7 目的の実現方法 開発参加時の手順を知る オススメ手順を知る✓ 1. 手順を見る トレーナーが手順をデモ✓ 2. 実践する 参加者が実際に体験する✓ 3.
  • 18. OSS開発手順 Powered by Rabbit 2.1.7 開発参加時の手順 途中で詰まったらメモしておく (後で直すため) まず動かす(ものすごく大事) (急いで進むよりここをちゃんとできることが大事) ✓ 開発用にインストール✓ テストを実行✓
  • 19. OSS開発手順 Powered by Rabbit 2.1.7 詰まったらメモ うまくいかない 文句言っちゃう?✓ 文句を言っている時間で直す?✓ ✓ 直す!(あるいは報告する) OSS開発参加のチャンス!楽しもう!✓ 次の人はうまくいく✓ ✓ メンターへ:うまくいかない時どう動く人と一緒に働きたい?
  • 20. OSS開発手順 Powered by Rabbit 2.1.7 メモ forkリポジトリーのissueへ (forkすることは後で説明する) ✓ 再現できる情報を書く (大事なので午後も説明する) 何をした?何を期待?実際は?✓ ✓ メンターへ:最終的に「報告をもらう人が理解できる情報」に ブラッシュアップするので、雑でいいのでそのときに参考にな る情報を入れるようにフォロー。自分ならどういう情報を入れ る? メンターへ:バグレポートに必要な情報を想像するといいかも メンターへ:どんな報告をする人と一緒に働きたい?
  • 21. OSS開発手順 Powered by Rabbit 2.1.7 メモ例 brewでインストールできるはずなのに失敗した (↑期待する結果) (↓なにをしたか) % brew install XXX (...コマンドの実行結果...) (↑実際の結果) XXX is not found ↑というようにパッケージがないと言われる
  • 22. OSS開発手順 Powered by Rabbit 2.1.7 まず動かす 対象OSSを確認1. 対象OSSをfork2. 対象OSSのドキュメントを確認 「ユーザー」として動かす✓ 「開発者」としてじゃない!✓ 3.
  • 23. OSS開発手順 Powered by Rabbit 2.1.7 ユーザーとして動かすドキュメントを読んで… (↓に不備があったらメモ。後で直す。) 概要理解✓ インストール✓ チュートリアル実行など…✓ ✓ このOSSがわかる! (↑が「まず動かす」で目指すところ。速く!じゃな い。) ✓ メンターへ:詰まった人のフォローは、問題を代わりに解決で はなく、自分はこうやって調べる、一緒にやってみよう、でお 願い メンターへ:一緒の調査経験後、どうなる人と一緒に働きた い?
  • 24. OSS開発手順 Powered by Rabbit 2.1.7 わかる ↓の状態になっていること 自分が使える✓ 他の人に説明できる✓ 他の類似ツールと比較できる✓ ✓ 「まず動かす」で 「わかる」状態に ならなかったら…
  • 25. OSS開発手順 Powered by Rabbit 2.1.7 わからない… ドキュメントが足りなかった? サンプルコードを確認✓ テストコードを確認✓ パラメーターを変えながら動かす✓ ✓ ↑はメモポイント!✓ メンターへ:こういうときは自分はどうやっている? メンターへ:新しい視点を伝えて
  • 26. OSS開発手順 Powered by Rabbit 2.1.7 開発参加時の手順 途中で詰まったらメモしておく (後で直すため) まず動かす(ものすごく大事) (急いで進むよりここをちゃんとできることが大事) ✓ 開発用にインストール✓ テストを実行✓
  • 27. OSS開発手順 Powered by Rabbit 2.1.7 開発用にインストール ドキュメント あり→その手順に従う✓ なし→メモして後で手順をPR✓ あるけど不備→メモして後で直す✓ ✓ 通常のインストールより 手間がかかることが多い ✓
  • 28. OSS開発手順 Powered by Rabbit 2.1.7 テストを実行 ドキュメント あり→その手順に従う✓ なし→メモして後で手順をPR✓ あるけど不備→メモして後で直す✓ ✓ テスト なし→メモして後でPR (ただし、テストの仕組みづくりは難易度が高い) ✓ ✓
  • 29. OSS開発手順 Powered by Rabbit 2.1.7 開発参加時の手順 途中で詰まったらメモしておく (後で直すため) まず動かす(ものすごく大事) (急いで進むよりここをちゃんとできることが大事) ✓ 開発用にインストール✓ テストを実行✓
  • 30. OSS開発手順 Powered by Rabbit 2.1.7 今日の流れ - 午前 10:00- 進め方の説明✓ 11:00- まず動かす✓ 12:00- 無料ランチ (pixivさん提供!) ✓ 13:00- スポンサーのLT✓
  • 31. OSS開発手順 Powered by Rabbit 2.1.7 今日の流れ - 昼下がり 13:30- まず動かす(続き)✓ 15:00- フィードバックしよう✓
  • 32. OSS開発手順 Powered by Rabbit 2.1.7 今日の流れ - 夕方 17:00- まとめ✓ 17:10- 質疑応答✓ 17:30- アンケート記入✓ 18:00- 無料懇親会✓
  • 34. OSS開発手順 Powered by Rabbit 2.1.7 開発参加時の手順 途中で詰まったらメモしておく (後で直すため) まず動かす(ものすごく大事) 今日はここまででもよい✓ ✓ 開発用にインストール✓ テストを実行✓ メンターへ:つまづいていても答えを教えずに自分ならどこに 着目して調べるかを伝えて一緒に調べて メンターへ:動いたらグループの他の人を手伝うように促して
  • 35. OSS開発手順 Powered by Rabbit 2.1.7 詰まったら…? うまくいかない 文句言っちゃう?✓ 文句を言っている時間で直す?✓ ✓ 直す!(あるいは報告する) OSS開発参加のチャンス!楽しもう!✓ 次の人はうまくいく✓ ✓ メンターへ:うまくいかない時どう動く人と一緒に働きたい?
  • 36. OSS開発手順 Powered by Rabbit 2.1.7 大事なこと 楽しむ!
  • 37. OSS開発手順 Powered by Rabbit 2.1.7 まずユーザーとして動かす 対象OSSを確認→fork1. 対象OSSのドキュメントを確認 (↓に不備があったらforkのissueにメモ。後で直 す。) 概要理解・インストール・✓ チュートリアル実行など…✓ 2. このOSSがわかる!を目指す (わかる = 自分が使える・他の人に説明できる)