30億のデバイスで走るjavaを支えるjavaエコシステム

  • 1,960 views
Uploaded on

第一回渋谷.javaの死霊

第一回渋谷.javaの死霊

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,960
On Slideshare
0
From Embeds
0
Number of Embeds
9

Actions

Shares
Downloads
5
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. クイズです。 • Javaが走ってないものを当てよ • 火星探査車(Spirit) • Android • Blue-ray装置
  • 2. クイズです。 • Javaが走ってないものを当てよ • 火星探査車(Spirit) • Android • Blue-ray装置
  • 3. 理由 • Write Once, Run Anywhere でないから • ある端末で走るのに、他の端末で走らない とかよくありますね… • Java標準のAPIが使えないから • JSR173(StAX)とかJSONP(JSR353)とか • いや、そもそもJVMじゃないし…
  • 4. •30億のデバイスで走る Javaとかおおそれたタ イトルですが…
  • 5. •30億のデバイスで走る Javaを支えるJavaエコシ ステムの話をします。
  • 6. 期待していいこと
  • 7. • Maven Central Repoのポリシーを覚える 期待していいこと
  • 8. 期待できないこと
  • 9. • Mavenの使い方 • Groovy/Gradleの話だとか • IntelliJ IDEAの話とか • 面白いオチとか 期待できないこと
  • 10. • もちださん(@mike_neck) • Groovy、IntelliJ IDEA • フリーのプログラマーですが、諸事情 により云々かんぬん… • ブログ : mike-neck.github.io もっかい自己紹介
  • 11. ドラクエやってます • 名前:ひめ(IG506-769) • チーム:ぶんちんバス ターズ • メイン職業:スーパー スター(lv.70) • 強ボスは僧侶で参戦
  • 12. ライブラリーを知り、ライ ブラリーを使う • 「標準ライブラリーを使用すること で、それを書いた専門家の知識と、 それをあなたよりも前に使用した 人々の経験を利用することになりま す」  (『Effective Java』項目47より)
  • 13. プロジェクトでのライブラ リーの管理どうしますか? • 各自でライブラリーを落としてきてパ スに加える • VCSに入れておく • Ivy/Maven/Gradleで管理する
  • 14. •ライブラリーの管理は Ivy/Maven/Gradleを使い ましょう
  • 15. Maven Centralの悩み
  • 16. • 我々(Sonatype OSS repository)がApacheや Codehausなどの大きな組織のレポジトリー との同期を始めた時、これらの組織がレポ ジトリーの品質に注意を払うだろうと楽観 視していた。しかし、実際のところ、怪し いライブラリーが散見された。 (Improving Maven Central and Supporting Maven Ecosystem - http://blog.sonatype.com/ people/2010/01/nexus-oss-ecosystem/)
  • 17. • Maven Centralにないartifactがアップロードされ る • メタデータ/javadoc.jar/source.jarがない • GPG signatureがない • POMに開発者情報がない • artifactの依存情報とPOMの内容が異なる 具体的にあった問題
  • 18. Central Sync Requirement - 1
  • 19. Central Sync Requirement - 1 • <modelVersion> - 4.0.0 • <groupId> - ちゃんとしたドメインを使うこと • <artifactId> - ライブラリー・モジュールの名前 • <version> - SNAPSHOTはダメ • <packaging> - jarまたはwar • <name> - プロジェクトの名前 • <description> - プロジェクトの概要 • <url> - プロジェクトのURL • <licenses> - ライセンス形態を記述 • <scm><url> - SCMツールのURL (githubとかbitbucketとか) • <scm><connection> - SCMのプロトコルを含めたURL • <developers> - 開発者の情報
  • 20. Central Sync Requirement - 2
  • 21. Central Sync Requirement - 2 • -sources.jarを含めること • -javadoc.jarを含めること • artifact.jar、javadoc.jar、sources.jar、pomの GPG署名を付けること • maven centralにない依存ライブラリーをpomに 記述しないこと • Seasarプロジェクトのライブラリーとか…
  • 22. Central Sync Requirement 覚えた?
  • 23. 詳しく知りたい方は http://samuraism.jp/diary/2012/05/03/1336047480000.html http://mike-neck.github.io/blog/2013/06/19/publish-maven- artifact-with-sign-files-1/
  • 24. ご静聴ありがとうございました。