投稿

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

2012年は日本時間でおよそ30分。

ネットの技術よりのことを記そうとしてましたが、いつの間にやら今年も後30分ほどとなりました。

2012年といえば、2ch界隈をはじめ、なにかマヤ的ななにかがおきる!といわれていましたが、特になにもなく年越しを迎えそうですね(本時間的には)

ぼんやり考えれば、滅亡も何も、そんな話題ネットで目にしたりメディアで流れてなかったら知らなかったし、そもそもそれに触れる機会のない人たちにとっては全然かんけえないぜって話です。

ネットがあまねく広がったら、全世界的イベントっていうのは実現できるのかなどうだろうと思いながら年越しです。

それでは皆様よいお年をー。

wgetでパラメータがくっつかない問題とSEO対策への推察

サーバサイドで画像を動的にして、それを別のサーバでwgetなりして取得したい。というなんとも遠回りな実装を構想してみたのですがなんだか変。

wgetというのは、ターミナルとかコマンドでwebのコンテンツをとってくるやつです。ちなみにMac OSXだとデフォルトでは入っていないので、

$ brew install wget
などとしてインストールしないとダメです、ああhomebrew簡単。。。

などということで、解決したのでメモ。

動的に生成するにあたって、画像サイズをgetパラメータとして渡してます。が、この時に

http://[サーバ]/hoge.php?value1=1&value2=2

としてwgetすると、ターミナルには

Saving to '[サーバ]/hoge.php?value1=1'
と表示されて、それ以下のgetパラメータが取れなくなります。

これはなにかというと、wgetで&はバックグラウンドで実行の引数になるらしく、パラメータとして渡してくれないそうです

http://www.softel.co.jp/blogs/tech/archives/987

なので、wgetのurlの部分を""でかこってあげる必要がある。

が、今回はwget側はいじることができないみたいなので、画像を動的に生成する側を調整しなければならぬ。ぐぬぬ。
ということで、getパラメータを/で区切る作戦でいく事に。
で、パーマリンクってあったな。。。と思いだして、htaccessをおいてやったら、&を使わなくてよくなったので無事wgetできましたよと。

http://rikiy.jp/report/seo-sem/20090417.html

で、これに直面してガシガシやってて思ったののは、SEO対策で静的URLがいいって言われているのは、wgetやらでbotなりがコンテンツを取得するときに、変なパラメータのページだと読み込めなかったのね、、、という事が理解できました。

なぜ、静的がいいんですか?動的じゃだめなんですか?といった疑問も実際に手を動かす事で推察と理由が見えてくる。。。という秋の夕暮れ。

↓こういう本をそういえば持っていたけどちゃんとよんでなかった。

iPad miniにおける電子と書籍の重さ

イメージ
iPad miniを導入しましたよっと。

初代iPadを持っていて、毎日つかってはいたのですが。iOS6にはアップデートできない事、また、電子書籍を読むにはでかくないか、、ということで意を決しました。

iPhone5祭りには海外にいたため参加できず、その前のiPhone 4s祭りを考慮すると終電前ぐらいに並んでないと駄目かも、、とおもいつつも、iPad3のときにはさくっとその日のうちに買えていたということをふまえて、その日の始発ごろに並べばOKじゃね?というもくろみのもと、朝一でApple store渋谷へ。

あ、並んでる!ということで足早に駆けつけまして、1時間。HuluでNatinal geographicを見ながら待つと8時開店、そしてスムーズにすすんで8時半には購入だーんしてました。

さて、出社まで時間があったので、自宅で開封の儀、そして出社でした。

初代iPadもRetina iPadもそうですが、並べて持ってみると、なんだか重い。iPad miniが基準になると、なんてばかでかいタブレットをこれまで使ってきたのだろうと思う始末。人間ってコワイ。
で、しばらく使ってみての感想をいくつか

1. ステレオだ 事前にニュースがあったのですが、音がステレオです。従来のiPhoneiPadはモノラルだったので、音場が生じるデバイスに素直に驚きでした。画面の左右から違う音がでるというのはなかなか新鮮な感覚です。 ちなみに、どうも裏返してapple マーク見てるほうが音が良い気がします。これはおそらくスピーカーの穴の開いているのが微妙に裏側に向っているからかとおもわれます。これも不思議なかんじ。
2. 電子書籍だ! 電子書籍を読みたい!ということでkindleショップで初の本購入。 ぶっちゃけると、解像度は初代iPadと変わってないので鮮明さとかそういうところではなんとも言いがたいです。Retina iPhoneとくらべると、ちょっともやっとしてますし。 が、その筐体のサイズと重量が決定的でした。普通の本も平気で300g400gありますからそれとほぼ一緒。 カフェで読書、ごろりと読書、いつものあの重さで電子書籍をよめるのはナイスです。個人的な革新はココにあり。
3. Wifiモデルだ、、、 が、問題はWifiモデルということ。持ち歩くのが苦にならないので、どんどん外に出たいと…

