2019年3月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
ブログ:ココログ
時間のないサイト運営者リング
時間のないサイト運営者リング

« 2014年7月 | トップページ | 2014年9月 »

2014年8月

2014.08.24

TypeScriptメモ(3) クラス

よし、次はクラスだ。

続きを読む "TypeScriptメモ(3) クラス" ≫

2014.08.23

TypeScriptメモ(2) 引数の省略、関数のオーバーロード

クラスに行こうかと思ってたが、引数の省略と関数のオーバーロードについて書く。

引数の省略は変数名の後に?をつけると、省略可能になる。省略された場合、変数の値はundefinedになる。

 function hoge(a:string, b?:number) :void {
	alert("hoge:" + a +"," + b);
 }

 hoge("aaa");

この場合、"hoge:aaa,undefined"と表示される。

省略された時のデフォルト値を指定する方法がある。

 function hoge(a:string, b:number = 10) :void {
	alert("hoge:" + a +"," + b);
 }

 hoge("aaa");

この場合、"hoge:aaa,10"と表示される。

可変長引数は、変数の前に…を付けて配列する。

 function hoge(a:string, ...b:any[]):void {
	alert("hoge:" + a +"," + b);
 }

 hoge("aaa",10,2);

関数のオーバーロードは、引数の型が違う関数の宣言を書いておき、型の違う引数のところをanyやobjectにした関数本体を宣言する。その関数内で型のを調べて処理を分岐することでオーバーロードっぽいことを実現する。

 function hoge(a:number):void;
 function hoge(a:string):void;

 function hoge(a:any):void {
	if(typeof a == "number") {
		alert("number");
	} else {
		alert("string");
	}
 }
 hoge(18);

この場合、"number"と表示される。

2014.08.22

[VirtualBox]VM起動時にsupR3HardenedWinReSpawnエラーが出る場合

リンク: [VirtualBox]VM起動時にsupR3HardenedWinReSpawnエラーが出る場合.

ひさしぶりにWindowsに入れたら、エラーがでた(^_^;)
リンク先に書いてるとーり、いっこ古いバージョンを入れた。

2014.08.21

Androidでノイズ除去作ってみたが・・・(2)

NDKでメディアン部分をCで作ってみた。

MedianTestAndroid2.1.zip

Nexus7(2012)で測ってみた結果がこんな感じ。

001.jpg:1.2672秒
002.jpg:1.2042秒
003.jpg:1.1373秒
004.jpg:1.1525秒
005.jpg:1.1444秒
006.jpg:1.1462999999999999秒
007.jpg:1.1276秒
008.jpg:1.1260999999999999秒
009.jpg:1.1236000000000002秒
010.jpg:1.1218秒

Javaが6.5秒ぐらいだったんで、むっちゃ速い!てか、Dalvik遅すぎ。

2014.08.20

パラレルス、Windowsをよりシームレスに利用できるMac用仮想化ソフト最新版 - PC Watch

リンク: パラレルス、Windowsをよりシームレスに利用できるMac用仮想化ソフト最新版 - PC Watch.

10のページが、まだないにゃー

2014.08.19

各々の生き方: BitTorrent Sync と Raspberry pi で DropBox を置き換える

リンク: 各々の生き方: BitTorrent Sync と Raspberry pi で DropBox を置き換える.

ほー、Bittorrent Syncなんてのがあるのか〜

試しに使ってみるか。

MrKagerou: Eclipseでandroid NDK使用していて「Unresolved Inclusion」でこまってしまった時

リンク: MrKagerou: Eclipseでandroid NDK使用していて「Unresolved Inclusion」でこまってしまった時.

なってしまったw

これでとりあえず直ったっぽい。

2014.08.16

[Java8] JavaFX、マルチタッチ

Scene Builderをながめてると、マルチタッチに対応してそうなので試してみた。

サンプル:TestMultiTouch.zip

