投稿

7月, 2008の投稿を表示しています

ISO9001について調べたことをまとめとく

前の会社ではISO9001を取得していて、監査が近づくと慌しくなってましたが、改めてISOについて調べなおしてみました。 ISO(国際標準化機構)(International Organization for Standardization) その名のとおり国の垣根を越えて標準化を進める団体。
ISOは工業分野に関る標準化を進めているらしい。詳しくはwikipedia
ねじの規格やCD-ROMの論理フォーマットなどの規格をまとめている。 ちなみにWebの世界でよく聞く「W3C」というのも標準化団体の一つ。
W3CはCSSやXMLなどWorld Wide Webで使用される技術の標準化を進める団体。wikipedia「ISO9001」はISOが定めた規格の一つ。
「品質保証を含んだ、顧客満足の向上を目指すための規格」らしい。詳しくはここ
その他の規格一覧はここから ISO9001の監査を受けて合格すると、登録証番号を与えられ「うちはISO9001とってますから!」と言える。
それだけで品質管理がしっかりしてそうな印象をお客様に与えることができる。
その他のメリットはここここを参照。 進捗管理、プロジェクト管理、工数管理やお客様とのやり取りをしっかり議事録に残すなど、やった方がいいのは分かるけど、めんどくさくてやらなかった事をやらないといけなくなる。 慣れてくると辻褄合わせとか簡単にできてしまうけど、忘れてはいけないのは「品質保証を含んだ、顧客満足の向上を目指すため」の規格ということ

【xyzzy】xml-modeのインデントをタブではなくて空白に

社内で孤独に愛用しているxyzzyxml-modeのインデントはデフォルトでタグですが、それを空白にする設定。
.xyzzyに(setq *xml-indent-tabs-mode* nil)を記述して再起動でOK.その他のTipsはxyzzy wikiで。

【Linux】CentOS5 64bitにVMware Server 2.0をインストールする

VMware Server 2.0はここからダウンロード。必要なツールをインストールしておく。(CentOS5では必要なし)
$ yum install gcc
$ yum install kernel-devel解凍してインストール
$ tar xzvf VMware-server-2.0.0-101586.x86_64.tar.gz
$ cd vmware-server-distrib/
$ ./vmware-install.pl全ての質問にはデフォルトで答えていけばOK。でも私の場合、最初のインストールで失敗しうまく起動できなかった。たぶん理由はこの↓質問でThe current administrative user for VMware Server is ''. Would you like to specify a different administrator? [no]administrator userはrootでしょ?と思ってyes→rootと入力してたから。これもデフォルトのままでいいみたい。ちなみにインストールに失敗した場合、再起動してvmware-uninstall.plを実行しないとコンパイルの途中でabortしてしまう。インストールに成功すると勝手にVMwareが起動しているので、管理画面には http://ceres/ などのようにインストールしたマシンにブラウザ経由でアクセスする。ssl認証の警告がでるけど構わず続行。 rootでログイン。あとはフィーリングで。管理画面の使い勝手は前のVMware Server Consoleの方がよかった。webだと遅いし、いちいちloadingになるのが嫌。Consoleで操作しようとするとError opening the remote virtual machine ceres:443\16: The host name could not be resolved.とエラーがでるけど、これはローカルマシン(VMware Serverにアクセスしているマシン)のhostsファイル(C:\WINDOWS\system32\drivers\etc\)に 192.168.0.19 ceres と書けばアクセスできるようになる。この辺は名前解決の…

【Linux】ディレクトリ(フォルダ)の容量を確認、表示する

イメージ
vmwareでゲストOSになっているCentOSの容量が圧迫されてきたので、どのディレクトリがディスクを使っているか調べたときのメモ。マウントしているディスク全体を見たいときは
$ df
と打てばいい。ディレクトリ(フォルダ)単位でみたいときは
$ du -hx --max-depth=1 <パス名>
と打てば、こんな感じで表示される。↓vmwareのディスク容量を増やしたいときは、ここを参考に。

行ってみたい南の島「ジープ島」

