Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
新卒2年目から始めるOSSのススメ
〜明日からできるコミットデビュー〜
JJUG CCC Spring 2017 梶栗 芳夫
#ccc_m7
1
目次
■ 自己紹介
■ ERFluteについて
– 特徴紹介
■ ERFluteを通したOSS活動について
– 学び、コツ
– 始めたキッカケ
■ まとめ
2
自己紹介
■ 梶栗 芳夫
■ U-NEXT (動画配信サービス)
■ 2年目 サーバサイド エンジニア
3
ERFluteとは?
■ EclipseプラグインのERDツール(ER図作成ツール)
■ ERMaster をフォークした ERMaster-b をフォーク
4
ERFluteの特徴
■ 特徴1. シンプルbutグラフィカル
– テーブル間のカージナリティの表現 (0:n, 1:n)
– テーブルのフォントや背景色の変更
– ダイアグラム上でのノートやグループ
■ 特徴2. シンプルbutファンクショナ...
特徴3. マージできるERD
■ ermファイルはxml形式。
■ もし、コンフリクトしても人間がマージできるレベル。
6
OSSのススメ。
■ 簡単な修正から始めよう。
■ Githubのプルリクは簡単。
7
OSSのススメ。
簡単な修正から始めよう。
■ 最初のプルリク
– ノート削除時のヌルポ対応
– https://github.com/dbflute-session/erflute/pull/6
8
OSSのススメ。
簡単な修正から始めよう。
■ 文字化け対応
– https://github.com/dbflute-session/erflute/pull/10
9
OSSのススメ。
Githubのプルリクは簡単。
2つのリモートを1つのgit管理下にすればよい。
■ Origin => 自分のgitリポジトリ
■ Upstream => erfluteリポジトリ
git remote add upstre...
学びその1。
API修正とERFlute修正の違い。
■ API
– URLから対象クラスがすぐわかる。
– 例: member/get =>> memberGetAction.java
– 関係しているクラスが少ない。
– 基本的な動作は保障...
ERFluteアーキテクチャマップ
12引用 http://dbflute.seasar.org/ja/manual/function/helper/erflute/index.html#classworldmap
学びその2。
業務とは異なるのエラー読み
■ 例 仮想ダイアグラムの削除
■ https://github.com/dbflute-session/erflute/pull/18
普段より一階層深く潜ってエラーを読み取る必要があった。
Arra...
学びその3。
タスク管理の重要性
■ 業務はほぼ毎日、継続して行なっている。
■ つまり、昨日書いたコードは覚えている。
■ OSSは完全にプライベートな時間で不定期。
■ 中途半端で終わると、次見た時に意味不明。
■ 短い時間で完結する、細か...
学びその4。その他。
■ 業務知識が関係ない
– ソースコードに書いてあることがすべて。
– 業務だと、その業務に特化した知識が必要となる。
– OSSだとその前提が共有されているので、面白い。
■ 自信になる。
– 先輩方より詳しいものがある...
なんでERFluteなの?
16
特殊な環境。
■ メインコミッターが会社の技術顧問
– 全く知らないプロジェクトではない。
– 取り組んでみないと誘われた。
■ 明確に不具合が分かっていた。
- HPにプルリクエスト募集の項目がある。
http://dbflute.seasa...
18
特殊な環境。
■ 社内のプロジェクトで導入が決まっていた。
– 社内の雰囲気が新しい技術に前向き。
– 梶栗が直してくれるからねー。(諸刃の剣)
– 自分も使うので改善すれば、助かる。
– 使ってもらう人が身近にいる。
19
特殊な環境まとめ。
■ 身近にメインコミッターがいた。
■ 明確に不具合が分かっていた。
■ 社内で導入が決まっていた。
20
取り組みやすい環境が整っていた
自分のメリットもはっきり分かっていた。
でも、そんな環境ないし。。。。
21
明日からできるコミットデビュー
■ 明日、ERFluteもくもく会をするので参加する。
時間 5月21日 14:00 – 20:00
場所 Yahoo Japan Lodge (千代田区紀尾井町)
https://lodge.yahoo.co....
明日予定あるし。。。。
23
数ヶ月後からできるコミットデビュー
U-NEXT では、
Java8 を使ったWebアプリ開発者を募集しています!
https://inside.unext.jp
■ OSSのプロジェクト色々始めています。
– 社内の開発改善からOSS公開へ:...
まとめ
■ 簡単な修正から始めれば、プルリク自体は簡単にで
きる。
■ 業務以外にプログラムを触ると学びがたくさん。
– 特に社内で利用しているOSSだと身近にフィードバックがもらえ
るのでモチベーションが保ちやすい。
■ OSS活動を一般にす...
ご静聴ありがとうございました。
Special Thanks
偉大な先輩エンジニアの皆さん
26
Upcoming SlideShare
Loading in …5
×