基本、"On Touch Moved"、"On Touch Pressed"、"On Touch Released"、"On Touch Stationary"の処理を実装すれば取れる。
あと、"On Touch Stationary"はリファレンスによるとタップアンドホールみたいなのを取れるみたいな感じで書かれているが実際取ってみたけど、いまいちよくわからない(^^;)
これが基本でジェスチャーのイベントも取れるようになっている"On Swipe *"がスワイプ、"On Zoom"が指二本で広げたり閉じたりするジェスチャ、"On Rotate"が指二本で回すようなジェスチャが取れる。

このサンプルは、マルチタッチ対応のタッチパネル付きのWindows8.1 PCで試した。 ズームと回転はMac+Magic Trackpadで取れるのを確認した。

2014.08.13

TypeScriptメモ(1) 変数宣言、関数宣言

とりあえず(1)とあるが、(2)以降があるかどうかはわからんw

TypeScriptとはJavaScriptに静的型付け、クラスが追加されたものと認識してる。
他にもいろいろあるみたいだが、とりあえずこれだけ押さえておこう(^^;)

静的型付け

変数の宣言に型を指定できて、コンパイル時に違う型の値を代入するとエラーになる。
宣言方法は、

 var hoge:string;         // 変数の宣言
 hoge = "hogehoge";
 hoge = 123;       // ←コンパイル時、エラーになる。

データ型には、number型(数値)、string型(文字列)、boolean型(真偽値)、any型(何でもあり?)、enum型(列挙型)なんかがある。 列挙型の宣言は、

 enum {
     hoge1,
     hoge2
 }

みたいな感じで行う。

関数型?
( a: T1, b:T2 …) => T3 みたいに書く。T1,T2は引数a,bの型、T3は戻り値の型。これはデータ型を書けるとこに書ける。
 var hoge:(a:number) => string;
 
 hoge = function (a:number):string {
	 return "hoge" + a.toString();
 }
関数宣言
こんな感じ。戻り値の型、引数の型を指定する。
function hoge1(a:number) : string {
	return "hoge1_" + a.toString();
}
戻り値のない関数の場合は、voidを指定する。
ふー、ちと疲れた。というかちょっと長くなってきたので今回はここまで。
ということは、クラスについてまだ書いてないのでTypeScriptメモ(2)もありそーだw

2014.08.12

[Android] 回転対応

Androidでは、画面の回転でアクティビティの破棄と生成が行われる。
つまり、アクティビティが保持するデータの破棄される。 データを破棄される前に保存して、生成されたら復元する必要がある。
アクティビティクラスのonSaveInstanceStateをオーバーライドして引数のBundleに保存してonRestoreInstanceStateをオーバーライドして引数のBundleから復元することで対応できる。

@Override
protected void onSaveInstanceState(Bundle outState) {
	super.onSaveInstanceState(outState);
	・・・
}

@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
	super.onRestoreInstanceState(savedInstanceState);
	・・・
}

AndroidManifest.xmlファイルをいじると回転時の破棄、再作成されなくなるみたいだが、試してないので説明してるページのリンクを書いとく。

リンク:【Android】どんな端末でも画面回転時にActivityが初期化されないようにする

2014.08.11

Androidでノイズ除去作ってみたが・・・

リンク: Java8でノイズ除去作ってみたが・・・: ときどき日記4.0.

Androidでも作ってみた。

MedianTestAndroid2.zip
appcompat_v7関係で開くとエラーになるけど、これってどうしたらいいんだろー
(追記 21:58) すでにappcompat_v7がworkspaceに作られている状態だと、たぶんエラーにならなくなった。

Nexus7(2012)で測定してみた結果がこんな感じ。

 

001.jpg:6.9938秒
002.jpg:6.2264秒
003.jpg:6.51秒
004.jpg:6.6198秒
005.jpg:6.6396秒
006.jpg:6.617400000000001秒
007.jpg:6.6432秒
008.jpg:6.624秒
009.jpg:6.5998秒
010.jpg:6.566秒

