投稿

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

2010年大晦日。叔父さんになった日

毎年恒例の地元で迎える大晦日。今年の飯田は雪が少ない。おかげで御大の館へも行きやすかった。ちなみに御大の館は年末年始は休まず10:00から営業するみたい。帰省組にとってはありがたい。ただ2時過ぎになると混みだすので、午前中に行くのがおすすめ。その御大の館から帰ってきたら、うちの兄貴からメールがきた「子供が生まれました。なんかゴリラみたいやけども・・・」私が叔父さんになった瞬間です。4人兄弟初の子供なだけにうちの親は大喜び。今後もあーだこーだと兄貴へ連絡がいきそう。・・・頑張れ兄上!さてさて、そんなイベントがあったので当然夕食はその話題でもちきり。といっても4人兄弟のうち私しか地元の帰ってないけど。そして紅白を聞きながら、一年を振り返ってみる。今年は、今までの延長線上を普通に走ってきた。努力してないわけではないし、成長してないわけでもない。これでいいのか悪いのか?そんな感じ。来年は、いろんな変化があるし、たくさんの出会いもありそうなので今から楽しみ。そして、「走りきった」と自信を持ってブログに書ける、そんな一年にしたい。<関連記事>2008年 大晦日2009年大晦日

「SEを極める 50の鉄則」を読んだ

@ITの記事で紹介されていたので、読んでみた。作者がSystem Engineerを経験している方なだけあって、共感できる部分が多数あった。自分がお客様とのやりとりの中で感じたことやSEの仕事をしていく上での「大事なこと」をうまくまとめてくれているので、「やっぱり、そうだよねー」と自分の今までの考え方が肯定されているみたいで嬉しくなった。自己分析するにも役立つし、足りない部分も気付かせてくれた。特に仮に60歳まで働くとすると、7~8年というのはまだ20%にすぎない。まだ80%もある。というのは、「あ、俺まだまだピヨッコじゃん」と楽になったし、まだまだ挑戦できるんだという意欲にもなった。システムエンジニアを目指す人も、活躍している人にもお勧めできる一冊。< 2012/08/31 Modified >
今のSingaporeの会社で肩書きを「System Engineer」にしてもらいながら、ふと「System Engineer」って英語圏で通じるのか?と思って調べてみた。記者の眼 - 「SE」は和製英語にあらず:ITpro一般的ではないみたいなので、聞かれても英語で答えれるようにしといた方がよさそう。

負荷分散とロードバランサ

高負荷が予想されるサービスを提供するときに、どのようなハード構成にしたらいいか悩んだときのメモ。下記ブログを読めば一通り分かる。【LAMPで作るソーシャルアプリの負荷対策 ~アプリとインフラの調和のテクニック~】APCを利用して、DBへのアクセスを軽減するような対策はしたことあるけど、ロードバランサを使って複数サーバーで負荷分散をしたことはない。Linuxの場合はLinux Virtual Server(LVS)という技術を使って、比較的簡単に実現できるみたい。次回はVMwareを利用して、実際にやってみようと思う。<関連記事>【PHPチューニング】APCをインストールしてWordpressを高速化

iTunesで曲管理(アルバムアートワークの入手)

iPod touchを使って曲を聞くようになったので、音楽ファイルの管理はiTunesに任せようとしたときのメモ。アルバムアートワークがiTunes経由で取得できない場合は「Broadway」というソフトを使うとGoogle画像検索から取得して設定することができる。しかも歌詞も検索してiTunesに設定できるので、iPod touchで表示できて(何となく)幸せになれる。「iTunesのお供に~ちゅねとも」でも可能みたいだけど、今のところ出番はない。今までの曲を整理しながら、ちょっとずつ更新していく予定。ちなみにplayerとしては「Quintessential Media Player」の方が好み。たぶんEnhanceしているのかな?QMPでAAC(m4a)ファイルを聞くようにするには、下記からプラグイン(dll)ダウンロードしてきて、pluginsフォルダに置く。RAREWARESのMP4 input plugin for QCD Player<関連記事>MP3音楽ファイルのタグをネット経由で取得してきれいにする

【Windows】システム構成とDirectX診断のコマンドメモ

使いたいときに忘れているWindowsのユーティリティを起動するコマンドメモ。環境はWindows XP。スタート → ファイル名を指定して実行dxdiagDirectX診断ツール
DirectXのバージョンを確認したいときに使う。
ビデオドライバの情報やサウンドドライバの情報がまとまっているので見やすいmsconfigシステム構成ユーティリティ
サービスやスタートアップに登録されているソフトの制御ができる。タスクマネージャに表示されるけど、サービスに登録されていない怪しいソフトの自動起動を停止するときに使う。最近はゲームしないし、怪しいソフトを使うこともなくなっているので使う機会がない。<関連記事>スタートアップで起動するアプリを停止する方法

猫まっしぐら!?ねこ用DVD「ネコミル」

将来、猫を飼えたときに見せてみたい。ネコが見るDVD ネコミルレンタルで試してみるのもあり。

pg_rmanを使ってPostgreSQLを別サーバーにバックアップ

PostgreSQLのバックアップに便利な方法はないものかと、試しにpg_rmanをコンパイル、インストール、設定したときのメモ。環境はCentOS5pg_rmanはPostgreSQLのデータを簡単なコマンドでバックアップ・リストアできるツール。ダウンロードはGoogle Codeのプロジェクトページから。インストールの方法は公式のwikiにもあるし、ここのサイトも分かりやすい。以下自分でやったコマンドのメモ。pg_configにパスが通ってないとダメらしいので、パスの追記から。# vi ./.bashrc
PATH=/usr/local/pgsql/bin:$PATH
export PATH
# source ./.bashrcもしくはPostgreSQLがインストールされた場所に書き込み権限があればいいので、postgresをownerにする。
# chown postgres. -R /usr/local/pgsql
# su postgresコンパイルしてインストール。# tar xzvf pg_rman-1.1.2.tar.gz
# cd pg_rman 
# make USE_PGXS=1
# make USE_PGXS=1 install環境変数を設定# su postgres
$ cd
$ vi ./.bashrc
export PGDATA=/usr/local/pgsql/data
export BACKUP_PATH=/mnt/backup/pgsql
$ source ./.bashrc環境変数が設定できたかどうか確認
$ echo $BACKUP_PATHpg_rmanを初期化
$ pg_rman init -B  $BACKUP_PATHWARNING: ARCLOG_PATH is not set because archive_command is empty
INFO: SRVLOG_PATH is set to '/usr/local/pgsql/data/pg_log'archive_mode=offだとWARNINGが出るみたい。postgresql.confを編集。pg_logディレクトリも作って…

PostgreSQL 9.0.1でレプリケーションを設定

PostgreSQL 9.0からレプリケーションの機能がネイティブで実装されたので試しにコンパイルしてインストールしてみた。環境はCentOS新機能については下記サイトを参考にPostgreSQL 9.0 の新機能ソースのダウンロードは本家のサイトから。コンパイルとインストールは前の記事を参考に。レプリケーションの設定はここのサイトを参考にした。まずはプライマリー(マスター)側の設定。postgresql.confを変更。各設定項目の意味は公式サイトのドキュメントを参照。
# vi /usr/local/pgsql/data/postgresql.confwal_level = hot_standby
archive_mode = on
archive_command = 'cp %p /usr/local/pgsql/data/pg_archive/%f'
max_wal_senders = 3archive_commandで指定した保存ディレクトリを作成
# mkdir /usr/local/pgsql/data/pg_archive
# chown postgres. /usr/local/pgsql/data/pg_archivepg_hba.confにレプリケーション接続許可するIPの範囲を設定
# vi /usr/local/pgsql/data/pg_hba.confhost replication all 192.168.100.0/24 trustこれで再起動
# /etc/rc.d/init.d/postgresql restart次にスタンバイ(スレイブ)側を設定postgresql.confをプライマリーと同じように編集して無事起動することを確認。# vi /usr/local/pgsql/data/postgresql.conf
# mkdir /usr/local/pgsql/data/pg_archive
# chown postgres. /usr/local/pgsql/data/pg_archive
# /etc/rc.d/init.d/postgresql restartログファイルを監視していれば何が起きているか分かりや…

【Linux】サーバー(PC)のスペックを確認するコマンド

