投稿

12月, 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を目指す