*目次 [#x281bf05] #contents *ATOM SHELL理論 [#p823e34b] 全ての言語のコードをパイプラインで結びつけるという理論です。 パイプラインで通過するデータは基本XML形式にしようという理論でもあります。 いろいろな言語で作ったコードを共通の仕様のインターフェースで通してしまえば、いいじゃん。という感じです。 ATOM SHELL 理論は、自分が提唱する理論の名前です。 Yahoo pipsにインスパイアされました。 URL http://pipes.yahoo.com/pipes/ いろいろな言語で、パイプ処理用のインタフェースをそろえ、 iPhoneのAppストアのように、ライブラリを一元管理し、バージョン、評判のインタフェースを提供することで 車輪の再発明を押さえながら発展していくための理論、哲学をまとめていこうとおもっています。 現在データは全てRSSでいうところのATOMで表現する等が流行っているが、これはパーサが比較的用意しやすいからである。むしろパーサを用意するには、javascriptのほうが適していたりする場合がある。 これは、各処理言語の既存のモジュールに依存しているだけの話である。 パイプとは関数言語的な仕組みであるから、これに含まれるデータはデータのみならず、関数自信も含んでいたほうがよい。関数とはフィルタであり、パラメータによって可変であれば、yamlの定義ファイルで置き換えることができる。 で、極力フィルタは一元管理して、再発名を防ぎたいから、単機能のフィルタになる。 それらは、一元管理されているべきである。有用なものには、値段がついていたほうが、開発者のモチベーションはあがると考えられるので、ますますAppStoreのようになるかもしれない。 いろいろな言語をつなぐには、UNIXのパイプ処理に焦点をあててみてもいいかもしれない。 でも、結局人間が見やすいのはExcelやOpenOfficeのスプレッドシートであるから、最終的にはこれらのファイルに変換するマクロを用意するようにする。 *ネットワークからATOM記事を得る方法 [#aab564c9] 例えば、技術評論社のATOMフィードは下記のアドレスです http://rss.rssad.jp/rss/gihyo/feed/atom これを取得する方法は *エクセルマクロ(VBA)をコマンドラインから呼び出す [#b1f7bbf2] http://d.hatena.ne.jp/GARAPON/20090120/1232449513 *たのしいXML: RubyでXMLデータを扱う (1) [#g4ef98aa] http://www6.airnet.ne.jp/manyo/xml/ruby/home.html *2009-10-19 [Ruby] 標準入力を処理するプログラムを書く [#z7ee0c3f] http://d.hatena.ne.jp/unageanu/20091019 *javaで標準入力を処理する例 [#wb78da7c] **コード [#iddf4670] import java.io.BufferedReader; import java.io.InputStreamReader; public class ReadLineSample { public static void main(String[] args) { try { BufferedReader stdReader = new BufferedReader(new InputStreamReader(System.in)); String line; while ((line = stdReader.readLine()) != null) { System.out.println("java:" + line); } stdReader.close(); } catch (Exception e) { e.getStackTrace(); System.exit(-1); } } } **コンパイル [#f7916ea1] javac ReadLineSample.java **実行 [#kc10509a] 例cat ReadLineSample.java | java ReadLineSample *wshで標準入力を得る [#wb7c2ba1] Do Until WScript.StdIn.AtEndOfLine strInput = WScript.StdIn.Read( 5 ) WScript.Echo strInput Loop これを保存しておき、たとえば、filter.vbsというファイル名で保存したとすると、 cscript filter.vbs で実行できます。