Oct 29, 2017

RaspbianにTomcat+MySQL環境構築

続いてTomcatからMySQLが使えるよう、MySQL Connector/Jをインストールした。

■やったこと

  • aptitudeでlibmysql-javaをインストール
  • /var/lib/tomcat7/shared/に/usr/share/java/mysql-connector-java.jarへのシンボリックリンクを作成
    例:
    ln -s /usr/share/java/mysql-connector-java.jar /var/lib/tomcat7/shared/
  • /etc/tomcat7/catalina.propertiesの
    shared.loader=${catalina.home}/shared/classes,${catalina.home}/shared/*.jar
    の"home"を"base"に変更
  • Tomcatを再起動

See more ...

WriteBacks

Oct 28, 2017

Raspbianにmod_jk+Tomcatインストール

特に何に使ってる訳でもないが、このブログの過去の記事で何か書いたのが残ってるし、Tomcatは筆者のお気に入りなので、Raspbianで作り直した自宅サーバーにもインストールしておくことにした。

▪️やったこと
  • Tomcatのインストール
    • aptitudeでtomcat7とtomcat7-examplesをインストール
    • http://localhost:8080/にアクセスしてServlets examplesが何らか動くことを確認
    • 昔作ったRandomTable Servletを/var/lib/tomcat7/webapps/servlet/に配置し、
      Tomcatを再起動し、
      http://localhost:8080/servlet/RandomTableにアクセスして動くことを確認
  • mod_jkのインストール
    • aptitudeでlibapache2-mod-jkをインストール
    • /etc/libapache2-mod-jk/workers.propertiesを書き換える
      workers.tomcat_home=/usr/share/tomcat7
      workers.java_home=/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt
    • Tomcatはport 8009を待ち受ける設定に変更
      (上記ファイルにて"ajp13_worker"がport 8009に接続する設定になっている為)
      /etc/tomcat7/server.xml の Connector port="8009" ... の行のコメントアウトを外してTomcatを再起動
    • /servletへのアクセスをTomcatに転送する設定
      /etc/apache2/mods-available/jk.confの<IfModule jk_module>に
          <VirtualHost *:80>
              JkMount /servlet/* ajp13_worker
          </VirtualHost>
      
      または
          JkMount /servlet/* ajp13_worker
          JkMountCopy All
      
      を追加

See more ...

WriteBacks

Oct 11, 2017

Wolfram CDF Playerは期待外れだった

図書館からMathematicaの入門書を借りて、夏に買ったRaspberry Pi 2のMathematicaを少し使ってみた。

一昔前のワークステーション並みの速度は出ていると思うが、確かに遅い。
筆者はMathematicaは25年くらい前に大学にあったNeXTで触ったのが最初だが、その当時を思い出した。(実際には当時はもっと遅かったのだろうが)
入門書を読みながら書いてたら入力行が200くらいになったノートブックを丸ごと再計算させたら、2分かかった。
一番気になるのは、スクロール動作が遅いことで、スクロール操作を終えてから少し遅れてページが動くことがあるので、スクロールバーを操作して思った位置で止められなかったり、思った所にカーソルを当てられないことがあるのが地味にストレスになる。
まあ、筆者は主にMaximaを使っており、Mathematicaはたまにしか使わないし、本格的に使うこともまず無いので、これで満足である。

今日までずっと、Wolfram CDF Playerは前身のMathematica Playerとは違って、ノートブックの数式の評価(計算)ができるようになったものと勘違いしており、どんな数式でもRaspberry PiのMathematicaで書いてパソコンのCDF Playerで計算すれば良いと思っていたが、そうではないようだ。CDF Playerでできるのは、インタラクティブなUIを操作して変数の数値を変えて、UI上の評価結果を更新することだけらしい。
これを利用して、CDF Playerに任意の数式を評価させる手段を作成した人もいるようだが、決して便利ではない。
CDF Playerは、ほぼMathematicaそのものでプログラムサイズが巨大な割に、そのほとんどの機能が容易には使えなくされている、残念な代物のようだ。

さらに、Raspberry PiのMathematica(11.0.1.0)では再生できるのに、CDF Player(ver 11.1.1.0 for Mac)では再生できないアニメーションがあった。
Raspberry PiのMathematicaで

sol = DSolve[{y''[t] == -9.8, y'[0] == 10, y[0] == 0}, y, t];
x[t_] := 2.5 t;
Animate[Graphics[{Red, Disk[{x[t], First[y[t] /. sol]}, 0.5]},
Frame -> True, PlotRange -> {{0, 5}, {0, 5}},
GridLines -> Automatic], {t, 0, 2}, AnimationRunning -> False]

を実行すると、

このようなアニメーションが実行されるが、その状態をCDFとして保存してCDF Playerで開くと、グラフ部分がエラー表示になり、マウスカーソルを当てると
座標{$CellContext`x[0.], $CellContext`y[0.]}が数値のペア、Scaled形式、またはOffset形式ではありません。

というエラーメッセージが表示される。

また、CDF Playerで表示されるエラーメッセージには別バージョンもあり、

sol2 = DSolve[{y''[t] == -9.8, y'[0] == v0, y[0] == 0}, y, t];
Animate[Plot[First[y[t] /. sol2 /. v0 -> v], {t, 0, 2},
PlotRange -> {0, 5}], {v, 5, 10}, AnimationRunning -> False]

の出力

も同様にCDF Playerではエラーになり、
ReplaceAll: {sol2} is neither a list of replacement rules nor a valid dispatch table, and so cannot be used for replacing.

と表示される。

しかし、その下で

Show[Graphics[{Red, Disk[{x[t], First[y[0] /. sol]} /. t -> 0, 0.5]},
Frame -> True, PlotRange -> {{0, 5}, {0, 5}},
GridLines -> Automatic]]

Show[Plot[First[y[t] /. sol2 /. v0 -> 10], {t, 0, 2},
PlotRange -> {0, 5}]]

を実行して表示した、それぞれのアニメーションの1フレームは、CDF Playerでも正常に表示されるので、少なくともsol2は"a list of replacement rules"として機能しており、よくわからない。
Webで検索しても、同じようなエラーが発生するという情報すら見つからず、お手上げである。

無料だから文句は言えないが、インタラクティブなコンテンツを再生できるのが売りのCDF Playerなのに、よりによってアニメーションがエラーになるとは、残念である。

See more ...

Posted at 22:44 in 数学 | WriteBacks (0)
WriteBacks