5丁目通信(仮称)

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

カテゴリー: オープンソース

  • WordPressのComment Timeoutプラグインの設定見直しの話し

    ある期間を過ぎるとWordPressの記事のコメントができないようにしてくれるComment Timeoutプラグインをインストールしていますが、今回コメントできる期間を短くしました。

    自分のブログサイトに長々と粘着質なコメントを書いてくれるアマチュア無線の人がいまして、しかも1年前の記事を掘り起こして、不快なコメントを付けてくれます。しかも上から目線の威圧コメント。劣等感の裏返しなのかな?

    コメントしてから一定期間返信コメントをつけることができるのですが、この人の相手するのも面倒なので、コメント返信から1ヶ月でスッパリとコメントできなくてしまいます。

    まあ、最初に相手してしまったのが失敗だったような。

    Google+: View post on Google+

    著:久保田涼子, 著:西原礼奈, 著:阿諏訪聡美
    ¥2,399 (2025/03/28 17:08時点 | Amazon調べ)

    なんやかんやでWordPressのサイト構築で躓くのは、PHPのプログラミングなのでした。

  • tmuxって便利なコマンドを初めて知った話し

    タイトル通りなんですが、日経Linuxの最後に載っているコミックで初めてtmuxというコマンドを知った。使ってみるととても便利じゃないですか。

    以上、覚え書き。

    Google+: View post on Google+

    著:大竹 龍史, 著:山本 道子
    ¥2,950 (2025/04/01 13:05時点 | Amazon調べ)
    著:Piro, 編集:日経Linux
    ¥2,178 (2025/03/28 21:08時点 | Amazon調べ)
    著:三宅 英明, 著:大角 祐介
    ¥2,970 (2025/04/01 13:05時点 | Amazon調べ)
  • WordPressのプラグイン FancyZoomをインストールした話し

    運用しているWordPressのサイトですが、現在Google+と連携してするためのGoogle+Blogプラグインで連携しています。しかし、画像ファイルをクリックすると、ファイルがどんどんダウンロードされてしまいます。これでは迷惑です。

    運用しているWebサーバーの問題かと思っていましたが、画像ファイルはgoogleusercontent.comというドメインでアクセスされています。このサーバーでMimeが正しく設定されていないのでしょうか?

    ところでgoogleusercontent.comって何のドメインかと思ってGoogleさんに聞いても出てこない。whoisでドメインを調べるとGoogleさんの管理下らしいです。

    さて、自分のところでは対応できないので、JPEGなどの画像ファイルをクリックすると、画像を拡大して表示するWordPressのプラグインをインストールしてしまいます。いろいろと試してみましたが、そのままダウンロードしてしまうもの、画像ファイルがあると途中でブラウザの表示を止めてしまうプラグインなど、消去法で以下のリンクにあるWP FancyZoomブラグインが残りました。

    これでgoogleusercontent.com経由でアクセスされる画像ファイルがダウンロードされることなく表示できるようになりました。

    著:久保田涼子, 著:西原礼奈, 著:阿諏訪聡美
    ¥2,399 (2025/03/28 17:08時点 | Amazon調べ)

    なんやかんやでWordPressのサイト構築で躓くのは、PHPのプログラミングなのでした。

    Embedded Link

    WordPressに画像拡大エフェクトプラグイン WP FancyZoomをインストールしてみた! [WordPress] [net]
    このNo Second LifeはWordPress 2.9.2(2010年3月24日現在)で運営しているのだが、以前から一つ追加したい機能があった。 それは画像拡大のエフェクト。他の方のブログなんかで、画像をクリックするとアニメーションっぽく動きながら拡大されるようになっているものがあって、僕も同じようにしてみたいと思っていた。 WordPressの場合、ほとんどの機能はプラグインで実装可能なの…

    Google+: View post on Google+

  • WordPress でadd_contextual_helpの警告メッセージが出た話し

    会社のWordPessで作成したサイトで、管理ページに入ると

    Notice: add_contextual_help の使用はバージョン 3.3 から非推奨になっています! 代わりに get_current_screen()->add_help_tab() を使ってください。

    という警告メッセージが出ている。ずっと出ていたが、ユーザーがアクセスするページには出ていなかったので放って置いた。

    やはり、このままだとまずいので調べてみた。

    add_contextual_helpをgrepでかけてみる。他のWordPressでもテーマでadd_contextual_helpは使っている。だめちゃん。

    結局、WP_DEBUGをfalseにして、警告メッセージを出さないようにしておいた。

    著:久保田涼子, 著:西原礼奈, 著:阿諏訪聡美
    ¥2,399 (2025/03/28 17:08時点 | Amazon調べ)

    なんやかんやでWordPressのサイト構築で躓くのは、PHPのプログラミングなのでした。

  • Cakephp2でTextHelper::truncate()がおかしいので対応した話し

    Cakephp2でTextHelper::truncate()を動かすと、1回目の処理が文字化けしてしまいました。どういう訳か2回目以降は正常に切り取ってくれます。

    /lib/Cake/View/Helper/TextHelper.phpのソースを追ってみると、mb_strlen()が正しい文字列の長さを返していません。strlen()と同じ値を返してくれます。それで後のmb_substr()で正しく切り取ってくれていませんので文字化けしているようです。

    strlen()になっているということは、予想通りmb_strlen()の第4パラメータにエンコードを指定しておけばOKでした。ということは、php.iniのmbstringの項目を正しく設定していないのが原因です。そこで、

    [mbstring]
    mbstring.language = Japanese
    mbstring.internal_encoding = UTF-8
    mbstring.http_output = UTF-8

    なんて設定してApacheを再起動すると、ソースに手を入れずにエンコードなしで文字化けしないで表示します。/app以外のソースはいじらないのが基本。

    つまり、日本語のサイトを作成するときは、mbstringをサボらずに設定しましょうというという基本を忘れるなということでした。

    著:山田祥寛
    ¥3,366 (2025/03/27 13:40時点 | Amazon調べ)
    著:松浦 健一郎, 著:司 ゆき
    ¥2,574 (2025/03/27 13:40時点 | Amazon調べ)
    著:谷藤賢一, 著:徳丸浩
    ¥2,750 (2025/03/30 15:22時点 | Amazon調べ)
  • テストから始めてみます、という話し

    最近はまじめにプログラムを書いています。あるサイトを再構築しているのですが、これまた大昔に作ったものでフレームを使っています。

    試しにCakePHPで作成してみます。しかも、最新のCakePHP2です。

    CakePHP2になるとUnitTestがSimpleTESTからPHPUnitiに変わりました。いろいろとカンファレンスに話しを聞いていると、アジャイルとか自分は感化されやすいので、まずはUnitTestでのテスト駆動開発を導入してみます。バージョン管理は前に導入していましたが、徐々に試してみます。

    こうでも新しいことをしていないと、だんだんを開発のモチベーションが上がらないので。何でも試すことができるのは、一人で動いているせいでしょうか。

    CakePHP2で使うPHPUnitの情報は、Googleさんに聞いてもほとんどありません。日本語での情報はありません。一番詳しいのは、CakePHP2のCook Bookです。ますはこちらを読むことを薦めます。結局、本家CakePHPにたどり着きました。英語ですけど、何とか読めます。

    PHPUnitも開発元のサイトが一番詳しいということになりました。こちらは日本語に翻訳されています。

    Fixruresのファイルは、CakePHPのBakeで作成するのが簡単のようです。DBから直接Fixturesにインポートすると、ちょっと大きなテーブルだとメモリが一杯になります。ソースを追ってみたところ、メモリにテーブルデータをすべて展開しているようです。最初は、何かバグでもあるのかと思っていました。Bakeで途中で聞いてきますが、一部を切り出した方がよさそうです。

    テスト駆動開発は最初にテストコードを書いてからソースコードを書くのですが、まだまだテストコードを書くのを忘れて、直接コードを書いてしまいます。こちらは癖を付けなければいけません。

    恩恵としては、リファクタリングするときはやはり効果があります。あとはエラーの赤を消して、緑にするという目標があって、プログラミングは楽しくなりそうです。

    しかし、まだまだ、どうやってテストを書くのがいいのか迷います。我慢してしばらく続けようと思います。

    Google+: View post on Google+

    著:山田祥寛
    ¥3,366 (2025/03/27 13:40時点 | Amazon調べ)
    著:松浦 健一郎, 著:司 ゆき
    ¥2,574 (2025/03/27 13:40時点 | Amazon調べ)
    著:谷藤賢一, 著:徳丸浩
    ¥2,750 (2025/03/30 15:22時点 | Amazon調べ)
  • さくらインターネットのVPSに移行したときのトラブル?の話し

    先週からサーバーをさくらインターネットのVPSにまとめています。使えるねっとで運用しているブログと、昔からJoe’sウェブホスティングで運用している会社とツレのサイトをさくらインターネットにまとめてみました。現在、4つのサイトをバーチャルホストで運用しています。

    運用方法はいずれ書くとして、今日遭遇したトラブルについて覚え書き。

    まず、サイトにアクセスできなくなりました。VPSのコントロ-ルパネルを見るとCPUのリソースが異常に高い。何かやっている。やってはいけないことですが、ここでとりあえずリブートしてしまいました。

    今度は、外からアクセスできなくなりました。コンソールのみしかアクセスできません。pingが外からもデフォルトゲートウエイのルーター(?)にも、Destination Host Unreachable になります。経路の設定がされていない? さくらのサポートに連絡しようと思いましたが、しばらくするともう一度再起動で復帰しました。こちら原因不明です。

    次はMySQLサーバーが起動できていません。MySQLのログを見ると/etc/my.cnfでdefault-character-setがおかしな設定になっているとエラーになっていました。MySQLのバージョンを確認すると5.5です。5.5ではcharacter-set-serverにしないといけないようです。/etc/my.cnfで

    [mysqld]
    default-character-set=utf8

    [mysqld]
    character-set-server=utf8

    に書き換えたら起動するようになりました。

    しかし、WordPressのサイトにアクセスすると、データベースを参照しに行っていない。MySQLのデータベースを見ると、頭に#mysql50#がついたデータベースになっていました。MySQLを5.0から5.5に勝手にアップデートした? こちらも原因不明です。

    新しく元のWordPressのデータベースを作成し、エクスポート&インポートで対応しました。これで正常に元に戻りました。

    最初のリソースが高くなった件からはじまって、さくらインターネットのVPSはわからないことがあるようです。

    Google+: View post on Google+

    著:大竹 龍史, 著:山本 道子
    ¥2,950 (2025/04/01 13:05時点 | Amazon調べ)
    著:Piro, 編集:日経Linux
    ¥2,178 (2025/03/28 21:08時点 | Amazon調べ)
    著:三宅 英明, 著:大角 祐介
    ¥2,970 (2025/04/01 13:05時点 | Amazon調べ)
  • 古い記事をコメント禁止にするWordPressプラグインの話し

    昔の記事にコメントを付けられて、何やかんやで罵倒されたり中傷されたりと気分が悪いので、古い記事にコメントを付かないようにするWordPressのプラグインがあるかなと探してみました。

    やはりありました。プラグインの名前は、Comment Timeout です。

    設定は簡単です。コメントを締め切る日数を設定するくらいでしょうか。取りあえず、後はデフォルトにしています。

    以下、愚痴モードになります。

    1年前の記事にコメントを付けられても、答えようがありません。そのころと状況が変わっていますし。知らない人から「大人なんだからしっかりしろよ。こどもか〜。」と人生の半分以上来てしまった自分に言われても迷惑なだけです。どうしてハムの世界の人は、上から目線な人が多いのでしょうか? とても不思議な人たちです。これで不特定多数の人とコミュニケーションを楽しもうなんておかしな連中です。こういったことが続いて不快な思いをするような趣味なんてやめてしまいます。せっかくツレも免許を合格したのに。コメントを付けるときは、よく日付を確認して付けましょうよ。

    しかし、ニュースサイトの記事でも日付が目立たないところにあったり、日付が探せなかったりと、「これ、いつの記事?」というサイトもありますが・・・。

     

    著:久保田涼子, 著:西原礼奈, 著:阿諏訪聡美
    ¥2,399 (2025/03/28 17:08時点 | Amazon調べ)

    なんやかんやでWordPressのサイト構築で躓くのは、PHPのプログラミングなのでした。

    Embedded Link

    古い記事のコメント欄を自動的に閉じる方法 – WordPressのプラグイン | Comment Timeout | SEOテンプレート比較
    Comment Timeoutはコメントスパム対策用のプラグインで、過去の古い記事のコメント欄を指定した日数が経過すると自動的に閉じてくれます。コメントスパムは古い記事に対して行われることが多いので、効果があると思います。 コメントスパム用プラグインとしては、ほかにAkismetやSI CAPTCHA Anti-Spamがあります。

    Google+: View post on Google+

    追記(2023年1月27日)

    今はWordpressに「○日以上前の投稿のコメントフォームを自動的に閉じる」という設定が「設定」-「ディスカッション」のところにありますので、このプラグインは必要ありません。

  • WordPressのサイトの表示が遅い原因をいろいろ調べてみた話し

    WordPressで作っている自分のブログサイトを、改めて速度など気にしてみた。

    Chromeでアクセスすると、次の動作をしたいとき引っかかりを感じる。Chromeは最後までJSとかCSSの外部ファイルをすべて読み込みを完了しないと、次の動作ができないのか? IEやFirefoxは表示してしまえば、外部ファイルを読み込んでいる途中でも、ページスクロールも可能だった。これは思い違い?

    さて、WordPressのブログサイトでは、FaceBookのいいねボタンを再生するところで引っかかっているようだ。しかし、他のサイトでは同じくいいねボタンを表示させいても、そんなこともない。この辺りのSNSのボタンはWP Social Bookmarking Lightプラグインで表示している。このプラグインを外すと速くなる。WP Super Cacheが効いてなさそう。

    ということで、あまりにも遅くなったらWP Social Bookmarking Lightプラグインを無効にしておくことにする。その他、いろいろと原因がありそう。

    Google+: View post on Google+

    著:久保田涼子, 著:西原礼奈, 著:阿諏訪聡美
    ¥2,399 (2025/03/28 17:08時点 | Amazon調べ)

    なんやかんやでWordPressのサイト構築で躓くのは、PHPのプログラミングなのでした。

  • PoeditをWindows7 64bitで使うときの注意と回避方法の話し

    CakePHPを使っていると、翻訳を処理するgettextのmoファイルを出力しなければいけません。そのためにpoファイルをPoeditで編集します。このPoeditは、WordPerssでも使われます。

    しかし、PoeditをWindows7の64bit版で使うと、検索のダイアログが表示できないという障害あるため、Poeditは使いにくいものでした。しかし、調べてみると、Poeditのサイトでその障害の回避方法が載っていました。既出の障害らしいです。

    その回避方法通りにすると、正常に検索ダイアログが表示されて検索できます。

    回避方法は下記のリンク先に書かれていますが、regeditで、

      HKEY_CURRENT_USERSoftwareVaclav SlavikPoedit

    にあるfind_pos_x と find_pos_yの2つのキーを削除するだけです。

    これでWindows7の64bit版でPoeditが使えるようになりました。

     

    Embedded Link

    #437 (Search Window not visible in Windows 7)
    – Poedit

    Description. I am using POEDIT 1.4.6 on Windows 7 64 bit and have used the search option several times but now all of a sudden I can’t access the search screen anymore. I see it is there in the ta…

    Google+: View post on Google+

    著:山田祥寛
    ¥3,366 (2025/03/27 13:40時点 | Amazon調べ)
    著:松浦 健一郎, 著:司 ゆき
    ¥2,574 (2025/03/27 13:40時点 | Amazon調べ)
    著:谷藤賢一, 著:徳丸浩
    ¥2,750 (2025/03/30 15:22時点 | Amazon調べ)