南の綺麗な海で泳いでみたい。とずっと思って今日に至るわけですが、なにげにテレビを見て良さそうだったのでメモ。こんな島でまったりと過ごしてみたい。珊瑚の海を素潜りで探検したい。イルカと一緒に泳ぐのだ。名古屋のおもしろ会社エクスブリッジ

iPhoneがほしい

今はdocomoですが、iPhoneに変えようか迷ってます。理由は、iPhoneは月額8000円ぐらいかかるので、ちょっと高い。参考。 妹と家族割に入っているので、変えたら多分怒られる。 メールアドレスの変更を通知するのがめんどくさい。 iPhoneの通話品質がそんなによくないらしい。 でもiPhoneの機能は文句なく惹かれる。 エクスブリッジネコ友は発売日に手に入れたらしく、触らしてもらいましたが、心配していた日本語入力は慣れれば問題ないようなので、さらに欲しくなってしまいました。docomoからiPhoneを出すという話しは、まだ続いているのでしょうか。「引き続き交渉中」というのをどっかの記事で読んだ気がするのですが。ここの記事でもdocomoからiPhoneの発売を期待することが書いてありました。

WindowsXPでリモートデスクトップの複数ログインを可能にする

WindowsXPの場合、リモートデスクトップでログインできるのは1ユーザに制限されていて、誰かがコンソールでログインしていると既にログインできません。これだとWindowsXP + IE6やIE7のテストでテストする人の数だけマシンを用意しないといけないので、なんとかできんもんかなーと調べていたらありました。ここにWindowsXPにパッチを当てて、複数ログイン可能にするやり方が。ここで配布されているパッチを当てるみたいだけど、もちろんやるときは自己責任で。自分のマシンにやるのは恐いので、vmwareとかで試してからにしましょう。PHP用DB接続支援ライブラリ「somfa」

中華鍋で炒飯を。空焼きをして使い始める。

一週間ほとんど親子丼を食べていますが、さすがにレパートリーを増やそうと最近簡単に作れる料理を模索しています。ちなみに今のレパートリーは親子丼とカレー。親子丼ばかりだけど、飽きない・・・。おいしいから。周りの人に話を聞いて、次に作ろうと思ったのが炒飯。とりあえず今家にあるフライパンで作ってみましたが、作りにくい。小さいので混ぜにくいし外にこぼれる。そこで中華鍋を買おうと検索。見つけたのがこれ↓打ち出しの中華鍋。2780円ぐらいで安いので早速注文。通販はここから。30センチのを買ったけど、ちょっと大きいかも。一人なら27ので十分だと思う。さっきのリンク先にも書いてありますが、使い始める前には「空焼き」なる作業が必要らしい。やり方はここを参照。最初の30分も空焼きするのはちょっと勇気がいります。どこを見ても「やれ」と書いてあるので、しょうがなく30分ぐらい強火で買ったばかりの中華鍋を焼きます。焼いていると、黒く塗ってある(?)ところが剥がれてきて、鋼の部分が見えてきます。ガスコンロでやると、ちょうど真ん中の部分が焼けないので、そこもずらしてしっかり焼きました。・・・これでいいのだろうか。不安に思いながらも無事空焼きを終え、さっそく炒飯を作ってみました。作り方はYoutubeに動画でアップされているので参考に。初回は普通にできたので、とりあえず合格かな。これから飽きない炒飯を目指して精進します。suganuma@エクスブリッジ.jp

Google Analytics APIを調査したときのメモ

ブログ手当が発動して社員のブログをGoogle Analyticsで解析してますが、社長から「全員分見るのが結構めんどくさい」(ガジェットで表示したいらしい)ということで、一つの画面で全員分表示できるようなAPIがGoogle Analyticsで提供されているか調査したときのメモ。Google Analytics APIのホームはここ(Docsからリファレンスを参照)。見る限り外部からGoogle Analyticsのデータにアクセスすることは今はできないみたい。でも、埋め込むJavascriptをカスタマイズすることで収集データをいろいろ調整することは可能らしい。古いトラッキングコードと新しいトラッキングコードの違いもあった。パフォーマンスが向上してファイルサイズも小さくなったらしい。詳細はこここのPDFファイルも一度読んどくと、どんなことができるのかざっくり分かるのでいいかも。複数のアカウントで管理されているGoogle Analyticsのデータを一括で表示する方法は引き続き調査する予定。<2009/05/08 追記>
外部プログラムから参照可能なAPIが公開されたので、こちらの記事を参考に。

