hostsファイルで一時的にPCを騙して作業する~dnsよりも優先されることを利用する

サーバー引越しの作業をしています。現在の共用サーバー環境ではPHPやMySQLのバージョンが古いので、システム的な更新が出来ないのが理由です。OSS系のCMSも併用しているのでリスクがあるという事でご依頼を頂いている案件です。

既存のサイトはとりあえずそのまま運用しつづけながら、移行先のサーバー環境にコンテンツをごっそり引越しさせて、カスタマイズの検証を行い、正常性を確認出来たら、レンタルサーバー屋に連絡してDNSを新サーバー向けに切り替えて貰う手はずです。

課題は、併用中の名前解決(DNS)です。現行のサーバーを運用しつつ、引越し先のサーバーの正常性も確認しなくてはならないので、同じサイトが2つ存在することにしなければなりません。ここでは私が作業に使っているPCのhostsファイルを書き換えて対応することにしました。通常利用のhostsファイルと、移行先サーバー専用のhostsファイルを切り替えて、移行先のサーバーにも本来使用するURLでアクセスして正常性を確認します。hostsファイルを切り替えさえすれば、同じURLで新旧サーバー任意の方にアクセス出来ます。その為にはhostsファイルの切り替えが頻繁に生じます。

Windows Vista以降、HostsファイルはUAC(ユーザーアカウント制御)によって保護されているので、メモ帳等でいちいち編集する手間+管理者権限でメモ帳を起動する手間などが煩わしく、作業効率も良くないし、何よりストレスを感じます。しかしこの仕組(セキュリティ)は重要な仕組みです。

続きを読む

本当に無料で使って良いんでしょうか?〜AutoCAD LT互換アプリ(DraftSight)

一時期はAutoDesk社のAutoCAD LTを良く使ったものです。毎日朝から晩まで嫌になるほど使った時期もありました。大きなプロジェクトが入って、CADを使わないと図面の管理が出来ない状況になり、会社が費用を出してくれて数名で3日程講習を受けに行かせて貰えました。同僚3名か4名で短期集中のレッスンを受けたのですが、当時勤めていた会社が支払ってくれたレッスン費用は結構な額だったと思います。

その御蔭もあってAutoCAD LTの基本的な操作は覚えられました。もちろん数日のレッスンなので覚えたのは概念的なもの、機能の説明とそのチュートリアル程度だったので、実業務でどういう手順で図面を描いて、どう修正するかという製図のテクニックは実践で鍛えていくしかありませんでした。

実際、我流で覚えたという先輩の図面の描き方の方が断然効率が良かったりしました。もっともその先輩は学校でドラフターを使って図面を描く授業を受けたといってましたが、やはり昔ながらの製図テクニックは道具がCADに変わっても通用するものです。(横で見せてもらって先輩の製図テクニックを盗みます)

また、後に分かるのですがレッスンではプリントアウト(印刷)について説明がほとんど無かったので、実業務で必要なプリントアウトについては会社の先輩から教わりました。ペーパー空間とモデル空間の概念についてはもちろん説明がありましたが、概念的なところに留まり、実務でプリントアウトの面倒臭さに躓くのはお約束でした。

そういう感じで、実践的な部分は必要になった都度、会社の先輩からテクニックを盗み取ったりして自分流の図面の描き方を養ってきた訳ですが、図面と言ってもジャンルによって色々特徴があるので、図面を描く正しい手順ってのは無いとも言えます。この方が早く描ける、効率良く描ける、楽に描ける。でも俺はこうするのが楽だと思う。CADで描くコツなんてそんな感じでしょう。

AutoDeskのAutoCAD LTは色々なジャンルで使用されている2D(平面図)用のCADアプリケーションです。私の知る範囲では、建築業界でも2D図面はAutoCAD LTの標準フォーマット(dwg)形式か(dxf)形式ですし、電気施工のアルバイトに行った時もAutoCAD LTが標準だと聞きました。建築図面に照明器具の配置や配線ルートなどを描いていくのもAutoCAD LTでした。

後に知りましたが、建設業界では.sxfや.p21という拡張子の形式が標準らしいです。また電気関係はJw_cad(フリーウェア)による.jwwも良く使われるそうです。Jw_cadは操作性がかなり特殊だと感じますが慣れると効率が良いのだとか。業種によってCADって色々バリエーションがあって標準が違うみたいですね。

という訳で、私が使い慣れているAutoCAD LTですが、泣き所は高価なところです。2D版のLTでも個人で気楽に購入出来る金額ではありません。よってJw_cad等の無償で使用出来るCADを使っている人も結構いらっしゃる訳ですが、AutoCADに慣れた自分にとって、また新たな操作を覚えるのはかなりの苦痛です。

Jw_cadはこれはこれで便利な機能があるので描く図面によってはAutoCADとか不便すぎるって位に工夫されている部分も多々あります。

AutoCAD LT程の高機能は要らないけど、基本機能と操作性はAutoCAD LTに準拠している安価なCADアプリって無いのかな?そう思って調べてみたところ、3D CAD のCATIA、SolidWorksで有名なダッソー・システムズの「DraftSight」という2D CADアプリがなんと無償で利用させていただける事を知りました。実際使ってみたら操作性はかなりAutoCAD LTと共通していますので違和感はほとんどありません。

DWG ファイル用の無償CADソフトウエア*: DraftSight – ダッソー・システムズ

続きを読む

Windowsでawkを便利に使う-3

awkを使って欲しい情報だけを抽出する超基本的なサンプルです。

最初に7列(カラム)目が”北海道” にマッチした場合に、必要な列を出力するサンプルをやってみました。

同様に、7列(カラム)目が”京都府”にマッチした場合に、必要な列を出力するサンプルに修正してみました。

大きなデータを扱う場合は、たったこれだけでもawkの便利さを実感出来るものです。なにしろちょっとしたスクリプトですが、12万行を2秒かからずに処理しちゃってますからね。

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

参考に付け加えれると、$0は行全体(1レコード)を指します。

まだソースコードうんぬんという程のことではありませんが一応記しておきます。

徐々にもっと実用的なサンプルを実行してみたいと思います。

トラックポイント付きキーボード(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レコード)を指します。
まだソースコードうんぬんという程のことではありませんが一応記しておきます。