2012年12月26日水曜日

WordPressの検索を表示させない

yu1rowです。

タイトルのとおりです。タダのメモです。

WordPress 3.4jaのTwenty Elevenでのみ確認しています。
で、「検索」って何かって?

↓これです。これを消したいだけです。

google先生に尋ねてみると、function.phpをいぢれだとか書いてました。

でも、なんとなくイヤです。
外観に因る部分はcssで済ましちゃいたいプログラマさん。

結局style.cssに一行追加するだけでした。

■Twenty Eleven: スタイルシート (style.css)
#branding .only-search #searchform {
    visibility: hidden; /* 追記:サーチバーを表示しない */
    top: 5px;
    z-index: 1;
}

これだけです。以上!

ドメイン取得後に届いた「Domain Purchase」っていう迷惑メール

こんにちは。yu1rowです。

ドメインをとったら、ちょっとしてから「Domain Purchase」とする迷惑メールが届きまんた。
日本語で情報が見つからなかったので調べた結果を載せときます。

※以下メールの内容。ちょっと書き換えてあります。(http→ttp、****.***→取得したドメイン、***@***.***→whoisに登録されているメールアドレス)
※以下の本文に書いてあるURLのサイトはマルウェアが仕込まれている可能性がある。踏んじゃダメ。絶対。
[From]
Domain Purchase (domainpurchase@domainpurchase.co)

[Subject]
Purchase of ****.***

[Body]
Congratulations on your purchase of ****.***. 

Your domain's value has been estimated on our domain appraisal service. 
You can read your custom report here: 
ttp://domainestimator.com/results/?domain=****.***. (Domain Estimator Report)

There is a large portfolio of domains related to your keywords. 
The current list of premium domains can be viewed here: 
ttp://domainclosing.com/?phrase=****.*** (Related Premium Domains)
 
Cordially, 

Stefanie Shay

If you would prefer not to receive email notifications of your estimated values in the future, 
you need to visit: ttp://unsubscribe.domainingalerts.com/?email=***@***.***


で、誰やねんステファニーって。 フルハウスなら知ってる。
差出人アドレスのTLD、"co"は別に珍しいものではないです。どうせ機械送信なんやしどうでもいいです。
まぁ確かにね、ドメインは買いました。 今回はWhoisを代行してもらうのを忘れてて、自分のメアドとか載せてたら来たんやと思います。

で、これらのURLは大丈夫なんかい?って思ってCleanMXで調べてみたところ、メールに記載されていた2つのドメインのURLはマルウェアを踏む可能性がある模様。クリックしちゃダメ。
どんなマルウェアかは詳しく調べてないけど、トロイです。

↓はCleanMXでメールに書いてあったドメインを検索した結果。クリックしても大丈夫
http://support.clean-mx.de/clean-mx/viruses.php?domain=domainestimator.com
http://support.clean-mx.de/clean-mx/viruses.php?domain=domainclosing.com

メール送って欲しくない方はコチラとばかりに、"not to receive email notifications"に続けてURLが書いてありました。
こっちはマルウェアの検出はなかったけどきっとただの生存確認だと思います。何にせよクリックしないほうがいい。
ドメイン取ってWhoisに自分の情報載っけてる人、気をつけて下さいね。

以上です。

2012年11月19日月曜日

続・Jenkins のビルドで SVN のチェックアウトに失敗する

またSVNでエラー


yu1rowです。

以前「Jenkins のビルドで SVN のチェックアウトに失敗する」という記事を投稿しましたが、現象が再現しましたので、その内容と解消方法について記録します。

Microsoft と ESET どっちが悪いの?


結論から言うと以下の状況で現象が発生する可能性があります。
  • Windows 7 に「ESET Smart Security」や「ESET NOD32 Antivirus」がインストールされている
  • Microsoft の更新プログラム「KB2735855」や「KB2750841」がインストールされている

現象には以下のようなものがあります
  • SVN(Subversion)のチェックアウトに失敗する
  • ニコニコ動画やYoutube再生中に緑画面になる

