Ai-Tacos Blog エーアイ・タコス ブログ
最近ブログ更新してませんでした
- 2011-10-25 (火)
- 雑記
なかなか更新するタイミングがなく放置していましたが、
ネタはたくさんあるので落ち着き次第またどんどん更新していきたいと思います。
最近はExtJS4によるRIA開発を行っているので技術的なTIPSをどんどん公開していきたいですな。
とても良いJavascriptフレームワークでjQueryなどとの同居も可能なので表現の幅がとても広いです。
今後はSencha・ExtJS4案件もどしどし増やしていきたいです。
スマフォ用のWebサイト、WebアプリならSencha。
PC用のWebサイト、WebアプリならExtJS4。
最近GoogleMaps API for Flashの開発が終了してしまうという残念なニュースがあったので、
せっせこJavascript版のV3に移行しています。
この辺もExtJS4ベースで作り直しているのでサンプルなどを公開していきたいと思います。
そう思っている所にFlex4.6の話もありネタには尽きないです。
Stage3Dにも手を付けたいですし。
複数シートの名前一覧を取得する方法 – Excel2010
- 2011-09-14 (水)
- Excel
Excel2010にて複数シート名一覧の取得方法
1.ALT+F11を押下(VBAエディタが起動)参考:
2.CTRL+Gを押下(イミディエイトウインドウが起動)
3.「For Each i In ThisWorkbook.Sheets: debug.print i.name : next i」をタイプしてEnterを押下
4.シート名をコピー
5.VBAエディタを閉じる
【VBA】Excelのシート名一覧を取得する方法
Labelに収まりきらない文字を3点リーダーで表記する – lineBreak, maxDisplayedLines
- 2011-07-29 (金)
- FLEX4
デザインや動的なサイズ変更によってLabelに文字列が収まりきらずに見切れてしまうことがあります。
それでは良くないので3点リーダーを用いて文の続きがあることを示す必要があります。
SparkコンポーネントのLabelでは、lineBreak, maxDisplayedLinesを指定することで見切れる文字列がある際に自動的に3点リーダーを表示してくれます。
<s:Label height="48" y="161" left="10" right="956" lineBreak="toFit" maxDisplayedLines="-1" text="01234567890123456789012345678901234567890123456789012345678901234567890123456789"/>TextBase – Adobe® Flash® Platform 用 ActionScript® 3.0 リファレンスガイド
AIR for iOSでのGeolocation(ロケーションセンサー)とAccelerometer(モーションセンサー)の使い方
- 2011-07-23 (土)
- AIR for iOS | FLEX4
AIR for iOS(またはAndroid)でのGeolocationとAccelerometerの使い方です。
簡単に端末機能を使用できますね。
特筆するものとして、
Geolocation(ロケーションセンサー)では、緯度経度、高度などの他に方角が使用できるという点。
Accelerometer(モーションセンサー)では加速度・傾きを使用できる点(Wii リモコンと同じ)。
方角と傾きの使い方次第で色々なことができそう。
ただ残念なことに、AIR for iOSではバックグラウンドでの処理が行えないので利用に制限がある。
(試していないけどAndroidも駄目だろう)
<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
creationComplete="view1_creationCompleteHandler(event)"
title="HomeView">
<fx:Declarations>
</fx:Declarations>
<fx:Script>
<![CDATA[
import flash.sensors.Accelerometer;
import flash.sensors.Geolocation;
import mx.events.FlexEvent;
protected function view1_creationCompleteHandler(event:FlexEvent):void
{
if (!iniGeolocation())
{
cLog1.text = "位置情報を使用できません";
}
if (!iniAccelerometer())
{
cLog2.text = "加速度情報を使用できません";
}
}
/***********************************************************************
*
* Geolocation
* http://help.adobe.com/ja_JP/AS3LCR/Flex_4.0/flash/events/GeolocationEvent.html
*
***********************************************************************/
protected var geo:Geolocation;
protected function iniGeolocation():Boolean
{
if (!Geolocation.isSupported)
return false;
geo = new Geolocation();
if (geo.muted)
return false;
geo.setRequestedUpdateInterval(1000);
geo.addEventListener(GeolocationEvent.UPDATE, geoUpdateHandler);
geo.addEventListener(StatusEvent.STATUS, geoStatusHandler);
return true;
}
protected function geoStatusHandler(event:StatusEvent):void
{
if (geo.muted)
geo.removeEventListener(GeolocationEvent.UPDATE, geoUpdateHandler);
}
protected function geoUpdateHandler(event:GeolocationEvent):void
{
cLog1.text = ""
+ "緯度\n" + event.latitude.toString() + "\n"
+ "経度\n" + event.longitude.toString() + "\n"
+ "高度(メートル単位)\n" + event.altitude.toString() + "\n"
+ "速度(m/秒)\n" + event.speed.toString() + "\n"
+ "方角(整数)\n" + event.heading.toString() + "\n"
+ "水平精度(メートル単位)\n" + event.horizontalAccuracy.toString() + "\n"
+ "垂直精度(メートル単位)\n" + event.verticalAccuracy.toString();
}
/***********************************************************************
*
* Accelerometer
* http://help.adobe.com/ja_JP/AS3LCR/Flex_4.0/flash/sensors/Accelerometer.html
*
***********************************************************************/
protected var acc:Accelerometer;
protected function iniAccelerometer():Boolean
{
if (!Accelerometer.isSupported)
return false;
acc = new Accelerometer();
if (acc.muted)
return false;
acc.setRequestedUpdateInterval(1000);
acc.addEventListener(AccelerometerEvent.UPDATE, accUpdateHandler);
acc.addEventListener(StatusEvent.STATUS, accStatusHandler);
return true;
}
protected function accStatusHandler(event:StatusEvent):void
{
if (acc.muted)
acc.removeEventListener(AccelerometerEvent.UPDATE, accUpdateHandler);
}
protected function accUpdateHandler(event:AccelerometerEvent):void
{
cLog2.text = ""
+ "加速度 X\n" + event.accelerationX.toString() + "\n"
+ "加速度 Y\n" + event.accelerationY.toString() + "\n"
+ "加速度 Z\n" + event.accelerationZ.toString();
}
]]>
</fx:Script>
<s:VGroup left="10" right="10" top="10" bottom="10" gap="10">
<s:TextArea id="cLog1" width="100%" height="100%"/>
<s:TextArea id="cLog2" width="100%" height="100%"/>
</s:VGroup>
</s:View>
続: FlashBuilder4.5.1からiOS出力した感想
- 2011-07-17 (日)
- AIR for iOS
先日、FlashBuilder4.5.1からiOS出力した感想を書いた時に、
「FLARToolKitは一応そのままでも使用できましたが残念なほど動作が重たい。」と指摘しましたかなり思い違いがあったみたいです。
実は実機でのデバッグ実行のみの感想でしたが、先ほどリリースビルドしたものを動かしてみたらデバッグ時の何倍もスムーズに動きました。
リリースビルドを行うと実機での確認に結構な時間がかかるのでデバッグ実行のみで確認していましたが、ここまでレスポンスの差が大きいと実機デバッグの意味をなさないような感じもする。
なので基本はデスクトップのままデバッグを行い、ある程度の区切りごとにリリースビルドを行ってレスポンスの確認をするほうが良いのかもしれない。
なお、パッケージ化の方法で標準を選んだとしてもリリースビルドと同じパフォーマンスにはならなかった。
ちなみに同じ内容のアプリをFlexモバイルプロジェクト・Actionscriptモバイルプロジェクトで確認した所、後者の方が若干レスポンスがよい。
当然ながらファイルサイズも小さい。
が、それほど変わるものではないことが分かったことは嬉しい収穫でした。
ini_setや.htaccessで変更した設定オプションの確認 – ini_get_all()
- 2011-07-14 (木)
- PHP
php.iniに設定された値をphp内や.htaccessから変更した後の設定オプションを確認するにはini_get_all()を使う。
http://php.net/manual/ja/function.ini-get-all.php
以下はini_get_all()で取得したオプションを表示しているサンプル。
echo "<table border=1>";
echo "<tr>";
echo "<td>name</td><td>global_value</td><td>local_value</td><td>access</td>";
echo "</tr>";
foreach (ini_get_all() as $name => $value)
{
echo "<tr>";
echo "<td>$name</td><td>{$value['global_value']}</td><td>{$value['local_value']}</td><td>{$value['access']}</td>";
echo "</tr>";
}
echo "</table>";
nameは、オプション名
global_valueは、システム側の設定値
local_valueは、変更した後の設定値
accessは、このオプションを変更できる条件
具体的には、
| モード | 値 | 意味 |
|---|---|---|
| PHP_INI_USER | 1 | ユーザスクリプト (ini_set()などで) または Windows レジストリで設定可能なエントリ |
| PHP_INI_PERDIR | 6 | php.ini、.htaccess または httpd.conf で設定可能なエントリ |
| PHP_INI_SYSTEM | 4 | php.ini または httpd.confで設定可能なエントリ |
| PHP_INI_ALL | 7 | どこでも設定可能なエントリ |
レンタルサーバーによっては特定のオプション設定をユーザーが変更できない場合もあるので、
エラーが起こったり設定を変えても変化がない場合はチェックしてみるとよいかも。
たとえばファイルアップロードに関する制限を確認したり変更するなら次のオプション名は要チェック。
file_uploads
upload_max_filesize
max_input_time
memory_limit
max_execution_time
post_max_size
http://www.radinks.com/upload/config.php
spark.components.Imageの読み込んだ画像の元サイズ
- 2011-07-13 (水)
- FLEX4
sparkのImageコントロールに読み込んだ画像の元サイズは sourceWidth と、sourceHeight で取得できる。
http://help.adobe.com/ja_JP/FlashPlatform/reference/actionscript/3/spark/components/Image.html
ちなみに「enableLoadingState」をtrueにすることで画像ロード中にプログレスバーを表示できるらしい。
http://textt.net/hajime/20101005170618/5
混ぜて下げたら基準値以下&名古屋近郊の放射線量
- 2011-07-11 (月)
- 放射線
最近テレビでよく見かける武田邦彦さんのブログに気になる指摘がありました。
http://takedanet.com/
混ぜてベクレルを下げると基準以下となる点
7月11日の記事「誠実な社会を取り戻したい・・・牛乳と柏市の放射線」から引用事故直後は、北海道産の牛乳は北海道産でしたが、今では、福島、茨城、千葉の牛乳は大量に西日本に送り、 そこで、「汚染された牛乳」と「綺麗な牛乳」をまぜて、ベクレルを規制値以内に納めていることも分かってきました。 つまり、政府が「規制値を下回ったものを拒否するのは風評」と言い、それにのって業者が「混ぜてベクレルを下げる」ということをしているのです。 もちろん、政府も業者も「罪の意識」がありますから、発表しませんし、マスコミの調査も隠されているようです。 悪いことをしているという気持ちはあるのです。牛乳は産地が限定された少し高めの牛乳を買ってください。
牛乳に限らず牛肉の加工品の具材(牛肉コロッケやビーフカレーなど)として混ぜ込んでしまえばベクレルを基準以下に下げることもできるでしょう。 乳製品の類は言わずもがな。 それに牛肉だけでなく豚肉、鶏肉、卵、各種の野菜も同じなのでしょう。
核融合科学研究所の放射線モニタリング
私は多治見に住んでおり隣接市の土岐市には「核融合科学研究所」があります。 この核融合科学研究所では周辺の線量をモニタリングしておりネット上に公開しています。 原発事故後から定期的にデータを見ていますが一時的に増加することもありますが一応安定しているようです。 ただこのデータの採取法が良いのかわかりませんが。 (写真では測定器の設置高さが子供の身長より高かったり、地表(土や草上)でなくコンクリ上に設置されているので)放射線データ
土岐・多治見での環境放射線線量の測定(測定結果のリンクを参照)
思いもしなかったところで
名古屋近郊の放射線量で検索したら個人で測定されている方のブログを発見。お楽しみ屋さん店長日記
http://otanoshimiyasn.seesaa.net/
カテゴリの「名古屋の放射線量」と「ガイガーカウンター」
埼玉のホームセンターで市販されている腐葉土のようですが埼玉に限らないでしょうね。
販売基準とか検査はしていないのだろうか?
知らないままに意図的に土地や人を汚染させるかもしれないので注意が必要でしょう。
ついでに武田邦彦さんのブログの「名古屋・栄の1時間0.15マイクロシーベルト」も。










