Results for category "ソフトウェア"

Windowsとコマンドのみで戦う

1. OS標準で入っている知られざる便利コマンド

C:¥WINDOWS¥system32以下にあるexeやvbsを物色するとよい。

ただし、まともなアイコンがついているのはGUIツールなので使ってはならぬ。

加えて、まともなアイコンがついてないからCUIコマンドだろうと思ってコマンド+引数を叩くと、結果がGUIのダイアログで出たりする地雷が仕掛けられているので気をつけろ。

 

2. 古いWindows Serverの場合、超絶便利なオフィシャルツールが標準で入っていない。

OSのディスクを探すか、MSのダウンロードセンターでResource kitとかで検索するとよいだろう。

はじめっから入れとけよって話だ。

 

3. だから、はじめっから入れとけよって本気で思った Windows Sysinternals

どんだけ認知されてるのこれ?

 

4. パッケージマネージャがほしいか?

Chocolatey

 

5. ツールでできない事もいっぱいあるよな

reginiコマンドでレジストリを書き換えろ。

 

6. それでも無理ならばCUIプログラムを書け

ちなみにプログラム書くときにメモ帳とか秀丸とか使ったらあなたの負けだ。

Vimを入れろ

オブジェクト至高プログラミング

今週検証したコードに感銘を受けたので記録しておく。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
class Hoge{
    function __construct() {
        $this->aaa();
        $this->bbb();
        // ひたすら己のメソッド実行
    }
    function aaa(){
        // 100行以上
    }
    function bbb(){
        // 100行以上
    }
    // こんなメソッドいっぱい!
}
new Hoge();
?>

コンストラクタにひたすらメソッドを書いてnewするだけ。最強!!

IIS5+レガシーASPでメモリを食いつぶす

IIS5+レガシーASPが稼動しているサーバで、SQL Serverをつついて結果を返すアプリが正常に表示できない障害が発生した。
原因は未だ不明だけど、以下のASPを動かすとDLLHOSTの実メモリ、仮想メモリを食いつぶした後、inetinfoが同様にメモリを食いつぶす事象が発生した。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<%
On Error Resume Next
 
Dim file
Dim objFSO
Dim objTS
Dim line
 
file = "ここで存在しないファイルパスを指定する"
 
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTS = objFSO.OpenTextFile(file, 1 , True)
 
Do Until objTS.AtEndOfStream = True
    line = objTS.ReadLine
    Response.Write(line & "<br>")
Loop
 
objTS.Close
Set objTS = Nothing
Set objFSO = Nothing 
%>

ファイルの存在チェックを行ってループに入る前に終了させれば回避できるが、こういったASPがどっかに眠っているのだろうか。
IIS5のメモリリーク防止パッチを適用しても改善されなかった。

[Perl]ドコモのiメニュー検索のキーワードを取得する

ドコモ2009夏モデルのリファラー出力記念。
ドコモのiメニューで検索した時の検索キーワードを取得します。(たぶん)
$uriの値は実際はちょっと異なります。

1
2
3
4
5
6
7
8
9
10
11
12
use strict;
use warnings;
use Perl6::Say;
use URI;
use URI::Escape;
use URI::Query;
 
my $uri = 'http://docomo.ne.jp/?key=%41%42%43';
 
my $query = URI->new($uri)->query;
my $key = (URI::Query->new($query)->hash)->{key};
say uri_unescape($key);

ドコモのドメインじゃなくてもkeyパラメータがあったらデコードしちゃいますが・・・