投稿

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

大晦日

もうすぐ2008年も終わり。 エクスブリッジに入社して約1年。今年はこのブログと共に技術と知識をたくさん蓄えたような気がする。 まだまだ学ばなければならないこととか、人として成長しなければならないこととかもあるから来年も忙しくなりそう。 大事な事は3つ。 よい人間関係を作るための「礼儀」 与えられた仕事をやり遂げる「責任感」 挑戦し続ける「向上心」 今年だけで何回言ったか分からない。だけど、言う事が毎回違っていたら信用してくれないし、人は忘れやすいから何回も言わないといけない。 来年も同じことを言い続けます。 こんなことを書いていると後で見返したときに恥ずかしくなるけど、大晦日だから許す。 まぁなんだかんだいって今年も面白い1年であった。 来年はどんなことが待ち受けているか楽しみ。 今年一年このブログを訪れてくれた人、ありがとう。 来年もよろしく!

年末は大掃除

昨日は会社の仕事納め。 今は長野の実家で、こたつに入りながらパソコンを叩いています。 やっぱり寒いっすね。 バス停に降り立ったころは雨が軽く降ってましたが、しばらくすると雪に変わってました。正月っぽくてよいです。 さて、昨日の仕事納めでは、仕事は午前中に片付けて午後はマシンルームの大掃除をしてました。2、3時間かけただけあって、かなりすっきり片付き満足です。 開発用のマシンは仮想化のおかげで、物理的にはほぼ一台で十分なので、すっきりしたマシンルームをみると仮想化のありがたみを実感できます。 夕方はI嬢のお手伝いで松坂屋で注文していた御寿司を取りに行って、みんなでビール片手に御寿司をつまみながら乾杯。 今年もお疲れ様でした。 来年もよい年でありますように。 名古屋の自宅もきっちり大掃除したし、今年に思い残すことはない!!・・・はず。

【Linux】PDFを結合、分割できる「PDFTK」をインストール

PHPから既存のPDFを結合するには、どうすれば良いかを調査したときのメモ。 PHPのPDFライブラリを使うとレスポンスが悪そうなのと、 良いフリーのライブラリがないので 、PDF編集ソフトをインストールしてコマンドラインで実行するやり方をやってみた。 Linux(私の環境はCentOS5.2)で使えるPDF編集ソフトは「 PDFTK 」がよさげ。ライセンスは GPL 。 CentOSの場合はサードパーティ製のパッケージをyumに追加すればインストールは簡単。やり方は 前の記事 を参照。 # yum install pdftk 結合するコマンドは # pdftk 1.pdf 2.pdf cat output out.pdf 詳しくは @ITの記事 を参考に。 処理自体はほぼ一瞬で終了するので速度的には満足。 あとはPHPから実行すれば完了と思い検索してみると、PHPからPDFTKを操作するライブラリが Google Code で開発されていた。ライセンスはNew BSD License。 まだbeta版なので、参考程度の方がよさそう。 <2009/03/22 追記> TCPDF+FPDIを使うと既存のPDFを読み込むことができるので、表示するためだけに結合するには、こっちのライブラリを使った方がよさげ。 インストールの方法は下記の記事を参考に。 【PHP】TCPDF 4.5.xxx+FPDI 1.2.1で既存PDFを読み込み→編集

JODConverterをPHPから利用してPDF変換

前の記事 でJODConverterのインストールとデバッグで苦労してましたが、今度はPHPからJOCConverterを利用する方法。 環境はCentOS5.2 何も設定しないと .openoffice.org2 のディレクトリがないと怒られる。 まずapacheの実行ユーザを確認。 httpd.confの「User」 lamppを導入している場合はこれが「nobody」とかになっているので、Group共に「apache」に変更。 ちなみにapacheユーザがいるかどうかは # id apache で確認。 通常apacheユーザはログインできないようになっているので、ログインできるようにして、OpenOffice.orgが実行できるようにユーザディレクトリなどを作成 # vi /etc/passwd apache:x:48:48:Apache:/var/www:/sbin/nologin ↓ apache:x:48:48:Apache:/home/apache:/bin/bash # mkdir /home/apache # chown apache /home/apache OpenOffice.orgを起動してユーザ設定ファイルを作る。 # su apache $ /opt/openoffice.org3/program/soffice しかし、これだと/home/apache/.openoffice.orgしかできなかった。 めんどくさくなって、/root/.openoffice.org2をフォルダごとコピー # cp -r ./.openoffice.org2/ /home/apache/ apacheユーザになって実行テスト $ java -jar jodconverter.jar -f pdf '/tmp/test.xlsx' 問題なく完了。 最後にログインしないように戻しておく。 # vi /etc/passwd apache:x:48:48:Apache:/home/apache:/sbin/nologin webサーバを再起動 # /etc/rc.d

メリークリスマス!

イメージ
今年も一人で迎える聖夜の夜。 ちょうど一年前のブログ 今年は モッチーサンタ が寂しい男たちのために(?)プリンを作ってきてくれた。 おいしかったです。ありがとう。 今年は本当に1人じゃないぞ IT戦士の3Dクリスマス

2008年名前ランキング

明治安田生命のサイトで2008年名前ランキングが掲載されています。 名前ベスト100 私の名前は第16位にランクイン。 いい名前と思ってくれるのはうれしいけど、同じ名前が増えるのは微妙な感じ。社内にすでにもう一人いるし。

【Linux】hosts.allowとhosts.denyの設定

基本はファイヤーウォールでポートを閉じればいいけど、外に公開しているサーバはsshのサービスを狙ってアタックされるので、その対策のためのメモ。 環境はCentOS ファイヤーウォールを設定してない場合は 前の記事 を参考に。 アタックされているかは/var/log/secureに認証ログがあるので、これを参照。 # vi /etc/hosts.allow sshd : 192.168.0. # vi /etc/hosts.deny sshd : ALL 全て拒否したい場合は ALL : ALL と記述。 他のポートも開けば場合は適宜設定。 sambaはsmb.confに設定する項目があるので、そちらを編集する。 参考 。

【.NET】クラスライブラリを作成するときのMSDNガイドライン

Visual Studio 2005などで開発を行う.NET開発者は一度は読んでおいた方がいいドキュメント。 クラス ライブラリ開発者向けのデザイン ガイドライン リンク切れの場合はMSDNで検索すれば、すぐ出てくると思う。 記述してあるのは 名前空間、クラス、メソッド、プロパティなどの名前付け(命名規則) エラー発生および処理のガイドライン クラスライブラリのセキュリティ などなど、クラスライブラリを作成するときだけではなく、普通にWebアプリケーションやクライアントアプリケーションを開発するときに役に立つ。 役に立つというか一緒に開発する人には知っておいてほしい最低知識。 名古屋でプロのSEを目指す

【Visual Studio 2005】ドキュメントを自動生成する「Sandcastle」

イメージ
Vistual Studio 2005+vb.netのXMLドキュメントを自動的にMSDNのヘルプ形式に変換してくれるツールの紹介。 3年ぐらい前に調べたときは見つけられなかった。 @IT - 特集:ツールを使ったドキュメント作成技法(前編) と ここのブログ を参考に。 必要なツールは Sandcastle ・・・ コマンドベース(現在:2.4.10520) Sandcastle Help File Builder ・・・ SandcastleをGUIで操作(現在:1.7.0.0) 両方msi形式をダウンロードしてインストール。Microsoftで作成されたフリーのツールらしい。インストール自体はmsiを実行するだけで終了。 Sandcastle Help File Builderを起動して、addボタンからコンパイル時に生成されるXMLドキュメントのxmlファイルを指定。これを生成するためにはVisual StudioのMy Project→コンパイル→「XMLドキュメントファイルを生成する」にチェックする。デフォルトで入っているはず。 ヘルプファイルの生成は Documentation → Build Project Project Propert └Help File     └Language は日本語を選択しとく。 Error: Unresolved assembly reference と怒られる場合は、依存関係のファイルを指定しないと駄目らしいので Project Propert └Build    └Dependencies に依存しているdllファイルなどを指定。デフォルトではprivateのメソッドを出力してくれないので、 Project Properties └Visibility    ├DocumentAttributes    └DocumentPrivates などはTrueの方がいいかも。他はお好みで設定。 参考 。 ビルド自体はちょっと時間がかかるけど、名前空間や命名規則をしっかり管理していると、とても見やすいドキュメントになる。 ステキすぎる。 <2009/05/08 追記> Sandc

またGoogle八分?

前にもありました( 前の記事 )が、またGoogle先生から嫌われてしまいました。月曜日からアクセス数が激減していると思ったら、今までの人気コンテンツがGoogleで検索してもヒットしない・・・。 なぜ? 前に同じような現象が発生してから、約半年ぶり。 過剰なSEO対策なんてしてないのに・・・。 SEO対策しているといえば、毎日記事の最後につける会社関連のリンクのみ。これくらいはいいでしょ? Googleのウェブマスターツール で確認しても特に問題なし。 前はしばらくほっといたら復活したので、今度も大丈夫かな。   <2008/12/20 追記> 5日間ぐらいしたら元のアクセス数に戻った。 ・・・というか、無事Googleの検索でヒットするようになった。 原因は不明。

【Ubuntu】VMware Server 2.0をインストール

前の記事 ではCentOS5.2にVMware Server 2をインストールしたけど、今度はUbuntu Server Edition 8.10にインストールしてみた。 インストール方法は ここ を参考に。 rpmパッケージでも依存関係を無視すればインストールできるみたいだけど、rpmを使う意味がないので、素直にtarからインストールすることにした。 必要なツールをインストール # apt-get install linux-headers-`uname -r` build-essential xinetd 解凍とインストール # tar xzvf VMware-server-2.0.0-116503.i386.tar.gz # cd vmware-server-distrib/ # ./vmware-install.pl コンパイルからインストール、設定まで適宜進めていく。 VMwareの管理画面にアクセスするためのポートと仮想マシンの置き場所とシリアル番号は事前に決めとく(用意しとく)。

【Ubuntu】ファイヤーウォール(firewall)設定

