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

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

このコミットは、Go言語の公式サイト golang.org のコンテンツ構成を大幅に再編成するものです。主に、古い記事の削除、ドキュメントの移動、リンクの整理、およびフロントページの更新が含まれています。多数のHTMLファイルが削除され、既存のドキュメントファイルが修正されています。

コミット

commit 5dd74175d4c80fbe3a3dfda31bdc3ac745266baa
Author: Andrew Gerrand <adg@golang.org>
Date:   Mon Sep 16 15:47:13 2013 +1000

    doc: re-organize golang.org site content
    
    Remove "References" section.
    Remove most articles and redirect to blog.golang.org.
    Move /ref/spec and /ref/mem to /doc/spec and /doc/mem.
    Remove duplicate links from the remaining
    "Documents", "The Project", and "Help" pages.
    Defer to the wiki for more links and community content.
    Update command reference and mention cover tool.
    Add "Pop-out" text to the front page.
    Pick one of four videos at random to feature on the front page.
    
    Fixes #2547.
    Fixes #5561.
    Fixes #6321.
    
    R=r, dominik.honnef
    CC=golang-dev
    https://golang.org/cl/13724043

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

https://github.com/golang/go/commit/5dd74175d4c80fbe3a3dfda31bdc3ac745266baa

元コミット内容

doc: re-organize golang.org site content

Remove "References" section.
Remove most articles and redirect to blog.golang.org.
Move /ref/spec and /ref/mem to /doc/spec and /doc/mem.
Remove duplicate links from the remaining
"Documents", "The Project", and "Help" pages.
Defer to the wiki for more links and community content.
Update command reference and mention cover tool.
Add "Pop-out" text to the front page.
Pick one of four videos at random to feature on the front page.

Fixes #2547.
Fixes #5561.
Fixes #6321.

R=r, dominik.honnef
CC=golang-dev
https://golang.org/cl/13724043

変更の背景

このコミットは、Go言語の公式ウェブサイト golang.org の情報アーキテクチャとコンテンツ戦略の変更を反映しています。主な目的は、ウェブサイトのコンテンツを合理化し、ユーザーエクスペリエンスを向上させること、そして情報の重複を排除し、より適切な情報源(例えば、ブログやWiki)に誘導することにあったと考えられます。

具体的には、以下の点が背景にあると推測されます。

  • 情報の集約と専門化: golang.org が提供するコンテンツの種類を整理し、より動的で頻繁に更新される記事コンテンツは公式ブログ blog.golang.org へ、コミュニティ主導のコンテンツはGo Wikiへ、それぞれ役割を明確にして誘導することで、各プラットフォームの専門性を高める狙いがあります。
  • 重複の排除とメンテナンスの効率化: 複数のページに散らばっていた重複するリンクや情報源を整理することで、サイト全体のメンテナンスコストを削減し、ユーザーが最新かつ正確な情報にアクセスしやすくします。
  • ユーザーエクスペリエンスの向上: フロントページの改善(「Pop-out」テキストの追加や動画のランダム表示)は、サイト訪問者に対する視覚的な魅力を高め、よりエンゲージメントを促すための施策と考えられます。
  • ドキュメントの標準化: /ref/ 以下の参照ドキュメントを /doc/ 以下に移動することで、ドキュメントのパス構造をより一貫性のあるものにし、将来的な拡張や管理を容易にする意図があったでしょう。
  • ツールの紹介強化: go cover ツールのような重要な開発ツールの言及を更新することで、Go開発者が利用できるエコシステムの情報を最新の状態に保ち、その利用を促進します。

これらの変更は、Go言語コミュニティの成長と、それに伴う情報提供のニーズの変化に対応するための、戦略的なウェブサイト改善の一環と見ることができます。

前提知識の解説

このコミットの理解には、以下の前提知識が役立ちます。

1. Go言語の公式ウェブサイト golang.org

golang.org は、Goプログラミング言語の公式ウェブサイトです。言語仕様、標準ライブラリのドキュメント、チュートリアル、ブログ記事、コミュニティ情報など、Goに関するあらゆる公式情報が提供されています。このサイトは、Go開発者にとって主要な情報源であり、Goプロジェクトの顔とも言える存在です。

2. 静的サイトジェネレーターとコンテンツ管理

golang.org のようなドキュメントサイトは、多くの場合、静的サイトジェネレーターを使用して構築されます。これは、HTML、CSS、JavaScriptなどの静的ファイルを事前に生成し、それをウェブサーバーに配置する方式です。この方式の利点は、高速な表示、高いセキュリティ、簡単なデプロイメントなどです。コンテンツの変更は、ソースファイルを更新し、再生成してデプロイすることで行われます。

このコミットでは、HTMLファイルが直接変更・削除されていることから、当時の golang.org のコンテンツ管理が、HTMLファイルを直接編集するか、あるいはHTMLを生成するテンプレートシステムやマークダウン変換システムを介して行われていたことが示唆されます。

3. Go言語のドキュメント構造