PHPでシリアライズしたデータを.NETとかで読み込む

PHPと.NETでデータ連係する際にちょっと調べたのでメモ。通常ネットワーク経由でデータ連係する場合はXML形式がよく使われますが、PHPでserialize()したデータを直接渡して、.NETや他の言語でunserialize()するやり方もあるみたい。ここのブログが参考に。C#やJavascriptやRubyでunserializeするためのサードパーティ制のライブラリはここにリンクが。軽量、軽快なPHPフレームワーク「pettiwork」

【Linux】CentOSをFTP経由でインストール。設定も

イメージ
vmwareのゲストOSとしてCentOS5をインストールしたときのメモ。バーチャルマシンを新規作成するときはcustomを選択してLSI logicでハードディスクを構築する。詳しくはここCentOSのサイトからCentOS-5.1-i386-netinstall.isoをダウンロード。このisoイメージをCD-ROMとしてマウントしてゲストOSを起動。FTPサイトを入力するときは
ftp2.riken.jp /Linux/centos/5.1/os/i386
と入力。こんな感じ↓あとはデフォルトのまま進めていけばインストールできるはず。たまにインストールの途中でrpmの取得に失敗したようなメッセージがでるけど、何回もretryしているとそのうち成功する。
rebootした場合はハードディスクからブートしようとして失敗するので、もう一度CDからブートしたいときはゲストOS起動の画面でF2を押してブートの順番を変える必要がある。選択するソフトはbaseだけ。インストールしたいソフトはあとでyumでゲットする。yumの設定方法はここを参照。でもOSインストール完了まで結構時間がかかる・・・。少し古いバージョンでもCD使ってyum updateした方が速い気がする。ネットワークの設定およびホスト名を設定する場合はここを参照。使わないサービスを止めたい場合はここ。sambaを設定してwindowsから共有ファイルにアクセスした場合はここ。ネットワーク内にあるLdapを使用するならここ。(2009/05/13)デフォルトでcronがメール送る設定になっているので、これを止める。参考

【PHP】フォルダ(ディレクトリ)内のファイルを検索する

opendir()を使ってディレクトリ内をループするやり方もありますが、正規表現を使ってファイルを検索できるglob()というのを見つけたのでメモ。ディレクトリ内の特定の拡張子だけ削除する場合はこんな感じforeach (glob(“*.txt”) as $sFilePath) {
    if (!unlink($sFilePath)) {
        continue;
    }
}もうちょっと詳しく知りたい人はここを読むといいかも。名古屋でプロのSEを目指す

最強のアクセス解析ツール「Google Analytics」

このブログでも導入しているGoogle Analytics。日別、週別、月別をグラフで分かりやすく表示してくれて、毎日見ているだけでおもしろい。アクセス解析で必要だと思われる情報はすべて網羅していると思う。詳細な機能はここを参考に。何よりこの豊富な機能を無料で利用できるのがすばらしい。月間500万PVまでという制限がありますが、1日に計算すると約16万PVなので、ほとんどのサイトで大丈夫ではないでしょうか。500万PV超えるときはAdWordsのアカウントが必要らしい。ここ(英語)を参照。ここのブログも参考になるかも。エクスブリッジでも「ブログ手当」を計算するために全社員のブログに導入。このとき気付いた機能の一つに自分のレポートを他のアカウントに公開するということもできる。さらにGoogle検索の順位決定にGoogle Analyticsのデータを使用していると、ここの記事で紹介されていたので、SEO対策にも効果があるかも。たまにセミナーの開催を公式ブログで告知しているので、アクセス解析に興味がある人は参加してみるといいかも。

【PHP】型の変換 キャストとsettype