CentOSやUbuntuがインストールされているサーバーのスペックを調べたときのメモ。下記サイトが参考に。Linux PCでのスペック確認方法Ubuntuの場合はlshwというコマンドがあるのでサクっと分かる。詳細はこちら。# lshw -shortCentOSでyum経由でインストールするには追加パッケージ(dag)を使う。詳細は下記。【CentOS】yumで追加パッケージ群DAG(RPMforge)を追加するなければ次の表を参考に調べる。確認コマンドcpu# less /proc/cpuinfoメモリ# less /proc/meminfoディスク容量# df -mRaid構成# less /proc/mdstat
※何も記述されてない場合も多い。その他OS関係の確認コマンドも確認コマンドOS(CentOS)# less /etc/redhat-releaseOS(Ubuntu)# less /etc/lsb-releasekernel# uname -a<関連記事>【Linux】ディレクトリ(フォルダ)の容量を確認、表示する

Wordpressのプラグインmixiチェックが管理画面で登録できない

mixiチェックをwordpressに導入しようとプラグインをダウンロードしたけど、管理画面で登録できなかった。Wordpressが古いバージョンだとダメらしい。ダウンロードはこちらから。利用したバージョンは、mixi-check-for-wordpress-1.2.1ちなみにwordpress 3.0だと出来た。しょうがないのでソースを変更。mixicheck_plugin_options直後に以下を追記。if ($_POST['action'] == 'update') { update_option(MIXI_SETTINGS_KEY_MIXI_CHECK_KEY, $_POST[MIXI_SETTINGS_KEY_MIXI_CHECK_KEY]); update_option(MIXI_SETTINGS_KEY_MIXI_CONTENT_RATING, $_POST[MIXI_SETTINGS_KEY_MIXI_CONTENT_RATING]); update_option(MIXI_SETTINGS_KEY_MIXI_CHECK_ROBOTS, $_POST[MIXI_SETTINGS_KEY_MIXI_CHECK_ROBOTS]); update_option(MIXI_SETTINGS_KEY_MIXI_CHECK_EXCERPT_LENGTH, $_POST[MIXI_SETTINGS_KEY_MIXI_CHECK_EXCERPT_LENGTH]); update_option(MIXI_SETTINGS_KEY_MIXI_CHECK_BUTTON_TYPE, $_POST[MIXI_SETTINGS_KEY_MIXI_CHECK_BUTTON_TYPE]); } 同じ関数内にあるformのaction属性を削除して、自分自身にpostするように変更。一応必須属性なので「action="#"」としてもOK。

Mac OS X ServerにiLifeをインストールしてスライドショー作成

前の記事でフォトストーリー3を使ってスライドショーの動画をDVDにするまで頑張ったけど、iLife11で幸せになれそうだったので購入してみた。4500円ぐらい。インストールしたのは、この前買ったMac miniのMac OS X Server 10.6.5CD/DVDドライブがないので、Windowsでisoに取り込んでインストール。前の記事を参考に。インストール自体は無事終了。さっそくiPhotoを立ち上げようとすると最新バージョンに上げろと言われるので素直にアップデートする。起動後スライドショーを作成しようとすると、強制終了させられた。ディスプレイの情報を取得しているらしく、ディスプレイ(DVI)に繋げたらできるようになった(さっきまではVNC経由でWindowsから操作してた)。障害情報をアップルに送信しておいたので、そのうち直っていることを祈る。スライドショーの作成自体は、直感的に出来るので流石Apple。細かく設定すれば、フォトストーリー3で出来ることは大抵出来る。ただテキストスライドの位置を移動できない・・・。これをやるためにはiMovieで編集するらしい。・・・で、iMovieを起動しようとすると、「Quartz Extremeが必要です。」と怒られ起動すらできない。Quartz Extremeに対応したグラフィックカードがないとダメらしい・・・。ハードの問題なら諦めるしかないと思いダメもとで検索してみると、下記コマンドをターミナルで入力すると使えるみたい(情報元)。sudo defaults write /Library/Preferences/com.apple.windowserver.plist QuartzGLEnabled -boolean YESこれで一旦ログアウトしてiMovieを起動してみると・・・できた。わーい。ネックだったオーサリングソフトとの連携もiDVDでシームレスにできる(720x480とか気にしなくていい)。iDVDでiso出力して、これをWindowsで焼いて終了。その他気づいた点をメモiMovieで「NTSC 4:3」と「NTSC 16:9」両方作った。会場のプレーヤーで綺麗に表示できるのを再生するつもり。 会場では「NTSC 4:3」を使った。どのディスプレイ(テレビ)でも画面いっぱいに(同じ見え方で)表示させるの…

Windows用のフォントをMacで使えるか調査

MacのiLifeを使いたくなったので、今までWindowsで使っていたフォントがMacで使えるか調べたメモ。どうやら何もしなくてもMacのFont Bookアプリケーションからドラッグ&ドロップで使えるようになるみたい。安心した。<参考サイト>Windows用のフォントをMacで使う漢字が使える日本語フォント 無料ダウンロード 46種類

連休中は結婚式で帰省してきました

連休中はお世話になっている先輩の結婚式があったので帰省。今回はやらないといけない事がたくさんあったので、早めに帰っていろいろと打ち合わせ。何をやったかというと友人のスピーチ披露宴の余興で空手の型「慈恩」披露宴の余興で四方割り披露宴のプロフィールビデオ作成二次会幹事披露宴の余興は、練習不足もありカッコよく決めきれなかったので、少し心残り。全体的には、とても良い式になったと思う。披露宴のプロフィールビデオが流れたときには少し泣けてきた。内容というよりかは「俺頑張った・・・(泣)」と、自分の苦労を思い返して(笑)。

結婚式の披露宴で上映するスライドショー(DVD)を作成

知人の結婚式で二人の歴史をスライドショーで紹介する動画を作成したときのメモ。写真をスライドショーの動画にするにはWindowsのフォトストーリー3が一番使い易い。ダウンロードはこちらから。Windows XPまで。フォトストーリー3の良い所「境界線の削除」でいい感じに画面いっぱいになるように切り取ってくれる 簡単な画像編集もできる。 スライドショーの順番の入れ替えや表示する秒数など直感的で分かりやすい アニメーションが豊富。写真の一部を指定して拡大するアニメーションがいい感じのスライドショーになる 文字(コメント)も挿入できる。だけど細かい場所指定はできない。 曲も挿入できる Windows7の場合はWindows Liveのムービーメーカーを使うみたい。ちらっと使ってみたけど、直感的な使い易さと機能はフォトストーリー3の方が上。だけどフォトストーリー3には致命的な弱点がある。それは、720 x 480のサイズで動画を出力できない。DVD作成するときに必要な動画のサイズは720x480なので、別のソフトで変換が必要。動画のサイズ変換で使ったのがTMPGEnc。体験版だと30日で期限が切れる。まとめるとフォトストーリー3でスライドショーを作成。1024x768のサイズで出力。 TMPGEncでアスペクト比を維持したまま720x480のmpegに変換(両端が黒くなる)。 DVDオーサリングソフトでDVDに書き出し(NTSC)。 他のフリーソフトを試してみたけど、どれもイマイチ。動画変換にフリーのWindows Media エンコーダーを使おうと思ったけど、アスペクト比を維持したままサイズ変更はできないみたい(横に太くなってしまう)。次回DVDを作る機会があったら、MacのiLifeを試してみる予定。Mac mini持ってるし。<追記>PS3で再生してみたら上下がはみ出してしまった。TMPGEncの設定をいろいろ変えてみてもダメみたい。会場のプレーヤーがPCだったら問題ないのだけれど。TMPGEncの設定(上下がはみ出す)ソースアスペクト比: 4:3 525 line (NTSC) 画像配置方法: 画面全体に表示(アスペクト比保持) 大人しく市販のソフトを使った方がよさそう。

【Linux】NFSv4を使ってサーバー間で共有フォルダをmountする

データセンターにおいてあるVMware Serverで構築されたサーバー群の中で、インストール直後の仮想マシンをどれか1台の共有フォルダに置いといて、それを他のサーバーでmountしたくて設定したメモ。まずは共有ディレクトリがあるサーバー(CentOS)をNFSサーバーとする。基本的に下記サイトを参考に。CentOS5.0でNFSv4の設定NFSサーバーをインストール
# yum install nfs-utils portmap/etc/exportsを編集してNFSサーバーの設定をする(fsid=0を忘れずに)
# vi /etc/exports
   /home/VirtualMachines    192.168.100.0/255.255.255.0(rw,sync,fsid=0)NFSサーバーを起動する
