オープンソースとコピーレフト 【修正したソースは元ライセンスと同じ条件で配布】

コピーライト(Copyright)は著作権という意味であり、商品でもWEBサイトでも他人が作ったものを勝手にコピーしたら当然ながら違法になります。 オープンソースはソースコードを自由に修正し再配布することができるフリーソフトウェアであり、窓の杜やベクターで無料でダウンロードできるフリーウェアとは異なり、「自由なソフトウェア」という意味です。 これはコピーレフト(Copyleft)という全く価値観が異なる考え方に基づいており、「修正したソースとその派生物は、元のライセンスと同じ条件で配布しなければならない」という、むしろコピーして改変して配布することを前提としています。

バージョン管理におけるコピー・マージ方式【チェックアウト/インで排他制御しダウン/アップロードで差分管理し次回チェックインでマージされる仕組み】

ファイル管理システムはプロジェクトファイル本体をチェックイン/チェックアウト機能で排他制御し、実績データをダウンロード/アップロードで差分管理し、次回のチェックインのタイミングでマージさせますが、排他制御をかけるわけではないので、端末ごとに実績入力ラインを分ける必要があります。本体がチェックアウトされている間も実績データはアップロード可能であり、その本体との差分は次回チェックイン時に本体にマージされます。 バージョン管理システム(VCS)はWordPress公式プラグイン管理で使われるSubversionのようにリポジトリ(Repository 倉庫)をリモートリポジトリで集中管理するものもあれば、GithubやGitbucketのようにコミットはローカルリポジトリに対して行い、リモートリポジトリでマージを行なう分散管理型のものもあります。

VirtualBoxとVagrantで仮想マシン作成 【仮想化ソフトの中で開発環境のイメージをシェアする】

イメージファイルで開発環境シェアという発想は、ローカルPC上で開発環境を構築して共同開発する場合に、互換性からくるエラーのリスクが減らすということであり、GitのリモートリポジトリのホスティングサービスであるGithubから、WordPress開発環境のboxイメージであるVagrant Chef Centos WordPress(VCCW)リポジトリのパッケージを、仮想化ソフトVirtual Boxの中で展開(GITをクローン)します。 このためにVagrant本体と設定ファイルであるVagrantfileでもって、WindowsのVirtualBox内でCentOS上のWordPress環境を構築します。

WordPressの起動2 – WordPress起動時に読み込まれるPHPファイルの順番

WordPressの起動時には、コアモジュールがブラウザに入力されたURLをパース(プログラムのソースコードやXML文書など、一定の文法に従って記述されたテキスト文書を解析し、プログラムで扱えるようなデータ構造の集合体に変換すること)して、確定したクエリに基づいてSQLクエリに変換し、MySQLから投稿やページを取得しグローバル変数に格納するプロセスと、テンプレート階層をなぞりながらテーマテンプレートを確定するプロセスが走ります。

WordPressの起動1 – WordPressテンプレートファイルの構成

エントリポイントであるindex.phpからインクルードされるwp-blog-header.phpが基点になり、wp-load.phpで環境設定、wp-config.phpでDB接続情報、wp-settings.phpでWordPress初期設定を実行します。 次にwp-includs/functions.phpのwp関数を実行し、URLにマッチしたクエリを確定し、wp-includes/query.phpのquery_postsメソッドで投稿を取得します。 URLにて確定されたクエリは、MySQLクエリに変換され、wp_postテーブルとwp_postmetaテーブルからposts配列に、表示すべき投稿・固定ページデータを格納し、template-loader.phpにてテンプレート階層の優先度に従って、ベーステンプレートが決定されます。