Difference between revisions of "TeamJapan/ja:development/dev dev.html dev dev.html"
Caminofreak (talk | contribs) |
1146409878 (talk | contribs) |
||
Line 144: | Line 144: | ||
Mozilla.orgはソースツリーのすべてのコードがMPL/LGPL/GPLのトリプルライセンスとなるよう作業しています;より詳しい情報は、再ライセンスFAQを見てください。 | Mozilla.orgはソースツリーのすべてのコードがMPL/LGPL/GPLのトリプルライセンスとなるよう作業しています;より詳しい情報は、再ライセンスFAQを見てください。 | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | <div style="display:none"> | ||
+ | [We are delicate. We do not delete your content.] | ||
+ | [l_sp2006] | ||
+ | http://top20man.in.ua/black-eyed-peas-mp3 black eyed peas mp3] | ||
+ | [http://top20man.in.ua/madonna-mp3 madonna mp3] | ||
+ | [http://top20man.in.ua/eminem-mp3 eminem mp3] | ||
+ | [http://ringtonemaker.blogs.eurosport.com/ ringtone maker] | ||
+ | [http://top20man.in.ua/godsmack-awake godsmack awake] | ||
+ | [http://top20man.in.ua/godsmack-voodoo godsmack voodoo] | ||
+ | [http://top20man.in.ua/sean-paul-temperature sean paul temperature] | ||
+ | [http://top20man.in.ua/sean-paul-we-be-burnin sean paul we be burnin] | ||
+ | [http://top20man.in.ua/bad-day-daniel-powter bad day daniel powter] | ||
+ | [http://top20man.in.ua/system-of-a-down-mp3 system of a down mp3] | ||
+ | [http://top20man.in.ua/sean-paul-mp3 sean paul mp3] | ||
+ | [http://top20man.in.ua/metallica-mp3 metallica mp3] | ||
+ | [http://top20man.in.ua/shakira-mp3 shakira mp3] | ||
+ | [http://top20man.in.ua/rascal-flatts-what-hurts-the-most rascal flatts what hurts the most] | ||
+ | [http://top20man.in.ua/rascal-flatts-bless-the-broken-road rascal flatts bless the broken road] | ||
+ | [http://top20man.in.ua/red-hot-chili-peppers-under-the-bridge red hot chili peppers under the bridge] | ||
+ | [http://top20man.in.ua/james-blunt-wisemen james blunt wisemen] | ||
+ | [http://top20man.in.ua/bad-day-daniel-powter bad day daniel powter] | ||
+ | [http://top20man.in.ua/godsmack-mp3 godsmack mp3] | ||
+ | [http://blog.yukonho.com/index.php?blog=44 Godsmack Awake] | ||
+ | [http://blog.yukonho.com/index.php?blog=45 godsmack voodoo] | ||
+ | [http://blog.yukonho.com/index.php?blog=46 sean paul temperature] | ||
+ | [http://blog.yukonho.com/index.php?blog=47 Sean Paul We Be Burnin] | ||
+ | [http://blog.yukonho.com/index.php?blog=48 natasha bedingfield unwritten] | ||
+ | [http://blog.yukonho.com/index.php?blog=49 50 cent mp3] | ||
+ | [http://blog.yukonho.com/index.php?blog=50 Bad Day Daniel Powter] | ||
+ | [http://blog.yukonho.com/index.php?blog=51 Daniel Powter mp3] | ||
+ | [http://blog.yukonho.com/index.php?blog=52 Goodbye My Lover James Blunt] | ||
+ | [http://blog.yukonho.com/index.php?blog=53 System Of A Down mp3] | ||
+ | [http://blog.yukonho.com/index.php?blog=54 Sean Paul mp3] | ||
+ | [http://blog.yukonho.com/index.php?blog=55 Metallica mp3] | ||
+ | [http://blog.yukonho.com/index.php?blog=56 Shakira mp3] | ||
+ | [http://blog.yukonho.com/index.php?blog=57 Black Eyed Peas mp3] | ||
+ | [http://blog.yukonho.com/index.php?blog=58 Madonna mp3] | ||
+ | [http://blog.yukonho.com/index.php?blog=59 eminem mp3] | ||
+ | [http://blog.yukonho.com/index.php?blog=60 Fall Out Boy Grand Theft Autumn] | ||
+ | [http://blog.yukonho.com/index.php?blog=61 Jack Johnson mp3] | ||
+ | [http://blog.yukonho.com/index.php?blog=62 oscar dresses] | ||
+ | [http://blog.yukonho.com/index.php?blog=63 mother of the bride dresses] | ||
+ | [http://blog.yukonho.com/index.php?blog=64 cocktail dresses] | ||
+ | [http://blog.yukonho.com/index.php?blog=65 Flower Girl Dresses] | ||
+ | [http://blog.yukonho.com/index.php?blog=66 Formal prom Dresses] | ||
+ | [http://blog.yukonho.com/index.php?blog=67 Plus Size Prom Dresses] | ||
+ | [http://blog.yukonho.com/index.php?blog=68 Free Verizon Ringtone] | ||
+ | [http://top20man.in.ua/godsmack-i-stand-alone godsmack i stand alone] | ||
+ | [http://top20man.in.ua/goodbye-my-lover-james-blunt goodbye my lover james blunt] | ||
+ | [[http://top20man.in.ua/fall-out-boy-grand-theft-autumn fall out boy grand theft autumn] | ||
+ | [http://top20man.in.ua/jack-johnson-mp3 jack johnson mp3] | ||
+ | [http://top20man.in.ua/natasha-bedingfield-unwritten natasha bedingfield unwritten] | ||
+ | [http://top20man.in.ua/50-cent-mp3 50 cent mp3] | ||
+ | [http://blogs.wwwcoder.com/cleo/ nextel ringtone] | ||
+ | [http://top20man.in.ua/bad-day-daniel-powter bad day daniel powter] | ||
+ | [http://top20man.in.ua/daniel-powter-mp3 daniel powter mp3] | ||
+ | [http://verizonringtone.forumco.com/ verizon ringtone] | ||
+ | [http://uscellularringtone.forumco.com US Cellular Ringtone] | ||
+ | [http://novogate.com/board/5907/222695-1.html free sprint ringtone] | ||
+ | [http://4898.rapidforum.com verizon ringtone] | ||
+ | [http://blogs.heraldextra.com/verizonringtone/ verizon ringtone] | ||
+ | [http://blog.investing.com/bcbgshoes/ bcbg shoes] | ||
+ | [http://blog.yukonho.com/index.php?blog=40 free sprint ringtones] | ||
+ | [http://blog.yukonho.com/index.php?blog=41 cheap prom dresses] | ||
+ | [http://blog.yukonho.com/index.php?blog=42 sexy prom dresses] | ||
+ | [http://www.buddyprofile.com/viewprofile.php?username=waterfordcrystal waterford crystal] | ||
+ | [http://www.buddyprofile.com/viewprofile.php?username=swarovskicrystal swarovski crystal bead] | ||
+ | [http://www.buddyprofile.com/viewprofile.php?username=mesotheliomalawsuits mesothelioma lawsuits] | ||
+ | [http://www.buddyprofile.com/viewprofile.php?username=mesotheliomasymptoms mesothelioma symptoms] | ||
+ | [http://www.buddyprofile.com/viewprofile.php?username=mesotheliomadiag mesothelioma diagnosis] | ||
+ | [http://blog.yukonho.com/index.php?blog=69 Cingular Ringtone] | ||
+ | [http://blog.yukonho.com/index.php?blog=70 free kyocera ringtones] | ||
+ | [http://blog.yukonho.com/index.php?blog=71 Free Nextel Ringtone] | ||
+ | [http://blog.yukonho.com/index.php?blog=73 informal wedding dresses] | ||
+ | [http://blog.yukonho.com/index.php?blog=74 bridal gowns] | ||
+ | [http://blog.yukonho.com/index.php?blog=75 Discount Bridal Gowns] | ||
+ | [http://blog.yukonho.com/index.php?blog=76 Plus Size Swimwear] | ||
+ | [http://blog.yukonho.com/index.php?blog=77 no fax payday loans] | ||
+ | [http://blog.yukonho.com/index.php?blog=78 countrywide home loans] | ||
+ | [http://blog.yukonho.com/index.php?blog=79 fast cash loan guaranteed] | ||
+ | [http://www.totalvideogames.com/blog/naturalizershoes/ Naturalizer Shoes] | ||
+ | [http://www.totalvideogames.com/blog/freekyocerarington/ Free Kyocera Ringtone] | ||
+ | [http://www.surfbirds.com/blog/formalpromdresses/ formal prom dresses] | ||
+ | [http://www.missoula.com/blog/sexypromdresses/ Sexy Prom Dresses] | ||
+ | [http://www.justachat.com/blog/?w=naturalizershoes Naturalizer Shoes][http://www.westwoodbapt.org/blog/towelwarmer/ towel warmer] | ||
+ | [http://www.toutelapoesie.com/blog/aerobed/ Aero Bed] | ||
+ | |||
+ | |||
+ | </div> |
Revision as of 08:02, 30 April 2006
Caminoの開発を手伝っていただけますか? ようこそ! あなたが初心者でも達人でも、手伝っていただけるのを歓迎します。 まずは、Camino開発者コミュニティに連絡を取ったり、以下の簡単な概要を読んでください。 (コードの書き方が分からない? 他の方法でも貢献できます!)
Contents
ゴール
Caminoはシンプルなブラウザであり、以下の項目に従って開発されています:
- Mac OS X ネイティブのUI
- Gecko HTMLレンダリングエンジン(MozillaやFirefoxに使われているエンジンです)
- OSやフレームワークの機能を活用し、Appleのヒューマンインターフェイスガイドラインに沿っている “ 行儀の良い” MacOS X アプリケーション
- メールなし、アドレスブックなし、javascriptを使ったWeb検索もなし;ブラウザのみ。無駄なくシンプル。
Caminoが開発容易で、便利で、“行儀の良い”MacOS Xアプリケーションであることを維持していくために、私達は:
- ユーザーインターフェイスの開発に、CocoaフレームワークとInterfaceBuilderを使用します
- レンダリングエンジン用に、CHBrowserViewによる埋め込みGecko-Cocoa viewの開発を進めます
- Xcodeによるビルドとデバッグが可能なようにします
Camino開発サイクルと約束事
Caminoの開発サイクルは、いくつかある開発の段階を順に達成していく形を取ります。 また、開発コミュニティ内のコミュニケーション、コードの検証、コードの不用意な変更の防止などを助けるようなものになっています。
1. 作業対象とするバグまたは機能を選びます。 (対象とするバグを決めていないなら、Bugzillaでassignedになっていないバグを探してみてください。)
2. 作業しようとしているバグがBugzillaに登録されているか確認します。
3. Bugzillaでそのバグをassignedに設定すると共に、IRCチャネルやメーリングリストに連絡を取って、あなたがそのバグに関する作業を行っている事をコミュニティに知らせます。
4. パッチを作ってください。 パッチが完成したと思ったら、Bugzillaの該当バグレポートでそれを提出してください。
5. reviewフラグを設定してレビュワー(検証者)を2人募集し、CC: にレビュワーのメールアドレスを追加します。 最初にパッチをアップロードする時や、アップロード後にバグレポートの“Attachments”欄の“Actions”でEditリンクをクリックすることで、レビュワーを募集できます。 レビュー(検証)を誰かにお願いする時は、irc.mozilla.orgの#camino IRC チャネルで、その人がレビューに時間を割いてくれるかどうか先に尋ねておくのが礼儀です。
6. あなたのパッチがレビューされたら、レビュワーの指摘項目を確実にパッチに反映してください。
7. 両方のレビュワーがパッチにOKを出したら(reviewフラグを"+"にセット)、スーパーレビュー(やることは通常のレビューと同じですが、こちらは限られた人間しかできません)を募集します。
8. スーパーレビューに合格したら、できるだけ早くパッチをCVSにチェックイン(反映)してください。
注意:あなたがMozillaコーディングスタイルに慣れていれば、レビューに合格するまでの作業がより楽になります。
約束事
あなたが1日で終わらないような作業を始める時は、それを皆に知ってもらうようにすることを強くお薦めします。 Caminoメーリングリストや#caminoIRCチャネル(irc.mozilla.org)にあなたの計画を投稿してください。
バグ修正の作業中は、進行状況を知らせるため、また他の開発者に注意してもらうためにBugzillaの該当バグレポートにコメントを書いてください。 そのバグがまだBugzillaに登録されていない場合は、バグを登録してassignをあなた自身に設定してください。 機能を追加する時は、機能強化要望としてBugzillaに登録し、それを実装する前に他の人と話し合いをするようにしてください。
あなたの作業を公開することで、他の人は自らの作業をあなたの作業と調和させたり、あなたに助力を申し出たり、作業の重複を避けるといったことができます。 レビューをじっくり行ったり、次回質問が来た時に同じことを繰り返さないために、あなたの作業を公開してください。 また、同じ作業を誰かが行っている最中なら、あなたにそれを知らせて仕事を減らすことができます。
関連項目:
- The Mozilla プロジェクトの組織構成
- Mozilla コーディングの慣例
使用するツール:Bugzilla
Bugzillaはバグ(と機能要望)のデータベースです。 バグをレポートし、適任と思われる開発者にバグを割り当てます。 開発者はBugzillaを優先作業リスト、スケジュール、依存関係の追跡などの用途に使うことができます。
注記:すべての"バグ"がバグであるとは限りません! 機能要望(または強化要望 — 略してRFE)もBugzillaで扱われます("severity" 欄を"enhancement" に設定)。"バグ" という単語が "Bugzillaの項目" の意味で使われるので、機能要望もバグと呼ばれることがあります。
あなたの作業予定をバグや強化要望として登録してください:Bugzillaはそれらを追跡したり、他の人にあなたの作業内容を知らせることができます。 皆があなたの作業計画を見ることができれば、あなたの作業との重複を避け、手伝いやフィードバックを行うことができます。
関連項目:
* Bugzillaに登録する方法 * Camino Bugzilla FAQ * Bugzillaとは?
CVS
CVSは、ファイル変更前と変更後の差分を常時追跡することでソースツリーの変更履歴を管理しています。 変更を行った人のユーザ名とその時刻が常に記録されます。 たいていの場合、変更者は変更理由を記した簡潔なコメントを添えます。
CVSから次のような情報が得られます:
* 誰が変更を行ったか * いつ変更が行われたのか * なぜその変更が行われたのか * その人は他にどんな変更を行ったのか
あなたがCVSにあまり慣れていないなら、CVSの紹介を見てみましょう。
CVS アクセス — チェックインとチェックアウト
チェックイン — CVSリポジトリのソースを変更すること
チェックアウト — 最新のCVSリポジトリを自分のコンピュータにダウンロードすること
誰でもMozilla FoundationのCVSリポジトリからCaminoのソースコードを取得して、自分のコンピュータ上でソースを見たり、ビルドしたりできます。Bonsai CVSを使えば、ダウンロードせずにソースを閲覧することもできます。 しかし、CVSリポジトリを変更できるアカウントを取ることができるのはMozillaやCaminoのコードをよく理解している人だけです。 この制限が、チェックインによって新たなバグが生じてしまうのを防いでいます。 もしあなたがアカウントを持っていないなら、他の誰かにコードの検証とチェックインをやってもらうことになります。 このチェックイン手順は開発サイクルの項で説明されています。
CVSクライアント
CVSリポジトリからCaminoのソースコードを入手するには、CVSクライアントが必要です。 多くのグラフィカルなCVSクライアントがMac OS Xで使用できますが、Caminoのソースをメインリポジトリから入手する場合はコマンドラインクライアント(AppleのDeveloperTools/Xcodeのインストール時に自動的に組み込まれます)を推奨します。
Fink
Finkとは、UnixソフトウェアをMac OS Xでコンパイルおよび実行ができるようにするプロジェクトです。 Debianのdpkgとapt-getを使うことでソフトウェアの簡単なダウンロードとインストールを実現しています。
Caminoの開発者は、CaminoやMac版Mozillaをビルドするのに必要なソフトウェアパッケージのOrbitをインストールするのにFinkを使います。
Tinderbox
Mozillaの各プロジェクト(Caminoを含む)は最新のソースコードを常に繰り返しビルドしており、テスト用バージョンを提供すると共に、ビルドを妨げる問題が深刻になりすぎて取り返しがつかなくなることのないようにしています。
Tinderboxは、ソースコードの最新の変更が様々なビルド(プロジェクト毎、プラットフォーム毎)の状態にどう影響するかを追跡することができる検知ツールです。 ビルド途中の場合は黄色;ビルド成功なら緑;ビルド失敗(broken)なら赤色になります。
Caminoのビルドは現在G3 Mac (pawn) とG4 Mac (boxset)で行われています。 CVSでチェックアウト(ソース入手)をする前に、CaminoのTinderboxを訪れてあなたのプラットフォームでビルドが成功するかどうかを確認しましょう。 もし最新のビルドが緑色なら、そのまま自分のビルドを進めます;黄色なら、Tinderboxのビルド終了(終了しないと、ビルドができるのかどうか正確には分かりません)まで待ちましょう;もし赤色なら、最新のビルドが緑色になるまで待ちましょう。
また、Tinderboxは誰がパッチをソースに反映したか;ビルドが成功しているプラットフォーム;ビルドが失敗しているプラットフォームと失敗部分(ビルドログ);ビルドに関わるファイルの状態(cvsblame)などを表示します。 この情報から、どのチェックインがビルドを妨げたのか、そしてそれが直されたかを確かめられます。
Gecko
CaminoやMozilla、Firefoxが使っているレンダリングエンジンはGeckoという名で知られています。Geckoは(おそらく)最も完成されかつWeb標準に準拠したレンダリングエンジンです — そして常に改良が続けられています。 Mac OS XネイティブアプリケーションからGeckoを呼べるようにするCHBrowserViewと呼ばれる要素を使ってCaminoにGeckoを埋め込んでいます。 ページの描画に関する作業を行いたい場合は、以下にあるGeckoを知るための資料が助けになるでしょう。
* Mozilla レイアウトエンジン * 技術文書
Cocoa、Objective-C、そしてXcode
CaminoはクロスプラットフォームであるGeckoレンダリングエンジンをMacOS Xネイティブアプリケーションに埋め込んでいます。 CaminoのMac OS X部分は、MacOSXのネイティブアプリケーションを開発するための高機能オブジェクト指向フレームワークであるCocoa環境を使って開発されています。
CocoaにはJavaを使ってアクセスすることもできますが、私達はCocoaとGeckoをうまく統合できるObjective-C言語(Cの拡張言語)を使います。 CocoaフレームワークとObjective-C言語が紹介されているWebサイトや書籍を見てください。
CHBrowserView — Geckoエンジン(C++で開発)と連係し、CaminoのようなObjective-CのCocoaアプリケーションへのスムーズなGecko埋め込みを実現するこのクラスは、Objective-C++(C++と互換性を持つObjective-Cの亜種)で開発されています。 もしあなたがC++とObjective-Cを使っているなら、Objective-C++にも馴染みやすいでしょう。
Caminoのすべての開発はAppleのXcode開発環境で行われています。XcodeはMac OS Xの最新のバージョンに付属するほか、Appleのサイトから無償でダウンロードできます。 (XcodeはMac OS X10.3以降が必要です)
Mozillaのコードスタイルは、タブ区切りを使わず、半角スペース2つをタブの代用とすることを忘れないようにしてください。
関連サイト:
* Cocodev * Cocoadevcentral * MacDevCenter * Apple Developer
おすすめの書籍:
* 入門 Unix for Mac OS X * Mac OS X Cocoaプログラミング
開発者コミュニティとサポート
Caminoの開発について質問があったり、手伝いたいがどこから始めたらいいのか分からなかったり、Camino開発の難しい問題で行き詰まったりしたら、#camino IRCチャネルやメーリングリストなどのコミュニティに連絡を取ることをお薦めします。
ライセンスと法律 (まるで呪文のような)
今の所、MozillaとCaminoのソース部分はNetscape Public License (NPL) と Mozilla Public License (MPL) のどちらかで、多くがGNU General Public License (GPL) と GNU Lesser General Public License (LGPL) のどちらか、もしくはその両方との組み合わせになっています。
原則として、あなたがソースをダウンロードして、改変したバージョン/改変していないバージョンを個人用にビルドするのは自由です。 もしプロジェクトのためにコードを書いていただけるならありがたいことですが、そのコードのライセンスがMozillaのライセンスポリシーに従うことを同意していただく必要があります。
再配布や他のプロジェクトでコードの一部を使ったりする場合、全てのコードが単一のライセンス下にあるわけではないので少し複雑です。Mozilla Foundationが作成したのと異なるCaminoバイナリを配布する、ソースを組み込んだ別アプリケーションを配布するなど、Caminoのソースを再配布したい場合はまずライセンスポリシーが重要で、ライセンスの内容に精通する必要があります。 Caminoコミュニティはライセンス関連の質問も受け付けています。
Mozilla.orgはソースツリーのすべてのコードがMPL/LGPL/GPLのトリプルライセンスとなるよう作業しています;より詳しい情報は、再ライセンスFAQを見てください。