PHPでは自動的に型を変換してくれますが、XML-RPCを使ってプログラミングしていたときに、
echoで表示させてみたら数値なんだけど、is_numeric()ではfalse
という現象があり(var_dumpしたらobject型だったのですが)、そのとき調べた型変換のメモです。PHPの型変換についてはここがまとまっているかな。$sStr = (string) $iInt;とこんな風にstring型などに変換するのがキャスト。$sStr = settype($iInt, ‘string’);こんなやり方でもできる。詳しくはPHPマニュアルで。あとgettype()、empty()、is_null()、isset()、if文などでどのような値が返ってくるかはここを参考に。「==」と「===」の違いとかも表になっているので後で役に立ちそう。suganuma@エクスブリッジ.jp

Bloggerで「bX-83t4r9」のエラーが表示される

昨日の昼にいつもようにネコ写をチェックしようと自分のブログに訪れてみるとbX-83t4r9というエラーが表示され、サポートに問い合わせてください。というメッセージが・・・。なぜ?朝ブログを投稿したときには正常に表示されていたので、何かしらサーバ側でトラブルが起きたみたい。他のbloggerにあるブログは正常に表示できているみたいなので、運が悪かったのかな?家に帰ってきてアクセスしてみると正常に表示できたので、時間が経てば大丈夫そう。せっかく新社内ルールで「ブログ手当」が発動したのに、今までの苦労が水の泡?と思って、ちょっと焦りました。

PHP5でXML + XSLTを使う

イメージ
仕事でXML + XSLT => HTMLのシステムを作っていたので、PHPでもXSLTを使えないかなぁと思ったりしてます。ただPHPが詳しくなった今、XML + XSLTで幸せになれる場面がそんなに思い浮かばないので、まぁいつか役に立つ技術ぐらいかなぁというイメージです。PHP4ではXSLTはSablotronだったようですが、PHP5ではlibxsltになりました。詳細はここのPHP4とPHP5のXMLサポートの違いを参照。以下PHP4でXSLT変換していたのをPHP5に移行したときのメモ。さくっと動くかと思いきやxsl:for-each文でほとんどエラーとなるので調べてみたら、ほかの人達はexsl:node-setという関数を使っているみたい。sablotronやmsxmlだとテンプレートに引数として渡すと自動で判断してくれたのに・・・Windowsサーバでmsxmlを使っていた人は予想ができると思うけど、exsl:node-setは引数をノードセットとして評価してくれるらしい。exsl:node-setを使うにはEXSLTというコンポーネントがインストールされている必要があるみたい。ここphpinfoでみると下のようになってれば使える。実際に使うときには名前空間を宣言するのを忘れずに。<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common">名古屋のおもしろ会社エクスブリッジ

【PHP】json_decode, json_encodeを使えるようにjsonをインストール

PHP5.2から標準で使用可能なjson_decodejson_encodeですが、PHP5.1の環境で使用するためのメモ。ここを参考に。PEARの友達であるPECL(ピックル、PHP Extension Community Library)を使う。PECLはコンパイル済みであるため、PEARより高速に動作するらしい。環境はCentOS5。すでにphp-develとphp-pearはインストール済み。$ pecl install json完了すると /usr/lib/php/modules/json.so が作成されている。これを読み込みたいので/etc/php.d/json.iniを作成し extension=json.so と記述。apacheを再起動すればjson_decodeが使えるはず。<2008/12/19 追記> 別のシステムでjson_encodeを使おうと、この記事を参考にインストール。だけど、 $ pecl install json のあとになぜか/usr/local/lib/php/extensions/no-debug-zts-20050922/json.soにファイルが作成された。このjson.soを/usr/lib/php/modulesにコピーしてもjsonが読み込まれず。apacheのエラーは下のような感じPHP Warning:  PHP Startup: json: Unable to initialize module\nModule compiled with module API=20050922, debug=0, thread-safety=1\nPHP    compiled with module API=20050922, debug=0, thread-safety=0\nThese options need to match\n in Unknown on line 0調べてみると、コンパイルでインストールしたphpとyumでインストールしたphpが共存しているのが問題みたい。$ which phpで調べると/usr/local/binにあるphpを参照してた。コンパイルでインストールしたphpを使っているみたいなので、/…

【Linux】CentOSへffmpeg-phpのインストール

