2013年5月21日火曜日

Acrobat Reader 起動時に読み上げ画面が表示されるのを無効に

Acrobat Reader 起動時に読み上げ画面が表示されるのですが、
やたら遅くて、迅速にページが開けなくてイライラしたことありませんか?

Adobeのページにも無効のやり方が書いてあります。


http://helpx.adobe.com/jp/acrobat/kb/cpsid_91756.html


私の場合は、10.0でしたが、同じ方法で上手く行きました。

C:\Program Files (x86)\Adobe\Reader 10.0\Reader\plug_ins

Accessibility.api →別の名前 (Accessibility.api.org)
ReadOutLoud.api →別の名前(ReadOutLoud.api.org)

私の環境は、Win7ですが、名前変更しようとすると管理者権限を要求されますが、
変えてしまって構いません。


の画面がでますので、次回から表示しないにチェックボックスを入れると、
次からはこれが出なくなります。

読み上げが必要になったときは、上記の変更したファイルを元の名前にもどせばOkです。

2013年5月6日月曜日

Git導入へ(1)~さくらインターネットに。

自宅と会社でバージョン管理を共有したいという事で、
選択肢は、2つくらい。

○自宅にサーバーをたてて、Gitを入れる
○レンタルホストでGitを入れる

自宅には、OpenBlockSだったり、玄箱があった時代もあったのですが、現在は稼働させてません。理由はいろいろあるのですが、まともな理由としては、

  • 上りの回線の不安さ
  • DynamicDNS
  • セキュリティの懸念。

でもまあ、一番の理由は、
うるさい・・・。

OpenBlockSは、ファンレスだったりするのですが、HDDの回転音とか、若干気になるんですよね。寝られない日々の時は。
で、まあ、バックアップやら、なんちゃら考えると、
レンタルサーバが気軽に借りられる現状では、外に借りるかな・・・という選択肢に。

レンタルサーバといえば、ちなみに、プライベートなストレージとして、
googleドライブや、ジャストシステムのインターネットディスクなんかも利用中。
インターネットディスクは回線速度や、ファイルの公開のしやすさで、ちょっと割高かな?とも思いつつ、かなり便利に利用しております。

さくらインターネットは、以前別の用途でスタンダードプランを利用していて、
アカウント持っているけどほぼ非アクティブな状況だったので、
資産の有効利用ということで、掘り出してきて利用することに。

さくらインターネットへのインストールは、

さくらインターネット(スタンダード)にgitをインストールする
http://d.hatena.ne.jp/hidde/20111127/1322369826
さくらインターネットのレンタルサーバに git のリモートリポジトリを作成する
http://mattintosh.blog.so-net.ne.jp/2012-09-14

を参考にしました。

あたり前の話ですが、SSH2で、さくらインターネットに接続する必要があります。
Teraterm
等を用いて、さくらインターネットに接続してください。







host名は、契約してる自分のアカウントですね。



hogehogeの部分は、アカウント名。
Passは、サーバパスワード。契約してから変更してなければ、
先方からのメールに記載されてます。
変更してたら、思い出してくださいw










現在、Gitは最新版は、1.8系に移行しているみたいですが、
1.8系でgmakeするとエラーが出てしまいます。
libgit.a(run-command.o)(.text+0x701): In function `start_async':/home/ACCOUNT/git-1.8.1.5/run-command.c:703: undefined reference to `pthread_create'gmake: *** [git-credential-store] Error 1
というのが出てしまうんですね。
で、まあちょっとした用途ですし、1.7系でもいいっしょ。ということで1.7系をGet.
git-1-7.12.2.tar.gzが最後みたいです。(2013年5月執筆時)
2012年9月リリースみたいなので、まあ問題ないでしょ。という判断から、それを使う事に。

最新版の確認は、
の、Tarballsってところをたどると行けます。
(まあ、下記のサイトに飛ぶんですが)

で、
$ cd ~
$ mkdir local
$ mkdir gitinstall
$ cd gitinstall
$ wget http://git-core.googlecode.com/files/git-1.7.x.x.tar.gz
$ tar xjvf git-1.7.x.x.tar.gz
$ cd git-1.7.x.x/
$ ./configure -prefix=$HOME/local
$ gmake
$ gmake install
という感じでやれば、インストール可能です。
あとは、.cshrcに通せば完了です。

これでひとまずインストールは完了です。

あとひと息ですね。

次に、
共有リポジトリの作成にうつります

まずは、リポジトリを作るディレクトリを作成します。
$ cd ~
$ mkdir git
$ cd git
$ mkdir test.git   ← これが共有リポジトリ名
$ cd test.git
$ git init --bare --shared
--bare --shared を付ける所が味噌です。
 これで、作業が開始できます。 