Ubuntu Serverのファイヤーウォール設定メモ。Ubuntu Server Edition 8.10 CentOSみたいに system-config-securitylevel があるかと思ったら、そこまでのはないみたい。その代わりufwというコマンドを使って設定するらしい。 参考 。 # ufw enable これでマシン再起動後もufwが有効になる。 ローカルからのsshアクセスを許可 # ufw allow proto tcp from 192.168.0.0/24 to any port 22 基本は拒否 # ufw default deny sambaは許可。細かい設定は smb.conf で # ufw allow Samba 指定するサービス名は/etc/ufw/applications.d/の各ファイル内に定義されているプロファイル名 80番ポート(http)を開放 # ufw allow 80/tcp 443番ポート(https)を開放 # ufw allow 443/tcp 設定を確認するには # ufw status ufwはiptablesを使って設定しているので、iptableの設定を確認するのは # iptables -L コマンドで設定した内容は/var/lib/ufw/user.rulesに格納されている。 /etc/ufwにufwの設定内容が格納されていて、sambaやsshのアプリケーションがインストールされた際に/etc/ufw/applications.dに各アプリケーションごとにファイルが作成されて、iptablesに適用されるみたい。

【Ubuntu】ネットワーク設定

環境はUbuntu Server Edition 8.10 ファイルは/etc/network/interfaces DHCPの場合は次のように設定。 auto eth1 iface eth1 inet dhcp 固定IPの場合は次のように設定。 auto eth1 iface eth1 inet static address 192.168.0.24 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.3 反映はネットワークを再起動 # /etc/init.d/networking restart 名古屋のおもしろ会社エクスブリッジ

【Ubuntu】rootでログインするためにrootのパスワード設定

アニキのブログ に書いてあるけど、自分用メモ。 Ubuntuはrootでログインさせずに、必要なときにsudoコマンドで管理者権限を借用しますが、サーバ運用するときにrootでログインできた方が楽なので(VMware Serverのホストになるだけだし)パスワードを設定。 Desktop Edition+複数ユーザで使用する場合は、root以外のユーザでログインするべき。 $ sudo passwd root でrootの新しいパスワード設定。詳しくは ここ を参照。 ちなみにやっぱりrootのログインを無効化する場合は $ sudo passwd -l root UbuntuのFAQ 。

【VMware Server】LinuxゲストマシンにVMware Toolsをインストール

ホストの環境はCentOS5.2, VMware Server 2.0 管理画面のInstall VMware Tools…をクリックするとCD-ROMでアクセス可能になるので、Linux上でマウント # mkdir /mnt/cdrom # mount /dev/cdrom /mnt/cdrom 確認してインストール # ls /mnt/cdrom # rpm -Uvh /mnt/cdrom/VMwareTools-2.0.0-116503.i386.rpm アンマウント # umount /mnt/cdrom VMware Toolsの設定 # vmware-config-tools.pl 設定後は再起動 # reboot Linuxゲストマシンにデスクトップ環境をインストールしている場合はVMware Toolsの恩恵に預かれるけど、CUIの場合は特にインストールする意味はない気がする。時計が狂うのはcronでntpupdateをすればよい。 参考 。   < 2011/05/26 Modified > VMware Fusionの環境でVMware ToolsをInstallしたときの記事を書いた。 こちら 。

【Linux】FTPサーバ(vsftpd)をインストール

FTPサーバを構築したときのメモ。環境はCentOS5.2 FTPサーバの有名どころは vsftpd と proftpd らしいですが、yumでゲットできるvsftpdで構築。 # yum install vsftpd 自動起動 # chkconfig vsftpd on vsftpdの設定は ここ を参考に。 ポートの設定は ここ 。   < 2011/11/13 Modifed > CentOS 6.0で設定したのは追記. このときのvsftpdのVersionは2.2.2 # yum install vsftpd # vi /etc/vsftpd/vsftpd.conf anonymous_enable=NO chroot_local_user=YES chroot_list_enable=YES 空のchroot_listを作成 # touch /etc/vsftpd/chroot_list # /etc/rc.d/init.d/vsftpd start # chkconfig vsftpd on 参考にしたSiteは下記 FTPサーバ(vsftpd)の構築(RedHat系編)

【Linux】WebminとUserminをインストール(CentOS5.2)

イメージ
WebminはWebベースのサーバ管理ツール。 wikipedia 。 Apache, Smaba, sendmailなど多くのアプリケーションの設定をGUIでできる。ユーザの追加なども簡単にできるため、Linuxのコマンドを知らない人でもサーバ管理がやりやすくなる。 インストールは ここ からrpmパッケージをダウンロード、インストール。 # rpm -Uvh webmin-1.441-1.noarch.rpm インストール後はhttp://<サーバのアドレス>:10000/でアクセス。10000番ポートを空けるのを忘れずに。 参考 。 次はUsermin。 Webminはサーバ管理者用の設定ツールに対して、Userminは各ユーザに提供される設定ツール。主にWebベースでメールを読んだり、ファイルにアクセスしたりもできる(もちろん権限によりアクセルできるディレクトリは制限される)。 ファイル管理はJavaで動いている。 インストールは ここ からrpmパッケージをダウンロード、インストール。 # rpm -Uvh usermin-1.370-1.noarch.rpm インストール後はhttp://<サーバのアドレス>:20000/でアクセス。20000番ポートを空けるのを忘れずに。 名古屋のおもしろ会社エクスブリッジ

EclipseでJODConverter3.0のデバッグ

今までの経緯とここ数週間の間にアップした記事のまとめ。 OpenOffice.orgかMS Office Excelで作った帳票をPDF変換したい。 記事 。 JODConverterを発見。odfファイルとxlsファイルをPDFに変換可能なことを確認。 PHPでodfファイルを操作するライブラリを探す。いいのがない。 記事 PHPでxlsファイルを操作するライブラリを探す。PHP-Excelを発見。 PHP-Excelを使って、Excelで作ったファイルを読み込んで特定のセルに値を挿入できることは確認。 記事 PHP-ExcelでPDF出力できるけど、日本語が文字化け。PHP-Excelが使っているFPDFを日本語に対応しようと頑張ったけど直らず。 記事 PHP-Excelでxls形式で変換して、JODConverterで変換。でもPDF変換後に枠線が太くなる現象をなんとかしたい。 枠線を細いままPDFにするためには枠線のタイプを変更すればいいことを 発見 。でも、PHP-Excelでxls形式で出力すると、デフォルトの枠線に置き換えられてしまう。 PHP-Excelではxlsx(MS Office2007)形式で出力することにした。 でもJODConverter2.2.1ではxlsx形式には対応していない。 JODConverter3.0 + OpenOffice3.0でxlsxに対応しているので、JODConverter3.0のソースをゲットしてMavenでコンパイル。 ・・・しようとしたけどコンパイルが通らない。 記事 WindowsにEclipseの環境を整えてMavenからEclipseプロジェクトに変換するとコンパイルが通った。 記事 実行するとエラーになるので、該当箇所をEclipseでデバッグ。 ・・・するためにCentOSにデスクトップ環境をインストールして、Eclipseをインストール。 記事 長い道のり・・・。でもゴールはもうすぐ・・・のような気がする。 ----- 問題となっている箇所を特定できたので、暫定処置。 OfficeProcess.javaの「nofirststartwiza

MavenからEclipseプロジェクトに変換して、コンパイル

JODConverter3.0を使いたくてコンパイルしようとしたけど、なぜか失敗する( 前の記事 )のでEclipseで扱える形式に変換してみたときのメモ。 pom.xmlがあるカレントディレクトリに移動して mvn eclipse:eclipse を実行すれば自動でEclipseプロジェクトに変換してくれる。 ここ を参考に。Windowsの場合も同じ。mavenのインストールは 前の記事 を参照。 Java開発環境のEclipseは ここ からダウンロード。 「Eclipse IDE for Java Developers (85 MB)」を選択。 ちなみにLinuxの場合は # yum install eclipse-platform eclipse-jdt GUI環境が必要なので、まだGUI環境をインストールしてないときは アニキのブログ を参考に。 インストール後はアプリケーション→プログラムにEclipseがある。 解凍後、Eclipseを起動し New → Java Project で「Create project from existing source」で変換したmavenプロジェクトのフォルダを選択してOK。 Mainクラスの設定は Project → Properties → Run/Debug Settings コンパイルは Export → Java → Runnable Jar File とかでできた。 Eclipse 3.4からの機能なのでyumでインストールしたEclipseではできなかった。 前に失敗してたJODConverterのコンパイルはこっちだと成功。 一応Eclipseからmavenを実行する設定をしたけど( 参考 )、これはいらなさそう(?)。 軽量、軽快なPHPフレームワーク「petitwork」

JAVAの開発環境を準備してJODConverterをコンパイル

前の記事 で辿り着いたOpenOffice.orgのPDF変換機能を使って、ExcelやWordのファイルをPDFに変換してくれるオープンソースな JODConverter 。 リリースされているバージョン2.2.1では、Office 2007に対応してないけど、開発中のバージョンではすでに対応しているらしいので、Subversionで開発バージョンをダウンロードしてコンパイルしてみた。 環境の準備。Linux(CentOS5.2) subversionをインストール # yum install subversion SourceForgeを使っているので、 ここ のページからソースをGet。 # svn co https://jodconverter.svn.sourceforge.net/svnroot/jodconverter jodconverter ・・・と思ったけど、最新版はGoogle Codeで開発されているみたい。 ここ 。 # svn checkout http://jodconverter.googlecode.com/svn/trunk/ jodconverter JAVAの開発環境(SDKのインストール)は 前の記事 を参考に。 JODConverterは Maven というプロジェクト管理ツールを使っているみたいなので(pom.xmlがあるから)、 Mavenをインストール 。 OpenOffice.org-SDKのインストールも 前の記事 を参考に。パスの設定も忘れずに。 やっと準備完了。 pom.xmlがあるディレクトリまで移動して、コンパイル実行。 # mvn package でも失敗。 # mvn package -Dmaven.test.skip=true でテストをスキップできる。・・・けど、駄目っぽい。 はまった。 PHP-Excel でPDFも作成できることが分かったので、とりあえずあきらめ。 つづく・・・。 <2009/01/24 追記> Google Code でコンパイル済みの実行ファイルが公開されたので、自前でコンパイルする必要がなくなった。コマンドラインで実行するときはcommons-cliとかも同じディレクトリにないと駄

