投稿

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

2009年大晦日

長野の飯田は雪です。さすがに寒い。さて、2009年もあっという間。今年もちゃんと成長できたのかな?と振り返ってみる。・・・まだ足りなくない?と反省したり。来年も忙しくなりそうだけど、しっかり前を向いて歩いていきたい。1年前のブログとかを見ながら、まったりと新年を迎えようとしています。来年もよろしくお願いします。

CentOS 5.4でVMware Server 2.0のWeb Accessが落ちる

年末のメンテンナンスでサーバーをCentOS5.4にアップグレードしたらVMware ServerのWeb Accessが頻繁に落ちる現象が発生。VMware Serverも2.0.2にアップデートしてたので、2.0.1に戻してみても同じ。Google先生に聞いてみたら、現象で困っている人がいるようで解決方法はこことかを参考に。VMware Serverだけバージョンの古いglibcを使うように設定。以下実行したコマンドをメモ。# mkdir /tmp/vmwareglibc
# cd /tmp/vmwareglibc
# wget http://vault.centos.org/5.3/os/x86_64/CentOS/glibc-2.5-34.i686.rpm
# rpm2cpio glibc-2.5-34.i686.rpm | cpio –ivd
# mkdir /usr/lib/vmware/lib/libc.so.6/
# mv lib/libc-2.5.so /usr/lib/vmware/lib/libc.so.6/libc.so.664bitOSの場合はglibc-2.5-34.x86_64.rpmなので間違いないように。/usr/sbin/vmware-hostdの一番最後の行でeval execしている前に一文挿入。# chmod 755 /usr/sbin/vmware-hostd
# vi /usr/sbin/vmware-hostdexport LD_LIBRARY_PATH=/usr/lib/vmware/lib/libc.so.6:$LD_LIBRARY_PATH eval exec "$DEBUG_CMD" "$binary" "$@" # chmod 555 /usr/sbin/vmware-hostd
# /etc/rc.d/init.d/vmware restartこれで大丈夫なはず。その他いろいろいじってたときに分かったこと。Web Accessに登録された仮想マシンを手動で削除するには
/etc/vmware/hostd/vmInventory.xml
をノードごと手動で削除すれば大丈夫っぽい。・・・年…

2009年稽古納め

土曜日は先輩の道場が自主練習の日だったので、「自分の練習ができる!」と喜び勇んで稽古納めをしてきた。思った通り生徒さんは来なかったので、体育館を貸切状態。胴着と裸足ではちょっと寒いですが、体を動かしているうちに暖まってきたので問題なく集中できた。基本から動きを確認しながらやっていくと、やっぱり肉体の衰えを感じる。しかも体力もなくなってきているので、すぐ息が上がってしまう。「この下手糞が!!」と自分に罵声を浴びせながらやっていたから、誰か見ていたら変な人だと思われたに違いない。次に使うママさんバレーの荷物が玄関においてあったので、「一人言を聞かれてしまったか?」と心配になってしまった。先輩の道場の運営に支障をきたさなければいいけど・・・。今現在も筋肉痛が継続中なので稽古納め的には満足。来年も衰えないように稽古に励もう。

今年のクリスマスは・・・

