2011年03月31日

N寄生数

   このエントリーをはてなブックマークに追加 Clip to Evernote
Webサイト Gushwell's C# Programming Pageに『N寄生数』の記事を掲載しました。
C#のソースコードも載せています。

N寄生数とは、

ある整数をA 、Aの一桁目の数値を N としたときに、 A を N 倍すると、右へ一桁分ローテートシフトし、
Nが最上位桁に移る数 のなかで最小の数を言います。 ただし、2<=N<=9 とします。

例えば、N=4 の時は、102564 となります。
102564 * 4 = 410256
となり、右にローテートシフトします

興味のある方は、N=6の時の値を求めてみてください。


  

Posted by gushwell at 21:26Comments(0)TrackBack(0)

2011年03月27日

Silverlight:画面に表示されたRichTextBox を印刷する

   このエントリーをはてなブックマークに追加 Clip to Evernote
画面表示用のページに配置されたRichTextBox の変数名がrtb だとすると、
rtbをPageVisual に 直接セットすると、印刷はできるけど、
幅を印刷用紙に合わせることができません。

RichTextBoxの複製を作って、それをPageVisualに設定して、印刷すればいいはずと思って、
調べたんだけど、どうやって複製を作るのかが、なかなか分かりませんでした。

やっとたどり着いた答えは、xaml プロパティを使えばいいということ。
これがわかるまで、結構時間がかかってしまいました。
別の方法もあるかも知れないけど、これ以外の方法がわかりません。
1ページ限定だけど、以下のようにすれば印刷できます。

  
Posted by gushwell at 22:06Comments(0)TrackBack(0)

2011年03月10日

Windows Live Mesh

   このエントリーをはてなブックマークに追加 Clip to Evernote
Windows Live Mesh を利用してみました。

Live Meshを利用すると、コンピュータの特定のフォルダをSkyDriveと同期することができます。

SkyDriveだけだと、いちいちファイルのアップロード、ダウンロードの操作を
やらないといけないですが、Live Meshを利用すれば、指定したフォルダにファイルを
置くだけで、自動的に同期してくれるので便利です。

容量は5GBまでと制限されていますが、DropBoxよりも容量が多いのが良いですね。

SkyDrive以外に、他のコンピュータとも同期できるみたいですが、
この機能は試していません。

Windows Live Meshは、Windows Live Essentials の一部として
提供されているソフトウェアですが、WINdos Live Meshだけをインストールすることもできます。

DropBoxからLive Meshに乗り換えようと思っています。
  
Posted by gushwell at 23:34Comments(0)TrackBack(0)

2011年03月08日

プログラマー vs プログラマ

   このエントリーをはてなブックマークに追加 Clip to Evernote
前回の記事「今更ですが、「プログラマーへ64の質問」へ答えてみた。」で、

26.プログラマといいますか?プログラマーといいますか?
  プログラマーです。
  というか、「プログラマ」と言っている人に会ったことがありません。
  ということで、Microsoftの方針転換をおおいに支持します。


と書いたのだけれど、実は、
「マイクロソフトもプログラマは例外的に長音を使わないですよ」
という突っ込みを少し期待してました。
でも、誰からの突っ込みもなかったので自分で書きます。


マイクロソフトでは、2008年の夏に、カタカナ用語の長音表記の方針を変更しました。
新しい製品から、ユーザー、エディター、マネージャー、サーバー、カスタマーなど、末尾が
-er, -or, -arで終わる単語のカタカナ表記では長音を付けることを原則にしています。
この発表があった時に、マイクロソフト社の英断に、心の中で拍手喝さいしたのですが、
でも、なぜか、プログラマなどいくつかの単語は、例外扱いのようです。
たぶん、この業界では、プログラマが一般的に利用されていて、それが浸透しているから
という理由なのだと思いますが、僕は、こういった方針転換をするのならば、
自分たちの使うもっとも身近な用語であるプログラマこそ、プログラマーにすべきだと
思うんですが、残念ながらそうはならなかったみたいです。
それにも拘わらず、「プログラマーズガイド」とかは長音使ってるし....統一感がないです。

もうひとつ残念なのは、yで終わる単語についても、なんらかの方針をだしてほしかったなー
ということです。
例えば、Technology という単語は、マイクロソフト社では、「テクノロジ」が多く使われているようですが、
一般的には、「テクノロジー」です。
それじゃ、ほかの単語はどうかと思って調べると

synergy シナジー
policy ポリシー
Story ストーリー
gallery ギャラリー
Directory ディレクトリ
parity パリティ
factory ファクトリ

といった具合で、統一されていません。
まあ、通じればいいんじゃないの、細かいこと言ってもしかたない、という気もしますが...