【Windows】【Linux】Java用コンパイルツールMavenのインストール

JODConverter をコンパイルするために Maven (メイヴァン、メイヴィン)をインストールしたときのメモ。Mavenを知らない人は wikipedia へ。 JAVAのJDKのインストールは 前に書いた記事 を参照。 Mavenは ここ からダウンロード。 <Linux> ダウンロードしてきたのを解凍 # cd /opt/software # tar xzvf apache-maven-2.0.9-bin.tar.gz パスを設定 # vi ~/.bash_profile PATH=$PATH:$HOME/bin:/usr/java/latest/bin:/opt/software/apache-maven-2.0.9/bin export PATH export JAVA_HOME=/usr/java/latest export M2_HOME=/opt/software/apache-maven-2.0.9 # source ~/.bash_profile <Windows> 設定は一時的なものなのでコマンドプロンプトで設定。いちいちめんどくさい場合はマイコンピュータ→プロパティ→詳細設定→環境変数 で設定する。 C:> set M2_HOME=C:\Program Files\Tools\apache-maven-2.0.9 C:> set PATH=%PATH%;%M2_HOME%\bin C:> set で確認。   あとのコンパイルなど使い方は ここ のサイトが参考になりそう。 既存プロジェクトをコンパイルする場合はpom.xmlのディレクトリまで移動して # mvn compile # mvn test # mvn package をやればjarファイルが作られるけど、いいのかな? javaのコンパイルは初めてなので、試行錯誤中。 名古屋でプロのSEを目指す

【Windows】【Linux】JAVAのJDKをインストール

イメージ
Java SE Development Kit (JDK)を ここ からダウンロード。J2SEとかJ2EEとかよく分からない場合は ここ をよんどく。 <Linux(CentOS5.2)編> # ./jdk-6u10-linux-i586-rpm.bin /usr/java/にインストールされる。 JAVA_HOMEを設定。 # vi ~/.bash_profile PATH=$PATH:$HOME/bin:/usr/java/latest/bin export PATH export JAVA_HOME=/usr/java/latest # source ~/.bash_profile あとで見つけたけど、 # yum install jdk でもできるっぽい。 <Windows編> jdk-6u10-windows-i586-p.exeを実行後、マイコンピュータ→プロパティ→詳細設定→環境変数の「システム環境変数」に新規でJAVA_HOMEを追加。(バージョンよってjdk1.6.0_10の部分は変わる) 次に「Path」を選択して編集。変数値の一番最後に ;C:\Program Files\Java\jdk1.6.0_10\bin を追記してOK。 一旦ログアウトしてログインすると反映される。 確かめる方法は ファイル名を指定して実行→cmd でコマンドプロンプトを起動して C:>set を入力すれば設定した値が出力される。 名古屋でプロのSEを目指す

【PHP】PHP-ExcelのFPDFを日本語化対応する(失敗編)

ここ の続き。FPDFを日本語対応させて、PHP-ExcelからPDF出力したときに文字化けせずに出力させるように奮闘したときのメモ。 FPDFの日本語対応自体は FPDF-Jのサイト と ここ のブログを読めば分かる。 PHP-ExcelのFPDFで変換している箇所を修正して、変換してみても文字化けが直らず。FPDFを単独で実行すると、日本語も正常に表示できるので、PHP-Excelでは何か特別な対応が必要なのだろうか・・・。 やれることはやったので、とりあえず諦め。 PHP-Excelで操作して、 JODConverter でPDF変換することにした。 前に設定した記事 。 <2009/03/06 追記> PHP-ExcelのPDF作成処理はTCPDFを使うように変更になった。 ここで書いた記事 を参考に。

PHPからエクセルを操作するPHP-Excelを使ってみた

この記事 の続編。 作成したExcelファイルを PDFにも変換できる PHP-Excel。 今のバージョンはExcel2007形式とExcel2003までの形式と両方読み込み+書き込みできるので、PHPでExcelを操作するのに最強のライブラリだと思う。 ダウンロードは ここ から。 まずは環境の準備。 試すだけなら、lamppをインストールすれば環境構築終了。 参考 。 ちなみにinstall.txtには次のように書いてある。 PHP version 5.2 or higher PHP extension php_zip enabled PHP extension php_xml enabled Microsoft Office 2007を持っていない場合は試用版をインストールするか、 Microsoftが配布している互換機能 をインストールすれば2000, XP, 2003のOfficeでも2007のファイルを読み書きできるようになる。 準備完了。 まずはサンプルプログラムを動かす。 Releases からPHPExcelをダウンロード。 Classesのファイルはlamppのライブラリディレクトリにコピー # cp Classes/* /opt/lampp/lib/php/ Testsディレクトリにエイリアスを設定して、Testsは書き込み可能にする。 # chmod 777 Tests これでWebからTests内のPHPファイルにアクセスすると、サンプルの動きを確認できる。runall.phpを実行すると全て実行される。 いろんなサンプルがあるし、ドキュメントも充実しているのでやりやすい。 これで動作確認ができたら、次にやりたいことは、既存のExcelファイルを開いて、特定のセルに値を挿入。 これはサンプルの07reader.phpと03formulas.phpを組み合わせれば簡単に実現。 日本語を扱う場合はUTF8で挿入する必要あり。PHPファイルの文字コードがUTF8ならOK。 最近のバージョンは過去のExcel形式も読み込んだり、書き出したりできる。 このライブラリ絶対流行ると思う。 --- でもPDF変換したときに元のファ

【Linux】OpenOffice.orgとJODConverterでExcelをPDF変換(設定編)

環境はCentOS5.2。 JREのインストールは前に Punoをインストールしようとして失敗したときの記事 を参考に。 JAVA_HOMEを設定してない場合は設定 # vi .bash_profile export JAVA_HOME=/usr/java/latest # source .bash_profile JODConverterは ここ からtomcat付きをダウンロード。 参考記事 # unzip jodconverter-tomcat-2.2.1.zip # cd jodconverter-tomcat-2.2.1 # bin/startup.sh <2009/03/24 追記> Office2007形式に対応するために、コンパイルから やってみた記事 も参考に。 ちなみにJODConverterのライセンスは GNU LGPL 。 これでJODConverterのサービスが起動するので、 http://<サーバ名>:8080/converter にアクセスして起動していることを確認。ポートを空けるのを忘れずに。 参考 。 この段階ではOpenOffice.orgのサービスを起動してないので変換はできない。 OpenOffice.orgは ここ から最新版をダウンロード。SDKとかUNOではなく、まるっとインストールするために「RPM,JREなし」を選択。 # tar xzvf OOo_3.0.0_LinuxIntel_install_ja.tar.gz # cd OOO300_m9_native_packed-1_ja.9358/RPMS/ デスクトップ環境はインストールしてないのでgnomeを削除 # rm -f ooobasis3.0-gnome-integration-3.0.0-9358.i586.rpm # rpm –ivh *.rpm インストール後は/opt/openoffice.org3/に配置される。 OpenOffice.orgをサービスとして起動。 # cd /opt/openoffice.org3/program/ # ./soffice -headles

社員旅行でもサプライズ

土日は社員旅行で渥美半島の先端まで行ってきました。 詳細スケジュールは 公式ブログの方 で。 他の社員のブログでも書いてありますが、今回の目玉はなんといっても社員同士の電撃結婚発表。 まさに電撃。 そして衝撃。 あまりの衝撃(感動)に 涙を流す者 も出る始末。 Mさんが入社してきて1ヶ月そこらでそんな展開になっているとは・・・。全く気付きませんでした。 もっと根掘り葉掘り聞いてみたかったですが、その日二人は親に挨拶に行くそうで、泊まらずにいってしまわれた。 二人ともおめでとう。お幸せに。 エクスブリッジの伝説に新たな一頁が追加された瞬間でした。

【Linux】OpenOffice.org-SDK, UREのインストールとPunoを設定(失敗編)

環境はCentOS5.2。 ここの記事 を書いたときに発見した Puno をインストールしようと奮闘したときのメモ。・・・できなかったんだけどね。 必要なツールをインストール。 # yum install gcc-c++ 他にもGNU makeとかzipとかないと後で怒られるけど、そのたびにインストールすればOK。 JavaのJREを ここ からLinux RPM (自己解凍ファイル) をダウンロード→インストール。 # ./jre-6u10-linux-i586-rpm.bin パスを通す # cd # vi ./.bash_profile PATH=$PATH:$HOME/bin:/usr/java/latest/bin # source ./.bash_profile OpenOffice.orgのSDKは ここ の右下にある「OpenOffice.org SDK」からダウンロード→インストール。 # ./OOo-SDK_2.4.0_LinuxIntel_install.sh 解凍場所を聞かれるので適当な場所を選択。 # rpm -ivh unpack_openofficeorg/RPMS/openoffice.org-sdk-2.4.0-9286.i586.rpm 何も聞かれずに/opt/openoffice.org2.4_sdk/にインストールされた。 インストールと設定の仕方は/opt/openoffice.org2.4_sdk/index.htmlを見れば結構詳しく書いてある(英語)。 OpenOffice.orgのUNO Runtime Environment(URE)を同じく ここ の右下にある「UNO Runtime Environment (URE)」からダウンロード→インストール。 (OpenOffice.orgを丸ごとインストールしてもUREがインストールされる) # ./OOo-URE_1.3_LinuxIntel_install_en-US.sh # rpm -ivh unpack_ure/RPMS/openoffice.org-ure-1.3-9221.i586.rpm ちなみにどこにインストールされたか

OpenOfficeのドキュメントをPHPから操作する

前の記事 の関連で調べたときのメモ。 OpenOffice.org のドキュメントはXMLをzip圧縮してあるだけなので、比較的簡単にPHPから扱えると思ったら、いいライブラリが見つからない。 Open Document Formatについては 前の記事 を参考に。 使えそうなのが OpenDocumentPHP 。 でも開発がしばらく止まっているので駄目そう。 とりあえず使ってみたけど(バージョンは0.6)、作ったファイルを読み込んで、特定のセルに値を挿入とかメソッドが見つからなかったので、残念ながらあきらめ。 PHP-Excel は盛んに更新されていて使いやすいので(PDFに変換できるしね→でも日本語は文字化け)、OpenOfficeの方も頑張ってほしい。

