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レコード)を指します。
まだソースコードうんぬんという程のことではありませんが一応記しておきます。

保守サービスの料金について

今日はサービス内容と料金体系について再検討してサイトを更新しました。そこで先日クライアントから質問された事で、根本的なところについても考えてみたので記してみようと思います。

PCサポート等の料金プランは、大抵のばあい「出張費+基本料金+技術料」の合計になっています。私自身も保守の仕事は何度も携わって来ているのですが、どうしてもこういう計算の仕方になってしまうなぁというのが現時点の結論です。色々な不確定要素があるからです。当店においても同様の計算方法になります。

出張費はまだしも、基本料金技術料の住み分けはどうなってるのか?という質問を受けて、その時に即答で明確に回答するのが出来ませんでした。恐らくどこでも同じ感じじゃないかと思います。よってそこはある程度でもルールを定めないといけないと思いました。つまり決め事ですね。これを機会に明確に分けました。

続きを読む

Paypal Hereにみる金への群がりと想定されるリスク

PayPalHere

Paypal Hereのカードリーダーを装着してカードを読ませている

ソフトバンクが米国の電子決済大手のPaypalと手を組み「PayPal Japan」を設立するという発表があったのが2012年5月9日。スマートフォン(当初はiPad/iPhoneのみ対応)のイヤホンジャックにカードリーダーアダプターを取り付けて、クレジットカードを読み取る方式の格安デバイスで普及させるという「Paypal Here」というサービスを発表した。

その後10ヶ月である程度目処が立ったのか、一部のAndroidデバイスにも対応させており、いよいよ本格的に普及させると息巻いている様だ。リンク先を読めば分かる事だが敢えて記すと、ターゲットはクレジットカード決済を導入していない小規模店舗・事業所らしい。格安のカードリーダーと無料のスマートフォンアプリを使うことで、初期導入費用を非常に低く抑えることが出来るのが最大のセールスポイント。

言い換えると、既存のクレジットカード決済会社にしてみれば、クレジットカード決済専用の機器に設備投資させるところでも利益を得ていた分、それが否定されたも同然なので大打撃である。恐らくトラブル時の保守(メンテナンス)も有償で行なっていただろう。

楽天スマートペイ

楽天スマートペイをスマートフォンに装着した状態

更に補足すると、決済専用の機器を格安で販売してしまい、設備面で利益は得られなくても、決済手数料5%で利益が出せるという裏が取れる。つまり既存のクレジットカード決済会社は、今までにかなりの利益を得ていたと言えるだろう。ま、コレはコレで問題点もあるが今回のPOSTはその話ではない。

