SlideShare a Scribd company logo
1 of 38
Download to read offline
概要 Powered by Rabbit 2.1.7
概要
須藤功平
株式会社クリアコード
SEゼミ2015 - OSS Hack Weekend
2015-07-11
概要 Powered by Rabbit 2.1.7
SEゼミの立場一覧
参加者(みなさん)✓
スポンサー✓
運営✓
概要 Powered by Rabbit 2.1.7
立場別SEゼミの目的
参加者
OSSを開発したい!✓
✓
スポンサー
一緒に働きたい人をみつけたい!✓
一緒にOSSを開発するとわかりそう!✓
→参加者のOSS開発参加を支援✓
✓
運営:↑をサポートしたい!✓
概要 Powered by Rabbit 2.1.7
参加者のふるまい方
選ばれている!と気負わない
目的(OSSの開発)に集中すればよい✓
✓
スポンサー
本来の参加者に興味✓
✓
仮面をかぶらない
入社→ミスマッチ→お互いに不幸!
仮面をかぶり続けられるならアリ
「m_seki ロールプレイングゲーム」で検索
✓
✓
概要 Powered by Rabbit 2.1.7
スポンサー
たくさんいる✓
勉強会中
企業は気にしない✓
担当メンターの人から学ぶ✓
✓
ランチ・懇親会
様々な企業の様々なメンターと交流✓
→今まで知らなかった新しい視点!✓
✓
概要 Powered by Rabbit 2.1.7
スポンサー(1)
クラウドワークスさん✓
エス・エム・エスさん✓
万葉さん✓
スマートエデュケーションさん✓
クックパッドさん✓
概要 Powered by Rabbit 2.1.7
スポンサー(2)
ビズリーチさん✓
VASILYさん✓
Treasure Dataさん✓
ピクシブさん✓
楽天さん✓
概要 Powered by Rabbit 2.1.7
スポンサー(3)
CROOZさん✓
ミラクル・リナックスさん✓
フリークアウトさん✓
ぐるなびさん✓
Cosylabさん✓
概要 Powered by Rabbit 2.1.7
トレーナー
須藤
運営✓
進行と全体を気にかける係✓
大学生の頃からOSSの開発に参加
Rabbitも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
目的の実現方法概要
「やりたい!」OSSを選ぶ
(すでに選んだ)
1.
サポート付きで開発に参加
全体へのノウハウ提供✓
個別にメンターフィードバック✓
2.
概要 Powered by Rabbit 2.1.7
目的の実現方法
全体へのノウハウ提供
朝・午後:ステージから紹介✓
日に数回:メンターのミニガイド✓
✓
個別にメンターフィードバック
メンターとふりかえり✓
issue/pull request前最終チェック✓
✓
概要 Powered by Rabbit 2.1.7
メンターのミニガイド
時間:突発的✓
場所:後ろの会議スペース✓
いつ:メンターが高まったら
(2人以上に伝えた方がいいと判断したら)
✓
参加者:興味ある人(アナウンスあり)
トレーナーが内容を記録→後で共有✓
✓
例:よいコミットは?✓
概要 Powered by Rabbit 2.1.7
メンターとふりかえり
参加者の行動に対して
メンターからフィードバック
「よい」を発見→継続✓
「困っている」を発見→アドバイス✓
未認識の「問題」発見(直そう!)✓
次に進むべき先を示す✓
✓
概要 Powered by Rabbit 2.1.7
参加者の行動
自分でログを残す
残すほどフィードバックが増える!✓
✓
残し方
場所:
clear-code/sezemi-2015のissue
✓
1人につき1 issue→後で作る✓
コメントして追記→後でデモ✓
✓
概要 Powered by Rabbit 2.1.7
ログの内容
残すこと
作業・思っていること・備考
(作業:やる事・やっている事・やった事)
✓
✓
残すとき
違う作業を始める・詰まった✓
issue/pull requestを出した✓
✓
概要 Powered by Rabbit 2.1.7
目的の実現方法(再掲)
全体へのノウハウ提供
朝・午後:ステージから紹介✓
日に数回:メンターのミニガイド✓
✓
個別にメンターフィードバック
メンターとふりかえり✓
issue/pull request前最終チェック✓
✓
概要 Powered by Rabbit 2.1.7
issue/pull request前
最終チェック
issue/pull requestを出すとき
メンターに最終チェックをお願い✓
対象:全部✓
フィードバックをもらうよい機会!✓
メンターに説明→
自分の中で洗練される効果あり
✓
✓
概要 Powered by Rabbit 2.1.7
今日の流れ - 午前
10:00- 進め方の説明✓
10:30- まず動かす✓
11:45- ミニふりかえり✓
12:00- 無料ランチ
(フリークアウトさん提供!)
✓
13:00- スポンサーのLT✓
概要 Powered by Rabbit 2.1.7
今日の流れ - 午後
13:30- 開発ノウハウ紹介✓
13:45- 開発(随時ミニガイド)✓
17:00- ふりかえり✓
17:30- まとめ・質疑応答✓
17:45- プチ懇親会✓
概要 Powered by Rabbit 2.1.7
大事なこと
詰まったら
ログ
↓
後で直すため
概要 Powered by Rabbit 2.1.7
詰まったらログ
うまくいかない…
文句言っちゃう?✓
文句を言っている時間で直す?✓
✓
直す!(あるいは報告する)
OSS開発参加のチャンス!楽しもう!✓
次の人はうまくいく✓
✓
メンターへ:うまくいかない時どう動く人と一緒に働きたい?
概要 Powered by Rabbit 2.1.7
問題発見は難しい
修士:問題解決力を期待✓
博士:問題発見力を期待✓
ヒント
自分の困った→解決するべき問題
↓
詰まったらログ
(詰まったこと == 困ったこと)
概要 Powered by Rabbit 2.1.7
詰まった?問題発見?
ググるとき詰まっていない?
Stack Overflowの情報で回避?✓
本体を直した方がよくない?✓
✓
何度も使い方を調べていない?
使いにくいAPIなのかも✓
APIを改善した方がよくない?✓
✓
概要 Powered by Rabbit 2.1.7
午前の進め方
まず動かす(ものすごく大事)
↑は今から説明✓
↓は↑ができれば大丈夫✓
✓
開発用にインストール✓
テストを実行✓
概要 Powered by Rabbit 2.1.7
まず動かす
対象OSSを確認1.
対象OSSをfork2.
対象OSSのドキュメントを確認
「ユーザー」として動かす✓
「開発者」としてじゃない!✓
3.
概要 Powered by Rabbit 2.1.7
ユーザーとして動かす
ドキュメントを読んで…
(↓に不備があったらログ。後で直す。)
概要理解✓
インストール✓
チュートリアル実行など…✓
✓
このOSSがわかる!
(↑が「まず動かす」で目指すところ。速く!じゃな
い。)
✓
メンターへ:詰まった人のフォローは、問題を代わりに解決で
はなく、自分はこうやって調べる、一緒にやってみよう、でお
願い
概要 Powered by Rabbit 2.1.7
わかる
↓の状態になっていること
自分が使える✓
他の人に説明できる✓
✓
「まず動かす」で
「わかる」状態に
ならなかったら…
概要 Powered by Rabbit 2.1.7
わからない…
ドキュメントが足りなかった?
サンプルコードを確認✓
テストコードを確認✓
パラメーターを変えながら動かす✓
✓
↑はログポイント!✓
メンターへ:こういうときは自分はどうやっている?
メンターへ:新しい視点を伝えて
概要 Powered by Rabbit 2.1.7
午前の最後
ログをもとにミニふりかえり✓
目的:
今日最後のふりかえりのリハーサル✓
ログが役に立つことを実感!✓
午後もログを書いてもらおう!✓
✓
概要 Powered by Rabbit 2.1.7
メンターとミニふりかえり
参加者の行動に対して
メンターからフィードバック
「よい」を発見→継続✓
「困っている」を発見→アドバイス✓
未認識の「問題」発見(直そう!)✓
次に進むべき先を示す✓
✓
概要 Powered by Rabbit 2.1.7
午前のおさらい
終日:作業ログをつける✓
午前1:まず動かす(マジ大事)
開発用にインストール・テスト実行✓
✓
午前2:ミニふりかえり
作業ログを使う!✓
✓
期待すること:「自分の問題」が見つかる
見つからなかったら既存のissue/pull requestから探す✓
✓
概要 Powered by Rabbit 2.1.7
おさらい:詰まったら…?
うまくいかない…
文句言っちゃう?✓
文句を言っている時間で直す?✓
✓
直す!(あるいは報告する)
OSS開発参加のチャンス!楽しもう!✓
次の人はうまくいく✓
✓
メンターへ:うまくいかない時どう動く人と一緒に働きたい?
概要 Powered by Rabbit 2.1.7
ヒント
コントリビュートに上下はない
コード・テストの改善も大事✓
ドキュメントの改善も大事✓
✓
×できるようになってからやる
やるからできるようになる!✓
できることはやる✓
できないこともチャレンジ!✓
✓
概要 Powered by Rabbit 2.1.7
大事なこと
楽しもう!
概要 Powered by Rabbit 2.1.7
作業1
ログ用issue作成✓
clear-code/sezemi-2015
issue 22をコピー✓
ログの書き方は↑に書いてある✓
✓
デモ