OOXML(Office Open XML)とODF(Open Document Format)の違い

OOXML ( O ffice O pen XML )はMicrosoft Office 2007で採用されたファイルフォーマット。 wikipedia 。 Office 2003までの互換を考慮しているため仕様が複雑。 ODF ( O pen D ocument F ormat for Office Applications)はオフィススイート用の標準規格として策定されたファイルフォーマット。 OpenOffice.org で採用されたファイルフォーマット。 wikipedia OOXMLに比べシンプル。 実質 MS Office 2007(OOXML) VS OpenOffice.org(ODF) という図式。 両方とも規格の内容は公開されていて、基本XML(と画像などのバイナリ)をzip圧縮しているだけ。 なので、外部アプリケーションからの操作などもやりやすい。 違いを解説しているは次のサイト。 2007 Officeの文書フォーマット「OOXML」を正しく知る OOXML: 何が問題なのか ODFに関するリンク集

XREAサーバへJoomlaのインストール

イメージ
そろそろXoopsからJoomlaへ移行したいと思い立ち。とりあえずJoomlaをインストールしたときのメモ。 Joomlaは ここ からダウンロード。 初めてインストールする場合は日本語パックが付いている方が管理画面の操作がわかりやすい。 XREAサーバにアップロードするときは解凍したのをアップロードすると恐ろしく時間が掛かるので、サーバで解凍した方が全然早い。 やり方はXREAのサーバ管理画面で「ホスト情報登録」しといて、SSHでアクセス。ユーザ名、パスワードはFTPと同じ。SSHでアクセスするツールはTeraTermが便利。 参考 。 サーバで解凍するコマンドは $ tar –xzvf Joomla_1.5.7-Stable-Full_Package.tar.gz カレントディレクトリにすべて解凍されるので、あらかじめディレクトリを作って作業すること。 zipの場合は $ unzip Joomla_1_5_6_ja-JP_Stable.zip データベースはあらかじめUNICODEで作成しておく。 あとはhttp://<サーバ名>/にアクセスすれば自動でインストールが始まる。 設定の確認では次のような.htaccessを置いておけばほとんど「はい」になる。 php_flag register_globals off php_flag output_buffering off php_flag mbstring.encoding_translation On php_value mbstring.language neutral php_value mbstring.http_input auto configuration.phpはいいえのままだけど、これはこのままでOK。 最初configuration.php-distをコピーしておいたら次のFTPの設定で Error: the XML response that was returned from the server is invalid. と怒られたので、用意しておいたら駄目みたい。 FTPの設定はXREAのFTPアカウントそのままでOK.「FTP初期フ

エルゴヒューマン(Ergohuman)の高級椅子

イメージ
2年ぐらい前に買ったエルゴヒューマンの椅子を紹介。 座りながら寝れるような椅子を探していてたどり着いた。 8万円するぐらいあって、座り心地は最高。メッシュで構成されているので、全く蒸れない。高さが調整できるのはもちろん、座る所を前後に調整できたりする。 詳しくは ここ を参照。 椅子は個人によって好みが分かれるので、買うなら試しに座ってから買った方がよい。これは名古屋の東急ハンズに置いてあるので、気になる人は座りに行ってみては? 会社の椅子もこれにしたい・・・。

【PHP】2つのパス(URL)を結合する関数を作ってみた

プログラム内で2つのパス(URL)を結合することがよくありますが、 $sTop = “http://exbridge.jp/”; $sUrl = $sTop . “index.php”; この最初の文字列の最後にスラッシュがあるかないかで結合の仕方が変わってくる。いちいち気にしたくないので、自動で補完して結合してくれるような関数がないものかと探してみたけど、PHPにはないみたい。 VBScriptでは BuildPath .NETでは combine しょうがないので自作して petitwork に組み込みました。円マーク「¥」にも対応しているのでURLでもローカルパスでも使えるはず。 他にスマートな方法があれば教えてほしい。 /** * 2つのURL(パス)を結合するときにスラッシュがある場合でもない場合でも * うまいこと結合して結果を返す * * @access public * @param string $sPath1 結合文字列(前) * @param string $sPath2 結合文字列(後) * @param string $sSeparate 連結文字列。デフォルトは「/」 * @return string/boolean 2つのパスの結合結果(失敗時はfalse) */ function getBuildPath($sPath1, $sPath2, $sSeparate = DS ) { $sReturn = ''; if (strlen($sPath1) == 0) { return false; } $sPath1 = rtrim($sPath1, '\/'); $sPath2 = ltrim($sPath2, '\/'); $sReturn = $sPath1 . $sSeparate . $sPath2; return $sReturn; }

【PHP】Webで帳票を作成するのにPDF変換を利用する方法

システムで入力したデータを帳票として印刷したいという要望はどこにでもありますが、それを実現するための方法は様々です。 Google先生に聞いてみると 有償のツールがいろいろと出てきます。 GUIで操作できるし、開発工数も削減できるので、トータルでみると買ったほうがいいかも。 以下はフリーで使い勝手のいいPDF作成・変換ツールがないものかと探したメモ。 環境はLinux(CentOS5.2) + Apache + PHP 名称 説明 FPDF 簡単にPHPからPDFを出力できるPHPのクラス。簡単なものならこれで十分。でも日本語対応が不十分らしい。UTF-8に対応していない。日本語対応するのは難しくない。 FPDI を使えば既存PDFの読み込みも可能に。 本家サイト 。 日本語サイト 。 TCPDF FPDFを元に開発された。UTF-8に標準で対応。 こっちも日本語対応が不十分らしい 。 FPDI を使えば既存PDFの読み込みも可能に。今ならFPDFよりこっちがおすすめ。 本家サイト 。 日本語解説サイト 。 HTML2FPDF その名の通りHTMLをPDFに変換できる。 サンプル を見る限りかなり便利そう。 中身はFPDFが動いていて、HTMLタグに合わせて位置を調整しているらしい。 本家サイト 。 Sorceforge 。 Apache FOP XMLからPDFに変換するためのJavaライブラリ。実行するためにはJavaの実行環境が必要。 詳しくは wikipedia を読む。 XML→ XSL-FO →PDFという流れらしい。 参考サイト 可能性は無限大。難易度も無限大。 PHPで利用する場合はXMLを作っておいて、コマンドラインで実行 本家サイト 。

懐かしのHappy Hacking Keyboard上位モデルに日本語配列

大学時代にHappy Hacking Keyboard(英語配列)を使っていて、その使い勝手が忘れられず Happy Hacking Keyboard Lite2 とかに手を出していましたが、上位モデルが日本語配列になって新登場するらしいです。 PFU、“Happy Hacking Keyboard”上位モデルに日本語配列製品を追加 日本語配列だけど、Controlキーがちゃんとaの横にあるのが素晴らしい。 (この辺は変更できるみたい) Windowsを使う限りファンクションキーとテンキーは手放せないですが、LinuxやUnixを使う場合は正に最適なキーボードなので、サーバ用に一つ買っておきたい(と思ってます)。 でも2万5000円はちょっときついなー。

オンサイトサポートとは(=出張サポート)

オンサイトサポート(on-site support)(site=現場)とは、製品が故障した際に技術者が現地に行くサポート方式。 用語説明 。 事前準備なしに現場に行って対応するサポート に対して用いることが多い 要は「出張サポート」 メーカーの場合、電話サポートと区別するためによく使われる。 システム開発では 不具合の連絡 → 開発環境で現象確認 → ネットワーク対応 or 現地対応 となるため、あまり聞き慣れない言葉。

【Linux】CentOSでFAX送信サーバ構築

システムからFaxを送信する必要があったので、調査&設定したメモ。 環境はCentOS5.2。 FAXモデムは外付けの オムロンME5614D を選択、外付けの方がやりやすいらしい。参考になるのは ここ と ここ と ここ 。 以下実行したコマンド。 まずは、faxを送信するソフトウェアを導入。 #yum install efax ちなみにバージョンは0.9-27.2.1。 その後、PDFとかPostScriptを操作するツールを導入。 # yum install poppler-utils ghostscript faxモデムはシリアルポート(com1)に接続し、デバイスの接続権限を設定。 # chmod 666 /dev/ttyS0 シェルスクリプト(/usr/bin/fax)のFaxデバイス名が/dev/modemになっているので、シンボリックリンクを作る。 # ln -sf /dev/ttyS0 /dev/modem ロックファイルの置き場所の権限を設定 # chmod 777 /var/lock efaxを使ったシェルスクリプトが/usr/bin/faxにあるのでこれを さっきのリンク を参考に修正(バックアップをとってから)。 # cp /usr/bin/fax /usr/bin/fax-bak # vi /usr/bin/fax 変更箇所↓ FROM="+81 052 111 2222" #81は国番号。052-111-2222の場合 NAME="from AURORA.Fax" PAGE=a4 TELCVT='sed -e s/+81 */0/'            # Japan PDFを作成して動作確認。 # pdftops /tmp/Book1.pdf # fax make Book1.ps # fax send 052-111-2222 Book1.ps.001 番号は「-(ハイフン)」があってもなくても送れる。複数ページに分かれる場合は # fax send 052-111-2222 Book1.ps.* とすれば一括

DBDesignerをダウンロード

社内でER図を DBDesigner で書いているので、それをダウンロードするためのメモ。 アメリカの会社がオープンソースで開発していたらしいけど、今は停止しているみたい。その最新版は DBDesigner4 。 日本語化は ここ 。 そっからforkしてSourceForgeで開発されているのが DBDesigner-fork 。こっちではPostgreSQLでも対応するよう開発が進められているようですが、最近はリリースされてないみたい。 なるべく早くリリースされてほしいなぁ。 アニキ に先を越されたけど、せっかく書いたのでアップ。 PHP用DB接続支援ライブラリ「somfa」

オープンソースでシンクライアントを実現する「openThinClient」

前の記事 とかでシンクライアントについて書きましたが、オープンソースのソフトウェアを使ってシンクライアント化を実現できるみたいです。 openThinClient 導入する手順は こちら 。 専用OSを各クライアントで起動するため、使えるソフトウェアに制限があるみたい。まだまだ実用レベルまでは時間がかかりそう。 その他VMwareなどで実現したシンクライアントの導入事例は ここ から。 suganuma@エクスブリッジ.jp

