ListPage

2010年9月15日水曜日

[雑記]ライフデフラグ

ライフサイクルの最適化

デフラグ

メモとして

帰宅 19:00

食事 19:30-20:00

ジョギング 20:00-20:45

シャワー 21:00-21:25

余暇 21:30-22:30

勉強 22:30-23:00

余暇 23:00-23:45

就寝準備 23:50

就寝予定 24:00

起床 4:30-5:00 部屋を掃除しつつ支度

ジョギング 5:00-5:30

シャワー 6:00-6:30

飯 6:30-7:00

出社予定時刻 7:20-7:30


余暇が多い。

  • 勉強時間が少ないけど学習意欲が低すぎて困りもの
  • 休日・祝日は、睡眠時間を+3時間して睡眠不足を解消
  • 余暇は家族との付き合いの為、削ってはいけない
  • できればどこかで早朝学習をしたい

2010年9月10日金曜日

詰んだのでメモ

ODP.NET リファレンス抜粋

重要インストール情報

依存


ODP.NET 10gリリースは、Oracle Client10gリリースに依存する為、同じOracleホームにインストール
する必要があります。


ODP.NETでは通常に行った時Universal Installerで起動する為、前提条件を確認

インストール計画に沿ってOracle Clientをインストールする
http://otndnld.oracle.co.jp/document/products/oracle11g/111/solaris/E05979-01/install_overview.htm

2010年9月3日金曜日

OracleDataAdapterとOracleCommand

わんくまサイトの掲示板みてたら

OracleDataAdapterとOracleCommand

Bind変数が違う


基本的にrom専でしたがちょっと気になった所がありました。
ODP.NETを使用している方で、多分色々とごっちゃになってました。


>Execute Error:ORA-01008: バインドされていない変数があります。
>上記エラーが発生します。

private void AddOracleParameter
    (object value1, object value2)
{
    OracleParameter[] param = new OracleParameter[]
    {new OracleParameter("startDate", OracleDbType.Int32),
        new OracleParameter("endDate", OracleDbType.Int32)};
    param[0].Value = value1;
    param[1].Value = value2;
  
  cmd.BindByName = true;
    foreach (OracleParameter item in param)
    {
        cmd.Parameters.Add(item);
    }
}

これだと、変数cmdって事は多分OracleCommandで
OracleCommandのバインド変数にセットしその後、OracleDataAdapterのコンストラクタに
cmd.CommandTextを突っ込んでますが

これだと、OracleCommandのバインド変数がOracleDataAdapterに渡る事はにゃあですので

実際には、AddOracleParameterメソッドをオーバーロードさせるなりなんなりさせ
AdapaterかCommandかを切り分ける必要があります。

private void AddOracleParameter
    (object obj, dbtype dtype, int size)
{
 OracleDataAdapter1.SelectCommand.Parameters.Add
  (obj, dtype, size);
}
private void AddOracleParameter
    (object obj, dbtype dtype, int size, hoge hoge)
{
 OracleCommand.Parameters.Add
  (obj, dtype, size);
}

これ実際にプロジェクト中になるとわかりづらいんです。
Execute Error:ORA-01008: バインドされていない変数があります。

変数がバインドされていないので、OracleCommand.ParametersのAddメソッドが
正常な形で行われているのかそれとも’SQL文がおかしい’のか切り分けが微妙になってきます。


いやまぁ、OracleDataAdapterにもバインド変数をセットするプロパティが
あるのを事前に調べとけって話ですがね。

using (OracleDataAdapter oda = new OracleDataAdapter(cmd.CommandText, Cnn))
{
    using (System.Data.DataSet da = new System.Data.DataSet())
    {
      AddOracleParameter(_start, _end);
      oda.Fill(da, dataMember);
      return da;
    }
}



※AddOracleParameterは多分、自作クラスのODPの拡張メソッドぽいやつ。

[memo]いまさらクラウド

Windows Azure Platformについて

参考http://blogs.msdn.com/b/nakama/archive/2010/01/08/hello-world-windows-azure-platform.aspx

Windows Azure Platform 概要

概要


Windows Azure Platformは 既存のシステムの在り方をすべてリプレースするような
万能なサービスというわけではなく。

その為、Azureを利用するにあたり、MS社の製品やサービスの中でどのような位置付けに
あるものなのかを正しく理解する事が重要。

そして、理解する為に、MS社クラウドコンピューティング戦略である "S+S"と
それらがもたらすコンピューティングシステムの変化を理解しなければならない


クラウドコンピューティングとは?

クラウド


大雑把に述べると、ネットワークを介して'提供'される'サービス'
のシステム形態。

ネットワークの向こう側にあるサーバやシステムがどのような構成か判らないけれど
ユーザーがそうしたサーバの中身やシステムの構成などを意識することなく
サービスを享受する事ができる。

どっかで聞いた内容・・と思ったらOOP
抽象化とカプセル化の概念ぽい。

クラウドタイプ

3つの形

以下は、アプリケーション・ミドルウェア・インフラの3階層のシステム


クラウド型 IaaS (イァースらしぃ) (Infrastructure as a Service)
インフラ部分のみ任せる。この方式を取った場合には、自社ではアプリとミドルのみ用意すればよく
インフラ部分(ハードウェアの調達や監視、故障対応等)は業者にお任せしてしまう。

クラウド型 PaaS インフラとミドル層は任せる
インフラとミドルウェアの部分を任せるという方式。この方式を取った場合には
アプリケーションのみ用意する形。

クラウド型 SaaS アプリ・ミドル・インフラ全て任せる
全てを委託してしまう。という方式。この方式を取った場合には自社では
システムの構築や運用などについては一切気にする必要はなく
提供されるアプリケーションをそのまま使うだけ、という形になります。

読んでて今までもあんじゃん・・。と思ってましたらその下に


これって従来あったサービスと何が違うの?」と思われた方も多いと思います。はい、概していえばその通りです。実は IaaS, PaaS, SaaS に関しては、似たようなサービスが従来から存在しています。例えば以下のようなものを考えてみましょう。

ASPなんて典型的じゃーん。て思ったらやっぱASPはクラウドらしい。微妙すぎる。

じゃぁどうなの実際

稼動中のシステム

じゃぁあんま変わんないね。と思ってた所
薄字で。


クラウドコンピューティングというパラダイムシフトは多くのビジネスやコンピューティングシステムの在り方に影響を与えるものではありますが、既存のビジネスやコンピューティングシステムをリプレースするものではない、と考えるべき

確かにリプレースが全て出来たら利益的には良いけど。