FutureInsight.info

AI、ビッグデータ、ライフサイエンス、テクノロジービッグプレイヤーの動向、これからの働き方などの「未来」に注目して考察するブログです。

Web系の技術をいろいろ触ってみて良かったと思ってます

会社ではOSやドライバ周りの知識に触れる機会が多く、ほとんどWeb系の技術に触れることは無かったのですが、趣味でいろいろWeb系の技術に触れてみて、Web系の技術によく見られる、何事もオープンに公開していくという姿勢から学んだことが多かったことを実感しています。

たとえば、今、作成しているものはDLNAサーバソフトウェアなのですが、コードを書く際にベストプラクティスを考える時、役に立つのが、Google Code Searchです。Google Code Searchはそのソフトウェアのライセンスまで表示してくれるのでMITライセンスの時などはライセンスを確認したうえで必要そうな部分をそのまま持って行くことが出来ますし、他のライセンスの時でもそのアルゴリズムを参考に、思索を深めることが出来ます。現在勉強中のC#に関しては、残念ながら、質の高いサンプルコードが少ない印象(そういうときはC#ハッカーのid:kawatanのターン)ですが、Pythonは素晴らしいテクニックのコードばかりです。個人的には、メンテナンスコストの高い黒魔術のようなコードは好きではないので、自分なりにかみ砕くようにしています。

例えば、今日はiTunesのコンテンツ情報を保持するXMLをパースするプログラムを書いていたのですが、Google Code Searchを通してサンプルコードを見つけて、以下のような形でその処理を記述出来ました。

大部分は自分が書いたものではないのですが、このコードは保守性も高く、いろいろ処理も的確で良いPythonのコードだと思います。

作成しているものはDLNAサーバソフトウェアなので、Web系の技術はかなりかぶるところがあり、特にTwistedの非同期処理部分にはとてもお世話になっています。しかし、そういうことよりも技術をオープンにブログで公開するという文化に触れ続けることで、先人の偉大なコードから触発されて(ライセンスには細心の注意を払う必要があります)自分のソフトウェアを記述できる姿勢を見につけることが出来たことが、Web系の技術に触れてみて一番良かったことだと思っています。

なんかありきたりの感想ですが 笑