More Related Content

What's hot

初心者の皆さんに伝えたいこと
初心者の皆さんに伝えたいこと初心者の皆さんに伝えたいこと
初心者の皆さんに伝えたいことYamamoto Kazuhisa
 
ご注文は構成管理ですか??
ご注文は構成管理ですか??ご注文は構成管理ですか??
ご注文は構成管理ですか??Cosign930
 
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
 
脆弱性検知ツールVulsを試してみた
脆弱性検知ツールVulsを試してみた脆弱性検知ツールVulsを試してみた
脆弱性検知ツールVulsを試してみたCosign930
 
みんなが働きたい場所で働ける「リモート開発チーム」を目指してやっていること - Cybozu Days 2017 大阪
みんなが働きたい場所で働ける「リモート開発チーム」を目指してやっていること - Cybozu Days 2017 大阪みんなが働きたい場所で働ける「リモート開発チーム」を目指してやっていること - Cybozu Days 2017 大阪
みんなが働きたい場所で働ける「リモート開発チーム」を目指してやっていること - Cybozu Days 2017 大阪Yuki Okada
 
20150806_IntroJAZUG
20150806_IntroJAZUG20150806_IntroJAZUG
20150806_IntroJAZUGSaori Ando
 
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
 

What's hot (8)

初心者の皆さんに伝えたいこと
初心者の皆さんに伝えたいこと初心者の皆さんに伝えたいこと
初心者の皆さんに伝えたいこと
 
