2011/07/21

指定された長さでランダムな英数字の文字列を生成するVBScriptのこと

32文字の暗号キーをVBScriptで作ってみたくなったの試しに書いてみた。
真っ先に思いついて書いたのは英数字の文字コードをランダムに出すもの(GenerateRndString)だが、なんかアホっぽい気がしたので英数字の文字列から文字をランダムに取り出す方にした(GenerateRndString2)。
お遊びコードです。あくまでも。

'
' Summary:
'  指定された長さでランダムな英数字の文字列を生成する
'
Option Explicit

Const TITLE = "ランダムな英数字文字列を生成するやつ"

Dim size

Do
 size = InputBox("生成する文字列の桁数ね", TITLE)
 If IsNumeric(size) Then
  size = CInt(size)
  Exit Do
 Else
  MsgBox "桁数だから数字で"
 End If
Loop
InputBox "こんな", TITLE, GenerateRndString2(size)



'
' Summary:
'  指定された長さでランダムな英数字の文字列を生成する
' Input:
'  size As Integer - 生成する文字列の長さ
' Output:
'  String - 生成した文字列
'
Function GenerateRndString(size)

 Dim str
 Dim n

 str = ""
 Randomize
 Do Until Len(str) >= size
  '数字または英字を生成する
  '"0"(048) ~ "9"(057)
  '"A"(065) ~ "Z"(090)
  '"a"(097) ~ "z"(122)
  n = Int((122 - 48 + 1) * Rnd + 48)
  If (48 <= n And n <= 57) _
   Or (65 <= n And n <= 90) _
   Or (97 <= n And n <= 122) Then
   str = str & Chr(n)
  End If
 Loop

 GenerateRndString = str

End Function



'
' Summary:
'  指定された長さでランダムな英数字の文字列を生成する
' Input:
'  size As Integer - 生成する文字列の長さ
' Output:
'  String - 生成した文字列
'
Function GenerateRndString2(size)

 Dim chars
 Dim str
 Dim i

 chars = "0123456789" _
  & "ABCDEFGHIJKLMNOPQRSTUVWXYZ" _
  & "abcdefghijklmnopqrstuvwxyz"

 str = ""
 Randomize
 For i = 1 To size
  str = str & Mid(chars, Int(Rnd * Len(chars) + 1), 1)
 Next

 GenerateRndString2 = str

End Function

2011/03/04

交渉のロジックのこと

3月3日放送のカンブリア宮殿にて、元外務事務次官で現在は外務省顧問をされている藪中三十二(やぶなか みとじ)さん、交渉におけるロジックについて。
実際に交渉でロジックがなぜ必要かというと言うとですね、共通用語なんですね僕に言わせれば、世界共通用語。つまり、各々の国は歴史も違えば習慣も違う。その時に「まあまあ」とかね、「なあなあ分かるだろう」って言うんじゃ分からないわけです相手はね。そこで共通の用語としてあるのはね、英語とかそういうことももちろんありますけれども、考え方として一応筋が立っていると。論理が通っていることが大事だと。それがお互いを理解できる1つの共通の基準になると思うんですね。

もうひとつは交渉ってのは、本国へ帰って「相手はこう言っていました」と言う時に、相手の言っていることが筋が通ってない場合には説明のしようがないわけですね。「まあうちの特殊事情を理解してくれ」と言われたってね相手がそんなことを理解したら、国に帰ったら「お前バカか」と言われるだけですからね。
ある意味、毎日が異文化コミュニケーションな最近の自分にとって、目からウロコな言葉だったので思わず書き取り。

2011/02/20

映画『穴』を観たこと

あー、テレビでなのだけど面白かったので。タイトルだけ見てニック・ハムさん監督のかと思ったけど、まったく別の話でアンドリュー・デイヴィスさんの方。

先祖代々呪われた家系の少年、スタンリー・イェルナッツ4世君、無実の罪で更生キャンプに送られて、炎天下の荒野で毎日ひたすら穴掘らされて、キャンプで仲良くなったみなし子ゼロ君と脱走して山登りして呪いを解いて、キャンプに戻ってまた穴を掘ってお宝を見つけて一攫千金という運命の話。

