• Windows ストア アプリ はじめました

    アプリ名 IP計算 Tablet_IPKeisan_left_angle_2
    説明

    IP Range から CIDR、CIDR から IP Range に変換します。

    計算結果のリストにはネットマスク、ネットマスク(2進数)、アドレス数なども表示されます。

    各表示項目はオプションで切り替えられます。

    機能
    • IP Range から CIDR に変換
    • CIDR から IP Range に変換
    • リストをダブルタップでテキスト選択
    • 計算結果をテキストファイルに保存
    Windows ストアで入手できます

    勢いで作ってしまいました(*゚ェ゚*)

    Windows ストアで公開するのは初めてだったのでアプリの情報入力に時間がかかったけれども全体的に思っていたよりスムーズ。

    アプリの情報を入力したりスクリーンキャプチャした画像を用意したり、ちょっぴりドキドキしながらアプリを提出(アップロード)した。

    時刻は 2014/10/22 05:48

    ここから認証ステータスが1から段階的に変わる

    1. 前処理
      通常、1時間以内で完了します。
    2. セキュリティテスト
      通常、3時間以内で完了します。
    3. テクニカルコンプライアンス
      通常、6時間以内で完了します。
    4. コンテンツコンプライアンス
      通常、5日以内で完了します。
    5. リリース
      アプリが認定されるまで待ちます。
    6. 署名とパブリッシュ
      通常、4時間以内で完了します。

    というような流れで1~5が終わったところで「アプリが認定されました」メールが届いた。

    時刻は 2014/10/22 06:45

    提出(アプリのアップロード)からわずか1時間。

    そこからの認証ステータス6が長く、翌日「Windows ストアに公開されました」メールが届いた。

    時刻は 2014/10/23 05:53

    提出(アプリのアップロード)からWindows ストアに公開されるまでの時間は1日と5分。

    あれ、早いな(*゚ェ゚*)

     

  • Barnes-Hut

    力指向グラフを調べていたら Barnes-Hut のアルゴリズムを Processing で書いているサイトがあったので C#に書き直して WPFアプリケーションに移植してみた(*´ェ`)

    参考サイト先にも書かれている通り、初期の配置を考えないとごちゃごちゃになってしまう(*゚ェ゚*)

    参考サイト
    Barnes-Hutのアルゴリズムについて

    今後は最適化と高速化したい(*´ェ`)

  • Surface Pro に Visual Studio Professional 2012 をインストール

    Surface Pro に Visual Studio Professional 2012 をインストール出来た(*´ェ`)

    初回実行時に問題「Visual Studio 2012 のバージョンは、ご使用のバージョンの Windows と互換性がありません。」が発生したけれど Microsoft Visual Studio 2012 更新プログラム(KB2781514)をインストール後、問題なく起動した(*´ェ`)

    そしてUpdate 2 を適用して、こちらも問題なく起動した(*´ェ`)

    Surface Pro に Visual Studio 2012

  • OpenTKでアプリ ぴくせるぶろっく(仮)

    OpenTKを使って何かアプリを作ろう(*´ェ`)

    2Dの画像を読み取り3Dデータにして書き出してみよう(*´ェ`)

    ぴくせるぶろっく(仮)

    書き出された3DデータはWavefront OBJ形式でLightWave3Dに読み込んでアニメーションさせてみた(*゚ェ゚*)

    2D画像のピクセルを正方形の3Dのブロック状にするだけで
    アプリに表示される3DビューはX-Y-Z軸回転と視野角、拡大縮小機能が付いてる、おまけみたいなもの(*´ェ`)

    その3DビューにOpenGLを使って3Dモデルを表示させているのだ(*´ェ`)

    書き出されたWavefront OBJ形式のファイルはPhotoShopでも読み込めたりする(*´ェ`)

  • Apacheログを指定の日数で取り出すシェルスクリプト 2

    “今日を含まない”指定した日数で取り出すか
    “今日を含む”指定した日数で取り出すか指定できるようにした(*´ェ`)

    -t オプションを付けると today で“今日を含む”
    -y オプションを付けると yesterday で“今日を含まない”

    #!/bin/bash
    
    ######################
    #
    # option  : -t[--today]|-y[--yesterday]
    #
    # version : Charlie
    # author  : foloro
    #
    ######################
    
    #使用方法
    function usage() {
    	echo "使用方法 : $0 -t|-y 日数" 1>&2
    }
    
    #引数の数をチェック
    if [ $# -ne 2 ]; then
    	usage
    	exit 1
    fi
    
    #引数のオプションをチェック
    if ! [ $1 == "-t" -o $1 == "-y" -o $1 == "--today" -o $1 == "--yesterday" ]; then
    	usage
    	exit 1
    fi
    
    #引数の日数が数字かチェック
    if [ `expr "$2" : '[[:digit:]]*'` -eq 0 ] > /dev/null ; then
    	usage
    	exit 1
    fi
    
    #引数の過去の日数をチェック
    if [ $2 -lt 1 ]; then
    	echo "日数は1以上の値で指定してください" 1>&2
    	exit 1
    fi
    
    #日付を配列に格納する
    DAYNUM=$2
    
    case $1 in
      "-t" | "--today" )
    	for (( i = 0; i < $DAYNUM; i++ ))
    	do
    		DAYS[i]=`LANG=C date -d "$i days ago" +"%d/%b/%Y"`
    	done
    	;;
      "-y" | "--yesterday" )
    	for (( i = 1; i <= $DAYNUM; i++ ))
    	do
    		DAYS[i-1]=`LANG=C date -d "$i days ago" +"%d/%b/%Y"`
    	done
    	;;
      * )
    	usage
    	exit 1
    	;;
    esac
    
    searchQuery=${DAYS[0]}
    
    for (( i = 1; i < $DAYNUM; i++ ))
    do
    	searchQuery="$searchQuery""|""${DAYS[$i]}"
    done
    
    grep -E $searchQuery
    

    使い方
    シェルスクリプトをcutlogday.shという名前で作成して
    Apacheのアクセスログがspecial-forces.jp-access_log-yyyymmddで“今日を含む”過去10日間のログが欲しい場合

    cat /var/log/httpd/special-forces.jp-access_log* | ./cutlogday.sh -t 10 > matometa.log

    もしこのシェルスクリプトをパイプなしで実行した場合

    ./cutlogday.sh -t 10

    標準入力となる(*´ェ`)

    Version Delta へ続く。

  • Apacheログを指定の日数で取り出すシェルスクリプト

    Apacheのアクセスログから“今日[実行日]を含まない”指定した日数分を取り出すシェルスクリプトがあれば便利だなと思って作ってみた(*´ェ`)
    というより必要だったのだ(*´ェ`)>

    イメージにするとこんな感じ
    Apacheのアクセスログは月別に保存されている。
    cutlogday

    #!/bin/bash
    
    ######################
    #
    # version : Alpha
    # author  : foloro
    #
    ######################
    
    #引数の数をチェック
    if [ $# -ne 3 ]; then
    	echo "使用方法 : $0 過去の日数 入力ファイル 出力ファイル"
    	exit 1
    fi
    
    #引数の過去の日数をチェック
    if [ $1 -lt 1 ]; then
    	echo "日数は1以上の値で指定してください"
    	exit 1
    fi
    
    #引数の入力ファイルが存在するか
    if [ -f $2 ]; then
    	echo "ファイルが存在しません"
    	exit 1
    fi
    
    #変数に引数の日数、入力ファイル、出力ファイルのパスを格納する
    DAYNUM=$1
    INPUTFILE=$2
    OUTPUTFILE=$3
    
    for (( i = 1; i <= $DAYNUM; i++ ))
    do
    	DAYS[i-1]=`LANG=C date -d "$i days ago" +"%d/%b/%Y"`
    done
    
    searchQuery=${DAYS[0]}
    
    for (( i = 1; i < $DAYNUM; i++ ))
    do
    	searchQuery="$searchQuery""|""${DAYS[$i]}"
    done
    
    echo $searchQuery
    
    cat $INPUTFILE | grep -E $searchQuery > $OUTPUTFILE
    

    使い方
    シェルスクリプトをcutlogday.shという名前で作成して
    Apacheのアクセスログがspecial-forces.jp-access_log-yyyymmddで過去100日間のログが欲しい場合

    ./cutlogday.sh 100 /var/log/httpd/special-forces.jp-access_log* matometa.log

    とすれば、matometa.logに指定した今日を含めない過去100日分のログが書き出されている(*´ェ`)

    という風に使おうと思っていたらどうもスマートじゃない気がする(*´ェ`)
    友達から“UNIXという考え方”という本を薦められて買って読んだらピンと来た∑(*゚ェ゚*)ピコン!

    そして書き直したコードがこっち

    #!/bin/bash
    
    ######################
    #
    # version : Bravo
    # author  : foloro
    #
    ######################
    
    #引数の数をチェック
    if [ $# -ne 1 ]; then
    	echo "使用方法 : $0 過去の日数"
    	exit 1
    fi
    
    #引数の過去の日数をチェック
    if [ $1 -lt 1 ]; then
    	echo "日数は1以上の値で指定してください"
    	exit 1
    fi
    
    #日付を配列に格納する
    DAYNUM=$1
    
    for (( i = 1; i <= $DAYNUM; i++ ))
    do
    	DAYS[i-1]=`LANG=C date -d "$i days ago" +"%d/%b/%Y"`
    done
    
    searchQuery=${DAYS[0]}
    
    for (( i = 1; i < $DAYNUM; i++ ))
    do
    	searchQuery="$searchQuery""|""${DAYS[$i]}"
    done
    
    grep -E $searchQuery
    

    使い方
    シェルスクリプトをcutlogday.shという名前で作成して
    Apacheのアクセスログがspecial-forces.jp-access_log-yyyymmddで過去10日間のログが欲しい場合

    cat /var/log/httpd/special-forces.jp-access_log* | ./cutlogday.sh 10 > matometa.log

    こうゆうことなのだ∑(*゚ェ゚*)

    でも過去2日間のログを取り出すだけで過去何ヶ月ものログを開いているのは無駄な気がする(*´ェ`)

    Version Charlie へ続く。