duyojiぶろぐ

技術系ときどき日常系

テキストファイルの内容を元にファイルをコピーする

files.txt内に1行毎に書かれているファイルを特定ディレクトリにコピー(ディレクトリ構造を維持した状態で)


Mac OSX

$ cat files.txt | xargs -I dest_dir -J % rsync -R % dest_dir/

Linux(CentOS)

$ mkdir -p dest_dir; cat files.txt | awk '{print $1}' | xargs  cp -p --parents --target-directory=dest_dir/

files.txt

dir1/dir2/text1.txt
dir1/dir2/dir3/test2.txt

コマンド叩く前

.
├── dir1
│   └── dir2
│       ├── text1.txt
│       └── dir3
│           └── test2.txt
└── files.txt

コマンド叩いた後

.
├── dest_dir
│   └── dir1
│       └── dir2
│           ├── text1.txt
│           └── dir3
│               └── test2.txt
├── dir1
│   └── dir2
│       ├── text1.txt
│       └── dir3
│           └── test2.txt
└── files.txt

gitで特定のリビジョン以降の差分ファイルを取得同じディレクトリ構造でコピー

Mac OSX

$ git diff revision HEAD --name-only | xargs -I dest_dir -J % rsync -R % dest_dir/

Linux(CentOS)

$ mkdir -p dest_dir; git diff revision HEAD --name-only | awk '{print $1}' | xargs  cp -p --parents --target-directory=dest_dir/

SublimeText2でActionScript開発環境を作る(Flash Playerでswfの挙動を確認するまで)

メモ

Macで簡単なActionScript開発環境を作る際に行ったこと。

  1. パッケージコントロールからFlexをインストール
  2. Flex SDKダウンロード (http://www.adobe.com/devnet/flex/flex-sdk-download-all.html)
  3. Flex SDK zip解凍
  4. ~/Library/Developer/SDK に解凍したディレクトリを移動 (自分で分かりやすいところに置けばOK)
  5. sublimeでTools->BuildSystem->New BuildSystemで(今回は「flex.sublime-build」を作成)「http://qiita.com/nyamogera/items/31c4c2591f51ccc6cc70」を参考にビルドファイル作成(Flex SDKのパスは適宜自分の環境に合わせて修正)
  6. asファイルのコンパイルは先ほどNew BuildSystemで作成したビルド(今回はflex)を選択してcmd+Bでコンパイルが出来て同じディレクトリにswfファイルが出来る。
  7. 作成されたswfファイルをFlashプレイヤーで確認して動いているのを確認。


どこかから引っ張ってきた確認用ActionScriptコード

package {
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    import flash.events.Event;

    public class Test extends Sprite {
        public function Test() {
            // write as3 code here..
            var circle1:Sprite = new Sprite();
            circle1.graphics.beginFill(0xFFCC00);
            circle1.graphics.drawCircle(40, 40, 40);
            circle1.buttonMode = true;
            circle1.addEventListener(MouseEvent.CLICK, clicked);

            var circle2:Sprite = new Sprite();
            circle2.graphics.beginFill(0xFFCC00);
            circle2.graphics.drawCircle(120, 40, 40);
            circle2.buttonMode = false;
            circle2.addEventListener(MouseEvent.CLICK, clicked);


            var self:Sprite = this;
            var tmpX:int    = 0;
            addEventListener(Event.ENTER_FRAME, onEnterFrame);
            function onEnterFrame(event:Event):void{
                circle2.x++;
                /*
                var circle3:Sprite = new Sprite();
                circle3.graphics.beginFill(0x00FF00);
                circle3.graphics.drawCircle(tmpX, 200, 40);
                circle3.buttonMode = true;
                circle3.addEventListener(MouseEvent.CLICK, clicked);
                self.addChild(circle3);
                tmpX += 100;
                */
            }


            function clicked(event:MouseEvent):void {
                trace("Click!");
                var circle3:Sprite = new Sprite();
                circle3.graphics.beginFill(0x00FF00);
                circle3.graphics.drawCircle(200, 40, 40);
                circle3.buttonMode = true;
                circle3.addEventListener(MouseEvent.CLICK, clicked);
                self.addChild(circle3);
            }

            addChild(circle1);
            addChild(circle2);
        }
    }
}


まだ調べてないこと

  1. traceの出力確認の方法(traceを読んでも出力が確認出来ていない状態)

ライブやります!!

7/28(日)に初台DOORSというところでバンドのライブをやります!
ボクの組んでいるバンドの他にも4バンドほど出て、大学のサークル関係の人たちで 企画して開催するライブなのですが、サークル関係なくバンドの知り合い(職場や大学外の知り合い)の人も 全然来るので大学のサークルと全く関係なくても知り合いが居るのであれば全然来ていただいても問題ありません! (というより知り合いでもなんでもない人にもたくさん来てもらいたい!)

「興味がある」、「ライブに行きたい」という方がおりましたらfacebookなり,twitterなり メールなり連絡を頂けたらなと思います!
(現在ご覧になっているページの右のほうに「SNSアカウント」のカテゴリがあるのでそちらのリンクを踏んで頂ければ僕のfacebook, twitterページに飛びます)

http://hatsudai-doors.jimdo.com/
(初台駅, 新宿から京王新線で一駅)


僕達のバンドは全曲オリジナルで中2的な感じの曲や、ちょっと昔のフォークソングを感じさせる曲や、 PE'Zのようなシャレオツな曲など様々なジャンルの曲を演奏します。

今回のライブでは6曲ほど演奏するのですがそのうち1曲は僕が作詞・作曲を担当しました。
どんな感じの曲かは実際にライブに来て聞いて頂けたらと思います!

以下のyoutubeの動画はバンド合宿を行ったときのライブ告知の動画です。
(僕は1回目には参加できず2回目のプールではしゃいでいる動画にだけ映っていてカオスな感じになっていますw)


Enthusia@バンド合宿スタジオネバーランド - YouTube


ENTHUSIA@バンド合宿スタジオネバーランド - YouTube




以上ライブの宣伝をさせていただきました!

(ライブまであと1週間後ですごく楽しみにしている自分がいる...w)


ライブ映像

canvasとjavascriptを使ってテトリス作ってみた

jsdo.itにアップした

javascriptの勉強を兼ねてゲームをつくろうと思って、 テトリスを作ってみた。

特にブロックを消すとポイントが加算されるとか、 時間が経過するごとにだんだん早くなっていくとか、 細かい機能は実装していないが取り敢えずプレイできるのでjsdo.itにアップした。 スピードは最初からちょっと早めなので少し難しいかもしれないです。 以下のページにノートパソコンとかでアクセスするとゲーム画面が全部入らないかもしれないので その時はスクリーンサイズを小さくして頂ければと思います。

jsdo.itにアップしたもの

コードはgithubに

ソースコードはgithubにあげたので、 ちょっとゲームを作ってみたいなと思っている方や、 javascriptcanvasで何か作ってみたいという方がいましたら 以下のリンク先のgithubにあげたコードを参考にして頂けたらと思います。

githubにアップしたコード

gitignore便利ツール

symfony, objective-c, android, phpstormなど開発のときにgitignoreしたいリストのテンプレートをコマンドで一気に作成してくれる便利ツール。

gi listで用意されているテンプレートを見ると結構な数があるのでgitを使うときは便利かも

http://gitignore.io/cli