Skip to content

Symfonyインストール

現在、SymfonyというPHPのフレームワークをサーバー上に入れています。
http://symfony.jp/
http://wiki.symfony.jp/

これはPHP5で使うフレームワークになりますね。インストール方法はこちらにまとめられています。
http://lifemax.s319.xrea.com/life-blog/2008/05/symfony.html

基本的には、
# pear channel-discover pear.symfony-project.com

# pear install symfony/symfony
でよいみたいです。

インストールしたバージョンは1.1.1です。

その後のSymfonyでのPHPプログラミングにはいろいろとコマンドを実行する必要があるみたいですが、今回はインストールだけということで。

mecab

mecab
http://mecab.sourceforge.net/

mecabは形態素解析を行うためのツールになります。

これのPHP拡張モジュールがあり、それを使うとPHPプログラムに形態素解析を入れることができ便利です。
http://blog.zuzara.com/2006/07/05/95/

ただ、configureする際になにもオプションを付けずにインストールするとEUC-JP固定になってしまうため、SHIFT-JISやUTF-8で使うときには面食らうかも。その場合はconfigureやり直しになります。

javascriptで選択肢に応じて入力項目を変える方法

 javascriptで選択肢に応じて入力項目を変える方法です。

 例えば、「A」を選んだ時は「回答1」を入力項目とし、「B」を選んだ時は「回答2」を入力項目とするようなやり方です。複数のHTMLを用意したり注意書きを増やしたりする必要がないのでユーザーにやさしいです。

最初はこちらのやり方を参考にしようとしたのですが、
http://www.tagindex.com/kakolog/q4bbs/601/811.html
この方法だとgetElementsByTagNameを使っているので、divタグを複数使っている時に使えないです。

divタグを複数使っていても使える方法を探してみたら、ありました。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1314386308?fr=rcmd_chie_detail
http://www.nishishi.com/javascript/2007/radio-text-display.html
この方法だとgetElementByIdを使っているのでdivタグを複数使っていてもOKです。

OpenPNE拡張ソーシャルマップモジュール

OpenPNE拡張ソーシャルマップモジュール
http://shima3.seesaa.net/article/101319021.html

OpenPNEにMyNetsのようなソーシャルマップ機能を付けるための拡張モジュールです。
http://usagi.mynets.jp/document/20070807.html

詳しい説明はこちらになります。
http://shima3.seesaa.net/article/55393371.html
↑にもダウンロードできるファイルがあるようですが、それだと古いバージョンになってしまうので注意が必要です。
最新バージョンは0.2.2で、最上部に書かれているアドレスからダウンロードできます。

実際に使ってみたけど、慣れるまでに時間がかかるかもしれない。もっと直観的にマッピングできるといいんだけどね。
あと、OpenPNE2.12系ではインストールするのに注意が必要。

「Web2.0ってなんだよぅ」では、OpenPNEやMyNets関連の拡張モジュールをいくつかやられているようですね。
http://shima3.seesaa.net/

http://shima3.seesaa.net/article/47940118.html
に概要があるみたいだけど、バージョンが古いみたいなので注意。

新しく身に付いけ始めたスキルも。

 仕事を他の人からもらうようになると、新たに身につけなければならないスキルも出てきます。
今回はMySQLのスキルが必要になってきました。MySQLはPostgreSQLと同様のSQLなのですが、使い勝手が異なる部分も多いので戸惑う部分も多いように感じます。ですが、Webプログラミングでは標準の技術なので、ある程度は知っている段階まで引き上げられました。

 私の場合、既存の技術だけにとどまらず、こういった新しい技術にも積極的にチャレンジしていきたいですね。

仕事を請負うための体制作りを進めています。

いよいよ外部から案件がくる状態になってきました。現在は、一件が一段落した状態となっており、もう一件がいろいろと調整を進めている段階になっています。

今後、このような機会が増えると考えられますので、現在仕事を請負うための体制作りを進めているところです。

具体的には、
・見積もりの仕方について整理
・工数管理表の整備
・実績管理表の整備
・案件が終わった後の反省点について整理
などが行われています。

今後仕事を請け負うためのWebサイトにいくつか登録し、いろいろな案件を引き受けていこうかと考えています。それが進むにつれて体制もしっかりしていくことでしょう。

PC版GPSMapを読みやすくするための作業をしています。

PC版GPSMap
http://skt-lab.com/gpsm/

なのですが、吹き出しを読みやすくするためにtableタグを使って調整を行っています。

・吹き出しを出したときに写真や本文が吹き出しからはみ出さないようにする。
・表題や本文が一定以上の長さになったときに折り返せるようにする。
・文章の折り返し位置が吹き出しの大きさに対して不自然にならないように配慮する。

ということを目標に試行錯誤を繰り返しています。

今後も投稿を繰り返していくにあたって吹き出しがきちんとなっているか調べますね。

PEAR::Calendar

PEAR::Calendarは、日付表示やカレンダー表示に関する機能を提供するPEARモジュールです。
http://pear.php.net/package/Calendar/(英語)
http://www.phpbook.jp/pear/pear_calendar/
http://www.phppro.jp/phpmanual/pear/package.datetime.calendar.html