ご注文は構成管理ですか??
ご注文は構成管理ですか??ご注文は構成管理ですか??
ご注文は構成管理ですか??
 
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
 
脆弱性検知ツールVulsを試してみた
脆弱性検知ツールVulsを試してみた脆弱性検知ツールVulsを試してみた
脆弱性検知ツールVulsを試してみた
 
みんなが働きたい場所で働ける「リモート開発チーム」を目指してやっていること - Cybozu Days 2017 大阪
みんなが働きたい場所で働ける「リモート開発チーム」を目指してやっていること - Cybozu Days 2017 大阪みんなが働きたい場所で働ける「リモート開発チーム」を目指してやっていること - Cybozu Days 2017 大阪
みんなが働きたい場所で働ける「リモート開発チーム」を目指してやっていること - Cybozu Days 2017 大阪
 
20150806_IntroJAZUG
20150806_IntroJAZUG20150806_IntroJAZUG
20150806_IntroJAZUG
 
職と人
職と人職と人
職と人
 
SEゼミ2015 - OSS Hack 4 Beginners - まとめ
SEゼミ2015 - OSS Hack 4 Beginners - まとめSEゼミ2015 - OSS Hack 4 Beginners - まとめ
SEゼミ2015 - OSS Hack 4 Beginners - まとめ
 

Viewers also liked

実践リーダブルコードのまとめ
実践リーダブルコードのまとめ実践リーダブルコードのまとめ
実践リーダブルコードのまとめKouhei Sutou
 
How to create bindings 2016
How to create bindings 2016How to create bindings 2016
How to create bindings 2016Kouhei Sutou
 
Be a library developer!
Be a library developer!Be a library developer!
Be a library developer!Kouhei Sutou
 
リーダブルコードワークショップ(パイオニア向け)のリーダブルコードの共有
リーダブルコードワークショップ(パイオニア向け)のリーダブルコードの共有リーダブルコードワークショップ(パイオニア向け)のリーダブルコードの共有
リーダブルコードワークショップ(パイオニア向け)のリーダブルコードの共有Kouhei Sutou
 
MroongaとPGroonga
MroongaとPGroongaMroongaとPGroonga
MroongaとPGroongaKouhei Sutou
 
