. てやんでい!職人気質 ブースターテクノロジー Webシステム開発 . .

社長日記

まだまだ続くIE6対応

IE6ユーザはまだまだ多い。
2011年時点、日本では10%程度とのことだが、体感的には30%くらいいるのでは?と思ってしまう。

それゆえHTML+JavascriptサイトではIE6対応に割く時間も当然多くなる。
JavascriptはjQueryがかなり吸収してくれているが、CSSに関しては問題が多い。

■はまった点
IE6にて外側にoverflow:auto;を指定していた場合、内側にpositon:relative; を指定するとはみ出る!

■対応
外側にも『positon:relative;』を指定すればOKの模様。

こんな状態でHTML5でシステム作ろう!とかいう流れは大丈夫なのだろうか?と単純に思ってしまう。
せっかく作っても『あの~、IE6で動かないんですけど。』と普通にいわれるだろう。

そういう意味ではFlashプラグインって非常に優れた仕組みだと思うのだが、アンチFlashみたいな流れになっているのが残念。

--
2011年12月25日


2歳児でも使えるiPad

iPadのすごさは2歳児でも普通に使えること。
文字も数字もわからなくても使える。
ウチの2歳児はiPadを使いこなしている。

遊び飽きてくると、iPadを探しだし、
・YouTubeを起動。履歴をクリックし、過去にみた動画を見、関連動画タブから面白そうな動画を見、またその関連動画を見ている。
・iPadにいれておいたビデオを見始める
・操作がわからなくなってくるとホームボタンを押してトップに戻ってやり直している
・太鼓の達人をやり始める

など。恐らくどの2歳児でもできるだろう。
直感的でわかりやすいということが見事に証明されている。

タッチパネルであることはもちろんだが、秀逸なのはフロントの物理ボタンが1つだけということだろう。
何か問題があってもホームボタンを押せばトップには戻れる。
迷いようがない。説明不要で体験でわかる。

このシンプルさがいい。
これはソフトウェアの画面設計でももちろんいえることだが、シンプルにするって実はすごく難しい。
ついボタンをペタペタ配置してしまう。
画面を作ったとき『2歳児でもわかるか?』と自問しながら作っていくことにしよう。

--
2011年10月26日


タブレットに自由を

そろそろタブレットもDellのPCみたいにカスタマイズ注文できるところが出てきてほしい。

・初期OSはAndroid4.0で
・前後のカメラは不要です
・CPUはデュアルコアで
・メモリ1GBで
・HDDは20GBで
・ジャイロセンサーつけて
・風力センサーつけて
・放射線センサーつけて


みたいな。現実的にはなかなか難しいとは思いますが。

先日のCEATEC2011にてスマートフォンに、外付けのジャケットをつけることでさまざまな外部機器に対応するというのがありました。そこでデモ展示されていたのは、
・匂い、アルコールセンサー
・放射線センサー
・体脂肪測定
です。体重計や万歩計とFelica通信してデータを管理するようなものもありました。

企業がタブレット使う場面は色々あるとは思うのですが、倉庫で使う場合など温度センサーがついていると便利だし、RFIDセンサーで在庫確認ができたるすると便利だろうし、カメラで証拠写真も取れるし。
タブレットが活躍する場面は多々あると思うので、タブレットの進化に期待。

--
2011年10月24日


AndroidのAlarmManagerメモ

AlarmManager で定期的に実行する処理を仕込めるので便利。
OSレベルの設定になるので、アプリが終了しても生き残る。

ただし、電源切るとクリアされてしまう。
再起動後も定期処理を行いたければ、起動時のイベントが拾って再度AlarmManagerを起動すればOK。

で、android.intent.action.BOOT_COMPLETED というアクションを拾えるのでそれを受けるReceiverを作って対応できた。

--
2011年10月20日


Flex + PHP + IE + SSLでのエラー

IE8にてFlexからHttpServiceを使ってPHPにアクセスして結果をもらうだけ。
http での通信は当然問題なし。
ただhttps にするとIOError になってしまった。
GoogleChrome、FirefoxからであればOK。
ということでIE独自の問題と。

結論からいうとPHPにてecho する前に以下を入れて対応。

header ("Cache-Control: cache, must-revalidate");
header ("Cache-Control: no-store");
header ("Pragma: public");

→ (参考)
http://www.blog.lessrain.com/flash-nasty-xml-load-bug-in-internet-explorer/

はまります。
お気をつけてください。

--
2011年10月07日


MySQLでクエリキャッシュ

MySQLでクエリキャッシュは非常に便利なのですが、 prepared statement を使う時は注意が必要で、MySQL5.1.17 以降でないと効かない!
→ MySQLマニュアル

例えばそれ以前のMySQL 5.0.77 などの場合、普通のSQLはキャッシュされるが、prepared statementで実行したSQLはキャッシュされない。

