記事「市場シミュレーション(第14回):ソケット(VIII)」についてのディスカッション

 

新しい記事「市場シミュレーション(第14回):ソケット(VIII)」はパブリッシュされました:

多くのプログラマは、Excelの使用をやめて、Pythonに直接移行し、PythonでExcelファイルを生成して後から結果を分析できるパッケージを使うべきだと考えるかもしれません。しかし、前回の記事で述べたように、この方法は多くのプログラマにとって最も簡単な解決策ではありますが、すべてのユーザーに受け入れられるわけではありません。そして、このような場合、常に正しいのはユーザーです。私たちプログラマは、すべてをうまく機能させる方法を見つけなければなりません。

前回の「市場シミュレーション(第13回):ソケット(VII)」では、ソケットのアクティビティがなくてもコードを実行し続けるシンプルなPythonサーバの作成方法について紹介しました。この実装の興味深い点は、監視対象のソケットにアクティビティがなくてもサーバーが実行を継続でき、スレッドを使用する必要がないことです。

とはいえ、前回の記事で紹介した内容と、以前学んだ内容を組み合わせることは可能です。以前の記事では、クライアントが接続するとスレッドを使用して同様のサーバーを作成する方法を示しました。どちらの方法も、接続されているクライアント数に関係なくソケットの監視方法に焦点を当てているため、機能するのは当然ですが、スレッドを使用するモデルも、select関数を使用するモデルも、今回の実装には適していません。

これらの方法が不完全であったり、動作しなかったりするわけではありません。故障したり動作しなかったりするからではありません。実際、その理由は、コードを書く過程でExcelに干渉してしまうからです。この干渉により、ExcelとPythonスクリプトがCPU使用率を奪い合うことになり、Excelは非常に使いづらくなってしまいます。

多くのプログラマは、Excelの使用をやめてPythonに直接移行し、PythonでExcelファイルを生成して後から結果を分析できるパッケージを利用すべきだと考えるかもしれません。しかし、このような場合、常に正しいのはユーザーです。私たちプログラマは、すべてをうまく機能させる方法を見つけなければなりません。目標を達成できないのであれば、それはまだ必要な知識レベルに達していないということです。学び続け、自分の知識の基盤となっている原理をさらに深く理解するよう努めてください。

基礎知識だけでは高度なプログラマにはなれません。平均的なレベルのプログラマのままです。知識は、誰もが平均的な成果を示すことで進歩するのではなく、突出した人々がいることで進歩するのです。本日の記事では、ExcelとPythonの間にある問題をどのように解決するかをお見せしたいと思います。それでは、ExcelとPythonがCPU使用率を奪い合うことなく協調して動作する方法を見ていきましょう。


作者: Daniel Jose