Enviar búsqueda
Cargar
GitBucketを支えるJava技術とグローバルで使われるOSSの作り方
•
8 recomendaciones
•
21,593 vistas
T
takezoe
Seguir
at JJUG CCC 2016 Fall #jjug_ccc
Leer menos
Leer más
Software
Denunciar
Compartir
Denunciar
Compartir
1 de 46
Descargar ahora
Descargar para leer sin conexión
Recomendados
大容量ファイルもGitで管理。 Git LFSの使い方
大容量ファイルもGitで管理。 Git LFSの使い方
hibiki443
Git LFSを触ってみた
Git LFSを触ってみた
Yuto Suzuki
イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情
takezoe
Java でつくる低レイテンシ実装の技巧
Java でつくる低レイテンシ実装の技巧
Ryosuke Yamazaki
Spring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のこと
心 谷本
Shibuyatrac#13 scurmでやってみた
Shibuyatrac#13 scurmでやってみた
Kanu orz
Startup jenkins!
Startup jenkins!
Kanu orz
サラリーマンでギョーミーなプログラマ(つまりオレ)でも片手間で作れるXFD
サラリーマンでギョーミーなプログラマ(つまりオレ)でも片手間で作れるXFD
Kazuhito Miura
Recomendados
大容量ファイルもGitで管理。 Git LFSの使い方
大容量ファイルもGitで管理。 Git LFSの使い方
hibiki443
Git LFSを触ってみた
Git LFSを触ってみた
Yuto Suzuki
イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情
takezoe
Java でつくる低レイテンシ実装の技巧
Java でつくる低レイテンシ実装の技巧
Ryosuke Yamazaki
Spring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のこと
心 谷本
Shibuyatrac#13 scurmでやってみた
Shibuyatrac#13 scurmでやってみた
Kanu orz
Startup jenkins!
Startup jenkins!
Kanu orz
サラリーマンでギョーミーなプログラマ(つまりオレ)でも片手間で作れるXFD
サラリーマンでギョーミーなプログラマ(つまりオレ)でも片手間で作れるXFD
Kazuhito Miura
書類作成環境のあるべき論とは
書類作成環境のあるべき論とは
Jun Iio
「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy
「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy
Kazuhito Miura
よろしい、ならば自動化だっ! ~自動家の自動化哲学~ #AsianAA
よろしい、ならば自動化だっ! ~自動家の自動化哲学~ #AsianAA
Kazuhito Miura
自動家(オートメーター)大地に立つ!! 〜オールドタイプの一年戦争〜
自動家(オートメーター)大地に立つ!! 〜オールドタイプの一年戦争〜
Kazuhito Miura
第4回品川Redmine勉強会資料「チケット駆動開発のフレームワーク~現場の経験知からパターン言語へ(ベータ版)」
第4回品川Redmine勉強会資料「チケット駆動開発のフレームワーク~現場の経験知からパターン言語へ(ベータ版)」
akipii Oga
自動化パタンランゲージ
自動化パタンランゲージ
Hiroshi Maekawa
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
ikikko
「むしゃくしゃしたのでOpenDocumentで帳票テンプレート」 - 第13回関西LibreOffice勉強会 #LibOKansai
「むしゃくしゃしたのでOpenDocumentで帳票テンプレート」 - 第13回関西LibreOffice勉強会 #LibOKansai
Kazuhito Miura
スクラムにおける事前期待のマネジメント - Customer Expectations Management of Scrum #sgt2016
スクラムにおける事前期待のマネジメント - Customer Expectations Management of Scrum #sgt2016
満徳 関
Jenkins User Conference 2012 Tokyo 「SIerのJenkins事情」
Jenkins User Conference 2012 Tokyo 「SIerのJenkins事情」
Takahisa Wada
モックアップ共有のススメ
モックアップ共有のススメ
Kazuyoshi Goto
Jenkinsではじめる継続的インテグレーション
Jenkinsではじめる継続的インテグレーション
Masanori Satoh
邪道Jenkins
邪道Jenkins
hazisarashi
しゃべれて回れる「小人の執事さん」ったら地獄耳でもあるみたいですよ?(前編)
しゃべれて回れる「小人の執事さん」ったら地獄耳でもあるみたいですよ?(前編)
Kazuhito Miura
Jenkinsを導入する本当の理由を考えてみた
Jenkinsを導入する本当の理由を考えてみた
kakakikikeke
GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?
Kiyotaka Kunihira
Jenkins に XFD を追加してみると
Jenkins に XFD を追加してみると
Kiro Harada
第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座
Hiroko Tamagawa
20170809 start python_selenium
20170809 start python_selenium
Hiroko Tamagawa
Journey of Migrating Millions of Queries on The Cloud
Journey of Migrating Millions of Queries on The Cloud
takezoe
GitBucket: Open source self-hosting Git server built by Scala
GitBucket: Open source self-hosting Git server built by Scala
takezoe
Testing Distributed Query Engine as a Service
Testing Distributed Query Engine as a Service
takezoe
Más contenido relacionado
Destacado
書類作成環境のあるべき論とは
書類作成環境のあるべき論とは
Jun Iio
「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy
「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy
Kazuhito Miura
よろしい、ならば自動化だっ! ~自動家の自動化哲学~ #AsianAA
よろしい、ならば自動化だっ! ~自動家の自動化哲学~ #AsianAA
Kazuhito Miura
自動家(オートメーター)大地に立つ!! 〜オールドタイプの一年戦争〜
自動家(オートメーター)大地に立つ!! 〜オールドタイプの一年戦争〜
Kazuhito Miura
第4回品川Redmine勉強会資料「チケット駆動開発のフレームワーク~現場の経験知からパターン言語へ(ベータ版)」
第4回品川Redmine勉強会資料「チケット駆動開発のフレームワーク~現場の経験知からパターン言語へ(ベータ版)」
akipii Oga
自動化パタンランゲージ
自動化パタンランゲージ
Hiroshi Maekawa
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
ikikko
「むしゃくしゃしたのでOpenDocumentで帳票テンプレート」 - 第13回関西LibreOffice勉強会 #LibOKansai
「むしゃくしゃしたのでOpenDocumentで帳票テンプレート」 - 第13回関西LibreOffice勉強会 #LibOKansai
Kazuhito Miura
スクラムにおける事前期待のマネジメント - Customer Expectations Management of Scrum #sgt2016
スクラムにおける事前期待のマネジメント - Customer Expectations Management of Scrum #sgt2016
満徳 関
Jenkins User Conference 2012 Tokyo 「SIerのJenkins事情」
Jenkins User Conference 2012 Tokyo 「SIerのJenkins事情」
Takahisa Wada
モックアップ共有のススメ
モックアップ共有のススメ
Kazuyoshi Goto
Jenkinsではじめる継続的インテグレーション
Jenkinsではじめる継続的インテグレーション
Masanori Satoh
邪道Jenkins
邪道Jenkins
hazisarashi
しゃべれて回れる「小人の執事さん」ったら地獄耳でもあるみたいですよ?(前編)
しゃべれて回れる「小人の執事さん」ったら地獄耳でもあるみたいですよ?(前編)
Kazuhito Miura
Jenkinsを導入する本当の理由を考えてみた
Jenkinsを導入する本当の理由を考えてみた
kakakikikeke
GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?
Kiyotaka Kunihira
Jenkins に XFD を追加してみると
Jenkins に XFD を追加してみると
Kiro Harada
第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座
Hiroko Tamagawa
20170809 start python_selenium
20170809 start python_selenium
Hiroko Tamagawa
Destacado
(19)
書類作成環境のあるべき論とは
書類作成環境のあるべき論とは
「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy
「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy
よろしい、ならば自動化だっ! ~自動家の自動化哲学~ #AsianAA
よろしい、ならば自動化だっ! ~自動家の自動化哲学~ #AsianAA
自動家(オートメーター)大地に立つ!! 〜オールドタイプの一年戦争〜
自動家(オートメーター)大地に立つ!! 〜オールドタイプの一年戦争〜
第4回品川Redmine勉強会資料「チケット駆動開発のフレームワーク~現場の経験知からパターン言語へ(ベータ版)」
第4回品川Redmine勉強会資料「チケット駆動開発のフレームワーク~現場の経験知からパターン言語へ(ベータ版)」
自動化パタンランゲージ
自動化パタンランゲージ
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
Jenkins 2を使った究極のpipeline ~ 明日もう一度来てください、本物のpipelineをお見せしますよ ~
「むしゃくしゃしたのでOpenDocumentで帳票テンプレート」 - 第13回関西LibreOffice勉強会 #LibOKansai
「むしゃくしゃしたのでOpenDocumentで帳票テンプレート」 - 第13回関西LibreOffice勉強会 #LibOKansai
スクラムにおける事前期待のマネジメント - Customer Expectations Management of Scrum #sgt2016
スクラムにおける事前期待のマネジメント - Customer Expectations Management of Scrum #sgt2016
Jenkins User Conference 2012 Tokyo 「SIerのJenkins事情」
Jenkins User Conference 2012 Tokyo 「SIerのJenkins事情」
モックアップ共有のススメ
モックアップ共有のススメ
Jenkinsではじめる継続的インテグレーション
Jenkinsではじめる継続的インテグレーション
邪道Jenkins
邪道Jenkins
しゃべれて回れる「小人の執事さん」ったら地獄耳でもあるみたいですよ?(前編)
しゃべれて回れる「小人の執事さん」ったら地獄耳でもあるみたいですよ?(前編)
Jenkinsを導入する本当の理由を考えてみた
Jenkinsを導入する本当の理由を考えてみた
GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?
Jenkins に XFD を追加してみると
Jenkins に XFD を追加してみると
第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座
20170809 start python_selenium
20170809 start python_selenium
Más de takezoe
Journey of Migrating Millions of Queries on The Cloud
Journey of Migrating Millions of Queries on The Cloud
takezoe
GitBucket: Open source self-hosting Git server built by Scala
GitBucket: Open source self-hosting Git server built by Scala
takezoe
Testing Distributed Query Engine as a Service
Testing Distributed Query Engine as a Service
takezoe
Revisit Dependency Injection in scala
Revisit Dependency Injection in scala
takezoe
How to keep maintainability of long life Scala applications
How to keep maintainability of long life Scala applications
takezoe
頑張りすぎないScala
頑張りすぎないScala
takezoe
GitBucket: Git Centric Software Development Platform by Scala
GitBucket: Git Centric Software Development Platform by Scala
takezoe
Non-Functional Programming in Scala
Non-Functional Programming in Scala
takezoe
Scala警察のすすめ
Scala警察のすすめ
takezoe
Scala製機械学習サーバ「Apache PredictionIO」
Scala製機械学習サーバ「Apache PredictionIO」
takezoe
The best of AltJava is Xtend
The best of AltJava is Xtend
takezoe
Scala Warrior and type-safe front-end development with Scala.js
Scala Warrior and type-safe front-end development with Scala.js
takezoe
Tracing Microservices with Zipkin
Tracing Microservices with Zipkin
takezoe
Type-safe front-end development with Scala
Type-safe front-end development with Scala
takezoe
Scala Frameworks for Web Application 2016
Scala Frameworks for Web Application 2016
takezoe
Macro in Scala
Macro in Scala
takezoe
Java9 and Project Jigsaw
Java9 and Project Jigsaw
takezoe
Reactive database access with Slick3
Reactive database access with Slick3
takezoe
markedj: The best of markdown processor on JVM
markedj: The best of markdown processor on JVM
takezoe
ネタじゃないScala.js
ネタじゃないScala.js
takezoe
Más de takezoe
(20)
Journey of Migrating Millions of Queries on The Cloud
Journey of Migrating Millions of Queries on The Cloud
GitBucket: Open source self-hosting Git server built by Scala
GitBucket: Open source self-hosting Git server built by Scala
Testing Distributed Query Engine as a Service
Testing Distributed Query Engine as a Service
Revisit Dependency Injection in scala
Revisit Dependency Injection in scala
How to keep maintainability of long life Scala applications
How to keep maintainability of long life Scala applications
頑張りすぎないScala
頑張りすぎないScala
GitBucket: Git Centric Software Development Platform by Scala
GitBucket: Git Centric Software Development Platform by Scala
Non-Functional Programming in Scala
Non-Functional Programming in Scala
Scala警察のすすめ
Scala警察のすすめ
Scala製機械学習サーバ「Apache PredictionIO」
Scala製機械学習サーバ「Apache PredictionIO」
The best of AltJava is Xtend
The best of AltJava is Xtend
Scala Warrior and type-safe front-end development with Scala.js
Scala Warrior and type-safe front-end development with Scala.js
Tracing Microservices with Zipkin
Tracing Microservices with Zipkin
Type-safe front-end development with Scala
Type-safe front-end development with Scala
Scala Frameworks for Web Application 2016
Scala Frameworks for Web Application 2016
Macro in Scala
Macro in Scala
Java9 and Project Jigsaw
Java9 and Project Jigsaw
Reactive database access with Slick3
Reactive database access with Slick3
markedj: The best of markdown processor on JVM
markedj: The best of markdown processor on JVM
ネタじゃないScala.js
ネタじゃないScala.js
GitBucketを支えるJava技術とグローバルで使われるOSSの作り方
1.
GitBucketを支えるJava技術と グローバルで使われるOSSの作り方 Naoki Takezoe @takezoen
2.
自己紹介 ● 竹添 直樹
@takezoen ● 株式会社ビズリーチ勤務 ● Java→Scala ● GitBucketやScalatraなどのOSSを開発してい ます
3.
Agenda ● GitBucketの紹介 ● OSSの成長に必要なもの ●
今後の展望
4.
Agenda ● GitBucketの紹介 ● OSSの成長に必要なもの ●
今後の展望
5.
GitBucketとは? ● Scalaで実装されたOSSのGitサーバ ○ イントラネット内のサーバ等にインストールできます ●
インストールはめっちゃ簡単 ○ Javaさえ動作すればどこでも動作します $ java -jar gitbucket.war
6.
リポジトリビューア
7.
イシュー
8.
プルリクエスト
9.
GitBucketの機能 ● Public /
PrivateなGitリポジトリ (httpとsshでアクセス可能) ● アクティビティのタイムライン表示を含むダッシュボード ● オンラインでのファイル編集も可能なリポジトリビューア ● Markdown書式が利用可能なWiki ● イシュー、プルリクエスト ● ソースコードへのコメント ● リポジトリのフォーク ● Eメールによる通知 ● ユーザ、グループによる権限管理、LDAP連携 ● Gravator連携 ● GitHub互換のWeb API ● プラグインによる拡張 ● H2 / MySQL / PostgreSQL Herokuでデモサイトが動いています: http://gitbucket.herokuapp.com/
10.
GitBucketの開発について ● コミッタはいまのところ日本人中心 ● 必ず月1回リリース ●
使用しているフレームワーク(Scalatra)の開発に も積極的に関与している
11.
これまでの歩み ● 2013年4月頃開発開始 ● 2013年7月1.0リリース ●
2014年5月2.0リリース ● 2014年6月GitBucket News開始 ● 2015年3月3.0リリース(プラグイン導入) ● 2015年9月gitbucket community plugins開始 ● 2016年4月4.0リリース(外部DBサポート) ● 2016年7月4.3リリース(独自UIへ)
12.
技術的な話
13.
技術スタック Git Repository RDBMS (H2 /
MySQL / PostgreSQL) JGit Slick Apache MINA SSHD Jetty GitServlet (JGit) Scalatra / Twirl Git Client Web Browser SSH HTTP
14.
Scalaの特徴 ● オブジェクト指向言語 +
関数型言語の機能 ○ Javaよりも強力な型安全性 ○ スクリプト言語のような柔軟性 ● Javaとの相互運用性 ○ 既存の膨大なJavaの資産を利用可能 ○ 最新のScala 2.12ではJava8のサポートも強化
15.
Scalaの特徴を活かしたフレームワーク ● Scalatra(Webフレームワーク) ● Slick(DBアクセスライブラリ) ●
Twirl(テンプレートエンジン)
16.
Slick: タイプセーフなクエリDSL Issues .filter {
t1 => t1.issueId === issueId.bind } .innerJoin(Accounts).on { case (t1, t2) => t1.userId === t2.userId } .map{ case (t1, t2) => (t1.issueId, t1.title, t2.userName) } .list
17.
Twirl: タイプセーフなテンプレートエンジン @(account: model.Account) <ul> <li>user
namne: @account.name</li> <li>email: @account.email</li> @if(account.isManager){ <li>role: Manager</li> } else { <li>role: Developer</li> } </li>
18.
Scalaが少人数での開発を支えている ● 大規模なコードでも型によるチェックで修正漏れを 防ぐことができる ● Javaでは複雑な生SQLやHTMLテンプレートな どにおいて型安全性を活かせない ●
Scalaはコンパイルが遅いがGitBucketにおいて はそれ以上に圧倒的なメリットがある
19.
GitBucketを支えるJava技術 ● Jetty ● JGit ●
Apache MINA ● H2 database
20.
GitBucketを支えるJava技術 Git Repository RDBMS (H2 /
MySQL / PostgreSQL) JGit Slick Apache MINA SSHD Jetty GitServlet (JGit) Scalatra / Twirl Git Client Web Browser SSH HTTP
21.
独自開発のJavaライブラリ 汎用的なものは敢えてJavaで作っている ● markedj ○ marked.jsというGitHub
Flavored Markdown互換の MarkdownパーサをJavaに移植したもの ○ 現在はcommonmarkへの移行を検討中 ● solidbase ○ Liquibaseをベースにマルチテナント、マルチデータソース に対応したマイグレーションツール
22.
既存のJava資産を支えるのは大きい ● 低レイヤのミドルウェアやライブラリのネイティブ 実装が充実している ● Javaさえ動けばどこでも簡単に動作するアプリ ケーションを開発することができる
23.
プラグインシステム ● Scalaで記述できる ○ コンパイルしたjarを特定のディレクトリに配置して GitBucketを起動すると読み込まれる ●
様々な拡張ポイントを利用可能 ○ GitBucketが使用しているフレームワークの機能、コアが 提供する全てのAPIを利用可能
24.
こんなプラグインがあります プラグイン 説明 Announce plugin
ユーザにメールでのアナウンスをするためのプラグイン H2 Backup plugin H2のデータをダンプするためのプラグイン Desktop Notification デスクトップ通知を行うためのプラグイン Gist plugin スニペットを管理するためのプラグイン Commits graph plugin ユーザ毎のコミット数を表示するプラグイン Asciidoc plugin Asciidocのレンダリングをできるようにするプラグイン Bugspots plugin リポジトリのソースコードに Bugspotsを適用するプラグイン Pages plugin リポジトリの内容をWebページとして公開するためのプラグイン Network plugin コミットのネットワークグラフを表示するプラグイン Emoji plugin WikiやIssuesなどで絵文字を使えるようにするプラグイン RST plugin ReStructuredTextのレンダリングをできるようにするプラグイン
25.
GitBucketプラグインを作ってみよう http://takezoe.hatenablog.com/entry/2016/08/06/202109
26.
Agenda ● GitBucketの紹介 ● OSSの成長に必要なもの ●
今後の展望
27.
OSSの成長に必要なもの ● ユーザ ● 開発者 ●
コミュニティ ● エコシステム
28.
GitBucketはどのくらい? ● 6000 stars ●
100 contributors ● 1300 issues / pull requests ● 380 gitter users
29.
私のOSS代表作 ● FreeStyle Wiki
2003年〜 ○ 日本人ユーザがターゲットだった ○ プラグインを作ってくださる方も多かった ● Project Amateras 2004年〜 ○ 英語のWebサイト、ユーザインターフェースを提供 ○ 海外:日本のユーザ比率 3:1くらいになったが、開発コミュ ニティを作ることができなかった ● Seasar2, Apache Click 2008年〜 ○ Apache Software Foundationへの移行、ASFコミッタと しての活動を経験
30.
私のOSS代表作 ● GitBucket 2013年〜 ○
基本的にすべての活動を英語でやっている ○ 開発面でのフィードバックも多く得られている ○ GitHubの力によるところが大きい
31.
ASFで感じたこと ● メリット ○ ブランディング(?) ○
リーガル面のサポート(ユーザ、開発者双方にとってメリッ トがある) ● デメリット ○ 官僚的なルール、レガシーな開発インフラ ○ 協力者の敷居が高く、開発速度も遅くなってしまう
32.
GitHubによってもたらされたもの ● 使いやすく必要最低限の機能 ○ 既存のOSSホスティングサービスより使いやすかった ○
個人レベルのOSS開発によくフィットしていた ● 自然とコミュニティの構築が促進される ○ プルリクエストによってコードによる貢献が劇的に簡単に なった(する側もされる側も) ○ 簡単に貢献できることによって開発コミュニティの構築が促 進されている
33.
ソフトウェアとして大事なこと ● 継続性 ○ 自分が必要としているものを作る ○
自分が使い続ける限り開発が継続される ○ 開発コミュニティを作る ● 拡張性 ○ コアを小さく保つことでメンテナンスコストを下げる ○ 開発者のコミュニティ、さらにはエコシステムの構築を促進 できる
34.
最も大事なのは英語でやること ● すべてを英語で行う ○ UI、ドキュメント、ブログ、GitHub上でのやりとり等 ●
対象ユーザが一気に広がる ○ Amateasのときは英語のページを作っておいただけで ユーザ数が4倍になった ● ユーザが増えると協力者も増える ○ 協力者が増えないと開発コミュニティができない
35.
ユーザが増えるにつれ起こる問題 ● イシューが質問で埋め尽くされてしまう ○ 質問用のgitterルームを作り誘導する ○
WikiにFAQをまとめる ● 英語で投稿してくれない人が現れる ○ タイトルだけでも英語でリライトしてしまう ○ 日本語用のgitterルームを用意している
36.
GitHubのテンプレート機能を活用 gitリポジトリのルートもしくは.githubディレクトリに 以下のファイルを配置 ファイル名 説明 CONTRIBUTING.md コントリビューションの際の注意事項を記述。イ シュー、プルリクエストの作成画面にリンクが 表示される。 ISSUE_TEMPLATE.md
イシュー作成時にテンプレートとして表示され る。 PULL_REQUEST_TEMPLATE.md プルリクエスト作成時にテンプレートとして表示 される。
37.
ユーザに注意を促すことができる CONTRIBUTING.mdへのリンク ISSUE_TEMPLATE.mdの内容が 初期表示される
38.
OSSでワンチャンありますか?
39.
なくはない ● 開発元やユーザ企業などへの転職 ● 書籍や記事などを書いて副収入 ●
ビジネスとして成立するケースもある
40.
ただし必ずしも「ユーザの数」が全てではない ● GitBucketは世界中で使われてるっぽい ○ でも海外のScalaコミュニティでは知られていない ○
Scala使ってるような会社はみんなGitHub使ってる ● 特定のコミュニティ内での知名度が重要 ○ プログラマ向けのライブラリやフレームワーク ○ 著名なプロダクトへのコミット
41.
Agenda ● GitBucketの紹介 ● OSSの成長に必要なもの ●
今後の展望
42.
コアを小さくシンプルに保つ ● 特定用途向けの機能はプラグインとして提供 ○ Excelが出てくるやつとか… ●
現在は基本機能として実装されている機能もプラ グインに切り出していきたい ○ Issues、Wiki、認証機能など ● メンテナンスコストの最小化とプラグインコミュニ ティの活性化の両方に繋がる
43.
プラグイン開発の促進 ● より簡単にプラグインを開発/利用可能にする ○ 動作確認を簡単に行うための仕組み ○
ドキュメントの整備 ○ ネットワーク経由でのプラグインインストール ● GitBucketプラグインの開発がScalaに触れる きっかけになると嬉しい
44.
技術的な課題 ● パフォーマンス、スケーラビリティ ○ 巨大なリポジトリの場合にgitアクセスが重くなる ○
検索機能(特にGitリポジトリの検索)が遅い (Elasticsearchで横断検索できるようにするプラグインを 作ってくださっている方がいます) ● フロントエンド技術のレガシー化 ○ 現在はVanilla JS + jQuery ○ これはこれでいいのではという気もしている…
45.
開発者募集中です! ● プラグイン開発でもコミッタでも ● Scalaをやっていきましょう
46.
Try GitBucket!
Descargar ahora