Visual Studio 2012 Update 2正式リリース

S-Factoryとしては、Windows用アプリの開発にはVS2010をメインで使っており、VS2012は積極的には使っていません。でもこうやって着実にアップデートが進んでいるようです。

Windowsストア向けのアプリを開発する人にはVS2012は必要だと思いますので、追従していくしかないですね。こういう情報が入ってくると、そろそろWindowsストアの事も調べるべきなのかなぁと思わざるを得ません。

Visual Studio 2012 Update 2正式リリース

トラックポイント付きキーボード(IBM SK-8840)

トラックポイント付きキーボード。タッチパッドは要らんがな・・

トラックポイント付きキーボード。タッチパッドは要らん

現在の私のデスクトップPCのキーボードは、IBMの「SK-8840」という廉価版です。このキーボードはインターフェースはPS2で、コネクター部分が二股に分かれていて、キーボードとマウスのPS2コネクタでPCに接続する構造になっています。

つまり、このキーボードを使う為にはPS2ポートが必要なので、昨今のUSBキーボードやマウスが主流の一般的なPCではそのままでは使用出来ません。そこでちょっとこだわったマザーボードを選んだりする訳です。

それ以外には、USBインターフェースをPS2に変換するデバイスを噛ませば使えます。そこまでして使うほどのキーボードでは無いですけどね。主にラックマウントサーバーの保守コンソールに使われる目的で販売されたモデルですね。故にケーブルがやたら長かったりします(w

続きを読む

Windowsでawkを便利に使う-2

awkをWindowsで使う為の環境づくりを動画でYouTubeにアップロードしました。

郵便番号データ(CSV)をダウンロードして、それをawkで処理するサンプルを行なってみます。ファイル容量で言えばいまどき大した大きさではありませんが、郵便番号データ全国版はテキストファイルで12万行以上ありますので結構なデータです。実際、一昔前のPCで、Excel等の表計算アプリに取り込むとかなり処理が重くなってしまうものです。ちなみにExcel2007よりも古いバージョンでは6万数千行までしか読み込むことが出来ません。

  1. BEGINでFS(フィールドセパレータ)をカンマだと定義する
  2. BEGINでOFS(アウトプットフィールドセパレータ)をカンマだと定義する
  3. 欲しい情報が含まれる列だけ表示させてみる
    $1、$2、$3、という感じで左側からカンマで区切られた列を数えます。

1は、読み込むファイルの区切り文字を指定します。郵便番号データはカンマ「,」で区切られていますのでFS=”,”となります。

2.は、awkが出力する際の区切り文字を指定します。区切り文字をここで変更すれば、カンマ区切りのデータを”:”区切りにしたり、TAB区切りに加工したりと任意に指定出来ます。ここの例では同じカンマ区切りにしています。

3.は実際の処理です。$3と$7と$8をPRINTする命令を記しています。awkにはフィールド番号という概念があり、左側から$1、$2と数えます。この概念のお陰で容易にCSV形式のファイルを扱うことが出来ます。

参考に付け加えると、$0は行全体(1レコード)を指します。
まだソースコードうんぬんという程のことではありませんが一応記しておきます。

Windowsでawkを便利に使う-1

awkをWindowsで使う為の環境づくりを動画でYouTubeにアップロードしました。

聞きながら見るという方法が一番無駄がないのですが、マイクの音質が悪いのでコメントを字幕として設定しています。やっている事が良く分からない場合は字幕を有効にしてみて下さい。

正直に書くブログ」でも記していますが、awkをWindowsで使える状態にして置くと、仕事の現場においては何かと便利です。特にCSVデータを扱う人にとってはかなり便利なツールで有ると言えます。

おーくの友だち」というユーティリティを使うと非常にWindowsライクな操作になるので、このユーティリティと、実際に処理をするgawk.exeというプログラムをダウンロードしてセットアップします。

設定の手順の中で、INIファイルを直接編集して絶対パスを相対パスに書き換えている部分があります。おそらくココの部分が壁になるとは思いますが、「おーくの友だち」を作っている開発者さんに改修していただけたら一番良いのになと思っています。

awkが便利だとずっと言い続けてるので取り組んでみる

awk-programing以前の仕事は小売店のネットショップを運営する部署でのちょっとシステム寄りな事を担当していました。楽天市場、ヤフーストア、自社サイト(独自)の仕様に合わせてプログラマーがカスタマイズしたシステムで連携をしていましたが、その場限りのやっつけ仕事となるとプログラミングという手間をかけるメリットは無いので、なんとかやっつける事になる訳です。そういう仕事が結構私には多かった。

幸いというか、その前にシステムの保守の仕事をしていた時から、交代制で夜勤があり、システムを管理して運用する仕事もあって、そこで通信機器のログを毎晩必ずフロッピーディスクに保存するという作業が含まれていた。そのデータはテキストデータでしたが、CSV形式ではなく、固定長のテキストデータだったので、MS-AccessやFilemakerを使って統計を出したりしていたものです。まだMS-Accessのバージョンも1.0でパソコンのOSはWindows 3.1(MS-DOS)だったと思います。

そんな頃からテキストデータの扱いを試行錯誤頭をひねりながらやって来ているので、規則性を見出すと大抵の場合はPCを使ってちょっとした繰り返し処理をさせれば実現出来るというのは体感的に学習しています。MS-AccessやFilemaker、MS-Excel、そしてMS-Wordなんてものを使い分けたり組み合わせたりしてやっつけて来ました。

そんな私にとっての画期的なツールが、awkというスクリプト言語なのですが、この感動は言葉では伝えにくいものがあります。幾度と無く「正直に書くブログ」でawkの事を取り上げてきましたが、中々伝えるというのは難しいものです。まずは実際にやっていただく事が重要なのですがそれを期待するのはかなり難しいのが現実です。

しかし私はそれでも思います。日常の業務において、規則性を持ったテキストデータを処理している方は、是非ともawkに興味を持っていただきたいと思います。awkはちょっとしたルールを覚えるだけで強力な処理を簡単に実現してくれるプログラミング言語だからです。プログラミング言語と言うと拒絶反応を示す人は多いと思います。事実私もその一人でした。しかしawkは非プログラマーに対して易しいプログラミング言語です。もう少し適切に表現するとawkという言語は、使いこなすのに100覚えなくてはならないとすると、2~3程度、基本ルールを覚えるだけで容易に結果が得られるのです。しかも非常に高速に。

Mac OS XもUNIX系ですし、Linuxも普及して来ましたから、awkという古の言語も実は多くのPCで当たり前に使用できてしまいます。しかし多くの職場ではまだWindowsをメインで使用していると思いますが、そのWindows上でawkをWindowsユーザーにも非常に使いやすくしてくれる「おーくの友だち」というアプリケーションがあります。awkは本来UNIX系のプログラムなので、コマンドを打ち込んで操作をする仕組みになっているのですが、「おーくの友だち」はそれをコマンド入力ナシにしてくれています。

もちろん、awkもプログラミング言語なので、実際の処理手順は文字入力をして組まなくてはならないのですが、たった1行、欲しい情報を取り出す記述だけでも場合によってはExcel等を使う場合とは比較にならない位の手軽さで実現出来てしまいます。テキスト処理系の仕事が多い人は使わない手は無いです。食わず嫌いせずに是非awkの凄さを見て欲しいものです。

とは言うものの、文章で書いても説得力が無いので、実際の操作を動画で録画してYouTubeにアップロードする事にしました。「ドットインストール」を参考に喋りながら録画してみようと思ったのですが、どうにもこうにもマイクの音質が悪くて全然ダメです。機材をきちんとしないと無理だと痛感しました。よって音声ナシで当分は進めます。

YouTubeに字幕を付ける機能が有ることを知ったのでこれでポイントのコメントは入れておくことにします。いちいちオーサリングソフトで字幕付けるのは流石にイヤなんですよね。