2007年11月10日

SQLServer2005のGUI管理ツール(フリー)

最近、新しく導入するサーバは、既存のリプレースでもない限り、さすがにSQLServer2000ではなくなってきている(使い慣れているせいか、まだまだ人気だけれど)。
そこで開発環境もSQLServer2000から2005にかわるわけだけれど、2005標準であるGUIの管理ツールであるManagement Studioは、人を馬鹿にしているとしか思えない重さ。
2000の似たようなツールであるEnterprise managerはさくさく動く環境なのに、Management Studioはテーブルの内容を表示するともう数分は帰ってこない。
テーブル表示する部分なんぞ、1行表示するだけで数十秒。
まったくもって使えません。
また、Management StudioはフリーのExpress版がありますが、こちらは製品版よりさらに重いです。

Microsoft SQL Server Management Studio Express
http://www.microsoft.com/downloads/details.aspx?familyid=c243a5ae-4bd1-4e3d-94b8-5a0f62bf7796&displaylang=ja

ツールがフリーになったのはうれしいですが、使えないツールだから公開したのかって思えます。
こんなの普通に使える環境なんて、どれほどあるのでしょうか。
でも、金払ってまで入れたくないしな・・・。

そんな慢性的な不満を溜め込んでいたので、フリーのいいツールを探していたのですが、最近なかなか良いツールがでてきました。
私の注目株はこちらの2ソフト。

黒猫 SQL Studio
http://www.kuronekosoft.fscs.jp/sqlstudio.aspx

A5:SQL Mk-2 - フリーのSQL開発ツール/ER図ツール
http://www.wind.sannet.ne.jp/m_matsu/developer/a5m2/

前者には、AccessやEnterprise managerのようなクエリービルダーが使える。
後者は、ER図ツールをつかってDOAのようなことが可能。
本当は両方がひとつのソフトになっていればいいのですが。
その他、DDLの書き出しや、リバースエンジニアリング、テーブルフォームでの直接書き換え、Excelへの出力などをサポートしています。
DBへのアクセスは、ADOとODBCが使える。
特にADOは素晴らしい。
接続文字列だけでサーバに接続可能。
ODBCだといちいち登録が必要で面倒だったから、非常にうれしい。
特に2005の場合は、3インスタンスをつかって、ソフトでの疑似クラスター構成(みたいの。コネクトストリングで、片系が落ちている場合の切り替え先を指定できる)が使える。
そしてなにより、軽い!
その他、テーブルを開くで、AccessやEnterprise managerのようにテーブル編集(Excelみたいな表での編集。Spread、Gridのほうが伝わるかな?)ができるし、それをそのまま手で編集して反映できる。
上下に分かれている画面で、上でSQLを実行し、下に結果を出すなんて基本的なことはもちろんできてしまう。
MSSQLでは、テーブルのデザインもできてました。

もちろん、できないこともたくさんあります。
そのDBに特化した機能はまずない。
Management Studioのように、疑似クラスター構成でフェールオーバーを起こせないとか、サービスの再起動もできないとか。
その他、レプリ関連も設定できない(見つけられなかっただけの可能性もありますが)、バックアップ関連の設定もDBごとに違うので無理。
そういうのはあきらめて重いインターフェースを使うか、自分でSQL(というよりコマンド)を打ちましょう。
そんなのは滅多に使わないので、なくても十分に便利です。

また、プロ(お仕事で使っている人)にも便利な機能も押さえています。
テーブル構造の仕様書、テーブル一覧、フィールド一覧。
まあ、知っていればSQLで出てくるものなのですが、DBごとに違っていて、覚えることがいっぱいいっぱい。
それをボタンひとつでやってくれるのは非常に便利。
MSSQL2005ではGUIが重すぎて、osql(コマンドラインツール)でやっていたため、私には涙が出るほどうれしいツールです。
できれば、自分でそれらをとってくるExcelを作る前に欲しかったですが・・・
全テーブルになにかをするなんて時には、これらと秀丸で置き換えてしまえば、非常に便利なものができあがるわけです。

