トップページ | 2006年11月 »

2006年10月26日 (木)

[PHP]PDOでPostgreSQLを操作したときのエラー

PHPとPostgerSQLを使用してアプリケーションを開発していますが、そのときにLinux版でのみエラーが発生するということがありました。

PostgreSQLの設定でログを出力するように設定していて気がついたのですが、Windows版では、問題なくクエリーの発行が行われて正常に終了していました。そこでOSをFedora Core 5に変えてその上で同様に試験をしていたところあるパターンでのみ、登録処理がうまくいきませんでした。

クエリーのログとしては、

LOG:  statement: DEALLOCATE pdo_pgsql_stmt_09b83bd4
ERROR:  prepared statement "pdo_pgsql_stmt_09b83bd4" does not exist

といった内容で、どうやら発行したクエリーの解除を行っているのですが、そもそも発行していないクエリーの解除を行っているためにエラーが発生して処理が終わっていることがわかりました。
そもそも、そんな操作はいらないんですが^^;

そこでPHPのバグリポートの中をチェックするとどうやら同じような不具合を発見することができました。

そのバグリポートを見てみるとPostgreSQLのPDOのドライバにバグがあるらしくて、パッチを当てれば動作することがわかりました。

そこから、いろいろとパッチを当ててビルドするのにいろいろ大変でしたが(それは、また次の機会に)、パッチを当てて動作を確認したところ問題なく動作して余計なクエリーの解除をしないようになりました。

まだまだ、調べていくとまだまだPostgreSQLのPDOドライバはできがよろしくないようなので別の問題が発生するかもしれません。

[追記 2006/10/26 21:18]
ここで使用しているPHPのバージョンは、5.1.6で、PostgreSQLは8.1.4です。

| | コメント (0) | トラックバック (0)

2006年10月22日 (日)

美ヶ原~白樺湖~小淵沢

昨日、友人たち3名と信州方面へドライブをしてきました。

前の会社にいたときに、自分ひとりだとあまり遠くに車で行く機会がないので車を持っていたメンバーでドライブ倶楽部を作って季節ごとにいろいろなところにドライブに行くということをやっています。実は、1人1台体制という地球環境に厳しい倶楽部であったりします。

今回は、今まで使ったことがなかった中央道方面で秋をテーマに紅葉を見るためと気持ちのいいドライブをするためということで美ヶ原を最初の目的地にしました。

紅葉シーズンだからかわかりませんが比較的中央道は、車の量が多く意外と行楽地は渋滞になっているかとも思ったのですが、大月JCTを過ぎたあたりから比較的、車の量も減ってきて順調にドライブすることができました。

クリックすると拡大この写真は、美ヶ原のビーナスラインの途中にあった駐車場からとった写真です。
針葉樹がおおいからか、いまいち色に変化がありませんがやはり秋という感じでした。

クリックすると拡大続いての写真は、 美ヶ原美術館の駐車場でとった写真です。2,000mぐらいのところにあるのではるか下に雲のじゅうたんができていて本当に乗れそうな感じでした。

その後、昼食を食べるために美ヶ原を後にして、ビーナスラインをくだり、途中から県道の178号線の途中にある十割そばのお店で、田舎そばと野菜のてんぷらを食べました。お店は、とてもわかりにくい場所にあるのですが、とてもおいしくてぜひ、近くに行く機会があればまた行きたいですし、皆さんにもお勧めです。大体この辺にあります。

クリックすると拡大 それから白樺湖まで移動して白樺湖湖畔にあるすずらんの湯という温泉施設に行きました。
あんまり人が入っていませんが、源泉掛け流しの露天風呂(男湯は、湖がよく見えます)があったり、洗い場も広めなのでゆっくりするにはいいと思います。

その後は、八ヶ岳リゾートアウトレットに立ち寄りました。白樺湖からナビの案内で移動しましたが途中の道がとても狭い山道で本当にこんなところにあるのか!とうところを通っていくとようやく見えてきて駐車場に入るために再び狭い道を施設の周りに沿って移動するというちょっと不便な感じでした。

アウトレットでしばらくお店を見て回った後でおなかがすいたのでドライブマップに書いてあったお店に行って夕食を食べました。

結局、家からの走行距離で548kmを1日で走って途中、あまりにもねむかったのでSAで寝たりして12時過ぎに帰ってきましたが久々に楽しい休日が過ごせました。

[追記:2006/10/26 00:41]
昼食で食べた十割そばのお店の名前が判明!
「とく田」さんというお店でした。

| | コメント (0) | トラックバック (0)

2006年10月18日 (水)

第一歩