やっぱり仕事(一人)でした。一年前のクリスマスのブログ二年前のクリスマスのブログ「寂しい」という感情はどこかに置いてきたような気がします。「来年こそは彼女と一緒に過ごすんだ!!」という感情も沸いてきません。クリスマスの唯一の楽しみは、ネコジルシの猫たちがサンタさんの格好をしてくれるので(サイドバーにある「ネコ写」)、そんなネコを見ながら(´Д`) ハァ・・・カワイイ・・・と思うぐらい。あとは昨日親子丼を作るときに鶏肉をいつもより多めに入れてみた。よいクリスマスを・・・

VMware ESXiにVMware Converterで仮想ディスクをコピーする

イメージ
VMware ESXi(無償)のサーバーにVMware vCenter Converter(無償)を使って、インストール直後のLinux仮想ディスクをコピーするときに失敗したのでメモ。Converterのインストールなどは前の記事を参考に。Linux各種のインストール直後の仮想ディスクイメージをバックアップしておいて、必要なときにコピーするやり方をしているけど、VMware Converterを使って、コピーするとデフォルト(?)で「容量固定ディスク」に変換されてしまうので注意。可変ディスクにする場合は確認画面のTypeをFlatからThinに変更する。ちなみに容量固定ディスクにコピーした後でも変更できるみたい。ファイルサイズ固定のディスクから、可変のディスクへ変換する▼関連記事【VMware ESXi】仮想マシン(Windows)のハードディスク容量を増やす(拡張)方法【vmware】仮想マシンのハードディスク容量を増やす(拡張)方法【vmware】vCenter Converterで仮想マシンをコピーする【CentOS】LVMでディスク容量を拡張(VMwareのHDD容量を増やす)

【Windows】使用しているポートの一覧からプロセスを検索

イメージ
ローカルにXamppをインストールしてapacheを起動するときに(OS 10048)通常、各ソケット アドレスに対してプロトコル、ネットワーク アドレス、またはポートのどれか 1 つのみを使用できます。  : make_sock: could not bind to address 0.0.0.0:80と怒られたので、どのプロセスが80番ポートを使っているか調べたメモ。環境はWindows XPコマンドプロンプトを起動して次のコマンドを入力C:>netstat –oanポートとPIDの一覧が出力されるので、この場合80番ポートを使用しているのがPID=2848ということが分かる。次にC:>tasklist /fi “pid eq 2848”これで犯人が分かるので、アプリを終了するなりKillすればOK。PIDを検索するときは「Process Explorer」を使っても簡単にできる。

【PHP】iCal形式のファイルから出力制限して外部カレンダーと連携するサンプル

社内の予定表をiCal形式のファイルで管理しているけど、iPhone/iPod touchのカレンダーやGoogleカレンダーと連携するために読み込むとファイルサイズが大きくて時間がかかってしまうので、イベント数を制限して出力できないかと調査したメモ。まずiCalendar(vCalendar)形式のファイルをPHPでパースできないかと調べてみると、PearのFile_IMCで読み込めて配列に格納できるみたい。実際に使ってみると確かに連想配列形式にしてくれるけど、全てパースしていると遅いし、編集した結果を出力できないので使いづらい。しょうがないので自力で正規表現を使ってやってみた。以下ソース。<?php /** * ical形式のファイルからイベント情報を制限して出力する * 外部のカレンダー(Google カレンダーやiPhone)用 * デフォルトイベント数:100 * limitに負の値を指定すれば全てのイベント */ //パラメータからicalファイル名を取得 $sFileName = ''; if (isset($_GET['ical'])) { if (strlen($_GET['ical']) > 0 ) { $sFileName = $_GET['ical']; } if (strpos($sFileName, '.ics') === false) { //拡張子がicsファイルのみ $sFileName .= '.ics'; } } //パラメータから制限数を取得 $iLimit = 100; if (isset($_GET['limit'])) { if (is_numeric($_GET['limit'])) { $iLimit = $_GET['limit']; } } $sCal = getLimitCal($sFileName, $iLimit); if (strlen($sCal) > 0) { header('Content-Type: text…

【Androidアプリ】バーコード読み取り「Zxing」をEclipseで使う

イメージ
前の記事ではiPhoneアプリでバーコード読み取りができないものかと調べたけど、Androidアプリだと既にSampleもあるようなので実際に試してみた。Android開発環境は前の記事を参考にして整える。バーコード読み取りライブラリのZxingを公式サイトからダウンロード。今の最新バージョンはZxing-1.4。(ソースをcheckoutした方がいいかも)ちなみに実機のAndroid携帯やAndroidエミュレータで上記サイトを表示して、apkファイルをダウンロード・インストールすれば実際に動かすことができる。Androidマーケットにある「QRコードスキャナー」はこのライブラリを使っている。ダウンロードしたら適当な場所に解凍して、Eclipseで読み込んでみる。新規プロジェクトを作る際に「Create project from source」を選択して、zxing-1.4\androidを指定すると次のような感じで読み込まれる。ただエラーになるので、次の手順でソースへのリンクを追加する。情報元。プロジェクトのプロパティ → Java Build Path → Source → Link Sourcezxing-1.4\core\srcを選択Folder nameは適当に「link」とかに変更Finishでエラーは消える。(けどWarningがたくさん・・・)ビルドしてみると動いた。ちなみにdocomoのAndroid携帯「HT-03A」は2009/10/23にAndroid 1.6にバージョンアップしたみたい。HT-03Aのバージョンアップ情報

Androidの開発環境を整える。SDKのインストールと設定

イメージ
Androidアプリ開発のために環境を整えたときのメモ。下記サイトを参考に。第2回 Androidアプリ開発,事始めAndroid SDKのインストール手順まずは必要なソフトのダウンロードと配置Sunの公式サイトからJava SE Development Kit(JDK) 6をダウンロード&インストール。この時点では、JDK 6 Update 17。
Android SDKのSiteでSystem requirementsを確認する Eclipseの公式サイトからEclipse IDE for Java Developersをダウンロード。適当な場所に解凍すれば完了(C:\Android\exlipseとか)。 この時点ではgalileo Googleの公式サイトからAndroid SDKをダウンロード。ちなみにGoogle Chromeではダウンロードできなかった。これも適当な場所に解凍(C:\Android\android-sdk-windowsとか)。 < 2012/09/04 Modified >
Windows 7 x64の環境でAndroid SDK (installer_r20.0.3-windows)をInstallしようとするとJava SE Development Kit (JKD) not foundとErrorになってしまう。この場合
System → Advanced → Environment Variables
のUser variablesにVariable: JAVA_HOME
Value: C:\Program Files\Java\jre6を追加する必要がある。ここからはソフトの設定Eclipseを起動するとworkspaceの場所を聞かれるので、適当に(C:\Android\workspaceとか)設定。ここを参考にAndroid Development Tools (ADT)をEclipseにインストールする。英語が分かる人は公式サイトを参考に。Help → Install Software → AddName:Android Plugin
URL:https://dl-ssl.google.com/android/eclipse/Developer Toolsにチェッ…

【Objective-C】iPhoneアプリの多言語化(ローカライズ)

イメージ
日本語と英語を切り替えて表示するために言語ファイルを追加したときのメモ。参考にしたのは下記サイトiPhoneアプリを多言語対応にするiPhone アプリケーションをローカライズする方法[iPhone] ローカライズの設定についてまずは言語ファイル用のディレクトリ(フォルダ)を作る。英語は「en.lproj」サンプルを参考にするとrootディレクトリに作成してるみたいだけど、個人的に言語ファイルはまとめたかったので、「Languages」というディレクトリを作って、そこに入れた。※追記
やっぱり他を見習ってrootディレクトリにen.lprojとja.lprojを作るようにした。次はXcodeからResourcesを右クリック → 追加 → 新規ファイル → (Mac OS X) Resource → String Fileでファイル名は「Localizable.strings」。保存場所はさっきの「en.lproj」を選択。同じ要領で「InfoPlist.strings」も追加する。Localizable.strings ・・・ プログラムで使う言語ファイル InfoPlist.strings ・・・ アプリケーション名などを設定する言語ファイル これで英語用の言語ファイルが準備できたので、en.lprojをディレクトリごとコピーして「ja.lproj」にして、XcodeからはResourcesを右クリック → 追加 → 既存ファイルでja.lprojのファイルを選択すれば完了。下のような感じになるはず。赤いのは「情報を見る」から追加しようとして失敗したのが原因だと思う。あとは言語ファイルを選択してキーと値を記述していく。Localizable.stringsの場合は“hoge” = “日本語テスト”プログラムで利用する場合はNSString* text = NSLocalizedString(@"hoge", @"");第2引数はいらないらしい。あと調べていて見つけたのが、アプリを初めて申請するときに聞かれてくる「Primary Language」はEnglishにしないとめんどくさいことになりそう。これからiPhoneアプリを作ろうと思っている人へのアドバイス

【iPhoneアプリ開発】Xcodeでビルド時にInfo.plistのWarning

iPhone/iPod touchアプリの開発時にファイルのディレクトリ(フォルダ)構成が気になっていろいろいじっているときに嵌ったメモ。ビルドすると次のようなメッセージが出るようになってしまった。Warning: The バンドルリソースをコピー build phase contains this target's Info.plist file 'hoge-Info.plist'.調べてみると、ここに答えが。Xcodeでinfo.plistを右クリック → 情報を見る → ターゲットでチェックを外す。そうするとXcodeの左ツリーの「ターゲット」の「バンドルリソースをコピー」から消えているはず。これでビルドすると大丈夫。info.plistをプロジェクトに削除、追加するときは気をつける必要あり。

育児(子育て)で頑張るお母さん向けサイト「teniteo(テニテオ)」の新機能を考えてみる

イメージ
開発で携わっているテニテオ[teniteo]。フリーペーパーと連動しているポータルサイト(前に書いた記事)。地域密着型でクチコミ情報とか見ているだけで面白い。登録ユーザーは多いのだけれど、なかなか利用してくれる人は少ないようなので、毎日使ってもらえるような機能を考えてみた。ざっと挙げると育児日記 成長記録 成長記録(グラフ表示) アルバム コミュニティ 友達検索 あしあと つぶやき機能(Twitter的) 育児日記(ブログ)はよくある機能なので、自分の子供の成長記録を入力できて、体重とか身長とか、それをグラフ化してあげると面白いのではないかと思ったり。何を記録していけばいいかわからなかったので、お嬢様に私立の病院で配られる雪印製の育児日記を貸してもらった。なんとなくイメージはできるけど、お母様方に本当に使ってもらえるかが心配。分かりやすく見栄えのする機能にしないと使ってもらえなさそう。成長記録の機能ははママさんのダイエット(体重管理)にも利用できて便利だと思うんだけどなー。

【PHP】Xampp for linux(Lampp)にXdebugをインストール

Xdebug(本家サイト)を使うとリモートデバッグとかバックトレースが簡単にできて開発効率がよくなるらしいので試しにインストールしてみた。その他デバッグツールとしてはZend Debuggerなどがあるらしい。Zend Debugger, Xdebug, DBGを比較するLamppのインストール、設定に関しては前の記事を参照。peclコマンドが使えるようにxampp-linux-develをインストールしておく。(といっても解凍するだけ。詳細は前の記事で)必要なツールのインストール
# yum install autoconf gcc# cd /opt/lampp/bin/# ./pecl install Xdebug完了するとYou should add "extension=xdebug.so" to php.iniと言われるので、php.iniに追加してXamppを再起動すると次のエラーが出てう。PHP Warning:  Xdebug MUST be loaded as a Zend extension in Unknown on line 0調べてみるとzend_extensionに変更すれば良さそうなので、php.iniの最後([Zend]ディレクティブ)に次のように記述。zend_extension="/opt/lampp/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so"Lamppを再起動して、phpinfo()を出力してXdebugの項目が表示されていれば成功次はEclipseを使ってリモートデバッグを試してみる予定。< 2011/04/25 Revised >
yum install gccを追記。
64bit環境でcompileすると下記エラーがFailed loading /opt/lampp/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so:  /opt/lampp/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so: wrong ELF class: ELFCLASS64Lampp自体が32b…

Pochet wifiでiPod touch、ノートPCを使ってどこでもネット接続

前の記事ではWILLCOMの「どこでもWi-Fi」を使って、どこへ行ってもネット接続ができそうという記事を書いたけど、今度はemobileが似たような製品を出した。Poket Wifi D25HWのんだくれに教えてもらった。彼は既に購入したらしい。料金プランは公式サイトを参考に。引用すると初期費用:5980円月額:1400円~5380円使わなければ1400円で、使ったとしても最大5380円で固定。とてもお手軽な感じ。iPod touchとノートPCは持っているので、これがあればさらに幸せになれるかも。ちなみに公衆無線LANを前に調べたときは価格.comのワイヤレスBBがよさげだった。基本料金が210円で安いし。今のところ必要ではないけれど、そのうち買ってしまうかも。機能については下記記事が分かりやすい。【WoodStreamのデジタルライフ】PocketWiFi D25HW買いました

【PHPチューニング】Zend OptimizerとeAcceleratorで高速化

イメージ
前回はAPCをインストールしてみたけど、APCはZend OptimizerやeAcceleratorと共存できない。Zend OptimizerとeAcceleratorは同時に有効にしても大丈夫らしいので、実際にやってみた。環境はCentOS5, Xampp for linux(lampp)1.7.1(apche2.2.11, php5.2.9)Zend Optimizerは公式サイトから会員登録(無料)してダウンロード。対応しているのがPHP5.2.xまでなのでXamppの1.7.2以上は動かないかも。解凍してインストール# tar xzvf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
# cd ZendOptimizer-3.3.3-linux-glibc23-i386
# ./installこれでインストーラが起動する。install-ttyはテキストベースのインストーラらしい。php.iniの場所とかapachectrlの場所を聞かれるけど、それぞれ/opt/lamppの下にあるのを指定する。成功すると次のようなメッセージが表示される。php.iniは/usr/local/Zend/etc/php.iniに置き換わる(シンボリックリンクになる)。Xamppを再起動して完了。実際に試してみると確かに速くはなっているけど、wordpressの場合はAPCの方が微妙に速い。たぶんrequireが多いからだと思う。この辺はPHPのプログラムによって変わってくるので適宜選択する必要があると思う。

【PHPチューニング】APCをインストールしてWordpressを高速化

イメージ
Xampp for linux(Lampp)の環境にAPC(Alternative PHP Cache)をインストールしたメモ。環境はCentOS5, Xampp for linux 1.7.1(apache2.2.11 PHP5.2.9)Wordpressはプラグインを追加していくと、追加した分だけ遅くなっていく。アクセスした際にwp-load.phpがrequireされるとwp-settings.phpの中で有効なプラグインをrequireしているので、どれが遅いか調べるときはこのループの中でmicrotimeとかで時間を出力すると分かる。APC(Alternative PHP Cache)はphpアクセラレーターの一つ。phpのバイトコンパイルされたコードをキャッシュして高速化する。他の有名どころはeAcceleratorとかZend Optimizerがある。wikipediaeAcceleratorは既にXamppにインストールされているので、php.iniのeAcceleratorのコメントを消して再起動すれば使える。今回はAPCをインストール。まずは開発環境を整える。xampp-linux-develは公式サイトからダウンロード(Development package)# cd /opt
# tar xzvf xampp-linux-devel-1.7.1.tar.gz# yum install autoconf gccコンパイル環境が整ったのでインストール。今のバージョンは3.0.19。# cd /opt/lampp/bin
# ./pecl install APCphp.iniにextension="apc.so"を追記。これでxamppを再起動。プラグインを読み込むrequireの処理が劇的に速くなった。全体(体感)的には2倍ぐらい高速化した感じ。apcの設定はPHP マニュアルを参考に。同封されているapc.phpというのでキャッシュ状態を参照できるとPHPマニュアルにあったので、ここからソースをダウンロードしてきてapc.phpを表示してみた。(コンパイル時にどこかのディレクトリに配置されているかも)apc.shm_sizeを設定する参考情報に利用できそう。次回はeAccelerator + Zend Opt…

Google Adsenseで稼げるのか?Bloggerに導入してみた

イメージ
読みづらくなるのでGoogle Adsenseの導入を躊躇していたけど、管理するのにどういった感じになるか知りたくなったので、このブログにも配置してみた。登録するのはGmailアカウントを持っていれば簡単。公式サイトからログインしてウィザード形式で進めていけば終了。登録するときは事前にどこに配置するかを申請する必要あり。登録後は審査(?)があって、それが終われば通知が来て使えるようになる。このブログみたいにBloggerの場合は「レイアウト」から選択するだけで導入完了。配置する場所によってクリックされる確率が変わってくるらしいけど、読み手の邪魔にならないように下の方に配置した。管理するのはAdsenseの管理画面で詳細が分かるけど、Google Analyticsと連携すれば便利。やり方はAdsenseの管理にリンクが出てくるのでウィザード形式に従って導入すれば完了。広告料はクリックされないと入らないと思っていたけど、表示回数で料金をGetできる形態もあるらしい。CPM(Cost Per Mile)CPMで料金が発生する広告は限られているので、単純に閲覧回数が多いからといってたくさんのCPMが入るわけではないらしい。しかもクリックによる課金に比べ単価が極端に低いので、単純に広告料が欲しいならクリックをねらった方が断然いい。稼ぐつもりは(今のところ)ないけど、放置状態でどれくらいになるだろうか。

BloggerとTwitterの連携。記事を自動でつぶやくように設定

今更ながらのTwitter。アカウントを作ったまま放置状態でしたが、調査する機会があったので導入してみた。Bloggerに投稿した記事を自動でつぶやくように設定するにはFriendFeedというサービスを使うといいらしい。詳細は下記サイトを参考にIDEA*IDEA ブログの更新情報は『Friendfeed』で流すことにしたTwitterの投稿をBloggerのガジェットとして表示するには下記記事を参考にすると簡単に導入できる。クリボウの Blogger Tips  Blogger 用 Twitter バッジこれでTwitterも有効活用できる感じで、なんか満足。

Picasaウェブアルバムの容量を増やして「名前タグ」を試す

イメージ
前の記事で、iPod touchの写真管理をなんとかしたいと調べはじめて、写真は全てPicasa関連(ソフト+ウェブアルバム)で管理していく方針にした。手始めにデフォルトは容量が1Gしかないので購入して20Gにしてみた。今は値下げされて20Gにするのに年間5ドルなので、500円もかからない。Google Chrome OSが登場すれば、Googleからストレージサービスが提供されると思うので、今買っておいても損はない(と思う)。安いし。支払いはGoogle Checkoutを使うのでクレジットカードを持っていれば簡単に終了する。購入後、画面に反映されるまで1~2時間かかるようなので、写真をアップしながら待つ。反映されるとGmailの容量も20G増えている。Picasaと共用しているみたい。あとはPicasa3でアップロード。アップロードしている間、暇だったので、新しく機能追加された「名前タグ」を試してみた。画像から顔を自動判別してくれて、名前を付けて管理できるらしい。実際やってみると意外におもしろい。ある程度同じ顔を同一人物として認識してくれるのに驚くけど、全ての写真から自分の写真のみを抜き出して一覧表示してみると、いろんな自分を一度に表示できておもしろい。デスクトップ版のPicasa 3.5からクライアントでも使えるらしい。あと前の記事で紹介したGladinetというソフトを使うと、Picasaウェブアルバムをローカルにマウントできるので、アルバムが多くなってきたときに便利。アルバム名の変更と削除などが簡単にできる。アルバム名を変更すると反映されるまで時間がかかるみたい。まずはこれらを駆使してPicasaウェブアルバムを分かりやすく整理しないと。

iPod touchで写真の管理を考えてみる(Picasaと連携?)

iPod touchを買って(買ったときの記事)、今までの写真をiTunes経由で同期して、他の人に見せて喜んでいたけど、デフォルトの写真アプリとiTunesの管理方法がうまくない。まず現状の不満から。iTunesで写真をコピーするのはフォルダごとの同期のみしかできない(個別に写真をコピーできない)。 iPod touchにコピーしたあとは各フォルダがアルバム名になってしまうので、階層になっているフォルダの写真は一つのアルバムに収まってしまう。 iPod touchのアルバム名が変えられない。 写真アプリの表示は高速で使いやすいけど、一つのアルバムに大量に写真があると一番最後の写真にたどり着くのが大変 写真アプリで表示の並べ替えができない。 iPhotoがあれば全て解決する予感がするけど、Windows版がないのでとりあえず除外。WindowsでiPhone/iPod touchの画像をiTunesなしで管理できる「CopyTrans Photo」というソフトがあるけど有料(3480円)。無償版はコピーした画像にロゴが入るらしい。で、デフォルト写真アプリの表示速度で、個別にフォルダ管理できるアプリがないかとapp storeで探してみると意外にない。一番良さそうなのが「ePhotoChest」。無料なので試してみると、フォルダ分けは管理できるけど一覧をすぃ~とスクロールできなので、その辺が不満。大量の画像をコピーするのも大変。なるべく写真管理の手間を省いて、大量の写真を見たいときにみるようにするには、Picasaとうまいこと連携できないかなとさらに調べてみた。イメージとしてはPicasa 3(PC) ←→ Picasa ウェブアルバム ←→ iPod touchPicasaウェブアルバムが結構良くできていて、iPod touchのsafariで見ると使いやすいように表示してくれる。wifiがある環境ならこれで十分。しかし、wifiがないときでも友達に写真を見せたいので、Picasaウェブアルバムと同期をとるのがいい。そんな同期をしてくれるアプリは一応ある。「Portfolio」というiPhoneアプリ。これが600円もする。200円ぐらいなら買ったのにー。自分で作る?

LinuxベースのコンパクトPC「Chumby one」

イメージ
前の記事で紹介してたChumbyが高速化+お値打ち価格になって登場するみたい。新型chumby oneが米国で発売、高速化してお値段99.95ドルなんといっても特徴はコンパクトなボディ+Linux+安さ。日本で発売されるときは1万ぐらいになるのかな・・・。chumbyの日本語公式サイトはこちら。カードリーダーとして使ったり、webカメラのライブ配信に使ったりとアイデアしだいでいろいろできそう。詳細はこちら

iPod touch/iPhoneで画面のスクリーンショットを撮る方法

調べてみたらサクッと分かったのでメモ。電源(スリープ)ボタンを押しながら、Homeボタン(正面の丸ボタン)を押すと画面が一瞬フラッシュして「写真」アプリの「保存された画像」に保存される。PCに送るときは写真を表示されておいて、メールで送信すればOK.Google Mapで行き先の地図を撮っておくような使い方ができそう。

iPhone/iPod touchを外部ストレージとするアプリを探す

イメージ
iPod touchを買って(買ったときの記事PDAとして使おうと思ったときのメモ。イメージとしては、せっかくwi-fiがあるのでWindowsからiPod touchの共有フォルダにファイルを転送できればいいなと思っていたけど、いいアプリが見あたらない。iPhoneアプリ版sambaはすでにありそうな気がしてたけど、GPLだからライセンス的に難しいのかな・・・。いろいろ調べた結果良さそうなのが「Good Reader」というアプリ。評価もいいし¥115と安いので試しにインストールしてみると確かに使いやすい。詳しくは他のブログでたくさん紹介されているのでそちらを参考に。Good Reader がすごすぎなのはなんで?簡易まとめファイルを転送するやり方もWebブラウザ経由とUSB経由と用意されているのがGood。Webブラウザ経由の場合はGood Reader側で待ち受け状態にして、ブラウザでアクセスする(URLは画面に表示される)と次のような画面になってファイルをアップロードできる。USB経由の場合は専用ソフトを使う。ダウンロードはこちらから。iPod touchをUSBで接続してドラッグ&ドロップすれば終了。まとめてアップロードできるので、主にこっちを使用中。あと試したアプリは「MobileStudio」。¥230ファイル転送はFTPを使う。ファイルの作成、編集ができるし、画像の加工もできるけど、Good Readerがあれば出番が(今のところ)ない。

携帯電話の連絡先をGoogleのContacts(連絡先)にインポート

イメージ
iPod touchの連絡先を「Google Sync」を使ってGoogleの連絡先と同期するように設定したけど(前の記事を参照)、今度は携帯(docomo)の電話帳とGoogleの連絡先を同期できないものかと調べてみた。今のところ、Android携帯やiPhoneでないとやっぱりできないみたい。でも、今の電話帳をCSVでエクスポートしてGoogleの連絡先にインポートするやり方は分かったのでメモ。携帯の電話帳はドコモケータイdatalinkを使ってエクスポートする。ファイル→エクスポート→CSVから出力した電話帳をそのまま取り込もうとしたら名前やメールアドレスの項目にうまいこと入ってくれなかったので、下記を参考にカラムを修正する。Gmailヘルプ CSV ファイルの作成や編集例えば次のようなCSVにする。NameYomi NameGiven Name YomiFamily Name Yomi鈴木 太郎スズキ タロウ続き1E-mail 1 - TypeE-mail 1 - ValuePhone 1 – Type* Othertest@gmail.comMobile続き2Phone 1 - ValueCustom Field 1 - TypeCustom Field 1 - Value09012345678グループ友達これをインポートすると、下のようにある程度「いい感じ」にインポートできる。インポートするときは新しいグループを作成して、「インポートした連絡先に次にも追加」で選択すると失敗したときでも管理が楽。あとPHPでもGoogle Contacts Data APIを利用して追加・削除できるみたいなので、プログラムで細かい制御(プレビュー、マージ)などもできそう。PHP アプリケーションを Google Contacts と統合するインポートしたとしてもMyコンタクトに追加されないので、iPod touchの連絡先には出てくれない。検索はできるけど。グループを一括で選択してMyコンタクトに追加できるようにしてほしい。この辺はGoogleが機能改善を待つのみか。ちなみにiPod touchの連絡先には編集しているWebブラウザを閉じてしばらくしないと反映されないみたい(試した感じだと)。その他何とかしたい点名と姓がiPod touchでみると逆になる Given…

Windows XP用Bluetoothオーディオプロファイル(A2DP)を探す

前に買ったBluetoothヘッドセットBT530とPCを接続するためにBluetooth USB アダプタ「BT-MicroEDR2」を買ったのだけど、こいつに標準でついているドライバが変な動き(勝手に接続する)をするので他のドライバがないか調べたメモ。Windows XP SP2以上は標準でBluetoothドライバを持っているらしいので調べてみたら、肝心なオーディオプロファイル(A2DP)は対応していないらしい。ちなみにWindows 7はA2DPプロファイルが標準でサポートされているらしい。しょうがないので、付属しているドライバを調査。どうやら「Bluetooth Stack for Windows by TOSHIBA」というドライバ群を使っているようなので(Bluetooth Stackというらしい)、最新版がないか検索してみると・・・あった。TOSHIBA Bluetooth Software Downloadここのメモも参考になるかもしれない。ダウンロードしたバージョンは6.40.02TOSHIBA notebooks only!と書いてある・・・、30日経つと他のデバイスだと有効期限が切れるらしい。一応インストールとペアリングは出来た。今度はBlueSoleilというBluetoothスタックを試してみようかな。無償版は制限があるらしい。ここのブログが詳しい。

【iPod touch】メール/連絡先/カレンダーのGoogle Apps同期設定

イメージ
iPod touchとgoogleのサービスを同期するためのメモ。「Google Sync」というサービスを使うとできる。iPod touchでのやり方はここを参考に。独自ドメインの場合も基本的に変わらない。設定→メール/連絡先/カレンダー→アカウントの追加→Exchageを選択。「メール」には任意に分かりやすい名前を入力 「ユーザ名」はGmailおよび独自ドメインのメールアドレスを入力。「パスワード」も同様 「ドメイン」は未入力 「サーバ」は「m.google.com」を入力 これで同期完了。Exchangeの設定は1つしかできないのでgmailアカウントとgoogle appsを使い分けている場合はどちらを設定するか悩む(←私)。私の場合は独自ドメインのアドレスを設定して、gmailアカウントはカレンダーだけ参照設定するようにした。カレンダーを参照設定するには、設定→メール/連絡先/カレンダー→アカウントの追加→その他→照会するカレンダーを追加を選択。限定公開URLのICALアドレスを入力すれば完了。ICALアドレスをメールで送ってiPod touchでみると「照会するカレンダーとして追加しますか?」と聞いてくれるのでこっちの方が楽かも。「日本の祝日」をとりあえず設定しておくといいかも。icalアドレスはこちら。Goolgeの連絡先(Google Contacts)をメンテナンスするようにしようかな。少しずつiPod touchが使いやすくなってきた。(2011/03/11 追記)「日本の祝日」はicalで指定しなくてもGoogle calendarの管理画面から追加できる。あと、ipod touchでデフォルトカレンダー以外を表示する場合はGoogle Syncを英語版にすることで同期できることを知った。こちらのブログを参考に。iPod touchのsafariでhttp://m.google.com/syncにアクセス言語をEnglish(US)に変更同期するデバイス → 同期するカレンダーを選択

MySQLのチューニングメモ

MySQLのメモリーバッファサイズやキャッシュサイズを設定したメモ。環境はCentOS 5, Xampp for linux(lampp) 1.7.1下記サイトにmy.cnfのサンプルがあるので参考に。My.cnfサンプルちなみにMySQLのデフォルトはMyISAM(まいあいさむ)。トランザクション機能がない代わりに読み出しが非常に高速。設定のポイントは、webのバックエンドとして動作する場合、頻繁にDBへのアクセスが発生するためtable_cacheを出来るだけ大きくすること。MySQL でのテーブルのオープンとクローズの方法その他のパラメータの説明は下記サイトを参考に。[AllAbount]MySQLのチューニング< 2011/06/23 Modified >
役に立ちそうなSiteを見つけた
DSAS開発者の部屋:5分でできる、MySQLのメモリ関係のチューニング!

連休はOB会で東京へ(宿泊場所を探す)

連休は大学空手部のOB会に行くことになり東京へ。大学は学園祭。合宿で先輩や後輩に会っていたので、そんなに久しぶりという感じはしない。せっかく行くので本部道場の稽古に参加して汗を流す予定。飲み会は相変わらずな感じになると思うけど、心配なのが寝る場所。前は大学の講堂やマンガ喫茶で夜露を凌いでいたけど、そろそろ老体にはきつくなってきた。普通に(お金が掛かってもいいから)ベッドで体力回復に努めたい。イメージとしては、名古屋のウェルビー(WELLBE)みたいなところがベスト。だけど東京では展開してないみたい。たぶん探せば似たようなところがあると思うけど、大学の近くや新宿あたりではなさそう(?)普通にビジネス(カプセル)ホテルにするか、マンガ喫茶にするか迷い中。もう年だし、飲んだくれて暴走しないようにしよう。

Mac用TortoiseSVN的Subversionクライアントを探す

イメージ
WindowsではSubversionのクライアントとしてTortoiseSVNを使ってますが、Macの場合は「Versions」というソフトが使いやすそうなのでインストールしてみた。ダウンロードは公式サイトの右上のDownloadから。zip形式なので解凍して、適宜アプリケーションなどに移動して実行。新たにチェックアウトする場合は「Repository」を選択する。既にチェックアウトしてあるフォルダをVersionsに登録する場合は「Working Copy」から。専用のウィンドウで作業するけど、直感的で使いやすい。しかし、フリーソフトだと思って使っていたら最近有料化したらしい。orzフリーソフトだと「scplugin」というのがあるらしいけど、諦めて、素直に開発用のフォルダの共有かけて、WindowsからTortoiseSVNで管理することにした。Windowsのネットワークドライブに割り当てて利用しないと嵌るかも(前の記事を参照)VNCを利用すれば(これも前の記事を参考に)Windowsから全てできるようになって幸せになれる。<2010/06/17 追記>
Mac miniが欲しくなって、改めて探してみた。SvnXがよさそう。なぜ見つけれなかったのか。

高級靴クリームの「サフィール」(革靴のお手入れ)

エクスブリッジのWS事業部で絡んだらしいので紹介。ビジネスマンなら誰でもお世話になる革靴。その手入れをするための靴クリームの専門店「サフィール」。高級靴クリームの4大ブランドの一つらしい。靴クリームだけでなく、ブラシや防水するためのスプレー、クリームも扱っている。革靴の手入れ方法も記載されているので参考に。基本は技術ですが、客先への訪問も多いので手入れを忘れないようにしないと。

【Objective-C】「json-framework」をインストール、設定

イメージ
iPhone/iPod touchアプリの開発でサーバーと通信する手段としてJSONを使おうと思いインストール、設定したメモ。JSONを使えるようにするライブラリとしてBSJSONAdditionsTouchCodeのTouchJSON(MIT ライセンスjson-frameworkNew BSDライセンス) がある。比較した人のブログも参考に。今回はjson-frameworkを導入。以下やり方。基本的にはwikiに書いてある(英語)JSON_2.2.2.dmgをダウンロードしてMacで実行。SDKsディレクトリを/Developper/Libraryにドラッグ&ドロップでコピー設定したいXcodeプロジェクトのプロジェクト→プロジェクトの設定を編集→ビルド→アーキテクチャの「追加SDK」の値をダブルクリックして以下を追記/Developer/Library/SDKs/JSON/${PLATFORM_NAME}.sdk$HOMEはユーザーのホームディレクトリに変換されるのでパスが通らないと思う。さらにリンクの「他のリンクフラグ」に以下を追記-ObjC -ljsonこれでインストールは完了。試すときは#import <JSON/JSON.h>をしといて、次のようなサンプルコードで確認。NSString *jsonData = @"{\"name\":\"suganuma\",\"age\":29}";
NSDictionary *jsonItem = [jsonData JSONValue];
NSLog(@"%@", jsonItem);NSLogの結果はデバッガコンソールに出力される。参考にしたのはここのブログとか

iPhone/iPod touchアプリの開発を始めるための参考情報

イメージ
改めて参考になりそうな情報を集めてみたのでメモ。まずは下記連載を一読する。基本的なことやSDKやApp Storeに登録することなど分かりやすいと思う。目指せ!iPhoneアプリ開発エキスパートその次は@ITの記事も覗いてみる。iPhone開発入門流れを書くとMacを手に入れる Apple IDを取得する(無料) AppleのDev CenterからiPhone SDKをダウンロード、インストール あとはサンプルプログラムを動かすなりして慣れる Objective-Cのコーディング規約は下記サイトを参考に。Google Objective-C Style Guide(英語)Google Objective-C Style Guide(日本語訳)[Apple Developer Center]Coding Guidelines for Cocoa(英語)インデントはタグではなくスペースを使うのでXcodeの環境設定から次のように変更する。ページガイドも表示するように設定する。コーディング規約は初めの頃は意味が分からなくても慣れてくると分かってくる。作りながら見直していくのが近道。あとはサンプルコードやマニュアルを見ながら覚えていく。【Appli Developer Connection】iPhone OS Reference Libraryただしautorelease(メモリ管理)に関しては、しっかり理解しておく必要がありそう。初心者用の本を買うのもいいけど、下記ドキュメントで基礎は分かるんじゃないかな?(他の言語をある程度習得していれば)【Apple Developer Connection】Objective-C 2.0プログラミング言語

iPhoneアプリでバーコードを読み取れる機能を考えてみる

iPhoneでバーコードを読み取るアプリはありますが、それを作ろうと思って調査。ますiPhoneのカメラの制度は良くないらしく、普通に撮ってもうまく認識してくれないらしい。100円の虫眼鏡を使うとうまく撮れるみたい。この辺はGoogle先生に聞くといろいろ出てくる。さて、iPhone/iPod touchのアプリでバーコードを読み取ろうとすると、画像を解析して黒と白の線の幅を取得しないといけない。フリーのライブラリはあるけど、だいたいがGPLライセンスなのでiPhoneアプリでは使えない。(使った場合はアプリと一緒にソースコードを配布しないといけない。)例えばzebraというオープンソースのライブラリがある。GPL。実際にコンパイルしてObjective-cで使ってみた人のブログライセンス的に大丈夫でいいライブラリはないものかと探してみたら、一番良さそうなのが「ZXing」というライブラリ。Google codeのプロジェクトページ。Apache License 2.0なのでリファレンスに著作権表示と免責事項を表示すればOK。詳しくはwikipediaで。だけど、iPhoneはQRコードだけと書いてある。実際に「Barcodes」という無料のiPhoneアプリがこのライブラリを使っているみたい。Androidの場合は手順がマニュアルに書いてあるので、あまり苦労せずに実現できそう。やってみた人のブログImagemagickを使って、画像解析からやるのはさすがに骨が折れそう。

HELIOS.CoTVのiPhone/iPod touchのsafari対応

前にバージョンを上げた動画配信システム「Helios.CoTV」。iPod touchを手に入れたので、iPod touchのsafariで見たときでも動画を再生できるようにしてみた。iPhone/iPod touch用の動画を作成するのは元々できていたので、iPhone/iPod touchがアクセスしたときにflashを使わずembedタグを挿入するようにした。iPhone/iPod touchで再生できる動画の形式はそれぞれの公式ページに記載があるので参考に。embedタグは次のような感じで埋め込む。<embed width="640" height="480" href="<再生する動画のURL>" type="video/mp4" target="myself" src="<サムネイル画像のURL”/> これで再生はできるけど、PC用の画面レイアウトなのでちょっと使い勝手は悪い。この辺はiPhoneApp.CoTV(←iPhoneアプリ版CoTV)でカバーする予定。

WindowsからMacにVNCで接続すると「=」と「’」が入力できない

前の記事でMacの画面共有を設定して、WindowsからVNCで接続できるようにしたけど、なぜかVNC viewerで接続中に「=」(イコール)と「’」(シングルクウォテーション)が入力できない。「+」と「”」になる。あと、Optionキーも使えなかった(macキーになる)。PC切替器(EIZO i・Switch UP2ex)を使っているので別に問題ないといえばないのだけれど、一応調査。分かったこと。他のマシン(Windows XP, Windows 2003 Server)からでも同じ症状 iPod touchの「Mocha VNC Lite」で接続すると入力できた キーボードビューアで入力しようと思ったけど、VNCで接続しているとキーボードビューアをクリックしても反応しない(なぜ?) 今度は文字ビューアで入力しようとするとなぜか「=」と「’」は挿入できない。 RealVNC, UltraVNC, TightVNCで試したけど同じ うーん。不思議。しかもGoogle先生に聞いてみても他に同じような現象で困っている人がいない・・・。環境の問題ですか?さらに今度はVNC ServerをMacにインストールして試してみた。Vine ServerというのがMac用のVNC Serverとして有名らしい。現在の最新バージョンは3.1。sourceforgeではなかったのでここからダウンロード。dmg形式をmacで開くと「Vine Server.app」と「Vine Viewer.app」があるのでserverをダブルクリックで実行。・・・その前に画面共有を停止しておくのを忘れずに。導入は簡単。いざWindowsからアクセスしてみるとやっぱり「=」が入力できないorz・・・諦めました。どうしても入力したい場合は下のような方法で一応できる。他のソースからコピーする 「ことえり」の単語登録でよみ「++」、単語「=」で登録して使う <2010/06/22 追記>
通りすがりの方がコメントに書いてくれましたが、Vine ServerのKeybordの設定を「Current Layout」変更すると入力出来ることをMac serverで確認。さらにPreferences ⇒ Startupで「Start server when・・・」のチェックを外し、System Server…

iPod touch 第2世代 32GB MC008J/Aを買った

我慢できなくなって買ってしまった。本当はiPhoneが欲しかったのだけれど、月々の料金やdocomoの家族割を解約するのとかを考えると踏み切れなかった。日常生活はP906iとJabra BT530で十分なので、iPod touchは遊びやPDA的な使い方になると思う。あと仕事(開発)にも絡むし。最初手にしたときは触っているだけで楽しい。だけど、そのあとどうやって有効活用しようかと悩む。とりあえず使い方を学ぶところから。携帯のように分厚い説明書は付属してないので、ネットで使い方を勉強する。まずは下記。iPod touch 使い方解説一覧 - できるネット+(できるネットプラス)今後もiPod touchネタは増えていきそう。関係ないけど、やっぱりカバー(ケース)を買ってしまったのでメモ。やっぱり指紋が着くと目立つし気になりますね。シリコンケース 液晶保護フィルム付 BSIP3T01BK(液晶保護)アンチグレアフィルムセット for iPod touch 2ndこの組み合わせでかなり満足。フィルムを貼るときはしっかりホコリを取ることと気泡が入らないように端からゆっくり貼るのがポイント。<2009/12/27 追記>シリコンケースがちょっと緩いので(かばんに押し込んだときに取れる)、評判のいいこっちのシリコンケースがいいかも。

動画共有配信システムHELIOS.CoTVをバージョンアップ

イメージ
長い沈黙を破り動画共有配信システムHELIOS.CoTVをバージョンアップ。ちょこちょこと修正していましたが、区切りがいいところまで来たのでリリースしました。機能的には、まだ盛り込みたいアイデアはたくさんありますが。今回はユーザーインタフェースの大幅な見直し。前の画面よりは大分使いやすくなっていると思う。ちなみに前のバージョンは下のような感じでした。

【CentOS】システムのロケール(locale)を設定する

さくら専用サーバーをレンタルして、セットアップしているときに気付いたのでメモ。環境はCentOS 5.3PostgreSQLをインストールした後、新しくDBを追加するとロケールの違いで怒られた。initDBするときにlocaleを設定すれば解決なのだけれど、OSのロケール自体を変更。ロケールの設定は/etc/sysconfig/i18n$ vi /etc/sysconfig/i18nLANG="ja_JP.UTF-8"これで再度ログインすればOK。元はなぜか「LANG="C"」だった。initDBはやり直し。PostgreSQLのインストールは前の記事を参考に。

商用のiPhoneアプリでGoogle Mapを使用するのは大丈夫か?

仕事で調べることがあったのでメモ。iPhoneアプリのSDKでもMap Kitとして使えるようになっているし、Google Mapを使ったiPhoneアプリも多数あるので、企業でGoogle Mapと連動したiPhoneアプリを作成するときにGoogleに対して課金する必要はないと思うのだけれど、作ってから「やっぱ駄目でした」とならないために。結論から書くと「誰もが使いたいと思ったときにすぐ使える状態ならば大丈夫」らしい。iPhoneアプリ向けの規約はここにある(英文)。日本語情報は下記サイトが分かりやすい。[iPhone]iPhone用有料アプリにおけるYouTube API/MapKitの使用可否についてGoogleマップの利用規約について(まとめ)Google Maps APIのFAQも参考に。

【Mac】WindowsからMacの共有フォルダにアクセスする

イメージ
環境はMac OS X 10.5.8(Leopard)システム環境設定→共有を開く。ファイル共有にチェックして右下のオプションを開く。Sambaを使ってWindowsと共有するので、「SMBを使用・・・」にチェックをして、下のアクセスするアカウントを選択する。パスワードを入力すれば完了。Windowsから「\\(IPアドレス)」でアクセスできるはず。ちなみにNetBIOS名は共有の設定画面上部にある「編集」から変更できる。Macで特定のフォルダを共有にしたい場合は右クリック→情報をみる→共有フォルダにチェック。

【Mac】WindowsからMacにリモート接続(画面共有)する

イメージ
「システム環境設定」をいじるだけでできた。環境はMac OS X 10.5.8(Leopard)以下やり方システム環境設定→共有。「画面共有にチェック」して「コンピュータ設定」を開く。「他のユーザ・・・」と「VNC・・・」にチェックして、VNCでログインするためのパスワードを設定。Mac側は基本これでOK。念のため、システム環境設定→セキュリティ→ファイヤーウォールも制限かけてないかチェックしておく。Windows側からはVNCを使う。インストールが必要ないVNC Viewerというのがあるので、ここからダウンロード。フリーだけど会員登録が必要。Vectorからダウンロード・インストールしても大丈夫だと思う。ここから。VNC Viewerをダウンロードしたら早速実行。Macに接続するためには、Optionsを選択してColour levelをFull(all available colours)にしないと強制終了する。選択したら「Load/Save」タブのDefaultsのSaveをしておくと次回からデフォルトになる。あとはMacのIPアドレスと設定したパスワードを入れれば接続できるはず。ちなみに(デフォルトでは)F8キーを押すとメニューが出てくるので「Full screen」にすると全画面になって便利。戻るときもF8キーでメニューを出す。<2009/11/11 追記>Windows側でクリップボードにコピーするとVNCがうまく扱えないみたいでコントロールができなくなる。オプションで「send clipboad・・・」をoffにした方がよさそう。<2010/06/23 追記>MacのAppleVNCserverがハングしたらターミナルから$ sudo kill <pid>を入力して再起動させる。

【Wordpress】顔文字(絵文字)を挿入するプラグインの開発

イメージ
独自の顔文字(絵文字)をWordpressで使うプラグインとしてcustom-smilies-seというのをカスタマイズして使ってましたが、たくさんの絵文字を登録すると一覧表示するまで時間が掛かるので、ほとんど新規に作り直してしまった。フリーの絵文字をゲットするには前の記事を参考に。参考にしたのはここのブログ。肝は画像一覧を一枚の背景画像として表示して、透明Gif画像を上から重ねること。結構めんどくさかったのは、複数のGif画像を一枚の画像に結合する作業。私が使ったのはGimp(フリーソフト)。前に紹介した記事。Windows版をダウンロードするのはここから。本体で日本語対応してくれている。作業するときは「グリッドを表示」と「グリッドにスナップ」を有効にして作業するとやりやすい。地道にGif画像を配置していく作業。本当はGifの結合をPHPで自動化したかったけど、結構難しいことが判明。これは諦めた。まぁ表示速度は納得のいくレベルになったので、某ポータルサイトのお母様たちも許してくれると思う。・・・くれるといいな。(リリースはまだ先です)

SQL Server 2000でoffsetがないのでページングをどうするか

昔SQL Server 2000でページングを実装していたときにやった方法をメモ。そのときの環境はSQL Server 2000, IIS, レガシーASP, XML, XSLT。SQL Server 2005ではROW_NUMBERという関数で簡単に実現できるらしい。SQL Server 2000ではoffsetもlimitもないので、TOPとWHERE句でうまいこと出力を制限するやり方が一般的。ここを参照。私の場合はカーソル(cursor)と変数テーブルを使って実装していた。(カーソルを使うとfor文みたいな繰り返し処理ができる)方法としては条件で絞り込んだ(プライマリ)キー情報を取得するSQLをカーソルで定義する。offsetはFETCH absoluteで代替。FETCH nextでループしながら変数テーブルにinsertしていく、同時に行数をカウントしてlimitまでいったら終了。この最小のテーブルと他のテーブルと結合して欲しい情報を出力。ポイントはカーソルとして定義するSQLでWHERE句を指定しきることと、変数テーブルに挿入する情報は(インデックスを使えるように)最小の情報にとどめること。さらに情報が欲しい場合は最後の結合で同じテーブルと結合し直す。この辺はクエリアナライザで実行プランを眺めながらやると、最適解が得られると思う。こんなめんどくさいことをやらなくてもいいような気がするが、昔自分が悩んで辿り着いた方法なので、どっかで役に立つことがあるかも。

詰め替えインクの安いネットショップ

エクスブリッジのWS事業部の仕事で絡んだらしいので紹介。個人的にも知人の手伝いで、パンフレットとかチラシ的なものを作ったりするのでメモを兼ねて。【半額インク】 楽天ショップYahooショッププリンタの詰め替えインクを激安で販売している。最近は純正品でなくても、品質はほとんど変わらないのでお勧め。ちなみに私が使っているプリンタはエプソンEP-901A。印刷速度や品質は素晴らしいが、やっぱり背面給紙がないと厚い紙や特殊な紙で印刷しようとしたときにずれたり、給紙してくれなかったりする(ドライバの設定で少し改善可能)。しばらくは今のプリンタに活躍してもらうので、詰め替えインクも何度かお世話になると思う。

Google Analyticsの携帯対応。ついにこの日が・・・

Google Analyticsが機能追加されて、モバイル(携帯)でもアクセス解析できる仕組みを提供してくれるらしい。「Google Analytics」に新機能--モバイルに向けた取り組みあと「数週間以内に」提供されるらしい。もちろんJavaScriptを使わないやり方で、サーバーからGoogle Analyticsのサーバーへ端末情報を送信しないといけないので、埋め込むコードは長くなりそう。また提供されたら調査予定。

新しくなったMac miniが欲しい

Mac miniがモデルチェンジして発売されるらしい。CPUやメモリ容量を強化した小型デスクトップPC――「Mac mini」社内にMac miniが一台あるけど、自宅でiPhoneアプリの開発とかしてみたいので購入を考えてみたり。さらにMac ServerがプリインストールされたMac miniも発売されるらしいので、もしかしてMac ServerとiPod touch、iPhoneと連携して面白いことができるのではないかと調べてみたり。Mobile Access Serverを使うと外部からサーバーのコンテンツにアクセスできるらしいけど、いまいち使い方が見えてこない・・・。あと、全社的にiPhoneを導入するときの管理ツールがあるみたい。この辺はまだ発展途上な感じ。例えば端末の位置をGoogle Map上に表示したり 端末の使用状況をグラフ化したり 選択した端末にインスタントメッセージを送信したり リモートで操作不能にできたり というようなことができたらいいなと妄想してみた。メディアサーバーとするならば、PC+PS3+PSPの方がいい気がする。安くすむし。iPhoneアプリの仕事を受注したら買おうかな。さいごにWindows7とSnow Leopardの比較記事があったのでメモ。「Windows 7」VS「Snow Leopard」パフォーマンス比較--新OS対決を制したのは

IBM Lotus Domino Server 8.5をインストールしてみた

イメージ
Notes(Domino)のデータとPHPを連携したくて調査したときのメモ。今回はDomino Serverをインストールしてみた。バージョンは8.5Lotus Notes/DominoはIBMが開発・販売しているグループウェアで大企業中心に採用されている。詳しくはwikipediaでよくお客様から「ノーツのデータと連携できないか?」と相談を受ける。この機会にしっかり(ある程度は)調査する(つもり)。インストール・導入ガイドはIBMのページからダウンロードしてくる。その他の技術文書はこの辺から探す。IBM Lotus Domino 8.5 Server インストールガイド (Windows版)Lotus Domino 7 導入ガイド -Windows編 第2版-評価版はここのページからダウンロード。上のインストールガイド通りにやればできるけど、設定した値はメモをとりながらやった方がよい。Lotus Domino Administratorでアクセスしたときに分からなくなる。VMware ESXiで試しているときはDomino Serverをインストール直後(設定前)の時点でスナップショットをとっておくと楽。以下は自分用(あくまでも評価用)のメモとして。ハードコピーはマニュアルから引用。なんとなくディレクトリサービスは有効にした。ネットワークの詳細設定でホスト名の編集するのを忘れずに。NetBIOSは有効のままにした。設定後はクライアントとホストのhostsファイルを編集して、入力したホスト名で名前解決できるようにした。最初はこのネットワークの設定をやり忘れて、Domino Administratorでアクセスしたときに「エラー:認証できる相互認証がサーバーの Domino ディレクトリにありません。」と怒られ続けた。Domino Serverをインストール・設定した後はDomino Administratorで管理する。評価版はさっきと同じここから。初回起動時にDomino Serverの場所を聞いてくるので、(hostsに記述した)ホスト名を入力。あとはDomino Administratorでいろいろ試したあとに追記予定。Domino Administratorを再インストールするときはProgram Filesのフォルダごと消さないと前の設定が残るので注意。…

自殺や事故死などの死体処理には「特殊清掃.com」

エクスブリッジのWS事業部が手がけたサイトをご紹介。特殊清掃SOS変死体や腐乱死体があった現場を清掃、消臭、消毒などの作業を行ってくれる。想像しただけでご飯の味が変わってきますが(食事中に執筆)、こういうご時世なので忙しい仕事なのかもしれない。デザイン的には分かりやすく出来ていて見やすい。実家へ帰ったときにはいつも恐いビデオを先輩から見せられるので、「呪怨」や「呪いのビデオシリーズ」を思い出してしまった。できれば除霊もお願いしたい・・・。

【VMware ESXi】仮想マシン(Windows)のハードディスク容量を増やす(拡張)方法

イメージ
前の記事では、VMware Serverで仮想マシンのHDDを拡張する方法を書いたけど、今回はVMware ESXiでやってみたときのメモ。VMware ESXiというよりかはWindowsのパーティションを変更するやり方に近い。VMware ESXiでハードディスクを拡張するのはvSphere Clientから拡張したいディスク容量を入力するだけで終了。スナップショットがある場合は変更できない。ここからはゲストOSに拡張したディスクを認識させる(パーティションの拡張、変更する)やり方。Linux(Cent OS)の場合は、前の記事の内容がそのまま使える。今回やってみたのはWindows Server 2003のCドライブ(システムドライブ)。他のドライブはダイナミックディスクに変換して拡張すれば終了。Cドライブはダイナミックディスクに変換すると下で紹介している変換ツールで拡張できなくなるので注意。(私はこれでやり直す羽目に)ちなみにWindows 2000/XPの場合はフリーソフト(個人利用の場合)を使えば簡単にできる。EASEUS Partition Manager Personal Edition窓の杜の説明ページ)Windows Serverの場合は有償になるので、フリーソフトのGPartedをここからダウンロードしてくる。ISO形式で。クライアントから認識(マウント)させたいけど、ゲストOSが起動してないと駄目なので一度データストアにアップロードしてから認識させる。構成→ストレージ→データストアを右クリック→データストアを参照できたら仮想マシンにマウントする。 仮想マシンンの設定から。「パワーオン時に接続」にチェックするのを忘れずに。(ちなみにこの辺でSnapshotをとっておくと安心して作業できる。)起動したときにCDからブートしてもらうためにBootの順番を入れ替える。起動後にF2を押してBIOS画面に。で起動する。起動後は画面の指示に従って、選択していく。Don’t touch keymap(デフォルト)→言語はJPを選択→(0)start X(デフォルト)。するとこの画面この場合はsda2を「Delete」(sda2がない場合はしなくていい)してsda1を「リサイズ/移動」、「編集」→「保留中の全ての操作を適用する」で完了。Exitをダブルクリ…

PS3で「北斗無双」が2010年発売予定らしい

PS3は欲しいけど、やりたいソフトがないなぁと思っていたら、北斗の拳と三国無双が合体した「北斗無双」が2010年に発売予定というニュースをみた。お前はもう死んでいる!――あの「北斗の拳」と「無双」シリーズが夢のコラボ「北斗無双」発表イベントリポートPS3買うことになりそう。ラオウ外伝とかも出してほしい。ラオウが覇道を進み、天下統一(?)するまでをやりたい。腕を振るうだけで回りが爆ぜていく感じをどう実現するのか楽しみ。<関連記事>ラオウを愛するすべての人へ

Apacheの設定でサーバーメンテナンス中にメッセージを表示

hata坊に言われたので、メンテナンス中に「しばらくお待ちください」の画面を表示するようにしてみた。環境はLampp(Xampp for Linux)のApache.htaccessでうまいことやる方法はこちらのサイトを参考に。今回はapacheのconfファイルでやってみた。VirtualHostで設定している場合の例は次のような感じ。VirtualHostは前の記事を参考に。<VirtualHost *:80>
  DocumentRoot /opt/htdocs
  ServerName hoge.exbridge.jp
ErrorDocument 403 /maintenance.html  <Directory "/opt/htdocs">
    AllowOverride All
Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1 192.168.0. 111.222.111.222
  </Directory> </VirtualHost>通常は青い所を追記すれば大丈夫だと思う。ErrorDocumentで403のエラーになった場合に参照するファイルを指定。この場合は/opt/htdocs/maintenance.htmlを参照する。Order Deny,Allow
Deny from all
Allow from 127.0.0.1 192.168.0. 111.222.111.222この辺で特定のIPアドレスからのアクセスのみに制限する。詳しくはマニュアルで。設定が終わったらapacheを再読込。
# /etc/rc.d/init.d/lampp reloadちなみにmaintenance.htmlの例は次のような感じ。<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" …

Edy、DCMX、iDの違いと実際に試してみた

前の記事FeliCaの技術を調査して興味が沸いたので、実際にEdy, DCMX, iDを試そうと携帯をいじってみた。ちなみに私の携帯はドコモ(Docomo)のP906i。まずはそれぞれの違い。詳しくは名前のリンクからWikipediaを参照。Edy(エディ)電子マネー。まずはチャージしないと使えない。チャージの方法は店とかネット経由とかiアプリでクレジットカードを登録するとかいろいろ。
一時期Edyにチャージするだけでカードのポイントが付いたりと特典がいっぱいだったので一気に広まった。今は(そんな特典がなくなったため?)利用者数は減ったらしい。DCMX(ディーシーエムエックス)後払い制。ケータイ料金と一緒に請求される。携帯料金をクレジットカードで支払っている場合は利用できない。(なので私は使えなかった)。
利用枠が1万円だけど、審査なしで使えるDCMX miniがある。iD(アイディ)後払い制。iDに対応しているクレジットカード会社から「ID」を発行してもらって(携帯にiアプリで登録すると)使えるようになる。携帯電話がクレジットカードになるイメージ。
対応しているクレジットカードは公式サイトで確認。さらに詳しい説明や使い方はこちらのサイトが参考に。私の場合はEdyとiDを登録したけど、Edyは使いそうにないので消した。iDは対応しているクレジットカードを持っていれば、申請してiアプリで登録手続きをすれば、すぐ使えるようになる。ただし本当にサインもなしで買えてしまうので、携帯をなくしたときは気をつける必要あり。ロックを掛けることもできるけど、使いたいときにいちいちパスワードを入力するのが煩わしいので、そこはセキュリティと使いやすさの板挟み。携帯なくした(落とした)ときは次のリンクからサポートセンターに連絡してiDを止めてもらう。届け出をしてから61日まで遡って全額補填されるらしい(イオンiDの場合)。公式サイト(落とした時も安心)イオンクレジットサービス(イオンiD(おサイフケータイ)についてのFAQ)結局それぞれの違いを理解して使えるようになるまで半日ぐらい掛かった。コンビニで初めて「チャリーン!」ってやるとちょっと感動。

Felicaの技術を使ってChumby+Pasoriで認証システムを妄想

イメージ
お客様から教えてもらったFelicaの技術。名前は知っていたけど話を聞いて面白そうなことができそうだったので、調べてみた。FeliCa(フェリカ)は非接触型ICカードのための通信技術。ソニーが開発。カードや携帯電話で利用できる電子マネーのEdyはFelicaの技術を使っている。「おサイフケータイ」でお馴染み。勤怠、入退室管理、認証に使うなら市販のFelica リーダーを使えば簡単に実現できる。例えば、LANに対応Felicaリーダー「ピットタッチ・ビズ」。約6万円なんとなく妄想したのが、携帯で「ピッ!」とやると無線でサーバーと通信してレスポンスを表示するようなシステム。・・・すでにありそうですが。調べてみるとChumbyPasoriSDK for FeliCaで面白そうなことができそう。Chumby(チャンビー)はLinuxベースの小型PC。無線LAN(IEEE 802.11g)とUSBポート(×2)がついている。詳しくはここから。最近日本語に対応した。3万円ぐらい。小さい。いろいろ遊べそう。そのうち新モデルが出るらしい。Pasori(パソリ)はソニーが製造・販売しているUSBタイプのFeliCaリーダー/ライター。3000円ぐらい。SDK For FeliCaはFeliCaを使用したアプリケーションを開発するためのSDK。個人では購入することはできない。特約店経由で購入するらしい。10万以上するらしい。このSDKが一番のネック。フリーで開発できるツールはないものかと探したら一応ある。FeliCa開発環境/まとめを参考に。libpafeはGPLライセンスの元Linuxの環境上でFeliCaの読み取りができる。商用利用を考慮するなら素直にSDK for FeliCaを手に入れた方がよさそう。なんかうまい方法はないものかと調べていくと、最近AIR/FlashでFeliCaにアクセスできるSDKが公開された(2009年8月)。AIR/FlashでFeliCa対応のアプリ開発が可能にFeliCa ランチャーすでにPasoriがある環境なら、Web上での自動認証が可能になりそう。無償版があるので気軽に試せそう。ダウンロードはこちらから。今のところWindows XP/Vistaのみ。Linux向けのSDKを無償で公開してくれないかな・・・。引き続き調査予定。

【Linux】SSHの鍵方式を設定してログインを制限する

イメージ
今までやろうと思ってやらなかった設定。社内からのアクセスのみに制限したい場合はIP制限の方が簡単。やり方は前の記事を参考に。外部からのアクセスをコントロールしたい場合は鍵方式に変更する。公開鍵暗号方式を詳しく知りたい場合はwikipediaを読む。環境はCentOS 5.3、クライアントはTera TermまずはSSHサーバーの設定ファイルを編集してパスワードでログインするのを禁止する。
# vi /etc/ssh/sshd_configPasswordAuthentication no# /etc/rc.d/init.d/sshd restartサーバー側で秘密鍵と公開鍵を作成する。# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):(Enter)
Enter passphrase (empty for no passphrase):(パスフレーズを入力)
Enter same passphrase again:(もう一度)
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.ホームディレクトリに.ssh/id_rsa(秘密鍵)とid_rsa.pub(公開鍵)が作成された。公開鍵を設定する。
# cd .ssh/
# cat id_rsa.pub >> authorized_keys
# chmod 600 authorized_keys
# rm -f id_rsa.pubauthorized_keysは固定。秘密鍵をクライアントに持ってくる。あとはこの秘密鍵を使ってクライアントからアクセスしてみる。ポート(フォイヤーウォール)の設定を忘れずに。hosts.denyしている場合はそっちの設定も忘れずに。ちなみに鍵の生成はTera Termを使っても出来る。Poderosaを使っている場合はこちらのサイトを参考に。鍵の種類は「RSA2」。鍵を生成した後…

台風18号がいつの間にか通り過ぎていった

朝起きて外を見ると雨もほとんど降ってなかったので、「たいしたことなかったな」と思っていたら、たいしたことあったみたいですね。台風18号、長野・飯田付近を北上写真に写っている場所は知ってますし、そんなに遠くない所なのでビックリ。あそこが冠水するということは、さらに低いうちの付近はどうなっていたのだろう・・・。まぁ寝てる間に過ぎていってくれたので良かった良かった。

台風18号がやってくる

最強クラスの台風18号が直撃するらしい。Livedoor 衛生画像明日は会社に来られるだろうか。大雨で腰まで浸かるような経験がないので、ちょっとワクワクしてみたり。

Microsoftから無料のウイルス対策ソフト

イメージ
以前から噂のあった無料のウイルス対策ソフトが先月の30日に公開された。ダウンロードは下記サイトから。ウイルス、スパイウェア、マルウェア対策 | Microsoft Security Essentials対応するOSはWindows XP SP3以上。インストールするだけで更新は自動で行ってくれるので、ほぼ放置で大丈夫らしい。他の評価を読むと有償版と同等の機能があるのでインストールして損はないと。もう少し様子を見て、ウイルス対策はこれ1本で統一しようかな・・・。使っていて一つよく分からない現象が発生。IE8でページ表示が異常に遅くなる。このアプリをインストールしてからなので試しに「コンピューターのファイルおよびプログラムの動作を監視する」のチェックを外してみた。そうすると直ったので、このソフトのせい?flashがあると駄目な気がする。はっきりとこのソフトのせいと分かったわけではないですが、まぁ要注意ということで。

Poderosaの秘密鍵をTeraterm用に変換する

イメージ
Poderosaで生成した秘密鍵をTeratermで指定して接続できなかったので、調べたときのメモ。参考にしたのは下記ブログSSHクライアントの秘密鍵/公開鍵についてまとめ秘密鍵・公開鍵の保存形式は複数あるらしい。形式OpenSSH形式SECSH(ssh.com)形式説明OpenSSHで使用しているフォーマットSSHの本家で使用しているフォーマットクライアントソフトTera TermPoderosaファイルの先頭の記述BEGIN RSA PRIVATE KEYBEGIN SSH2 ENCRYPTED PRIVATE KEY相互変換する場合はPuTTYgenというツールを使う。ダウンロードはここから。ダウンロード、起動してConversions→Import key。あとは変換したい形式に同じようにConversions→Exportする。ちなみにTera Termを使うのはファイルを簡単に転送できるから。たくさんのファイルを転送するときはWinSCPとかFilezillaを使った方がいい。Filezillaで秘密鍵を使った接続を行う方法はここのサイトを参考に。

【Icecast】Winampからストリーミングすると日本語が文字化け

オープンソースの音声ストリーミングサーバー「Icecast」とWinampを連携して音声を配信するときに、MP3のタグ情報が日本語のときに文字化けしてしまうのを何とかしたときのメモ。環境はCentOS5, Winamp + edcastIcecastのコンパイルとインストールはこちらの記事を参考に。ちなみにバージョン2.3.1だと文字化けしないらしい。Icecast + Winamp + edcastの設定はこちらの記事を参考に。基本文字化けはIcecastの設定ファイルのmountタグにcharsetを記述すれば大丈夫。    <mount>
        <mount-name>/stream</mount-name>
        <charset>windows-31j</charset>
    </mount>だけどmountポイントはクライアント側で自由に設定できるので、一致しない可能性が高い。デフォルトのcharsetを指定したいけど、この方法はないらしい。仕方ないのでIcecastのソースファイルを変更することに。変更したのはicecast-2.3.2/src/format_mp3.cの225行目あたり if (format->charset == NULL) //format->charset = strdup ("ISO8859-1"); format->charset = strdup ("windows-31j"); これでコンパイルとインストール
# ./configure
# make
# make installさらにIceSを使ってサーバーのmp3ファイルを再生させている場合は、タグ情報がないとファイル名がtitleになる。このときにファイル名が日本語の場合文字化けするので、IceSのマウントポイントを直接icecast.xmlに設定する。あとices.confに日本語を設定した場合もUTF-8で表示しないと文字化けする。<mount>
    <mount-name>/ic…

自分のブログを製本する

イメージ
Bulogger Buzzで見つけたネタ。ブログを本にしてくれるサービスがあるらしい。Blog2Print対応しているのはBlogger TypepadWordpress実際にこのブログを入力してみた。製本イメージをflashで確認できる。1万3000円ぐらい(131.85ドル)。日本に発送してくるかは不明。デジタル(ダウンロード)形式だと800円ぐらい(7.95ドル)。自分が死んだときに活用してほしいサービス・・・と思った。・・・ここで、「同じサービスが日本でもあるんじゃねぇ?」と思ってGoogle先生に聞いてみた。・・・やはりありました。下記サイトを参考に。ブログ製本サービスの比較まとめサイト1年分のブログをブログ出版局で作った場合の料金は240(20日×12ヶ月)×34円 = 8160円上製本代3800円と送料500円を足して合計12,460円製本代はグレードを下げれば安くできる。これぐらいなら毎年作っても面白いかも。