SEゼミ2014 - リーダブルコード勉強会の進め方
SEゼミ2014 - リーダブルコード勉強会の進め方SEゼミ2014 - リーダブルコード勉強会の進め方
SEゼミ2014 - リーダブルコード勉強会の進め方Kouhei Sutou
 
実践リーダブルコードの概要
実践リーダブルコードの概要実践リーダブルコードの概要
実践リーダブルコードの概要Kouhei Sutou
 
SEゼミ2015 - リーダブルコード勉強会のグループふりかえり
SEゼミ2015 - リーダブルコード勉強会のグループふりかえりSEゼミ2015 - リーダブルコード勉強会のグループふりかえり
SEゼミ2015 - リーダブルコード勉強会のグループふりかえりKouhei Sutou
 
開発者は仕事でリーダブルなコードを書けるのか?
開発者は仕事でリーダブルなコードを書けるのか?開発者は仕事でリーダブルなコードを書けるのか?
開発者は仕事でリーダブルなコードを書けるのか?Kouhei Sutou
 
初心者向けMroonga・PGroonga情報
初心者向けMroonga・PGroonga情報初心者向けMroonga・PGroonga情報
初心者向けMroonga・PGroonga情報Kouhei Sutou
 
名著『リーダブルコード - より良いコードを書くためのシンプルで実践的なテクニック』を解説者と一緒に読み解こう
名著『リーダブルコード - より良いコードを書くためのシンプルで実践的なテクニック』を解説者と一緒に読み解こう名著『リーダブルコード - より良いコードを書くためのシンプルで実践的なテクニック』を解説者と一緒に読み解こう
名著『リーダブルコード - より良いコードを書くためのシンプルで実践的なテクニック』を解説者と一緒に読み解こうKouhei Sutou
 
名著『リーダブルコード』を解説者と一緒に読み解こう - 7章 制御フローを読みやすくする
名著『リーダブルコード』を解説者と一緒に読み解こう - 7章 制御フローを読みやすくする名著『リーダブルコード』を解説者と一緒に読み解こう - 7章 制御フローを読みやすくする
名著『リーダブルコード』を解説者と一緒に読み解こう - 7章 制御フローを読みやすくするKouhei Sutou
 
Mroonga最新情報2016
Mroonga最新情報2016Mroonga最新情報2016
Mroonga最新情報2016Kouhei Sutou
 
いろいろ考えると日本語の全文検索もMySQLがいいね!
いろいろ考えると日本語の全文検索もMySQLがいいね!いろいろ考えると日本語の全文検索もMySQLがいいね!
いろいろ考えると日本語の全文検索もMySQLがいいね!Kouhei Sutou
 

Viewers also liked (15)

実践リーダブルコードのまとめ
実践リーダブルコードのまとめ実践リーダブルコードのまとめ
実践リーダブルコードのまとめ
 
How to create bindings 2016
How to create bindings 2016How to create bindings 2016
How to create bindings 2016
 
Be a library developer!
Be a library developer!Be a library developer!
Be a library developer!
 
リーダブルコードワークショップ(パイオニア向け)のリーダブルコードの共有
リーダブルコードワークショップ(パイオニア向け)のリーダブルコードの共有リーダブルコードワークショップ(パイオニア向け)のリーダブルコードの共有
リーダブルコードワークショップ(パイオニア向け)のリーダブルコードの共有
 
MroongaとPGroonga
MroongaとPGroongaMroongaとPGroonga
MroongaとPGroonga
 
SEゼミ2014 - リーダブルコード勉強会の進め方
SEゼミ2014 - リーダブルコード勉強会の進め方SEゼミ2014 - リーダブルコード勉強会の進め方
SEゼミ2014 - リーダブルコード勉強会の進め方
 
実践リーダブルコードの概要
実践リーダブルコードの概要実践リーダブルコードの概要
実践リーダブルコードの概要
 
Three Ruby usages
Three Ruby usagesThree Ruby usages
Three Ruby usages
 
SEゼミ2015 - リーダブルコード勉強会のグループふりかえり
SEゼミ2015 - リーダブルコード勉強会のグループふりかえりSEゼミ2015 - リーダブルコード勉強会のグループふりかえり
SEゼミ2015 - リーダブルコード勉強会のグループふりかえり
 
開発者は仕事でリーダブルなコードを書けるのか?
開発者は仕事でリーダブルなコードを書けるのか?開発者は仕事でリーダブルなコードを書けるのか?
開発者は仕事でリーダブルなコードを書けるのか?
 