本日、無事に登記が完了して正式に会社としての第一歩が始まりました。

ただし、まだまだやることはいっぱいあって、税務署などのお役所回りから、口座の開設、製品の開発などなかなか大変ですが、一歩ずつ歩いていこうと思います。

まだまだ、わからないことがいっぱいあって不安も大きいですが、そういったことも含めて自分の人生を楽しんでいきたいと思っています \(^o^)/

| | コメント (0) | トラックバック (0)

2006年10月17日 (火)

[CSS]スタイルシートだけでふちを丸くするタブを作る

よくタブのUIを作るときに左右に丸いふちの画像を配置してそれにはさむように文字を書き込みますが、divタグとそれに対するスタイルを指定することによりタブ見たいなUIを作ることができます。

たとえば

こんな感じになります。

これを複数使うことで画像を使わないタブができます。

タブ2

あとは、スタイルの色に変化をつけることで選択されているタブかどうかとか利用できるかどうかといったことが簡単にできます。

やっていること自体は、表示する領域の大きさをちょっとづつ変化させていってそれの背景色やふちに色をつけていくという単純なものです。

<div style="FLOAT: left; WIDTH: 5em; MARGIN-RIGHT: 5px">
<div style="TEXT-DECORATION: none">
  <div style="BORDER-RIGHT: gray 1px solid; BORDER-TOP: gray 1px solid; MARGIN: 0px 5px; OVERFLOW: hidden; BORDER-LEFT: gray 1px solid; HEIGHT: 1px; BACKGROUND-COLOR: #f0eee4"></div>
  <div style="BORDER-RIGHT: gray 1px solid; MARGIN: 0px 3px; OVERFLOW: hidden; BORDER-LEFT: gray 1px solid; HEIGHT: 1px; BACKGROUND-COLOR: #f0eee4"></div>
  <div style="BORDER-RIGHT: gray 1px solid; MARGIN: 0px 2px; OVERFLOW: hidden; BORDER-LEFT: gray 1px solid; HEIGHT: 1px; BACKGROUND-COLOR: #f0eee4"></div>
  <div style="BORDER-RIGHT: gray 1px solid; MARGIN: 0px 1px; OVERFLOW: hidden; BORDER-LEFT: gray 1px solid; HEIGHT: 2px; BACKGROUND-COLOR: #f0eee4"></div>
  <div style="BORDER-RIGHT: gray 1px solid; PADDING-RIGHT: 1px; PADDING-LEFT: 1px; PADDING-BOTTOM: 1px; BORDER-LEFT: gray 1px solid; PADDING-TOP: 1px; WHITE-SPACE: nowrap; BACKGROUND-COLOR: #f0eee4; TEXT-ALIGN: center">
   <a href="#" style="FONT-SIZE: 0.9em">タブ1</a>
  </div>
</div>
</div>

先頭にあるdivタグの『float』は、続けて作成するタブを左側に持っていくためにあり、そのほかのスタイルの属性はタブの大きさとタブ同士の間隔を決めています。文字が多い場合などは、widthの値を増やせばタブが大きくなっていきます。

これの応用で、

タブ2

といった丸い表示領域を作成することができます。これは文字を表示するところまでは同じで、表示した後でdivタグの順番を逆に繰り返すということでできちゃいます。

スタイルの変更だけでいろいろできるので、JavaScriptで色を変更させたり、疑似クラスのhover(マウスが表示領域の上に来た場合)やactive(マウスをクリックした場合)を利用して動的なページを作ることができます。

| | コメント (0) | トラックバック (0)

2006年10月16日 (月)

[JavaScript]JSONでのデータの受け渡し

今日は、開発ねたで。