■キャッシュの設定例
my.ini または my.cnf にて
query_cache_size = 30000000
を追加し、MySQLを再起動。
確認は以下のコマンドでわかる。
show variables like 'query_cache_size';

■キャッシュ状況は以下のコマンドでわかる。
show status like 'Qcache%';

少しハマってしまったので備忘録として残しておきます。

--
2011年09月22日


jQuery Mobileを使ってみる

jQuery Mobile を使ってみた。
→ サンプル

アプリ化する必要がないものまでアプリにする?
課金ができないから?ローカルで動かしたいから?

html + Javascript で充分ならばそれでいいじゃん、と思う。

--
2011年08月19日


Adobeはケータイを作らないのか?

Adobeはケータイを作らないのか?
Flash完全対応で、Flashのアプリしか動きません、くらいの作らないかな。
独自のOSを持ってないのがネックか?

Apple ⇒ iOS
Google ⇒ Android
Microsoft ⇒ Windows
Adobe ⇒ ??

※ 近々発売のWindows Phone ではSilverlightが動くらしい。
Microsoftの携帯なので当然か。
ハードウェアアクセラレーションでサクサウ動く模様。
Silverlightの開発案件が増えるか??

--
2011年07月08日


PECL拡張モジュールの単体テスト

PECL拡張モジュールの開発中、いちいち生成されたDLLをextension_dir に移動し、apache再起動なんて手間がかかること正直やってられない。
何か方法はないかと探していたらコマンドラインにて確認できた。

例えばhello.phpというドライバを作ってDLL中の関数をコールする。

■DLL
DLLには fooとgetSummaryという関数をつくっておく

■hello.php
<?php
echo foo()."\n";
echo getSummary(33)."\n";

■実行
> php -d extension="..\..\hello\Debug\hello.dll" hello.php
※extension_dir からの相対パス

これでコマンドラインにて単体テストができた。

--
2011年07月06日


Windows環境でPECL拡張モジュール作成

Windows環境でのPHP Extension(PECL拡張モジュール)作成手順について。
Linuxでの作成手順は多く書いてあるが、Windows用の情報が少なく、環境構築に時間がかかってしまったのでそのまとめ。

■環境
・Windows7
・Apache2
・PHP 5.2.3
・VC++6.0

■前提
・Windows用PHP 5.2.3 がApacheで普通に動作していること
・PHP 5.2.3 のソースがあること
・pearのpecl-genがインストールされていること

■準備
pecl-genにて『Hello World』を表示するソースを生成
・hello.c
・php_hello.h

■手順
・VC++にて『Win32 Dynamic-Link Library』プロジェクトを作成。プロジェクト名『hello』
・hello.c、php_hello.h をプロジェクトに追加する。

pecl01.png

・次にプロジェクトの設定を変える
☆『C/C++』タブ
・一般にてデバッグ情報を『プログラムデータベースを使用』にする
pecl02.png

・コード生成にて使用するランタイムライブラリを『マルチスレッド(DLL)』にする
pecl03.png

・プリコンパイル済みヘッダーを『使用しない』にする
pecl04.png

・プリプロセッサにて
PHP_WIN32
ZEND_WIN32
ZTS=1
ZEND_DEBUG=0
HELLO
COMPILE_DL_HELLO

をカンマ区切りで追加する。

・インクルードファイルのパスを設定する
C:\php-work\php-src
C:\php-work\php-src\main
C:\php-work\php-src\Zend
C:\php-work\php-src\TSRM
C:\php-work\php-src\regex

をカンマ区切りで追加する。

pecl05.png

☆『リンク』タブ
・c:\php\dev\php5ts.lib をモジュールに追加

pecl06.png


■ビルド
29KBくらいのhello.dll が生成されるので、ext フォルダにコピー。
apacheを再起動し、phpinfoに表示されることを確認

■注意
ビルドはすぐに通るようになるが、コンパイルオプションを正しく設定しないとNGで、phpinfoに表示されない。apacheのログに
PHP Warning: PHP Startup: Invalid library (maybe not a PHP library) 'hello.dll' in Unknown on line 0
と出てしまう。

■参考
http://gihyo.jp/dev/serial/01/php-module/0002
http://archive.devnewz.com/090902b.html
http://blog.slickedit.com/2007/09/creating-a-php-5-extension-with-visual-c-2005/

--
2011年07月05日


FlexSDK 3.6が出ていたのでメモ

2011年3月にFlexSDK3.6が出ておりました。
早速使ってみます。

FlexSDKをダウンロード

DATA VISUALIZATION COMPONENTS も一緒にダウンロード

■FlexBuilder3のSDKのフォルダに解凍。
これだけだとAdvancedDatagridなどが使えない。