そういう隙間に入り込んでくるのが得意なのは、Softbank、楽天である。楽天もちゃっかり「楽天スマートペイ」というサービスを開始している。この2人は金の匂いを嗅ぎつける能力は凄まじいものだなと、少しは見習わなくてはならないと反省している次第である(w

続きを読む

ドメイン契約更新

このサイトで使用しているドメイン「s-fact.biz」も、使い始めてから、もうそろそろ一年になります。それ以外にも3つドメインを利用していますが、不思議な事に3つは同じ月に契約をしているので期限も同月です。一番古いドメインは2004年に取得しているので愛着もありますね。

まだ期限まで余裕はありますが、更新を忘れると厄介なので、3つまとめて契約の延長申請済ませました。私は、.com、.biz、.infoを使用しているのですが、それぞれ950円程度です。3つで3,000円弱なので必要経費かなって割り切っています。

ドメイン関係では、過去にドメイン利用料だけで、独自ドメインを無料メールサーバーを使用する方法等を記していますが、使えば使うほどに価値が出てくると思いますので、継続的に同じメールアドレスを使いたいというニーズがあるなら、早期に導入されるのが吉だと思います。ドメインは「早い者勝ち」ですし、活用して育てていくという意味もあります。

参考

今更ながらGitHubが便利だと痛感

数日前からGitHubの利用を開始しました。一般的にはプログラマー向けのツールというかサービスというかそんな位置づけとされていますが、実はプログラマー以外にも非常に便利だったりします。ただし、無料ユーザーの場合はPrivate設定が出来ませんので、ネットに公開出来ない様な(プライベートな)情報を管理することは出来ません。それをやりたいとなると利用料を支払う必要があります。

何が便利かと言うと、Gitというバージョン管理システムが基本機能となっているので、あらゆるファイルのバージョン管理が可能です。例えば小説等を書いている人なら、ある程度の区切りまで来たらコミットという操作をして現在の状態をGitにアップロードします。アップロードする際に更新内容などをコメントする仕組みになっています。

ここでポイントは、翌日、大幅な内容の書き換えをしたとします。そしてそれをコミットしたとしましょう。その時はそれがベターだと考えていました。ところが寝ていると大きなミスに気づいてしまったとします。大幅に書き換えるのではなく、別のシナリオとして書くべきだったと後悔したとします。バージョン管理システムの場合、コミットする度にその変更内容が更新されていく仕組みなので、古い情報もしっかり残っています。つまり前日にコミットしたものをそのまま取り戻すことも出来ます。これで安心して翌朝まで熟睡出来ますね。

ビジネスの場面ではもっと役立つでしょう。例えば契約書をGitでバージョン管理します。契約内容の改訂があったとしたら、現状の契約書を元に内容を改訂しますね。そしてその改訂した結果をコミットします。改訂する度にどんどんバージョンアップして行きます。このケースで私が役立つと思うのは、古い契約内容も読めるのはもちろんですが、契約内容の変更部分を一発で比較出来る機能です。差分を表示する機能があります。追記されたところ、削除されたところ、変更されたところ。

Webデザイナーさんにもメリットが多いですね。HTMLファイルやらCSSファイルやら、画像コンテンツ(PNG、PSD、AIファイルなど)を編集する事も多いでしょう。編集が終わったらコミットします。何を修正したかもコメントに残しておくと後で役立ちます。編集した内容を本番のWebサイトにアップロードした後に、クライアントから元に戻してくれと言う依頼が来たとします。事情が変わったので急いで頼むと。もちろん普通の人なら元ファイルを取っているでしょう。もし元ファイルを残していない人は・・・。でもバージョン管理システムを利用しているなら古いファイルを容易に取り戻せます。バックアップのファイルだらけで何が何だか分からなくなることも減るでしょうね。

あとはちょっとしたサンプルスクリプトを遠隔地の知人に伝えたりするにも便利です。え?メール添付でいいじゃんという意見もありますか。確かにそうかも知れませんが。サンプルスクリプトを提示する側としてはメールで送っちゃうともう編集が出来ません。また差し替えを送らなくてはなりませんね。ところがGitHubならちゃっちゃと修正してコミットしてしまえば、先方がすぐにそのサンプルスクリプトを使わなければ、最新のスクリプトを利用して貰えます。修正が一度で終わらなかった場合でも、修正したからサンプルスクリプトを撮り直してくれと連絡すればそれだけで事足ります。受け取る側は最新だとか古いとか意識しなくて済みますからね。

ただ1つだけ不便だなと思ったのは、GitHubにコミットするファイルは、文字コードがUTF-8でなければ(S-JISとかはあかーん)日本語が文字化けしちゃいます。UTF-8で保存出来るテキストエディタ等を使用する必要がありますね。まぁ徐々にUTF-8がスタンダードになってきてますけど。

今まで、独自のPukiWiki等に残していましたが、これからは積極的にGitHubに足していく事にしようとしています。現状は無料ユーザーなので、public(一般公開)でしか管理出来ませんので、もちろん他人に見られても良い情報限定です。使い慣れてGitHubが無くては困るツールになったら有料ユーザ-になろうと思います。