Go言語のドキュメントは、以下のような階層で構成されることが一般的です。

  • /doc/: 主要なドキュメント、チュートリアル、言語仕様などが配置されます。
  • /ref/: 参照ドキュメント(例: 言語仕様、メモリモデル)が配置されることがありました。このコミットでは、このセクションが /doc/ に統合されています。
  • /articles/: 特定のトピックに関する詳細な記事や解説が配置されることがありました。このコミットでは、これらの多くがブログに移行されています。
  • /cmd/: Goコマンドラインツールのリファレンスが配置されます。

4. go cover ツール

go cover は、Go言語の標準ツールチェーンに含まれるコマンドラインツールで、Goプログラムのコードカバレッジを測定するために使用されます。コードカバレッジは、テストによって実行されたコードの割合を示す指標であり、テストの品質を評価する上で重要です。このツールは、Go 1.2で導入されました。コミットの日付が2013年9月であることから、Go 1.2のリリース(2013年12月)に先立って、その機能がウェブサイトで言及される準備がされていた可能性があります。

5. GitHub Issues (Fixes #XXXX)

コミットメッセージに含まれる Fixes #XXXX は、GitHubなどのバージョン管理システムで、特定のコミットが解決した課題(Issue)の番号を示す一般的な慣習です。これにより、コードの変更がどの問題に対応しているのかを追跡できます。ただし、これらのIssueは公開されていないか、番号が変更されている可能性があり、今回のWeb検索では直接的な情報は得られませんでした。これは、内部的なトラッカーの番号であるか、あるいはGoプロジェクトがMercurialからGit/GitHubへ移行する過程での古いIssue番号である可能性も考えられます。

技術的詳細

このコミット 5dd74175d4c80fbe3a3dfda31bdc3ac745266baa は、golang.org ウェブサイトのコンテンツ構造と表示方法に多岐にわたる変更を加えています。

  1. 「References」セクションの削除:

    • doc/reference.html ファイルが削除されました。これにより、ウェブサイトのナビゲーションから「References」という独立したセクションがなくなりました。
    • このセクションに含まれていたコンテンツは、他の適切な場所(例えば、/doc/ 以下)に統合されたか、あるいは不要と判断された可能性があります。
  2. 記事コンテンツの整理とブログへのリダイレクト:

    • doc/articles/ ディレクトリ下の多数のHTMLファイル(例: c_go_cgo.html, concurrency_patterns.html, defer_panic_recover.html, error_handling.html, gobs_of_data.html, godoc_documenting_go_code.html, gos_declaration_syntax.html, image_draw.html, image_package.html, json_and_go.html, json_rpc_tale_of_interfaces.html, laws_of_reflection.html, race_detector.html, slices_usage_and_internals.html など)が削除されました。
    • これらの記事は、blog.golang.org へリダイレクトされることになりました。これは、記事コンテンツの更新頻度や性質を考慮し、ブログプラットフォームで一元的に管理する方針への転換を示唆しています。これにより、golang.org はより静的でコアなドキュメントに集中し、動的なコンテンツはブログに任せるという役割分担が明確化されました。
    • 記事に関連する画像ファイル(doc/articles/image-*.png など)も同時に削除されています。
  3. 参照ドキュメントのパス変更:

    • /ref/spec/ref/mem がそれぞれ /doc/spec/doc/mem に移動されました。
    • これに伴い、doc/go_mem.htmldoc/go_spec.html の内部リンクや参照が更新されたと考えられます。この変更は、Go言語の主要なドキュメントを /doc/ 階層に集約し、より論理的なパス構造を確立することを目的としています。
  4. 重複リンクの削除とコミュニティコンテンツのWikiへの委譲:

    • 「Documents」、「The Project」、「Help」といった既存のページから重複するリンクが削除されました。これにより、ナビゲーションが簡素化され、ユーザーが混乱することなく目的の情報にたどり着けるようになります。
    • より多くのリンクやコミュニティコンテンツについては、Go Wikiに委譲されることになりました。これは、公式ウェブサイトが提供する情報の範囲を絞り込み、コミュニティ主導のコンテンツはWikiで管理するという方針を示しています。
  5. コマンドリファレンスの更新と cover ツールの言及:

    • doc/cmd.html が更新され、Goコマンドのリファレンスが最新化されました。
    • 特に、go cover ツールの言及が追加されました。これは、Go 1.2で導入されたコードカバレッジ測定ツールの重要性を強調し、開発者への認知度を高めるためのものです。
  6. フロントページの改善:

    • doc/root.html が変更され、フロントページに「Pop-out」テキストが追加されました。これは、特定のコンテンツや機能を目立たせるためのUI/UX改善と考えられます。
    • フロントページに表示される4つの動画の中から1つがランダムに選ばれて表示されるようになりました。これにより、サイトの動的な要素が増え、訪問者に対して多様なコンテンツを提示できるようになります。

これらの変更は、golang.org をより効率的で使いやすい情報ハブにするための包括的な取り組みであり、コンテンツの役割分担とナビゲーションの明確化に重点が置かれています。

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

このコミットでは、主に doc/ ディレクトリ以下のHTMLファイルが変更されています。変更の性質は、ファイルの削除、既存ファイルのコンテンツ修正、およびパスの変更です。

削除されたファイル(多数):

  • doc/articles/ 以下のほとんどのHTMLファイルと関連画像ファイル:
    • doc/articles/c_go_cgo.html
    • doc/articles/concurrency_patterns.html
    • doc/articles/defer_panic_recover.html
    • doc/articles/error_handling.html
    • doc/articles/gobs_of_data.html
    • doc/articles/godoc_documenting_go_code.html
    • doc/articles/gos_declaration_syntax.html
    • doc/articles/image-20.png (および他の image-*.png ファイル)
    • doc/articles/image_draw.html
    • doc/articles/image_package.html
    • doc/articles/json_and_go.html
    • doc/articles/json_rpc_tale_of_interfaces.html
    • doc/articles/laws_of_reflection.html
    • doc/articles/race_detector.html
    • doc/articles/slices_usage_and_internals.html
  • doc/reference.html

変更されたファイル:

  • doc/cmd.html: コマンドリファレンスの更新。
  • doc/contrib.html: 貢献に関するページの修正。
  • doc/docs.html: ドキュメント一覧ページの修正。
  • doc/go1.html: Go 1に関するページの修正(わずかな追加)。
  • doc/go1compat.html: Go 1互換性に関するページの修正(わずかな追加)。
  • doc/go_faq.html: FAQページの修正。
  • doc/go_mem.html: Goメモリモデルのドキュメントの修正(パス変更に伴うリンク更新など)。
  • doc/go_spec.html: Go言語仕様のドキュメントの修正(パス変更に伴うリンク更新など)。
  • doc/help.html: ヘルプページの修正。
  • doc/root.html: フロントページの修正(「Pop-out」テキスト、動画のランダム表示ロジック)。

変更の大部分は、既存のコンテンツの削除と、それに伴うナビゲーションやリンクの調整です。特に doc/articles/ 以下の大量のファイル削除が目立ちます。

コアとなるコードの解説

このコミットにおける「コアとなるコード」は、Go言語のランタイムやコンパイラそのものではなく、golang.org ウェブサイトを構成するHTMLドキュメントと、それらのドキュメント間のリンク構造です。

削除されたファイル群: doc/articles/ ディレクトリ下の多数のHTMLファイルが削除されたことは、これらの記事が golang.org の直接のコンテンツとしては提供されなくなったことを意味します。コミットメッセージにあるように、これらのコンテンツは blog.golang.org へリダイレクトされる方針が取られたため、ウェブサイトの静的ファイルからは削除されました。これにより、golang.org はより簡潔なドキュメントと情報提供に特化し、ブログがより動的な記事コンテンツのハブとしての役割を担うことになります。doc/reference.html の削除も同様に、参照情報が他のドキュメントに統合されたか、あるいは不要と判断された結果です。

doc/cmd.html の変更: このファイルはGoコマンドのリファレンスを提供します。変更内容には go cover ツールの言及が含まれています。これは、Go 1.2で導入されたこの新しいツールを公式ドキュメントに反映させ、開発者にその存在と利用を促すためのものです。

doc/go_mem.htmldoc/go_spec.html の変更: これらのファイルは、GoメモリモデルとGo言語仕様という、Go言語の根幹をなすドキュメントです。コミットメッセージにある /ref/spec/ref/mem から /doc/spec/doc/mem への移動は、これらのドキュメントへの内部リンクや参照パスが更新されたことを示唆しています。これにより、ドキュメントのURL構造がより統一され、管理しやすくなります。

doc/root.html の変更: このファイルは golang.org のトップページを構成します。

  • 「Pop-out」テキストの追加は、特定の情報やセクションへの注意を引くためのUI要素です。
  • 「Pick one of four videos at random to feature on the front page」という記述は、JavaScriptなどのクライアントサイドスクリプトを用いて、複数の紹介動画の中からランダムに一つを選んで表示するロジックが追加されたことを意味します。これにより、トップページに動的な要素が加わり、訪問者に対して新鮮な印象を与えることができます。

その他のHTMLファイルの変更 (doc/contrib.html, doc/docs.html, doc/go_faq.html, doc/help.html など): これらのファイルに対する変更は、主に重複するリンクの削除や、コンテンツの再編成に伴うナビゲーションの調整が目的です。これにより、サイト全体の整合性が保たれ、ユーザーがより効率的に情報を探索できるようになります。

全体として、このコミットは golang.org のコンテンツ戦略を再定義し、情報の提供方法を最適化するための、大規模なウェブサイト構造の変更を反映しています。

関連リンク

参考にした情報源リンク

  • コミットハッシュ: 5dd74175d4c80fbe3a3dfda31bdc3ac745266baa
  • GitHubコミットページ: https://github.com/golang/go/commit/5dd74175d4c80fbe3a3dfda31bdc3ac745266baa
  • commit_data/17609.txt の内容
  • Go言語のドキュメント構造に関する一般的な知識
  • 静的サイトジェネレーターとウェブサイトコンテンツ管理の概念
  • go cover ツールの機能に関する一般的な知識
  • GitHub Issuesの慣習に関する一般的な知識