他にも機能はあるようですが、そこいらの開発事情をわかっているツールだとおもいました。

続きを読む
posted by w033 at 00:45| 千葉 ☁| Comment(0) | TrackBack(1) | プログラム | このブログの読者になる | 更新情報をチェックする

2007年10月21日

ブラウザでちょっどだけRuby

Ironrubyの1.0の声がま〜ったく聞こえてこないので、さっさと出ないかなとJohn Lam on Soft(Ironrubyのα版のソースを公開しているサイト)を見に行ったら、代わりにこんなサイトを見つけた。

tryruby
http://tryruby.hobix.com/

いわゆるInteractive ruby(ファイルをしないでrubyを起動すると、rubyのプロンプトになるあれ)がブラウザで体験できるってやつです。
面白いので簡単なrubyソースでも実行してみてください。
簡単な構文は以下のサイトを参照。

Ruby(Wikipedia)
http://ja.wikipedia.org/wiki/Ruby

Ruby例文辞典
http://www.openspc2.org/reibun/Ruby/

どういう動きになっているんだか。
裏でAjaxでもつかっているのかな?
最近はそこまで解析する気力はないですが、こういうのをうまくつかうと、新しい言語を勉強する方にとっては非常に便利ですよね。

続きを読む
posted by w033 at 00:48| 千葉 ☁| Comment(0) | TrackBack(0) | プログラム | このブログの読者になる | 更新情報をチェックする

2007年01月14日

Hello World.

ひさしくコーディングシートなんて見ていないので、
整形にいまいち地震がないけれど、2chから拾ってきたソースコード。

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.
*
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. MAKER-A.
OBJECT-COMPUTER. MAKER-A.
/
DATA DIVISION.
/
WORKING-STORAGE SECTION.
01 HELLO-WORLD PIC X(11) VALUE 'Hello World'.
/
PROCEDURE DIVISION.
DISPLAY HELLO-WORLD UPON CONSOLE.
STOP RUN.

うわ、COBOLだよ。
しかも、しっかりと全部のDIVISIONが書いてあるし。
でも、「UPON」ってなんだったかな?
記憶では「FROM CONSOLE.」とかの覚えが。
機種の違い? それともバージョンかな?
知らないだけってのが一番あり得るけど(苦笑)

しっかし、12行!?(コメントは除外)
他の言語なら3行くらいで十分終わるのに・・・

Sub Main()
' イミディエットウィンドーへ出力
Debug.Pring "Hello World"
End Sub

元ネタはこちら
http://cocoa.2ch.net/linux/kako/986/986981055.html
posted by w033 at 22:04| 千葉 ☀| Comment(0) | TrackBack(0) | プログラム | このブログの読者になる | 更新情報をチェックする

2006年12月15日

ひさびさのC言語

ひさびさにC言語をもてあそんでいたら、逆にもてあそばれてしまった。

1.gccなんて久々すぎて、欲しいコンパイルオプションを探すのに15分かかった、鬱だ。
2.C言語系、久々すぎてプロトタイプを書き忘れて英語のエラーがずらずら。気がつくのに30分かかった、鬱だ。
3.VC++でのCPPファイル(C++環境)に慣れ、変数宣言を関数の先頭に書き忘れてコンパイルエラー。気がつくのに1時間かかった、鬱だ。

わたし、もうC言語には戻れない体かもしれない。。。orz
いいや、黙ってスクリプトで書こう。
GUIもスクリプトで十分はやい時代だしね。

それにしても、関数の先頭で変数宣言と、プロトタイプだけはどうしてなくならないのか?
.NetのC++はプロトタイプ必要ないのにねぇ。
コンパイラ君、手抜きしないでソースを2回読んでください。
posted by w033 at 22:14| 千葉 🌁| Comment(2) | TrackBack(0) | プログラム | このブログの読者になる | 更新情報をチェックする