■datavisualization も移す。
flex_sdk_3.6.0.16995\frameworks\libs\datavisualization.swc
flex_sdk_3.6.0.16995\frameworks\locale\ja_JP\datavisualization_rb.swc

ComboBoxのバグなどが直っております。

以上、メモ。

--
2011年07月01日


YahooAPIは実質有料化?

YahooのAPIはありがたく使わせていただいていたのだが、
やたらとエラーが出るようになった。

『Service unavailable. Too many users』

正直、使い物にならない。
どうしようと思っていたら、アップグレード版検索というのが出来たらしい。2011/3/31から。

■Yahoo!プレミアム会員
■Yahoo! BB会員
■Yahoo!ウォレット

のいずれかの登録が済んでいる必要がある。
Yahoo!ウォレットは無料でいけるのかな?
試してみましょう。

--
2011年06月16日


MotoralaのXOOM欲しい

MotoralaのXOOMが欲しいと思い、横浜のヨドバシカメラにて実機を触る。

少し重さは感じる。
FlashPlayerは残念ながらインストールされていなかった。
Andoridマーケットから勝手にインストールしたらさすがにまずいし、
店員さんにお願いすればやってくれたのかもしれないが、皆さん忙しそうなので見送った。
今度お願いしてみよう。

それにしても6万5000円は高い。
iPad2より高いけどそれはよいのだろうか。

Andorid3.0でAndroid臭がなくなってスタイリッシュになった気がする。
プロセッサも高性能で、さくさく動く。
ハードボタンがないので、どうやってトップに戻るのか少しわからなかった。

次回はFlashのアプリがどの程度動くのかを見させてもらおう。

--
2011年06月14日


tcpdf でパスワードの設定

tcpdf の SetProtectionメソッドでPDFの保護設定が可能。

例)印刷を禁止し、閲覧パスワード「aaa」をセットする。
$pdf->SetProtection( array("modify"), "aaa" );

参考)
class TCPDF : メソッド SetProtection

--
2011年02月21日


OpenCVで画像認識

数年前、デジカメで顔認識が出て「どうやってるんだ?」と疑問を持っておりました。その後、OpenCVというライブラリに出会い、画像認識(パターン認識)というものがあることを知りました。
 
利用分野として
・がん細胞の検知
・ぶつからない車
・文字認識
・手相占い
 
などで使われており、
画像認識を専門でやっている会社も多く、応用分野が多そうな技術です。
定点カメラを置いておいて、指名手配犯の顔を認識したらアラート出すとか、工業製品の不良品を検出するとかそういった使い方もできるのかな。
これからも追っていこうと思います。

--
2011年01月13日


問い合わせフォーム修正

弊社HPの問い合わせフォームにおいて、
一部不具合がございました。

現在は修正し、正常に稼動しております。
ご迷惑をおかけし、大変申し訳ございませんでした。

--
2010年12月28日


FreeHandMemoリリース

FreeHandMemoという手書きメモのiPhoneアプリをリリースしました。

・UITableView
・SQLite
・タッチイベント
・pushViewController、popViewController

などを使っています。
このアプリもサンプル的な意味合いが強いですが、自分が欲しいと思ったので作ってみました。
電車の中で手帳出してボールペン出してというのが面倒だし、文字入力するより手書きの方が圧倒的に早いですから。
もちろん競合するアプリがあるのですが、弊社の実績を作るためにも自作してみました。

--
2010年12月17日


Androidで埋め込みフォント

Androidでも埋め込みフォントは普通にできる。

■環境
Android SDK 2.2

■まずフォントを用意
デジタル数字っぽいものを出したかったので検索すると、
7barというフリーフォントがあったので使用させていただく。感謝。

■assetsへコピー
7barP.TTFをassetsへコピー

■フォントをセット
Typeface クラスを使ってフォントをロードしセットする。

Typeface face = Typeface.createFromAsset(getAssets(), "7barP.TTF");

TextView tv = (TextView)findViewById(R.id.title);
tv.setText("0123456789");
tv.setTypeface(face);

■確認
android_font.png

--
2010年12月13日


eclipse3.5に戻す

eclipseを最新にしようと思い、eclipse3.6 を使ってみたのだがコード補完が重すぎて使い物にならない。
何事もなかったかのように 3.5 に戻ることとする。

少しテストすればわかるレベルだと思うのだが、「Eclipse Foundation」は運営が大変なのであろうか。
資金もだし、人的リソースもそうだし、Open Source Community の大変さが伺える。

お世話になっている人みんなでDonateしないともしかしたらEclipse自体がなくなっちゃう??

--
2010年12月10日


Retina Display Icon Set

iPhone4用のアイコンセットで良いのを見つけた。
→ Retina Display Icon Set
 
サイズは3タイプで、種類も豊富。
商用利用もOK。
ありがたく使わせていただきます。

--
2010年12月08日