初心者向けMroonga・PGroonga情報
初心者向けMroonga・PGroonga情報初心者向けMroonga・PGroonga情報
初心者向けMroonga・PGroonga情報
 
名著『リーダブルコード - より良いコードを書くためのシンプルで実践的なテクニック』を解説者と一緒に読み解こう
名著『リーダブルコード - より良いコードを書くためのシンプルで実践的なテクニック』を解説者と一緒に読み解こう名著『リーダブルコード - より良いコードを書くためのシンプルで実践的なテクニック』を解説者と一緒に読み解こう
名著『リーダブルコード - より良いコードを書くためのシンプルで実践的なテクニック』を解説者と一緒に読み解こう
 
名著『リーダブルコード』を解説者と一緒に読み解こう - 7章 制御フローを読みやすくする
名著『リーダブルコード』を解説者と一緒に読み解こう - 7章 制御フローを読みやすくする名著『リーダブルコード』を解説者と一緒に読み解こう - 7章 制御フローを読みやすくする
名著『リーダブルコード』を解説者と一緒に読み解こう - 7章 制御フローを読みやすくする
 
Mroonga最新情報2016
Mroonga最新情報2016Mroonga最新情報2016
Mroonga最新情報2016
 
いろいろ考えると日本語の全文検索もMySQLがいいね!
いろいろ考えると日本語の全文検索もMySQLがいいね!いろいろ考えると日本語の全文検索もMySQLがいいね!
いろいろ考えると日本語の全文検索もMySQLがいいね!
 

More from Kouhei 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
 
PGroonga 2 - PostgreSQLでの全文検索の決定版
PGroonga 2 - PostgreSQLでの全文検索の決定版PGroonga 2 - PostgreSQLでの全文検索の決定版
PGroonga 2 - PostgreSQLでの全文検索の決定版Kouhei Sutou
 

More from Kouhei Sutou (20)

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!
 
PGroonga 2 - PostgreSQLでの全文検索の決定版
PGroonga 2 - PostgreSQLでの全文検索の決定版PGroonga 2 - PostgreSQLでの全文検索の決定版
PGroonga 2 - PostgreSQLでの全文検索の決定版
 

