Location via proxy:
[ UP ]
[Report a bug]
[Manage cookies]
No cookies
No scripts
No ads
No referrer
Show this form
Submit Search
OSS についてあれこれ
•
143 likes
•
41,958 views
Takuto Wada
Follow
java-ja.OSS http://connpass.com/event/19690/
Read less
Read more
1 of 65
Download now
Downloaded 52 times
More Related Content
OSS についてあれこれ
1.
和田 卓人 @t_wada Oct
5, 2015 at #java_ja_oss OSS についてあれこれ
2.
和田 卓人 id: t-wada @t_wada github:
twada
4.
assert(typeof item.id ===
'strong') | | | | | | | false | | "foo" | Item{id:"foo",name:"bar"} "string" --- [string] 'strong' +++ [string] typeof item.id @@ -1,6 +1,6 @@ str -o +i ng power-assert https://github.com/power-assert-js/power-assert
5.
スタンド名は「ワイルド・サバンナ」 よろしくお願いします
6.
第一部 OSSとして この先生きのこるために
7.
http://t-wada.hatenablog.jp/entry/active-oss-development-vs-simplicity 発端はモリスさんの講演の感想エントリ
8.
例えば上手く設計できたソフトウェアが あるとして、「これ以上減らすところがな く、実質的に完成していて、手を入れると ころもほとんどない」ことによって「開発 が活発ではなく、メンテナンスされていな い」というイメージを与えてしまい、それ が悪い評価につながりかねないのは、不 幸なことではないだろうか http://t-wada.hatenablog.jp/entry/active-oss-development-vs-simplicity
9.
http://tagomoris.hatenablog.com/entry/2015/08/31/101025
10.
戦略1: 地道な更新
11.
https://twitter.com/tmtms/status/635743856714055680
12.
http://rebuild.fm/106/
13.
https://github.com/power-assert-js/power-assert/commit/7d6552c5
14.
戦略2: 最終コミット以外も 見てもらう
15.
https://twitter.com/kurehajime/status/635041257400569856
16.
https://twitter.com/nazoking/status/635216180886679552
17.
コミット以外にダウンロード数等を見せる試み
18.
戦略3: プラグイン機構
19.
https://twitter.com/kazuho/status/635009225026961408
20.
https://twitter.com/sonots/status/634978258878988288
21.
https://www.gitbook.com/book/azu/javascript-plugin-architecture/details
22.
http://aosabook.org/en/index.html
23.
http://aosabook.org/en/index.html
24.
戦略4: 適者生存の法則
25.
https://twitter.com/Dryad/status/635841558932099072
26.
http://d.hatena.ne.jp/essa/20140330/p1
27.
しかし、今の業界は、「エコシステム」の時代だ。 熱帯雨林のように、食いあいつつ共生しあうさまざな タイプのプレイヤーが、自分の為だけの個別の意思決 定をして、その相互作用で技術が発展していく。「エ コシステム」は矛盾だらけで、ある技術が発展するの と同時に、そのアンチテーゼとなる技術も伸びる 「ロードマップ」が指し示す未来の方向と違う方向 に進むことは致命的な間違いだが、「エコシステム」 はむしろ中心部がレッドオーシャンで、周辺部に生き 残りが容易なブルーオーシャンがある http://d.hatena.ne.jp/essa/20140330/p1
28.
普通の人は「ロードマップ」 の中では真ん中を進むべきで、 「エコシステム」の中では真ん 中を避けるべきだ http://d.hatena.ne.jp/essa/20140330/p1
29.
第二部 自己鍛錬としての OSS
30.
• 週末に自分のプロダクトを頑張る作戦、失敗 • 平日と同じ馬力では書けない •
全ての週末が空いているわけではない • 一週間 (あるいは二週間) は長い。コード を忘れてしまう • そこで John Resig が行ったことは…… あの jresig でもうまくいかないこと
31.
http://ejohn.org/blog/write-code-every-day/
32.
1.毎日コードを書くこと。ブログ、ドキュメン ト、その他はコードを書いたらやってよい。 2.意味のあるコードを書くこと。インデント やフォーマットの修正、可能ならばリファク タリングもコード書きにはカウントしない。 3.深夜 24 時前に終わらせること。 4.書いたコードを
github で全て OSS にする こと。 四つのルール http://ejohn.org/blog/write-code-every-day/
33.
現在の @jresig の
github profile https://github.com/jeresig
34.
• 必要最小限のコードへの集中: 一日30分∼1時間程度で意 味のあるコードを書くことが強いられる
(休日にはもっと かけられる) • プログラミングの習慣化: github に草を生やすのが目的で はない。自分で自分自身のために生活習慣を変えるのが大 事 • 不安との戦い: 以前は「十分に」進んでいるか、「十分 に」完成しているか、不安があった。毎日コードを書いて みて、進んでいるという実感は、実際の進 と同じくらい 重要だという気づきを得た jresig に起こった変化 (1)
35.
• 週末の過ごしかた: 以前は開発の全てを週末に
けて失 敗していたが、いまや週末はそれほど重要でなくなり、 リアルライフを充実できるようになった • バックグラウンド処理: 散歩中、シャワー中、常にコー ドのことをバックグラウンドで考えるようになり、良 いアイデアが浮かぶようになった • コンテクストスイッチ: 以前は週に一回の開発だったの でコンテクストスイッチのコストがあったが、いまは 毎日なのでそれがない jresig に起こった変化 (2)
36.
• ワークライフバランス: 仕事/生活/自分のプロジェクト のバランスの取り方が分かったのが最大の収穫だった。 毎日やるということは、バランスを取るということ •
まわりからの理解: 「毎日コードを書く」という習慣を 公言したことで、パートナーからの理解も得られるよ うになった • どれだけコードを書いたか: この習慣を続けると書く コードやアウトプットは自分でも覚えられないくらい の量になり、充実感を得られる jresig に起こった変化 (3)
37.
要するに筋トレのようなものか http://hrnabi.com/2015/09/17/9372/
38.
トレーニングが継続可能であるように意識しながら 仕事をしていくと、運動や食事、あとは生活習慣とい うものの重要性に気づくことができると思います ちゃんと目的を持つこと。記録を伸ばすようにやら ないと効果がないように思うんです。記録を伸ばした いと思えるかどうかって、「好きのバロメーター」の 1つです http://hrnabi.com/2015/09/28/9411/ 握力王も仰っている
39.
自分もやってみた https://github.com/twada
40.
自分もやってみた 受託開発をやっている時期 ど忘れ(くやしい)
41.
○ 毎日コードを書くこと。ブログ、ドキュメン ト、その他はコードを書いたらやってよい。 △ 意味のあるコードを書くこと。インデントや フォーマットの修正、可能ならばリファクタ リングもコード書きにはカウントしない。 △
深夜 24 時前に終わらせること。 △ 書いたコードを github で全て OSS にする こと。 達成度
42.
実際にやってみて •小モジュールを沢山作るようになる •リリース回数が思ったより多い •年間 100 リリースくらい •CHANGELOG
作りにコストが掛かる •リリース作業を省力化したい
43.
https://github.com/ajoslin/conventional-changelog conventional-changelog
44.
<type>(<scope>): <subject> <BLANK LINE> <body> <BLANK
LINE> <footer> 特定形式のコミットログからCHANGELOGを出してくれる https://github.com/ajoslin/conventional-changelog/blob/master/conventions/angular.md feat(pencil): add 'graphiteWidth' option fix(graphite): stop graphite breaking when width < 0.1 Closes #28 perf(pencil): remove graphiteWidth option BREAKING CHANGE: The graphiteWidth option has been removed. The default graphite width of 10mm is always used for performance reason.
45.
第三部 semver 重要
46.
http://semver.org/lang/ja/
47.
http://codelunch.fm/16/ #codelunchfm でもしゃべっています
48.
1.4.3 semantic versioning
49.
1.4.3 major minor patch semantic
versioning
50.
1.4.3 major minor patch semantic
versioning 下位互換性のあるバグ修正は patch を上げる
51.
1.4.3 major minor patch semantic
versioning 下位互換性のある機能追加は minor を上げる
52.
1.4.3 major minor patch semantic
versioning バグ修正だろうが、機能追加だろうが、 下位互換性が無ければ major を上げる
53.
1.4.3 major minor patch semantic
versioning 個人的にはデフォルトの挙動を変えるときに major を上げることが多い
54.
^1.4.3 semver は作者と利用者の約束と信頼関係 ~1.4.3 下位互換性のある機能追加もどんどんダウンロードする 下位互換性のあるバグ修正だけダウンロードする
55.
完全密着 semver 警察24時
56.
https://github.com/jashkenas/underscore/issues/1684
57.
https://github.com/jashkenas/underscore/issues/1805
58.
https://github.com/mozilla/source-map/issues/99
59.
semver に 従わないと燃える 🔥 🔥
🔥 🔥 🔥 semver 警察24時
60.
見出し http://book.impress.co.jp/books/1113101014 では下位互換性とは何か
61.
三つの下位互換性 •ソース互換性 •バイナリ互換性 •機能互換性
62.
機能互換性: アメーバ効果
63.
| Q |
A | ------------- | --- | Bug fix? | [yes|no] | New feature? | [yes|no] | BC breaks? | [yes|no] | Deprecations? | [yes|no] | Tests pass? | [yes|no] | Fixed tickets | [tickets fixed by the PR] | License | MIT | Doc PR | [ref to the documentation PR if any] Symfony の PR 形式が る http://symfony.com/doc/master/contributing/code/patches.html#make-a-pull-request
64.
semver 過激派 1 commit,
1 release
65.
ご清聴ありがとうございました
Download