# /etc/rc.d/init.d/portmap start
# /etc/rc.d/init.d/rpcidmapd start
# /etc/rc.d/init.d/nfs startファイヤーウォールを設定する(NFSv4をチェック)。他のポートは開けなくても大丈夫みたい。
# system-config-securitylevel-tui自動起動するように
# chkconfig nfs on公開している共有ディレクトリを確認
# showmount -e名前解決でエラーになるようなら/etc/hostsに記述する。次に各サーバーで共有ディレクトリをマウントする(クライアント側の設定)NFSサーバーをマウントするために必要なツールをインストールしてportmapを起動する(既にあるなら必要なし)
# yum install nfs-utils portmap
# /etc/rc.d/init.d/portmap start
# /etc/rc.d/init.d/rpcidmapd startファイヤーウォールを設定する(NFSv4をチェック)
# system-config-securitylevel-tuiマウントしてみる(サーバー側は「/」だけでいい)。
# mkdir /mnt/VirtualMachines
# mount -t n…

Apacheを高速化する拡張モジュール「mod_pagespeed」

Googleがオープンソースで開発しているmod_pagespeedを導入すると、簡単にapacheの高速化ができるみたい。[Google Code]Page Speed - mod_pagespeedAPCと組み合わせると、さらに効果が期待できそう。今回はメモだけ。また後で試してみる。<関連記事>【PHP】LAMPPの環境にAPCをコンパイルしてインストール【PHPチューニング】APCをインストールしてWordpressを高速化

子育ての「三字経(さんじきょう)」

teniteoを眺めていて、何となく立ち読みした「警告!間違った子育てが家庭を崩壊させる」。立ち読みはGoogleブックスで。そこで紹介されていた三字経が後で使えそうだったのでメモ。養不教 養(やしな)ひて教(をし)へざるは
父之過 父(ちち)の過(あやま)ちなり
教不厳 教(をし)へて厳(げん)ならざるは
師之惰 師(し)の惰(おこたり)なり 【通釈】養うのみで厳しく教えないのは、父親の過ちである。教えながら厳格でないのは、教師の怠りである。引用元空手を子供たちに教えている立場として、一緒にワーイ♪と遊ぶだけではなく、厳しくしていこうと思う。今度父親になる友人がいるので、この言葉をプレゼントしよう。色紙でプレゼントするやり方はGoogle先生に聞くといろいろ出てくる。

Adobe InDesignでプログラミングなしでiPadアプリを作れるか

Adobe InDesignを使えば簡単にiPadアプリを作れるのでないかと調査したメモ。作りたいのは下記動画にあるようなアプリ[Adobe TV]INTRODUCING WIRED ON IPADAdobe LabsのDigital Publishingには実際にInDesignを使って簡単に(プログラミングレスで)作っている動画がある。動画では「Digital Content Bundler」を使ってInDesignから変換しているようだけど、このツールはまだ公開されていないみたい(探したけど見つからない)。そのうち公開されて使えるようになるらしい。 <追記>
2010/10/26にAdobe Digital Pulishing Suiteというツールが公開された。まだベータバージョン。商用利用でApple Storeで公開したい場合などはFAQに書いてある。 iTunes AppストアにはInDesign+Digital Content Bunlderで作成されたのをプレビューするアプリが公開されている。Adobe Digital Content Preview Toolちなみに「ProBridgeDesigner-i」というツールで比較的簡単に紙媒体からiPad用のデジタルコンテンツに変換できるらしい。詳しくは下記。プラグインでiPad化できる~iPadから見えるコンテンツの未来・その20~さらに別の方法としては、adobe Pachager for iPhoneを使って、flashをiPhone用に変換したり、クロスプラットフォームな開発環境を使って作る方法もある。どちらも将来的にAndroidの製品などに対応させることが可能(だと思う)。<関連記事>【iOS開発】JavaScript, HTML, CSSでiPhone, iPadアプリ開発

【iOS開発】JavaScript, HTML, CSSでiPhone, iPadアプリ開発

twitterで知った衝撃的な事実。JavaScriptを使ってiPhone, iPod touch, iPadやandoroid向けのアプリを開発できるクロスプラットフォームな開発環境があるらしい。Appcelerator Titanium他にもいろいろプロジェクトがある。詳しくは下記ブログ【PHPSPOT】iPhoneやAndroid等クロスプラットフォーム上で動くスマートフォンアプリを作る仕組み色々Titanium Mobileはフリー+オープンソースだし、javascript, html, cssからネイティブなobjective-cに変換するので高速。変換後のobjective-cをxcodeで編集することもできるみたい。JavaScript Runtime上で動く。objective-cも一応できるようになったけど、JavaScriptの方が得意なので簡単なアプリはTitanium Mobileを使って作ろうかな。この辺の技術は最近進歩が激しいのでおもしろい。今度試してみよう。to be continued.< 2012/09/04 Modified >
JavaScriptをObjective-Cに変換するわけではないので修正。詳しくはこちら(Appceleratorの開発者が語るTitaniumとPhoneGapの比較 | A-Listers)。

「ねこんかつ」ですと!?

「とんかつ」ではなく、ネコ好き同士の合コンがあるようです。猫と一緒に婚活しょう!「ねこんかつ」が大好評!間違いなく猫好きの人と知り合うことができそう。ただ一人で行く勇気はない。ネコたちに赤ちゃん言葉で話しかけるのを見られるのが嫌。

GAE/Pythonのコーディングメモ

Macで開発環境を整えたので、コーディング規約とか参考サイトをまとめるためのメモ。Mac + Eclipse + PyDevは前の記事を参考に。Pythonのコーディング規約は下記を参考にPEP 8 -- Style Guide for Python CodePEP 8 -- Style Guide for Python Code(日本語訳)動作確認のためにHelloWorldアプリを作成する手順は公式サイトを参考に[Google APP Engin] Hello, World!<関連記事>Google App EngineでJavaを使うかPythonを使うか迷うGAE開発のためにEclipse + PyDevをインストール(Mac)Mac環境にGAEの環境(Python)を整えてGAEOをインストール

Google App EngineでJavaを使うかPythonを使うか迷う

Mac + Eclipse + PyDevでGAEの開発環境を整えたけど、Javaで開発しようか迷ったときのメモ。迷ったのはGoogle App Engine上でxml + xsltの技術を使いたかったから。調べてみるとPythonではxsl変換するライブラリがデフォルトで用意されていない。Javaだとできるみたい。「(GAEの)Javaは遅い」という噂があったので、Google先生に聞いてみると下記記事が参考になりそう。[ひがやすを blog]App Engineではどの言語を使えばいいのかGoogle AppEngine ? Java vs Python Performance Comparison速度を考えるとやっぱりPythonみたい。jythonを使えばPythonでxsl変換が実現できるみたい。Transforming with XSLT on Google AppEngine and jython.試してないけど、言語がPythonで、実質はjavaランタイムで動くんだと思う。言語にこだわっているわけではなくて、速度にこだわりたい。ちなみにjavaはandroidアプリを作ったことがあるので一応分かる。この際、両刀使いになってもいいかも。<関連記事>GAE開発のためにEclipse + PyDevをインストール(Mac)

【Wordpress】類似ページ(関連記事)を表示するプラグイン開発

イメージ
Wordpressの記事を表示したときに自動的に似た内容の記事を表示するプラグインを開発したときのメモ。環境:CentOS 5.4, Lampp 1.7.1, wordpress 2.8.6処理手順としては投稿やコメントを保存したタイミングで記事内の名詞を抽出してMySQLに保存(辞書の作成)。名詞(単語)の抽出はオープンソースのMecabを使う。インストールなどの詳細は前の記事を参考に。 記事を表示したときに、その記事の特徴を表す名詞リストをMySQLから取得 MySQLの全文検索機能を使って、名詞リストと類似する名詞リストを取得(表示しようとしている記事とコメントは除外)。 こんな感じ。MySQLの全文検索が関連する順に並び替えてくれるので便利。MySQLのテーブルの構造CREATE TABLE `wp_1_wsa_dictionary`
  `dictionary_id`     BIGINT(20) NOT NULL AUTO_INCREMENT PRIMARY KEY
