2013年11月8日金曜日

IIS環境設定のバックアップとリストア

IIS構成マネージャーの設定をバックアップ・リストアしたい場合のメモ。

・バックアップ
管理者権限でコマンドプロンプトを起動して、

 %systemroot%\system32\inetsrv\APPCMD backup "バックアップファイル名"

・リストア
  %systemroot%\system32\inetsrv\APPCMD restore backup "バックアップファイル名"


 ・バックアップデータが保存されているフォルダ

 %systemroot%\system32\inetsrv\backup\



バッチ処理で
 バックアップフォルダにバックアップファイルをコピーして、
 リストア処理を実行すれば、
 インストーラーによるIIS設定の自動化が可能になる。


2013年11月6日水曜日

.net上の大きな罠

これは致命的だと思ったのが、ガベージコレクション機能である。
最近になって大きなアプリケーションを作る機会があって実際に使ってみると、
2,3秒フリーズする現象が出たので、調べてみるとガベージコレクションが影響しているようだ。

このガベージコレクション機能というのは、どこにも参照されなくなったデータを
自動的に削除してくれる本来便利な機能なのだが、好きなタイミングで破棄する事が出来ない。

つまり、変数をNewするたびにメモリー使用量が増えていくのだが、ピンポイントに開放するという事は不可能。

では対処するにはどうしたらよいか。
・プログラムのデザインパターンがどうの言われているやり方だとオブジェクトがどんどん増えていくので、生成した領域を使いまわすプログラム構造を設計する。
・クラス内変数は全てprivateにしておき、外部公開する時はプロパティ経由で行うこと。
 変数を極力Privateにすることでメモリ破棄が効率よく行われる。
・よく使うものはNewせずStaticで定義してしまう。
・ピンポイントな配列はなるべく避けてオブジェクト単位にまとめて使う。(オブジェクト指向を考慮して)

昔できた事が今ではできないという事を理解したから、
ガベージコレクション機能に頼らず自分で工夫しようと思ったこのごろ。




Androidの開発環境構築

日常でAndroid端末を使い始めてだんだんと自分のアプリも作りたくなってきたので
改めて開発環境を構築してみた。
一昔よりだいぶ敷居は低くなっているようだ。


Step.1 必要なものをダウンロード
 ・JAVA(JDK)
http://www.oracle.com/technetwork/java/javase/downloads/index.html

 ・Android開発環境
http://developer.android.com/sdk/index.html

 ・日本語パッチ
http://mergedoc.sourceforge.jp/



 Step.2 インストール
 ・JAVAはそのままインストール。
 ・Android開発環境は任意のフォルダに展開。
 ・日本語パッチはAndroid開発環境と同じディレクトリに上書きコピー。

 ・eclipse.iniを編集で最後の行に下記1文を加え、日本語表示にする。
 -javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar

 ・SDK Manager.exeを起動して、APIをダウンロードしておく。


 ・eclipse.exeを起動して、「ヘルプ」→「新規ソフトウェアのインストール」を選択して、
  

 
Step.3 Helloworld
 正しくビルドできるかチェック。

 3.1 新規→ファイル→新規Androidアプリケーションを選択。

 ※注意メモ
  パッケージとプロジェクトとアプリケーションの関係について定義をまとめると
  
   パッケージは1つしなくて、1パッケージの中に複数のアプリケーションが存在する。
   アプリケーション名はパッケージを動かすランチャーとなるアプリ名。

   つまり、パッケージ名とプロジェクト名を同一のものにした場合、
   プロジェクト名も同じになり、あとからプロジェクトを加えるときは、ライブラリ扱いになる。

 3.2 新規Androidアプリケーションの設定。

  アプリケーション名:hello
  プロジェクト名:hello
  パッケージ名:com.example.hello

  それ以外はそのままにして、次へ、次へ、次へ、、完了とボタンを押す。

 3.3  エミュレータ上で実行。
  実行→実行構成→Androidアプリケーションタブ内hello→helloを選択して実行。
  エミュレーター画面が表示されたら、
  実行→実行、もしくは、パッケージタブ内のhello右クリック→実行→Androidアプリケーションを選択する。

  エラーメモ:
   「Failed to allocate memory: 8」こんなエラーがでた場合の対処。
   
   メモリー不足なので、ターゲットタブ内の選択するAVDを選択して「マネージャー」ボタンを押す。
   画面を小さくしたり、使用するメモリーを少なくするとエラーしなくなる。
   

 3.4 実機上で実行
  USBデバッグをONにしてある実機とパソコンをUSBで繋いだ状態で、実行→実行構成を開く。
  ターゲットタブで、手動を選択すると実機のシリアルが表示されるので、OKを選択。


これでひとまず開発環境は整ったので、
この次はAndroidマーケットの登録方法や、プログラムの書き方・作法を調べてまとめようと思う。



参考URL
http://qiita.com/yu_naka0607/items/7877e491c6adca145d3b
http://www.javadrive.jp/eclipse3/install/index4.html
http://firespeed.org/diary.php?diary=kenz-1096
http://blog.ggy.jp/2012/11/android.html

2013年11月4日月曜日

buffalo WHR-G300でDD-WRT化メモ

この機種は海外モデルのWHR-G300N V2に該当するらしく、
DD-WRTのサイトに置かれているファームで動作OKという情報を見つけたので試してみた。
これは自分用メモ。

ファーム書き換えはルーターの設定画面の開発者用ページを開くことで行う事ができる。

やり方は、

1.URLを開く。
 http://192.168.11.1/cgi-bin/cgi?req=frm&frm=py-db/55debug.html

2.ユーザー名:bufpy

3.パスワード:otdpopy +『設定しているパスワード』

~(これはやらなくても大丈夫だった) ~
4.コマンドラインに『ubootenv set region US』を入れて実行
5.ルーターを再起動
~~~

ログインしたら、下記URLにアクセスして、ダウンロードしてきた「WHR-G300N V2」ファームウェアを指定してアップデート開始する。
    /cgi-bin/cgi?req=frm&frm=py-db/firmup.html

完了。
初期のIPアドレスは、192.168.1.1になっているのでここは注意しておくこと。

それと、eaccessのADSLでブリッジ化を行っているので、pppoeの設定を行った。
アカウント名は、モデムとPCを繋げて
PCのIPアドレスを192.168.0.2に固定してから
http://192.168.0.1/にアクセス。
ログイン名:root、パスワード:root

アカウント名を取得したらpppoeの設定に入れ、パスワードは適当なものを入れておく。

これでOK。

あとは電波出力を20→10に変更くらいでひとまずまとめ終了。

Androider