Googleカレンダーの予定を携帯に通知する

イメージ
Googleカレンダーのアラートを携帯に送れるようなので設定してみた。 Googleカレンダーの設定で「モバイルの設定」から自分の携帯のアドレスを入れて、確認コードを送信。携帯に確認コードが届くので、それを入力して作業完了。 ↓こんな画面。 メールの転送機能でも同じことが実現できますが、とりあえず設定しとくと後で役に立ちそう。 ここ でも書いたけど、携帯でGoogleカレンダーにアクセスするには http://www.google.com/calendar/m あとは携帯でGoogleカレンダーの予定を新規作成できるようになってほしい。 名古屋のおもしろ会社エクスブリッジ

Linux上で.NETアプリケーションを動作させるMONOプロジェクト

.NETをLinux上で動作させようと頑張っている MONOプロジェクト 。 現在の最新版は2.0で多くの.NETアプリケーションが動くようになったみたいですが、まだ実用レベルではないようです。 MONOプロジェクトについて知りたい場合は wikipedia を読むのが早い。 もし、MONOプロジェクトが完全に.NET Frameworkと互換性を持つようになれば、開発工数削減のためにVisual Studioで開発して、CALの節約のためにLinuxサーバで動かすシステムが出てくるような気がします。 たぶん、まだまだ先の話だと思いますが。 名古屋でプロのSEを目指す

Docomoのパケホーダイダブルでパケット代を節約

地下鉄の広告で気付いた「 パケホーダイダブル 」。 今まで CoTV 開発のためにパケホーダイを契約していましたが、月の携帯代がばかにならない・・・。 もともと携帯でWeb閲覧をしないので、CoTVの開発をしないときはほとんど使ってないも同然。実際パケホーダイを契約する前は月額3000円ぐらいで済んでいた。 なのでパケホーダイダブルの広告を発見したときは速攻でプラン更新。 これでちょっとは携帯料金節約できそう。 ちなみにパケホーダイダブルは他のキャリアでもお馴染みの段階的なパケット定額制。パケホーダイのままの人は変更した方がよいと思う。

電池(充電池)を買うならeneloop(エネループ)でエコ

古くなったマウスを新調するために調べてたら、最近は eneloop(エネループ) という充電池があって、繰り返し使えるから電池内蔵型より「電池が切れて動かん」というのがなくていいみたい。 eneloopの長所と短所は wikipedia がわかりやすい。 wikipediaにも書いてあるけど、買うときに注意したいのはeneloopは初期型と次期型があって、初期型にはeneloopのに®の文字がない。 ここ で写真付きで詳しく書かれているので、買いに行く前にチェック。 もう少し詳しくなりたい人は ここ で Panasonicのパナループ と性能比較しているので参考に。 充電器は単3と単4を両方充電できて便利。 今使っている電池を使い切ったら、eneloopに切り替えよう・・・。 ちなみに買ったマウスはlogicoolの MX-1100 。eneloopで快適に動いています。電池1個でも動くので重さはそれほど感じない。5mぐらい離してもちゃんと動いてくれるから素敵。 プリンタも新しくエプソンの EP-901A に変えて、今年分の物欲は満たした感じ。 suganuma@エクスブリッジ

IPアドレスの範囲を示す表記方法

ネットワークの設定をするときによく出てくる「192.168.1.0/24」とかの表記方法。 これはIPアドレスとサブネットマスクをまとめて表現する記法。 Classless Inter-Domain Routing(CIDR:サイダー)というらしい。 詳しくは wikipedia と @ITの記事 で。 よく使うのだけメモ。 表記 範囲 含まれる個数 192.168.0.0/16 192.168.0.0 - 192.168.255.255 65,536 192.168.0.0/24 192.168.0.0 - 192.168.0.255 256 192.168.0.0/29 192.168.0.0 - 192.168.0.7 8 192.168.0.0/31 192.168.0.0 - 192.168.0.1 2 192.168.0.0/32 192.168.0.0 - 192.168.0.0 1

オープンソースなフラッシュ(SWF)形式のプレーヤーFlowPlayer

FlowPlayer はGPLで配布されているFLV形式の動画を配信するためのFlash形式のプレーヤー。Flash形式なのでAdoveの Flash Player をインストールしておけばブラウザ上で動く。 以下、特徴 オープンソースなため改変することが比較的容易 ライセンスはGPLなため、改変して頒布(はんぷ)する場合はソースコードも付けないと駄目。GPLについては 前の記事 を参考に。 サムネイル画像、シンプルな表示、さまざまなオプションで制御可能。この辺は実際に見た方が早い。 ここ で。 フルスクリーンにするとFlowPlayerのロゴが表示される。商用ライセンスにすると非表示になる。 オプションの意味などは本家のサイトを見た方が詳しく載ってますが、英語が駄目な人は ここ とか参考になりそう。 動画配信といえばHELIOS.CoTV

【.NET】ClickOnceの開発メモ

.NET Framework2.0から利用可能になったClickOnceという技術。.NET Framework1のころは ノータッチ・デプロイメント と呼ばれていた。 一言でいうなら「簡単にアプリケーションの配布・更新をするための技術」。 ClickOnceの基本的なことやノータッチ・デプロイメントの違いについては @ITの記事 を参照。 以下開発で必要になって調べたときのメモ。 ApacheでClickOnceのアプリケーションを配布するための設定。 ClickOnce起動時にWebアプリケーションと連携するためにパラメータを渡す方法。 ClickOnceを配布(発行)するときにサードパーティ製のdllなどを付けて配布する方法 MSDN Online スタート・キット(ソースコード付き)

Solaris10にsambaを設定

Solaris設定シリーズのsamba編。 インストールモジュールは Sunfreeware.com からGetする。そこにncurses, popt, readlineも必要と書いてあるので、これらもダウンロード。 デスクトップ環境をインストールしてあれば、コンソールでFirefoxを使ってダウンロードすれば楽。適当なフォルダに置いてダブルクリックで解凍。それぞれ順番にインストールしていく。 bashをインストールしとくと作業効率が全然違う。 前の記事 を参考に。 # pkgadd -d popt-1.14-sol10-sparc-local # pkgadd -d ncurses-5.6-sol10-sparc-local # pkgadd -d readline-5.2-sol10-sparc-local # pkgadd -d samba-3.0.25a-sol10-sparc-local これだけだと起動スクリプトが見つからなかったので、Source Codeもダウンロード+解凍。 # cp packaging/Solaris/samba.init.master /etc/init.d/samba # chmod 744 /etc/init.d/samba # vi /etc/init.d/samba BASE=/usr/sfw に変更。 次はsmb.confを設定。 # cp /etc/sfw/smb.conf-example /etc/sfw/smb.conf # chmod 744 /etc/sfw/smb.conf smb.confの設定方法は 前の記事 を参考に。 ユーザの追加 # /usr/sfw/bin/pdbedit -a root samba起動 # /etc/init.d/samba start

Solaris10のSSHを設定

Solaris10にSSHを設定して、リモートでアクセスできるようにしたときのメモ。 Solarisのインストールの仕方は 前の記事 を参照。 SSHはデフォルトでインストール済みなのでrootでログインできるように設定ファイルを編集 # vi /etc/ssh/sshd_config PermitRootLogin yes にする。 sshのデーモンを再起動 # svcadm refresh ssh svcadmの詳細は # man svcadm で見ると詳しい説明が参照できる。ただ Tera Term で閲覧するときは文字コードをEUCにしないと文字化けが起こる。 IPアドレスを確認したいときは # ifconfig -a 名古屋でプロのSEを目指す

Solaris10の端末エニュレータをbashにする方法

ここ でVMware Server 2.0にSolaris10をインストールしてみましたが、あまりに端末エミュレータが使いにくかったので、bashをインストールしたときのメモ。 CentOSなどのLinuxを使っているとデフォルトでインストールされているので、違和感なく使えますが、bash(補完機能とコマンド履歴など)がないCUIはこんなにも使いにくかったのかと再認識。 bashはTabでコマンドの補完機能やパスの補完を行ってくれて、矢印キーで過去の実行したコマンドの履歴を表示してくれる。詳しくは wikipedia で インストールの仕方は ここ を参考に。 Sunfreeware.com の左からbashを選択し、ダウンロード。ほかlibiconvもインストールした方がいいみたいなので、これもダウンロード。Solarisでデスクトップ環境をインストールしていれば、Firefoxでデスクトップにダウンロードしといて、ダブルクリックで解凍できるので便利。 解凍後は $ pkgadd –d <パス> でインストール。 ファイル名にsparcという文字があるけど、VMwareにインストールしたx86のSolarisでも動いた。 軽量、軽快なPHPフレームワーク「petitwork」

pingとpathpingとtracertでネットワークを調査

windowsのcmdを使ってネットワークを調査したときのメモ。 まずホストまで到達できるか確認するためにping( wikipedia )を打つのは基本。 ただホストによってはセキュリティの理由からpingが使っている ICMP に応答しないのもある。 次にどんな経路でホストにたどり着いているのか調べるのがtracert(トレースルート wikipedia )。 経由しているルータの一覧と応答時間が表示されるので、どこで時間がかかっているか(どこのルータがおかしいか)が分かる。 詳しくは @ITの記事 を参考に。 さらにwindows2000以降ではpingとtracertを拡張したpathpingというコマンドがある。 これはホストにたどり着くまでの経路とパケットの損失率を表示してくれるけど、tracertで十分なような気が。詳しくは @ITの記事 を参照。 あと、pingを使って簡易的にネットワークの速度を調査する方法も見つけたのでメモ。 ping -l 10000 exbridge.jp とすると10000バイトのパケットを送信して帰ってきた時間が分かるので (10000 × 2) ÷ 応答時間 = 回線速度 と計算できる。詳しくは @ITの記事 を参照 専用ツールを使わなくてもある程度のことは分かる。 ネットワークを調査するためのソフトもそのうち調べてみよう・・・ 前に書いた記事 suganuma@エクスブリッジ

VMware Server 2.0にSolaris10をインストールしてみた