にffmpegをインストールしましたが、今度はffmpegをPHPから簡単に使える拡張機能ffmpeg-phpをインストールします。ここを参考に。必要なツールをインストールしておく
$ yum install php-devel$ tar jxvf ffmpeg-php-0.5.3.1.tbz2
$ cd ffmpeg-php-0.5.3.1
$ phpize
$ ./configure
$ make
$ make install最後は
Installing shared extensions:     /usr/lib/php/modules/
というメッセージが出て終わる。
上記ディレクトリを見るとたしかにffmpeg.soがある。今までlampp(xampp)を使っていたけど、このディレクトリは参照しないので通常のhttpdに切り替えることに。apacheを再起動
$ /etc/rc.d/init.d/httpd restartエラーが出る場合はphp.iniに extension_dir = "/usr/lib/php/modules" という記述があるかチェック。動作確認は解凍したディレクトリにtest_ffmpeg.phpというファイルとtestsというディレクトリがあるので、これを公開しているディレクトリにコピーしてtest_ffmpeg.phpを実行するとtests/mediaにある動画と音声ファイルの情報を出力します。 インストールされているバージョンを確認する場合もこのファイルを参考に。run-tests.phpというファイルもあったけど、これは実行してみると途中で止まる・・・。よくわかりません。動画のプロパティを参照できたり、サムネイルを作成したり、さらにgifのアニメーションを作成できるみたい。APIリファレンスはここ。いろいろ試してみよう・・・。<2009/02/21 追記>
実行するときは//ffmpeg-phpの拡張モジュールを読み込む $sExtension = "ffmpeg"; if (!extension_loaded($sExtension)) { $sExtensionSoname = $sExt…

【PHP】requireとincludeの違い

今まで何気なく外部ファイルを読み込むときはrequire_once()を使ってましたが、たまにinclude_once()を見かけるので、「この違いは何?」ということで調べました。PHPマニュアルにすべての答えが。require()でエラーが発生するとfatal errorで処理が中断しますが、include()だとWarningのみで処理は中断しないようです。

民事裁判執行通知に気を付けよう

イメージ
昨日帰ったら親から変なFAXが届いてました。↓なんでもうちの姉の家のポストに入っていたらしいです。ハガキで。かなり焦ったらしいですが、こんなの突然送られた私の方もびびりました。どうやら架空請求の一つらしいです。ここ。しかも取り下げ期日が届いた日になっているので、相手を焦らせるのに一役かってます。焦って電話するとカモ認定されるようです。気を付けましょう。東京では変なものが流行っていますね。

【文字コード】UnicodeとUTF8の違い

UnicodeとUTF8の違いが分からなかったので調べたメモ。Unicodeは全世界の文字を共通の記法で表現しようと策定されたもの。詳しくはwikipediaで。たとえば「U+003D」というような「U+」の後ろに16進数の文字列で表現する。ちなみに「U+003D」は「=」。UTF8はUnicodeをエンコード(符号化)(圧縮)する方法(規格)の一つ。デコード(復元)する際に負荷の高い処理が必要でないため、広く使われるようになった。詳しくはwikipediaで。
UTFは「Unicode Translation Format」の略。時代はUnicodeらしい。Windows Vistaとの絡みが気になる人はここの特集を一読しとくといいかも。

SQLを速くするポイントのメモ

検索画面を作成すると悩まされるのが検索スピード。作っているときは数件程度でテストするので、どんなSQL文を書いても速いですが、実際に運用してみると全然レスポンスが返ってこないというのがよくあります。前の会社で最初にPLをやった案件が検索システムなので、かなーりSQLには悩まされました。まぁ、そのおかげでインデックスやオプティマイザについて少し詳しくなったのですが・・・最近、またSQLやインデックスについてGoogle先生に聞く機会があったので、そのメモを残しときます。まずここここを読んでおくと後で細かいSQL文の修正を行わなくてよい。個人的にはしっかりとしたデータベースの設計をしておけば、そんなSQLは気にしなくて良いと思っています。ちなみにDBはSQL Serverを一番経験しています。Oracleはほとんど経験がないですが、オプティマイザの動きとかやっぱり違うのかなー。