2014.08.10

連番ファイル名変更ツール

また、しょーもないものを作ってしまった(^^;)

ファイル名を連番ファイル名にするツールだ。

続きを読む "連番ファイル名変更ツール" ≫

2014.08.08

タッチ操作向けサイト構築のガイドライン - IEBlog 日本語 - Site Home - MSDN Blogs

リンク: タッチ操作向けサイト構築のガイドライン - IEBlog 日本語 - Site Home - MSDN Blogs.

にゃるほど。

-ms-touch-actionでスワイプで戻る、進むを無効にできるんか。

2014.08.06

[Java8] JavaFX、ファイルのドラッグ&ドロップ

Controllerクラスに次のコードを追加してScene BuilderでAnchorPane(他のコントロールでもいい)の"On Drag Over"と"On  Drag Dropped"にそれぞれhandleDragOverとhandleDroppedを 割り当てる とFinderや エクスプローラーからファイルをドラッグアンドドロップで受け取ることができるようになる。ほかにもドラッグ&ドロップ関係のイベントがあるみたいだけど、これだけでファイルはとりあえず受け取れるようだ。(ほかのイベントはまだ調べていない(^^;))

    @FXML
    private void handleDragOver(DragEvent event) {
        // ドラッグボードを取得
        Dragboard board = event.getDragboard();
        if(board.hasFiles()) {  // ドラッグされているのがファイルなら
            // コピーモードを設定(これでマウスカーソルが矢印に+のやつになる)
            event.acceptTransferModes(TransferMode.COPY);
        }
    }

    @FXML
    private void handleDropped(DragEvent event) {
        // ドラッグボードを取得
        Dragboard board = event.getDragboard();
        if(board.hasFiles()) { 
            board.getFiles().stream().forEach((f) -> {
                System.out.println(f.getPath());
            });
            // ドロップ受け入れ
            event.setDropCompleted(true);
        } else {    // ファイル以外なら
            // ドロップ受け入れ拒否
            event.setDropCompleted(false);
        }
    }

2014.08.05

[Java8] JavaFX、とりあえずリストビュー

JavaFX Scene BuilderでListViewを追加して
Controllerクラスに↓を追加して、Scene BuilderでListViewのfx:id属性にlistViewを指定する。

    @FXML
    private ListView<String> listView;

あとは、

        listView.getItems().add("hoge”);

でリストに追加できる。まっ、これはとりあえず(^^;)

実際には、

    private ObservableList<String> items;

を定義しておいて、initializeあたりで

        items = FXCollections.observableArrayList();      
        listView.setItems(items);

を追加して、以後、itemsに追加したり削除したりするとリストが更新されるようになります。

つぎに、編集できるようにする。↓を追加。

        // 編集可能にする。
        listView.setEditable(true);       
        listView.setCellFactory(TextFieldListCell.forListView());

これで編集できるようになって、変更した内容がitemsに反映されます。

サンプル

2014.08.04

[Java8] JavaFX、閉じるの阻止

ウィンドウの閉じるボタンを押されたときの閉じないようにする方法は
こんなかんじになります。

        stage.setOnCloseRequest((WindowEvent event) -> {
                // 閉じるを阻止!
                event.consume();
        });

これをそのまま入れると強制終了しかできなくなるので注意w
閉じると困るときのみevent.consume()を呼ぶようにしましょうw

2014.08.03

おっきするイングラムw

[写真] 2014年8月2日 パトレイバーデッキアップイベント

2014年8月2日 パトレイバーデッキアップイベント

続きを読む "[写真] 2014年8月2日 パトレイバーデッキアップイベント" ≫

2014.08.02

イングラムとさんふらわあw

パトレイバーデッキアップ

2014.08.01

のだめガンたーれwww

| これより後10件 » 最新 >

« 2014年7月 | トップページ | 2014年9月 »


Google

サーチする:
Amazon.co.jp のロゴ









携帯URL