マシンメンテナンス

久しぶりにマシンをメンテナンスできました。メンテナンスといっても、ちょっとしたバックアップがとれたとか、久しぶりに起動してセキュリティアップデートをした、ということぐらいですが…

もう少し、毎日の仕事についてルーチンを考えたいところです。

JavaでJavaScript

JavaScriptをJavaで実行するプログラムは簡単に作れるので、ちょっと用意してみた。Java6ではRhinoが同梱されていますが、その挙動を確認するのに便利です。直接書き込む方法と、a.jsというファイルを用意して読み込む方法と、両方用意してみました。

import javax.script.*;
import java.io.*;

public class Script {
 public static void main(String[] args) throws Exception {
  Script app = new Script();
  app.run1();
  app.run2();
 }
 public void run1() throws Exception {
  ScriptEngineManager m = new ScriptEngineManager();
  ScriptEngine engine = m.getEngineByName("JavaScript");
  try {
    engine.eval("print(‘Hello, world!’)");
  } catch (ScriptException e) {
    e.printStackTrace();
  }
 }
 public void run2() throws Exception {
  ScriptEngineManager m = new ScriptEngineManager();
  ScriptEngine engine = m.getEngineByName("ECMAScript");
  InputStream is =
      this.getClass().getResourceAsStream("a.js");
  try {
    Reader reader = new InputStreamReader(is);
    engine.eval(reader);
  } catch (ScriptException e) {
    e.printStackTrace();
  }
 }
}

ちなみに、a.js の内容は次のような感じの内容。

print("\nhello\n");
var itemTitle = "&abc&def&";
re1 = new RegExp("&", "g");
itemTitle = itemTitle.replace(re1, "&");
print(itemTitle);

スクリプト

きちんとしたシステムを組みたいときには使えない手ですが、やはりちょっとした作業にはスクリプトでちょこちょことプログラムを組むのが楽ですね。ただ、普段使い慣れているのがJavaなので、シェルスクリプトや他の言語でもできそうなことであっても、ついついJavaで実装してしまいます。

そうすると、Javaでスクリプトみたいな感じになって、混沌としたプログラムができあがってきてしまうわけですが、まぁ、世の中そういうものだ、ということで。

実際のところ、思いつくままに書いていた方が楽ですね。考えを整理して効率良くとかやっていると、実際のプログラムが出来上がってこなくて、現場での問題に対応できなくなったり。

もちろん、できあがりのイメージがないままで、つっぱしるのはいけませんが、大体のイメージをもちながら、ざーっと作って、細かいところも後で作りこめるようにしておく、というのができるようになりたいところです。

MTOS 5

インストールはしてみたが、まだ使ってみていない。なかなか時間がとれないなぁ。Webサイトに複数のブログが含まれるという想定がされているようですね。

久しぶりに雨だった。もう3月なんですねぇ。

ものごとの進め方

半年前から、ある作業を依頼されたので受けているが、他の人に協力をしてもらうことになって、その人に実施方法について確認をお願いしている。しかし、遅々として進まない。各担当の責任というわけではないのだが、おおもとのスケジュールを管理している人がいなくて、投げっぱなしになって終わっている。

作業内容は、それほど難しい作業ではなく、できることはわかっているのだが、どうすればいいか、についてよくわからない。ずっと気になっているのだが、みんな忙しいせいか、依頼したことを忘れていたり、依頼してもやってくれなさそうだったり、そのせいか毎日後回しにしてしまっていて、今日にいたる。

たぶん、わかっている人通しであれば1週間かからないような気がするのだが、そうでない人が間にたくさん入って障壁を高くしているという結果になっているのだろう。

こういった状況の場合は、すべてのコマを手元へ集めて進めるのが一番わかりやすく、単純な方法なのだろう。手元に集めなくても済む方法があるはずなのだが、その方法では進まないようなので、集めることにかかるコストは覚悟するしかないのだろう。

このあたり、優秀な人は判断が速くて、時機を逸しないのだろう。