5丁目通信(仮称)

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

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

  • Google AppsのアカウントでGmailがオフラインで動かない件が解決した話し

    前の記事で、Google AppsのGmailのアカウントで、デスクトップにあるGmailアイコンから起動したとき、「読み込み中…」で止まる件が解決できました。

    Gmailアイコンのプロパティを開いて、リンク先の設定がChromeの実行ファイルと読み込み先のURLのパラメータとなっています。そのURL(app=で指定しているパラメータ部分)を、Google AppsのGmailの受信トレイのURLに書き換えてしまいます。

    おそらく最初に、普通のGmailのアカウントでオフラインのGmailアイコンを作成してしまったためだと思います。

    以上の書き換えれば、無事にGmailアイコンからGoogle AppsのアカウントのGmailが起動できて、オフラインで使えるようになりました。

  • Google Apps の Gmailでもオフラインができるようになっている話し

    タイトル通りですが、昨日はGoogle AppsのGmailはLabsにオフラインの機能がありませんでしたが、本日改めて見てみるとオフラインが追加されていました。

    早速、設定しましたが、普通のブラウザ(Google Chrome)からは上手く動くことは動くのですが、デスクトップにあるGmailアイコンから動かすと、「読み込み中…」の表示を点滅したまま止まります。

    まだまだ、こちらは様子見ということでしょうか。

    続きはこちらから

  • Gmailオフラインを試した話し

    Gmailがオフラインでも使えるようになったとアナウンスがありました。

    早速Let’sNoteに設定してみました。表示言語をEnglishに設定すると、オフラインで設定可能であれば、SettingsのメニューにLabsにOfflineが出てきます。こちらをEnableに設定すれば環境。Gmailのアイコンがデスクトップにできますので、これを立ち上げればオフラインで使えるようになります。最初、3ヶ月分をダウンロードしてくれます。

    オフラインでもメールを見ることができますし、メールの送信も送信フォルダに作っておけば、オンラインになったときに自動的にメールを送信してくれます。

    なかなか便利そうです。

    ただし、ディスクサイズのあまりないLet’sNoteですので、どれだけディスクを使われていくかが心配。

  • DreamweaverでSubversionする話し

    すべてのプロジェクトは、Subversionでバージョン管理しています。プログラムのソースコードはもちろんのこと、ドキュメント、メモ書きなど、プロジェクトで作成されたファイルはすべてSubversionのリポジトリに入れています。

    これで安心して修正できますし、どこを修正したかの履歴もわかりますので、たとえ一人でプロジェクトを回していてもバージョン管理をすべきです。複数のPCに分散してもアップデート一発で最新の開発環境を手に入れることができますし、万が一PCがつぶれても、他のPCにファイルがありますのでバックアップとしても使えます。

    しかし、バージョン管理は面倒なようで、公開する前にコミットするという癖は、なかなかメンバー(特にデザイナー)に浸透しません。

    私なんかは、プログラム開発はEclipseの上で行っていますので、Subvesionを使いながら開発を進めて行くことは苦ににはなりませんが、デザイナーにとっては、エクスプローラからTortoiseSVNでコミットは面倒なのでしょう。

    デザイナーが普段使っているDreamweaverからSubversionが使えればいいのでないかと思い探してみまして、やはりありました。「SubWeaver」というDreamweaverのextentionです。ダウンロードやインストール方法は、ここのサイトを参照すれば丁寧に書かれています。何と、日本語化もされています。感謝!

    後は、これでもデザイナーが使ってくれるかどうかですね・・・。

    追記

    現在は、すべてGitに移行してSubversionは全く使っていません。

    著:湊川あい, 著:DQNEO
    ¥2,208 (2025/04/25 16:46時点 | Amazon調べ)
    著:リック・ウマリ, 翻訳:吉川邦夫
    ¥3,247 (2025/04/25 16:46時点 | Amazon調べ)
  • 本日、自宅(本社)作業

    インフルエンザにかかった子どもたちは、元気になりました。子どもは悪くなると途端に悪くなりますが、復活も早い。39度の熱を出していたチビは、一晩寝たらとても元気です。

    おかげで大人のほうに移ってきました。私は、のどが痛い。

    ということで、今日の仕事は自宅(会社の本社なのです)で作業となります。相変わらず青山オフィスにあるPCをVPN経由でリモートデスクトップ接続でつないで作業です。

    R0010202

    同じPC環境でいつもと何らかわらないのですが、普段ディスプレイが2台での作業が、1台で作業するのが多少しんどいです。普段青山ではディスプレイ2台で、1台をメール、Webブラウザ、もう1台をEclipseやテキストエディタ(秀丸)で、便利に使い分けています。

    自宅もディスプレイを2台にするかな・・・。しかし、これをやってしまうと、自宅から出て行かなくなって引きこもりになってしまいそう。

  • VistaにXAMPPをインストール

    VistaにXAMPPをインストールしようとしましたがうまくいかない。管理画面(http://localhost/)にアクセスできない。それとローカルのテストサイト(http://localhost/XXXX)にもアクセスできない。

    再インストールしてもダメ。いろいろやってみると、http://127.0.0.1/ならアクセスできる。ということは、IPv6が原因か?

    調べてみると、hostsファイルの

    ::1        localhost

    をコメントアウトすればいいらしい。しかし、テキストエディタで編集しようとすると、読み出し専用になってしまう。そこで、メモ帳を管理者権限で起動して編集する。これで無事に管理画面にアクセスできるようになった。

    結局、Vistaの設定のようです。

    以上、覚え書き。

  • CakePHP URLの指定 - 例えば、htmlヘルパーのlinkのパラメータの話し

    CakePHPを使っていると、ヘルパーなどのリファレンスを解説本では簡単に説明を済ませているところに当たります。CakePHPのマニュアルをよく見れば書いているのですが(ただし、日本語サイトは遅れている場合があり)。

    例えばhtmlヘルパーのlinkの説明ところ。Webとか解説本には、

    HtmlHelper::link($title, $url = null, $htmlAttributes = array(), $confirmMessage = false, $escapeTitle = true)
    
    $title : タイトル
    $url : リンク先URL
    $htmlAttributes : 属性
    $confirmMessage : 確認メッセージの有無
    $escapeTitle : エスケープの有無

    などど書いていています。$urlは、”http://testtest.jp/”のようなURLをテキストで設定するようにサンプルに書かれています。

    しかし、CakePHPではURLの指定は、

    array('controller' => コントローラ名, 'action'=>アクション名)

    のように連想配列で指定可能なのです。もし、管理者サイトでは、

    array(Configure::read('Routing.admin') => true,'controller' => コントローラ名, 'action'=>アクション名)

    のようにすればいいのです。アクション名には’admin_’とかは付ける必要はありません。

    CakePHPを使いこなしている人なら当たり前かもしれませんが。一応、自分の覚え書きです。

    あとlinkのURLに関連して、ここのサイトに書かれていますが(感謝!)、IDなどの検索条件のパラメータをpaginatorヘルパーに含めるには、 Veiwで$paginator->optionsにurlをキーにした連想配列を設定すればいいようです。Veiwで$paginator->optionsのurlに設定してしまうと、View内のpaginatorヘルパーでsort()などのリンク先には、’val1/val2’が勝手に付けてくれます。

    もし、このようにパラメータが付けてアクセスしたときに、

    http://testtest.jp/コントローラー/アクション/val1/val2/

    ビューの最初で

    <?php
    $paginator->options = array(
      'url' => $this->passedArgs
      );
    ?>

    とすると、passedArgs変数は、パラメータを持っていますので、ビュー内の

    <?php echo $paginator->sort('title');?>

    は、

    http://testtest.jp/コントローラー/アクション/val1/val2/page:1/sort:title/direction:asc

    というようなパラメータを付けたリンクを作ってくれます。

    著:山田祥寛
    ¥3,366 (2025/04/25 12:34時点 | Amazon調べ)
    著:松浦 健一郎, 著:司 ゆき
    ¥2,574 (2025/04/25 12:34時点 | Amazon調べ)
    著:谷藤賢一, 著:徳丸浩
    ¥2,750 (2025/04/25 12:34時点 | Amazon調べ)
  • CakePHP 日付の月の選択フォーマットの指定。月を英文から数字で表示する話し

    CakePHP

    現在、CakePHPでニュースリリース管理を作成しています。そこで、リリースの日付を入力するところがあるのですが、CakePHPのそのままのHtmlヘルパーを使って日付を入力してしまうと、日本人向けではないフォーマットで選択させてしまう。

    例えば、

    $option_datetime = array(
      'type'         => 'datetime',
      'timeFormat'=> 24,
      'dateFormat'=> 'YMD',
      'legend'    => false,
      'label'        => false,
      'div'        => false,
      'interval'    => 15,
    );
    
    echo $form->input('release_date', $option_datetime);

    のようにする。

    これだと、月が英文(”Januaru” ~”December”)で選択させる。dateFormat属性の指定は、date()のfomartになるかと思えば違っていた。仕方ないので、formヘルパー(/cake/libs/view/helpers/form.php)に手を入れようとした。しかし、FormHelperクラスの__generateOptionsメソッドのこの部分

    case 'month':
      if ($options['monthNames']) {
        $data['01'] = __('January', true);
        $data['02'] = __('February', true);
        $data['03'] = __('March', true);
        $data['04'] = __('April', true);
        $data['05'] = __('May', true);
        $data['06'] = __('June', true);
        $data['07'] = __('July', true);
        $data['08'] = __('August', true);
        $data['09'] = __('September', true);
        $data['10'] = __('October', true);
        $data['11'] = __('November', true);
        $data['12'] = __('December', true);
      } else {
        for ($m = 1; $m <= 12; $m++) {
          $data[sprintf("%02s", $m)] = strftime("%m", mktime(1, 1, 1, $m, 1, 1999));
        }
      }
    break;

    を見ると、マニュアルにないmonthNames属性があることがわかる。上記の$option_datetimeに

    'monthNames' => false,

    を追加すれば、月が’01’~’12’になる。ソースは読んでみるものだ。

    しかし、このソースを書いた人は、date()を頭にないような感じがする。本当ならば、dateFormat属性がdate()のフォーマット指定のように振る舞えればいいのだが。

    著:山田祥寛
    ¥3,366 (2025/04/25 12:34時点 | Amazon調べ)
    著:松浦 健一郎, 著:司 ゆき
    ¥2,574 (2025/04/25 12:34時点 | Amazon調べ)
    著:谷藤賢一, 著:徳丸浩
    ¥2,750 (2025/04/25 12:34時点 | Amazon調べ)
  • マインドマップ - xmind

    最近お付き合いしている会社の営業さんから、マインドマップでまとめられた資料が届く。その会社は、記事録から資料をマインドマップでまとめているようです。

    マインドマップは何だかおもしろそうということで、を買い込み、試しに書いてみると、やはりおもしろい。そこで、簡単にマインドマップを書けるツールを探していましたら、ヒットしたのはFreeMindXMind

    FreeMindが定番らしいのですが、XMindを選択。XMindは普通のアプリケーションだけではなく、Eclipseのプラグインでも提供されるのが気に入った。それと、EnterとTabキーでどんどんトピックを追加できるのが便利。ただ、トピックをマウスで移動するのがわかりにくい。

    システムの要求仕様を頭から叩き出すに使えそうです。

    娘にマインドマップをちょっと教えたら、自分でどんどん書き出した。彼女は絵が書くのが好きなので、イメージがほとんど占める楽しいマインドマップになっていました。

    マインドマップは、登録商標らしいので、本来なら丸Rが必要? ちょっとこの辺りがやらしいところ。

  • サーバーが止まる。また・・・。

    本日、20:30位から、借りているサーバーが止まっていたようです。Webへのアクセスもできないしメールもダメ。

    しょうがないかなと、いつもの通り復旧を待っていたら、30分ほどでなおりました。このレンタルサーバー会社は、レポートを送ってもいつも調査しますで回答なし。障害情報にも何も出さないし・・・。

    と言っているうちに、お客様から「メールが戻ってくるよ」と指摘される。

    このブログもそのサーバーでサービスしているのですが、そろそろ次を考えなければいけないかも。