皆さんの疑問に、勝手に答えます。 by 中博俊(大阪)

Slides:



Advertisements
Similar presentations
1 安全性の高いセッション管理方 式 の Servlet への導入 東京工業大学 理学部 千葉研究室所属 99-2270-6 松沼 正浩.
Advertisements

Struts VS SAStruts ・ STRUTS と SAStruts を比較します。. Struts のメリット1 STRUTS はディファクトスタンダード。 ↓ プログラマがたくさんいる。 ライブラリ、ツールがたくさんある。 ビジネス案件が豊富。 書籍などの情報元が豊富。
Web アプリをユーザー毎に カスタマイズ可能にする AOP フレームワーク
Windows Workflow Foundation of .NET Framework 3.0
最近の気になるネタ presented by Kei-z.
Webアプリケーション開発の 基本的なポイント
技術トピックス 2014/10.
JPAを利用した RESTful Webサービスの開発
SaaS (Software as a Service)
休講掲示板の電子化 鵜川研究室 菊地洲人 (あらかじめチラシを配る) 情報数理4年の菊地です。 これから私の研究内容の発表を始めます。
CakePHPを業務に導入する Shin x blog 新原 雅司.
コンポーネントの再利用に必要な情報 えムナウ (児玉宏之)
コンポーネントの再利用に必要な情報 えムナウ (児玉宏之)
アルゴリズムとデータ構造1 2007年6月12日
Biac /10/25 DI コンテナの本懐 ~ IoC の実装も楽々! biac
技術トピックス 2014/08.
クイズ 「インターネットを使う前に」 ネチケット(情報モラル)について学ぼう.
ASP.NET開発標準化を考えてみよう! わんくま同盟 東京勉強会# /03/15 mxb & 片桐継.
ASP.NET開発標準化を考えてみよう! わんくま同盟 東京勉強会# /03/15 mxb & 片桐継.
JavaServlet&JSP入門 01K0018 中村太一.
Webアプリケーション.
稚内北星学園大学 情報メディア学部 助教授 安藤 友晴
Vulnerability of Cross-Site Scripting
情報学部のWebサイトを考える 2007年5月14日 石上隆達.
RAD Studio 14/09/27 TEffectを使った綺麗なForm
MSBuild 色々出来るよ 2011/04/02 お だ.
はじめてのASP.NET 楽しいアプリ制作の会 #1 TWorks.
ONLINE植物アルバム 運営のサポート 情報数理専攻   D8691 根本亜由美 1.
ユーザ毎にカスタマイズ可能な Web アプリケーション用のフレームワークの実装
Flyingware : バイトコード変換による 安全なエージェントの実行
2016年度秋期 成果発表会 2016年11月25日 大阪開発センター 技術一部 畑中 龍樹.
2004年度 サマースクール in 稚内 JavaによるWebアプリケーション入門
2003年度 データベース論 安藤 友晴.
あなたが加害者にならないために こんどは「あなたが加害者にならないために」という観点からみていきましょう。
Biac /10/ /10/25 DI コンテナの本懐 ~ IoC の実装も楽々! biac
MVP for VB が語る C# 入門 初音 玲.
MVP for VB が語る C# 入門 初音 玲.
Windows Azure (CTP) 触ってみた
暗黙的に型付けされる構造体の Java言語への導入
ユーザ毎にカスタマイズ可能な Webアプリケーションの 効率の良い実装方法
データベースアクセス技術 ADO.NET 2.0 開発者カテゴリ ◆NOTES◆
WEBアプリケーションの開発 2002年度春学期 大岩研究会2.
Javaによる Webアプリケーション入門 第2回
JAVAについて 高橋 雅哉.
正規表現パート2 NFAエンジンの場合は、 正規表現の磨き上げが必要?.
テーブル設計を後から変更 現場で使える小技のご紹介 株式会社ジーワンシステム 生島 勘富(イクシマ サダヨシ)
Windows Azure (CTP) 触ってみた
インタラクティブ・ゲーム制作 プログラミングコース 補足資料
アプリケーション依存の先読みが可能なO/Rマッピングツール
WindowsMobile de HelloWorld
WindowsMobile de HelloWorld
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
わんくま同盟 大阪#2 & 東京#1 合同勉強会 18:25~18:30 前座:わんくま同盟について 18:30~18:50
ASP.NET 2.0による Webサービスの構築 2008年10月18日 こくぶんまさひろ.
本当は消去できていない!? ~データを完全消去する方法~
本当は消去できていない!? ~データを完全消去する方法~
JSPの基本 データベース論 第2回.
「拝啓、さかもとと申します」 2008年6月28日 わんくま同盟 勉強会初参戦。 ※最重要 -質問はご遠慮願います-
稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴
TableAdapterとSQLDependency 便利さを使い倒そう。 by えムナウ
JSPの基本 J2EE I (データベース論) 第8回 /
「拝啓、さかもとと申します」 2008年6月28日 わんくま同盟 勉強会初参戦。 ※最重要 -質問はご遠慮願います-
データベース第3回目 意味ごとにテーブルを分ける
JAVA入門⑥ クラスとインスタンス.
ASP.NET 2.0による Webサービスの構築 2008年10月18日 こくぶんまさひろ.
How To WPF アプリケーション Part4 By 中博俊.
Microsoft Office Project Server 2007
プロジェクト演習Ⅱ インタラクティブゲーム制作
計算機プログラミングI 第5回 2002年11月7日(木) 配列: 沢山のデータをまとめたデータ どんなものか どうやって使うのか
How To WPF アプリケーション Part3 By 中博俊.
Presentation transcript:

皆さんの疑問に、勝手に答えます。 by 中博俊(大阪) 先に読まないで!!

DB Q.O/Rマッピング DotNetでDBアクセスを考えた場合O/Rマッピング手法を使った方が良いか、ADO.NET自体をO/Rマッピングされた物として考えて使った方が良いか、迷っています。 私的には、O/Rマッピング用のクラスを用意して、基本的なDBへのアクセスはO/Rマッピングクラスを通した方が開発効率とメンテナンスは向上すると思っています。どうでしょうか?

DB A.O/RはOOとしては理想的ですよね 理想的というのはえてして大変なものです。 ADO.NET 2.0では最強の道具であるTableAdapterとデータバインドがあります。 これらを使わないでやっていく価値があるかどうかの見極めをしませんか? O/Rのデメリットはデータストアの軽視です。SQL Serverなどに対して単純なSelect文だけで本当にシステムは作成できますか? 本当にデータベースサーバは差し替え可能なのでしょうか?トランザクション、ロック様々な面で設計思想が違います。 パフォーマンスは出せますか? オブジェクト側の構造変更と、DBの構造変更をうまく調停できますか? 見極めを行うべきポイントはかなりのポイントです。 よく検討する必要があると思います。

A.えムナウさんと、囚人さんのセッションで・・・ DB Q. .NET+SQLServer 仕事柄、業務系アプリでの.NET+SQLServerの 実装方法でベストプラクティスみたいなのがあれば、取り上げていただけると、とてもうれしいです。 ちょっと欲張りでしょうか.... A.えムナウさんと、囚人さんのセッションで・・・ おそらく語られたようにTableAdapter+ストアドプロシージャによる実装と、トランザクションをストアド内で管理するのが一番簡単です。 とくにロックがかかってしまうトランザクションは1秒でも速く完結させるべきで、出来るだけSQLサーバ内で解決させてしまいましょう。

Q. Viewやストアドの管理は大変です A.大変ですね DB Q. Viewやストアドの管理は大変です 最近サーバー上のVIEWやストアドを、技術的に便利な方法で構成管理(履歴などを)する方法はないものかと模索中です。勉強会でそのようなネタがあれば幸いです。 A.大変ですね 300や500のストアドの管理は大変です。 命名法だけでの管理しかないので何とかならないものかと私も思います。