, `post_id`           BIGINT(20)
, `comment_id`        BIGINT(20)
, `word_list`         TEXT
, `updated`           DATETIME
,  FULLTEXT (word_list)
)実際のデータ例。日本語の名詞だけ抽出。「読み」も保存しておくことで、精度の高い類似検索ができる(はず)。ただMySQLの全文検索では、検索対象とする単語長がデフォルトで4になっているのでmy.confを編集しておく(要再起動)。[mysqld]
  ft_min_word_len=1ちなみに、こんなことをしなくても、MySQL + Senna + Mecab = Tritonn というのが既にあるので、そちらを利用するのも手。<関連記事>PHPから日本語形態素解析「MeCab」を使うためにコンパイルサイト内の類似ページ(関連記事)を取得するための日本語形態素解析

PHPから日本語形態素解析「MeCab」を使うためにコンパイル

前の記事ではwordpressの記事の類似ページ(関連記事)を表示するための方法を調べた。今回は実際に日本語形態素解析「MeCab」をコンパイル、インストールしてPHPから利用できるように設定してみた。環境はCentOS 5.4, Lampp 1.7.1まずはMeCabのコンパイル。詳しくは公式サイトを参考に。必要なツールをインストール
# yum install gcc-c++iconvはインストール済みだった。# tar zxvf mecab-0.98.tar.gz.gz
# cd mecab-0.98
# ./configure --with-charset=utf-8
# make
# make check
# make install辞書のインストール# tar xzvf mecab-ipadic-2.7.0-20070801.tar.gz.gz
# cd mecab-ipadic-2.7.0-20070801
# ./configure --with-charset=utf-8
# make
# make install/usr/local/lib/mecab/dic/ipadic/
にインストールされた。他にも辞書はいろいろ。「IPA、NAIST、UniDic、JUMANの辞書実演比較」を参考に。次はPHPで使うための拡張モジュールphp_mecabをインストール。ライセンスはMIT。ここからダウンロード。参考。ちなみにSWIGを理解すれば自作できそう(公式サイト「スクリプト言語のバインディング」)。# tar xzvf php_mecab-0.3.0.tgz
# cd php_mecab-0.3.0
# /opt/lampp/bin/phpize
# ./configure --with-php-config=/opt/lampp/bin/php-config --with-mecab=/usr/local/bin/mecab-configwarningが出たchecking for re2c... no
configure: WARNING: You will need re2c 0.13…

サイト内の類似ページ(関連記事)を取得するための日本語形態素解析