システムの動作確認のためにSolarisの環境が必要になったので、VMware Server 2.0にSolaris 10をインストールしたときのメモ。 Solaris10は Sunのページ からユーザ登録してダウンロード。 VMware Serverでは SPARC(スパーク) に対応していないので、x86用をダウンロードする。 あとはVMware Serverで新規VMを追加するときにSolarisを選択して、いつものようにインストールすればできるはず。細かい手順を知りたい人は ここ とかを参照。 注意点としては、新規VMをインストールするときに割り当てるメモリを640M以上じゃないとGUIでインストールしている最中で止まる・・・実際に止まった。テキストインストールだと大丈夫らしい。 インストール自体は2時間くらいかかった。 こっから CoTV が動作するか確かめなきゃ。 <2008/10/20 追記> デフォルトでルートのディスク容量が5.4GBぐらい割り当てられるけど、インストール直後で既に3.6GB使用しているので、初期の割り当てるディスク容量を増やした方があとで困らなくて済む。 容量を確認するコマンドは $ df -h 動画配信といえばHELIOS.CoTV

クライアントに保存されているDNSキャッシュを削除する

DNSを変更したけど、なかなかクライアントのマシンが切り替えたIPに名前解決してくれない場合は C:>ipconfig /flushdns を実行してDNSのキャッシュを削除してみましょう。 それでも駄目な場合、外部のnslookupサービスを使って名前解決できるか試します。 ここ とか。(本当はこっちが先) 軽量、軽快なPHPフレームワーク「petitwork」

【.NET】クライアントアプリで非同期の処理(通信)を行うには

.NET Framework 1系のころは非同期で処理を実行するためにはデリゲート(delegate)とスレッド(Thread)を理解しないとプログラミングできなかったですが、.NET Framework 2.0からは BackgroundWorker というコンポーネントが追加され、簡単に非同期の処理が記述できるようになりました。 .NET Framework 1系は ここ を参考に。 BackgroundWorker のサンプルプログラムは @ITの記事 を参考に。 非同期処理の基本は MSDNの記事 をまずは熟読。 ちょっと難しい・・・ デリゲート(delegate)については、ちゃんと理解したいので、また調べるかも。 環境は.NET Framework 2.0, Visual Studio 2005, VB.NET(ASP.NET上ではない) suganuma@エクスブリッジ.jp

【.NET】Enterによるフォーカス移動とTabなど特殊キーの制御

クライアントアプリの開発でキーボードの入力を制御するためのメモ。 環境は.NET Framework 2.0, Visual Studio 2005, VB.NET Enterキーでタブ(Tab)キーみたいにフォーカス移動するのは @ITの記事 を参考に SelectNextControl を使えばできる。 ただ記事で紹介しているフォームの KeyDown をhandleするやり方は特殊キー([PageUp][PageDown][Esc][Tab][カーソルキー])の入力をhandleしてくれないこともあるみたい。 そんなときは別の @ITの記事 を参考に ProcessDialogKey をOverrideすればいいみたい。紹介されているサンプルコードをフォームのクラスにそのまま記述すればO.K. 特殊キーの動きを自作するには Protected Overrides Function ProcessDialogKey(ByVal keyData As Keys) As Boolean   Return True End Function としといて、フォームのKeyDownイベントで頑張る。 KeyDown, KeyUp, KeyPressの違いについては MSDN で。 名古屋のおもしろ会社エクスブリッジ

【VB.NET】フォームに別のフォームを動的に挿入する

Web(ASP.NET)のフレームのように左にメニューを表示させて、選択したメニューによって右にコンテンツを表示させるやり方。 環境は.NET Framework2.0, Visual Studio 2005, VB.NET(ASP.NET上ではないよ) メニューはTreeViewを使って作成。フレームはSplitContainerで。 ・・・というか「追加」→「Windowsフォーム」→「エクスプローラフォーム」を選べば、いろいろコントロールが配置されている。 TreeViewのAfterSelectイベントで次のようにコントロールを埋め込むことが可能。 ここ を参考に。 Dim objForm As Windows.Forms.Form = Nothing objForm = New Form1 'Panel2にフォームをセットする Dim objPanel As Windows.Forms.SplitterPanel = Me.SplitContainer.Panel2 objPanel.Controls.Clear() objForm.TopLevel = False objPanel.Controls.Add(objForm) objForm.BringToFront() '最前面に objForm.Show() ' 表示 objForm.Dock = DockStyle.Fill '親フォームにサイズを合わせる 名古屋のおもしろ会社エクスブリッジ

.htaccessと.htpasswdで簡易ユーザ認証

webで公開しているディレクトリにパスワードをかけて閲覧を制限する簡単な方法。 制限するディレクトリに.htaccessを作って、以下のように記述 AuthUserFile /var/www/.htpasswd AuthGroupFile /dev/null AuthName "Secret Area" AuthType Basic require valid-user <Files ~ "^.(htpasswd|htaccess)$">     deny from all </Files> 詳しい説明は ここ を参照。 次に認証ユーザとパスワードを登録。 $ htpasswd -c /var/www/.htpasswd user パスワードを聞かれるので認証パスワードを入力すると/var/www/.htpasswdファイルが作られ、暗号化した状態でパスワードが保存される。 追加するときは $ htpasswd /var/www/.htpasswd user Apacheのドキュメント も参考に。 .htaccessを読み込むためにはAllowOverrideをALLにしないといけないので忘れずに。詳しくは Apacheのドキュメント 。   < 2011/08/10 Modified > localhostからは参照可能にしたい場合は次のようにする Order Deny,Allow Deny from all AuthUserFile /var/www/.htpasswd AuthGroupFile /dev/null AuthName "Secret Area" AuthType Basic require valid-user Allow from localhost 127.0.0.1 Satisfy Any <Files ~ "^.(htpasswd|htaccess)$">     deny f

【.NET】Webアプリのようにセッション(session)を使いたい。app.configの設定

イメージ
Webの場合、ログインしたユーザの情報はsessionに格納してアプリケーション内で使い回しますが、クライアントアプリケーションの場合どうやってやるのか調べたメモ。 環境は.Net Framework 2.0, Visual Studio 2005, VB.NET ここ に全ての答えが。 app.configというアプリケーション構成ファイルに設定を記述することができるみたいです。My Projectを開くと設定という項目があるので、ここに設定する値を記述すると自動でapp.configが作成されます。 参照するときは sUrl = My.Settings.AURORA_URL か sUrl = My.Settings(“AURORA_URL”) 設定するときは My.Settings.AURORA_URL = “http://aurora.exbridge.jp/” か My.Settings(“AURORA_URL”) = “http://aurora.exbridge.jp/” ローカルのファイルに保存されるため、起動時に毎回ログインし直す場合などはアプリケーション終了時にクリアする処理が必要。

【.NET】従来型のArrayListとジェネリックなDictionary

.NET Framework2.0で新しく追加になったジェネリック(Generic=一般的な、汎用的な)という機能のメモ。 ジェネリック機能についての説明は @ITの記事 を参考に。 簡単にいうと、より汎用的に使えるようなクラス(機能)。 使うことが多いArrayListやHashTableにジェネリックなクラスが新たに用意されています。 従来型 ジェネリック 説明 ArrayList List 可変サイズの1次元リスト Hashtable Dictionary キー/値ペアのコレクション この辺も @ITの記事 で詳しく書いてあるので参考に。 従来型のHashTableは値が全てObject型となっていましたが、Dictionaryはインスタンス化するときに値の型を宣言する必要があります。 Object型の場合、なんでも格納できるので便利なような気もしますが、取り出して使用するときに明示的に型の変換をしないといけないので、効率的ではないようです。MSDNにも値をObject型以外にした場合、Dictionaryの方が速いと書いてありました。 ここ 。 ケースバイケースだと思いますが、今後は積極的にジェネリックな機能を使っていった方がよいようです。 名古屋でプロのSEを目指す

【.NET】Visual Studio 2005でPostgreSQLに接続する

イメージ
VB.NETでクライアントアプリケーション作ってますが、Visual Studio 2005でPostgreSQLに接続するためのメモ。 ODBCを使ってもよいですが、クライアントに設定しないといけないので.NET用のデータプロバイダ(Data Provider)が提供されていないか検索したら、やっぱりありました。ODBCを経由しないから、こっちの方が速いはず。 Npgsql .Net データプロバイダ PostgreSQL8.3.3からはスタックビルダがついていて、これを利用するとNpgsqlも簡単にインストールできますが、PostgreSQL8.3.4の段階では、まだNpgsql v1.0.0でした。 これだと参照設定しても利用できなかったので、たぶん.Net Framework2.0だとNpgsql2.0以上を使わないと駄目なんじゃないかな? ここ から最新バージョンをダウンロードしてきて、適当なフォルダに保存します。 C:\Program Files\Npgsql\2.0\ とか。 そして、Visual Studio 2005のプロジェクト→参照の追加で参照タブから Npgsql.dll を選択すれば使えるようになります。My Projectの「参照」で編集可能。 Imports Npgsql Public Sub test() Dim conn As NpgsqlConnection = New NpgsqlConnection("Server=192.168.0.1;Port=5432;User Id=user;Password=pass;Database=hoge_db;") conn.Open() Dim command As NpgsqlCommand = New NpgsqlCommand("select name from user where id = 2", conn) Dim sResult As String = command.ExecuteScalar() MessageBox.Show(sResult) conn.Close() End Sub 日本語が文字化けするというのをメーリングリストなど

【Linux】findして見つけたファイルを削除する

コマンドで下位階層まで検索して、見つけたごみファイルを削除する方法。 たとえばvssver.sccをきれいに削除する場合は $ find -name vssver.scc -exec rm -f {} \; findについては ここ のサイトを参考に。 軽量、軽快なPHPフレームワーク「petitwork」

OpenSSLで認証局(CA)を構築・・・の前に理解しておくこと