phonegapでfacebookするにあたってのコピペミス

イメージ
https://github.com/davejohnson/phonegap-plugin-facebook-connect

ココを見ながらビルドしてみて、

cordova facebook connect plugin fail on init

などとでておかしいなぁとおもったんです。
が、res/xml/plugins.xmlに
<plugin name="org.apache.cordova.facebook.Connect" value="org.apache.cordova.facebook.ConnectPlugin" /> をコピペするんではなく、res/xml/config.xmlにコピペするんでした。
これでうごいたー。


解決法はこちらに
http://stackoverflow.com/questions/10254240/phonegap-facebook-plugin-connect-with-android


この本とかどうだろう、中身見てないけど。ジャケがかわいいですね。

cordovaめ

Cordovaを使って複数のプラグインを使うときに注意。 plugins.xmlを編集せよ、とありますが<plugin>で追加していくのは誤りで、
正確には<plugins>でかこってやらないといけないらしいです。 Error in an XML file: aborting build. というエラーがでます。わからないねー。

3G data sim, please!という旅をしてきたよっと

イメージ
海外にちょこっと行ってきたので通信状態についてレポート、といっても携帯のSIMを入手して刺してみるということです。行程は台湾→マレーシア→ベトナムです。それぞれの国でSIMをandroidスマフォに刺してネット、またiPhoneをテザリングしてつかってました。うーん、ネットができるととたんに便利。

1. 台湾 台湾桃園国際空港で入手しました。バス乗り場の近くのカウンターに3社ほど並んでます。中華電信という会社のものを選択。"3G data SIM, please!"で行けます。 トランジット滞在で1日しか使うつもりは無かったんですが、1日のモノは扱ってないということで3日のモノを選択。細かい価格を忘れてしまったのですが感覚としては500-600円くらい?だった気がします。パスポートの提示が求められます。あと、他の身分証を見せてとも言われた記憶があり、運転免許証を見せました。 PINロックがかかってるのが若干面倒。APNの設定でInternetと入力するとメモをもらったのですが最初Znternet?に読めてつながらずアセりました。 手元の計測結果は、下りが平均1200k、のぼりが140kとなかなか快適に使える速度でした。 google mapで町歩きをしたので、ホント助かった!
↓下記にプランが載ってました。250元とあるので、およそ650円くらい。間違ってなかった! http://www.emome.net/data_connect_plan/prepaid
2. マレーシア マレーシアでは、到着したKL国際空港にもSIMカウンターがありました。が、これ不思議なことに入国審査のゲートの前、にあるんです。また、丁寧なことに両替所も隣接。さくっと入手する事可能です。 が、ここでは入手はしませんでした。入国審査にちょっと時間がかかったので、契約しとけば時間つぶせたなぁとちょっと残念でしたが。 マレーシアでは知人と一緒に行動してたので、電気店にGoしました。マレーシアにもいろいろな通信会社があるみたいで同じような値段でプリペイドSIMを売っていました。が、同じだけに決め手に欠けてどうしよう、、、としてたときに、元気の良いおばちゃんにつかまったので決めました。
U mobileという会社のSIMカードで1ヶ月のプリペイド。28RM(マレーシアリンギット)、これ…

R.drawable.iconが使えないときは

イメージ
androidの開発をがしがしやっておりますよっと。

が、素人でかつ、参考書を丸写しをするとどうしてもつまづくところがあり、いままではそこで放置してましたが、意を決して調べました。

具体的には、R.drawable.iconという記述が昔の参考書にはでてきます。

が、現在のeclipseとandroid sdkでターゲットを2.3.3などとしていると、このR.drawable.iconが使えないぞ、そしてそもそもR.javaというのができていないぞ、という問題に直面してました。

そもそも、R.javaとは何ぞや?というところなのですが、うっすら理解したところだと、プロジェクトの中のリソース(Resource)のリストみたいな働きをしているらしい、と。



で、これは、勝手にsdkのなにかがリソースをがしがし集めてきてリストにしているらしい。

整理すると、、、

1. R.javaができない。
これはいくつか理由があるらしいのですが、xmlファイルにエラーがあるとできないらしい。それで、勝手にできるメニューのxmlを消すんですがエラーが消えず、なぜ?とおもっていると、consolに
res/raw/Emptiness.mp3: Invalid file name: must contain only [a-z0-9_.]
と表示される事にきづきました。つまり、大文字だめよ、ということらしい。
なので、リネームしてやるとまずはクリア。R.javaができました。

2. R.drawable.iconが使えない。
これは、新しいsdkでプロジェクトをつくると、そもそも、icon.pngというファイルが生成されず、ic_launcher.pngというのができる。なので、まず、iconの部分をic_launcherに書き換える必要があります。
つまり、

