<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/ka-ra/">
    <title>気の向くままに…@ウィキ</title>
    <link>http://w.atwiki.jp/ka-ra/</link>
    <atom:link href="https://w.atwiki.jp/ka-ra/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>気の向くままに…@ウィキ</description>

    <dc:language>ja</dc:language>
    <dc:date>2009-06-25T22:03:54+09:00</dc:date>
    <utime>1245935034</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/ka-ra/pages/1.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ka-ra/pages/17.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ka-ra/pages/12.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ka-ra/pages/15.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ka-ra/pages/14.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ka-ra/pages/16.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ka-ra/pages/2.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ka-ra/pages/7.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ka-ra/pages/8.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ka-ra/pages/9.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/ka-ra/pages/1.html">
    <title>トップページ</title>
    <link>https://w.atwiki.jp/ka-ra/pages/1.html</link>
    <description>
      **紹介
----
**気の向くままに…@ウィキへようこそ！！
**このウィキは主の気の向くままに，不定期更新するウィキです
**基本的にTIPSの記事は誰でも編集できます
***※主は平凡極まりない人なので過度な期待はしないでください

-[[プロフィール]]

**TIPS
----
-[[PHP環境をインストール]](作成日：2009/05/09(土) 00:03:12)
-[[ソフトウェア設計の原則まとめてみた]](作成日：2009/05/28(木) 21:46:04)
-[[失敗したコードレビュー]](作成日：2009/06/25(木) 22:00:41)

**アクセス
----
-&amp;color( red ){Today     } &amp;counter( today )
-&amp;color( blue ){Yesterday} &amp;counter( yesterday )
-&amp;color( green ){Total   } &amp;counter( total )

----    </description>
    <dc:date>2009-06-25T22:03:54+09:00</dc:date>
    <utime>1245935034</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ka-ra/pages/17.html">
    <title>失敗したコードレビュー</title>
    <link>https://w.atwiki.jp/ka-ra/pages/17.html</link>
    <description>
      １．コードレビュー

コードレビューとは
ソフトウェア開発工程で見過ごされた誤りを検出・修正するためにソースコードの体系的な検査（査読）を行うこと．ソフトウェア品質を高めると同時に開発スキルの向上を図ることができる
ｂｙ　wikipedia

本日(2009/06/24)，初めて会社でコードレビューを行った
結果を報告するとプログラムの説明でグダグダのボロボロだった
というわけで失敗に終わった．明日リベンジの機会があるので
本日(2009/06/24)感じたこと学んだことをまとめておこうと思う

ちなみに自分は非常に説明が苦手である
早く改善したいがすぐに改善できるものでもないので一歩一歩焦らず進んでいく

２．何でコードレビューをするのか

・全員がプログラムを共有する
・レビューするコードの修正方法が妥当かどうか

インターネットを調べると他にも色々と書いてあるが
自分が考えてまたは知っていたことはこの時点では以上である

コードレビューをインターネットで調べるとレビュワーについては色々と出てくるが
肝心のプログラム作成者の振る舞いについては中々記事が見つからない
どうしてなのだろうか？

３．どうやって説明するかのポイント

どこを修正するのか明確に明示する
大きな観点で見るなら仕様変更そのもの
もう少し詳細にするときは何のプログラムのどのソースコードのどのメソッドを修正したのかなどになる

実際に説明するときは「ストーリー」立てて説明する
・何故修正するのか(前の問題点とそれに対する改善点)
・何故プログラムをこの修正方法で修正をしたのか
・プログラムの修正点は全部網羅しているのか(漏れがないか，意外とこれが曲者)

ソースコードの印刷物について
修正したメソッドの全てを印刷する(前後の関係を見ないと分からないことがあるから)
印刷したソースコードには行番号をつける

それが正しいかどうか簡単に言うと根拠の提示について
実際にプログラムを動かして動作したでは不十分
　→もっと現在の事実に基づいた根拠が必要