作品ではスタンリー君の運命の話を見せつつ、その原因であるスタンリー君の高祖父(だったかな?)エリヤ・イェルナッツとマダム・ゼローニの話、女教師キャサリン・バーロウとサムの話を絡ませてくるあたりの組み立て方が楽しかった。スタンリー君の境遇と施設の慣習に囚われないあたりは、ほんのちょっと『ショーシャンクの空に』のアンディを連想したりもした。地味にじわりと面白い。

2011/01/17

DHCPサーバー移行ガイドのこと

Microsoft TechNetで調べたメモ。

DHCP サーバー移行ガイド
既存のDHCPサーバーの設定をWindows Server 2008 R2が実行されているサーバーへ移行する手順の説明。

DHCP サーバーの役割で推奨されるタスク
推奨されるタスクのインデックスページ。
DHCP スコープを分割してフォールト トレランスを向上する 
動的更新およびセキュリティ保護された動的更新を構成して、DNS レコードの手動更新を廃止する 
Windows ファイアウォールのポートを構成して、DHCP サーバーのリモート管理を許可する 
AD DS で DHCP サーバーを承認することにより、ネットワーク上から非承認の DHCP サーバーを排除する 
ネットワーク アクセス保護と連携するよう DHCP を構成して、クライアントの正常性に関するネットワーク アクセス ポリシーを強制する 
DHCP 予約を作成して、静的 IP アドレスを使用するデバイスの管理を自動化する 
DHCP リレー エージェントを構成して 1 台の DHCP サーバーで複数のサブネットをサポートする 
既存の DHCP インフラストラクチャを移行して、新しいサーバー上の DHCP の再構成を回避する 
スコープの 80/20 規則を使用して、DHCP サーバーの負荷を分散する 
DHCP サーバーをクラスター化し、複数の DHCP サーバーを単一のシステムとして集中管理する 

DHCP バックアップと復元の詳細
上記のインデックスからはなぜか漏れているもの。
「DHCP サーバー サービスでは、3 種類のバックアップ方法をサポートしています。」とあるが、私の頭が悪いのか2つしかわからない。
自動的に行われる同期バックアップ。既定のバックアップ間隔は 60 分です。
DHCP コンソールで backup コマンドを使用して実行される非同期 (手動) バックアップ。

DHCP データベースのエクスポートおよびインポートの詳細
上記のインデックスからはなぜか漏れているもの。
移動元サーバーから移動先サーバーにDHCPデータベースを移動する手順、だが、私の頭が悪いのか手順に漏れがある気がしてならない。

2011/01/11

AWkitchen新宿に行ったこと

AWkitchen新宿でツレと夕食。自分はキノコたっぷりシンプルクリームフェットチーネ。ツレはごぼうと岩塩ソーセージスパゲッティー、はトマトソースベース。どちらもかなりもっちりというか不思議な食感の麺と濃い目のソースのマッチがとても美味しかった。でも30男には少々ボリューム不足。テイクアウトもあるので試してみたい。

どうにも足りないので、帰宅後に忘れていたもちのカビを削って焼いて雑煮を作成。

2010/12/21

Windowsの名前解決のこと

仕事で、新しいWindows PCがメールサーバに接続できず、調べたところ、ファイルサーバやWebは接続できるけどどうもメールサーバの名前解決ができていない、というところで見つけたページの記録。


DNSリゾルバのキャッシュをアレするipconfigのオプション
/flushdns  DNS リゾルバ キャッシュを解放します。
/displaydns  DNS リゾルバ キャッシュの内容を表示します。

2010/12/16

Excelワークシートの数式を表示すること

他人がExcelで作ったツールの仕様を調べたいが、セルを1個々々つついて数式なり条件付き書式なりを調べていたら死ぬので、数式だけでも表示したい。

Excel 2003の場合
「ツール」メニュー - 「オプション」 - 「表示」タブ - 「ウィンドウ オプション」 - 「数式」チェックをオン。

VBAを使えば条件付き書式も拾えるかもしれないが、数式が読めればワークシート上でなんとか当たれる気がするので深追いはしない。

WindowsのDHCPサーバをADで承認/解除すること

DHCPサーバを承認/解除する操作方法。

Windows Server 2003の場合

Windows Server 2008の場合

2010/12/14

DHCPリレー・エージェントのこと

