J-SOX法について勉強しなくては!

内部統制を義務化している法律は、米国の場合は2人の議員(SarbansさんとOxleyさん)によって提案され、2002年7月に制定された法律です。通称SOX法と呼ばれる法律です

5分で絶対に分かる内部統制 〓 @IT情報マネジメント

とりあえず、SOX法がSOXと呼ばれる所以がわかりました。

というのはおいておいて、とっかかりとしての記事としてはありだと思います。

Share

コード長ゼロのポケットUSBホストアダプタが気になる。

ポケットUSBホストアダプタ

W-ZERO3 [es]と一体感を持たせるために、コネクタ形状をL型としました。

pocketgames :: PDA秘宝館(W-ZERO3応援団)

気になります。

1500円。

お待たせいたしました。BO-ZUSIN Super Slim Fit USBAdapter for [es](仮称)略してBO-SEについての決定(ほぼ)事項の発表です。

■頒布価格 500円

■送料   無料

■制限事項 お一人5個以内

■お届け方法 メール便配送

■支払方法 後払い

あっ!今日もヘタレちゃったぁ〓っ(ΘΘ)ρ – BO-SE決定事項発表

こちらもとても気になる。

Share

日本語版 Visual Basic 6.0 提供再開

本語版 Visual Basic 6.0 につきましては 6 月 30 日で一旦提供を中止させていただきました。しかし、Visual Basic 6.0 で開発されたアプリケーションは現在でも数多く存在し、それらのシステム メンテナンスのために提供が望まれております。そのため、多くのお客様からのご要望があったことを受け、この度 MSJVM への依存性を排除した形式を作成しなおし提供を再開する運びとなりました。現在、日本語版 Visual Basic 6.0 は MSDN サブス%

MSDNサブスクライバ ダウンロードサイトからの日本語版 Visual Basic 6.0 提供再開に関するご案内

まぁ、あまり使う機会はないのですが、

職場ではVB6な保守案件がゴロゴロしてますので、

これはありがたいかもしれない。

(私以外の職場の人にとって。)

Share

Windows Mobile 5.0 Developer Resource Kitと[es]でランチャソフトにお気に入りを登録してみる

Windows Mobile 5.0 Developer Resource Kit の DVD を 注文してください。送料および手数料はユーザーの負担となります。

郵送では待ちきれませんか。 キットのサブセットを今すぐダウンロードしてください。 (879.8MB)

Windows Mobile 5.0 Developer Resource Kit

ちょうど[es]もあることだし何か作ってみたいなと思う。

思うだけ。

話は変わるが、最近、[es]のランチャソフトにお気に入りを登録するようにしている。

そうすることで、規定のブラウザが起動して、

接続して、

特定のサイトに行くまでを実行してくれるため(関連づけで)、

ブラウザをランチャに登録することに比べて、結構、便利なのだ。

Share

仕事が楽しくなくてもオカシク無い。

仕事は楽しいものじゃなくてはオカシイでしょ?

IT プロフェッショナルのみなさまへ : 仕事は楽しいものじゃなくてはオカシイでしょ?

仕事を楽しもうという姿勢が大事であるという事であれば同意です。

しかし、それを額面通り受け取ってしまう大半の人は

仕事に取り組めない言い訳を自分にするようになるだけだと思う。

そりゃ、仕事が楽しいに越したことはない。

そうだったら幸せだなとは思う。

だって、対価を貰った上に「楽しい」を貰えるのはうれしい。

でも、それを当然にしてしまったら仕事に取り組めない言い訳を自分にし始めるだけだと思う。

仕事は、対価との交換だから、「楽しい」という保証は無いのだ。

対価を貰う以上、楽しく無くてもやらなくてはいけないのが「仕事」である。

だから、「楽しい」は向こうからやって来ない。

だから、もし、仕事に「楽しい」を求めるのであれば、

「仕事は楽しい」

ではなく

「仕事を楽しむ」

になるだろう。

つまり、「楽しい」という付加価値を与えることができるのは、仕事に取り組む自分自身以外にはない。

それに気づける人は確かに「仕事は楽しい」のかもしれない。

が、それに気づけない人は、仕事に取り組むための敷居があがってしまい自分に言い訳を始める。

だから、その敷居をまたげないものにとっては、

「仕事が楽しいなんて保証はないし、求めるものでもない。

 対価を貰っている以上、交換でやらなくてはいけないものだ。

 楽しかったら、儲けもの。」

くらいの意識の方が楽ではないかと思うのである。

まぁ、そんな私は、それなりに楽しく仕事をしていますが。

Share

格差社会というマスコミの妄想

格差社会とは、マスコミが作り出した妄想でしかない。

実際は、過去に比べて、かなり格差の無い社会になってきたと感じる。

頑張って成果が出ればそれが評価される土壌も、

まだまだではあるが、生まれつつあるし、

頑張ろうとしても頑張れない層に対してのフォローも手厚い(日本は過保護だと思っている。)。

何よりも、低所得層と言われる人たちでも、

十分に生活ができる豊かさを日本は獲得している。

むしろ、低所得でも良いから好きなことをする。