動作ありきでプログラムを考えているならその考えは今すぐ捨てた方が良い
いつか必ず足元をすくわれる

これは自分用の指標
説明のとき質問受けて咄嗟に返答できないとき
　→5秒考えて何も浮かばないならわからないことを伝える

待たせたり沈黙は厳禁

以上で終了
読んでいただいて非常に嬉しいです    </description>
    <dc:date>2009-06-25T22:00:41+09:00</dc:date>
    <utime>1245934841</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ka-ra/pages/12.html">
    <title>プロフィール</title>
    <link>https://w.atwiki.jp/ka-ra/pages/12.html</link>
    <description>
      名前：秘密
職業：Webプログラマ

趣味：散歩，趣味グラマー
ストレス解消：バッティングセンター，15分間の空白時間
好きなモノ～：酒(主にカクテルとか洋酒)，プログラム
座右の銘：Think!!(考えろ!!) by IBM

開発環境：
OS：Microsoft Windows XP HomeEdition Version 2002 Service Pack 3
CPU：Intel Atom 1.60GHz
メインメモリ：1GB
ハードディスク：160GB

[[トップページへ戻る&gt;トップページ]]

**自分用のリンクとかメモ
----
[[管理者用リンク]]

----    </description>
    <dc:date>2009-06-25T21:59:33+09:00</dc:date>
    <utime>1245934773</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ka-ra/pages/15.html">
    <title>管理者用リンク</title>
    <link>https://w.atwiki.jp/ka-ra/pages/15.html</link>
    <description>
          </description>
    <dc:date>2009-06-23T22:40:16+09:00</dc:date>
    <utime>1245764416</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ka-ra/pages/14.html">
    <title>PHP環境をインストール</title>
    <link>https://w.atwiki.jp/ka-ra/pages/14.html</link>
    <description>
      **インストールの種類
----
１．ApacheとPHPなどを個別でインストールする方法
２．XAMPPフリーソフトウェアで，お手軽にインストールする方法

ちなにみ私は，必要ないモノをインストールしたくなかったから，
個別にインストールしたよ～

まぁ，色々と設定すんの面倒だったけど…

***&amp;color( red ){※開発は自分のPC環境をベースに考えているから，ご注意を！}

**個別のインストール
----
誰が通常と決めたのかは知らないが，
まぁ，こっちが一般的なインストール方法でしょう～