R.drawable.icon, を
R.drawable.ic_launcher
と書き換えればOK。でも、drawableというフォルダないじゃん、てことなんですがここも、osなりが勝手に自分の画面解像度に合わせたリソースを読んだり、たりないのは他のフォルダから読み込んできたりするらしいので、R.drawable-hdpiとかにする必要がないらしいです。実際にR.javaをよむと、

public static final clas…

Android+ArduinoでとりあえずLogcatだせたよっと

イメージ
久しぶりにarduinoをいじる、そして目的はandroidに接続する、ということで、さくっと行くかとおもったら思いのほかツラいので現段階のメモ

1. ADKが使えない。 そういえば昔ADKってあってAndroidさんのお腹を空けたな。。。とおもってたんですが、そもそもeclipseのandroidプロジェクトの使い方が変わっていて苦しかった。ここから落としました。
http://developer.android.com/intl/ja/tools/adk/adk.html
が、昔のeclipseなら既存のファイルを読み込むのがあったけど、今見当たらないぞ、、、と。何のことはない、New ProjectでAndroid Project from Existing Codeを選べばよかった。

で、droidさんのお腹は開いたんですが、相手のarduinoのプロジェクトがうまく動かないので、断念気味。

2. そういえばMicrobridgeってあったな。。 この方法じゃなくてなにかあったな。。。ということでandroidはSperkFunのUSBシールドをつかっています。
これって別の接続方法があったな、、、ということで調べますとございまいした。先人に感謝 http://act-yoshiken.blogspot.jp/2011/08/microbridgedemo.html で、さくっと配置するんですが、ビルドエラーなどなど、、、でこちらも調べますと、どうやらwiring.hというのがarduinoの1.0以上で使えなくなったらしい。 ということで下記のようにいくつかのファイルを書き換えてみる。 http://ameblo.jp/henachokox/entry-11144854718.html
すると、ビルドは通るようになったけれど、ためしにサンプルからLogcatを実行すると数字ばっかりでて変。
これも、バージョンアップに伴う変更でおかしくなったところらしく、サンプルスケッチの
Serial.print(data[i])

Serial.write(data[i]);

に書き換えると動くらしい。ということでうごかして見たところちゃんと動きました!(S51SE というxperia miniもどきで、Nexus Oneは動かず、なのですが) http://code…

新しいAirMac Expressを投入したよっと

イメージ
あ、また書いてない!ということで書きますよ、とはいえ今回はガジェット系。AirMac Expressを導入しました!ちなみに、日本だとAirMacですが、海外だとAirportって言われてます。
従来は普通のWifiルータをつかっていて、それほど不満は無かったのです。が、Retina macと一緒にひっそり登場したAirMac Expressが気になってました。 スペック的には801.11nのデュアルバンド対応、で、おそらく速度も速くなってます。今まで使えなかったプリンタ接続や音楽送信ができて面白い。
が、決めてはやっぱりこのデザイン。他社が周辺機器です、という形をしているのにも関わらず、新しいAirMac Expressは手のひらサイズの白い筐体。カッコウィイ! 以前購入したApple TVと同じサイズで一緒に使うのも楽しい。こういうデザインの世界感が良いです。



設定はというと、AirMac ユーティリティで一発でできます。これも簡単便利。

設定のこつとしては、DHCPで既にアドレスが振られるネットワークに追加する場合は、デフォルトだとNATしてルータになるんですが、LEDがオレンジピカピカして鬱陶しいので、ブリッジモードとするとよいです。


ただし、細かい設定として例えばPort foword設定がデフォルトではできなかったり、MACアドレスフィルタリングができなかったり、などと、他のルータと見比べるとカスタマイズ性はちょっと低い。
それでも他がアンテナが生えてたり、グネグネした筐体なのと比べてのカッコウィイ感じは別格。
うーん、これに見合うだけのworksを出さなければ!

追記0714 MACアドレスフィルタリングはできた!




GAME GAME design

はっ、最近かいてない!ということでかきますよっと。

http://www.idea-mag.com/jp/publication/352.php

とはいえ、きょう立ち読みしていてハッとした雑誌があったのでご紹介。月間IDEAというデザイン系の雑誌があるのですが、特集がGAME GRAPHIC。黎明期のゲームにまつわるデザインはどうだったのか?という作例とともに紹介されています。

ゲーマーであれば、あ、あのゲーム!という懐かしさを覚える方もいらっしゃるのだろうと思いますが、残念ながら私自身はゲーマーではなかったので、はて、友達の家とかゲーセンとかにあったかな?という印象しかないのです。

ですが、IT関連を生業にしておりますので、デジタルグラフィックとはどういうふうに進めたらいいのかという悩みに対して、一つのヒントをもらえるような気がしました。

