2011年3月21日月曜日
2011年3月19日土曜日
Ruby を全面的に採用した東京ガスの地震防災システム
「Ruby を全面的に採用した東京ガスの地震防災システム」
がはてなブックマークに掲載されていたのでチョット見てみました。
http://www.slideshare.net/ossaj/ruby-6029382
地震等で供給を停止する時間が
2400分
から
10分
Rubyに移行後なったそうです、、、、
今後Rubyが来るのかもしれません。
がはてなブックマークに掲載されていたのでチョット見てみました。
http://www.slideshare.net/ossaj/ruby-6029382
地震等で供給を停止する時間が
2400分
から
10分
Rubyに移行後なったそうです、、、、
今後Rubyが来るのかもしれません。
2011年2月20日日曜日
php 関数メモ
/*----------- 関数が定義済みが調べる ユーザ関数・PHP関数で -----------*/
function_exists(String $str);
*使用方法:引数に関数名を指定
/*----------- グロール変数を関数内から参照 -----------*/
global $str;
*使用するグローバル変数の前に記述し使用
function_exists(String $str);
*使用方法:引数に関数名を指定
/*----------- グロール変数を関数内から参照 -----------*/
global $str;
*使用するグローバル変数の前に記述し使用
2011年2月13日日曜日
PHP 関数色々
自分で設定するユーザ関数以外の便利な関数を記述します。
~~~~~~~マジッククオート~~~~~~~~
やSQLインジェクションのリスクを軽減させる為の関数です。
必要ない場合は、php.initの設定を変えるか。
strinpslashes()関数で回避します。
~~~~~~~マジッククオート・SQL~~~~~~~~
mysql_real_escape_string()
SQLインジェクション処理関係の関数です。
unescaped_string の特殊文字をエスケープし、SQLを安全に実行できるようにします。
バイナリデータの場合は必ず使います。
~~~~~~~Date関数・日時~~~~~~~~
Date()
date("Y/m/d h:i:s")と記述する事で「年月日、時分秒」を表示します。
~~~~~~~~~mysql_fetch_array・SQL~~~~~~~~~~~
取得した行に対応する配列を返し、内部のデータポインタを前に進めます。
また、MYSQL_ASSOCを第二引数に指定すると連想添字のみが取得されます。
結果に同名のフィールド名が複数ある場合は、最後のカラムが優先されます。
~~~~~~~~~~改行~~~~~~~~~~~
echoで文字列を表示するときに改行を反映する関数、
nl2br()を使います。
~~~~~~~マジッククオート~~~~~~~~
get_magic_quotes_gpc()
マジッククオートは「” ’ \」等に¥を自動で付ける機能です。やSQLインジェクションのリスクを軽減させる為の関数です。
必要ない場合は、php.initの設定を変えるか。
strinpslashes()関数で回避します。
~~~~~~~マジッククオート・SQL~~~~~~~~
mysql_real_escape_string()
SQLインジェクション処理関係の関数です。
unescaped_string の特殊文字をエスケープし、SQLを安全に実行できるようにします。
バイナリデータの場合は必ず使います。
~~~~~~~Date関数・日時~~~~~~~~
Date()
date("Y/m/d h:i:s")と記述する事で「年月日、時分秒」を表示します。
~~~~~~~~~mysql_fetch_array・SQL~~~~~~~~~~~
取得した行に対応する配列を返し、内部のデータポインタを前に進めます。
また、MYSQL_ASSOCを第二引数に指定すると連想添字のみが取得されます。
結果に同名のフィールド名が複数ある場合は、最後のカラムが優先されます。
~~~~~~~~~~改行~~~~~~~~~~~
echoで文字列を表示するときに改行を反映する関数、
nl2br()を使います。
2011年1月31日月曜日
ブラウザー上でWebカラー調査を行う素敵なプラグイン
web系の仕事をいているとImage画像と背景色を同じ色に
するような作業に良く出くわします。
そんな時に素敵なプラグインを忘れないように紹介、
ColorZilla ・Firefox Add-ons
大変便利なプラグインです!!
作者に感謝します。
するような作業に良く出くわします。
そんな時に素敵なプラグインを忘れないように紹介、
ColorZilla ・Firefox Add-ons
大変便利なプラグインです!!
作者に感謝します。
2011年1月30日日曜日
JqueryでHTML・CSSの編集でやってみた事忘れないようにを書いてみた④
~~~~~繰り返し処理~~~~~
①
<script type="text/javascript">
$(window).load(function(){
$("p").each(function(){
if($(this).text() == "jQuery"){
$(this).text("JQUERY");
}else{
$(this).text("JQUERYS");
}
});
});
</script>
①の解説
指定したセレクタのpタグの要素の要素の内が「if」もしjQueryならと処理と、ではない時の処理を
実行します。
②
<html>
<head>
<script type="text/javascript" src="jquery-1.4.3.js"charset="shift_jis"></script>
<script type="text/javascript">
$(window).load(function(){
$("p").each(function(index){
if($(this).text() == "jQuery"){
$(this).text("JQUERY");
$(this).prepend(index);
}else{
$(this).text("JQUERYS");
$(this).prepend(index);
}
});
});
</script>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
</head>
<body>
<h2></h2>
<p>jQuery</p>
<p>jQuery</p>
<p>jQuery</p>
<p>jQuerys</p>
</body>
</html>
②の解説
指定したセレクタ要素のループ回数をfunction(index)で指定し、$(this).prepend(index);でループ回数を表示します
③
<html>
<head>
<script type="text/javascript" src="jquery-1.4.3.js"charset="shift_jis"></script>
<script type="text/javascript">
$(window).load(function(){
$("p").prepend(function(index){
if($(this).text() == "jQuery"){
$(this).text("JQUERY");
return index;
}else{
$(this).text("JQUERYS");
return index;
}
});
});
</script>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
</head>
<body>
<h2>loadが指定したセレクタの要素が読み込まれた時に実行します。</h2>
<p>jQuery</p>
<p>jQuery</p>
<p>jQuery</p>
<p>jQuerys</p>
<script type="text/javascript">
//document.write(top);
</script>
</body>
</html>
③メソッドの中にはコールバックを受け付けるメソッドもあります。prependメソッドはreturnで指定
した値を受け取ります 。
①
<script type="text/javascript">
$(window).load(function(){
$("p").each(function(){
if($(this).text() == "jQuery"){
$(this).text("JQUERY");
}else{
$(this).text("JQUERYS");
}
});
});
</script>
①の解説
指定したセレクタのpタグの要素の要素の内が「if」もしjQueryならと処理と、ではない時の処理を
実行します。
②
<html>
<head>
<script type="text/javascript" src="jquery-1.4.3.js"charset="shift_jis"></script>
<script type="text/javascript">
$(window).load(function(){
$("p").each(function(index){
if($(this).text() == "jQuery"){
$(this).text("JQUERY");
$(this).prepend(index);
}else{
$(this).text("JQUERYS");
$(this).prepend(index);
}
});
});
</script>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
</head>
<body>
<h2></h2>
<p>jQuery</p>
<p>jQuery</p>
<p>jQuery</p>
<p>jQuerys</p>
</body>
</html>
②の解説
指定したセレクタ要素のループ回数をfunction(index)で指定し、$(this).prepend(index);でループ回数を表示します
③
<html>
<head>
<script type="text/javascript" src="jquery-1.4.3.js"charset="shift_jis"></script>
<script type="text/javascript">
$(window).load(function(){
$("p").prepend(function(index){
if($(this).text() == "jQuery"){
$(this).text("JQUERY");
return index;
}else{
$(this).text("JQUERYS");
return index;
}
});
});
</script>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
</head>
<body>
<h2>loadが指定したセレクタの要素が読み込まれた時に実行します。</h2>
<p>jQuery</p>
<p>jQuery</p>
<p>jQuery</p>
<p>jQuerys</p>
<script type="text/javascript">
//document.write(top);
</script>
</body>
</html>
③メソッドの中にはコールバックを受け付けるメソッドもあります。prependメソッドはreturnで指定
した値を受け取ります 。
JqueryでHTML・CSSの編集でやってみた事忘れないようにを書いてみた③
~~~~~~~イベントの設定~~~~~~~
イベントとはJqueryの実行タイミングを制御する事をさします。
クリック・マウスアウト・マウスオーバ等のユーザの操作に応じてイベントを実行するものもあります。
①
$(document).ready(function()){
//HTMLが読み込まれ、要素を操作する準備が出来た時に実行するも
}
①の解説
HTMLが読み込まれ、要素を操作する準備が出来た時に実行するものです。
また、
$(function(){
//HTMLが読み込まれ、要素を操作する準備が出来た時に実行するも
});
と省略する事も出来ます。
②
<script type="text/javascript">
$(window).load(function(){
$("p").text("testtxt").css("color","red");
});
</script>
②の解説
loadが指定したセレクタの要素が読み込まれた時に実行します。
③
<script type="text/javascript">
$(window).unload(function(){
alert("Bye now!");
});
</script>
③の解説
指定したセレクタ、Windowが閉じられた時にイベント処理が実行されます。
この場合Windowを閉じるとBye nowと表示されます。
******その他******
$(window).scroll(function(){実行処理});//Windowがスクロールされたタイミングで処理
$(window).resize(function(){実行処理});Windowがサイズ変更されたタイミングで処理
$(window).error(function(){実行処理});Windowを指定するとJavaScriptのエラーが出たタイミングで処理
$(window).click(function(){実行処理}); この場合Windowがクリックされたタイミングで処理されまさす。また、指定セレクタ要素をpタグやaタグにするとそのタグがクリックされたタイミングで処理されます。
******その他******
また、下記のソースはWindowが読み込まれ。pタグがクリックされた時にBry Nowと表示されます。
<script type="text/javascript">
$(window).load(function(){
$("p").click(function(){
window.alert("Bye now!");
})
});
</script>
④
<script type="text/javascript">
$(window).load(function(){
$("p").toggle(function(){
window.alert("Bye now!");
},function(){
window.alert("Bye now2");
},function(){
window.alert("Bye now3");
});
});
</script>
④の解説
指定したセレクタ要素がクリックされる度に実行されます。最後のまで行くと一番最初に処理に戻ります。
⑤
<script type="text/javascript">
$(window).load(function(){
$("p").mousedown(function(){
window.alert("Bye now!");
});
});
</script>
⑤の解説
指定したセレクタが要素がマウスダウンされたタイミングで処理が実行されます。
⑥
<script type="text/javascript">
$(window).load(function(){
$("p").mousedown(function(){
$("p").css("color","red");
});
$("p").mouseup(function(){
$("p").css("color","black");
});
});
</script>
⑥の解説
⑤の追加でマウスボタンが戻ったタイミングの処理が追加されました。
⑦
<script type="text/javascript">
$(window).load(function(){
$("p").hover(function(){
$("p").css("color","white");
},function(){
$("p").css("color","black");
});
});
</script>
⑦の解説
指定したセレクタ要素にマウスが乗った時と、マウスが外れた時の処理
イベントとはJqueryの実行タイミングを制御する事をさします。
クリック・マウスアウト・マウスオーバ等のユーザの操作に応じてイベントを実行するものもあります。
①
$(document).ready(function()){
//HTMLが読み込まれ、要素を操作する準備が出来た時に実行するも
}
①の解説
HTMLが読み込まれ、要素を操作する準備が出来た時に実行するものです。
また、
$(function(){
//HTMLが読み込まれ、要素を操作する準備が出来た時に実行するも
});
と省略する事も出来ます。
②
<script type="text/javascript">
$(window).load(function(){
$("p").text("testtxt").css("color","red");
});
</script>
②の解説
loadが指定したセレクタの要素が読み込まれた時に実行します。
③
<script type="text/javascript">
$(window).unload(function(){
alert("Bye now!");
});
</script>
③の解説
指定したセレクタ、Windowが閉じられた時にイベント処理が実行されます。
この場合Windowを閉じるとBye nowと表示されます。
******その他******
$(window).scroll(function(){実行処理});//Windowがスクロールされたタイミングで処理
$(window).resize(function(){実行処理});Windowがサイズ変更されたタイミングで処理
$(window).error(function(){実行処理});Windowを指定するとJavaScriptのエラーが出たタイミングで処理
$(window).click(function(){実行処理}); この場合Windowがクリックされたタイミングで処理されまさす。また、指定セレクタ要素をpタグやaタグにするとそのタグがクリックされたタイミングで処理されます。
******その他******
また、下記のソースはWindowが読み込まれ。pタグがクリックされた時にBry Nowと表示されます。
<script type="text/javascript">
$(window).load(function(){
$("p").click(function(){
window.alert("Bye now!");
})
});
</script>
④
<script type="text/javascript">
$(window).load(function(){
$("p").toggle(function(){
window.alert("Bye now!");
},function(){
window.alert("Bye now2");
},function(){
window.alert("Bye now3");
});
});
</script>
④の解説
指定したセレクタ要素がクリックされる度に実行されます。最後のまで行くと一番最初に処理に戻ります。
⑤
<script type="text/javascript">
$(window).load(function(){
$("p").mousedown(function(){
window.alert("Bye now!");
});
});
</script>
⑤の解説
指定したセレクタが要素がマウスダウンされたタイミングで処理が実行されます。
⑥
<script type="text/javascript">
$(window).load(function(){
$("p").mousedown(function(){
$("p").css("color","red");
});
$("p").mouseup(function(){
$("p").css("color","black");
});
});
</script>
⑥の解説
⑤の追加でマウスボタンが戻ったタイミングの処理が追加されました。
⑦
<script type="text/javascript">
$(window).load(function(){
$("p").hover(function(){
$("p").css("color","white");
},function(){
$("p").css("color","black");
});
});
</script>
⑦の解説
指定したセレクタ要素にマウスが乗った時と、マウスが外れた時の処理
JqueryでHTML・CSSの編集でやってみた事忘れないようにを書いてみた②
~~~~~~~~JqueryでCSSの書きかえ~~~~~~
①
<script type="text/javascript">
$(function(){
$("a").css("font-size","30px");
});
</script>
■①の解説
指定したセレクタのCSSプロパティのCSSプロパティ値を追加。
CSSプロパティの値を指定しなかった場合は値を取得する。
②
<script type="text/javascript">
$(function(){
$("a").css({
"font-size":"30px",
"color":"red"
});
});
</script>
■②の解説
指定したセレクタのCSSプロパティとプロパティ値を複数追加
③
<script type="text/javascript">
$(function(){
$("p").offset({
top : 100,
left :100
});
});
</script>
■③の解説
指定したセレクタのブラウザからの上からの距離、
指定したセレクタのブラウザからの左からの距離
④<script type="text/javascript">
$(function(){
var top = $("p").height(100);
});
</script>
■④の解説
指定したセレクタの高さをセットします。またwidthは幅を設定します。
5 <script type="text/javascript">
$(function(){
$("p").text("testtxt").css("color","red");
});
</script>
dd
①
<script type="text/javascript">
$(function(){
$("a").css("font-size","30px");
});
</script>
■①の解説
指定したセレクタのCSSプロパティのCSSプロパティ値を追加。
CSSプロパティの値を指定しなかった場合は値を取得する。
②
<script type="text/javascript">
$(function(){
$("a").css({
"font-size":"30px",
"color":"red"
});
});
</script>
■②の解説
指定したセレクタのCSSプロパティとプロパティ値を複数追加
③
<script type="text/javascript">
$(function(){
$("p").offset({
top : 100,
left :100
});
});
</script>
■③の解説
指定したセレクタのブラウザからの上からの距離、
指定したセレクタのブラウザからの左からの距離
④<script type="text/javascript">
$(function(){
var top = $("p").height(100);
});
</script>
■④の解説
指定したセレクタの高さをセットします。またwidthは幅を設定します。
5 <script type="text/javascript">
$(function(){
$("p").text("testtxt").css("color","red");
});
</script>
dd
JqueryでHTML・CSSの編集でやってみた事忘れないようにを書いてみた①
~~~~~~HTMLの書き換え~~~~~~~
■javascriptソース
<javascript type="text/javascript">
$(function(){
$("a") .after("<p>test</p>");
});
</javascript>
■htmlソース
<a href="">文字</a>
■解説
①「after」。。。。Jqueryの「after」メソッドは指定したセレクタの要素の後にHTMLを追加します。
②「html」。。。。Jqueryの「html」メソッドはセレクタで指定した要素の内側を操作する
③「append」。。。。Jqueryの「append」メソッドはセレクタで指定した要素の中の最後にHTMLを追加
④「wrap」。。。。Jqueryの「wrap」メソッドはセレクタで指定した要素を指定したHTMLタグで囲みます
⑤「replaceWith」。。。 Jqueryの「replaceWith」メソッドはセレクタで指定した要素を、メソッドの指定
した要素と置き換えます
*その他いろいろとあるので調べてみようと思います。
~~~~~~HTMLの属性を書き換え~~~~~~~
① $(function(){
$("a").attr({
"href":""
});
});
</script>
■①解説
指定したセレクタの要素の属性や属性値を操作します。
② <script type="text/javascript">
$(function(){
$("a").removeAttr("href");
});
</script>
■②の解説
指定したセレクタの要素の属性を削除します。
③ <script type="text/javascript">
$(function(){
$("a").addClass("class2");
});
</script>
■③の解説
指定したセレクタの要素Classの属性値を追加します
また、複数のclass属性値の追加は半角スペースで区切って追加します
④ <script type="text/javascript">
$(function(){
$("a").attr("class","class3");
});
</script>
■④の解説
指定したセレクタの要素の属性クラスの値を書き換えます。
⑤ <script type="text/javascript">
$(function(){
$("a").removeClass("class1");
});
</script>
■⑤ 指定したセレクタのクラス値を削除
⑥ <script type="text/javascript">
$(function(){
$("a").toggleClass("class1");
});
</script>
■⑥の解説
指定したセレクタのクラス値があれば削除、なければ追加
■javascriptソース
<javascript type="text/javascript">
$(function(){
$("a") .after("<p>test</p>");
});
</javascript>
■htmlソース
<a href="">文字</a>
■解説
①「after」。。。。Jqueryの「after」メソッドは指定したセレクタの要素の後にHTMLを追加します。
②「html」。。。。Jqueryの「html」メソッドはセレクタで指定した要素の内側を操作する
③「append」。。。。Jqueryの「append」メソッドはセレクタで指定した要素の中の最後にHTMLを追加
④「wrap」。。。。Jqueryの「wrap」メソッドはセレクタで指定した要素を指定したHTMLタグで囲みます
⑤「replaceWith」。。。 Jqueryの「replaceWith」メソッドはセレクタで指定した要素を、メソッドの指定
した要素と置き換えます
*その他いろいろとあるので調べてみようと思います。
~~~~~~HTMLの属性を書き換え~~~~~~~
① $(function(){
$("a").attr({
"href":""
});
});
</script>
■①解説
指定したセレクタの要素の属性や属性値を操作します。
② <script type="text/javascript">
$(function(){
$("a").removeAttr("href");
});
</script>
■②の解説
指定したセレクタの要素の属性を削除します。
③ <script type="text/javascript">
$(function(){
$("a").addClass("class2");
});
</script>
■③の解説
指定したセレクタの要素Classの属性値を追加します
また、複数のclass属性値の追加は半角スペースで区切って追加します
④ <script type="text/javascript">
$(function(){
$("a").attr("class","class3");
});
</script>
■④の解説
指定したセレクタの要素の属性クラスの値を書き換えます。
⑤ <script type="text/javascript">
$(function(){
$("a").removeClass("class1");
});
</script>
■⑤ 指定したセレクタのクラス値を削除
⑥ <script type="text/javascript">
$(function(){
$("a").toggleClass("class1");
});
</script>
■⑥の解説
指定したセレクタのクラス値があれば削除、なければ追加
2011年1月29日土曜日
photoshopでWeb画像の切り出しとCSSの生成
~~~~photoshopでWeb画像の切り出しとCSSの生成~~~~
PhotoshopでHTML・CSSで使用する画像の切り出しと、
HTML・CSSソースの生成まで行う機能があります。
大変便利なんで書いてみたいと思います。
①たとえば1枚の画像があったとします。
その画像を「スライス」ツールで3つに分割します。
②もし、分割した画像にリンクやaltを記述したい場合は「スライスオプション」で指定します。
③次にHTML・CSS・画像の書き出し設定です「Webおよびデバイス用に保存」を選択し、
「プリセット」の「最適化メニュー」から「出力設定の編集」の「出力設定」の2番目の項目から「スライス」を選択、「スライス出力の設定」から「CSS」を選択、出力設定の「OK」
④Webおよびデバイス用に保存の「保存」でHTML・CSS・画像と出力されます。
*Photoshop大変便利です。画像の切り出しなんて「ナゾル」と出来ます。
パノラマやなんかも自動生成しますし凄いです。
PhotoshopでHTML・CSSで使用する画像の切り出しと、
HTML・CSSソースの生成まで行う機能があります。
大変便利なんで書いてみたいと思います。
①たとえば1枚の画像があったとします。
その画像を「スライス」ツールで3つに分割します。
②もし、分割した画像にリンクやaltを記述したい場合は「スライスオプション」で指定します。
③次にHTML・CSS・画像の書き出し設定です「Webおよびデバイス用に保存」を選択し、
「プリセット」の「最適化メニュー」から「出力設定の編集」の「出力設定」の2番目の項目から「スライス」を選択、「スライス出力の設定」から「CSS」を選択、出力設定の「OK」
④Webおよびデバイス用に保存の「保存」でHTML・CSS・画像と出力されます。
*Photoshop大変便利です。画像の切り出しなんて「ナゾル」と出来ます。
パノラマやなんかも自動生成しますし凄いです。
IETesterとDebugbarのインストールと使い方
~~~~IETesterのインストールURL~~~~~
http://www.my-debugbar.com/wiki/IETester/HomePage
~~~~DebugbarのインストールURL~~~~
http://www.debugbar.com/download.php
~~~~IETesterの使い方~~~~
①IETesterを立ち上げると「新規」とあるのでテストしたいIEのバージョンを選択、
5、6、7、8とバージョンがあるので助かります。
②CSSの編集を行う
私がTesterを使う時はCSSの編集時に使います。
手順としては、IETesterの「開発者ツール」し「Debugbarの切り替え」を選択します。
すると左にDebugBarのウインドウが開きます。
その中に「スタイルシート」の「+」をクリックし編集したしCSSを選択、
たとえば「DIV#test」選択すると下のウインドウに「DIV#test」のソースが表示されます。
次に下のウインドウの「属性」をクリックすると「属性」「値」とあるので、
編集したい値をクリックし値を入力し編集します。
~~~~IETesterを使う訳~~~~
クロスブラウザといい、IE6など古いブラウザを使っているユーザの為にきちんと表示をしてもらう
為の編集作業です。
http://www.my-debugbar.com/wiki/IETester/HomePage
~~~~DebugbarのインストールURL~~~~
http://www.debugbar.com/download.php
~~~~IETesterの使い方~~~~
①IETesterを立ち上げると「新規」とあるのでテストしたいIEのバージョンを選択、
5、6、7、8とバージョンがあるので助かります。
②CSSの編集を行う
私がTesterを使う時はCSSの編集時に使います。
手順としては、IETesterの「開発者ツール」し「Debugbarの切り替え」を選択します。
すると左にDebugBarのウインドウが開きます。
その中に「スタイルシート」の「+」をクリックし編集したしCSSを選択、
たとえば「DIV#test」選択すると下のウインドウに「DIV#test」のソースが表示されます。
次に下のウインドウの「属性」をクリックすると「属性」「値」とあるので、
編集したい値をクリックし値を入力し編集します。
~~~~IETesterを使う訳~~~~
クロスブラウザといい、IE6など古いブラウザを使っているユーザの為にきちんと表示をしてもらう
為の編集作業です。
2011年1月27日木曜日
Faviconとは、ブラウザのタブで見るサイトごとの小さい画像
ブラウザのタブで見るサイトごとの小さい画像の事をファビコン・Faviconと言います。
<link rel="SHORTCUT ICON" href="「ファビコンの相対パスか絶対パスを入力」">
http://kirakiradiamond.cart.fc2.com/ のハートマークがブラウザのタブに表示されていると
思います。その画像をファビコンです
2011年1月14日金曜日
2011年1月13日木曜日
CakePHPフレームワークってどんなもんだろ?③
~~~~~~~~~フォームの記述~~~~~~~~~~~
CakePHPの場合、命名規則のルールを守る事でform等の処理もきちんと出来ます。
また、便利なライブラリもあり大変便利です。
詳しい事はこの本によく解説してあります
CakePHPの場合、命名規則のルールを守る事でform等の処理もきちんと出来ます。
また、便利なライブラリもあり大変便利です。
詳しい事はこの本によく解説してあります
CakePHPフレームワークってどんなもんだろ?②
前回表示したCakePHPのトップページですが、
プロジェクトのルートディレクトリのindex.phpが表示されているのではなく、
appフォルダの中のindex.phpが表示されています。*注意しましょう、
■コントローラ
送られてきたアドレスから実行する処理、
■ビュー
テンプレートをとおして表示されます。拡張子はhtmlです。
■モデル
データベースへのアクセスやSQLコマンド等の処理を行います
~~~~~~~~~~~CakePHPは命名規則が命~~~~~~~~~~~~~~~~
CakePHPは設定ファイルに色々こまごま書くのではなく、
指定ディレクトリに指定されたファイルを用意する形となります。
~~~~~~~~~~~MVCの配置ディレクトリ~~~~~~~~~~~~~~~~
appフォルダの中にMVC各おのおののフォルダがあるのでそこに置きましょう、
①コントローラのファイル名は、 「名前」_controll.phpとアンダーバーを付けます。
②モデルは、「テーブル名」.php
③ビューテンプレートは、「名前」フォルダ/ファイル名.ctp
④ビューテンレイアウトは、layouts/「名前」.ctp
■クラス
クラスは「名前」Controller
「名前」Modelと単語の最初を大文字にし、行こうを小文字にします。
*この方法を「キャメル記法」といいます。
■HTMLファイル
HTMLファイルはappフォルダのwebrootに置きましょう、
テストで置いてみてください、文字コードはUTF-8です。
HTMLファイルはMVCに関係なく置けます。
■コントローラを記述してみよう
をappフォルダのcontrollesフォルダに配置、
http://localhost/cake1/sample/hello等で見てみて表示されていればOK、
■controllesの設定内容
①$nameはコントロール名
②$usesはコントロールで仕様するモデル名
③$autoRenderはページのレンダリング設定、OFFだとページの表示はすべて自分で行います。
④indexメソッドはデフォルトページの処理、CakePHPではindexがデフォルト表示とないります。
■ビューを記述を記述してみよう
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<p>Sample</p>
<p>CakePHPSample</p>
</body>
</html>でappフォルダのviewsフォルダにhelloフォルダを作りそこにindex.tcpとして配置、
表示されればOK、
■viwesの設定内容
$autoLayout = falese;は自動レイアウトの無効にする、trueにするとCakePHPのヘッダ・フッターが表示されます。
$autoRender = true;はレンダリングを自動、helloにアクセスした時「hello」フォルダに中にあるテンプレートを読み込んで表示する、
次回はレイアウトを記述してみよう!!
プロジェクトのルートディレクトリのindex.phpが表示されているのではなく、
appフォルダの中のindex.phpが表示されています。*注意しましょう、
■コントローラ
送られてきたアドレスから実行する処理、
■ビュー
テンプレートをとおして表示されます。拡張子はhtmlです。
■モデル
データベースへのアクセスやSQLコマンド等の処理を行います
~~~~~~~~~~~CakePHPは命名規則が命~~~~~~~~~~~~~~~~
CakePHPは設定ファイルに色々こまごま書くのではなく、
指定ディレクトリに指定されたファイルを用意する形となります。
~~~~~~~~~~~MVCの配置ディレクトリ~~~~~~~~~~~~~~~~
appフォルダの中にMVC各おのおののフォルダがあるのでそこに置きましょう、
①コントローラのファイル名は、 「名前」_controll.phpとアンダーバーを付けます。
②モデルは、「テーブル名」.php
③ビューテンプレートは、「名前」フォルダ/ファイル名.ctp
④ビューテンレイアウトは、layouts/「名前」.ctp
■クラス
クラスは「名前」Controller
「名前」Modelと単語の最初を大文字にし、行こうを小文字にします。
*この方法を「キャメル記法」といいます。
■HTMLファイル
HTMLファイルはappフォルダのwebrootに置きましょう、
テストで置いてみてください、文字コードはUTF-8です。
HTMLファイルはMVCに関係なく置けます。
■コントローラを記述してみよう
をappフォルダのcontrollesフォルダに配置、
http://localhost/cake1/sample/hello等で見てみて表示されていればOK、
■controllesの設定内容
①$nameはコントロール名
②$usesはコントロールで仕様するモデル名
③$autoRenderはページのレンダリング設定、OFFだとページの表示はすべて自分で行います。
④indexメソッドはデフォルトページの処理、CakePHPではindexがデフォルト表示とないります。
■ビューを記述を記述してみよう
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<p>Sample</p>
<p>CakePHPSample</p>
</body>
</html>でappフォルダのviewsフォルダにhelloフォルダを作りそこにindex.tcpとして配置、
表示されればOK、
■viwesの設定内容
$autoLayout = falese;は自動レイアウトの無効にする、trueにするとCakePHPのヘッダ・フッターが表示されます。
$autoRender = true;はレンダリングを自動、helloにアクセスした時「hello」フォルダに中にあるテンプレートを読み込んで表示する、
次回はレイアウトを記述してみよう!!
映画「ソーシャルネットワーク」を見て私も燃えてきました。映画には出てきませんが!!CakePHPフレームワークってどんなもんだろ?
CakePHPフレームワークってどんなもんだろ?
①MVCである
②PEARは使わない③インストールが簡単
と言っています。使わない手はないですので使ってみました。
↓↓↓↓↓CakePHPダウンロードサイト↓↓↓↓↓
https://github.com/cakephp/cakephp/downloads
RCやbetaがついていない物をダウンロード
■http://btc777programming.blogspot.com/2011/01/xamppeclipse.html
で構築したXAMPP中のeclipseのプロジェクトにCakePHPの解凍したものをコピー
*eclipseのフォルダー構成
■ブラウザーで表示されれば成功です
①MVCである
②PEARは使わない③インストールが簡単
と言っています。使わない手はないですので使ってみました。
↓↓↓↓↓CakePHPダウンロードサイト↓↓↓↓↓
https://github.com/cakephp/cakephp/downloads
RCやbetaがついていない物をダウンロード
■http://btc777programming.blogspot.com/2011/01/xamppeclipse.html
で構築したXAMPP中のeclipseのプロジェクトにCakePHPの解凍したものをコピー
*eclipseのフォルダー構成
■ブラウザーで表示されれば成功です
2011年1月12日水曜日
2011年1月11日火曜日
最近JavaばかりだったのでPHPとの比較してみました
★★★★★★★★★画面出力★★★★★★★★★★
Javaの場合
System.out.print("String");
PHPの場合
print'text';
★★★★★★★★★変数★★★★★★★★★★
Javaの場合
int num = 10;
*Javaの場合変数型を宣言します。
PHPの場合
$num = 10;
*PHPの場合変数型を宣言しなくてもよいです。
★★★★★★★★★変数の出力★★★★★★★★★★
Javaの場合
String str = "変数";
System.out.print(str);
PHPの場合
str = "変数";
print str;
print "str";
*シングルクォーテーションで囲んだ変数は文字列として扱われます。
★★★★★★★★★演算★★★★★★★★★★
Javaの場合
int a = 123;
String b = "123tests";
System.out.print(a + b);
*エラーでコンパイルできません
PHPの場合
$a = "123";
$b = "123tests";
print $a + $b;
出力:246
*PHPの場合ゆるいです。
★★★★★★★★★制御構文★★★★★★★★★★
Java・PHPともにだいたい同じです。
PHPで九九を表示
<?php
$a = 1;
$b = 9;
print"<table border=\"1\">";
while($a <= $b){
print"<tr>";
for($c = 1; $c <= $b; $c++){
print"<td>";
print($c*$a);
print"</td>";
}
$a++;
print"</tr>";
}
print"</table>";
★★★★★★★★配列★★★★★★★★★★
Javaの場合
http://nyx.pu1.net/function/array/に詳しく配列関数があります。
$a = 0;
$arrayTest = array();
while($a < 3){
$b = 0;
while($b < 3){
$arrayTest[$a][$b] = $a*$b;
print '$arrayTest['.$a.']['.$b.']='. $arrayTest[$a][$b]."<br>";
$b++;
}
$a++;
}
★★★★★★★★★クラスからオブジェクトの生成★★★★★★★★★★
Javaの場合
class Test1{
int a = 1;
public void test(){
System.out.print(a);
}
}
*Test1クラスの生成
Test1 test1 = new Test1();//オブジェクトの生成
test1.test();//メソッドの呼び出し
PHPの場合
class Test1{
function test(){
$a = 1;
print $a;
}
}
$test = new Test1();//オブジェクトの生成
$test->test();//メソッドの呼び出し
Javaの場合
System.out.print("String");
PHPの場合
print'text';
★★★★★★★★★変数★★★★★★★★★★
Javaの場合
int num = 10;
*Javaの場合変数型を宣言します。
PHPの場合
$num = 10;
*PHPの場合変数型を宣言しなくてもよいです。
★★★★★★★★★変数の出力★★★★★★★★★★
Javaの場合
String str = "変数";
System.out.print(str);
PHPの場合
str = "変数";
print str;
print "str";
*シングルクォーテーションで囲んだ変数は文字列として扱われます。
★★★★★★★★★演算★★★★★★★★★★
Javaの場合
int a = 123;
String b = "123tests";
System.out.print(a + b);
*エラーでコンパイルできません
PHPの場合
$a = "123";
$b = "123tests";
print $a + $b;
出力:246
*PHPの場合ゆるいです。
★★★★★★★★★制御構文★★★★★★★★★★
Java・PHPともにだいたい同じです。
class kuku {
public static void main(String args[]) {
System.out.println("九九の表");
int a = 1;int b = 9
while(a <= b ) {
for( int c=1; j<=b; c++ ) {
System.out.print(a*c + " ");
}
a++;
System.out.println();
}
}
}PHPで九九を表示
<?php
$a = 1;
$b = 9;
print"<table border=\"1\">";
while($a <= $b){
print"<tr>";
for($c = 1; $c <= $b; $c++){
print"<td>";
print($c*$a);
print"</td>";
}
$a++;
print"</tr>";
}
print"</table>";
★★★★★★★★配列★★★★★★★★★★
Javaの場合
String[] stringArray = {"Sunday", "Monday", "Tuesday"};*その他コレクションクラスがありますのでArrayListなんか便利です。 import java.util.*;
class Cars {
public static void main(String args[]){
ArrayList[] cars=new ArrayList[1];
cars[0]=new ArrayList();
cars[0].add("1");
cars[0].add("1");
cars[0].add("3");
for(int i=0;i<cars[0].size();i++){
String str=(String)cars[0].get(i);
System.out.println(str);
}
}
}PHPの場合
$array = array(1, 2, 3, 4, 5); http://nyx.pu1.net/function/array/に詳しく配列関数があります。
$a = 0;
$arrayTest = array();
while($a < 3){
$b = 0;
while($b < 3){
$arrayTest[$a][$b] = $a*$b;
print '$arrayTest['.$a.']['.$b.']='. $arrayTest[$a][$b]."<br>";
$b++;
}
$a++;
}
★★★★★★★★★クラスからオブジェクトの生成★★★★★★★★★★
Javaの場合
class Test1{
int a = 1;
public void test(){
System.out.print(a);
}
}
*Test1クラスの生成
Test1 test1 = new Test1();//オブジェクトの生成
test1.test();//メソッドの呼び出し
PHPの場合
class Test1{
function test(){
$a = 1;
print $a;
}
}
$test = new Test1();//オブジェクトの生成
$test->test();//メソッドの呼び出し
2011年1月8日土曜日
XAMPP・PHP・eclipseで開発
■日本語化済みの環境のeclipseのインスト
http://mergedoc.sourceforge.jp/
より「JRE あり」と「PHP」の交差するeclipseをインスト
Cドライブの直下に解凍、
次にxamppディレクトリもCドライブ直下に、これでPHPのローカルデバッグが可能になります。
■Eclipse+PDT起動
eclipseディレクトリにeclipse.exeをクリックするとeclipseが起動します。
c:\xampp\htdocsをワークスペースに指定します。
zend_extension_ts = "\xampp\php\zendOptimizer\lib\ZendExtensionManager.dll"
zend_extension_manager.optimizer_ts = "\xampp\php\zendOptimizer\lib\Optimizer"
あと、php.iniの
1262行目
zend_extension_ts = "\xampp\php\zendOptimizer\lib\ZendExtensionManager.dll"
zend_extension_manager.optimizer_ts = "\xampp\php\zendOptimizer\lib\Optimizer"
1318行目
zend_extension_manager.debug_server_ts = "\xampp\php\zendDebugger"
を絶対パスにする
http://mergedoc.sourceforge.jp/
より「JRE あり」と「PHP」の交差するeclipseをインスト
Cドライブの直下に解凍、
次にxamppディレクトリもCドライブ直下に、これでPHPのローカルデバッグが可能になります。
■Eclipse+PDT起動
eclipseディレクトリにeclipse.exeをクリックするとeclipseが起動します。
c:\xampp\htdocsをワークスペースに指定します。
zend_extension_ts = "\xampp\php\zendOptimizer\lib\ZendExtensionManager.dll"
zend_extension_manager.optimizer_ts = "\xampp\php\zendOptimizer\lib\Optimizer"
あと、php.iniの
1262行目
zend_extension_ts = "\xampp\php\zendOptimizer\lib\ZendExtensionManager.dll"
zend_extension_manager.optimizer_ts = "\xampp\php\zendOptimizer\lib\Optimizer"
1318行目
zend_extension_manager.debug_server_ts = "\xampp\php\zendDebugger"
を絶対パスにする
2011年1月7日金曜日
Ubuntu への Java 環境設定方法について
UbuntuによるJava開発環境の設定方法について
【はじめに】
Linux系OSのひとつであるUbuntuへのJava開発環境の設定方法を記す。
(ここに記す内容は、正当性を保証するものではありません。設定は自己責任でお願いします)
【使用したOS】
Ubuntu10.04
※上記以外のバージョンでも,設定方法は基本的には同じだが、動作確認をしているのはこのバージョンのみ
【設定し、動作確認を行ったUbuntuのインストール環境】
1)単体でインストールした環境
2)VM(Virtual Machine)による、Windows上にUbuntuをインストールした環境
3)WindowsとUbuntuを間接的にデュアルブートするソフト「Wubi」によりインストールした環境
※3は、アップグレードをするうちに、起動しなくなる(GNU画面になる)エラーが発生したので推奨
できない。但し、使用したPC(東芝 Satellite J32)に原因がある可能性もある。よって、他の
PCでは正常に動作するかもしれない。
※設定は管理者権限でログインしなければ行えない
以下に、各種設定の手順を記す。
*******************************************************************************************
Wubi
*******************************************************************************************
【注意】
これは、上記「設定を行ったUbuntuのインストール環境」における(3)の方法でUbuntuをインストール
する方法である。
【WubiによるUbuntuの設定】
1)ダウンロードサイトよりWubiをダウンロードする
2)インストーラ「Wubi」をダブルクリック
3)ダイアログボックスに従ってインストールする
4)インストール後、再起動する
5)再起動の際、OS選択画面にて、Ubuntuを選択し、
Enterキー押下直後、SHIFTキーを押下する。
(GNUメニュー画面が表示される)
6)「Safe Graphic Mode」を選択し、Enterキーを押下
7)インストール処理が続行され、完了する(機種にもよるが、10分以上かかる)
【Ubuntuの日本語化】
サイト「http://www.ubuntulinux.jp/products/JA-Localized」の内容にそって端末にコマンドを入力
※処理の際、「ハッシュサムが適合しない」というエラーが表示される場合は、下記補足(「ハッシュサムが適合
しない」と表示される場合)を参照
********************************************************************************************
JDK(Java)
********************************************************************************************
【JDKのインストール】
ソフトウェアセンターからOpenJDK6.0をインストール
※端末からでもインストール可能(コードは省略)
※2010年12月現在、SunJavaはアップされていない
※インストールされているJDKのバージョンの確認方法
1)端末にて「java -version」と入力し、Enterキーを押下
2)「java version」の後に、バージョンが表示される
********************************************************************************************
Eclipse
********************************************************************************************
【Eclipseのインストール】
ア)ソフトウェアセンターからインストール(手順は省略)
イ)端末からインストールする場合
1)「sudo apt-get install eclipse」と入力し、Enterキーを押下
2)パスワードを入力し、Enterキーを押下
3)「sudo eclipse -clean」と入力し、Enterキーを押下
4)Eclipseが起動する
※2010年12月現在、バージョンは3.5.2(GALILEO)
※インストール直後は、EclipseのメニューバーにJava関連のボタンが表示されない場合
があるが、プロジェクトをひとつでも作成すれば、表示されるようになる
※上記(ア)の方法でインストールした場合、EclipseがJavaを認識しないことがある
その場合は、一旦アンインストールして、(イ)の方法で設定すると良い
【Eclipseの日本語化】
1)URL[http://mergedoc.sourceforge.jp/]よりpleiadesをダウンロード
※安定版でのみ正常動作を確認した
2)ファイルを展開すると、ファイル「jp.sourceforge.mergedoc.pleiades」が生成される
3)このファイルをパス「/user/lib/eclipse/plugins/」に移動する
※移動するには、root権限でファイルブラウザを開く必要がある。(下記補足「root権限でファイル
ブラウザを開くには」を参照)
4)パス「/user/lib/eclipse/」のeclipse.iniファイルの最終行に下記一行を追記
「-javaagent:/usr/lib/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar」
5)上書き保存し、ファイルを閉じる
6)Eclipseを起動する(日本語化されていれば完了)
※「アプリケーション」→「プログラミング」から起動すると、エラー(「NoSuchMethodError」)が表示される
ことがあります。この場合は、端末で「sudo eclipse -clean」コマンドを実行すると起動できます。しかし、
このエラーの根本的な解決法は分かりません。
【Eclipseの文字コードの変更方法】
(説明)
Ubuntuのデフォルトの文字コードは「UTF-8」であるため、他のOSで作成したファイルをインポートすると、
文字化けが起こることがある。その場合の対処法を記す。
1)パッケージエクスプローラにて、文字コードを変更したいプロジェクト名またはJavaファイルを選択し、右クリック
2)プロパティをクリック
3)「リソース」タブの「テキスト・ファイル・エンコード」のその他欄にて、プルダウンより文字コードを選択
※プルダウンにない文字コードを設定するには、テキストボックスに直接入力する
********************************************************************************************
Amateras
********************************************************************************************
【Amaterasとは】
UML関連の図(ユースケース図・クラス図等)を作成するためのEclipseへのプラグインである
【EclipseにAmaterasのプラグインを設定する】
・「AmaterasUML」をダウンロード、展開後、jarファイルをeclipseフォルダのpluginsフォルダに入れる
・「AmaterasUML Extention」も上記と同じ。
・「GEF-Update」ファイルをダウンロード。展開してできたフォルダをpluginsフォルダに入れる
・「Lpack1-GEF-runtime」ファイルをダウンロード。展開してできたフォルダ内のplugins内のjarファイルを
eclipseフォルダ内のpluginsフォルダに入れる
※Windowsではこの設定で導入できたが、Ubuntuでうまくいかず。何かが足りないのかもしれない。
********************************************************************************************
Tomcat
********************************************************************************************
【Tomcatのインストール】
URL「http://www.anhuioss.com/tips/5/tip5.html」を参照
※筆者は、Version6.0.29にて動作を確認
********************************************************************************************
MySQL
********************************************************************************************
【MySQLのインストール】
ソフトウェアセンターからインストール
(EclipseでのMySQLの設定)
・jarファイルの設定
>MySQLのサイト→Downloadタブ→MySQL Connectors→Connector/J→zipファイルをダウンロード
>ファイルを解凍
>生成されたjarファイルをEclipseのパッケージエクスプローラにてTomcatプロジェクト内の
WEBINFフォルダ内のlibフォルダに配置
>配置したフォルダを右クリックし、「ビルドパスに追加」を押下
【Webクライアントツール(MySQL Query Browser)のインストール】
ソフトウェアセンターからインストール
※Webクライアントツール:NaviCatのようなもの
********************************************************************************************
CVS
********************************************************************************************
【apache2をインストールする】
※CVSの設定を行う前に、予めapache2をインストールする。
※詳細は、URL「http://dqn.sakusakutto.jp/2008/08/ubuntu-804apache2.html」
のインストール・動作確認を参照
1)端末にて、「sudo apt-get apache2」と入力し、Enterキーを押下
2)パスワードを入力し、Enterキーを押下
【CVSをインストールする】
※詳細は、サイト「CVSサーバ - Ubuntu Server as 家サーバ」を参照
3)端末にて「sudo apt-get install cvs」と入力し、Enterキーを押下
4)パスワードを入力し、Enterキーを押下
【xinetdをインストールする】
5)端末にて「sudo apt-get install xinetd」と入力し、Enterキーを押下
【CVSを管理するユーザーを追加する】
6)端末にて「sudo adduser cvsuser」と入力し、Enterキーを押下
※cvsuserの名称は任意
【cvsrootリポジトリを作る】
7)端末にて「sudo su - cvsuser」と入力し、Enterキーを押下
8)端末にて「mkdir /home/cvsuser/cvsroot」と入力し、Enterキーを押下
9)端末にて「cvs -d /home/cvsuser/cvsroot/ init」と入力し、Enterキーを押下
10)端末にて「exit」と入力し、Enterキーを押下
【もうログインできないようにする】
11)端末にて「sudo chsh cvsuser」と入力し、Enterキーを押下
※cvsuserは、6で設定したユーザー名
12)以下が表示された後、「/usr/sbin/nologin」と入力し、Enterキーを押下
Changing the login shell for cvsuser
Enter the new value, or press ENTER for the default
Login Shell [/bin/bash]:
【cvsを利用するユーザのためのパスワードを作成する】
13)端末にて、「sudo htpasswd -c /home/cvsuser/cvsroot/CVSROOT/passwd cvsuser」
と入力し、Enterキーを押下
※上記コマンドにおいて、「cvsuser」は作成するユーザー名である
※上記のコマンドにおいて「-c」はファイルを新規作成するという意味なので、2人目以降の作成の
際には、上記コマンドから「-c」を除く
14)設定するパスワードを入力し、Enterキーを押下
※作成するユーザーの分だけ、13、14の手順を繰り返す
【ファイル「passwd」を編集する】
15)root権限でファイルブラウザを開く
※下記補足「root権限でファイルブラウザを開くには」を参照
16)パス「/home/cvsuser/cvsroot/CVSROOT」内にあるファイル「passwd」を開く
17)ユーザー名とハッシュ化されたパスワードが表示されているが、その末尾に「:cvs管理者
名をつける(例「:cvsuser」)
※cvs管理者名は、6で作成したユーザー名
18)上書きしてファイルを閉じる
【xinetdの設定にcvsを追加する】
※引用元のサイトでは、端末上でファイルの編集を行っているが、ここでは便宜上、ファイルブラウザを
用いた操作手順を記す
19)root権限でファイルブラウザを開く
※下記補足「root権限でファイルブラウザを開くには」を参照
20)パス「/etc/xinetd.d/cvspserver」へ移動する
21)上記パスのファイル「cvspserver」に以下のコードを入力し、上書き保存する
service cvspserver
{
disable = no
port = 2401
socket_type = stream
protocol = tcp
wait = no
user = cvsuser
passenv = PATH
server = /usr/bin/cvs
evn = HOME=/home/cvsuser
server_args = -f --allow-root=/home/cvsuser/cvsroot pserver
}
【xinetdをリスタートする】
22)端末にて「sudo /etc/init.d/xinetd restart」と入力し、Enterキーを押下
【ufwを有効にしている場合は2401を許可する】
23)端末にて「sudo ufw allow 2401」を入力し、Enterキーを押下
【EclipseでCVSの接続設定をする】
24)Windows(CVSNT)と同じ。画面で、パスを「/home/cvsuser/cvsroot」
とする。(「/home/cvsuser/cvsroot/CVSROOT」ではない)
********************************************************************************************
samba
********************************************************************************************
【sambaとは】
WindowsとUbuntuを間接的にデュアルブートした環境において、Windows上のUbuntuから共有ドライブ
(サーバー)へのアクセスを可能にするソフト
※VM環境ではこのソフトを使用せずともアクセス可能
【sambaのインストール】
1)ソフトウェアセンターから「samba」をインストール
2)端末にて「sudo service smbd status」または「sudo service smbd restart」と入力し、Enterキー押下
3)パスワードを入力し、Enterキー押下
4)ファイルブラウザにて、メニューから「移動」→「場所」をクリック
5)テキストボックス「場所」内に「smb://(サーバーのIPアドレス)」を入力
※IPアドレスを確認する方法については、下記補足「IPアドレスの確認方法」を参照
6)ファイルブラウザにて、「ファイル」→「サーバーへ接続」をクリック
7)表示された「サーバーへ接続」ダイアログボックスにて、以下を設定し、「接続」を押下
・サービスの種類:Windows共有
・サーバー名:IPアドレスを入力
・ブックマークを追加するにチェックを入れる
・ブックマーク名に適当に名前をつける
8)ファイルブラウザの左のウィンドウ内に、7で設定したブックマークが作成されれば完了
********************************************************************************************
FreeMind
********************************************************************************************
【FreeMindとは】
PC上でマインドマップを作成するフリーウェア。模擬プロジェクトでは、ブレーンストーミングおよびKJ法
を行った際に使用。
【FreeMindのインストール】
ソフトウェアセンターからインストール可能。
※Ubuntu9.10では、使用中に突然、文字入力できなくなる不具合があるので注意
***********************************************************************************************
補足
***********************************************************************************************
●「ハッシュサムが適合しません」というエラーが発生する場合
(原 因)ソースファイルがダウンロード元のサーバにない
(解決策)ダウンロード元のサーバーを別のサーバーに切り換える
(手 順)
1)メニューより「システム」→「システム管理」→「ソフトウェア・ソース」をクリック
2)パスワードを入力し、OKボタンを押下
3)「ソフトウェア・ソース」ダイアログボックスにて、「ダウンロード元」のプルダウンメニューを
を表示させ、「その他」をクリック
4)「ダウンロードサーバーを選択してください」ダイアログボックスにて、サーバーを選択し、
「サーバの選択」をクリックする(自宅から最寄りのサーバーを設定する場合は、「最適なサーバ
を探す」ボタンを押下する。(ダイアログボックスが自動的に閉じる)
5)「ソフトウェア・ソース」ダイアログボックスの「閉じる」をクリック
6)「利用可能なソフトウェアの情報が古くなっています」ダイアログボックスの「再読込」をクリック
7)処理後、表示されたダイアログボックスの「閉じる」をクリック
以上で、ダウンロード元のサーバーが切り換えられた。
※この処理後も、上記のエラーが発生する場合には、上記の要領で、サーバーを切り換える
●root権限でファイルブラウザを開くには
1)メニューから「アプリケーション」→「アクセサリ」→「端末」をクリック
2)「gksu nautilus」を入力し、Enterキーを押下
3)パスワードを入力し、Enterキーを押下
4)ファイルブラウザが開く
※ファイルブラウザとは、Windowsの「エクスプローラ」に相当
※ちなみに、端末上でルート権限でログインする方法は、
1)端末で、「sudo su」と入力し、Enterキーを押下
※suとは"S"uper "U"serのこと
2)パスワードを入力し、Enterキーを押下
3)「(ユーザ名)-desktop」が「"root@"(ユーザ名)-desktop」に変われば完了
※ログアウトするコマンドは「exit」
●root権限でファイルブラウザを開くとはどういうことか
Ubuntuでは、デフォルトでは、ホームフォルダ(/home/ユーザー名)内でのみ、ファイルやフォルダの
編集(作成・編集・削除)が行える。それ以外のフォルダは読み取り専用となる。
それ以外のフォルダにおいて、編集を行うためには、root権限で開いたファイルブラウザ内で行わなければ
ならない。
●Ubuntuによるソフトウェアのインストール方法について
Ubuntuでは、ソフトウェアのインストール方法は主に以下の2つ。
ア)メニューより「アプリケーション」→「Ubuntuソフトウェアセンター」からのインストール
イ)メニューより「アプリケーション」→「アクセサリ」→「端末」からのインストール
※端末とはWindowsにおけるDOSプロンプトに相当
●IPアドレスの確認方法
1)端末を開く
2)「sudo ifconfig」と入力し、Enterキーを押下
3)パスワードを入力し、Enterキーを押下
4)IPアドレス等の情報が表示される
【はじめに】
Linux系OSのひとつであるUbuntuへのJava開発環境の設定方法を記す。
(ここに記す内容は、正当性を保証するものではありません。設定は自己責任でお願いします)
【使用したOS】
Ubuntu10.04
※上記以外のバージョンでも,設定方法は基本的には同じだが、動作確認をしているのはこのバージョンのみ
【設定し、動作確認を行ったUbuntuのインストール環境】
1)単体でインストールした環境
2)VM(Virtual Machine)による、Windows上にUbuntuをインストールした環境
3)WindowsとUbuntuを間接的にデュアルブートするソフト「Wubi」によりインストールした環境
※3は、アップグレードをするうちに、起動しなくなる(GNU画面になる)エラーが発生したので推奨
できない。但し、使用したPC(東芝 Satellite J32)に原因がある可能性もある。よって、他の
PCでは正常に動作するかもしれない。
※設定は管理者権限でログインしなければ行えない
以下に、各種設定の手順を記す。
*******************************************************************************************
Wubi
*******************************************************************************************
【注意】
これは、上記「設定を行ったUbuntuのインストール環境」における(3)の方法でUbuntuをインストール
する方法である。
【WubiによるUbuntuの設定】
1)ダウンロードサイトよりWubiをダウンロードする
2)インストーラ「Wubi」をダブルクリック
3)ダイアログボックスに従ってインストールする
4)インストール後、再起動する
5)再起動の際、OS選択画面にて、Ubuntuを選択し、
Enterキー押下直後、SHIFTキーを押下する。
(GNUメニュー画面が表示される)
6)「Safe Graphic Mode」を選択し、Enterキーを押下
7)インストール処理が続行され、完了する(機種にもよるが、10分以上かかる)
【Ubuntuの日本語化】
サイト「http://www.ubuntulinux.jp/products/JA-Localized」の内容にそって端末にコマンドを入力
※処理の際、「ハッシュサムが適合しない」というエラーが表示される場合は、下記補足(「ハッシュサムが適合
しない」と表示される場合)を参照
********************************************************************************************
JDK(Java)
********************************************************************************************
【JDKのインストール】
ソフトウェアセンターからOpenJDK6.0をインストール
※端末からでもインストール可能(コードは省略)
※2010年12月現在、SunJavaはアップされていない
※インストールされているJDKのバージョンの確認方法
1)端末にて「java -version」と入力し、Enterキーを押下
2)「java version」の後に、バージョンが表示される
********************************************************************************************
Eclipse
********************************************************************************************
【Eclipseのインストール】
ア)ソフトウェアセンターからインストール(手順は省略)
イ)端末からインストールする場合
1)「sudo apt-get install eclipse」と入力し、Enterキーを押下
2)パスワードを入力し、Enterキーを押下
3)「sudo eclipse -clean」と入力し、Enterキーを押下
4)Eclipseが起動する
※2010年12月現在、バージョンは3.5.2(GALILEO)
※インストール直後は、EclipseのメニューバーにJava関連のボタンが表示されない場合
があるが、プロジェクトをひとつでも作成すれば、表示されるようになる
※上記(ア)の方法でインストールした場合、EclipseがJavaを認識しないことがある
その場合は、一旦アンインストールして、(イ)の方法で設定すると良い
【Eclipseの日本語化】
1)URL[http://mergedoc.sourceforge.jp/]よりpleiadesをダウンロード
※安定版でのみ正常動作を確認した
2)ファイルを展開すると、ファイル「jp.sourceforge.mergedoc.pleiades」が生成される
3)このファイルをパス「/user/lib/eclipse/plugins/」に移動する
※移動するには、root権限でファイルブラウザを開く必要がある。(下記補足「root権限でファイル
ブラウザを開くには」を参照)
4)パス「/user/lib/eclipse/」のeclipse.iniファイルの最終行に下記一行を追記
「-javaagent:/usr/lib/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar」
5)上書き保存し、ファイルを閉じる
6)Eclipseを起動する(日本語化されていれば完了)
※「アプリケーション」→「プログラミング」から起動すると、エラー(「NoSuchMethodError」)が表示される
ことがあります。この場合は、端末で「sudo eclipse -clean」コマンドを実行すると起動できます。しかし、
このエラーの根本的な解決法は分かりません。
【Eclipseの文字コードの変更方法】
(説明)
Ubuntuのデフォルトの文字コードは「UTF-8」であるため、他のOSで作成したファイルをインポートすると、
文字化けが起こることがある。その場合の対処法を記す。
1)パッケージエクスプローラにて、文字コードを変更したいプロジェクト名またはJavaファイルを選択し、右クリック
2)プロパティをクリック
3)「リソース」タブの「テキスト・ファイル・エンコード」のその他欄にて、プルダウンより文字コードを選択
※プルダウンにない文字コードを設定するには、テキストボックスに直接入力する
********************************************************************************************
Amateras
********************************************************************************************
【Amaterasとは】
UML関連の図(ユースケース図・クラス図等)を作成するためのEclipseへのプラグインである
【EclipseにAmaterasのプラグインを設定する】
・「AmaterasUML」をダウンロード、展開後、jarファイルをeclipseフォルダのpluginsフォルダに入れる
・「AmaterasUML Extention」も上記と同じ。
・「GEF-Update」ファイルをダウンロード。展開してできたフォルダをpluginsフォルダに入れる
・「Lpack1-GEF-runtime」ファイルをダウンロード。展開してできたフォルダ内のplugins内のjarファイルを
eclipseフォルダ内のpluginsフォルダに入れる
※Windowsではこの設定で導入できたが、Ubuntuでうまくいかず。何かが足りないのかもしれない。
********************************************************************************************
Tomcat
********************************************************************************************
【Tomcatのインストール】
URL「http://www.anhuioss.com/tips/5/tip5.html」を参照
※筆者は、Version6.0.29にて動作を確認
********************************************************************************************
MySQL
********************************************************************************************
【MySQLのインストール】
ソフトウェアセンターからインストール
(EclipseでのMySQLの設定)
・jarファイルの設定
>MySQLのサイト→Downloadタブ→MySQL Connectors→Connector/J→zipファイルをダウンロード
>ファイルを解凍
>生成されたjarファイルをEclipseのパッケージエクスプローラにてTomcatプロジェクト内の
WEBINFフォルダ内のlibフォルダに配置
>配置したフォルダを右クリックし、「ビルドパスに追加」を押下
【Webクライアントツール(MySQL Query Browser)のインストール】
ソフトウェアセンターからインストール
※Webクライアントツール:NaviCatのようなもの
********************************************************************************************
CVS
********************************************************************************************
【apache2をインストールする】
※CVSの設定を行う前に、予めapache2をインストールする。
※詳細は、URL「http://dqn.sakusakutto.jp/2008/08/ubuntu-804apache2.html」
のインストール・動作確認を参照
1)端末にて、「sudo apt-get apache2」と入力し、Enterキーを押下
2)パスワードを入力し、Enterキーを押下
【CVSをインストールする】
※詳細は、サイト「CVSサーバ - Ubuntu Server as 家サーバ」を参照
3)端末にて「sudo apt-get install cvs」と入力し、Enterキーを押下
4)パスワードを入力し、Enterキーを押下
【xinetdをインストールする】
5)端末にて「sudo apt-get install xinetd」と入力し、Enterキーを押下
【CVSを管理するユーザーを追加する】
6)端末にて「sudo adduser cvsuser」と入力し、Enterキーを押下
※cvsuserの名称は任意
【cvsrootリポジトリを作る】
7)端末にて「sudo su - cvsuser」と入力し、Enterキーを押下
8)端末にて「mkdir /home/cvsuser/cvsroot」と入力し、Enterキーを押下
9)端末にて「cvs -d /home/cvsuser/cvsroot/ init」と入力し、Enterキーを押下
10)端末にて「exit」と入力し、Enterキーを押下
【もうログインできないようにする】
11)端末にて「sudo chsh cvsuser」と入力し、Enterキーを押下
※cvsuserは、6で設定したユーザー名
12)以下が表示された後、「/usr/sbin/nologin」と入力し、Enterキーを押下
Changing the login shell for cvsuser
Enter the new value, or press ENTER for the default
Login Shell [/bin/bash]:
【cvsを利用するユーザのためのパスワードを作成する】
13)端末にて、「sudo htpasswd -c /home/cvsuser/cvsroot/CVSROOT/passwd cvsuser」
と入力し、Enterキーを押下
※上記コマンドにおいて、「cvsuser」は作成するユーザー名である
※上記のコマンドにおいて「-c」はファイルを新規作成するという意味なので、2人目以降の作成の
際には、上記コマンドから「-c」を除く
14)設定するパスワードを入力し、Enterキーを押下
※作成するユーザーの分だけ、13、14の手順を繰り返す
【ファイル「passwd」を編集する】
15)root権限でファイルブラウザを開く
※下記補足「root権限でファイルブラウザを開くには」を参照
16)パス「/home/cvsuser/cvsroot/CVSROOT」内にあるファイル「passwd」を開く
17)ユーザー名とハッシュ化されたパスワードが表示されているが、その末尾に「:cvs管理者
名をつける(例「:cvsuser」)
※cvs管理者名は、6で作成したユーザー名
18)上書きしてファイルを閉じる
【xinetdの設定にcvsを追加する】
※引用元のサイトでは、端末上でファイルの編集を行っているが、ここでは便宜上、ファイルブラウザを
用いた操作手順を記す
19)root権限でファイルブラウザを開く
※下記補足「root権限でファイルブラウザを開くには」を参照
20)パス「/etc/xinetd.d/cvspserver」へ移動する
21)上記パスのファイル「cvspserver」に以下のコードを入力し、上書き保存する
service cvspserver
{
disable = no
port = 2401
socket_type = stream
protocol = tcp
wait = no
user = cvsuser
passenv = PATH
server = /usr/bin/cvs
evn = HOME=/home/cvsuser
server_args = -f --allow-root=/home/cvsuser/cvsroot pserver
}
【xinetdをリスタートする】
22)端末にて「sudo /etc/init.d/xinetd restart」と入力し、Enterキーを押下
【ufwを有効にしている場合は2401を許可する】
23)端末にて「sudo ufw allow 2401」を入力し、Enterキーを押下
【EclipseでCVSの接続設定をする】
24)Windows(CVSNT)と同じ。画面で、パスを「/home/cvsuser/cvsroot」
とする。(「/home/cvsuser/cvsroot/CVSROOT」ではない)
********************************************************************************************
samba
********************************************************************************************
【sambaとは】
WindowsとUbuntuを間接的にデュアルブートした環境において、Windows上のUbuntuから共有ドライブ
(サーバー)へのアクセスを可能にするソフト
※VM環境ではこのソフトを使用せずともアクセス可能
【sambaのインストール】
1)ソフトウェアセンターから「samba」をインストール
2)端末にて「sudo service smbd status」または「sudo service smbd restart」と入力し、Enterキー押下
3)パスワードを入力し、Enterキー押下
4)ファイルブラウザにて、メニューから「移動」→「場所」をクリック
5)テキストボックス「場所」内に「smb://(サーバーのIPアドレス)」を入力
※IPアドレスを確認する方法については、下記補足「IPアドレスの確認方法」を参照
6)ファイルブラウザにて、「ファイル」→「サーバーへ接続」をクリック
7)表示された「サーバーへ接続」ダイアログボックスにて、以下を設定し、「接続」を押下
・サービスの種類:Windows共有
・サーバー名:IPアドレスを入力
・ブックマークを追加するにチェックを入れる
・ブックマーク名に適当に名前をつける
8)ファイルブラウザの左のウィンドウ内に、7で設定したブックマークが作成されれば完了
********************************************************************************************
FreeMind
********************************************************************************************
【FreeMindとは】
PC上でマインドマップを作成するフリーウェア。模擬プロジェクトでは、ブレーンストーミングおよびKJ法
を行った際に使用。
【FreeMindのインストール】
ソフトウェアセンターからインストール可能。
※Ubuntu9.10では、使用中に突然、文字入力できなくなる不具合があるので注意
***********************************************************************************************
補足
***********************************************************************************************
●「ハッシュサムが適合しません」というエラーが発生する場合
(原 因)ソースファイルがダウンロード元のサーバにない
(解決策)ダウンロード元のサーバーを別のサーバーに切り換える
(手 順)
1)メニューより「システム」→「システム管理」→「ソフトウェア・ソース」をクリック
2)パスワードを入力し、OKボタンを押下
3)「ソフトウェア・ソース」ダイアログボックスにて、「ダウンロード元」のプルダウンメニューを
を表示させ、「その他」をクリック
4)「ダウンロードサーバーを選択してください」ダイアログボックスにて、サーバーを選択し、
「サーバの選択」をクリックする(自宅から最寄りのサーバーを設定する場合は、「最適なサーバ
を探す」ボタンを押下する。(ダイアログボックスが自動的に閉じる)
5)「ソフトウェア・ソース」ダイアログボックスの「閉じる」をクリック
6)「利用可能なソフトウェアの情報が古くなっています」ダイアログボックスの「再読込」をクリック
7)処理後、表示されたダイアログボックスの「閉じる」をクリック
以上で、ダウンロード元のサーバーが切り換えられた。
※この処理後も、上記のエラーが発生する場合には、上記の要領で、サーバーを切り換える
●root権限でファイルブラウザを開くには
1)メニューから「アプリケーション」→「アクセサリ」→「端末」をクリック
2)「gksu nautilus」を入力し、Enterキーを押下
3)パスワードを入力し、Enterキーを押下
4)ファイルブラウザが開く
※ファイルブラウザとは、Windowsの「エクスプローラ」に相当
※ちなみに、端末上でルート権限でログインする方法は、
1)端末で、「sudo su」と入力し、Enterキーを押下
※suとは"S"uper "U"serのこと
2)パスワードを入力し、Enterキーを押下
3)「(ユーザ名)-desktop」が「"root@"(ユーザ名)-desktop」に変われば完了
※ログアウトするコマンドは「exit」
●root権限でファイルブラウザを開くとはどういうことか
Ubuntuでは、デフォルトでは、ホームフォルダ(/home/ユーザー名)内でのみ、ファイルやフォルダの
編集(作成・編集・削除)が行える。それ以外のフォルダは読み取り専用となる。
それ以外のフォルダにおいて、編集を行うためには、root権限で開いたファイルブラウザ内で行わなければ
ならない。
●Ubuntuによるソフトウェアのインストール方法について
Ubuntuでは、ソフトウェアのインストール方法は主に以下の2つ。
ア)メニューより「アプリケーション」→「Ubuntuソフトウェアセンター」からのインストール
イ)メニューより「アプリケーション」→「アクセサリ」→「端末」からのインストール
※端末とはWindowsにおけるDOSプロンプトに相当
●IPアドレスの確認方法
1)端末を開く
2)「sudo ifconfig」と入力し、Enterキーを押下
3)パスワードを入力し、Enterキーを押下
4)IPアドレス等の情報が表示される
登録:
投稿 (Atom)