Apacheダウンロード先：[[http://httpd.apache.org/download.cgi]]

Win32 Binary without crypto (no mod_ssl) (MSI Installer)をダウンロードした．
2009/05/06では，apache_2.2.11-win32-x86-no_ssl.msiが最新だった．

PHPダウンロード先：[[http://www.php.net/downloads.php]]

Windows BinariesのPHP zip packageをダウンロードした．
2009/05/06では，PHP 5.2.9-2 zip packageが最新だった．

ちなみに，PHP5.0以降はSQLiteというデータベースが使えるから，
SQLはインストールしなかったよ～面倒だしねｗｗｗ

以下は私がやったことを順序にして書いてあるだけ

Apacheについて
１．
とりあえず，Nextボタンをクリック
&amp;ref( Apache01.png )

２．
「I accept the terms in the license agreement」を選択
また，Nextボタンをクリック
&amp;ref( Apache02.png )

３．
ここも，Nextボタンをクリックで～
&amp;ref( Apache03.png )

４．
ここ面倒だよ．私は，Localでしか使わないので
それ以外の使用用途をする人は回れ右して他のサイトへ～
|設定する名称|入力する文字|
|Network Domain|LocalHost|
|Server Name|LocalHost|
|Administrator&#039;s Email Address|abc@abc.com(自分は，メインで使ってるメールアドレスを入れたけどね～)|

上記の設定が終わったら次は，
「for All Users, on Port 80, as a Service -- Recommended」の方にチェックつけて～
Nextボタンをクリック！
&amp;ref( Apache04.png )

５．
Typicalの方にチェックつけて，Nextボタンをクリック！
&amp;ref( Apache05.png )

６．
デフォルトのCドライブのプログラムファイルが選択されているのを確認して
Nextボタンをクリック
インストール先を変えたい人はお好みに～ｗ
&amp;ref( Apache06.png )

７．
ではでは，やっとインストールの開始です！！
インストールボタンをポチッとなｗ
&amp;ref( Apache07.png )

８．
PCが頑張ってインストしてくれてま～す
個人的にはインストール画面が割りと好きだったり…
&amp;ref( Apache08.png )

９．
Finishボタンを押して終～了～
&amp;ref( Apache09.png )

お疲れ様でした！！

PHPについて
１．
CドライブにPHPのzip packageを解凍するフォルダを作り，そのフォルダ内に解凍．
以降はPHPフォルダと言うことにします．

２．
PHPフォルダ内の「php5ts.dll」を
WINDOWSフォルダ内のsystem32フォルダ内にコピーする．

私の場合だと「C:\WINDOWS\system32」にあった．

３．
PHPフォルダ内の「php.ini-dist」を
WINDOWSフォルダ内にコピーする．

WINDOWSフォルダ内にコピーした
「php.ini-dist」の名前を「php.ini」に変更する．

php.ini-dist→php.ini

４．
ApacheにPHPを使えるように設定する．
Apacheをインストールしたフォルダ内のconfフォルダへ
その中の「httpd.conf」を開く(私はエディターにサクラを使っています)

正直，探すの面倒だと思うけど頑張って！！

LoadModuleに次の行を追加する．
「LoadModule php5_module c:/php/php5apache2_2.dll」
&amp;ref( 01.png )

AddTypeの&amp;color( red ){最後に}次の行を追加する
「AddType application/x-httpd-php .php」
&amp;ref( 02.png )

５．
(以前に名前を変更した「php.ini-dist→php.ini」があったはず)
WINDOWSフォルダのphp.iniを開く

&amp;color( red ){変更前　doc_root = &quot;&quot;}
&amp;color( green ){変更後　doc_root = &quot;C:/Program Files/Apache Software Foundation/Apache2.2/htdocs&quot;}
※C:/…Apache2.2で指定しているパスはApacheのインストール先
&amp;ref( 03.png )

&amp;color( red ){変更前　extension_dir = &quot;./&quot;}
&amp;color( green ){変更後　extension_dir = &quot;C:/PHP/ext&quot;}
※C:/PHPで指定しているパスはPHPを解凍したフォルダ先
&amp;ref( 04.png )

６．
Apacheを再起動する．

７．
PHPの動作確認
Apacheをインストールしたフォルダのhtdocsフォルダ内に
Test.phpを作成し参考ソースを記述する．

ブラウザからhttp://localhost/Test.phpへアクセス．

参考ソース(PHPのバージョン情報を出力してくれる)
#highlight( php )
{
&lt;?php
	phpinfo();
?&gt;
}

こんな結果がページが表示されればおｋ．(正直，横線で消す意味があるかは知らん)
&amp;ref( 05.png )

**XAMPPを使ったインストール
----
XAMPPは，すぐに開発環境が整うから，
PHPを始めようってプログラマによく利用されてるみたい．

あぁ，XAMPP(ざんぷ)はフリーになります．
詳しくは→[[http://ja.wikipedia.org/wiki/XAMPP]]へ

それと確か，XAMPPは，
X クロスプラットフォーム
A Apache
M MySQL
P PHP
P Perl
だったかな？確か…

ダウンロード先：[[http://www.apachefriends.org/en/xampp-windows.html]]

以下インストール手順

１．
とりあえず，私は日本人なのでJapaneseを選択する．
&amp;ref( XAMPP01.png )

２．
ウィザードの「次へ」を選択
&amp;ref( XAMPP02.png )

３．
デフォルトのインストールフォルダのままで(嫌なら変更して)
インストールフォルダを指定したら，「次へ」を選択
&amp;ref( XAMPP03.png )

４．
項目選択はデフォルトのままで(変更はお好きに，サービスを入れなくても動作できるけどね)
設定が完了したらインストールへ
&amp;ref( XAMPP04.png )

５．
インストール項目がモリモリとスクロールしていきます．
こんな感じに項目というか文字がスクロールしていくの見るのは好きですｗ

６．
終了したら「完了ボタン」を押して終了する．

７．
XAMPPのコントロールパネルを表示するダイアログが出てくる．
どちらでもお好きに選択してください．

８．
インストール終了！！

**独り言
----

***有名(？)なLAMP
ちなみに，PHPの実行環境として有名な組み合わせにLAMPという環境があります．
L Linux
A Apache
M MySQL
P PHP
の頭文字を取ってLAMPと言います．

&amp;color( red ){※全部，オープンソフトウェアなので「タダ」「無料」「お金いらない」です！！}

***localhostアクセスできなかった
localhostへアクセスするときにアクセスできない場合がある．

というか，私はアクセスできなかった！！

ipconfig，ping，tracert，netstat
などのコマンドを使って調べたけど分からんかったので，
ウィルスソフトとファイアーウォールを切ってやりましたよ！

そしたら………アクセスできてしまった(゜Д゜）ハァ？

まぁ，最終的にはウィルス対策ソフトのファイアーウォールが邪魔してたのだった．

そんなわけで，細かい設定の仕方を知らないから，
ウィルス対策ソフトのセキュリティレベル下げちゃったｗ

勉強不足というわけでしょうがない(´･ω･`)ｼｮﾎﾞｰﾝ

----
***何かあれば，ご質問，コメントなどをど～ぞ
#comment()

[[トップページへ戻る&gt;トップページ]]
----    </description>
    <dc:date>2009-06-01T21:50:56+09:00</dc:date>
    <utime>1243860656</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ka-ra/pages/16.html">
    <title>ソフトウェア設計の原則まとめてみた</title>
    <link>https://w.atwiki.jp/ka-ra/pages/16.html</link>
    <description>
      せっかくだから，聞いたことのある原則，知っていた原則を調べてまとめてみた．
間違っているところは指摘してね～．

*ソフトウェア原則
ソフトウェアに関する原則だよ～．

***Ambler&#039;s Law of Standards(Amblerの標準化の法則)
----
標準化ガイダンスを再利用するためのスコープの法則です．
業界標準 &gt; 組織標準 &gt; プロジェクト標準 &gt; 個人標準 &gt; なし
ということらしい．まぁ，大きいスコープを利用した方がいいだろ．

***Rod Johnsonの標準化の法則
----
ダメな標準があるのは，標準がないことよりもずっと悪いということらしい．

***YAGNI
----
You Aren&#039;t Going to Need It.＝「それは必要にならない。」
多分いるだろうではなく，ほんとに必要になったときに必要なモノを作成する．

***the Low of Demeter(デメテルの法則)
----
Don&#039;t Talk to Strangers.
オブジェクトは直接の友達以外お話しちゃだめ．なんというイジメｗ
いや，プログラムの世界ではイジメも正しいのだ！！

***The DRY Principle(DRY原則)
----
Don&#039;t Repeat Yourself.
&quot;重複させない&quot;という考えに基づいてプログラムをする．
&amp;color( red ){※これが，非常に重要な考えなのです！！}

***KISS principle(KISS原則)
----
Keep It Simple Stupid.
Keep It Simple and Small.
つまり，シンプルにしろってことです．これはソフトウェアだけじゃありませんね．
Simple is the best.

*オブジェクト指向
オブジェクト指向に関する原則です．

***The SingleResponsibilityPrinciple(SRP)
----
単一責任の原則．
クラスを変更する理由は一つ以上存在してはならない
役割(責務) = 存在理由

***The Open-Closed Principle (OCP)
----
開放/閉鎖原則．
拡張に対して開いていて，変更には閉じている．
「むすんでひらいての原則」と面白い表現をしている方がいました．これは，とても分かりやすいと思う．

***The Liskov Substitution Principle (LSP)
----
リスコフの置換原則．
上位クラスと下位クラスは置換が可能でなければならないという原則．

***The Dependency Inversion Principle (DIP)
----
依存関係逆転の原則．
抽象に対して依存し，実装に対しては依存しないという考え．

***The Interface Segregation Principle (ISP)
----
インターフェース分離の原則．
汎用的な一つのインターフェースを作るのではなく，ある機能に特化した複数のインターフェースを作成する．

***The Reuse/Release Equivalence Principle (REP)
----
再利用開放等価の原則．
パッケージを再利用可能にするため，クラス群をリリースする単位とする．

***The Common Reuse Principle (CRP)
----
共通再利用の原則．
再利用するために一連のグループ単位で考える．
The Interface Segregation Principle(ISP)のパッケージ版(？)．

***The Common Closure Principle (CCP)
----
共通閉鎖の原則．
将来に変更が起こるクラスは，同じパッケージに入れるという考え．

***The Acyclic Dependencies Principle (ADP)
----
非環式依存の原則．
依存関係は循環してはいけない．

***The Stable Dependencies Principle (SDP)
----
安定依存の原則．
安定しているパッケージは修正が難しく，不安定なパッケージは修正が容易ということらしいです．（妙な感じがする）
このことから，パッケージの依存関係はより安定しているパッケージへと向かうべきであるということです．
少し分かりづらいので，また後で修正します．

***The Stable Abstractions Principle (SAP)
----
安定抽象概念の原則．
パッケージの依存関係は抽象度が高いパッケージへの向かうべき．
The Dependency Inversion Principle (DIP)のパッケージ版．

----
追加があると思うが，とりあえずこんなところです．
また，調べて新しい原則が発見できたら，追加しま～す．

オブジェクト指向の原則の方は，結構難しくて上手く噛み砕けなかった．
なんで，文章も微妙でそのまま～，申し訳ない！日々精進しなくては…

*参考サイト
- @634 ソフトウェア開発の原則・法則 URL[http://634.ayumu-baby.com/principle/index.html] (2008/11/16 アクセス)
- @634 オブジェクト指向設計の法則 URL[http://634.ayumu-baby.com/pofood/index.html] (2008/11/16 アクセス)
- オブジェクト指向の法則集 URL[http://www.morijp.com/masarl/homepage3.nifty.com/masarl/article/oo-principles.html] (2008/11/16 アクセス)

*参考文献
- 著：ロバート・C・マーチン(2008)「アジャイルソフトウェア開発の奥義 第2版 オブジェクト指向開発の真髄と匠の技」 SoftBankCreative 682pp．

----
#comment()

----    </description>
    <dc:date>2009-05-28T21:46:04+09:00</dc:date>
    <utime>1243514764</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ka-ra/pages/2.html">
    <title>メニュー</title>
    <link>https://w.atwiki.jp/ka-ra/pages/2.html</link>
    <description>
          </description>
    <dc:date>2009-05-06T17:08:06+09:00</dc:date>
    <utime>1241597286</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ka-ra/pages/7.html">
    <title>プラグイン/アーカイブ</title>
    <link>https://w.atwiki.jp/ka-ra/pages/7.html</link>
    <description>
          </description>
    <dc:date>2009-05-05T23:56:17+09:00</dc:date>
    <utime>1241535377</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ka-ra/pages/8.html">
    <title>プラグイン/動画(Youtube)</title>
    <link>https://w.atwiki.jp/ka-ra/pages/8.html</link>
    <description>
          </description>
    <dc:date>2009-05-05T23:56:17+09:00</dc:date>
    <utime>1241535377</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ka-ra/pages/9.html">
    <title>プラグイン</title>
    <link>https://w.atwiki.jp/ka-ra/pages/9.html</link>
    <description>
          </description>
    <dc:date>2009-05-05T23:56:17+09:00</dc:date>
    <utime>1241535377</utime>
  </item>
  </rdf:RDF>