SEゼミ2015 - OSS Hack Weekend - 1日目の概要

  • 1. 概要 Powered by Rabbit 2.1.7 概要 須藤功平 株式会社クリアコード SEゼミ2015 - OSS Hack Weekend 2015-07-11
  • 2. 概要 Powered by Rabbit 2.1.7 SEゼミの立場一覧 参加者(みなさん)✓ スポンサー✓ 運営✓
  • 3. 概要 Powered by Rabbit 2.1.7 立場別SEゼミの目的 参加者 OSSを開発したい!✓ ✓ スポンサー 一緒に働きたい人をみつけたい!✓ 一緒にOSSを開発するとわかりそう!✓ →参加者のOSS開発参加を支援✓ ✓ 運営:↑をサポートしたい!✓
  • 4. 概要 Powered by Rabbit 2.1.7 参加者のふるまい方 選ばれている!と気負わない 目的(OSSの開発)に集中すればよい✓ ✓ スポンサー 本来の参加者に興味✓ ✓ 仮面をかぶらない 入社→ミスマッチ→お互いに不幸! 仮面をかぶり続けられるならアリ 「m_seki ロールプレイングゲーム」で検索 ✓ ✓
  • 5. 概要 Powered by Rabbit 2.1.7 スポンサー たくさんいる✓ 勉強会中 企業は気にしない✓ 担当メンターの人から学ぶ✓ ✓ ランチ・懇親会 様々な企業の様々なメンターと交流✓ →今まで知らなかった新しい視点!✓ ✓
  • 6. 概要 Powered by Rabbit 2.1.7 スポンサー(1) クラウドワークスさん✓ エス・エム・エスさん✓ 万葉さん✓ スマートエデュケーションさん✓ クックパッドさん✓
  • 7. 概要 Powered by Rabbit 2.1.7 スポンサー(2) ビズリーチさん✓ VASILYさん✓ Treasure Dataさん✓ ピクシブさん✓ 楽天さん✓
  • 8. 概要 Powered by Rabbit 2.1.7 スポンサー(3) CROOZさん✓ ミラクル・リナックスさん✓ フリークアウトさん✓ ぐるなびさん✓ Cosylabさん✓
  • 9. 概要 Powered by Rabbit 2.1.7 トレーナー 須藤 運営✓ 進行と全体を気にかける係✓ 大学生の頃からOSSの開発に参加 RabbitもOSS✓ ✓
  • 10. 概要 Powered by Rabbit 2.1.7 メンター 参加者のサポート係✓ 現役超優秀エンジニア✓ スポンサー企業または運営✓ OSS開発経験者 →困ったり悩んだら積極的に相談✓ ✓
  • 11. 概要 Powered by Rabbit 2.1.7 このイベントの目的 イベント中 「自分が開発に参加したい」 OSSの開発に参加 ✓ ✓ イベント後 継続的に開発に参加✓ ✓
  • 12. 概要 Powered by Rabbit 2.1.7 目的の理由 「やりたい!」が大事だから OSSの開発で一番大切なもの✓ ✓ やりたくてやる! 開発を楽しめる✓ 継続できる✓ できることが増える✓ もっと楽しめる(!=ツラくない)✓ ✓
  • 13. 概要 Powered by Rabbit 2.1.7 目的の実現方法概要 「やりたい!」OSSを選ぶ (すでに選んだ) 1. サポート付きで開発に参加 全体へのノウハウ提供✓ 個別にメンターフィードバック✓ 2.
  • 14. 概要 Powered by Rabbit 2.1.7 目的の実現方法 全体へのノウハウ提供 朝・午後:ステージから紹介✓ 日に数回:メンターのミニガイド✓ ✓ 個別にメンターフィードバック メンターとふりかえり✓ issue/pull request前最終チェック✓ ✓
  • 15. 概要 Powered by Rabbit 2.1.7 メンターのミニガイド 時間:突発的✓ 場所:後ろの会議スペース✓ いつ:メンターが高まったら (2人以上に伝えた方がいいと判断したら) ✓ 参加者:興味ある人(アナウンスあり) トレーナーが内容を記録→後で共有✓ ✓ 例:よいコミットは?✓
  • 16. 概要 Powered by Rabbit 2.1.7 メンターとふりかえり 参加者の行動に対して メンターからフィードバック 「よい」を発見→継続✓ 「困っている」を発見→アドバイス✓ 未認識の「問題」発見(直そう!)✓ 次に進むべき先を示す✓ ✓
  • 17. 概要 Powered by Rabbit 2.1.7 参加者の行動 自分でログを残す 残すほどフィードバックが増える!✓ ✓ 残し方 場所: clear-code/sezemi-2015のissue ✓ 1人につき1 issue→後で作る✓ コメントして追記→後でデモ✓ ✓
  • 18. 概要 Powered by Rabbit 2.1.7 ログの内容 残すこと 作業・思っていること・備考 (作業:やる事・やっている事・やった事) ✓ ✓ 残すとき 違う作業を始める・詰まった✓ issue/pull requestを出した✓ ✓
  • 19. 概要 Powered by Rabbit 2.1.7 目的の実現方法(再掲) 全体へのノウハウ提供 朝・午後:ステージから紹介✓ 日に数回:メンターのミニガイド✓ ✓ 個別にメンターフィードバック メンターとふりかえり✓ issue/pull request前最終チェック✓ ✓
  • 20. 概要 Powered by Rabbit 2.1.7 issue/pull request前 最終チェック issue/pull requestを出すとき メンターに最終チェックをお願い✓ 対象:全部✓ フィードバックをもらうよい機会!✓ メンターに説明→ 自分の中で洗練される効果あり ✓ ✓
  • 21. 概要 Powered by Rabbit 2.1.7 今日の流れ - 午前 10:00- 進め方の説明✓ 10:30- まず動かす✓ 11:45- ミニふりかえり✓ 12:00- 無料ランチ (フリークアウトさん提供!) ✓ 13:00- スポンサーのLT✓
  • 22. 概要 Powered by Rabbit 2.1.7 今日の流れ - 午後 13:30- 開発ノウハウ紹介✓ 13:45- 開発(随時ミニガイド)✓ 17:00- ふりかえり✓ 17:30- まとめ・質疑応答✓ 17:45- プチ懇親会✓
  • 23. 概要 Powered by Rabbit 2.1.7 大事なこと 詰まったら ログ ↓ 後で直すため
  • 24. 概要 Powered by Rabbit 2.1.7 詰まったらログ うまくいかない… 文句言っちゃう?✓ 文句を言っている時間で直す?✓ ✓ 直す!(あるいは報告する) OSS開発参加のチャンス!楽しもう!✓ 次の人はうまくいく✓ ✓ メンターへ:うまくいかない時どう動く人と一緒に働きたい?
  • 25. 概要 Powered by Rabbit 2.1.7 問題発見は難しい 修士:問題解決力を期待✓ 博士:問題発見力を期待✓ ヒント 自分の困った→解決するべき問題 ↓ 詰まったらログ (詰まったこと == 困ったこと)
  • 26. 概要 Powered by Rabbit 2.1.7 詰まった?問題発見? ググるとき詰まっていない? Stack Overflowの情報で回避?✓ 本体を直した方がよくない?✓ ✓ 何度も使い方を調べていない? 使いにくいAPIなのかも✓ APIを改善した方がよくない?✓ ✓
  • 27. 概要 Powered by Rabbit 2.1.7 午前の進め方 まず動かす(ものすごく大事) ↑は今から説明✓ ↓は↑ができれば大丈夫✓ ✓ 開発用にインストール✓ テストを実行✓
  • 28. 概要 Powered by Rabbit 2.1.7 まず動かす 対象OSSを確認1. 対象OSSをfork2. 対象OSSのドキュメントを確認 「ユーザー」として動かす✓ 「開発者」としてじゃない!✓ 3.
  • 29. 概要 Powered by Rabbit 2.1.7 ユーザーとして動かす ドキュメントを読んで… (↓に不備があったらログ。後で直す。) 概要理解✓ インストール✓ チュートリアル実行など…✓ ✓ このOSSがわかる! (↑が「まず動かす」で目指すところ。速く!じゃな い。) ✓ メンターへ:詰まった人のフォローは、問題を代わりに解決で はなく、自分はこうやって調べる、一緒にやってみよう、でお 願い
  • 30. 概要 Powered by Rabbit 2.1.7 わかる ↓の状態になっていること 自分が使える✓ 他の人に説明できる✓ ✓ 「まず動かす」で 「わかる」状態に ならなかったら…
  • 31. 概要 Powered by Rabbit 2.1.7 わからない… ドキュメントが足りなかった? サンプルコードを確認✓ テストコードを確認✓ パラメーターを変えながら動かす✓ ✓ ↑はログポイント!✓ メンターへ:こういうときは自分はどうやっている? メンターへ:新しい視点を伝えて
  • 32. 概要 Powered by Rabbit 2.1.7 午前の最後 ログをもとにミニふりかえり✓ 目的: 今日最後のふりかえりのリハーサル✓ ログが役に立つことを実感!✓ 午後もログを書いてもらおう!✓ ✓
  • 33. 概要 Powered by Rabbit 2.1.7 メンターとミニふりかえり 参加者の行動に対して メンターからフィードバック 「よい」を発見→継続✓ 「困っている」を発見→アドバイス✓ 未認識の「問題」発見(直そう!)✓ 次に進むべき先を示す✓ ✓
  • 34. 概要 Powered by Rabbit 2.1.7 午前のおさらい 終日:作業ログをつける✓ 午前1:まず動かす(マジ大事) 開発用にインストール・テスト実行✓ ✓ 午前2:ミニふりかえり 作業ログを使う!✓ ✓ 期待すること:「自分の問題」が見つかる 見つからなかったら既存のissue/pull requestから探す✓ ✓
  • 35. 概要 Powered by Rabbit 2.1.7 おさらい:詰まったら…? うまくいかない… 文句言っちゃう?✓ 文句を言っている時間で直す?✓ ✓ 直す!(あるいは報告する) OSS開発参加のチャンス!楽しもう!✓ 次の人はうまくいく✓ ✓ メンターへ:うまくいかない時どう動く人と一緒に働きたい?
  • 36. 概要 Powered by Rabbit 2.1.7 ヒント コントリビュートに上下はない コード・テストの改善も大事✓ ドキュメントの改善も大事✓ ✓ ×できるようになってからやる やるからできるようになる!✓ できることはやる✓ できないこともチャレンジ!✓ ✓
  • 37. 概要 Powered by Rabbit 2.1.7 大事なこと 楽しもう!
  • 38. 概要 Powered by Rabbit 2.1.7 作業1 ログ用issue作成✓ clear-code/sezemi-2015 issue 22をコピー✓ ログの書き方は↑に書いてある✓ ✓ デモ