5丁目通信(仮称)

とある5丁目で活動する還暦を過ぎたWebプログラマーの覚え書きです。それとかかってくる迷惑電話や、家業のアパート経営について。

カテゴリー: システム関連

  • Eclipseのファイルの切り替えを速くする。とりあえず後ろ向きに解決

    Eclipseのファイルの切り替えを速くする。」と書きましたが、結局は原因はわかりませんでした。

    それにしても、こうも切り替えが遅いとイライラします。しかたないので、EclipseをJUNOから前のINDIGOにもどします。とりあえず解決です。

    Eclipseの場合、ディレクトリを分けておけば、複数バーションをインストールしておけますので、前のバージョンは削除せずに取っておいて正解です。

    他の人も、JUNOは遅くて使えないという報告が何件か見かけましたので、このような症状が起こったときにはINDIGOに戻したほうがいいかもしれません。

  • #CakePHP でMissingModelExceptionがログに出力された話し

    ローカル環境からUnix系のサーバーのテスト環境に、CakePHPで開発したサービスを移行する。動かない。

    PHPUnitでテストケースを動かすと内部エラーになる。ログを見るとMissingModelExceptionが出力されていた。

    何のことはないモデルのファイル名が違っていた。Postモデルは、Post.phpを見に行くということ。これをpost.phpにしていた。Windowsではファイル名の大文字小文字は関係ないが、Unix系のLinuxでは気にしましょうということ。

    以上、絶対に同じ間違いをしそうなので、覚え書きとして残しておく。

    著:山田祥寛
    ¥1,870 (2025/11/25 12:18時点 | Amazon調べ)
    著:松浦 健一郎, 著:司 ゆき
    ¥2,574 (2025/11/28 14:13時点 | Amazon調べ)
    著:谷藤賢一, 著:徳丸浩
    ¥2,750 (2025/11/25 12:18時点 | Amazon調べ)
  • モバイルルーターのファームウェアのバージョンアップ

    AndroidのAtermのアプリを久々に起動したらファームウェアのアップデートが来ていた。アプリからのバージョンアップの方法がわからないので、マニュアルを引っ張り出す。ボタンを長押ししたり、リセットを押したりと、マニュアルを見ないとバージョンアップの方法はわからない。

    今回わかったことは、マニュアルは大事に取っておくことは重要ということ。

    Google+: View post on Google+

  • Eclipseのファイルの切り替えを速くする。

    普段プログラミングで使っているEclipseで、ファイルの切り替えが遅くなっています。上のタブをクリックして別のファイルに切り替えるだけでも、2~3秒待たされます。ファイルをオープンするときも待たされます。

    たかが2~3秒でも反応がないと、イライラします。このままだと、このイライラが開発に支障がきたします。

    新しくEclipseをダウンロードしてインストールしても変わりません。プラグインを入れすぎという原因でもなさそうです。

    Googleさんに聞いてみると、メモリの設定でEclipseの起動が速くなるとのこと。早速試してみます。eclipse.iniに記述されているメモリの最小と最大の設定の部分を、以下のよう変えてみます。

    -Xms512m
    -Xmx1024m

    するとサクサクファイルを切り替えることができるようになりました。

    普段のPCはメモリをたくさん積んでいた方がいいですね。ちなみに今のPCは8GBです。まだまだです。

    追記

    しばらく経ったら、前と余り変わらない遅さになってしまった。

    おそらくEGitかJGirtが原因なのかと思います。アンイントールしたらファイルの切り替えが速くなりました。便利だったのに残念です。

    追記の追記

    速くなったと思ったら、変わらず2~3秒ファイルの切り替えに待たされます。EGitでもなさそうです。

  • cron の設定ですべてコメントにすると。

    cron の設定ですべての行に#を付けてコメントにして保存して終了。再度開くとすべて消えているのね。そんなものなのか。

    今回やってしまってビックリした。cronの設定のバックアップがあったので事なきを得た。

  • php-adifをGitHubに公開した話し

    アマチュア無線のログデータの交換フォーマットであるADIFデータフォーマットを解析して、PHPの配列に展開するクラスライブラリであるphp-adifをGitHubに公開しました。ここからダウンロードできます。バグ報告は、GitHubのPull Requestで受け付けます。

    アマチュア無線は今となっては、とてもマイナーな趣味であり、しかもそのログ交換データフォーマットですので、ほとんど使われることはないでしょうね。もし、ログを取り込んで処理をするなんてアプリケーションを作成するときにお使いください。自分もこのクラスライブラリを使って、もっとマイナーなサービスを作成しようかな・・・。

    今回はソースを公開するというよりも、試しにGitHubでどのようにソースを公開するかを理解するほうの実験の意味合いが大きいと思います。

  • ADIFのマルチバイト対応は難しいという話し

    アマチュア無線のログデータを交換するデータ形式にADIF(Amateur Data Interchange Format)というものがあります。趣味のプログラムでインポートクラスライブラリをPHPで作成してみました。

    ADIFでは

    Head Data Head Data Head Data
    <eoh>
    <call:6>WN4AZY<band:3>20M<mode:4>RTTY<qso_date:8>19960513<time_on:4>1305<eor>
    <call:5>VK9NS<band:3>40M<mode:5>PSK63<qso_date:8>20101022<time_on:4>0111<eor>

    のような形式になります。元々の仕様は、シングルバイトしか考えていないようなので、こちらに日本語を含んだマルチバイト文字を設定すると対応が難しくなります。見ての通り、コロン(:)の次にはデータ長が入ります。例えば、日本で一番使われている某ログソフトではシフトJISしか考えていないので、日本語を含んだコメントは

    <comment:6>テスト

    のようにマルチバイト文字は2バイトで出力されてしまいます。しかし、UTF8上では、2バイトに限らないので、このデータ長での指定は使えません。<>の区切り文字で解析していくことになります。コメントに<を使われたりすると、値の終了がどこだかわからなくなってしまいます。シフトJISのまま処理しようすれば、マルチバイト文字の2バイト目に<を使われれば難しくなります。

    ADIFのドキュメントを読んでも<>:のような区切り文字をエスケープすることは記述されていませんので、どうしてもデータ長で値を読み込んで行くのでしょう。

    某ログソフトのADIFのエクポートが、

    <comment:3>テスト

    のように、文字数で出力してくれればいいのにと思うのですが、昔のシフトJISを基準にしているので無理だろうなと思うのでした。後はADIFのバージョン3に記述されているXMLベースのADXファイルフォーマットに期待です。

    著:加納勉, 編集:Webon編集部
    ¥480 (2025/11/22 21:48時点 | Amazon調べ)

    電波を出すには必ずアマチュア無線の国家資格が必要です。電波法令を守って楽しみましょう。

  • MongoDB をWindowsのサービスで動かした話し

    MongoDBの「Quickstart」の「Install MongoDB on Windows」に従って、サービスで動かそうとすると、

    C:\>\mongodb\bin\mongod.exe --config=c:\mongodb\mongod.cfg
    all output going to: C:\mongodb\log
    logpath [C:\mongodb\log] should be a file name not a directory
    Thu Aug 16 14:16:10 dbexit:
    Thu Aug 16 14:16:10 shutdown: going to close listening sockets...
    Thu Aug 16 14:16:10 shutdown: going to flush diaglog...
    Thu Aug 16 14:16:10 shutdown: going to close sockets...
    Thu Aug 16 14:16:10 shutdown: waiting for fs preallocator...
    Thu Aug 16 14:16:10 shutdown: closing all files...
    Thu Aug 16 14:16:10 closeAllFiles() finished
    Thu Aug 16 14:16:10 dbexit: really exiting now

    なんてエラーになってサービスに登録できない。ドキュメントの通りのままだと動かないようだ。

    そこで、C:\mongodb\logに空のlog.txtというファイルを作って、c:\mongodb\mongod.cfgに

    logpath=C:\mongodb\log\log.txt
    dbpath=C:\mongodb\data

    というようにファイル名まで指定してあげると

    C:\>\mongodb\bin\mongod.exe --config=c:\mongodb\mongod.cfg --install
    all output going to: C:\mongodb\log\log.txt
    
    C:\>net start MongoDB
    The Mongo DB service is starting.
    The Mongo DB service was started successfully.

    のように無事に起動できるようになった。

  • CakePHP でのMongoDB でTRUNCATE TABLEの話し

    CakePHPでMongoDBをつなげてテストデータの投入のシェルとかを書いています。

    データの投入の前にMongoDBのコレクション(RDBならテーブルかな)の全データクリアをしたいのですが、今まではこのようにTRUNCATEをSQLで呼び出していました。

    $this->Model->execute('TRUNCATE TABLE table);

    これはMongoDBでは動きません。MongodbSource.phpにはtruncate()というメソッドがりますが、どう呼び出したら動くかわからず、以下のようにしました。

    $this->Model->query(array('$eval' => 'db.collection.drop();'));

    $evalってなあに? といった状況です。もっといい方法があるかも。

    著:山田祥寛
    ¥1,870 (2025/11/25 12:18時点 | Amazon調べ)
    著:松浦 健一郎, 著:司 ゆき
    ¥2,574 (2025/11/28 14:13時点 | Amazon調べ)
    著:谷藤賢一, 著:徳丸浩
    ¥2,750 (2025/11/25 12:18時点 | Amazon調べ)
  • とりあえずユーザー会を作るのか?

    PHPのマイナーなフレームワークを調べていたら、既に日本人によるユーザー会が立ち上がっていた。

    オープンソースのカンファレンスに行くと、とってもたくさんのユーザー会が存在することがわかる。まるでユーザー会立ち上げマニアがいるみたいだ。立ち上げたらキチンとユーザー会としての活動をしてくれればいいのだが、飽きたかどうかわからないが、放置されているユーザー会も多いこと。

    ちなみに前述のユーザー会のホームページの最終更新日は、去年の11月でした。国内のユーザー会が分裂してしてグダグダになって、周りから取り残されてしまったオープンソースのCMSもあったけ。

This website stores cookies on your computer. These cookies are used to provide a more personalized experience and to track your whereabouts around our website in compliance with the European General Data Protection Regulation. If you decide to to opt-out of any future tracking, a cookie will be setup in your browser to remember this choice for one year.

Accept or Deny