一つは、ゲームのロゴデザイン。機能的にシンプルな造形とは異なった、派手なデザインというのは、どういうもんかという参考になります。ぐねぐねしたロゴはやっぱり最初は手書きでやらないと上手くできないなという印象。制約があったからこそパッケージは派手に豪華にしようといういともあったらしい。

また、ドット絵やフォントのつくりも、なかなか苦労が忍ばれる感じで良いです。ちまちまと一つずつ片付けていくのは根気がいりますが、やり遂げると妙な充実感があるだろうなぁと思います。

こういうデザイン物の歴史とか変遷とかって、まとまっているのかどうかわかりませんが、デザインの切り口で目にするのは実は初めてではないかなぁと。いやー、勉強になります。

いかんせん、この雑誌高いんです。おしゃれデザイン事務所は定期購読しているのかもしれないけれど。だれかくれないかな。。。


ライトウェイトデザインアプリ続く UIのモックアップ作成!

イメージ
UIデザインっていっても、日々道半ばである日々ではあります。

で、デザインっていってもフェイズによっていろ色ありまして、きちっと絵をつくる段階もあれば、手書きのフニャフニャした絵を描く段階もあります。

これらは、一枚の絵として表現する訳ですがはて、動きをつけようとするととたんに煩雑になります。動的にUIを表現するとどうしようと思います。だからこそ、コンピュータなんじゃねぇかと思いまして、AppStoreでお手頃なアプリを使ってみてます。


SwordSoft Layout
カテゴリ: グラフィック&デザイン
価格: ¥600


これはようはUIの導線をワイヤフレームレベルでサクサクつくることができます。おもしろいのは、ボタンを押した後に別のシートに飛ぶのがおもしろい。Keynoteなんかでもできますが、UIの画像に設定できるから便利。



こんな感じで、シミュレーションもできます。動くのは、楽しい!問題はこれで満足しちゃだめで、これを実装する事ですね。。。がむばろう。

phonegap1.3.0のandroidが動かない場合の対応

phonegapをandroidで実行しようとすると、予期せず終了してしまう問題、とぎれとぎれマニュアルどおりにやっても動かないので、ググってみたところ

https://groups.google.com/forum/#!topic/phonegap-fan/aqKkzcTfjPQ

/res/xml

plugins.xml
が新しく必要になるらしいことを知る。apiドキュメントに無いー。

Lifegameを動かしてみるよ。

イメージ
twitterのタイムラインにLifegameの投稿があったので、サンプルをうごかしてみましたよ、と。

ライフゲーム - 人工知能に関する断創録

リンク先にあったのがpythonでの例でこれ幸いとばかりに動かしてみました。サンプル掲載感謝感謝!
が、pygameというライブラリが無いと言われるので、MacOSX 10.7 Lionの実行環境構築からやります。

portからインストールしたらいいのかな?ということで

sudo port install py-game

とやってみたんですが、importしてもどうもライブラリを読まない。
portでインストールしてるpythonとApple提供のpythonと違うものを使っているみたい。で、自分の環境だとApple提供のままみたい。
環境を一緒にする、というテクがないので、依存関係を考慮しながら一個ずつビルドするの!?めんどい!とおもったところ、pygameのサイトでインストーラがダウンロードできました。

http://pygame.org/download.shtml



Lion apple supplied python: pygame-1.9.2pre-py2.7-macosx10.7.mpkg.zip

をダウンロードしてインストールで問題なく実行できました。
ただ動かすだけですが、なかなか息の長い配列にならず、すぐ定常状態になっちゃうのが残念なところですが、ぶわっと動いていくさまは面白いですねー!


あけおめ2012とMySQLのチューニング

あけましておめでとうございます。ということで、新年早々にもかかわらずパソコンに首ったけになってますよーと。

年末は忙しいこともあって放置していたサーバ周りの設定を確認したり、改めて開発環境の構築をしたりしているのですが、、、
サーバの引越をこころみているのですが、とあるVPSが重くてどうも引越が心もとない。Topをするとメモリ喰いまくっているので、なにかが悪い、メールかな?とおもって止めてみても、こちらはそれほどメモリ喰っていなくて、そうするとweb周り、となるとmysqlなんじゃないかと止めてみると、あたりでこれがメモリを食っている。
wordpressを動かす関係で、MySQLは5.5.19を使ってます。で、どうもinnodbというのがメモリを喰うらしく、
/etc/my.cnf の
[mysqld]
のセクションに skip-innodb と書くといいらしいのですが、こうすると起動できない。なので、ググってみますと、


skip-innodb
default-storage-engine=MyISAM

と書いてやると起動することができました。

今のところ全体で230MBでぎりぎり動いているようなので、これで様子を見たいと思っています。新年も新たに早く引越したいぜー。