LINQ勉強会に行って来ました

タイトルの通りですが、LINQというプログラミング手法の学習を行う勉強会に参加して来ました。開催場所の大阪のグリー株式会社は阪急梅田駅から徒歩10分位なので近いです。綺麗なオフィスビルなのでなんだか久しぶりにサラリーマンに戻った気分です(w

LINQ勉強会 : ATND

多分主催の方達がグリーの関係者だと思います。40名位は入れるミーティングルームで、プロジェクターも有って、電源も使用出来る。非常に良い環境で勉強会を開催してくださって本当にありがたいことです。

Microsoft社のバックアップがあるのかどうかわかりませんが、ロゴ入りボールペンをいただいたり、なんとWindows8(非売品)をじゃんけん勝ち取りプレゼント等、その他にも色々あって、リッチな勉強会だなって思いました。きっとグリーとマイクロソフトが会社つながりで何かあるんだろうなぁ(あくまでも想像です)。

続きを読む

Arduinoがジワジワ流行の兆し

どうやらブームの兆しが出てきた様です。あちこちで「Arduino(アルドゥイーノ)」という言葉をみかける様になってきました。Lチカから始まって、もっと独創的なアイディアも考えられている様ですが、必ずしもハードウェアエンジニア的な知識がある人だけが手にとっている訳ではなさそうです。Arduinoが非常に購入しやすい価格で売られている&わかりやすい解説が多く出まわっている成果でしょう。

Arduino UNO R3

Arduino UNO R3

こういう機器は、いわゆるデジタル制御なのでデジタル機器と一括りにされがちですが、接続するセンサー類は、ほぼ間違いなく「アナログ」な素子だったりする訳です。例えば温度センサー(サーミスタ)にしても、温度変化によって抵抗値が激しく変化するアナログ素子です。その変化をデジタル値に変換する機能がArduinoには備わっているので、適切な電流値になる様、抵抗器と合わせて接続するだけで良いのです。

厳密に言えば本当はアナログ回路的な知識が必要です。電流を適正値に制御してやらないと最悪破損してしまいます。しかしちょっとしたコツというかルールを覚えてしまえば、Arduinoに色々なセンサー素子を接続して、それをデジタル値に変換して使用することが簡単にできちゃいます。

しかし課題もあります。絶対的な値(例えば摂氏15.6度)と言う値を正確に検出しようとすると、センサー素子と、Arduinoのアナログ値->デジタル値変換の部分でチューニングが必要です。校正と言った方が良いかも知れませんが、信頼出来る温度計で計測しながら、個体差による誤差を調整する手間が発生する訳です。素子によってばらつきもあります。過去に多くの計測器を扱う仕事をしてきましたが、絶対値を正確に計測しなくてはならない用途では、この校正が欠かせないものです。法令点検に使用する計測器は年に一度、認可を受けた機関で校正しなくてはならないなんていう決まりがあったりもします。

しかし、ざっくりとした値がわかれば良い。また絶対値ではなく、相対値であれば校正など必要ありません。基準となる値からどれだけ変化したか?という事がわかれば良いのですから、それはプログラミング次第といったところでしょう。強いて言えば、サーミスタの場合なら、1度の変化で何ステップ値が変化するか?といった情報は把握していないと温度センサーとしてのプログラミングは出来ないかも知れません。これがピンと来なくても実際にやってみると何を言っているのかご理解いただけると思います。

続きを読む

テキスト回り込みHTML生成ツールを作ってみた

cocologかなりの年月の間放置プレイしていたココログを最近整理して再利用することにしました。ココログはニフティが運営しているWebサービスで、色々なゲーム要素もあるのですが、私が使っていたのはブログシステム(TypePadベース)のみです。

当時、私は自前のサーバー(と言っても古くなったPCにFreeBSDをインストールしてWebサーバーとして使えるようにしたもの)に、Movable Typeをインストールして、自前のブログを公開していました。いわゆる自宅サーバーです。ブログの用途として、ココログとは記事の内容によって使い分けていくつもりだったのですが、いつのまにかココログは放置になり、私の頭のなかから存在が消えていました(w

さて、改めてみてみると、ココログでのファーストポストが2005年だったので、結構前から使っていたことになります。ココログは内部的にも少し変更されていて、当時はMovable Typeのバージョン3系だったので、ココログが使っているTypePadもMovableType 3系相当だったハズですが、現在は多分4系相当になっています。2005年頃に使っていたココログには無かった、ページを作れる機能が増えてます。

続きを読む

「MISSION C」でC言語のレッスンを

日経ソフトウェアの最新号(20113年6月号)を購入しました。
本を読みたかったのでは無くて、付録しているCD-ROM目当てです。

C言語は直接は学習したことが無いのですが、かつてC++で痛い目に遭って、プログラミングにトラウマを負って以来、C言語、C++言語は苦手意識が強いのをずっと自覚しています。C#が思いの外わかり易かったので現在はC#メインにしていますが、C言語は基本的な知識でもあるし、Linux環境で有利なので出来れば基本スキル位は身につけたいと思っていました。

付録の「MISSION C」は、2003年に発売された声優を使ったフルボイスのFlashコンテンツで構成されたレッスンCD-ROM書籍がベースです。このCD-ROM書籍はプレミアがついて結構な価格で取引されていた様ですが、どうやら今月号に付録させることになって相場が下落気味ですね。

現在のWindows(XPから8まで)に対応させる修正をして、今更ながら月刊誌に付録として発売されたものですが、私は旧版を持ってないので比較は出来ません。しかし、恐らく今更大きく内容が変更されることは無いと思いますので、発売当時のオリジナル版と大差は無いのではないかと思っています。間違えてる部分等が有った場合は、この機会に内容を修正してくれていたらそれはありがたいことです。

書籍の方は、最近のプログラミング本で主流のAndroidアプリ開発をはじめ、スマートフォンアプリの開発についての記事が多く見られます。新連載記事が5つあるので、読んでみて継続したいと思ったら来月から買い続けるかも知れません。ま、購入の動機として本はあくまでもオマケです。

Windowsでawkを便利に使う-3

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

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

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

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

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

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

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

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