とまあ、こんな感じなんですが、
先にローカル環境があって、共有リポジトリ作りたいとか、
家の環境でまずは構築して、会社にクローン作りたいとか、
いろいろありますよね。
その辺は次のエントリーで紹介していきたいと思います。





2013年5月5日日曜日

Git導入へ(0)


ちょっとしたプログラムがあれば実現出来るのになあ、でも予算が無いな。。。
なんて事は良くある話しで、、、
まあ、昔取った杵柄、自分で作ろうかなあなんて事になる。

会社でもある程度の年次になってくると、
業務時間内に、自分でプログラミングをする時間が作れない。

本当は、若い人にお願いしたいところだけど、
仕事?に使う物なんで、いろいろ難しくて。。。

ということで、最近は週末プログラマーと化しております。
まあ、それほど重圧のかからないプログラムは、
楽しいからいいんだけども。

で、私の周辺でニーズがあるのが、週末のイベント系に使うコード。

そんなこんな出、金曜日の夜~土曜日にかけてコーディングをして、
イベントが無事に終了すると、週中は完全に触らないような状況。

まあ、1週間あると忘れるんですよね
本業もいろいろ忙しいんで。
あれこれ・・・。

このままじゃいかんということで、
今更ですが、Gitを導入して、ちゃんと管理してみようかとチャレンジしてみました。

その備忘録ですね。
前書き長すぎ。多分のエントリーはこれで終わります(笑)

弊社、IT系の会社ではないので、
プログラム関連の開発のインフラとか思想とか全く無し。。。
なので、いろいろ文献を参考にってな感じでございます。

家と会社でコーディングとか、このご時世いいのか?って気もしますが、
まあそんな事は言ってられないし、
在宅勤務?の布石という意味ではいいんじゃないかなと。

ということで、いざ導入。
共有リポジトリをどこか、会社と自宅両方からアクセスできる場所に置かねば・・・・
という悩みにつきあたり、ひとまず終了。

幸いな事に、うちの会社は、場所に寄っては、
SSHで外に出られる環境が存在してるのが判明したので、
光明が見えてたって話しはあるのですが。

つづく



2013年4月6日土曜日

Excelで時間値を数値として利用する

Excelで、時刻・日付データとして
00:20:00
00:20:04
とかが得られるので、その差を4秒を、”4”という数値で計算に利用したいことがあると思います。

普通に、引き算をすると(例:=A2-A1)とかすると、シリアル値になってしまうため、4という数値ではなく、0.000046...とかの値になります。

シリアル値は、1日を1として表現します。
1時間は1/24=0.04166666
1分は1/(24*60)=0.000694
となります。

HOURとかSECONDの関数があるのですが、
SECOND関数って、60秒以上を返してくれないぽいので、解析には使いづらかったりします。

ということで、人間系?の値に直したい場合は、逆変換をしてあげれば良いので、
シリアル値に、
=(A2-A1)*24*2600
とかしてあげると、思ったような使い方できます。
という備忘録。

2013年3月13日水曜日

AIRでバッチファイルを実行する方法

AS3,AIRからバッチファイルを実行する方法。

AIRから外部アプリケーションを実行するのは、セキュリティの観点からかなり条件が厳しくなっています。

詳しくは、Adobeのリファレンス

http://help.adobe.com/ja_JP/FlashPlatform/reference/actionscript/3/flash/desktop/NativeProcess.html
を参照して頂くのが良いと思いますが、
ネイティブインストーラー(拡張デスクトッププロファイルアプリケーション)を使用してインストールされた AIR アプリケーション」でしか実行できません。

デバッグ(adlを利用)のときは、「-profile extendedDesktop」のオプションを付ける必要があります。
batchfileの所に、実行したいファイルを入れるとAIRからキック出来ます。
ランチャーとか作るのに便利です。

private function exec(batchfile:String):void {

 var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
 var file:File = new File("C:\\Windows\\System32\\cmd.exe");
 nativeProcessStartupInfo.executable = file;

 var processArgs:Vector. = new Vector.();
 processArgs.push("/c");
 processArgs.push(batchfile);
 nativeProcessStartupInfo.arguments = processArgs;

 process = new NativeProcess();
 process.addEventListener(NativeProcessExitEvent.EXIT, onProcExit); 
 //終了を待って処理を入れたい場合
 process.start(nativeProcessStartupInfo); 
}

public function onProcExit(event:NativeProcessExitEvent)
{
 process.removeEventListener(NativeProcessExitEvent.EXIT, onProcExit); 
 //終了時の処理をここに入れる
 trace(event.exitCode);
 //終了コードも取れます。
}

バッチファイル実行しても、コマンドラインウィンドウが出てこないので、
動作確認はログを別途出力するなどの必要があります。