Webアプリケーションの開発を行っていますが、当然のように最近流行のAjaxを使用しています。その中で簡単なものは、サーバーからHTML形式のデータを送信して指定された場所に表示するというコードを利用します。(データのやり取りには、prototype.jsを使用しています。日本語の解説は、こちら

<html> <body>

<div id="view"></div>

<script language="javascript" type="text/javascript">
<!--
function get_data()
{
  var url = '/calc.html';
  var post_params = 'a=10&b=20';

  var ajax = new Ajax.Request( url, { method: 'post', postBody: post_params, onComplete: view_data} );
}

function view_data( res )
{
  // エラー処理

  // 結果の表示
  document.getElementById( 'view' ).innerHTML = res.responseText;
}

//--> </script>

XMLでデータをやり取りするのが本来のAjaxのX部分なのですが、中身を加工するのにそれなりに面倒な処理を行う必要があります。
そこで簡単にデータのやり取りができるJSON (JavaScript Object Notation)という形式を用いて行うと簡単に受け取ったデータをJavaScript内でオブジェクトとして取り扱うことができるようになります。詳しい解説は、ググッてください。

簡単に説明すると

{ "user":
  {
    "name":"shima",
    "age":"37"
  }
}

というデータを返すようにサーバが実装されている場合にAjaxでデータを受け取ったあとで

person = eval( "(" + res.res.responseText + ")" );

alert( person.name ); // shimaが表示される
alert( person.age);  // 37が表示される

という感じに簡単に受け取ったデータの操作ができるようになります。
ここで私がはまったのは、eval関数を使用するときに単純に

person = eval( res.res.responseText );

としたところきちんとオブジェクトにはなりませんでした。そこで受け取ったデータを『()』でくくるとうまくオブジェクトにすることができました。

person = eval( '(' + res.res.responseText + ')' );

eval関数を利用するときに注意しなければならないのは、受け取った文字列を単純にJavaScriptのソースとして評価してしまうので危険なデータがサーバーから送られてきた場合にセキュリティの問題が発生してしまいます。もし信頼の置けないような場合は、JSON parserを使用するなど安全には、注意してください。

ちなみにJSONは、RFC 4627として2006年7月に登録されています。

[追記 2006/10/26 15:01]
JSONでデータを渡すときの注意点ですが、オブジェクト同士を区切る「,」が一番最後のデータについているとevalで評価されずにオブジェクトにならないので気をつけてください。

| | コメント (0) | トラックバック (1)

2006年10月14日 (土)

両親来たる

親戚のおじの一周忌があったので両親がこちらに来ました。一周忌は、終始和やかに滞りなく終了しました。

そのあと両親と一緒に夕食を食べて、いろいろ近況などまあ話していたわけですが、父親から、今住んでいるところを一度見たいといわれてしまいました。
別にへんなところがあるわけでもないのでまあOKしましたが、明日は朝から掃除しなくてはならないのがちょっと面倒です(^^ゞ

| | コメント (0) | トラックバック (0)

2006年10月12日 (木)

これからライブです!

といっても私自身がやるわけではないんですが^^;

前の会社の同僚が、カレイドノーツという2人組のユニットをやってまして、それのライブが本日の19:00から三軒茶屋にあるグレープフルーツムーンというライブハウスでおこなわれるので聴きに行ってきます。

もし時間があるかたや癒されたいという方がいたらぜひ聴きにきてください!

| | コメント (0) | トラックバック (0)

2006年10月11日 (水)

くらっしゅあんどびるど

ソフトウエアの開発を行っていますが、日々悩んでいます。

「どうすれば使いやすくなるだろう?」とか「わかりやすいUIって?」ということを常に考えています。
が、とりあえず技術的に面白そうだとかっていって作ってしまう部分というのがあって、そういうのって後から見てみると「やっぱり使いにくい!」とか「わかりにくい!」とかってなって、それまで作ったものを壊してもう一回作り直してます。
難しくするのは簡単だと思いますが、やっぱり使いやすさとか判りやすさっていう部分を追求していきたいと思っていますが、やっぱり遊びの部分がないとね。

まあ、もうちょっとこなれてくれば最初からそういった視線で物事を考えられるのでしょうがやはり凡人ですし、技術者として楽しみたいですから^^;

| | コメント (0) | トラックバック (0)

2006年10月10日 (火)

はじめました

いろいろと活動を開始したのでブログを始めました。

本日、会社の登記を出しに法務局にいって書類を提出しました。ちょっと書き忘れた内容があるので補正日に修正をしにいかなければならないかもしれません ^^;

自分で会社を興そうと思ったのは、単純な理由で多くの人に自分の作ったものを使ってもらいたいという気持ちからです。
おそらく普通の会社では、なかなか自分がやりたいようにするためには障壁が多くてそう簡単にはいかないと思います。自分が前いた会社は、ある程度がんばればいろいろできたであろうと思います(障壁は相当多いのですが)が、それに対する自分のモチベーションや時間といったものを無駄に消費したくないとの思いと、いけるんじゃないのといった割と軽い気持ちから起業という道を選びました。

所詮、自分の人生なのでめいいっぱいエンジョイしたいと思っています。ちょっと親には心配されているところが心苦しいですが。

ここに各内容は、日々の活動で得られた知識などをちょこちょこっと書いていこうと思っています。まあ、開発者なのでそっち方面の内容が多いと思います。あとは、趣味の世界かな。

まあ、がんばりますのでよろしくお願いします。

| | コメント (0) | トラックバック (0)

トップページ | 2006年11月 »