以前同じ現象が発生した時に原因となった更新プログラム(KB2735855)でいくつかのファイルが Windows にインストールされましたが、今回の更新プログラム(KB2750841)でも同じファイルが更新されています。
[KB2750841]
[ダウンロード:Windows7(x86)]
[ダウンロード:Windows7(x64)]

解決方法には Windows の更新プログラム (KB2750841) をアンインストールする方法と、ESET のセキュリティソフトウェアの設定を変更する方法の2通りありますが、個人的には後者はセキュリティ上やらないほうがいいんじゃないかと思います。参考程度に留めておいて下さい。
以下それぞれの解決(設定)方法について説明します。

解決方法1:Windows の更新プログラムをアンインストールする


  1. [コントロール パネル\すべてのコントロール パネル項目\プログラムと機能] を開く
  2. [インストールされた更新プログラム] を選択
  3. [Microsoft Windows (KB2750841) の更新プログラム] を探し、アンインストール
  4. Windows を再起動
  5. [コントロール パネル\すべてのコントロール パネル項目\Windows Update]を開く
  6. [n 個の重要な更新プログラムが利用可能です] のリンクをクリック
    ※リンクがなければ [更新プログラムの確認] を行う
  7. [Windows 7 用更新プログラム (KB2750841)] を右クリックして [更新プログラムの非表示] を選択

解決方法2:ESET 製セキュリティソフトウェアの設定を変更する


何度も言いますが、以下の方法ではセキュリティのレベルが落ちてしまうためお勧めしません。
参考程度に留めておいて下さい。
  1. 「ESET Smart Security」または「ESET NOD32 Antivirus」の詳細設定を開く
    ※写真は「NOD32 Antivirus」のもの

  2. 詳細設定の「Webアクセス保護」で「HTTPのチェックを有効にする」のチェックをはずす

以上です。

2012年9月25日火曜日

Jenkins のビルドで SVN のチェックアウトに失敗する

Jenkins スレーブが悪い子


