[[FrontPage]] *開発環境 [#i519930d] 無料で開発環境を整える -コンパイラ -- .NET Framework 2.0 SDK -統合開発環境 -- Visual C# 2005 Express Edition(C# WindowsFormsアプリケーション) -- Visual Basic 2005 Express Edition(VB.NET WindowsFormsアプリケーション) -- Visual Web Developer 2005 Express Edition(Webアプリケーション、VB.NET、C#、J#) -バージョン管理 -- TortoiseSVN -- [[AnkHSVN:http://ankhsvn.tigris.org/]] -タスク管理 -- Trac? -ビルド/CI等 -- MSBuild(VS付属) -- [[MSBuildTasks:http://msbuildtasks.tigris.org/]] ~MSBuildで利用できるタスク。 -- NAnt -- DamegeControl -- [[CruiseControl.NET:http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET]] -テスト -- [[NUnit:http://www.nunit.org/]] ~(VSにもテスティングフレームワークはあるが、ハイグレードなバージョンにしか用意されていない) -- [[NCover:http://ncover.org/site/]] ~カバレッジ -ドキュメント生成 -- [[NDoc:http://sourceforge.jp/projects/ndoc-jp/]] + HTML Help Workshop([[Office 2003 Editions Resource Kit Tools:http://www.microsoft.com/downloads/details.aspx?FamilyId=4BB7CB10-A6E5-4334-8925-3BCF308CFBAF&displaylang=ja]]) -規約チェック -- [[FxCop:http://www.gotdotnet.com/team/fxcop/]] *規約 [#l4be1569] - On Error Gotoの代わりにTry ... Catchを使う。 - Goto文を不用意に使わない。 ''Java'' -C#/VB.NETコーディング規約 ~http://www.objectclub.jp/community/codingstandard/ -型の制約をきつくする Option Explicit On Option Strict On を初めに宣言する。 Web -[[Tomcat]] -[[Resin]] -[[MyFaces]] -[[JavaServerFaces]] - Goto文は使わない ~プログラムの流れを分かり難くします。 *ツール [#o921e274] **NDoc [#o47d1076] JavaDocのようにソースコード中のコメントからリファレンスを作成するツール ****導入手順 [#r6ff496a] -NDocをインストール( http://ndoc-jp.sourceforge.jp/ ) -Office 2003 Editions Resource Kit Toolsをインストール( http://www.microsoft.com/downloads/details.aspx?FamilyId=4BB7CB10-A6E5-4334-8925-3BCF308CFBAF&displaylang=ja ) -HTML Help Workshopをインストール。HTML Help Workshopをインストールするには、Office 2003 Editions Resource Kit ToolsをインストールしたディレクトリのORK11\TOOLS\HTML Help Workshop\HTMLHELP.exeを実行する。(例えば、C:\Program Files\ORKTOOLS\ORK11\TOOLS\HTML Help Workshop\HTMLHELP.exeとなる) ****使い方 [#bc763a46] -http://dobon.net/vb/dotnet/programing/xmldocument.html -http://www.atmarkit.co.jp/fdotnet/teamdev/teamdev01/teamdev01_05.html -.NET Framework2.0で利用するには、NDocをインストールしたディレクトリの下のBinディレクトリに、NDocGui.exe.configを設定 <?xml version="1.0" ?> <configuration> <startup> <supportedRuntime version="v2.0.50727" /> <supportedRuntime version="v1.1.4322" /> <requiredRuntime version="v1.1.4322" /> </startup> </configuration> O/R Mapping -[[Middlegen]] -[[MiddlegenIDE]] -[[TopLink]] -[[Hibernate]] -[[Hibernate EntityManager]] -[[OpenJPA]] **FxCop [#n7c2ec38] -http://www.gotdotnet.com/team/fxcop/ -MSILを解析して規約チェックを行う。CheckStyleみたいなもの。 -Express Edtionで利用するには、Tools→Settingsで、Commandに\Program Files\Microsoft Visual Studio 8\Common7\IDE\VCSExpress.exeを設定する。 Database -[[OracleXE]] -[[HSQLDB]] -[[Derby]] -[[PostgreSQL]] *技術情報 [#u86576b1] **バリデーション [#pe1b6aa7] 基本的にDataSetとErrorValidatorを利用する。 -ErrorProvider http://www.codeproject.com/dotnet/errorprovider.asp -ValidationProvider http://www.codeproject.com/cs/miscctrl/validationprovider.asp -.NET2.0のサンプル http://blogs.msdn.com/danielfe/archive/2006/04/26/584476.aspx -エラー時にフォーカス移動を許す ~デフォルトでは、エラーがあると別のコンポーネントにフォーカスを移すことができない。フォーカスの移動を許可する場合は、ErrorProviderのAutoValidateをEnableAllowFocusChangeにする。 -エラーのアイコンの位置、メッセージの変更 ~エラーのアイコンの位置、メッセージを変えるには、各UIコンポーネントのErrorProviderのIconAlignment、Errorを変更する。 -自動検証機能を無効にし、ボタンクリック時に検証する ~http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.containercontrol.autovalidate.aspx -色付きプロバイダ http://www.codeproject.com/csharp/ColoredErrorProvider.asp -TextBoxとIExtenderProviderによるバリデーション ~http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwinforms/html/custcntrlsamp1.asp XML -[[XML]] -[[XMLBeans]] **Typed DataSet [#he99a6c8] ~型付きデータセット。通常のデータセットは下記のように記述し、型セーフではない。 string username = dataset.Tables["CUSTOMER"].Rows[0]["USERNAME"]; これだと、"CUSTUMER"や"USRNAME"等とミススペルによるエラーを誘発することになり、開発効率が悪い。型付きデータセットを利用すると、 string username = dataset.CUSOMER[0].USERNAME; のように型セーフで値を取得することができる。RDBMSのテーブルから生成したり、XML Schemaから生成することができる。DataSetの変更をバインドしたコンポーネント(Windows Forms、テーブル)に通知するには、 dataset.AcceptChanges(); とする。利用時の注意として、初期化時に public partial class Form1 : Form { public Form1() { InitializeComponent(); customer.CUSTOMER.AddCUSTOMERRow(customer.CUSTOMER.NewCUSTOMERRow()); } ... のように、Rowを追加しておく必要がある。 Misc -[[Eclipseプラグイン日本語化]] -[[Trac]] -[[AspectWerkz]] -[[Maven2]] -[[eclipse]] -[[Lucene]] -[[Annotation]] -[[XDoclet]] -[[ExpressionLanguage]] ''.NET'' -[[.NET]] -[[MSBuild]] -[[CSharpForJavaPG]] -[[Network]] また、ErrorProviderとFormのコンポーネントをTyped DataSetでバインドすると、自動的にエラー箇所を表示したりできる。詳細は、http://www.spritehand.com/GroupMeetings/article_radntier.htm。 ''Debian/Linux'' -[[Gnome]] -[[FreeNX]] -[[でびあんでじゃば]] -[http://garoo2.oiran.org/ ブランド] -[[Subversion]] -[[debの作り方]] -[[Misc]] -[[Cygwin日本語化]] -[http://www.f-poke.com/ 風俗] **DataGridView [#rda7bc10] -http://www.atmarkit.co.jp/fdotnet/vblab/gridlab_index/index.html **Logging AB [#fbd7488f] -http://davidhayden.com/blog/dave/archive/2006/02/19/2806.aspx -http://bloggingabout.net/blogs/erwyn/articles/rolling_file_trace_listener.aspx ''Misc'' Research -[[SCM]] -[[XML Parser for Embedded]] -[[fulltextsearch]] ** Reflection [#y5744e81] http://my.execpc.com/~gopalan/dotnet/reflection.html Wikiヘルプ -[[MenuBar]] -[[Help]] -[[FormatRule]] -[[SandBox]] -[[整形ルール]] -[[ヘルプ]] **ネットワーク [#p7f7bfbb] -Web http://support.microsoft.com/default.aspx?scid=kb;ja;307023 -FTP http://support.microsoft.com/default.aspx?scid=kb;ja;832679 **Windows Forms [#wfd61660] -ダブルクリック対策(イベントを空にする) private void button1_Click(object sender, EventArgs e) { button1.Enabled = false;//(1) Thread.Sleep(1000); Application.DoEvents();//(2) button1.Enabled = true;//(3) } **TextBoxに特定の文字しか受け付けないようにする [#v7aa0890] -http://dobon.net/vb/dotnet/control/numerictextbox.html **ディスクの空き容量を確認 [#x9b2d3a5] http://msdn2.microsoft.com/ja-jp/library/system.io.driveinfo.aspx **アプリケーションフレームワーク [#x3231808] -http://msdn2.microsoft.com/ja-jp/library/microsoft.visualbasic.applicationservices.windowsformsapplicationbase_members.aspx ~オープンされているフォームの一覧を取得したり、全てのクローズを閉じたらアプリケーションを終了する機能を提供。 **Collection [#oe47fda9] -http://www.atmarkit.co.jp/fdotnet/vb2005/vb2005_02/vb2005_02_01.html **ログ出力 [#i517d7d0] *** [#n5ac113f] -Logging ABを拡張し、ファイルサイズでログをローリング http://bloggingabout.net/blogs/erwyn/archive/2006/02/15/11071.aspx ***syslog [#a47f1db1] -http://www.eggheadcafe.com/articles/20050212.asp ***SNMP [#c5b0f72a] -http://www.java2s.com/Code/CSharp/Network/SimpleSNMP.htm -SNMPLib http://www.c-sharpcorner.com/Code/2002/Sept/SnmpLib.asp **印刷 [#cfb21b91] -[[フォームの印刷(API使用) :http://www.ailight.jp/FormPrint.aspx]] -[[VB.NETによる印刷:http://dobon.net/vb/dotnet/vb6/printform.html]] -[[コード : Windows フォームを印刷する (Visual Basic):http://msdn.microsoft.com/library/ja/dv_vbcode/html/vbtskCodeExamplePrintingForm.asp?frame=true]] **Subversionによるバージョン管理 [#z0568b03] ***リポジトリの作成 [#qe43b3f0] - リポジトリのディレクトリ作成 - 右クリック「TortoiseSVN」、「Create Repositry here」を選択 ***インポート [#sb90cada] - ソリューションを選択し、リポジトリの絶対パス/<ソリューション名>で指定。 ***チェックアウト [#sf63284d] - ソリューションディレクトリ作成 - ディレクトリに移動 - 右クリック「SVN Checkout」リポジトリの絶対パス/<ソリューション名>を指定