新卒2年目から始めるOSSのススメ~明日からできるコミットデビュー~

4,059 views

Published on

JJUG CCC Spring 2017での発表です。
http://www.java-users.jp/ccc2017spring/
ER図作成ツールである、ERFluteへのプルリクを通したOSS活動についてお話ししました。

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

新卒2年目から始めるOSSのススメ~明日からできるコミットデビュー~

  1. 1. 新卒2年目から始めるOSSのススメ 〜明日からできるコミットデビュー〜 JJUG CCC Spring 2017 梶栗 芳夫 #ccc_m7 1
  2. 2. 目次 ■ 自己紹介 ■ ERFluteについて – 特徴紹介 ■ ERFluteを通したOSS活動について – 学び、コツ – 始めたキッカケ ■ まとめ 2
  3. 3. 自己紹介 ■ 梶栗 芳夫 ■ U-NEXT (動画配信サービス) ■ 2年目 サーバサイド エンジニア 3
  4. 4. ERFluteとは? ■ EclipseプラグインのERDツール(ER図作成ツール) ■ ERMaster をフォークした ERMaster-b をフォーク 4
  5. 5. ERFluteの特徴 ■ 特徴1. シンプルbutグラフィカル – テーブル間のカージナリティの表現 (0:n, 1:n) – テーブルのフォントや背景色の変更 – ダイアグラム上でのノートやグループ ■ 特徴2. シンプルbutファンクショナル – 対象DBMS用のDDL出力 – ダイアグラムモニターによるダイアグラムの移動 – Outlineによるテーブル検索、対象テーブルへの移動 (control+O) – 仮想ダイアグラムでカテゴリごとのモデリング ■ 特徴3. マージできるERD 引用 http://dbflute.seasar.org/ja/manual/function/helper/erflute/index.html 5
  6. 6. 特徴3. マージできるERD ■ ermファイルはxml形式。 ■ もし、コンフリクトしても人間がマージできるレベル。 6
  7. 7. OSSのススメ。 ■ 簡単な修正から始めよう。 ■ Githubのプルリクは簡単。 7
  8. 8. OSSのススメ。 簡単な修正から始めよう。 ■ 最初のプルリク – ノート削除時のヌルポ対応 – https://github.com/dbflute-session/erflute/pull/6 8
  9. 9. OSSのススメ。 簡単な修正から始めよう。 ■ 文字化け対応 – https://github.com/dbflute-session/erflute/pull/10 9
  10. 10. OSSのススメ。 Githubのプルリクは簡単。 2つのリモートを1つのgit管理下にすればよい。 ■ Origin => 自分のgitリポジトリ ■ Upstream => erfluteリポジトリ git remote add upstream git@github.com:dbflute-session/erflute.git git fetch upstream develop git branch develop upstream/develop ■ Upstream のdevelopからfeatureブランチを作成。 ■ Originに向けてpush。 erfluteリポジトリのdevelop対してプルリク。 10
  11. 11. 学びその1。 API修正とERFlute修正の違い。 ■ API – URLから対象クラスがすぐわかる。 – 例: member/get =>> memberGetAction.java – 関係しているクラスが少ない。 – 基本的な動作は保障されている上で業務ロジックを 考える。 ■ ERFlute – クラスたくさん。フィールド値もたくさん。 – どのクラスからどう引き継がれているのか、流れを 読むのが大変。全体像を把握するのがキツイ。 11
  12. 12. ERFluteアーキテクチャマップ 12引用 http://dbflute.seasar.org/ja/manual/function/helper/erflute/index.html#classworldmap
  13. 13. 学びその2。 業務とは異なるのエラー読み ■ 例 仮想ダイアグラムの削除 ■ https://github.com/dbflute-session/erflute/pull/18 普段より一階層深く潜ってエラーを読み取る必要があった。 ArrayList.javaの実装を初めて読むことに。 13 public int remove(ERVirtualDiagram vdiagram) { final int index = this.vdiagrams.indexOf(vdiagram); vdiagrams.remove(index); firePropertyChange(PROPERTY_CHANGE_MODEL_SET, null, null); return index; }
  14. 14. 学びその3。 タスク管理の重要性 ■ 業務はほぼ毎日、継続して行なっている。 ■ つまり、昨日書いたコードは覚えている。 ■ OSSは完全にプライベートな時間で不定期。 ■ 中途半端で終わると、次見た時に意味不明。 ■ 短い時間で完結する、細かいタスクに分解する必要があ る。 14
  15. 15. 学びその4。その他。 ■ 業務知識が関係ない – ソースコードに書いてあることがすべて。 – 業務だと、その業務に特化した知識が必要となる。 – OSSだとその前提が共有されているので、面白い。 ■ 自信になる。 – 先輩方より詳しいものがある。 15
  16. 16. なんでERFluteなの? 16
  17. 17. 特殊な環境。 ■ メインコミッターが会社の技術顧問 – 全く知らないプロジェクトではない。 – 取り組んでみないと誘われた。 ■ 明確に不具合が分かっていた。 - HPにプルリクエスト募集の項目がある。 http://dbflute.seasar.org/ja/manual/function/helpe r/erflute/index.html#pullreqreq – タスク化された。(ERFluteプルリク少林寺) 17
  18. 18. 18
  19. 19. 特殊な環境。 ■ 社内のプロジェクトで導入が決まっていた。 – 社内の雰囲気が新しい技術に前向き。 – 梶栗が直してくれるからねー。(諸刃の剣) – 自分も使うので改善すれば、助かる。 – 使ってもらう人が身近にいる。 19
  20. 20. 特殊な環境まとめ。 ■ 身近にメインコミッターがいた。 ■ 明確に不具合が分かっていた。 ■ 社内で導入が決まっていた。 20 取り組みやすい環境が整っていた 自分のメリットもはっきり分かっていた。
  21. 21. でも、そんな環境ないし。。。。 21
  22. 22. 明日からできるコミットデビュー ■ 明日、ERFluteもくもく会をするので参加する。 時間 5月21日 14:00 – 20:00 場所 Yahoo Japan Lodge (千代田区紀尾井町) https://lodge.yahoo.co.jp/ ■ その日のうちにERFluteのプルリクを送る。 22
  23. 23. 明日予定あるし。。。。 23
  24. 24. 数ヶ月後からできるコミットデビュー U-NEXT では、 Java8 を使ったWebアプリ開発者を募集しています! https://inside.unext.jp ■ OSSのプロジェクト色々始めています。 – 社内の開発改善からOSS公開へ:DBFluteのプラグインを開発したお話 – http://slides.com/nashcft/jjug_ccc_2016_fall#/ OSSを実際に使って、そして修正もして貢献をしていく。 それをU-NEXT社のエンジニアの精神としてやっていきたい。 24
  25. 25. まとめ ■ 簡単な修正から始めれば、プルリク自体は簡単にで きる。 ■ 業務以外にプログラムを触ると学びがたくさん。 – 特に社内で利用しているOSSだと身近にフィードバックがもらえ るのでモチベーションが保ちやすい。 ■ OSS活動を一般にすぐ始めることは難しいかも。 – 自分のためになる。やりたいという思いが来る日があるはず。 25
  26. 26. ご静聴ありがとうございました。 Special Thanks 偉大な先輩エンジニアの皆さん 26

×