XBox360とXNA Framework

MSがゲーム機を出すということで、前々から出ると思っていたもののベータ版が出ているようです。
XNA Framework、これはWindwos上でゲームをつくると、XBox360上でも動かせてしまうというもの。
片方作るだけで両方でリリースできるし、ゲームを提供する側の敷居が極端に低くなる。
XBox360用の同人ソフトや個人で作りたい人がいれば、DirectXと言語の知識があれば、簡単にできてしまうんだね。
そして、作る人はWindowsの環境を使うことができる。
あー、なんか、意味もなくXBox360が欲しくなってきたなぁ。

.NET開発者のためのDirectX連携手法
http://www.atmarkit.co.jp/fdotnet/directxworld/directxworld03/directxworld03_01.html
posted by w033 at 01:05| 千葉 ☔| Comment(0) | TrackBack(0) | プログラム | このブログの読者になる | 更新情報をチェックする

INT21って0x21(16進)だっけ?

昔という物は美化されるものだけれど、DOSのC言語で
INT21(DOSのシステムコール)投げたりするのは懐かしいなぁ。
あのころのアセンブラなり、C言語はハードが動いているって実感が
あったものだけれど、最近は窓が動くだけだからつまらないよなぁ。
だから、ロボットなんてものが流行るのだろうか?
キーボードのランプ光らせたりとか、よくやったな。
手元に当時の端末があっても、多分やらないと思うけど。
posted by w033 at 00:54| 千葉 ☔| Comment(0) | TrackBack(0) | プログラム | このブログの読者になる | 更新情報をチェックする

プログラミング言語ヒエラルキー

あははー、VBプログラマよりJavaScriptプログラマのほうが
ヒエラルキーが上らしい。
プログラムをやっていると、あの言語はおもちゃだとか、
あの言語ができるとすごいとか、意味もなく思ってしまう物だ。
また、OSのコアの部分にふれられるプログラム、
ハードに近い部分をいじることができるプログラムというものは、
意味もなくあこがれてしまう。
その気持ちはよくわかる。
BasicよりもPerl、それよりもC、C言語よりも、アセンブラ。
もっとも、そのかっこいい方に行けばいくほど、使い道がない(限定される)のだけれど。
「やっぱ、C言語しらないとだめっすかねー?」
なんて言っている人は、この気持ちわかるはず・・・だよね?
実際、普通に使うのならそういう高級言語(ハードから遠いほど高級)だけで十分間に合うし、やれないことなんてドライバとか作るくらいだけどね。
覚えたって、ほとんど使わないと思うけど、かっこいい。
そう思うのは、プログラマの宿命かね? それとも業かな。

プログラミング言語ヒエラルキー
http://www.geekpage.jp/blog/?id=2006/12/13
posted by w033 at 00:50| 千葉 ☔| Comment(0) | TrackBack(0) | プログラム | このブログの読者になる | 更新情報をチェックする

2006年12月12日

Java SE 6をリリース

新機能にPHP、JavaScript、Python、Rubyなどのスクリプト言語との連携機能とかあるのですが、IronPythonみたいにJavaで実装している訳じゃなく、外から呼び出せるって事なのでしょうかね?

米サン、Java SE 6を正式リリース
http://www.atmarkit.co.jp/news/200612/12/java.html
posted by w033 at 20:44| 千葉 🌁| Comment(0) | TrackBack(0) | プログラム | このブログの読者になる | 更新情報をチェックする

2006年12月09日

Visual C++ 2005 Express活用

