NekketuLabs

Concept
NekketuLabsはITアーキテクトに役立つ情報を提供するというコンセプトで運営しています。 現役ITアーキテクトの自分から見た技術動向についての考察を綴ると共に、 自身が制作したアプリケーションやソースコードの公開もしています。

Python入門

ここでは、プログラミング言語「Python」の紹介をしていきます。Pythonの入門記事は他にもありますが、情報が古かったりして、自分自身最初は苦戦したところもありました。ですので、Python2.7系での利用を前提に、日本語環境で使うときのポイントを解説していきます。

なお、本記事は2011年にPython2.5系を前提にして執筆したのですが、サイトリニューアルに伴い、最新情報へとアップデートしました。

1 Pythonとは

2 Python環境構築

Rails3.2 Windows開発

数ヶ月前からRuby on Rails3を採用した案件に携わってます。
DBはPostgreSQLでパブリック・クラウド上で動かすという、ちょっと今更かもしれませんが、うちの会社としては珍しくトレンドなプロジェクトになっています。

うちの会社ではJavaプロジェクトがほとんどで、社内プロジェクトやツールなどを除けば、初のRuby案件となります。Javaとは違い社内のノウハウもなければ経験者もいないという状況で、ゼロからアーキテクチャ設計を進めて、ようやく来月リリースを迎える運びとなりました。

まぁ今回はアジャイルアプローチで進めており(これもうちの会社的には非常にチャレンジなのですが・・・)、すでに顧客はガンガン使っているので、来月リリースといっても、こちらも顧客もひと区切りというだけなので、ある意味リリース日当日になってドキドキするというウォータフォールよりは精神的に楽だったりします。

さて、前置きが長くなりましたが、そんなこんなで、ネタも溜まってきたので、Pythonを推している当サイトですが、ここしばらくはRubyネタでいってみようかと思います。

Read More

アーキテクトに求められるTCP/IPの知識

昨年末、以前関わっていたプロジェクトでネットワーク周りでのトラブルが発生して、そのトラブルシューティングに奔走した際、TCP/IPについて不勉強だなと実感することがあり、今回はアプリケーションレイヤーの話ではなく、下のレイヤーのトピックを取り上げてみたいと思います。

顧客の基幹システムであり、現行IBMホストをWebシステムへとマイグレーションする案件なのですが、取引先からのSSLでのアクセス以外は基本的に企業内ネットワークで完結するため、セキュリティや性能要件としては、ECサイトなどに比べれば比較的ゆるいという状況です。

まだC/Oしてないこともあり、詳細は記述できないのですが、IEがネットワークエラーを検出してしまい、アプリケーションとしてはシステムエラーとして画面を返すという状態になりました。

その調査の過程では、クライアント、サーバー、ルーターやロードバランサなどのネットワーク機器にいたるまで、各種アクセスログの取得やクライアント側のパケットキャプチャの取得・解析まで実施しましたが、真因が判明するには至らず・・・。結局、アプリケーションレイヤー(フレームワーク)で特定のエラーコードにおけるハンドリングを実装して事無きを得たのですが、やはりネットワーク、特にTCP/IPの深い知識が必要だなと感じたという次第です。

Read More