この話題は、前回の記事同様、今更感が激しいのですが、
気になりだすと、止まらない性格なので,
ここに書いておくことにします。
  
Posted by gushwell at 22:30Comments(0)TrackBack(0)

2011年03月06日

今更ですが、「プログラマーへ64の質問」へ答えてみた。

   このエントリーをはてなブックマークに追加 Clip to Evernote
今更感が激しくあるけど、「プログラマーへ64の質問」へ答えてみた。

元ネタ:プログラマーへ64の質問

0.プログラマは何事も0からスタートするべきだと思いますか?
  いいえ、先人たちの知恵と成果を利用すべきです。
  ってそういう質問じゃなくて、インデックスはどんな時でも 0 からスタートすべきという質問なのかな。
  だとしたら、ほとんどの場合は 0 からスタートだけど、そうしたくない場合も、ごく稀にある。

1.プログラマの定義は何でしょうか?
  プログラムを書く人。

2.あなたがいつもやることとは?
  Visual Studio を起動する。
  RSSリーダでプログラミング関連のブログ記事を読む。

3.あなたが絶対やらないことは?
  絶対ということはあり得ないと思っています。

4.あなたは2桁16進数を頭の中で10進数変換できますか?
  できません。16進電卓がいつも机の上にあります。
  加えて、最近iPhone/iPod Touchで利用できる16進電卓アプリも買いました。

5.あなたはなぜプログラマになっちゃたんですか?
  うーーん、なんででしょう。
  プログラムを書くことが好きだからかな。

6.あなたの好きなお菓子は?
  チョコ、しょうゆ味せんべい、マドレーヌ

7.あなたの体重を教えてください?
  61Kg この1年間で4Kほど増えました。

8.あなたの体型は?
  普通

9.あなたの普段の服装は?
  会社ではスーツ

10.あなたは秋葉原で、真っ先にどこをチェックしますか?
  ここ10年以上、秋葉原には行っていません。

11.あなたの睡眠時間はどのくらい?
  6時間半

12.あなたの起床時刻と就寝時刻はいつ?
  24:00 と 6:30

13.あなたがはじめて使ったマシンは何?
  たぶん、IBM360

14.あなたがはじめて覚えたプログラミング言語は何?
  FORTRAN

15.あなたはどんなゲーム機を持っていますですか?
  最近のゲーム機は持ってません。しいて言えば、iPod Touch。
  押し入れの中には古いゲーム機(スーパーファミコン、PS, PS2、NINTENDO64など)があります。

16.あなたはデスクトップ、ノート、PDA、含めて何台マシンを持っていますか?
  家には、3台のノートPCがあります。家族が使うのも含めてですが...

17.あなたの一番好きなプログラミング言語は何ですか?
  C#です。

18.あなたの一番の不満は何ですか?
  バックスラッシュをエンマークにマッピングしたのは誰なんだー。
  $をエンマークにマッピングしたとしたら、どうなっていただろうか。
  それはそれで面倒なことが起こっていたような気がする。

19.プログラマをやっていると目が悪くなりますか?
  悪くはなっていないと思います。
  ただ、最近は老眼が...

20.プログラミングをしているお父さんには女の子が産まれやすいって本当だと思いますか?
  うちは、男と女一人づつです。

21.あなたとしてGNU/GPLをどう思いますか?
  GNU/GPLの貢献はすごく大きいと思うし、そういう主張をするのは自由だと思います。
  ただ、仕事ではGPLのものは使いません。

22.あなたにとってヒーローは?
  ウォズニアックとアンディ・ハーツフェルドかな。

23.あなたはBill Gates とLinus Torvalds と Bill Joyと R.M.S の誰を支持しますか?
  特に誰も。

24.あなたにオブジェクト指向は必要ですか?
  はい、必要です。

25.あなたはデザインパターンを有効に使っていますか?
  と思います。

26.プログラマといいますか?プログラマーといいますか?
  プログラマーです。
  というか、「プログラマ」と言っている人に会ったことがありません。
  ということで、Microsoftの方針転換をおおいに支持します。

27.あなたは吉田弘一郎 岩谷宏 藤原博文の誰を支持しますか?
  誰を支持するとかそういうのは無いです。
  この質問に時代を感じるなー。

28.結城浩 柴田望洋は初心者の味方ですか?
  はい、そう思います。お世話になりました。

29.あなたはプログラマ30年説を支持しますか? (オレハシジシナイ)
  30年説って、30歳説ってことですか? それとも、30年間という意味ですか?
  まあ、どちらにせよ支持しません。

30.言語の選定に失敗して白い灰になってしまった人を見たことはありますか?
  いません。

31.プログラマとして食べていくにはやっぱりMSですか?
  そんなことは無いでしょう。でも、僕の場合はMSです。
  この質問にもちょっと時代を感じますね。