wordpressの記事を閲覧したときに似た内容の記事を表示するために調査。応用すると「漢字」で入力された内容を「読み」で並び替えるとかできると思う。プラグインとしては下記を導入すれば解決しそう。WordPress Related Post for Japanese (関連投稿表示プラグイン)ただしYahoo!Japanが提供する日本語形態素解析APIを使うので、別途デベロッパー登録+クレジット表示が必要。商用利用の場合は、問い合わせしないといけない。Google先生がAPIで提供してくれないかと思ったけど、まだみたい。API経由の方が辞書のメンテナンスをしなくてよいので助かるのだけど、自前で形態素解析をできないかと調べてみると、下記のツールがオープンソースで公開されている。ライセンス説明MeCab (和布蕪)GPL/LGPL/BSDChasenに比べて解析速度が早い。開発者はGoogle日本語入力を開発した一人(wikipediaChaSen(茶筌)公式サイト参照wikipedia参照詳細な比較はMeCabのサイトが分かりやすい。下記サイトも読んでおくと形態素解析について理解が深まる形態素解析の基礎次回はMeCabをコンパイルしてPHPで使えるようにするまで。<関連記事>Googleの類似ページ検索をAPI経由で利用できないものか

【JavaScript】ツールチップ(tooltip)を表示するjQueryプラグイン

イメージ
マウスオーバーしたときに説明文をカッコよく表示したくて調べたメモ。いわゆるツールチップ(吹き出し、ポップアップと呼ぶ人もいるが)。jQueryのプラグインで簡単に表示できるのを見つけたので紹介。下記サイトに他のプラグインも含め紹介されている。30 Stylish jQuery Tooltip Plugins For Catchy DesignsjQuery Tools - Tooltipライセンス:NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE(著作権もライセンスもない。あなたの好きなようにして)jQuery Toolsの一部。オプションが豊富で、ドキュメントもしっかりしているので使いやすい。drop shadow付きでカッコイイのが簡単に作れる。迷ったらこれ。jQuery Tooltip Pluginライセンス:MIT/GPLデモを見るのが分かりやすい。使い方もシンプル。qTipライセンス:MIT多機能なツールチップを実装できる。デモ。callbackのイベントも用意されているので、ツールチップの動作に合わせてカスタマイズできる。ツールチップに表示したHTMLをクリックしたりとかポップアップ(ダイアログ)的な使い方もできる。jQuery UIライセンス:MIT/GPLまだ未実装。バージョン1.9で実装される予定なので一応メモ。ユーザーインターフェース部分はjQuery UIに統一していきたい。<関連記事>jQueryとjQuery UIのバージョンを確認(Google CDNを使う)

今更ながら気付いたWordCamp名古屋に参加したいけど・・・ #wcNagoya

オープンソースWordpressのイベントが明日名古屋であるのをさっき知った。WordCamp Japan行きたいのだけれど、明日は抜けられない空手イベントが・・・。teniteo[テニテオ]もwordpressがベースになっているので、teniteoが使いやすくなるような情報が得られるかもしれない。http://teniteo.jp/Google Enterprise Day 2010に行ってきたばかりなので、teniteoを展示ブースで紹介するのも面白そうと思ったり。技術的に突っ込まれるのが恐いけど。<関連記事>Google Enterprise Day 2010に参加してきました。

Google Enterprise Day 2010に参加してきました。

Google Enterprise Day 2010に参加するため東京まで出張(自腹だけど)。主にクラウドとGoogle Appsのお話し。セッションではGoogle ドキュメントを使って共同作業するデモやipadやAndroidで編集できるなど、コラボレーションと生産性を強調。この辺は「Google Appsの導入を検討している人向け」な感じなので、あまり目新しい情報はなかった。Google Appsの講演は当然のように英語。同時通訳の無線がおいてあるので、もちろん言っている内容は分かる。だけど、ほとんどの人が無線を利用せずに聞いている。私も最初無線を利用していたけど、音漏れがひどかったので(隣の人に悪いと思って)途中で使わなくなった。脳が疲れた。英語勉強しておきます。セッションで面白かったのがゲスト講演。米倉 誠一さんと神田 瀧夢さんの全くGoogleと関係のない話し。でも疲れた脳にはいい刺激で「俺、頑張る!」という気持ちになった。セッションの全てはGoogle Enterprise Virtual Conferenceで全て閲覧できるみたい(ゲスト講演はない)。・・・このサイト凄いけど、ちょっと重いのが気になる。展示ホールではGoogle Appsを利用した各社のソリューションのデモを行っていて、スタンプラリーみたいに回ると「Google Apps完全ガイド(翔泳社)」をくれた。この本も「Google Appsの導入を検討している人向け」なので、広く浅い感じ。その他、発表されたGoogleサービスのメモGoogle Product Search(ショッピングサーチ) ・・・ ECサイトを横断的に検索できる。ショップ側の商品の登録とか無償で利用できるらしい。お店側の人はこちらから商品登録。Google Commerce Search ・・・ Googleの検索機能を利用した商品検索を自社のECサイトに埋め込める。年間250万円から。豪華な会場で(美味しいお弁当も出たし)、いい話が聞けたので満足。<関連記事>Mixi meetupに参加してきました。

FeedBurnerの機能をざっと眺めてみた

イメージ
Bloggerの記事をFeedBurner経由でtwitterに投稿できるように設定したときに、FeedBurnerが思ったより便利に使えるのでないかと感じたときのメモ。下記サイトがまとまっているので参考にFeedBurnerをちゃんと理解して使いこなす為の基礎知識メニューだけ眺めれば、なんとなく出来ることが分かるGoogleアカウントがあれば、これらの機能を無料で利用できるのがすごい。

BloggerとTwitterの連携。FeedBurnerを使って

イメージ
前の記事ではFriendFeedを使って連携したけど、Googleのサービスの一つFeedBurnerでもtwitterへ投稿できるようになっていたので、切り替えてみた。feedburnerにログイン後、フィードを選んで、集客支援 → Socializeから設定する。FriendFeedの方を停止しておくのを忘れずに。さらにBloggerにガジェットで表示するのは、公式Twitter Widgetsから簡単にできる。いつの間に・・・。ちなみに前のガジェットは下のような感じ。これはこれでシンプルで良かった。<関連記事>BloggerとTwitterの連携。記事を自動でつぶやくように設定

【xyzzy】Grepしたときに画像ファイルは無視するマクロ

普通にGrepすると画像もスキャンしてしまうので、検索対象から除外するマクロを書いた。正規表現で対象ファイルを限定することもできるけど、いちいち指定するのがメンド臭くなったので。前に書いたフォルダを対象外にするマクロを拡張。;;
;;Grepをしたときに特定のディレクトと画像は無視する
(defvar *ignore-scan-dirs* (list "dic" ".svn" ".hg")) ;;対象外にするフォルダ
(defvar *ignore-scan-files* (list ".png" ".jpg" ".gif")) ;;対象外にするファイル(拡張子)
(defvar *org-scan-files-1* (function ed::scan-files-1)) ;;元の関数
(defun ed::scan-files-1 (file pattern buffer scanner)
  (let (skip)
    (dolist (dir *ignore-scan-dirs*)
      (setq dir (append-trail-slash dir))
      (setq pos (string-match dir file))
      (when pos
        (setq skip t)
        (return)))
    (dolist (ext *ignore-scan-files*)
      (setq pos (string-match ext file))
      (when pos
        (setq skip t)
        (return)))
    (unless skip
      (funcall *org-scan-files-1* file pattern buffer scanner))))<関連記事>【xyzzy】G…

【iOS開発】Objective-Cの自分用コーディング規約プラス

次開発するとき用のメモ。まずは下記の公開されているドキュメントを読む。Google Objective-C Style Guide(英語)Google Objective-C Style Guide(日本語訳)[Apple Developer Center]Coding Guidelines for Cocoa(英語)ここからは自分の中にあるコーディング規約。他のサンプルを参考にしながら。コメントは英語で。マニュアルも英語なので勉強だと思って手を抜かない。 defineは「k」をprefixにしてキャメルケースクラス変数は「m」をprefixにしてキャメルケース。最後に「_」を付ける(上のコーディング規約に従うため) 自作クラスのメソッドの引数は「a」をprefixにしてキャメルケース。 「#pragma mark -」の前は2行空ける 「#pragma mark」を使って機能ごとに分けてコメントも付ける 「=」の場所は(できるだけ)合わせる ヘッダーファイルのクラス変数、プロパティ名、メソッド名の開始位置(アスタリスクの位置)を合わせる。アスタリスクは名前の直前。 ヘッダーのdefineは「k」+「(プロダクト名)」を先頭に付ける privateなプロパティやメソッドはカテゴリーの機能を使って、.mファイルの方に記述する。.hファイルは、そのクラスが外部に提供するプロパティやメソッドだけ。 クラスファイルは全て「Classes」ディレクトリに配置して、xcodeのグループ機能で分かりやすいように分ける 言語ファイルは「jp.lproj」、「en.lproj」など2文字で。国名コード(wikipedia)xibファイルと対応するクラスは「*ViewController」。xibはないけど画面の制御するクラスは「*Controller」 自作クラスはプロジェクト共通の「Global.h」をimportする。 自作メソッドの直後はLOG_METHODを記述する。参考。 波括弧「{}」はクラス名、メソッド名、ifの同じ行に記述 もっとobjective-Cに慣れたらドキュメントにしていきたい。自分用だけど。<関連記事>【iOS開発】Xcodeを使ったObjective-CコーディングメモiOS(Objective-C)開発を始めるときのxcodeの設定【Objectiv…

【iOS開発】Xcodeを使ったObjective-Cコーディングメモ

次回の開発までに忘れていると思うので自分用まとめ。[コーディング規約]Google Objective-C Style Guide(英語)Google Objective-C Style Guide(日本語訳)[Apple Developer Center]Coding Guidelines for Cocoa(英語)[xcodeの便利ショートカットキー]Control + 1ファイルの参照履歴表示Contorl + 2関数一覧(function menu)表示Command + ダブルクリッククラス、メソッドの定義元へ移動Option + ダブルクリックリファレンスを簡易表示F5補完リストをポップアップ表示(Visual Studioのインテリセンスみたいに)Command + Enterビルドとデバッグ[カスタマイズしたショートカットキー]
WindowsからVNC接続で操作するために、自分用カスタマイズをしているけど、忘れてしまいそうなものだけ。Command + Tabヘッダ/ソースファイルの切り替えCommand + →進むCommand + ←戻るCommand + ↑前のファイルCommand + ↓次のファイル[その他xcodeの便利機能]クラス、メソッドを選択しておいて、ヘルプ → 「選択したテキストを製品ドキュメント内で検索」で別ウィンドウにリファレンスを表示できる。ファンクションキーに割り当てると便利(F1にした)。 #pragma markとコメントの書き方で関数リストを見やすく。詳細はここ。 ファイル → スナップショットでバージョン管理できる [事前に入れておきたい情報]原文をスラスラ読みたい!「MSDNライブラリによく出る英単語 100選」また発見したら追記予定。<関連記事>iOS開発を始めるときのxcodeの設定iPhone/iPod touchアプリの開発を始めるための参考情報

【iOS開発】UMLツールを使って頭の中を整理

普段のPHP開発は、すでにコーディング規約をドキュメントにして、頭の中にも入っているので、どんどんコーディングしていける(スクリプト言語だし)。Objective-Cの場合は、コーディング規約(命名規則)が頭に入っていないし、サンプルを見ていると他にも命名規則に慣例的なものがある様子。しかもクラスが増えてきて、役割や関連性など分かりにくくなってきたので、UMLを使ってまとめてみようと便利なツールを探してみた。一番フリーでお手軽なのが、UMLmemo他のは動作が重かったり、使い方を覚えるだけで疲れそう。UMLmemoはメモのように書いていけるのがステキ。本当はGoogle Docsの図形描画で済ませたかったけど、グループ化したり解除したりがメンド臭かったのでやめた。本気でUMLを清書したい場合はMS VisioとかVisual Studio 2010とかEclipseのプラグインとかでできるみたい。まぁそれは必要になったときに。Objective-Cの場合の書き方は「objective-c uml」で検索してみるといくつか出てくる。手描きの画面イメージだけでなく、ちゃんと設計しないとダメだなと再認識昔、手続き型言語とオブジェクト指向言語の違いを誰かに話したときに「経験からいうと、手続き型言語は思ったことを上から順番に書いていけばいいですが、オブジェクト指向言語はしっかり設計図を書いて、全体と個々の役割を把握して開発する必要があります。」と偉そうに言っていたことを思い出した。参考:オブジェクト指向とは

Macの日本語入力切替を設定(ことえりのショートカット割当)

イメージ
WindowsからVNC経由でMacに接続して、リモートで操作していたけど、日本語入力切替が煩わしかったので設定したメモ。環境はMac OS X Server 10.6.4VNC接続に関しては前の記事を参考に【Mac】WindowsからMacにリモート接続(画面共有)するWindowsからMacにVNCで接続すると「=」と「’」が入力できないやりたかったのは、Ctrl + Spaceで入力モード切替。ことえりのショートカットを変更できるフリーのソフトがあったのでこれを使う。ことえでぃ4(Kotoeri4 keybinding editor)必ず実行する前に現在のキーレイアウトファイルを保存する必要がある。$ cp /System/Library/Input\\ Methods/Kotoeri.app/Contents/Resources/MsimeKeys.plist /Volumes/Macintosh\\ HD2/Shared\\ Items/Backups/バックアップをとったら「ことえでぃ4」を起動して、割当を設定。ファイル → システムに適用 → 再起動で反映されているのを確認ことえりの入力を英字とひらがなに設定すれば、入力をトグルできるので、windowsの半角全角キーと同じ感覚で出来る。

MacからWindowsにリモート接続する(リモートデスクトップ)

前の記事ではWindows→Macだったけど、今度はMac→Windowsに接続する方法のメモ。マイクロソフトのサイトからMac用リモートデスクトップをダウンロードできる(無料)Remote Desktop Connection Client for Mac 2ダウンロードを選択して、次の画面の(更新プログラムではなく)下の方にあるRemote Desktopを選択するとダウンロードできる。もちろん接続できるのはリモートデスクトップ接続を許可しているWindowsだけ。便利なのはMacのドライブをリモートデスクトップ接続したマシンでマウントできる。「環境設定」から設定する。<関連記事>WindowsからMacにVNCで接続すると「=」と「’」が入力できない【Mac】WindowsからMacにリモート接続(画面共有)する

【iOSアプリ開発】Unknown class MyClass in Interface Builder file

TabControllerを使って、xibファイルのClass関連付けを変更していたら、下記エラーがでるようになった。Unknown class MyClass in Interface Builder fileGoogle先生に聞いてみると、Interface Builderから設定したClassの参照(リファレンス)がコンパイラにうまく伝わってないみたい。よく分からないけども、ここを参考にxibファイルとクラスファイルをプロジェクトから削除 新規作成 クリーニングしてからリビルド すると直った。変にハマったので、Interface Builderを使わない開発も覚えていきたい。

【iOS開発】Sample Code(サンプル)のスクリーンショット一覧

イメージ
iPhone, iPod touchアプリ開発するときにApple Developer Centerからサンプルをダウンロードして参考にしながら開発しているけど、どのサンプルがどんな感じか忘れてしまうのでメモ。一覧でまとめたサイトはないものか・・・。実際に動かしたものと(個人的に)参考になりそうなものだけ。順不同UICatalogUIコンポーネントの一覧。AppPrefsインフォメーション、設定画面への切り替え方CoreDataBooksCore Dataを使ったアドレス帳。新規登録、削除、編集など基本的なことが分かるQuickContacts上のCoreDataBooksを進化させてアドレス帳として完成度を高めた感じ。起動直後のメニューはplistファイルを使っている。SimpleDrillDownナビゲーションの使い方。データ部分がちゃんとクラスに別れている。DrillDownSave多階層のナビゲーション。下の階層にいっても親の階層を覚えておくNavBarナビゲーションのバーをカスタマイズ。info表示とスタイルの変更もできる。TableViewSuiteテーブルビューの使い方。アイコンの表示、カテゴリー表示LazyTableImagesスクロールに合わせて動的にアイコンをダウンロードして表示するTable View Animations and Gesturesセクションごとに折り畳む。
※コンパイラのバージョンを「GCC 4.2」にしないとコンパイルできない。TouchCellsテーブルの行をチェックして選択できる。ListAdderTableViewへの追加、削除。カテゴリーを使ってprivateなプロパティを表現している。

iOS(Objective-C)開発を始めるときのxcodeの設定

xcodeをバージョンアップして、久しぶりにiPhone, iPod touchアプリを開発しようとしたときに設定を忘れていたのでメモ。前の記事でも書いたけど自分用まとめ。下記サイトを参考に【Xcode】設定しておくと便利なカスタマイズいろいろxcodeの設定。Xcode → 環境設定 → 全般 → レイアウトを「オールインワン」 。マルチディスプレイやiMacなみの画面の広さなら不要かも。 Xcode → 環境設定 → デバッグ → 開始時を「コンソールとデバッガを表示」 Objective-Cのコーディング規約(英語日本語)に従うためにインデントを設定。Xcode → 環境設定 → インデント設定 → タブ。(Appleのコーディングガイドラインも参考に)
「スペースの代わりにタブを挿入」のチェックをハズす
タブの幅:8 (←タブ文字を見分けるため)
インデントの幅:2 プロジェクト設定プロジェクト → プロジェクト設定の編集 → 組織名を自分の組織に 参考サイトのデバッグモードのときにしかデバッグログを吐かないようにする設定を仕込むために、構成Debugの「プリプロセッサマクロ(GCC_PREPROCESSOR_DEFINITIONS)にDEBUGと記述 また気づいたら追記予定<関連記事>iPhone/iPod touchアプリの開発を始めるための参考情報

【iOSアプリ開発】keychainのビルドエラー?

久しぶりにiPhone(iOS)アプリ開発を始めて、サンプルプログラムをビルドして実行するときに、エラーでいろいろと困ったのでメモ。現在のiOS SDKのバージョンは4.1。サンプルはまだ4.0が多い。このサンプルプログラムをダウンロードして実行すると次のようなエラーになる。error: There is no SDK with the name or path 'iphoneos4.0'これはビルドオプションの「ベースSDK」を最新にすれば大丈夫。これでビルドすると次はこのエラーがCode Sign error: The identity 'iPhone Developer' doesn't match any valid certificate/private key pair in the default keychain「ベースSDK」を変更したあと、xcodeの再起動が必要らしい。再起動すると無事ビルドできた。それでもエラーになる場合は下記サイトを参考に。iPhone アプリのDLしてきたサンプルソースでエラー

Gmailの新着をRSSフィード(Googleサイトのガジェット)で確認

OB会のホームページをGoogle sites(サイト)を使って構築していて、共通のメールアドレスに届いたものはサイトのトップページに表示しちゃえばいいんじゃない?と思って調査したメモ。< 2011/12/06 Modified >
Gmailの仕様が変わってURLでのLogin認証が出来なくなったみたい。この辺の記事を参考に自前で作成するか、既にそのようなWeb Serviceがあるかもしれない。複数のアカウントは管理したくないので、1つのGoogleアカウントで実現してみた。Gmailの新着メールをGoogleサイトに表示するまでの流れはGmail → FeedBurner → Googleサイト(RSSガジェット)1.Gmail → FeedBurnerGmailはRSSリーダーで新着できる仕組みを提供している。詳しくは下記サイトGmailフィードのまとめ本当はGoogle Readerを経由してRSSフィードを一元管理したかったけど、Google Readerは
https://(account):(password)@mail.google.com/mail/feed/atom/
の認証形式に対応していないので不可能。これを実現するためにはFeedBurnerを使う。Googleのサービスの一つなので、同じGoogleアカウントでログインして、すぐに使用可能。上記の認証方式で登録するのはウィザードに従えば難しくない。登録後すぐにRSSフィードに反映されないので、1時間ぐらいしたらメールを送って確認する。2.FeedBurner → Googleサイト(RSSガジェット)FeedBurnerに登録したら、Googleサイトにガジェットを追加。「挿入」 → 「その他のガジェット」で「Google sites rss reader」で検索。下の方にあるので結構スクロールしないと出てこない。(他の便利なガジェットがあったら教えてほしい。)このガジェットのFeed urlにFeedBurnerに登録した。http://feeds.feedburner.com/gmailinbox?format=xmlのようなアドレスを登録すれば新着メールがチェックできるはず。欠点はRSSフィードが外部から参照可能なこと。それさえ気にしなければ、メール…

WordpressのログインにMixiのOpenIDを使用する設定

Wordpress MUのログインにMixiのOpenIDを使えないかと調査したメモ。(記事のタイトルとしては「Lampp環境でcurlのhttps通信をする方法」の方が適切だなと後で思った。)環境はCentOS5.4, Lampp 1.7.1, wordpress mu 2.8.6OpenIDについてはwikipediaで。OpenIDを使った処理手順はWordpressでOpenIDを発行するサイトを指定(ここではmixiとする) mixiのサイトに飛ばされ、mixiのユーザーIDとパスワードでログイン OpenIDの認証画面が表示され、「許可」をするとwordpressに戻る wordpress側ではOpenIDで処理をする OpenIDを使うプラグインはopenidがあるので試しにインストールしてみた。この時点のバージョンは3.3.3管理画面のプラグインでインストールすると、fatal errorが出る場合は、ここを参考にしながら、ファイル内のget_user_metaをget_usermetaに置換する。次はサーバー(プラグイン)がhttpsでmixi.jpと通信するための証明書をインストールする。下記サイトを参考に。cURL に HTTPS でアクセスできるように証明書を追加するmixi OpenIDのサンプルコードをPHP OpenID Libraryで動かしてみた実行したコマンドは# cd /opt/lampp/share/curl/
# cat mixi.jp.crt >> crul-ca-bundle.crtでも動かない。curlでのhttps接続が失敗するみたいなので、curl単独のコマンドを実行してみる。# /opt/lampp/bin/curl https://mixi.jp/これは下記エラーで失敗する。curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
More details here: http://curl.haxx.se/docs…

Subversionでログ(履歴)を保持したまま移動

SubversionとTortoiseSVNを使用していて、フォルダ(ディレクトリ)構成を変更したくなったときのメモ。単純にエクスポート・追加などをやるとログが消えてしまうのが嫌。下記サイトが参考に。Subversionの履歴を保持したままリポジトリを移動するにはsvnadmin dump/loadをやればできるみたい。リポジトリを変更したあとはTortoiseSVNの「切替」を行うとサクっと完了する。<関連記事>Subversionのファイル追加コマンド。その他はWindowsからSubversionをコンパイル・インストールしてsvnコマンドを使用

Windows Live Essentials 2011のWriterのためにWin7にする?

イメージ
普段のブログ更新はWindows live writerに下書きを貯めこんでアップしているので、その最新版がリリースされたということで試してみた。Windows Live Essentials(旧名:おすすめパック)今のwriter(Windows XP版)で最大の弱点はブログ内の記事を最大500件までしか取得することができない(古い記事を開いて編集することができない)。他は特に不満はなく、便利に使っている。これが直っているといいんだけど・・・と思いつつダウンロードしようとすると、Windows Vista以上でないとインストールできないらしい。・・・機能が知りたいだけなので、Windows 7の評価版をダウンロードしてきて、VMwareで起動 → インストールで試してみると、ブログ内の記事を取得するときに「すべて」が選択できるようになっている。bloggerの編集機能を使えばいいのだけど、writerで投稿した記事を編集しようとすると、改行が変になるので嫌(最近は試してない)。会社のPCは無理だけど、自宅のPCはそろそろWindows 7にしようかな。<関連記事>Windows Live Writerを便利に使ってブログ更新Windows Live おすすめパック

mixi, GREE, モバゲーの比較。モバゲーへのデベロッパー登録

携帯向けゲーム(コンテンツ)を提供する相談をされたときに調べたメモ。この前はmixiのカンファレンスに参加してきて、mixiの意気込みを肌で感じたので、今熱いのはmixiかな?と思っていたけど、下の記事を読んで少し考えを変えた。【2010年5月最新版】直近決算発表に基づくmixi,GREE,モバゲーの業績比較 ~ 明暗が際立つ三社業績,その要因と今後の展開は?今熱いのはモバゲーみたい。mixiカンファレンスでは「mixiはソーシャルで、モバゲーはゲームで、プラットフォームが違う。今後も協力関係を築いていく」と言っていたので、そのうちmixiとモバゲーが簡単に行き来ができるようになりそう。ちなみにモバゲーは自社でPC版を提供するのを止めて(2010/9/21)、Yahooと提携し「Yahoo!モバゲー」として提供していくみたい。期待のソーシャルゲーム市場を狙う『Yahoo!モバゲー』 - ヤフー・DeNA提携既にモバゲーで設定したアバターなどが表示できる。Yahooとモバゲーへの会員登録が必要。Yahoo!モバゲーその他モバゲーについては下記ブログが分かりやすくまとめている。【モバゲータウン解説その2】モバゲータウンってどんなサイト?実際にログインしてみて、雰囲気は掴んだので、今度はモバゲーのAPIを使って何ができるか調査。DeNa Developer's Site【DeNA Developer's Site】モバゲーAPIで実現できることAPIの詳細はパートナーデベロッパー登録しないと参照できないので、さっそく登録。現在法人のみしか登録できない。登録するだけでドキュメントはすぐに参照可能になる。開発環境は別途申請して使えるようになる。できればGoogle App Engine+flash liteを使ったゲームにしたい。この辺はまた開発環境が整ったら試してみる予定。その他のメモ携帯ゲームは「Javaアプリ」か「flash lite」を使う方法がある。 Javaアプリはdocomoユーザーのみ。flash liteは最近の携帯ならほとんど全てで使える flash liteは制限があるので、凝ったゲームはJavaアプリが多い モバゲーをちょっと覗いた限り、有名どころはJavaアプリがほとんど サンシャイン牧場がflash liteとアバターを使っている…

Wordpressのプラグインを手動で削除(アンインストール)

wordpressのプラグインをインストールしたら、fatal errorでどうしようもなくなったので、調査したメモ。インストールしたプラグイン(OpenIDという名前)がwordpress 3.0から実装された関数を使っていたみたい。削除する方法はphpmyadminを使って、データベースを直接変更する。wp_1_options.option_name = active_pluginsに有効になっているプラグイン一覧が格納されているので、該当するプラグインを検索して削除(↓この文字列)i:12;s:17:"openid/openid.php";そして、先頭のa:40:の数字を一つ減らす(a:39:)。ちなみに全てのプラグインを無効にしたい場合は、a:0:{}とすればOK. もちろん各プラグインが個別に作成したテーブルやデータは残ったままになるので注意。

Windows Live Syncを使って複数PC間でファイルの同期をする

複数のPC間でファイル共有するのに、どのサービスが便利だろうかと調べたときのメモ。dropboxが便利みたいだけど、なんとなくアカウントが増えるのが嫌なので、できればGoogle DocsかSky Driveを使いたい。前の記事ではGladinetというソフトを使って、ネットワークドライブとしてマウントしてたけど、もっと気軽に同期したい。Google Docsには商用ソフトで「Memeo Connect」というのがある。Sky Driveには(一部)フリーで「SDExplorer」というのがある。さらにMicrosoftが提供している「Windows Live Sync」というのもある。やっと、本題。Windows Live Syncの特徴を調べてみるとWindows Liveアカウントが必要 同期するPCにクライアントソフトをインストールする必要がある P2Pで同期するので、同期するPCが起動している必要がある 同期できるファイル数に制限があるらしい(P2Pだからサイズは無制限)。 リモート接続して遠隔操作もできるらしい(windowsのみ) インストールの方法、使い方は下記サイトが詳しい[窓の社]無料サービス“Windows Live Sync”で複数PCのファイルをらくらく同期!母艦となるWindowsマシンが1台あれば活躍しそう。でも、求めている機能とは少し違うので、やっぱりGladinetを使い続ける予感。・・・調べていたら「SkyDrive Synchronizer」というのも見つけたので、今度試してみる予定。<2010/10/07 追記>2010/09/30に発表されたWindows Live Essentials 2011に含まれるWindows Live Mesh(旧Windows Live Sync)を使うと、同期先としてSkyDriveが選択でき、クラウドと同期できるみたい。詳細はこちら。5GBまで。インストールにはWindows Vista以上が必要。<関連記事>Windows Live Essentials 2011のWriterのためにWin7にする?オンラインストレージをネットワークドライブとしてマウントする

【PHP】ZipArchiveで圧縮するときの日本語(文字化け)対応

PHPでzipファイルを生成してダウンロードするときに中身のファイル名は日本語にしたくて調べたメモ。addFileするときにshift-jisに変換してやると大丈夫っぽい。$objZip->addFile($sFilePath, mb_convert_encoding($sFileName, 'sjis-win', 'UTF-8'));ZipArchiveはzip形式のファイルを読み書きするPHPの拡張モジュール。PHPインストール時に使えるようになっている場合が多い。使えない場合はphp.iniを確認するか、PECLでインストールする。PECLのzipページ

ASP.NETもPythonもPHPもRubyも動くWebサーバー「Mongrel2」

すごそうなWebサーバーがあるみたいなのでメモ。[sourceforge]さまざまな言語に対応するWebアプリケーション用サーバー「Mongrel2」リリースMongrel2公式サイト各言語を動かすためには、別途インストールしてあく必要がある。.NETの場合はWindowsでないと動かないみたい。今後Linux上でもMono経由で動かすことができそう。あとjava(jsp)に対応すれば言う事なし。同じポートで複数の異なる言語で作られたアプリケーションを動作させるのに役に立ちそう。<関連記事>Linux上で.NETアプリケーションを動作させるMONOプロジェクト

Picasa Web AlbumのAPIを商用利用できるか利用規約を読んだ

Picasaを外部から利用するAPIの利用規約を読んだのでメモ。全て読んだわけではないので、間違っているかも。主に商用部分だけ。[Picasa Web Albums Data API]Picasa Web Albums Data API Terms of Service[原文]You may use the Picasa Web Albums API as part of a commercial or non-commercial enterprise, subject to these Terms. You may not however charge a separate fee for use of the Picasa Web Albums API unless you have entered into a separate signed agreement with Google.[訳]あなたは、この規約に従う限り、商用または非商用としてPicasa Web Albums APIを使用することが出来る。しかしながら、Googleとの個別契約をしてない限り、Picasa Web Albums APIの使用を別途請求することは出来ない(再販禁止)[原文]In order to use the Picasa Web Albums API with your service, all End Users on your service must have previously created their own individual Picasa Web Albums accounts. You must explicitly notify End Users that they are accessing their Picasa Web Albums accounts through your service. In other words, you may not create one or more Picasa Web Albums accounts for the purpose of storing images on behalf of users without those users creating their own individu…

猫検定

ネコジルシの人が取得したとあった「猫検定」。1級~3級まであるみたい。【動物検定】猫検定受けてみるのも面白いかもしれない。

iPod touch 64GB MC547J/A(第4世代)を買ってしまった

前に欲しいと書いていたiPod touchを買ってしまった。気付いた点薄い。シリコンケースを買うか迷う。滑り落ち注意。 Retinaディスプレイが綺麗。Safariで小さい文字も拡大しなくて読める。産経新聞アプリも読みやすい。 マイクが内蔵されていて、「ボイスメモ」アプリが使えるようになったけど、Bluetooth経由のマイク(Jabra BT530)は使えなかった。 せっかくマイクが内蔵されたのに、Googleアプリの音声検索ができない。Bluetooth周りが改善されて、変に途切れることがなくなった気がする。下部にスピーカー用の穴が開いて、本体からの音質が良くなった気がする。カメラは普通に使う分には十分だと思う(まだ未使用)。複数のExchangeアカウントを登録できるので(これは第4世代とか関係なく、いつの間にかできるようになっていた)、会社のGoogle Appsと自分用Google Appsを設定して、スケジュール確認など幸せになった。ホーム画面は2ページぐらいで、フォルダ分けした方が使いやすい。 前のipod touchとの違いは(前にも書いたけど)下記サイトが分かりやすい。2010年のクリスマスを飾る“最強”の布陣――新型「iPod」ファミリー徹底レビュー (3/4)写真を管理するのにPicasaと同期するアプリを使っていたけど、今イチ使いにくいので自作する予定。<関連記事>一つ前のiPod touchを1万円で買ってくれる人いない?iPod touch 第2世代 32GB MC008J/Aを買った

SQL ServerからPostgreSQLへの移行(insert文の生成)

イメージ
SQL Server 2000からPostgreSQLにデータ移行したときのメモ。困るのがEnterprise Managerではinsert文をエクスポートしてくれる機能がない。しょうがないのでCSVで吐き出して、インポートするのが一般的。やり方は前の記事を参考に。でもinsert文を出力してくれるツールが世の中にはあるみたい。[Ruizata Project]SQL Dumper英語だけど直感的に分かる。PostgreSQLで実行するためには少し置換しないといけないけど、それは大したことはない。元データがあるサーバー(SQL Server)を直接触れない場合は、「必要なテーブルだけ別データベースにコピーして、そのデータベースをデタッチしてMDFとLDFファイルをください。」と説明するのが大変。私の知り合いは全体バックアップをもらって「データベースの復元」からやっていたので、その方がデータの受け渡しはスムーズかも。<関連記事>PostgreSQLにCSVデータをファイルから取り込む

HDDをSSDに変更してみたら体感速度が劇的アップ

SSDの速度が気になっていたので、自宅パソコンに導入してみた。買ったのはcrucial RealSSD C300 CTFDDAC064MAG-1G1元々システムパーティション(Cドライブ)は一つのHDDだったので、単純にこれを置き換え。クリーンインストールは久しぶりだったので、RAIDドライバの選択ミスで3回くらいやり直したけど、インストール自体は無事完了。OSインストール後のWindows Updateと必要なドライバ+ソフトのインストールが結構大変。メールは既にGoogle Appsを使ってクラウド化してあるので、GoogleデスクトップとGoogle トークをインストールしてアカウントを設定するだけで終了。やり方は前の記事を参考に。GmailとGoogle デスクトップで脱メーラー。メール通知アプリPCが壊れたときのバックアップにもなるので、大事なドキュメントはGoogle DocsやSky Driveを使ってクラウド化していきたい。これは別の機会にやる予定。実際SSDにしてみた感想は・・・体感速度が劇的アップ。OSの起動も早くなったし、ログインしてからアプリケーションが立ち上げるまでの速度が全然違う。「サクサク軽快」という感じ。CPUを速くしても思ったより体感速度が変わらない場合は、ハードディスクのread, writeがボトルネックになっている可能性があるので、SSDにしてみた方がいいかも。

Gmailフィルタメモ。必要なメールだけ携帯に転送

とっても強力なGmailのフィルタ。指定の仕方で特定のメールだけ携帯に転送したり、ラベルを付けたり、かなり柔軟に設定可能。やり方は下記サイト参照。Gmailの検索やフィルタで使用できるコマンド(演算子)一覧表会社のメールもGoogle Appsに移行して、必要なものだけ携帯メールに転送して便利に活用中。例えば、メルマガなど不要なメールは「受信トレイをスキップする」フィルタを設定(↓フィルタ例)条件: from:(info@hoge.jp OR magazine.jp)
処理: 受信トレイをスキップ, 既読にする, ラベル「メルマガ」を付ける最後に、携帯に転送するフィルタを設定(フィルタは上から順番に適用される)条件: in:inbox
処理: hoge@docomo.ne.jp に転送これだけだと、たくさん転送されて嫌な場合は、ラベルを指定したり、条件を自由に設定する。<関連記事>GmailとGoogle デスクトップで脱メーラー。メール通知アプリGoogle Email Uploaderを使ってGoogle Appsへ移行

Googleの類似ページ検索をAPI経由で利用できないものか

今見ているページと似た内容のページ(サイト)があったときに、GoogleのAPI経由で取得できたら絶対便利!と思って調査したメモ。例えば掲示板で質問したときに、同じような質問を前に誰かがしているかもしれないし、別のサイトで質問しているかもしれない(回答があるかもしれない)。調べてみると、Googleでも実装している最中みたい。米Google、類似したページを表示する検索機能を追加(2010/04/28)[Official Google Blog]Discovering pages “similar to” ones that you likeGoogle Chromeのプラグインとしてはベータ版だけど提供されている。Google Similar Pages beta (by Google)ちなみに類似画像検索はある。早くAPIから利用できるようになってほしい。

Mixi meetupに参加してきました。

先週の10日(金)はmixi meetupに参加するため東京まで出張。メインセッションが終わったあとに、偶然にもハタボウに遭遇。「久しぶりじゃん!」と言いながら、一緒に「Ask the engineers」に参加。質問するまでに結構時間がかかったけど、聞きたいことが聞けて良かった。グッと視野が広がった感じ。提案書を書きながら、メモした内容はあとで記事にしようかな(?)<関連記事>Mixi主催のカンファレンスに行ってきます

一つ前のiPod touchを1万円で買ってくれる人いない?

新しいiPod touchがappleから発表された。iPhone4との違いは電話ができない wi-fiがないとインターネットできない GPS機能がない(wi-fiの位置情報は使える) 薄い。iPhone4と比べて半分ぐらいの厚さ ぐらいかな?apple公式サイト違いについては下記サイトが分かりやすい[+D LifeStyle]2010年のクリスマスを飾る“最強”の布陣――新型「iPod」ファミリー徹底レビュー (3/4)前のiPod touchも持っていて、毎日便利に使っているが、カメラが内蔵されて、写真と動画が取れる。 マイクも内蔵されて、通話ができる。ボイスメモが使える。音声コントロールもおもしろそう。 Bluetooth経由のマイク(Jabra BT530)が使えれば文句なし。 これらがあまりに魅力的なので、すぐに買ってしまいそう。妄想中のアプリも作りたいしね。値段は価格.comでチェック!あと前のiPod touchを1万円で買ってくれる人募集!今でも売値は2万5千円ぐらい。スペックはこちら。前の記事では第2世代と書いたけど、第3世代のiPod touchでした。<関連記事>iPod touch 第2世代 32GB MC008J/Aを買った【レビュー】Jabra BT530と携帯(P906i)でハンズフリー