2006年4月アーカイブ

制作開始

| トラックバック(0)

昨日デザインフェスタに向けての作品の打ち合わせをしてきました。
早速作業開始です。
まずはファイルの読み込み、保存から。

仕事と教室と作品とうまく折り合いをつけるようにがんばるであります。

勤続10年

| コメント(5) | トラックバック(0)

総務の人が、勤続年数が10年を越えたことを教えてくれました。

私が勤めているのはは弱小企業ですが、永年勤続表彰規定というのがあります。
有給休暇5日と、旅行代金の補助が出るはずです。ただし5年以内に取る必要があります。いつ使おうかなぁ…。

ばたばたと過ぎ去った10年でした。
これからも続けられますように。

朝花はこちらです。

3,500円で飲み放題食べ放題です。
奄美に興味のあるかたならどなたでも参加できますので皆様是非どうぞ。

もちろん私も参加するであります。

G#が出た

| トラックバック(0)

今日の教室では、ここを見て下さっている先輩のおかげで5のキーに合わせて練習してもらえました。
で、なぜか今日はスコーンと声が出ました。あんなに出たのは初めてです。なぜに???
おそらく体調とかにもよると思いますが、安定的に出るようにがんばりたいです。

というわけで、今度の「出た出ない」ネタは、「Aが出ない」になります。(^^;
Aはしんどいです。当分無理でしょう。

G#が出ない

| トラックバック(0)

Gの音が出なかったのはがんばれば出るようになってきました。

今はキーを5に合わせたときの7の音、つまりG#に挑戦しているのですが全くでません。出そうな気配もありません。道は険しいです。

作品づくりのためにNetBeans 5 5 Enterprise packのプレビュー版をダウンロードして試してみました。
しかしUMLツールの挙動が不審。
調べるとこちらにいろいろ書いてありました。

やっぱりMacだとJavaはGUIのバグがいっぱいありますね…。Java環境部分だけオープンソースにしてくれればいいけど、SUNと合併でもしない限り無理そうです。

トリオ?

| コメント(4) | トラックバック(0)

帰り際に師匠に呼ばれ、先輩と最近入ったかたと私、の男衆3人組で三味線チームを作ろう、という話をされました。
師匠と弾き手が似ているから、とのこと。
月2回くらい、今の教室とは別に3人で習う計画、とのこと。
教室の習い方ではなく、唄につけられるような弾き方を習うとのことで、いずれは唄チームと三味線で合わせられるように、という計画のようです。

とりあえず、ソロでなくてよかったです。(´ω`;)

デザインフェスタに向けて、今回はちゃんと(?)アプリケーションを作りたいと思っています。
少なくともプロトタイプはデザインフェスタで御披露目できるようにしたいです。

それで、Webアプリにするか、普通のデスクトップアプリにするか迷っています。

Webならブラウザでアクセスするだけだから手軽に試してもらえそうですが、個人情報を扱うので万一のときのことを考えると、データがユーザーのPCに保存される普通のアプリにしたいです。
でもWebアプリにしたほうがケータイ対応もできるし。悩みどころです。

Java Web Startなら、普通のアプリですがWebから起動する感じになるのでいいかも?

(追記)Java Web Startでローカルの決まった場所にファイルを保存するには、電子署名しないといけないらしく、電子署名には結構な料金がかかるらしいです。うーむ。

RolandのR-09は魅力的ですが、練習のためだけに4万+メモリーをかけるのもどうかなぁと迷っています。

最近、iPod nanoの容量が増えるという噂が出てきて、そうえいばまだiPodの録音オプションってしょぼいんだっけと調べてみたら、第5世代からは16bit, 44.1KHzでの録音に対応していたようです。
これこれが発表されていました。2つとも似ているので、もしかするとどちらかはOEMなのかも。

iPod nanoなら普段持ち歩いているし、容量が増えたら買い替えたいと思っていたので、いいかもです。

先日紹介した、ビットマップをアウトライン化してくれるソフトを試してみました。
OS X用にコンパイルされたものをターミナルから呼び出します。元のファイル名を渡すと、EPSファイルが出力されます。

昔マウスでぐりぐり描いたトンパ文字「丼」です。
010905don.gif

これが変換後。パラメータは何も指定していません。

010905don_o_mini.png

おお〜。あんないいかげんなのが、なんかいい感じになってる…(@w@;
potrace恐るべし。というか作者のかたすごすぎ。

これの続編です。

drawだけじゃなくて他でも同様の処理をしたい場合、それぞれでforとswitch文、ましてやキャストを書くのは嫌です。
そういう場合、こんな風にすると良いと思います。
(ついでにFigTypeをint定数じゃなくてenumにしました)

// 図形クラス
class Figure
{
  public enum FigType { BOX, LINE };

  public abstract int getFigureType();
}

class Box extends Figure
{
  private int left, bottom, right, top;

  public FigType getFigureType() {
    return FIGTYPE.BOX;
  }

  // 以下、getter/setterなど
}

class Line extends Figure
{
  private int x1, y1, x2, y2;

  public FigType getFigureType() {
    return FIGTYPE.LINE;
  }

  // 以下、getter/setterなど
}

interface FigureProcessor
{
  public void process(Box);
  public void process(Line);
}

class FigureManager
{
  ArrayList<Figure> figList = new ArrayList<Figure>();

  public void processFigures(FigureProcessor processor)
  {
   for (Figure fig : figList) {
      switch (fig.getFigureType()) {
      case Figure.FigType.BOX:
        processor.process((Box)fig);
        break;
      case Figure.FigType.LINE:
        processor.process((Line)fig);
        break;
      default:
        assert false;
      }
    }
  }

  // 以下、Figureの追加メソッドなど
}

// 描画クラス
class Drawer implements FigureProcessor
{
  public void process(Box box) {
    // 描画処理
  }

  public void process(Line line) {
    // 描画処理
  }
}
というようにして、描画させる所では
  public void draw() {
    figureManager.processFigures(new Drawer());
  }
のようにします。

(プログラミングの話題です)

以前デザインパターンを勉強していたときに、Visitorパターンというのが難解で、しかし重要だということで一生懸命理解しようとしたことがありました。
しかし、Visitorパターンはソースが追いにくくなるし、知らない人に説明するのは一苦労です。むしろ読めないソースを書く人扱いされてしまう可能性すらあります。

最近、Dependency Injectionという技術が台頭してきました。
触り程度しか知りませんが、クラス同士の依存関係を切り離してくれる技術のようです。
これを使うとVisitorパターンなど使わなくてすみそうですが、まだ標準化されていません。
(早くされないかな…)

で、私はどうしているかというと、例えば図形クラスとそれの描画クラスを考えたとき、

// 図形
class Figure
{
  public static final int FIGTYPE_BOX = 0;
  public static final int FIGTYPE_LINE = 1;

  public abstract int getFigureType();
}

class Box extends Figure
{
  private int left, bottom, right, top;

  public int getFigureType() {
    return FIGTYPE_BOX;
  }

  // 以下、getter/setterなど
}

class Line extends Figure
{
  private int x1, y1, x2, y2;

  public int getFigureType() {
    return FIGTYPE_LINE;
  }

  // 以下、getter/setterなど
}


// 描画
class Drawer
{
  public void drawLine(Line line) {
    // 描画処理
  }

  public void drawBox(Box box) {
    // 描画処理
  }
}
というようにして、描画をさせる所では
  Public draw() {
    // figListにFigure全てが入っている
    for (Figure fig : figList) {
      switch (fig.getFigureType()) {
      case Figure.FIGTYPE_BOX:
        drawer.drawBox((Box)fig);
        break;
      case Figure.FIGTYPE_LINE:
        drawer.drawLine((Line)fig);
        break;
      default:
        assert false;
      }
    }
  }
こんな風にします。
わざわざFIGTYPE_BOXとか図形種類を作っているのは、ifを使いたくないのと、instanceofのコストをなくすためです。

単純ですが、これなら他の人もすんなり理解できるし、メンテも楽というわけです。
でもキャストが入っているのは汚いですね…(- -;


追記: 続編を書きました。

長年の悩みが解決されそうであります。

Phone_mini.png

制作費 2円。
明日から実証実験を行うであります!!

私はiPodのイヤホンとして、Audio TechnicaのCM7というのを使っているのですが、いわゆるオープンタイプのイヤホンなので、ちょっとずれると音がもれてスカスカになります。
また手で耳の穴の所に向けてぎゅっと押さえ直して、を繰り返します。
音量を上げればある程度ずれていても大丈夫ですがシャカシャカ男にはなりたくないし音も悪くなるので嫌なのです。

オープンタイプのをカナルタイプにするようなカバーないかな? と思ってgoogleしてみるものの、みんなして
「カバー(スポンジ)なくした」
「カバーなくしたから100円ショップで買った」
「カバーなくしたと思ったら耳の中にあった」
てなのばっかり。みんななにやっとんの、とつっこみたくなるくらいわんさか。

あきらめずに探していると、
http://www.focal.co.jp/product/detail.html?id_product=578
を発見。しかしiPod純正イヤホン用とのことで、サイズが合わなそうです。

なにかうまいこと固定する方法ないですかね…。

最近のコメント

    follow me on Twitter

    ウェブページ

    このアーカイブについて

    このページには、2006年4月に書かれたブログ記事が新しい順に公開されています。

    前のアーカイブは2006年3月です。

    次のアーカイブは2006年5月です。

    最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

    Powered by Movable Type 4.23-ja