イメージ
Apache+mod_sslでSSL通信をし ベリサイン や グローバルサイン(ジオトラスト) でサーバ証明書を取得しインストールすることはやったことはありますが、サーバ証明書を発行する認証局を自分で構築してしまえばベリサインにお金払わなくてもいいんじゃねぇと思って調べたメモ。 まず認証局(CA, Certification Authority)となるのはOpenSSLがインストールされていれば、どのサーバでもなることは可能。 ただし、私がやりたいのはIEなどでエラーがでない証明書を発行する認証局の構築。これは WebTrust という制度(審査)に合格しないと駄目らしい。 3ヶ月ごとに行う厳正な監査らしい。(もちろん個人では無理) WebTrust に合格すると世界的に認証局として認められて各ブラウザに「信頼されたルート証明機関」として登録される。 つまり ベリサイン や グローバルサイン(ジオトラスト) で取得したサーバ証明書をインストールするとエラーとならないのは ブラウザが既にその認証局を信頼しているから 。 ↓IEのインターネットオプションからコンテンツを選ぶと見ることができます。 ちなみにシェアはベリサインが53%、グローバルサインが25%、その他22%( wikipedia より)。 グローバルサインの方が安い・・・。 ただ携帯電話用のサーバ証明書を取得する場合、古い携帯電話のブラウザだとベリサインしか信頼してないのもあるらしく、グローバルサインの証明書だと閲覧できない機種が出てきてしまいます。 ベリサインは高いんですけど・・・。 次回は実際に認証局の構築と証明書の発行とインストールをやってみる予定(いつになるか分からないけど)。 動画配信といえばHELIOS.CoTV

【VB.NET】URLのパスを結合するメソッドCombine