運用者から、あるファイルを監視して1時間変化がなかったらバッチファイルをキックしたいというリクエストがあったので作成しました。その時に調べたものの備忘録です。

機会があれば、そちらのランチャも公開できたらと思います。


Flash Professional CS5.5 で AIR2.7以降のSDKを使う方法

今更ながら、Flash Professional CS5.5 で AIR2.7以降のSDKを使う方法です。
 CS6からは、UIからSDKの追加が出来る様になっていますが、 いろいろ大人の事情もあって、Upgradeができない・・・けど、新しいSDKで開発が必要という場合は、 やらざる得ませんね。 

Adobeのサイトに公式にかいてありますが。
 http://kb2.adobe.com/jp/cps/908/cpsid_90810.html
備忘ついでに正しくできたやり方を記しておきます。 

というか、公式に書いてあるのはちょっとやり方が良く無いと思うので、
より安全方向にしたものを記しておきます。 


  1. 最新の AIR SDK をhttp://www.adobe.com/products/air/sdk/ からダウンロード
  2. 必要な圧縮ファイルを解凍
    •  archive_air_2.7_withdrm_sdk / AdobeAIRSDK.zip(Win)
    •  archive_air_2.7_withdrm_sdk.dmg / AdobeAIRSDK.tbz2(Mac)
  3. AIR2.6 フォルダーを見つける
      C:¥Program Files¥Adobe¥Adobe Flash CS5.5¥(Win) アプリケーション/Adobe Flash CS5.5/ (Mac)
  4. AIR2.6 フォルダーを AIR2.6OLD に名称変更
    失敗したときにダメージがデカイので、いきなり消すのでは無く名称変更程度がお勧めです。
  5. 解凍した SDK フォルダーを上記(4番)のAIR2.6の合ったところに移動して、 フォルダ名称をAIR2.6 と名称変更。
  6. ※要するに、CS5.5へはAIR2.6ってダマして使うけど、SDK自体は新しいのよんって方式です。
  7. Adobe Flash CS5.5/Common/Configuration/ActionScript 3.0/AIR2.6/にある、airglobal.swcを名称変更。
  8. ※ここもいきなり消したり、上書きしない!
  9. "5番でコピー→AIR2.6名称変更"したフォルダの中の、 AIR2.6/frameworks/libs/air/ にある、airglobal.swcを、6のディレクトリ(Adobe Flash CS5.5/Common/Configuration/ActionScript 3.0/AIR2.6/)にコピーする
  10. Adobe Flash CS5.5/Common/Configuration/Players/ の中の AdobeAIR2_6.xmlを開く。
    < player asversion="3" id="AdobeAIR2_6" minasversion="3" version="11">
    となっているので、バージョンを上げる。
    ※AIR2.7だと12ですが、AIR3.0→13です。
    (以降、バージョン番号は、AIR3.1→14, AIR3.2→15、と上がるっぽい。)
  11. Adobe Flash CS5.5/AIR2.6/samples/ の中にある descriptor-sample.xml を開く。 namespaceを、「http://ns.adobe.com/air/application/2.6」 2.6から当該バージョンに変更。 ※と、、、書いてあるけど、これちゃんと5番でコピーしてあると、ちゃんとバージョンは変わってるはず。
これで、新しいSDKが使えるはずです。私はうまく行きましたが、あくまでも自己責任でお願いします。
FLA保存して、他のFlash Proに持って行くと、AIR2.6って認識のままなので、複数の場所で開発してる場合は注意が必要です。

2013年3月11日月曜日

数値を0フィルしてみる

表示するときに0フィルしたいときってありますよね。
ファイル名自動生成したり、大きい数値を、カンマ区切りで出したいときとか。


int(System.privateMemory / 1000000) + "," + ("000" + int((System.privateMemory % 1000000) / 1000).toString()).substr(-3) + "," + ("000" + (System.privateMemory % 1000).toString()).substr(-3)



と、数値に000を付け足して、substrの負の数値で切り取ることで0フィルぽい事ができます^^
上記は、プライベートメモリの使用量をカンマ区切りで出す時につかいました。

もっと一般化すると、

function zerofill(value:int, keta:int):String
{
  ("000000000000000" + value.toString()).substr(keta*(-1))
}
とすれば、ゼロフィルになります。 とかやってたら、もっと簡単な方法があった。。。。

http://www.project-nya.jp/modules/weblog/details.php?blog_id=1785

一応引用させて頂いておきます。


var number:Number = 3000000000000000000;
var digit:uint = 3;
var pattern:RegExp = new RegExp("([0-9]+?)(?=(?:[0-9]{" + digit + "})+$)", "g");

var result:String = String(number).replace(pattern, "$1,");
しかしまあ、普通に使うあれなので、標準で関数にあっても良いのに・・・