Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

[インデックス 11556] ファイルの概要

このコミットは、Go言語のChrome拡張機能であるgophertool内のビルドステータスダッシュボードへのリンクを修正するものです。具体的には、古いURLから新しいURLへ変更することで、ユーザーが常に最新のビルド状況を確認できるようにしています。

コミット

commit a98faa9b6f059ed1e0503949f50f0a8d80d84f56
Author: Jongmin Kim <atomaths@gmail.com>
Date:   Wed Feb 1 20:53:31 2012 -0800

    gophertool: fix link to the build status dashboard
    
    R=golang-dev
    CC=bradfitz, golang-dev
    https://golang.org/cl/5606050

GitHub上でのコミットページへのリンク

https://github.com/golang/go/commit/a98faa9b6f059ed1e0503949f50f0a8d80d84f56

元コミット内容

gophertool: fix link to the build status dashboard

R=golang-dev
CC=bradfitz, golang-dev
https://golang.org/cl/5606050

変更の背景

このコミットが行われた2012年当時、Go言語プロジェクトは急速に進化しており、それに伴いインフラストラクチャも変更されていました。特に、Goプロジェクトの継続的インテグレーション(CI)システムであるビルドダッシュボードのURLが変更されたことが、この修正の直接的な背景です。

gophertoolは、Go開発者向けのChrome拡張機能であり、Go関連の様々な情報へのクイックアクセスを提供することを目的としていました。その機能の一つとして、Goプロジェクトのビルドステータスを確認できるビルドダッシュボードへのリンクが含まれていました。しかし、ビルドダッシュボードのURLがhttp://godashboard.appspot.com/からhttp://build.golang.org/へと変更されたため、gophertool内のリンクが古くなり、ユーザーが正しい情報にアクセスできなくなっていました。

このコミットは、ユーザーエクスペリエンスを向上させ、gophertoolが提供する情報が常に最新であることを保証するために、このリンク切れを修正することを目的としています。

前提知識の解説

Go言語 (Golang)

Goは、Googleによって開発されたオープンソースのプログラミング言語です。静的型付け、コンパイル型言語でありながら、動的型付け言語のような開発のしやすさを目指しています。並行処理のサポートが強力で、ガベージコレクションを備えています。サーバーサイドアプリケーション、ネットワークサービス、CLIツールなどで広く利用されています。

Chrome拡張機能

Google Chromeブラウザの機能を拡張するためのソフトウェアです。HTML、CSS、JavaScriptといったWeb標準技術を用いて開発され、ブラウザのUIにボタンを追加したり、特定のWebサイトの動作を変更したり、バックグラウンドでタスクを実行したりすることができます。gophertoolもこのChrome拡張機能の一つです。

ビルドダッシュボード (Build Status Dashboard)

ソフトウェア開発において、継続的インテグレーション(CI)システムは非常に重要です。CIシステムは、開発者がコードをリポジトリにコミットするたびに、自動的にコードのビルド、テスト、デプロイなどを行います。ビルドダッシュボードは、このCIシステムの現在の状態(どのビルドが成功し、どのビルドが失敗しているかなど)を視覚的に表示するWebインターフェースです。Goプロジェクトでは、Goのソースコードが様々なプラットフォームで正しくビルドされ、テストがパスしているかを常に監視するために、このようなビルドダッシュボードが運用されています。

gophertool

gophertoolは、Go言語の公式リポジトリ(golang/go)の一部として提供されていたChrome拡張機能です。Go開発者がGoのドキュメント、パッケージ、コミット履歴、そしてビルドステータスダッシュボードなどに素早くアクセスできるように設計されていました。この拡張機能は、Goコミュニティの利便性を高めるためのツールの一つでした。

技術的詳細

この変更は、gophertoolのユーザーインターフェースを定義するHTMLファイルであるpopup.html内のハイパーリンクのhref属性を更新するものです。

popup.htmlは、Chrome拡張機能のポップアップウィンドウに表示される内容を記述しています。ユーザーがブラウザのツールバーにあるgophertoolのアイコンをクリックすると、このpopup.htmlがレンダリングされ、Go関連の様々なリンクや入力フォームが表示されます。

変更箇所は、ビルドダッシュボードへのリンクを生成している<a>タグのonclickイベントハンドラ内のURLです。

  • 変更前: http://godashboard.appspot.com/
  • 変更後: http://build.golang.org/

openURLというJavaScript関数が定義されており、この関数は引数として受け取ったURLを新しいタブで開く役割を担っています。

function openURL(url) {
  // この関数内で、受け取った 'url' を新しいタブで開く処理が実装されていると推測される
  // 例: chrome.tabs.create({ url: url });
}

このコミットは、JavaScriptコード自体を変更するのではなく、HTML要素のonclick属性に直接記述されているURL文字列を変更することで、リンクの参照先を更新しています。これは、HTMLとJavaScriptが密接に連携してUIを構築している典型的な例です。

コアとなるコードの変更箇所

変更はmisc/chrome/gophertool/popup.htmlファイルの一箇所のみです。

--- a/misc/chrome/gophertool/popup.html
+++ b/misc/chrome/gophertool/popup.html
@@ -49,6 +49,6 @@ function openURL(url) {
 <a href="#" onclick="openURL('http://code.google.com/p/go/source/list')">commit</a>, or
 <a href="#" onclick="openURL('http://golang.org/pkg/')">pkg</a> id/name:</small>
 <form style='margin: 0' onsubmit="return navigate();"><nobr><input id=\"inputbox\" size=10 /><input type=\"submit\" value=\"go\" /></nobr></form>\n-<small>Also: <a href=\"#\" onclick=\"openURL('http://godashboard.appspot.com/')\">buildbots</small>
+<small>Also: <a href=\"#\" onclick=\"openURL('http://build.golang.org/')\">buildbots</small>
 </body>
 </html>

具体的には、49行目の<small>Also: <a href="#" onclick="openURL('http://godashboard.appspot.com/')">buildbots</small>が、http://godashboard.appspot.com/http://build.golang.org/に置き換える形で変更されています。

コアとなるコードの解説

この変更は非常にシンプルで、HTML内の静的なURL文字列を更新するものです。

  • 変更前:

    <small>Also: <a href="#" onclick="openURL('http://godashboard.appspot.com/')">buildbots</small>
    

    この行では、"buildbots"というテキストが表示され、クリックするとopenURL関数がhttp://godashboard.appspot.com/を引数として呼び出されます。

  • 変更後:

    <small>Also: <a href="#" onclick="openURL('http://build.golang.org/')">buildbots</small>
    

    変更後も同様に"buildbots"というテキストが表示されますが、クリックするとopenURL関数が新しいURLであるhttp://build.golang.org/を引数として呼び出されます。

この修正により、gophertoolのユーザーは、Goプロジェクトの最新のビルドステータスダッシュボードに正しくリダイレクトされるようになります。これは、Webアプリケーションやツールのメンテナンスにおいて、外部リソースへのリンクが変更された際に頻繁に行われる種類の修正です。

関連リンク

参考にした情報源リンク