VB.NETでローカルのパスを結合する場合、 Path.Combine を用いますが、そのWeb版。 VirtualPathUtility.Combine というのが絶対URLと相対URLを結合してくれます。 やり方はASP.NETでない場合、参照の追加でSystem.webを追加して Imports System.Web sUrl = VirtualPathUtility.Combine(“/”, “test.php”) という感じ。 ※.Net Framework 2.0以上 本当は sUrl = VirtualPathUtility.Combine(“http://hoge.jp/”, “test.php”) とやりたかったけど、これだと「有効な仮想パスではありません。」と怒られるので VirtualPathUtility.AppendTrailingSlash を使って sUrl = VirtualPathUtility.AppendTrailingSlash(sUrl) + “test.php” とやることにしました。 軽量、軽快なPHPフレームワーク「petitwork」

【VB.NET】アプリケーションからJSON形式でサーバと通信する

VB.NETのクライアントアプリケーションでWEBサービスにアクセスして JSON形式 のデータをデコードしたときのメモ(ASP.NET上ではない)。 開発環境は.NET Framework2.0 Visual Studio 2005 方法としては次の2通り JSON.NET ASP.NET 2.0 Ajax Extensions どっちを使うか迷いましたが、「 ASP.NET 2.0 Ajax Extensions 」は.NET Framework3.5から標準搭載されるようなので、こちらを使うことに決定。 両者の速度の違いなどが ここ のブログに書いてあるので一読しとくといいかも。 ASP.NET 2.0 Ajax Extensions は ここ から「Download ASP.NET Extensions v1.0」をクリックしてダウンロード。 その後、インストーラからインストール。 Visual Studio 2005では「プロジェクト」→「参照の追加」→「System.Web.Extensions」を選択して、次のをimportsしとく Imports System.Net Imports System.Text Imports System.Web.Script.Serialization サンプルコードは次のような感じ。 Dim sTargetUrl As String = "http://hoge.com/webservice/" Dim objWeb As WebClient = New WebClient() Dim objSrializer As JavaScriptSerializer = New JavaScriptSerializer() Dim objEncode As Encoding = Encoding.UTF8 Dim bResult As Byte() = objWeb.DownloadData(sTargetUrl) Dim sJson As String = objEncode.GetString(bResult) Dim objHash As Hashtable = objSrializer.Deserialize(O

PHP用拡張モジュール有名どころ一覧

ApachtとPHPをセットアップするときに必要となるPHPの拡張モジュールのメモ。 環境はCentOSで、基本 $ yum install <拡張モジュール名> でインストール可能な一覧。 拡張モジュール名 説明 php-mbstring マルチバイト文字列を扱うときに必要となる。PHPを使うシステムでは、ほぼ必須。 参考 。 PHPマニュアル 。 php-gd PHPで動的に画像を生成したり、画像のサイズ変更を行うときに必要となる。 PHPマニュアル php-pgsql PHPからPostgreSQLに接続するためのモジュール。 php-mysql PHPからMySQLに接続するためのモジュール。 php-xml DOMやSimpleXMLなどXMLを使う場合に必要。 PHPマニュアル その他、気づいた時点で追加する予定。 軽量、軽快なPHPフレームワーク「petitwork」

Tera Term Proのダウンロードとインストールメモ

TeraTermがない端末で作業するときにさくっとインストールするためのメモ。 なんかいっぱいバージョンがあるみたいだけど詳しいことは wikipedia で。 インストールパッケージは SourceForgeのプロジェクト からダウンロード。 今は「UTF-8 TeraTerm Pro with TTSSH2」から「Tera Term」に改名したらしい。現行のバージョンは4.60 「UTF-8 TeraTerm Pro with TTSSH2」がインストールされている場合はアンインストールした方がいいらしい。 インストールするときは「TeraTerm Menu」を選択する。 これはタスクバーに常駐して、ショートカットからマクロでログインするところまで自動でやってくれる。 便利。 あとは普通にインストールをすすめていけばOK。 suganuma@エクスブリッジ

FedoraCore5のsamba設定ではまる(SELinuxを無効に)

開発でFedoraCore5が必要になったので、VMwareServerに新規インストールして設定していたらsambaの設定で、ちょっとはまった。 普通に $ yum install samba のあと、 前に書いた記事 を参考にsmb.confを設定しようとしても、まずsamba経由でsmb.confを上書きできない・・・。 しょうがないので、sshでファイルをアップロードしてsmb.confを上書きするとできる。 その後sambaを再起動して共有フォルダにwindowsからフォルダを作成しようとするとできない・・・。そのときの/var/log/messageは下のような感じ。 Sep 24 16:51:44 vm-hoge kernel: audit(1222242704.940:94): avc:  denied  { write } for  pid= 3246 comm="smbd" name="opt" dev=dm-0 ino=228481 scontext=root:system_r:smbd_t:s0 tcontext= system_u:object_r:usr_t:s0 tclass=dir よく分からない・・・。sambaの動きがなんか変。 ・・・と思っていたら、原因がわかりました。 selinux のせいです。 system-config-securitylevel-tuiをやっても有効、無効の選択肢がでなかったので気付きませんでした。無効にするためには/etc/selinux/configの SELINUX=enforcing を SELINUX=disabled と記述して、再起動すればok. そういえば他の処理をしたときにPermission deniedとログに書いてあったのはselinuxが効いているせいということで納得。

VMware Server 2.0正式版をインストールしてみた(RPMで)

こっちの記事 でも書いてますが、VMware Server2.0の正式版がリリースされたので、さっそくインストールしてみました。まえはソースコードからコンパイルでしたが、今度は今後の保守も考えてRPMでインストールしました。 環境はLinux(CentOS5.2) まずは ここ からダウンロードしてきます。 今回もいろいろとダウンロードするまでに質問されますが、無償で利用できるありがたみを感じながら、丁寧に回答していきます。 インストールするOSの制限として、WindowsとLinux合わせて10となっていますが、あとで変更もできるので気にせずダウンロードします。 まずは前のRC1,2をインストールしてある場合はアンインストールしときます。 $ vmware-uninstall.pl RPMの場合は簡単で $ rpm -ivh VMware-server-2.0.0-116503.i386.rpm $ vmware-config.pl とすればok. 質問はデフォルトで答えていけば、とりあえず動く。 ここで気付いたのが、リモートコンソールでログインするためのポート(902)を聞いてきた。 もしかしてRC版ではできなかったリモートコンソールでの管理ができるのか? と思い1.0の頃のVMware-consoleをインストールしてみたけど、アクセスできなかった。 何かしら方法はありそう。 VMware Serverのドキュメント(マニュアル) 続く・・・。 <2008/10/31> Ubuntuに $ apt-get install rpm をやった後にrpmのvmwareをインストールしてみたらできなかったで、しょうがなくソースからコンパイル。特に問題なくインストール完了。 あと、ポート902は有償の VirtualCenter で管理するためのポートみたい。 <2009/07/05> でも、やっぱりソースからコンパイルした方が保守しやすかった・・・。 削除する方法は # rpm –qa | grep VMware で検索しといて # rpm –e VMware-server-2.0.0 でアンインストール完了

Blogger向けアクセス解析ツールはまだ?

2008/05/02の記事 でBlogger向けアクセス解析ツール「Google Analytics for Blogger」をテスト中というのを読んで、どんなアクセス解析ができるか楽しみにしているのに、なかなか公開されない。 今は Google Analyticts で一応満足していますが、追加でほしい機能は RSSの購読状況を表示 被リンクの情報をサイト(ブログ)単位で表示 Google カレンダーと連携 ぐらいかなぁ。 suganuma@エクスブリッジ

【PHP5】オブジェクトを複製する clone

PHP4とPHP5の違いは この辺 で少し書きましたが、PHP5でオブジェクトを値渡しのように複製したい場合はどうするの?と思ったときのメモ。 オブジェクトを複製したい場合はcloneを記述するようです。 PHPマニュアル 。 <記述例> $copy_of_object = clone $object; さらに ここ の記事ではPHP5で変更のあった仕様をまとめているので、参考になるかも。 参照渡しと値渡しの速度比較は 前の記事 を参考に。 軽量、軽快なPHPフレームワーク「pettiwork」

Bloggerで記事のバックアップ(エクスポート)をする

新しい機能が次々と出てきて楽しい反面、いきなりスパムブログと間違われて削除されたり、いきなり文字化けしたり、いきなりアクセスできなくなったりと問題もあるBlogger。 そんな目にあうのは利用者の数%だと思うけれど、今までコツコツとためてきたブログを削除されてしまったら、あまりに悲しいのでバックアップをとる方法を調べたのでメモ。 まだドラフト版ですが、ブログの記事をエクスポートするのが提供されているみたいです。 Blogger in draft( http://draft.blogger.com/ )にアクセスして管理画面からエクスポートを選ぶと、 Bloggerのレイアウトと記事の内容(コメントも含む)をXML形式で保存できます。 ここ の記事を参考に。 投稿された写真は Picasaの方に保存 されているので、この方法ではバックアップをとれないですが、定期的に記事のバックアップをとっておけば安心です。 Windows Live Writer にバックアップの機能があるとすごい助かるんだけどなぁ。

32bitと64bitの違い

公式ブログ の続き。 最近のCPUは64bitに対応しているのが多いですが、 「32bitと64bitの違いって何ですか?」 って(一般の人から)たぶん聞かれるので、その答えを準備するために調べたメモ。 OKWaveに投稿されている回答内容 を読めば、なんとなく理解できる。 あとは wikipedia を参考に。こっちはちょっと難しい。 自分で回答する内容は以下 32bit, 64bitはCPUの情報処理能力 片側2車線道路が片側4車線になるようなもの(車の流れが結構違うでしょ?) ただこの片側4車線をフル活用するためにはOSとアプリケーション側で対応が必要 64bitのOS上では64bitのアプリケーションしか動かないけど、windowsの場合エミュレーションして対応している 扱えるメモリの最大が理論上4GBから180億GBまで増える この扱えるメモリの増加が一番のメリットかもね 実際64bitのCPU + 64bitのCentOSをインストールしてみたけど体感速度はあまり変わらない 相当高付加+並列処理が必要なことをやらなければ32bitで十分 しかも最近のCPUは内部的に並列処理ができる仕組みをいろいろ導入しているからね こんな感じで説明すれば分かるかな。 軽量、軽快なPHPフレームワーク「pettiwork」

エクスブリッジのギネスに挑戦を動画で配信

私が外に行っている間に「ギネスに挑戦」シリーズが開幕したみたいです。 /> 今回は xb-itazu 氏が頑張ってます。 この動画は エクスブリッジ の動画配信システム「 HELIOS.CoTV 」で配信されてます。携帯でも閲覧可能ですが、パケホーダイの契約している場合のみおすすめします。結構お金かかるみたいなので。 携帯で閲覧したい場合は「 HELIOS.CoTV 」にあるQRコードからいけます。暇なときは他の動画もどうぞ。 動画配信といえばHELIOS.CoTV

空手合宿に行ってきました。

イメージ
3連休は大学の空手合宿に参加しました。 ↓合宿の風景 さすがにきつかったですが、久しぶりにいい汗がかけました。 体の衰えも再認識しました。学生の稽古についていけない・・・ しばらく筋肉痛が続きそうです。

今週末は空手合宿で栃木県へ

大学の合宿 にOBとして参加してきます。 名古屋からだと行きにくい場所にあるので、新幹線とバスで3・4時間ぐらいのところにあります。 学生ほどの体力はないので、怪我しない程度にがんばります。 あと関係ないですが、また自転車が盗まれました。名古屋に来て5回目。 suganuma@エクスブリッジ

【Ethnaを使った携帯サイト構築】セッションを保持するために

今、別案件でフレームワーク Ethna(えすな) を使った携帯向けサイトを構築していますが、そのときに使った携帯でセッションを保持するための処理をメモ。 .htaccessに php_flag session.use_trans_sid On を書いてもいいですが(session.use_trans_sidについては 前に書いた記事 を参考に)、PC向けの画面も同じ階層にいたりするので、PHPで制御するやり方です。 ログインなどでセッションをスタートした後に output_add_rewrite_var(session_name(), session_id()); を記述して携帯用の共通のコントローラで同じく output_add_rewrite_var( PHPマニュアル ) を記述すればO.K。 session.use_trauns_sidだけでいけると思ったけどダメだった。環境はPHP5.1.6 例↓ class Ethna_ActionMobileClass extends Ethna_ActionClass { function authenticate() { output_add_rewrite_var(session_name(), session_id()); if ( !$this->session->isStart() ) { return 'login'; } else { return null; } } } output_add_rewrite_var( PHPマニュアル ) は画面のリンクやformに設定した名前と値の組を自動で付加してくれる便利関数。 <?php output_add_rewrite_var('var', '12345'); echo '<a href="file.php">リンク</a>' ?> とすると <a href="fi

筋肉痛がまだとれない

日曜日に 尾張旭で空手を教えている先輩のところに 行って空手をしてきましたが、その筋肉痛がまだとれません。 8月中は夏休みで稽古をサボっていたので約1ヶ月ぶりの稽古。 今週末に大学の合宿でOBとして参加するので、少しは体を動かしてないとまずいと張り切りましたが、やっていても脳の命令に 体がついてこれず、「もうやめてくれー」と体の節々からの叫び声が聞こえてくるようでした。 やっぱりサボっているとどんどん体が衰えていきますね。もう急降下。 1週間に1回は稽古がない日でも動くようにします。

IP電話でFAXを送る方法とPC-FAXについて調べてみた

前 に固定電話をやめて光電話にすると書きましたが、 (NTTの固定電話を休止状態にする。) そこで問題になるFAX送信について調べてみました。 まずIP電話網を使ってFAXを送信するのは止めたほうがいいらしい。 @IT-IP電話でのFAX通信は、メーカー独自手順などFAX機にも注意 そこでPCでFAXを送信できるような(FAX代行みたいな)サービスを調査。 このようなサービスを使うと、新しいFAX番号をもらえて、そこに届いたFAXはPCのメールに届くようにすることができる。 →メールのやり取りと同じようにFAXの送受信ができる。 有名なのは iFAX(インターネットFAX) 月額料金が無料の従量制。一番便利そうだけど、NTTの固定電話に加入してないといけない。 今回はNTTの固定電話から脱却したいので根本的に対象外 D-FAX 月額料金は無料の従量制。受信だけなら無料。登録するときに登録料として2,500円必要。3ヶ月間未使用だと自動でアカウントが削除される。 ・・・微妙 この FAX ASPサービスの記事 を読むとiFAXを使いたくなる。 他にも同じようなサービスを提供しているところはあるけど、どこも月額利用料金が1000円前後かかるので利用しづらい。 参考 結論としては、FAXはあきらめることにしました。 本当に必要になったときにまた考えます。

自宅のネットワーク構成を一新・・・するために

最近、自宅のネットワーク構成をアップグレードしようと妄想中。 ・・・別に今困っているわけではないんですけど・・・ テーマは「無線」。なるべく裏に這っているコード類を減らそうとしてます。 まずはプロバイダの変更。 今はYahoo BB 12Mですが、 コミュファ光 に。 今住んでいるマンションは「コミュファ・マンションF」らしいのでちょっと高い。 これでNTTの固定電話を休止状態にすれば毎月500円ぐらい安くなる。 Yahoo BB 12M + NTT固定電話 = 約5,500円 ↓ コミュファ光 マンションF = 約5,000円 こんな感じ。 そんなに違わないですが、回線速度が上がって料金が安くなればいいかなぁ。 ただ一つ問題が。 今までFAXをごくたまに使ってましたが、これが使えなくなる。 別に使えなくなってもいいですが、実家からとか知り合いからたまに来るので、どうしようかなぁと考え中。 固定電話なしでFAX送る方法を調査中なので、またブログで書きます。 無線ルータはCoregaの CG-WLBARGNH でほぼ確定。 プリンタは今までBrotherの MFC-620CLN を使ってましたが、無線化のために新しく DCP-535CN か MFC-930CDN にしようか考え中。 MyMioシリーズは多機能な割りにコンパクトなので、部屋にすっきり収まってましたが、FAXがいらなくなると他の会社のプリンタも選択肢に入ってくるので、これもまた迷う・・・。 どうしよーねー。 suganuma@エクスブリッジ

エクスプローラ風ファイル管理ソフト(ファイラー)「まめFile」

イメージ
私が愛用しているファイル管理ソフト「まめFile」の紹介。 フリーソフトです。作者のページは ここ から。 ファイルの圧縮、解凍、分割、結合 ランチャー機能 よく使うフォルダを覚えておける ショートカットキーを登録すると片手で操作できる マウスでファイルをコピー、移動するときに問い合わせしてくれるので、間違えてファイル移動とかを防止できる。(設定でどうにでもできる) などなど機能は豊富。 私の場合はまだ「まめFile4」を愛用中。「まめFile5」でもいいけど、ウィンドウごとに作業内容を決めているので、こっちの方が使いやすい。 圧縮、解凍するときは別途dllをインストールしないといけないですが、 caldix を使って一括でインストールすると楽。 あとは TortoiseSVN と連携できれば言うこと無し 名古屋のおもしろ会社エクスブリッジ

プレースホルダ(place holder)はplace folderではない

データベースにSQL文を発行する際は SQLインジェクション 攻撃の対策としてプレースホルダとバインド変数を用いるのが常ですが、プレースホルダのholderをfolderと勘違いしてました。 ・・・ただそれだけ。 エクスブリッジの somfa を使うと次のような感じになる。 $sPlaceHolder = 'user_id = ?'; $aBind = array($vo->user_id); $aRecordset = $objSomfa->select('tbt_user', '*', $sPlaceHolder, $aBind); PHP用DB接続支援ライブラリ「somfa」

Google カレンダーでiCal形式を読み込むと文字化け

Googleカレンダー にical形式(*.ics)のファイルを別カレンダーとして登録したときに文字化けしていた原因が分かりました。 Googleカレンダーではレスポンスのヘッダーに文字コードを指定しないと駄目らしい。 ここ のブログで教えてもらった。 icalが置いてあるディレクトリの.htaccessに addtype text/calendar; charset=utf-8 を記述してみたりしたけど駄目だったので、PHPでさくっと作りました。 <?php header('Content-Type: text/calendar; charset=utf-8'); $sFile = $_GET['ical']; readfile($sFile); ?> このファイルをical.phpとすると http://www.hoge.com/ical.php?ical=suganuma.ics というアドレスをGoogleカレンダーに設定すると、文字化けせずicalファイルを読み込んでくれます。 Googleカレンダーは携帯でもみれるので、これで会社のスケジュールをいつでも携帯から閲覧可能に。ちなみにGoogleカレンダーの携帯用アドレスは http://www.google.com/calendar/m <2008/09/16 追記> コメントで指摘がありましたが、上のコードはあまりにセキュリティがダメダメなので各自'ics'ファイルに限定するとか、やってください。 <2009/08/28 追記> 一応備忘録のために修正版をアップ。 <?php $sFileName = $_GET['ical']; if (strpos($sFileName, '.ics') === false) { $sFileName .= '.ics'; } if (file_exists($sFileName)) { header('Content-Type: text/calendar; charset=utf-8