DHCPのほら、アレ。アレだよ。別ネットワークにつなぐやつ。なんだっけ。DHCPなんとか。ルーター的なやつ。
という状況からなかなか脱却できない。最近よく言葉が出てこなかったり、覚えられなかったり、プログラマ35歳定年説が頭をよぎったり。

DHCPリレー・エージェント とは - Networkキーワード:ITpro:
"DHCPリレー・エージェントは,別のネットワークにあるDHCPサーバーにDHCPメッセージを中継するしくみである。複数のネットワークに関するネットワーク設定情報を,1台のDHCPサーバーで管理できるようにする。"

2010/12/13

壁を越えること

ちょっと手を伸ばしてみれば届くものについて | Lifehacking.jp:
"ちょっとのことで越えられる壁がいくつもあるのだけれども、「越えよう」と考えるまではその本当の高さがわからない。"

確かに! 難しそうだと思って避けてしまうことはある。
なんてことはTumblrでやった方がいいのか?

無料コンテンツのこと

これからのコンテンツは - 林檎の木:
"私も無料のコンテンツが有料のコンテンツを駆逐している世界なんて最悪だと思っています。ぞっとする。だってお金をかけた方がいいものが出来るに決まっているから。"

お金をかけたからいいものができるとは限らないけど、少なくともお金をかけないとできないコンテンツってのはあると思う。なので自分もお金を払うし、手にとって触れることのできるものが欲しいと共感。

永和システムマネジメントによるアジャイルな受託開発の試みのこと

プレスリリースは2010年11月11日付なので今さらだけど興味深い、アジャイルな受託開発というビジネス。

新しい契約形態での受託開発サービス | 永和システムマネジメント

プライベートセミナー「アジャイルに適したまったく新しい契約形態での受託開発サービス トライアルの紹介」を開催しました - Ruby x Agile

ざっくりまとめると…

これまでの受託開発

  • 客は一括請負型の契約では納品時に費用を全額支払い。

新しいサービス

  • 新しいサービスでは、開発したシステムを初期費用0円で提供。
  • 客はその後、サービスを利用している期間に対してサービス利用料という形で月々支払い。

ポイントとしては

  • サービスが客に価値を提供するのは、納品した瞬間ではなく客がサービスを利用している期間。
  • ビジネスとしてはサービス利用料を取ってシステムをレンタルするという形態なので、ソフトウェア、ドキュメントの著作権は永和システムマネジメントに帰属する。

ということか。

とても客を選ぶことになりそうな気もするが、その手法がマッチしたときには非常に強そう。興味深い。

2010/12/12

買い物のこと

先日67歳になった父親から今朝、アマゾンで税務手帳2011を買いたいがわからないとメールがきたので見てみると「この本は現在お取り扱いできません。」と赤字で表示されていた。なので自分の用事ついでに買っておくととりあえず返信。それにしても父親がアマゾンで買い物とは驚きなのである。

以下は今日の買い物。

日本税理士会連合会『税務手帳 2011』中央経済社 880円
父のおつかい。サイズの割りに税務の情報が充実していて自分用にもいいかもと一瞬思ったが、見開き2ページ1週間の中で日曜日の欄が小さくなっているのでやめた。月間とか週間は7日が等分になっているものがいい。ところで税理があるなら労務もあるかなと思ってみたら同じく中央経済社から『社会保険労務手帳 2011』があるな。でもやっぱり日曜日が小さいのだろうか。

いしたにまさき『ネットで成功しているのは〈やめない人たち〉である』技術評論社 1,480円
あやかりたい。いや、タイトル通りの内容もそうだが、ネットでのアンケートによる調査方法も興味深かったから。

外山滋比古『思考の整理学』ちくま文庫 520円
今まで本屋で何度か見かけて何度か手にしては見たもののどうも買うほどではない気がしていたがあんまり目にするのでこれも縁と勘違いして購入の体で。Google日本語入力はちゃんと「外山滋比古」って変換できる。

苫米地英人『英語は訳さず学べ!』徳間書店 1,500円
うっかり購入してしまったが、序章で苫米地さんがサイゾーのオーナーと知っただけでなんだか満足。Google日本語入力はちゃんと「苫米地英人」って(略)。

帰宅してから父に、買った手帳をいつ渡すかと電話したら実は2冊欲しいとのこと。そんなこと今朝のメールには書いていなかったが。うーん。