やってはいけない新人研修

新人研修で残業をさせてはいけない。

今の自分が、定時内で終わらせられる仕事量を覚えさせないといけないし、

「残業漬けの毎日で、勉強なんてやってられない。」

というこの業界の悪習を断つためにもやってはいけない。

Share

フランスで全面禁煙

新聞を読んでびっくり!! なんと、フランス全土でカフェ、バー、レストランなども含んで禁煙となる。来年2月1日から全国の公共の場での禁煙実施。カフェ、バー、レストランなども含む全面禁煙は、2008年1月からという。

フランスでは国を挙げて全面禁煙だ! – ITコンシェルジュの Try ! & Error ? [ITmedia オルタナティブ・ブログ

うらやましすぎます。

日本がこうなるには、まだまだ時間がかかりそうだ。

JTは早く主要な収益源をタバコから食品に転換してほしい。

Share

DataRelationとDataColumn.Expressionプロパティを利用したグループ化処理のサンプル

DBからすでにデータを持ってきた子テーブルという名前のDataTableがある前提(サンプルではねつ造している。)

番号でグルーピングして、数量計を取りたい。

001 Dim 子テーブル As New DataTable
002         子テーブル.Columns.Add(New DataColumn("番号"))
003         子テーブル.Columns.Add(New DataColumn("枝番"))
004         子テーブル.Columns.Add(New DataColumn("数量", GetType(Decimal)))
005 
006         For 番号 As Integer = 1 To 10
007             For 枝番 As Integer = 1 To 10
008                 Dim 新規行 As DataRow = 子テーブル.NewRow()
009                 新規行("番号") = 番号
010                 新規行("枝番") = 枝番
011                 新規行("数量") = 番号 * 100 + 枝番
012                 子テーブル.Rows.Add(新規行)
013             Next
014         Next
015 
016 
017         Dim 親テーブル As New DataTable
018         親テーブル.Columns.Add(New DataColumn("番号"))
019         親テーブル.Columns.Add(New DataColumn("数量計", GetType(Decimal)))
020         For 番号 As Integer = 1 To 10
021             Dim 新規行 As DataRow = 親テーブル.NewRow()
022             新規行("番号") = 番号
023             親テーブル.Rows.Add(新規行)
024         Next
025 
026         Dim ds As New DataSet
027         ds.Tables.Add(子テーブル)
028         ds.Tables.Add(親テーブル)
029 
030         Dim 番号でグループ化するためのリレーション As New DataRelation("サンプル", 親テーブル.Columns("番号"), 子テーブル.Columns("番号"))
031 
032         親テーブル.ChildRelations.Add(番号でグループ化するためのリレーション)
033         親テーブル.Columns("数量計").Expression = "SUM(Child.数量)"
034 
035         For Each 現在行 As DataRow In 親テーブル.Rows
036             Console.WriteLine(String.Format("番号:{0} 数量計:{1}", 現在行("番号"), 現在行("数量計")))
037         Next
038 
039 

正直な話親のDataTableを作ろうと思ったら結局ループ処理が必要になるので、expressionを実際に使った事は無い。

ただ、こういう事もできるという話。

でも、最初から、親テーブルも子テーブルもあるなら、使えるかも。

Share

言われてみればSHA1を使わせない抑止力が欲しかった

欲しかった。

すべてはここから始まった??SHA-1の脆弱化 ?? @IT

MD5/SHA-1は新規システムの開発では採用するべきではありません。

これらには既知の脆弱性が存在し、短時間でハッシュ値を重複させる攻撃が可能となっております。

System.Security.Cryptographyの SHA1 に Obsolete 付けて…

同感です。

菊池さんのブログにあるように、Obsolete属性がついていれば、

何も考えなくても使わない人が増えそうですね。

ちなみに、うちは、SHA512を使うことが多いです。

そんなにコストのかかる処理ではないので・・・。

Share
カテゴリー: .NET

Team Foundation Server 導入に関するホワイトペーパー

http://www.microsoft.com/japan/msdn/vstudio/

Visual Studio ホームページ

最新情報

Team Foundation Server 導入に関するホワイトペーパー

Team Foundation Server 導入において計画段階での検討点、インストールと管理に関する検討点、構成と管理に関する検討点に関して必要な情報に対するインデックスを Quick Start %2

Team Foundation Server 導入に関するホワイトペーパー

備忘録としてメモ

Share
カテゴリー: .NET

NOD32はちゃんとR2にも対応している。

NOD32動作環境リスト

日本語 Microsoft Windows 98/98SE

日本語 Microsoft Windows Me

日本語 Microsoft Windows NT Workstation 4.0 (Service Pack 6以降)

日本語 Microsoft Windows 2000 Professional

日本語 Microsoft Windows 2000 Server

日本語 Microsoft Windows 2000 Advanced Server

日本語 Microsoft Windows XP Home Edition

日本語 Microsoft Windows XP Professional

日本語 Microsoft Windows Server 2003, Standard Edition

日本語 Microsoft Windows Server 2003 R2, Standard Edition

日本語 Microsoft Windows XP Professional x64 Edition

日本語 Microsoft Windows Server 2003, Standard x64 Edition

日本語 Microsoft Windows Server 2003 R2, Standard x64 Edition

キヤノンシステムソリューションズ:NOD32アンチウイルス:サポート

Share

第9回codeseek勉強会

勉強会のお知らせ

第9回codeseek勉強会を開催します。

場所:新宿 マイクロソフト社会議室

日時:2006年10月17日火)19:00??20:30

申込期限:2006年10月13日金 18:00まで

参加費用:無料

品質の悪いシステムを語る視点はいろいろありますが、私たちはコードの品質に着目して活動しています。

私たちは質の悪いプログラムコードを「くソース」と名づけました。

勉強会ではくソースの例や、対処の仕方、そういうプログラムを作らない方法を考えましょう。

今回は、Workflow Foundationで変わるプログラムコードについてディスカッションする予定です。

codeseek 勉強会のお知らせ

いつも、参加させていただいて、有意義な時間を過ごしています。

そろそろ人見知りから脱出しないと。

Share

できるだけコードに仕様を埋め込む努力をしよう

例えばこんな仕様がありました。

鼻毛を処理する道具があれば鼻毛処理ができる。
道具には、鼻毛抜き、鼻毛カッターがある。

これに対してこんなコードがありました。

001 If 鼻毛抜きの在庫 > 0 OrElse _
002    鼻毛カッターの在庫 > 0 Then
003    鼻毛処理()
004 End If

これでも、確かに仕様を実現していますが、より仕様を埋め込んだ方が後から読んだ時に分かりやすいので

001 If 鼻毛処理の道具がある() Then
002    鼻毛処理()
003 End If
004 
005 
006 Private Function 鼻毛処理の道具がある() As Boolean
007     If 鼻毛抜きの在庫 > 0 Then
008               Return True
009     End If
010 
011     If 鼻毛カッターの在庫 > 0 Then
012               Return True
013     End If
014 
015     Return False
016 End Function

こんなコードにします。

仕様がよりコードに埋め込まれ、

また

鼻毛処理の道具がある から 鼻毛処理 ができる。

と、より自然に読むことができるようになりました。

どうでもいいですが、後から、道具の種類に電動鼻毛カッターが増えても安心です。

Share