Q. 接続文字列を動的に変更したい A. それしかなさそうです。 DB Q. 接続文字列を動的に変更したい 型付TableApdaperを使用する際で、接続先が動的に変更しなければならない場合は、どうするのがベストかを聞きたいです。 今は、TableAdapterクラス毎にPartialクラスを定義して接続文字列を変更できるようにして、configファイル内の複数の接続文字列をそのつど設定しています・・・かなりの手間がかかっています・・・・ A. それしかなさそうです。 TableAdapterはそのままでデータアクセス層として公開すべきでない局面が多いです。

DB public static スレッド一件取得Row GetData(int スレッドID) { ~~~~入力チェックを行う~~~~~ using (スレッド一件取得TableAdapter ta = new スレッド一件取得TableAdapter()) ~~~~コネクションを差し替える~~~~~ using (データセット.スレッド一件取得DataTable table = ta.GetData(スレッドID, ユーザID)) if (table.Rows.Count > 0) return (データセット.スレッド一件取得Row)table.Rows[0]; } else return null;

ストアドプロシージャの場合無条件にnullも受け入れてしまうためにint?などになってしまう。 DB ストアドプロシージャの場合無条件にnullも受け入れてしまうためにint?などになってしまう。 自前のパラメータならintにするだけ 1行しか取得しない場合にはDataRowを取得したい 先ほどのように抜き出せばOK List<T>に詰め替えて取得したい コネクションを切り替えたい this._connection.ConnectionString = global::ConsoleApplication1. Properties.Settings.Default.bbs_testConnectionString; ストアドプロシージャの戻り値を取得したい int? ret = (int?)com.Parameters["@RETURN_VALUE"].Value; →積極的にpartialを使いましょう。

オープンソース Q. どんなオープンソースが? Javaで業務システムを構築する際、オープンソースなフレームワークを組み合わせることが多いのですが、.NETではどんなオープンソースがよく使われているのか興味ありますね。ネット上の情報もJavaに較べて少なめな気がするので、実際に利用したことがある人のお話などありましたらぜひ聴いてみたいです。

A. log4netやNunitやEnterprise Librareyとかが有名でしょうか オープンソース A. log4netやNunitやEnterprise Librareyとかが有名でしょうか おそらくJava + apache + tomcat + JSP + struts + ant + log4jとか、hibernateやらSeasar2だとかを想定されているのでしょうが、それらに比べると確かに影は薄いかもしれません。 ただそれらが無いとプログラムがほとんど組めない環境と、.NETでは標準装備されているため必要性が高くないという違いが有るでしょう。 謹製中心と、オープンソース中心と特徴があっていいんじゃないでしょうか。

Q.C# の Generics で、できること。 言語 Q.C# の Generics で、できること。 C++ と C# の Generics(Template)の違いにより、どのような誤差が生じるか? C# でタイプリスト等の実現は不可能か?(typedef) A. GenericsとTemplateは根本的に違う技術です。 Templateは巨大なソース生成機構として、Genericsはタイプセーフなジェネリックプログラムとして。 事実STL/CLRというSTLをCLR上で実現するプロジェクトもOrcas向けに動いていますし、C++/CLIではTemplateがそのまま利用することが可能です。 誤差ではなくありのままを受け入れませんか?

Q.C# の今後 A.C#はC#, VBはVB・・・ 言語 C# は今後どの程度の勢いで普及していくか? VB(VB.NET) に取ってかわってくるか? A.C#はC#, VBはVB・・・ .NETの普及は進んでいくでしょう。 そのv1.x時代には私も含むC系を得意とする技術者が先導している感じがありましたが、今後はVBも巻き返しそうです。 事実掲示板などでもVBの話題が増えているように感じます。 案件としてはVBをメインとして、共通部品をC#やC++でといった利用が増えるような気もします。 ASPがVBSであったので、ASP.NETではVBという感じはしますね。