といった選択しが増えたわけで、格差社会というのは完全な過ちである。

仕事が生き甲斐な人もいれば、そうではない人もいる。

そうでは無い人が「仕事が生き甲斐」と誤魔化す事無く、

「仕事は自分が生きるための糧を得る場」であり、

本来やりたいと思うことに時間を割くことができる。

今は、それが可能な社会であり、「格差社会」とはただの妄想である。

Share

バージョンは1.1:カスタムコントロールのプロパティの型をコントロールにしたい時に必要なTypeConverterの抽象クラス

カスタムコントロールのプロパティの型をコントロールにしたい時に必要なTypeConverterの抽象クラスです。

各、コントロール毎にTypeConverterを一から作るのはめんどくさいので、抽象クラスを作っておいて、継承先で型を指定するプロパティをオーバライドする事で指定の型のTypeConverterを作成しています。

001 using System;
002 using System.Drawing;
003 using System.Reflection;
004 using System.Collections;
005 using System.ComponentModel;
006 using System.ComponentModel.Design;
007 using System.ComponentModel.Design.Serialization;
008 namespace NAL6295.Web.UI.Controls
009 {
010     /// <summary>
011     ///        コントロールのリストと選択されたコントロールの文字列を相互変換するコンバータの抽象クラス
012     /// </summary>
013     public abstract class ControlConverterAbstract:System.ComponentModel.StringConverter
014     {
015 
016         /// <summary>
017         ///        選択リストに追加したいコントロールの型情報
018         /// </summary>
019         protected abstract System.Type ControlType{get;}
020 
021 
022 
023         /// <summary>
024         ///        値リストのサポートを許可する
025         /// </summary>
026         /// <param name="context"></param>
027         /// <returns></returns>        
028         public override  bool GetStandardValuesSupported(System.ComponentModel.ITypeDescriptorContext context)
029         {
030             return true;
031         }
032 
033         /// <summary>
034         ///        値リストの作成
035         /// </summary>
036         /// <param name="context"></param>
037         /// <returns>デザイン画面に存在するControlTypeプロパティで指定されたコントロールのリストを取得しそのIDリストを返す</returns>
038         public override  System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(System.ComponentModel.ITypeDescriptorContext context)
039         {
040             ArrayList selectionList = new ArrayList();
041 
042             foreach(System.Web.UI.Control item in GetControlList(context))
043             {
044                 selectionList.Add(item.ID);
045             }
046 
047             return new System.ComponentModel.TypeConverter.StandardValuesCollection(selectionList);
048         }
049 
050         /// <summary>
051         ///        文字列型から指定された型への変換
052         ///        選択リストに無い文字列が指定されていたときは、String.Emptyを返す
053         /// </summary>
054         /// <param name="context"></param>
055         /// <param name="culture"></param>
056         /// <param name="value"></param>
057         /// <returns></returns>
058         public override  object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value)
059         {
060             if(value is string)
061             {
062                 foreach(System.Web.UI.Control item in GetControlList(context))
063                 {
064                     if(item.ID == (string)value)
065                     {
066                         return base.ConvertFrom(context, culture, value);
067                     }
068                 }
069                 return string.Empty;
070             }
071             return base.ConvertFrom(context, culture, value);
072         }
073 
074         /// <summary>
075         ///        指定された型のリストを返す
076         /// </summary>
077         /// <param name="context"></param>
078         /// <returns></returns>
079         private object[] GetControlList(ITypeDescriptorContext context)
080         {
081             IReferenceService service = (IReferenceService)context.GetService(typeof(IReferenceService));
082             return service.GetReferences(ControlType);
083         }
084 
085 
086     }
087 
088 }
089 
090 

使用例

001     public sealed class TextBoxConverter:ControlConverterAbstract
002     {
003         protected override Type ControlType
004         {
005             get
006             {
007                 return typeof(TextBox);
008             }
009         }
010 
011     }

Share

メモ:.NETのライセンス処理

このペーパーでは、.NET Framework に組み込まれているライセンス処理方式についての詳しい情報を提供します。また、利用可能な各種のライセンス処理方式と、一部の方式を .NET Framework で実装する方法について説明します。.NET のコントロールとコンポーネントのプロとしてやっていくためには、これらの事柄を理解する必要があります。

.NET のライセンス処理

そのうち使いそうなので、ずいぶん前にメモっておいたURLをここに貼り付け。

Share
カテゴリー: .NET

URLEncodeしたページにアクセスした後、ポストバックする時はURLEncodeされていないURLでアクセスしてしまうのを回避する(検証はASP.NET1.1)

URLに日本語を利用していて、

URLEncodeしてwebフォームにアクセスしても、

そのままだとレンダリングされたformタグのaction属性が、

デコードされたURLになっている。

そのため、ポストバック時にアクセスするURLはEncodeされていない。

それを回避するにはglobal.asaxのPreRequestHandlerExecuteイベント内で、

下記のコードを記述すればよい。

System.Web.HttpContext.Current.RewritePath(System.Web.HttpContext.Current.Request.Url.AbsolutePath);

実際はそのイベントじゃなくても、ある程度許容範囲がある。

RequestEndイベント内でもOKだった。

Share