えー、いまさらですが、Visual C++ 2005 Express って
デフォルトだとさっぱりやくにたちませんね。
なんといっても SDK や MFC が削られているのがきつい。
しょうじき、.Net Framework を扱うために VC++ を使う
理由がわからん。
まあ、裏で unsafe 処理をするなら、C#のunsafeよりは
便利だとは思いますが(C#のunsafeもライブラリがないとねぇ)。

さて、@ITで「調べもの専用Googleブラウザを作ってみよう」
なんて記事が掲載されていた。
その内容は、Visual C++ 2005 Express で Windows SDK や
ATL をつかってプログラムをしようという物。

調べもの専用Googleブラウザを作ってみよう
http://www.atmarkit.co.jp/fwcr/special/custom_browser/01.html

SDK(Win APIをつかう環境ね)やATLを使うプログラムを
Expressでやる方法は、すこしネットで調べれば出てきたのだけれど、
それでも、記事になっているのは珍しいような、そうでないような。

記事はATL(ActiveX(COM)関連がやりやすいライブラリ)を使って、
IEを操作しましょうっていう、いまさらな内容だけれど、
まあ、使ったことが無い人には勉強になります。
(ATLの使えるリファレンスとサンプルががネット上では
 なかなか見つからないけどね)

IEを操作しようって人には十分な環境だけれど、
GUIを独自に実装したいという人には、この環境ではいまいち。
SDKで実装するのはばからしいし、ATLでは他人のフォームを
借りることになる。
もっと上手に自分で実装したい、そんな場合はフリーの
GUIライブラリを使いましょ、というのが今回の趣旨<やっとかい。
個人的メモともいう。

結論を書いてしまえば、一緒に WTL を入れろと。
WTLは窓操作用のライブラリです。
ウィザードでスケルトンを生成して(もちろん、1から作るのも可)
ボタンだのなんだのを継承して実装してってな感じだった記憶があります。

Visual C++ Express Editionを使ってみる(WTL編)
http://freepg.fc2web.com/cpp/topic_vce_002.html

あとは Boost が上手に動いてくれるようになればねぇ。
やっぱりMFCがフリーになることを祈るしかないのか。
posted by w033 at 23:14| 千葉 ☔| Comment(3) | TrackBack(0) | プログラム | このブログの読者になる | 更新情報をチェックする

2006年12月04日

Microsoft Macro Assembler 8.0 公開

昔からあるMS製のマクロアセンブラがVS2005用に公開されたようです。
Visual C++ 2005 Express Editionでも入れられるモジュールらしいです。
MASMはDOSのころのイメージがあったり、最近ではMSから引き継いだのかなんなのか、ネット上で公開されていた記憶があります。
歴代のVisualStudioにはついてませんでしたよね? EnterPriseを含めて。
でも、VC++をコンパイルしたコードをデバックしているとアセンブラソースが出てくるので、ついてはいたのでしょうか?
とりあえず、実行モジュールのデバックはVC++からやれるようです。
.Netframeworkのアセンブルもできるのでしょうかね?
できるといいなぁ。
ちなみに、x86用なので64ビットなどのプログラムが作れない。
オプションにしてくれればいいのに。

Microsoft Macro Assembler 8.0 (MASM)
http://www.microsoft.com/downloads/details.aspx?FamilyId=7A1C9DA0-0510-44A2-B042-7EF370530C64&displaylang=ja
posted by w033 at 08:59| 千葉 ☀| Comment(0) | TrackBack(0) | プログラム | このブログの読者になる | 更新情報をチェックする

2006年12月03日

JScript

JavaScript(MicrosoftはJScriptだけど)って結構知らない機能がありません?
[test.js]
//  メッセージ表示関数
function message(msg)
{
    // for Web
    // alert(msg);

    // for WSH
    WScript.Echo(msg);
}
/***********************************************************
* Case 1 クラス宣言、メンバ関数宣言
*/
// class test

function test(pm) {
    this.dat = pm;
    // func set
    test.prototype.set = function(pm)
    {
        this.dat = this.dat + pm;
    }
}
// class test
var o = new test(19);
o.set(20);
message('Case 1->' + o.dat);
/***********************************************************
* Case 2 参照渡し
*/

function ret_dat(pm, pv){
    pm.dat = pv;
}
var obj = new Object();
ret_dat(obj, 5);
message('Case 2->' + obj.dat);
/***********************************************************
* Case 3 Hash Array
*/

var ohash = new Array();
ohash["t1"] = "test1";
ohash["t2"] = "test2";
message('Case 3->' + ohash["t1"] + " | " + ohash["t2"]);
/***********************************************************
* Case 4 ActiveX and try/catch/finally
*/

var ado = null;
try {
    ado = new ActiveXObject("ADODB.Connection");
    message('Case 4->ADO Ver.' + ado.Version);
} catch(e) {
    message('Case 4 Error.->' + e);
    // throw e;   // もう一度発生させる
} finally {
    ado = null;         // release
}
まあ、Webで検索かければ出てくる機能ばかりなのですが。
ちなみに、クラスのメソッドをコンストラクタの外で宣言しているものがあるけれど、普通にコンストラクタの中に含めてもモーマンタイ。
(リソース的には無駄があるみたいです)
NNやFFではだめなのかもしれないけど。
JsってHTMLに組み込むくらいしか使わないからあんまりしらないや。


続きを読む
posted by w033 at 12:57| 千葉 ☀| Comment(0) | TrackBack(0) | プログラム | このブログの読者になる | 更新情報をチェックする

そういえば

レガシーASPといえば、1/30にでるWindows VistaではIIS7.0が入っていて、いままでのIISとはまったく違う物になっているのだとか。
ASP.NetがIISの根幹になり、web.config が .htaccess 以上の設定ができるようになるとか。
で、え〜と、レガシーASPは動かなくなってしまうのかな?
Office2007が現状のVBAらしいので、ADO(ADO.NETじゃなくね)はそのままなので、ActiveScript(WSHなどで使える言語)のVBは無くならないと思うのですがね。
そこの記述が見つけられませんのでわかりませんが。

IISの新機能
http://www.exconn.net/Blogs/team01/archive/2006/06/28/14228.aspx

IIS7の無くなった機能ってのがほすぃ。
posted by w033 at 10:50| 千葉 | Comment(0) | TrackBack(0) | プログラム | このブログの読者になる | 更新情報をチェックする

Windows Script

1から覚えたい、WSHもHTML中のJavaScriptもわからないってひとには

とほほのWWW入門
http://www.tohoho-web.com/www.htm

をお勧めするけれど、かるく一通り知っている人なら、
MSのドキュメントが便利。

Windows Script
http://www.microsoft.com/japan/msdn/scripting/

とくに「Windows Script 5.6 ドキュメント ダウンロード (exe 形式; 1.67 MB):http://download.microsoft.com/download/winscript56/Install/5.6/W98NT42KMe/JA/scd56jp.exe」は会社でレガシーASPなんだ、なんて人には重宝します。
WSHもfsoもregexpも乗ってるし。
惜しむらくは、なんでadoとオブジェクトの階層図がないかね?

階層図はこんなの:http://www.microsoft.com/japan/msdn/data/techmat/ado/dao2ado.aspx
posted by w033 at 02:33| 千葉 | Comment(0) | TrackBack(0) | プログラム | このブログの読者になる | 更新情報をチェックする

Javaコンプレックス

未だにJavaコンプレックスというものを持っている人がいる。
それは、Javaをやっていない人に多いのだけれど。
Javaにすればすべてはうまくいくと信じているのだ。

Javaは単なる開発言語である。それ以上でも、それ以下でもない。
Javaを入れて変わることと言えば、せいぜい開発環境と実行環境くらい。
CのCGIと比べれば、開発効率もあがるかな(人によるだろうけど)。
入力ミスをすれば動かないし、理解していないやつがやればセキュリティーホールもできる。

「Javaって一回コンパイルすれば、もうフリーメンテナンスになるじゃないですか?
 他の所をいじっても、関連クラスはそこだけきちんとテストしていれば、無駄なテストをする必要はないですよね?」

だってさ。
いや、VBやCで関数作っただけでも、その関数をきちんと作っておいて、テストも完璧にして、
それ以降、ソースを誰もいじってなければ同じですから。
リンクライブラリでも、実行モジュールでも、ソースのままでも同じ。
(個人的には、実行モジュールは中身がいちど信じられなくなっても、見直せない(逆コンパイルも信じられないしね)のが嫌だけど、似たようなもの)

Javaのプロパティーの書き方は、単なるメソッドになってしまうのですが、そこはC#とどっちがいいかは好きにしてくださいでよくて。
深い階層の継承をすれば、ソースはどこに記述しているのか、探すのが大変だし、メンバー変数やら、publicのstatic変数だのも無計画に増やせる。
classファイルがクラス名ってのは好きだけれど、フォルダで分けるのは、他のimportのファイルを探しに行くのが面倒だったりもする。
C言語のように、すべてが同じフォルダ階層にあるのも微妙だけれどね。
でも、try/catch/finallyなんてとっても使いやすいし、packageでソースの見渡しも良い。
たしかに良い言語だとは思います。
でも、元に作るやつが下手だと、どうしようもないぐずぐずなプロジェクトになるのは他の言語も同じ。

「そんなの、人間の側がちゃんとすればいいじゃないですか。
 ね、できますよね?」

と、その人はJavaでいままで開発してきた人に話しかけたりしていた。
けれど、そんなのはっきり言って、なんで今の言語からJavaに変更するの?
理由が違うだろう。
Javaにしたからその点が良くなるとでも?
私の経験は、ちょっと(いまからすれば、だいぶ)古いJavaで、Eclipseなんてなかったから、
秀丸とtera termでIBMのVM用にJava1.1.8なんて書いていたけれど、それでも言語の本質は変わらないだろう。
UMLで設計とかいっても、それってJavaの利点じゃないし。

Javaってのは単なる言語であり、所詮は道具でしかない。
道具は使われてなんぼだけれど、その使い道はユーザ次第。
洗濯ばさみで鼻毛を切ろうとしても良いのだけれど、実際できるかどうかはわからない。
Javaは洗濯ばさみでいえば新製品かもしれないけれど、せいぜいできるのは押さえる力が強くなったとか、洗濯ばさみを開くときに楽になりましたとか、洗濯物が飛ばないようにロック機能がつきましたとか、その程度。
便利にはなったけれど、ご飯を食べることにも使えないし、安眠枕の代わりにもならない。
では、洗濯ばさみで鼻毛が切れる物を開発するか? 箸の代わりに使えるように、枕にできるようにするか?
それはちょっと意味が無く、洗濯ばさみではなく、はじめから鼻毛切りを開発すればいいでしょう。
Javaは万能ではないし、現状存在するどのような言語でも同じです。
新しいと、ちょっと便利な新しい機能はついているのですがね。
使える方向性には限定がある。
そんなもん。
ちゃんとソフト開発をするためには、使う人間のルールがないと(大抵)うまくいきません。
洗濯ばさみを鼻毛切りに使うのは間違ってるよ、みんなわかってるよね?
そんなルールが必要なんですね。

Web2.0もAjaxも魔法の薬でも何でもないのです。
・・・と、単なる愚痴でした。
posted by w033 at 00:15| 千葉 ☀| Comment(0) | TrackBack(0) | プログラム | このブログの読者になる | 更新情報をチェックする

2006年11月28日

MS Office 2007 がやってくる

Vistaと一緒にOffice 2007が発売されると発表されたのはいつでしたっけ?
たしか、1月31日に発売でしたね。
マクロで組んだアプリの見直しがくるなあ。
あー、やだやだ、とか思いながらネットを見ていたらこんな記事を見つけました。

Office 2007プレビュー:日経パソコンオンライン
http://pc.nikkeibp.co.jp/ss/office2007/index.html

中身を読んでいくと、インターフェイスはだいぶ変わるようですね。
でも、根本部分(Excelのワークシートとか、Wordのエディタとか)は変わらず、
メニューだの新規機能の追加だのが増えるようで。
VBAも既存に追加する形になるのだとか。
良かったぁ、大きく変わるって聞いていたので、マクロも.Netframework化とかするのかと思っていた。
ばんざーい。
posted by w033 at 20:38| 千葉 ☁| Comment(0) | TrackBack(0) | プログラム | このブログの読者になる | 更新情報をチェックする

テキストエディタのちいさな革命

プログラマの中には何度いってもインデントしないやつってのがいます。
インデントってのはこうかいたらみんなが見やすいよってルールです。
「かえって見難くありませんか?」
いっちゃったよ。
ルールって物がなんのためにあるかわかっちゃいない。
常にてめえしか見ないソースなのかと。

見易い、見難いなんて個人の主観によるもの。
世界中の注目をあびるライナスさんの言葉ならともかく、
いっかいの社畜であるおまえの好みなんて誰も聞いていないっての。
最近のプログラマの先達というものはインデントしているソースが見易いと教育されている。
新人と、先達の割合は必ず先達の方が割合も多い。
だから、見易いと思う人が多い。
慣れないと見易いとは思えないのもそのへんにあるだろう。
しかし、インデントは見易いからやるものではない。
シェアが多い見易いと思っているひとが、あとから見て見やすいようにするのだ。
インデントは他人のためにやるのだ。
まあ、見易い人にとっては自分のためにもやるのだけれど。
現に、自分しか見る(保守などを含めて)必要のないプログラムには、誰もなにも言わないだろう?
共有する必要がない、わからないからって尋ねることもない、担当が休んだときも一切みなくていい、万が一にもこちらに飛び火しない。
そんなシステムのソースなら、一切言わないっての。
それがあり得ないから、ソースコードの標準化みたいなのがある。
それに合わせろと言われるのだ。

インデントが嫌いな人種のソースの書き方を見ていると、
大抵はエディタをちゃんと使えない場合が多い。
その中でもインデント関連機能を知らないケース。
たしかに、一行一行直していくのは大変だ。
あとからIfをいれたくなった、ほかのルーチンからソースを持ってきた。
そんな場合に、インデントがずれているとちまちまと直す必要がる。
VB6やMS OfficeのVBAはこの手の作業を楽にするため、自動でインデントしてくれる。
けれど、CやJavaはそうはいかない。
少なくとも、ひと昔はそうだった。

そこで出てきたのが、複数行選んだ状態でのTabを押すって機能。
ためしに、秀丸(ver.4以降)でも、サクラでもVisual Studioの.Net Framework版でも良い
(Visual Studio6 やメモ帳はできないけどね)
適当なファイルをエディタでひらき、Shiftを押しながら下矢印を押して複数行選ぶ。
Shiftと矢印キーから手を離す。
その状態でTabを押すと、選ばれた行すべてがインデントされるだろう。
Shift+Tabにすれば逆インデントになる。
また、秀丸などでは改行したとき、前の行がインデントしているとその行のインデントに合わせてタブやスペースを入れてくれる。
正直、ちっちゃいちっちゃい機能なのだけれど、プログラマにはとても便利な物だったりする。
秀丸が使いやすいとか、多機能エディタが使いやすいと言われるにはそれなりに理由がある。
常識というか常識じゃないからというか、機会がないと誰も教えてくれない機能だ。
他にも、正規表現置き換えや、grep、タグジャンプ、マクロ、etc... 無くてもこまらない、
でも知っていると何倍もプログラムが早くなる機能ってのはいくらでもある。
たまにはエディタのヘルプを読むのも悪くないのではないだろうか。

さて、はじめのインデントしないやつだけれど、
「面倒なんでやりたくありません」
そう正直に言えばちょっとは教えようと思ったり・・・しないよね。
もちろん、上の言葉でも教える気は萎えるけど。
posted by w033 at 20:29| 千葉 ☁| Comment(5) | TrackBack(0) | プログラム | このブログの読者になる | 更新情報をチェックする

2006年11月08日

Microsoft .NET Framework 3.0

え? 2.0でそろったのですら今年でしょ?
早すぎ。
1.1から2.0になったときは、互換性がないとまで言われ、
2.0以降はご完成があるという話だったけれど、
本当なのでしょうか?
というか、今回は2.1という程度のバージョンアップな感じ。
よくなるならいいけど、バージョンがいっぱいになっただけってのはやだなぁ。

Microsoft .NET Framework 3.0 正式版リリース
http://slashdot.jp/developers/06/11/07/1139201.shtml
posted by w033 at 00:46| 千葉 ☀| Comment(0) | TrackBack(0) | プログラム | このブログの読者になる | 更新情報をチェックする

2006年11月05日

C#やVB.Netで簡単SFTP/SCP

なんとなくタイトルをシリーズにしてみたり。
要はどっかのライブラリを使おうってだけなんですが。
SSH系はここにありますな。
すべてがそろってるライブラリが欲しい。
誰かメンテしてないかなぁ。

The Code Project
http://www.codeproject.com/cs/internet/sharpssh.asp?df=100&forumid=225425&exp=0&select=1419903
posted by w033 at 10:37| 千葉 🌁| Comment(0) | TrackBack(0) | プログラム | このブログの読者になる | 更新情報をチェックする

2006年11月04日

C#やVB.Netでお手軽SSL通信

SSL通信ができるとなにかと便利なのでこんなキーワードで検索してみた。
SSLSocketFactory, X509Certificate
このあたりがそれっぽいのだけれど .NetFramework2.0 のヘルプを探すと、
SSLSocketFactory がない。
まあ、Javaのクラスだからね・・・とか思っていたけれど、
もうちょっと探したらこんなクラスがでてきた。

SslStream
http://msdn2.microsoft.com/ja-jp/library/system.net.security.sslstream(VS.80).aspx

よかった、無理矢理自作しなくて。
X509Certificate はあるから、自作はできるんですよね。
そうじゃなくても、poderosa(http://ja.poderosa.org/)あたりから関数を
拾ってこようとかおもったけれど、そのまえに見つかったのでラッキー。
でもって、もうちょっと探したら、目的の物がフリーソフトであった。

.NET用メール受信クラスライブラリ (TKMP.DLL)
http://uwa.potetihouse.com/library/tkmpdll.html

BASP21といい、これといい
世のなかすばらしいものがフリーで出ていますな。
そのうち、ソフトでは食っていけない日が来るのも近いのかねぇ。
posted by w033 at 22:40| 千葉 ☁| Comment(0) | TrackBack(1) | プログラム | このブログの読者になる | 更新情報をチェックする

2006年09月24日

Ruby.NET

なかなか1.0がでないですねぇ。
このごろIronPythonばかりいじくっていましたが、
Ruby.NETコンパイラも期待大なんですがね。
ちなみに、Ruby.Netはインタプリタではなくコンパイラ。
Pythonみたいに毎回ソース解析なんぞしませんが、
ソースを修正したらコンパイル作業が必要。
どっちがいいかは微妙。
最近はインタプリタが注目されていますが、
コンパイラがCodeDom(だったっけ?)に対応していれば、
ActiveScript(ActivePerlみたいなやつね)みたいに、
ASP企画から言語を指定して使用できるようになる・・・はず。
posted by w033 at 09:29| 千葉 ☀| Comment(0) | TrackBack(0) | プログラム | このブログの読者になる | 更新情報をチェックする