ソフトウェアエンジニア現役続行

雑多なことを綴ります

2010-04-01から1ヶ月間の記事一覧

icalendar形式のファイルをgoogleカレンダーと同期する

うちの会社はグループウェアとしてサイボウズを使っています。サイボウズサーバがイントラネット上にあるため、社外からはアクセスすることができません。確かに安全ですが、社外からアクセスできないと不便なこともあります。そこで次のような方法で、サイ…

異なるHDDでデュアルブート

WindowsとLinuxのデュアルブートというと、単一のHDDをパーティション分割して、それぞれのOSを入れるのが一般的だと思いますが、HDDを二つ用意して、それぞれにWindowsとLinuxを入れてデュアルブートする方法もあります。 単一のHDDでデュアルブート 次のよ…

ApacheでユーザごとのhtmlとCGIを公開させる

CGIをnobodyで実行するのではなくユーザー権限で実行したいときがあります。そのときは次のようにします。 /etc/httpd/conf/httpd.confを編集する 次のようにUserDirを定義します。 #UserDir disabled (←コメントアウト) UserDir public_html (←コメント…

Process.destroy()の前に必ずすべてのストリームをcloseすること

次のような間違いを含んだコードがあります。 // 同じようなことがRuntime.exec(...)でも起こる ProcessBuilder pb = new ProcessBuilder(args); Process proc = pb.start(); InputStream in = proc.getInputStream(); // ・・・ここでスレッドのストリーム…

消費者と企業

購読している宋文洲さんのメルマガ。今週の内容は「嘘、消費者が企業を育てる」でした。宋文洲のメルマガの「読者広場」: 嘘、消費者が企業を育てる次の段落が印象的でした。 最近よく思うのですが、「消費者が企業を育てる」という言い方は本質を間違えてい…

孫正義 LIVE 2011

ソフトバンクの孫正義社長による、「孫正義 LIVE 2011」と題した講演会がすごく良かったと評判で、書き起こしがあったので読みました。全部読むのはかなり時間がかかりますが、その価値があると思います。書き起こしてくれた方に、心から感謝いたします。孫…

header競合

asm/statfs.h と sys/statfs.h を両方インクルードすると、headerがコンフリクト(競合)してコンパイルできません。次のように asm/statfs.h と sys/statfs.h をインクルードして・・・、 [Oswald@fedora tmp]$ cat conflict_headers.c #include #include i…

rpmスペックファイルの%config

RedHat系のLinuxディストリビューションではRPMでパッケージ管理を行います。RPMスペックファイルで、%configをつけるとそのファイルは設定ファイルとして認識されます。%configでは、noreplaceとmissingokを指定することができます。第5章 SPECファイルの記…

LinuxにJDKをインストール

LinuxにJDKがデフォルトでインストールされていない場合、Sunのサイトからダウンロードしてこないとダメなようです。他の言語のようにyumで簡単にインストールできるのかと探しまわったのですが、見つけることが出来ませんでした。 参考 ここの説明がとても…

情報セキュリティスペシャリスト試験を受けました

昨日(2010年4月18日)に、IPAの情報処理試験の情報セキュリティスペシャリスト試験を受けました。手応えがあったので、おそらく合格したと思います。合格発表は6/25(金)正午予定です。午前問題はすでに解答が出ています。午前1は免除でした。午前2は80点…

iPhotoはleopardのDVDから

MAC

MacBookにsnow leopardをクリーンインストールしたら、今まで使っていたiPhotoがなくなっていました。WebサイトからダウンロードしようとしてもiLifeとセットで有料のものしかなく、iPhotoを使うのを諦めたままでした。それから早9ヶ月、やっとiPhotoを無料…

仮想マシンのGuestOSでルータを構築する

仮想マシンを使って、GuestOS(ゲストOS)をルータとして使うことができます。複数のインタフェースを設定できる仮想マシンであれば構築できます。ユースケースとしては、Linuxルータを作って仕組みを理解したいが、物理的なマシンや追加NICを用意するのが面…

補助コマンドは /usr/libexec に

Unix系OSでは、コマンドによって登録されているパスが違います。一般的に/bin以下にあるコマンドは、そのLinuxディストリビューションにとって基本的なコマンドを指します。また/usr以下には/usr/binと/usr/sbinの2種類があります。/usr/bin以下に実行ファイ…

文字コードの違うマシンにssh接続するときの文字化け対策

日本語の文字コードは、今までのLinuxではEUC-JPが主流でしたが、今後はUTF-8が主流になっていくことでしょう。最新のfedoraもUbuntuも、デフォルトの文字コートはUTF-8になっています。さて、UTF-8環境のターミナルからEUC-JP環境のサーバにssh接続すると、…

Openofficeのセキュリティレベルを設定する

MAC

Openoffice.org3からデフォルトのセキュリティレベルが「高」になりました。これだと動かないマクロがあるので、「中」に変更したいときがあります。その方法を検索すると、『「ツール」−「マクロ」−「 セキュリティ」でマクロのセキュリティレベルを変更する…

P2Pソフトは危険

言うまでもなく、ファイル共有ソフト(P2Pソフト)はセキュリティ上、とても危険。当たり前のことなのに、ファイル共有ソフトを使っていて個人情報が流出してしまったというニュースを頻繁に目にします。本当に危険だということを認識していない人が多いんで…

Thunderbirdでフォルダ名を大文字に変えられない

Thunderbirdでは、フォルダ名の大文字小文字に変えるだけの変更をするとエラーになります。どういうことかというと、例えばフォルダ名"test"からフォルダ名"Test"に変更しようとすると、"そのフォルダ名は既に存在します"というエラーが出ます。これはバグ登…

Google Calendar APIに挑戦

プログラミング言語Java とEffective Java 第2版を読了しました。仕事でJavaを使うことは今のところないのですが、オブジェクト指向の言語をちゃんと勉強したのは初めてで、学ぶものは多かったです。忘れないうちにJavaでプログラミングしたい。ということで…

シェルスクリプトで、空白で詰めない

シェルスクリプトでは、空白は詰められてしまいます。 ダブルクォーテーションで囲むと、空白は詰められなくなります。 [Oswald@fedora ~]$ string="a b" [Oswald@fedora ~]$ echo $string a b (←空白を詰める) [Oswald@fedora ~]$ echo "$string" a b (←…

cronスクリプトが終了しない

cronスクリプトの実行が最後まで完了しない現象が起こりました。調べたところ、cronスクリプトの標準出力(+標準エラー出力)の量が多すぎて、パイプ詰まりが起こってしまい、処理がそこで固まっていました。例えば次のように大量の標準出力を行うcronスク…

cronディレクトリはinotifyサポートを受けている

/etc/cron.d、/etc/cron.daily、/etc/cron.weeklyなどのcronディレクトリはinotifyでサポートされているため、このディレクトリにスクリプトを追加/削除したり、編集したりすると、それらの変更はcrondを再起動しなくても反映されます。 サーバの設定ファイ…

ndiswrapperを使ってWindows用ドライバを動かす

Windowsで使っていたLogitec LAN-TX/U1H2 Ethernet AdapterをLinuxでも使おうと思ったら、楽勝でした。dmesgを見たらデバイスが認識されているようだったので、ndiswrapperを使ってWindows用のドライバをインストールしたら、簡単に動きました↓ [Oswald@fedo…