日付を扱う関数はPHPにデフォルトで入っているのですが、それだけでカレンダーを作成するのは面倒です。ですが、このPEARモジュールを使えば簡単にカレンダーを作成できます。実際にカレンダーを作成するサンプルソースもあります。
http://itpro.nikkeibp.co.jp/article/COLUMN/20070307/264115/

これを使えば、blogで広く使われているカレンダー型の日付別アーカイブリンクを作成することが簡単にできます。GPSMapのカレンダー機能はこのモジュールを使って書かれています。

注意すべきことは、このモジュールを使って作られるカレンダーがデフォルトでは月曜始まりになってしまうということです。月曜始まりのカレンダーもいくつか見かけますし、このブログのカレンダーも月曜始まりなんですけどね。
日曜始まりにするための方法についてはハタさんという方が作成されているようですので、日曜始まりにしたいのであればこれを参考にするとよいでしょう。
http://blog.xole.net/article.php?id=111

GPSMapに検索機能を追加・携帯版にも年月日別表示が可能に

 GPSMapに検索機能が付きました。現在は表題や本文のみでの検索にとどまっていますが、将来的にはそれ以外の検索も可能にできるようにする予定です。
http://skt-lab.com/gpsm/

 また、携帯版にも検索機能や年月日別表示が可能になっています。携帯版は↓のQRコードから行けますよ。








携帯版の年月日別表示はプルダウンメニューで年月を、直接入力で日付を入力する方式になっています。日付を空欄にすると年月のみで絞り込みできますよ。

PC版GPSMapに月別・日別表示の機能を追加

 PC版GPSMapについて、新規に月別・日別に表示できる機能を追加しました。
http://skt-lab.com/gpsm/

 今までは開始日からのものが蓄積されるだけで、月・日で特定して絞り込んで表示することはできませんでしたが、それが可能になります。

 この機能にはブログのようにカレンダーに表示されている月や日付をマウスでクリックして月別・日別の表示に移動する方法と、プルダウンメニューを使って月別の表示に移動する方法の二つが用意されています。前者は左側メニューの「カレンダー」のところから、後者は左側メニューの「撮影月別表示」のところから行けるようになっています。

GPSMapページング機能改良

 GPSMapについて、先日ページング機能を付けたばかりなのですが、今回は先日紹介した「PEAR::Pager」を使い、一部改良を加えました。
http://skt-lab.com/gpsm/

 今までは次・前ページへの移動しかできなかったのですが、1ページ目から3ページ目といったように、離れたページへの移動もできるようになりました。

PEAR::Pager

PEAR::Pagerは、ページング機能を簡単に導入するためのPEARモジュールです。
これを使えばGoogleなどで使われているようなページ数ごとのリンクや次のページ・前のページへのリンク機能といったものが気軽に作れます。

詳しい機能はこちらに記載されています。
http://www.phpbook.jp/pear/pear_pager/
http://wiki.trashsuite.org/?PEAR.Pager
http://nex.xrea.jp/index.php?date=1161968446

変数に総数やページ数、次のページ・前のページへのリンクの文字表示やalt表示などを一個の配列変数にまとめ、それを
$pager  =& Pager::factory($param); // ここでは「$param」が元となる配列変数
$navi = $pager -> getLinks(); // $naviにHTMLが格納されます。
という形で処理することでページングのHTMLを変数に格納してくれます。

シンプルだけど配列変数の値に何を入れられるか、また出力の方法などを調べると奥が深そうです。

GPSMapのデータをlifepediaに表示+ページング機能追加

GPSMapなのですが、私のlifepediaページにデータが載るようになりました。このブログや「Railway Land」と同一のタイムラインにのっていて見づらいかもしれませんが。
http://lifepedia.jp/userinfo.php?uid=1634

 あと、本ページの方にも簡単なページング機能を追加しました。これにより、今まではスクロールして古い記事を見ていたのが、ページ移動によって古い記事を見るように変更されます。
 とはいっても1ページずつしかめくれないんですけどね。これから徐々に見やすくしていきたいなと思っていますので。

GeoPoint API

GeoPoint API
http://lab.cirius.co.jp/index.php?GeoPlatformAPI%2FGeoPointAPI

以前も紹介したシリウスラボが新しいAPIを開発したようです。
http://www.venturenow.jp/news/2008/05/20/2048_005207.html

住所や駅名などと緯度経度を相互変換可能なAPIとなっています。
利用にはAPIキー取得のためにCirius Labにユーザー登録する必要があります。

緯度経度から地名に変換する場合は周辺の場所のうち流行度の高い場所を返すようになっています。
また、駅名で検索した場合は駅名と近辺の住所の両方が検索できるようになっています。

地名から緯度経度を割り出すものに関しては、Google Mapsを活用したGeocoding APIが既に存在します。ですが、駅名で検索した場合には駅の位置のみが検出されるものでした。ですので、Geocoding APIよりも幅広い検索が可能になっているのですが、駅などの場所そのものをピンポイントで出したい場合にはGeocoding APIの方が有利でしょう。

このあたりはもうちょっと調べてみないとわからないかもな。