yu1rowです。
Jenkins のスレーブで最近以下のようなエラーが出てビルドできなくなってました(※ちょっと編集してます)。
ERROR: Failed to check out http://192.168.1.1/svn/moduleX/trunk
org.tmatesoft.svn.core.SVNException: svn: E175002: REPORT /svn/moduleX/!svn/vcc/default failed
SVNサーバーのログ(apache error log)ではこんな感じ(※ちょっと編集してます)。
[error] [client 192.168.1.2] Provider encountered an error while streaming a REPORT response.  [500, #0]
[error] [client 192.168.1.2] A failure occurred while driving the update report editor  [500, #103]
[error] [client 192.168.1.2] Error writing base64 data: Software caused connection abort  [500, #103]

Windows Server 2008 R2 では大丈夫で、何でかなー?って思いながら調べてまして。
一応解決しましたのでここに解決法を記します。

原因:HotFix でした


SVN のフォーラムにて Windows Update したら SVN の Checkout/Commit ができなくなったヨ!って言ってる人がいました。
[Windows 7 Update KB2735855 Causing Checkout/Commit Problems (Chunk Delimiter)]

以下KBの情報です。
[KB2735855]
[ダウンロード(日本語)]

このKBはセキュリティパッチではないので、アンインストールして無効にしておくことで Windows 7 での現象が解決しました。
※日本語ページに「Windows 7 for x64-Based Systems 用更新プログラム」って書いてますけど、x86 にも適用されます。っていうか今回 x86 の Windows 7 で発生しましたし。

対処方法


  1. [コントロール パネル\すべてのコントロール パネル項目\プログラムと機能] を開く
  2. [インストールされた更新プログラム] を選択
  3. [Microsoft Windows (KB2735855) の更新プログラム] を探し、アンインストール
  4. Windows を再起動
  5. [コントロール パネル\すべてのコントロール パネル項目\Windows Update]を開く
  6. [n 個の重要な更新プログラムが利用可能です] のリンクをクリック
    ※リンクがなければ [更新プログラムの確認] を行う
  7. [Windows 7 用更新プログラム (KB2735855)] を右クリックして [更新プログラムの非表示] を選択
余談ですが、このKBでニコニコ動画やYoutubeで緑色の画面になってしまう原因の一つもコレだそうです。
多分この対処方法を行うとこれも直ります。


以上です。

2012年9月1日土曜日

犬を飼うと家計が浮く!?

落ちていくんです


どうも。イチ、プログラマのyu1rowです。
最近黒い柴犬を飼いました。まだ4ヶ月の女の子、「ぐり」っていう名前です。

予防接種も終わって、ようやく外に一緒に散歩行けるようになってうれしい限りなんですが、予想外に自分の体重がガンガン落ちていくんです。
体重が落ちると食費も落ちてエンゲル係数的になんか良いんじゃね?ってことで強引にまとめてみました。

アタクシは1日どれくらいカロリーが必要なの?


成人が1日に必要とするカロリー量は

体重(kg)×25~30(kcal)

だそうです。

ぐりと散歩に行くようになっていきなり 5kg 落ちまして。
そうすると、1日に必要なカロリー量は 125~150 (kcal) 減ったことになります。

5kg ってナンボなん?


経済の分野でたまに話題に出るビッグマック指数、これから強引に倣ってみます。
ググってみると
ビッグマックのカロリー量556 (kcal)
ビッグマックの金額320 (円)
だそうです。
じゃあ125~150 (kcal)ってビッグマック的にはナンボなん?

125 (kcal) / 556 (kcal) × 320 (円) ≒ 72 (円)
150 (kcal) / 556 (kcal) × 320 (円) ≒ 86 (円)

ということで、ビッグマック換算で1日あたり、72~86円節約できることになります。
年間にして、26280~31390円節約。

これは大きいです!大きいように感じます!

この試算の前提には虚構が含まれますw


まぁ計算しましたけど、前提の「家計が浮く」って件、ホントはぐりちゃんがやってきてから色々と購入したりとか、別に節約にはなっていません。すんませんw
まあ試算って夢がありますよね。
あとウェイトコントロールはきっと健康にもつながりますしね!

以上です。

P.S. きょうは階段をのぼったりおりたりできました。

2012年7月20日金曜日

こんなん作りたいシリーズ - Incrementalist

ゲーム:Incrementalist


こんにちは。イチ、プログラマのyu1rowです。

↓こんなん作りたいってのをまずはjQueryとかで実装。たぶんスマホでも動きます。
[Incrementalist(仮)]
※ルール:全部のパネルを3にしたらクリア、それだけです

Androidで実装してみたいなぁ。
...今日はそれだけの記事です。

2012年7月7日土曜日

JNIと汎用テキストマッピング

Corresponding of Generic-Text Mappings for JNI programming


こんにちは。イチ、プログラマのyu1rowです。

Javaで業務アプリなんかを作っていると、どうしてもネイティブの機能を使う必要が出てくるケースがあります。
そんなときにJNIが役に立つんですが、Windowsネイティブでの実装をする場合は文字列の変換が必要になる場合があります。
※Unicode/マルチバイトコード両対応にする必要性とか、説明が長くなるんで詳しくはグーグルにお任せするとします。

汎用文字列を使用してUnicode/マルチバイトコード両対応にしようとして変換のコードを毎回書くのが面倒なので備忘録としてソースコードを作ってみた&公開して凹ってもらおうってのが今回の趣旨です。

Source code


公開するコードは以下の2つです。両方使います。
ヘッダファイル(jniutil.h)
C++ソースコード(jniutil.cpp)

注意事項


  • プリコンパイル済みヘッダーを使用する場合、jniutil.cppでstdafx.hをインクルードするか、またはjniutil.hからはプロトタイプ宣言だけ残してinclude/define/typedefの記述をstdafx.hに移動してしまってください。
  • jniutil.hではjni.hをインクルードしていますが、VisualStudioの設定などで、Javaのインストール先にあるインクルードファイルのフォルダパスを参照するようにしておいてください。
    よくわからないという方は、詳しいWEBページが沢山あるので続きはその他WEBで。
  • STLを使用していますので、STLがNGな現場では当然NGとなりますのでご注意ください。
    MFC使いたいよーって人は...読み替えて勝手に改造しちゃってください。

使用方法


[tcout] Hello Worldとか
#include "jniutil.h"

void _tmain()
{
    tcout << _T("Hello World.") << std::endl;
}
ミソは"tcout"("tcin"ってのもtypedefしてある)。
jniutil.hのdefineを読めば何しているかわかると思います。

[tstring] findとか
#include "jniutil.h"

void _tmain()
{
    std::setlocale(LC_ALL, "");

    tstring text = _T("我輩は猫である");
    tcout << _T("\"") << text << _T("\"");
    if (text.find(_T("猫")) != tstring::npos)
    {
        tcout << _T("には猫が出てくる") << std::endl;
    }
    else
    {
        tcout << _T("には猫が出てこない") << std::endl;
    }
}
setlocaleしとかないとコンソールに正しく日本語が出力されない...場合があります。
std::basic_stringのテンプレート引数に_TCHARを与えて一般化したものをtypedefしてtstringとしています。
それだけなんですけど、とっても便利だと思いますし、JNIとか関係なく使えるんで他で使っても損は無いと思います。

実はここまではJNIとは関係ありません。関係あるのは以下の例です。

[JstringToTstring, TstringToJstring] : C++のコード例
#include "com_yu1row_blog_JniSample.h"
#include "jniutil.h"

JNIEXPORT jstring JNICALL Java_com_yu1row_blog_JniSample_ExecSample
(JNIEnv *env, jobject obj, jstring str)
{
    tstring tstr = JstringToTstring(env, str);
    tstr += tstr;
    return TstringToJstring(env, tstr);
}
JstringToTstringでJavaから渡されたjstringをtstringに、TstringToJstringで逆にtstringからjstringに変換できます。
[JNI] : 上記を使用するJavaの実装例
package com.yu1row.blog;

public class JniSample {
    static {
        System.loadLibrary("JniSample");
    }
    public native String ExecSample(String str);

    public static void main(String[] args) {
        JniSample sample = new JniSample();
        System.out.println(sample.ExecSample("あいうえお"));
    }
}

注意とお願い


今回公開したコードはバグがあるかもしれません。
バグのせいで何か迷惑を被ったと言われても責任は取れませんが、当エントリにて指摘いただければ(気が向けば)修正しますので気付いた点などあればどんどん凹って下さい。

2012年7月6日金曜日

Windows 7 Home Premium と RDP

Windows 7 Home Premiumでリモートデスクトップしたいよう


こんにちは。イチ、プログラマのyu1rowです。

メインの開発用に買ったZENBOOKですが、OSがWindows 7 Home Premium(x64)なので、リモートデスクトップ(ホスティング)が使えません。
あ、もちろんクライアントは使えますよ。
そんなとき、リモートデスクトップを使えるようにRDPのモジュールにパッチを当てる方法を見つけたのでご紹介です。
※勿論、これを実施するか否かは個人の判断の元、自己責任でお願いします

リモートデスクトップぅ?


そもそもリモートデスクトップは知ってますか?

要はWindowsをネットワーク経由で遠隔操作するサーバー/クライアント/プロトコルのことです。
クライアントは「Windowsキー」+「R」で出てくる「ファイル名を指定して実行」で「mstsc」と入力するとすぐ起動できます。れっつとらい。



あと、MicrosoftさんはMac用のクライアントも無料で公開してるんです。マカーな人は使ってみて下さいな。
Microsoft Remote Desktop Connection Client for Mac

他のイイコト


以下でパッチの紹介をするんですが、多分UltimateやProfessional、Enterpriseにも適用できるんです。
で、使っているOSがHome Premiumであるかどうかに関係なく、パッチ当てると当てる前に比べてちょっとイイコトがあるんです。

恒常的にRDPを使用している方なら知っていると思うんですが、現在のWindowsはマルチユーザログインできるのに対して、リモートデスクトップでWindowsに接続しようとすると既にログインしているアカウントはログオフしなくちゃいけません。
しかしこのパッチで"Enable multiple logons per user"というオプションを有効にすることで、ユーザごとに別々のセッションを割り当てることができるためこれを解消できます。
これは便利やでぇ・・・!

パッチのご紹介


まずダウンロードリンクからZIPファイルをダウンロードして解凍してください。

[For Windows 7 SP1 (x86/x64)]
Concurrent_RDP_patcher

解凍して出てくるexeを実行すると以下のようなウインドウが表示されます。
適切なオプションにチェックを入れて[Patch]ボタンを押すと、もう完了です。アラ簡単!
オプションの説明も書いときましょう。yu1rowって親切!

オプション説明
Enable multiple logons per user前述の通り、ユーザ毎に別々のセッションでログオンできるようにします。
既にログオンしているユーザがログオフにされることは無くなります。
ただし、マシンパワーが無いとすごくPCが遅くなるかもしれません...よ?
Enable blank password logonsパスワード無しのログオンを有効にします。
ただしセキュリティ的に如何なものかと思いますので、これを有効にする人は少ないでしょう。

注意点


  1. 前述のパッチが当たらないよー!って場合、DLLのバージョンが変わってたりすることが考えられます
    2012/07/06時点では上記パッチが使用できましたが、今後のWindowsアップデート次第ではどうなるかわかりませんのでご注意下さい
  2.  RDPのサーバ側はTCP/UDPの3389番を待ち受けポートとして使用しますファイアーウォールやルータのNAT設定などで受信ポートを空ける設定をしないと接続できない場合がありますのでご注意下さい
    設定方法は...環境によっていろいろなんで、各自で調べて下さい
以上です!

2012年7月5日木曜日

JNIお急ぎ作成レシピ

JNIる


こんにちは。イチ、プログラマのyu1rowです。
JavaでOSネイティブの機能を使用する際に使用するJNIってものがあります。
何それウマイの?って人は立ち去って頂いても結構です。

JNIは使おうとするとやり方を忘れちゃったりしてたりするんで、足がかりになるくらいの備忘録を残しておきます。

前提条件として必要な環境


OSWindows
(今回はWindows 7 Professional x86を使用)
IDE(Java)Eclipse
(今回は3.6 Helios SR2 x86を使用)
IDE(C/C++)Visual Studio
(今回は2005 Professionalを使用)
JDK今回はjdk1.6.0_24を使用
環境変数上記JDKにパスが通っていること
(上記のデフォルトならC:\Program Files\Java\jdk1.6.0_24\bin;とか)

それでは、以下つらつらと流れを書いていきます

Step 1 : JNI呼出用クラスの作成~ヘッダファイルの生成


まずはEclipseを起動してクラスを作成します。

今回はクラス名を"JniSample"としています。
後でDLLを作成するとして、DLL名称は"JniSampleImpl.dll"とでもしましょうか。
int型の引数を渡せる戻り値voidの"ExecSample"というメソッドを作ることにします。
ソースコードのダウンロード

classファイルからヘッダファイルを生成します。
コマンドプロンプトを起動してeclipseで使用しているworkspaceの中の、作成したプロジェクトのフォルダの中にbinフォルダがあると思いますので、このフォルダに移動します。
ここでjavahコマンドに-jniオプション、先ほど作成したクラスの装飾名をフルで指定するとヘッダファイルが作成されるはずです。
前述のとおり、環境変数でJDKのインストール先にパスを指定していないとjavahコマンドが失敗します。

コマンドが成功するとこんな風にhファイルができているはずです。

Step 2 : DLLの作成 - プロジェクトの作成~ヘッダファイルの追加


Visual Studioを起動して新しいプロジェクトを作成します。
今回は"JniSampleImpl"という名前でWin32プロジェクトを作成しました。
アプリケーション設定で、「アプリケーションの種類」を「DLL」に、「追加のオプション」で「空のプロジェクト」を指定します。

プロジェクトのフォルダが作成されるので、Step 1で生成されたヘッダファイルをココへ移動します。
フォルダに移動したヘッダファイルをプロジェクトに追加します。

Step 3 : DLLの作成 - ネイティブコードの実装


実装を行うため、cppファイルを作成します。
今回は"JniSampleImpl.cpp"という名前でファイルを追加しました。

cppファイルでは生成したヘッダファイルのインクルードを記述し、ヘッダファイルの定義に従って関数を記述します。
以下の例では引数に1が渡されたらメッセージボックスを表示するように実装しています。
ソースコードのダウンロード

Step 4 : DLLの作成 - JNI用ヘッダファイルのインクルードパス設定


※Visual Studioで1度設定しておけば以後はもう一度行う必要はありません
JDKをインストールしたフォルダのincludeフォルダと、さらにその中のwin32フォルダをインクルードする対象のフォルダに設定しておきます。
「ツール」メニューの「オプション」で開くダイアログから「プロジェクトおよびソリューション」の「VC++ディレクトリ」を選択すると設定を行う画面になります。
ここで2つのフォルダを追加しておきます。

Step 5 : DLLの作成 - ビルド前の設定~ビルド


プロジェクトの設定でランタイムライブラリの設定を行っておきます。
共通DLL設定でDLLを作成した場合、作成されるDLLのファイルは小さなサイズにすることができますが、ランタイムライブラリがインストールされていない環境では実行することができません。
設定を変更してランタイムライブラリをDLLに埋め込むようにしておきます。
左側のペインの「構成プロパティ」→「C/C++」→「コード生成」を選択し、右側の「ランタイムライブラリ」で「マルチスレッドDLL(/MD)」を「マルチスレッド(/MT)」に変更します。
※Debugの場合、「マルチスレッドデバッグDLL(/MDd)」を「マルチスレッドデバッグ(/MTd)」に変更します
設定が完了したら「ソリューションのビルド」を行います。
正常終了した場合、"JniSampleImpl.dll"が出来上がるはずです。

Step 6 : EclipseでのDLL指定~実行


Eclipseに戻り、先ほど作成したDLLをプロジェクトにインポートします。

「実行構成」からDLLを追加した場所を環境変数に追加します。
「実行」をクリックでアプリケーションが開始されます。
うまくいけば先ほどのDLLが呼び出され、ダイアログが表示されるはずです。


お疲れ様でした


手順は以上となります。
ねっ?簡単でしょ!?とまでは言いませんが、慣れれば何てことはないと思います。

2012年4月30日月曜日

VMのゲストOSがインターネットに接続できない

VMware Player 4.0.2で接続不能


こんにちは。yu1rowです。
Windows 8 Consumer PreviewをVMware Playerにインストールしましたが、インターネットにつながらなくてちょっと困りまして、解決方法の備忘録です。

対象の環境


VMware Playerのバージョン 4.0.2 build-591240
※他のバージョンでも起こるかもしれません
ネットワークカード複数存在する
※仮想NICや物理的に複数のNICがある場合

確認と設定変更手順


  1. ネットワークアダプタのプロパティを一つ一つ見ていってください。 
  2. 「VMware Bridge Protocol」のチェックを確認します
    インターネット接続に使っているアダプタの場合チェックを付けます
    それ以外のアダプタはチェックを外します

作業はこれだけです。
VMwareのアップデート時などに急につながらなくなた時などに有効かもしれません。
アップデートの時などに全部のアダプタの「VMware Bridge Protocol」を有効にするようなのですが、複数有効になってしまうとゲストOSがインターネットに接続できなくなってしまうみたいです。

これでもブリッジ接続がうまくいかない場合はまた別の問題でしょう。
すみませんが他をググってください。

2012年4月21日土曜日

JenkinsのビルドをWindowsコマンドプロンプトから即時で走らせる

Jenkinsで今すぐビルドをしたいとき


Jenkinsでは一定時間毎にポーリングを行い、資源に変更のあった ジョブに対してビルドを行います。
※「一定期間」とはLinuxではcronで設定するみたいです
※Windowsではどうするのか知りません。タスクスケジューラとか?

今回、ポーリングを待たずにスグにビルドするにはどーしたらいいの!?ってことで、優しいikikkoさんが教えてくれました。
↓ikikkoさんの棲家↓
http://d.hatena.ne.jp/ikikko/

実際に試してみたらうまくいきました。ありがとうikikkoさん!
というわけで備忘録を残しておきます。

手順


* 前提
JenkinsへのアクセスURLhttp://myhost/jenkins/
java.exeへのパスあらかじめ通してあること

  1. ブラウザから以下のURL(自分の環境に読み替えてね!)にアクセスして、jenkins-cli.jarをダウンロードする
    http://myhost/jenkins/cli
    ※Dドライブ直下にダウンロードしたと仮定して以下の作業を進めます
  2. コマンドプロンプトから以下のようにビルドを実行
    C:\Users\Hoge>D:
    D:\>java -jar jenkins-cli.jar -s http://myhost/jenkins/ build -c <JobName> --username myUsername --password myPassword
    ※前提条件の通り、java.exeにパスを通しておいて下さい
    ※<JobName>は実際には山括弧で囲みません
    ※ユーザ名とパスワードは制限がかかっている場合に必要です
    ※ユーザ名とパスワードに記号とか使っていたらダブルクオーテーションで囲むといいかもしれません
これでビルドがすぐに開始されることを確認できました。
ねっ?カンタンでしょ!?

2012年3月15日木曜日

CraftLaunch - 僕のイチオシランチャー

CraftLaunch


こんにちは。
イチ技術者、yu1rowの時間です。

プログラムを書くワタクシとしては、どれだけ速くアプリを起動できるかって事にもこだわりがあって、良いランチャーを色々探していました。

今回ご紹介するのは「CraftLaunch」!
 キーボードからアプリを起動する、コマンド型ランチャーです。
↓[CapsLock]キーを押すだけでランチャーを呼び出せます。


↓[CapsLock]キーを押すとこんなんが出ます

ダウンロード&インストール


↓ここで配布されてます。
CraftLaunch - craftware

インストール方法は、ダウンロードしたZIPファイルを解凍。
出てきたフォルダを任意の場所に置く。だけ。
※Windows Vista, 7の人は諸々の理由からProgram Filesとかには置かないほうが良いかも。
マイドキュメントの中とかがお勧め。

フォルダの中の「clnch.exe」をダブルクリックすると起動します。

Windows起動時に自動的に起動させたいって人は、スタートアップにショートカットを入れときましょう。
 ↓俺はそうしてます

設定


別に使わないときは画面から消えてて欲しいので、その設定をします。
俺はそうしてます。

設定方法:
[CapsLock]押す → "Config"と入力 → [非アクティブ時の動作] → [非表示]

使い方1:ドラッグ&ドロップでランチャーにプログラムを登録する


[ファイルやフォルダをドラッグ] → [CapsLock]押す → CraftLaunchの窓にドロップ

↓こんなんが出るんで、Enter押すと登録できます

使い方2:直接入力でランチャーにプログラムを登録する


[CapsLock]押す → "Command"と入力 → [Shift+E]押す

↓したらこんなん出ます
入力項目説明
名前コマンド ※ここに入力したものが実行コマンドになります
ファイルファイルやフォルダ、URL
パラメタコマンド実行時に渡すパラメータ
ディレクトリコマンド実行時の作業ディレクトリ

  • 例1:"y"でヤフーのトップページを表示させたい!
    名前y
    ファイルhttp://www.yahoo.co.jp/


  • 例2:"c"でCドライブを表示したい!
    名前c
    ファイルC:\

登録してあるコマンドを削除する


[CapsLock]押す → "Command"と入力 → 消したいコマンドを選んで[Del]押す

↓確認ダイアログで「はい」を選ぶと削除できます

番外編:BMIを計算しよう


数値が22くらいだったら「標準体重」ですよーとかいうアレです。
CraftLaunchは簡単な電卓になるので、ちょっと計算して遊んでみましょう。
  • BMIの計算式

    体重(kg)÷身長(m)の2乗

  • 計算方法 ※50kgで160cm(=1.6m)の人の例

    [CapsLock]押す → "50/pow(1.6,2)"を入力

  • 結果の確認

    [Enter]で結果が即座に表示されます。
    19.531250ですって。
    この人「やせ気味」ですよ!

  • 履歴の削除

    実はCraftLaunchは前に入力したコマンドを覚えています。
    上記の例だと、"5"を入れると前に入力した"50/pow(1.6,2)"が出てきます。
    け、消してくださいー!!(*/∇\*)
    って人は、すかさず[Ctrl+K]を押すと消せますよ!
    ↑ここで[Ctrl+K]!

色々カスタマイズできて面白いよ!


プログラマならもちろん、ちょっとプログラムも書けるよって人はpython知らなくても、少し勉強するだけでCraftLaunchを色々カスタマイズできます。
時間のある時に遊んでみると面白いかもしれませんよ?