32.あなたが使うエディタは当然vi系?
  Visual StudioのIDEです。
  あとはEmEditor Pro

33.正規表現は必須ですか?
  使う頻度は少ないですが、特定の場面ではものすごく強力です。

34.プログラマの名誉とは?
  ユーザに使ってもらうこと。

35.プログラマの能力は出身学部や専攻に関係あると思いますか?
  僕の携わっている仕事には、関係ないと思います。

36.プログラマに数学はどの程度必要ですか?
  どういったプログラムを書くかによると思います。今の仕事では中学程度の知識で十分だと思います。

37.プログラマとSEの違いを説明してください。
  プログラミングを楽しめる人がプログラマー、楽しめない人がSE

38.プログラマの醍醐味は何でしょうか?
  複雑だと思えた問題が、簡潔なコードで実現できたとき。

39.プログラミングしすぎで日常の全てが頭の中でプログラミング言語に変換されることってありますか?
  まったくないです。

40.プログラマは将来、他業界のように資格制度が必要になると思いますか?
  どうなのかな。必要ないと思うけど...
  プログラマーの地位向上には必要なのかもしれません。

41.あなたは文書をMS Wordで書きますか? La TeXで書きますか?
  LaTeXは使ったことがありません。
  Wordは良く使います。

42.あなたは一日何時間プログラミングしますか?そのうち、仕事以外では何時間かけていますか?
  その日によるけど。。。

43.あなたにとってコーディング以前の問題発見・問題定義は重要だと思いますか?実例があれば教えてください。
  問題が定義されなければ、コードを書くことはできません。重要だと思います。

44.あなたが使うブラウザは?
  Chromeを主に使ってます。IEも時々使います。

45.あなたの常食は辛いもの主体ですか?
  辛いものは苦手です。

46.あなたの周りのプログラマには第一子目の流産率は高いですか?
  わかりません。

47.あなたがプログラマをしていることで友人・知人から感謝されたことがありますか?
  特にありません。

48.コンピュータまたはシステムに興味を持ったきっかけなどがありましたら教えてください。
  雑誌「I/O」、「ASCII」を購読していて徐々に興味を持ったということかな。
  なぜこれらの雑誌を読んでいたのかは、大学が情報関係の学科だったからです。
  大学受験では情報関係の学科しか受けていないのですが、どうして情報関係か
  となると、良く思い出せません。
  たぶん、ニュースとかで興味を持ったからだと思います。

49.あなたは、お金に不自由しないとしても、プログラムを書きますか?
  たぶん。

50.プログラマに一番大切な資質は何でしょうか。 
  論理的思考力かな。
  あとは、好奇心、知識欲、問題の本質を見つけようとする心、学習を継続する力など。

51.プログラマになりたい、という学生さんにアドバイス。
  プログラミングを好きになってください。

52.プログラマに英語は必要でしょうか。
  はい。(僕はできないけど...)

53.プログラマがやってはいけないこととは何?
  バグ解消を「対処療法」で済まそうとすること。

54.イテレーター、連想配列、リストなどは言語がサポートすべき?ライブラリにすべき?
  C言語やってたことは、ライブラリがサポートすべきと思っていたけど、
  最近は、言語がサポートしていたほうが良いと思うようになった。

55.アセンブラは書けないといけないですか?
  いいえ。
  以前は書けましたが今は完全に忘却の彼方です。 それでもプログラムを書くことができます。

56.はんだごては必要でしょうか?
  いいえ。プログラマーには不必要でしょう。

57.自作機を作ったことはありますか?
  いいえ。

58.何種類のプログラム言語を使えますか?
  どのレベルを使えるというのかにもよるけど、今は4種類くらい。
  昔の使っていた言語は、忘れてしまった。

59.日本語文字コードについて、何派
  何派ということもないけど、普通にUnicodeでしょう。
  テキストファイルのエンコードはUTF-8にしてます。

60.I18N, M17N, L10N について言いたいことはありますか?
  特にありまえせん。っというかこれらの単語を知りません。
  で、調べましたが、今の僕にはあまり関係ないみたいなので、言いたいことはありません。

61.あなたはプログラマになってから言葉に敏感になりましたか?
  プログラマーだからってことはないと思いますが、
  正しい日本語を使いたいと思います。

62.他のプログラマに質問するとしたら、何と質問しますか?
  あなたに一番影響を与えた書籍は何ですが。
  ちなみに僕は、『プログラミング言語C』です。

63.あと一問残っていると思うか?
  これが64番目の質問なので、最後のはず。

64.この質問を入れるための変数初期化は new 質問[64]; でよいか?
  new 質問[65]; ですね。
  でも、new List<質問>() 使います。
  
Posted by gushwell at 22:52Comments(0)TrackBack(0)