ここはちょっと見せられない

ぜったいぜったい見せられない

grep で検索した結果のファイル名にスペースが有る場合、xargsへ正確なファイル名を渡せない

まあ、quote で囲めばいいじゃないと思って。

grep -r -l "置換え前" * | sed 's/^.*$/\"\0\"/' | xargs sed -i -e 's/置換え前/置換え後/g'

サーバを移転するのに、sakura のクラウドのDNSを使った話

同じホスティング内で新しいプランに移動することにしたのだけど、メール運用があったのでTTLを短くしたかったんですよ。でも、そのホスティングはゾーン情報は触れないし、TTLも短くしてくれなさそう(そういや聞いてないわ)だったので、TTL短くするためだけに一旦借り置き用のゾーンをsakuraで設定して新しいサーバに移すことにした。

(追記:ちなみに大塚商会さんだとゾーンも触れてTTLも変更できるよ)

ホスティングにゾーン情報ちょうだいって言ったら気持ちよくもらえた上に、外部のDNSの場合はこれこれこうしてくださいね、という指示ももらえたよ。ありがとうありがとう。

で、sakuraのクラウドに、グローバルんところからDNSを契約する。月額43円。 43円だよ。なんだこの金額。やっす!ありがとうsakura!

んで、ゾーン設定を抜かり無く設定して、ドメイン名のNSレコードを

 ns1.gslb2.sakura.ne.jp  ns2.gslb2.sakura.ne.jp

に変更。これを数日前にやっておく。 当然古い方のゾーンを仕込んでおく。 TTLは短くしておいて。

そんで、移行当日に変えるよーという宣言をしてから、ゾーンを新しいサーバに変更する。 全員にメールボックスからメールを受信しておいてもらう。 TTLは短くしていたからな。まあちょっと時間を置いてから、送受信サーバを新しい方に変えてもらう。

同時進行でホスティング側のゾーン情報を新しい方のサーバに移行する手続きをしておく。

問題なく新しいサーバでメールを受け取れれば、お客さんの移行は完了である。あっけない。

後始末として、しばらくしてからNSレコードをホスティングのものに戻して、sakuraのDNSを解約すればOK。

sakuraのNSは TTLが 259200 なので、消すのは3日以上後にすると良さそう。

もっとわかりやすくかけって?

めんどくせーよ。

あれですね、自前でDNSサーバ立てるのは無理ゲーだけど、こんだけ簡単にゾーン設定させてもらえるんだから、移転する時くらい使うべきですね。所詮レンサバなんてそもそも外部名使ってるんだし。

みんなで逮捕されようプロジェクトを見て、行政刷新会議の時を思い出すなど

ちょうど日本でTwitterが広まってきていた時に、民主党政権行政刷新会議をオープンにして様々な事業仕分けをしていた時に、研究者たちが予算を確保しようとして立ち上がり、様々な人たちが動き出した時の事を今思い出してる。

「2位じゃだめなんですか」という言葉が生まれたのもこの時。 研究者達がTwitterに溢れ出して、みんなが注目しいろんな意見や議論が見れるようになったのが、個人的には画期的な世界だと思ってた。

このときから10年。 中学生が、無限alertで補導、と聞いて今技術者達(本当に技術者だろうか)が「みんなで逮捕されようプロジェクト」なんて話題で賑わってるのをみて、なんというか、ため息しか出ない。 事業仕分けのときの研究者に比べると、今回の騒ぎは、向いている方向が真逆だと思える。

選挙ポスターの顔の鼻の穴に画鋲が刺されていたり、髭を書かれていたりというのを見たことがあるけれど、あれだって見つかれば補導されるじゃん。

未成年でタバコ吸ったりお酒呑んでも見つかれば補導されるでしょ。

それと今回の補導が一体どう違うのかもわからないけれども、何故かニュースで流れて注目を浴びたんだよね。 そもそもNHKがささいな補導案件に対して、女子中学生をことさらに強調して報道したのはなぜ?

バッシングする方向間違ってないかって思うのは私だけ?

ja.wikipedia.org

補導とはなんぞやって話でさ。ささいなことでも見つかればなんらかの対応をせなあかんのが警察なんじゃないの。

これくらいで補導が行き過ぎであると断じる理由は一体なんなん。補導でええやない。業界が萎縮とか言うけど、今回に限って言うと、いたずらであることは明らかだったじゃん。 岡崎事件とは全くの別物だと思うよ、おばちゃんは。

みんな補導と逮捕を勘違いしてるような気がするよ。

CPI ACE01 でサーバ移行(ACE01旧からACE01新へ)したらデータベース接続ができなかった話とレンタルサーバの未来

理由は単純。php.ini に

mysqli.default_port = 3307

って書かれていたから。 なんでそうなっていたかというと。

CPIでは、サーバの契約時期によって、MySQLが5.5と5.6が2つ入っているサーバがあるんだね。この時のサーバは5.5が3306、5.6が3307のポートに割り当てられていた。 今は新サーバでは5.5は提供されてなくて、5.6で3306ポート(つまりデフォルト)が割り当てられている。

で、今回そんなことすっかり忘れていたので、移行しようとしてしばらく悩んでしまったわけです。単純な事ほど気が付きにくいですね。

基本的には、契約時のサーバは契約解除するまで設定そのままっぽいねん。セキュリティ更新はしてるみたいだけどもさ。 ※CPIだけじゃないです。他んところもです。プラン名を変えてくれるところもあって、このプランは廃版です、みたいにしてれるとまだわかりやすいんだけどね。

レンサバって、同じホスティングであっても、定期的にプラン変更していかないと、サポートが切れたミドルウェアを使い続ける事になるんですよ。(RHみたく公式が切っても別でサポートし続けるってところもあるけどさ)

コンパネからはあんまりわかんないかもだけど、未だにPHP5.1とか5.3とかMySQL5.0とか入ってるサーバが10年以上も使い続けられていたりするんだよね。

保守してって言われて見てみたら、PHP7ないとかさ。

いやはやもう人外魔境なわけですよ。 でも、移行しようと思ったら手間だしやりたくないわけですよ。特にメールサーバ運用とかしてると。

メールボックスを別で管理してるホスティングとかだと楽なんだけど、あんまり多くないかな。

ホスティング側も苦慮してるっぽい感じの話は聞いたんだけど、まだまだぎょうさんあるんっすわ。ふるーいのが。

情報モラルの講演には「聞いてほしい人が来てくれない問題」ってのがあるんだけど、ホスティングもそうだよね。ずーっとお金払い続けてくれてるいいお客さんなんだと思うんだけどね。

どうすんのまじで。

oheso-version-report を公開できました。

ずっと保守するのに、こういうのがあればいいのに!って思っていたものをぼちぼち作ってたんですが、公式ディレクトリにいれてもらいました。

wordpress.org

-- やっていること

単純です。チェックボタン押したら、プラグインやテーマなどの更新について、バージョン情報を表示します。 公式ディレクトリも見に行って、最終更新日を確認し、更新から何日経過しているかを表示します。 一番欲しかったのは、ここに「Not Found」と出るプラグインです。

更新されるプラグインは良いんだけど、見捨てられたプラグインを一々調べるのだるいんですよ。で、ここで調べて、公式ディレクトリのページにリンクを貼っています。 古いプラグインは、ページを見に行けば「 no longer available」と書かれていますから、内容に応じて利用をやめようという算段です。

自作とかで公式に登録していなければ、当然「Not Found」と出ますので、そこは自分でチェックしてください。

自分が便利に使いたかったので作りましたが、他にこんなん欲しい人いるんかな。 まあ使ってみてください。

Version Report Plugin を公式に申請してみた

勢いでプラグイン申請したので、あとから直したいとことか出てきてるところ。

github.com

受理されるといいなあ。

ところで似たようなプラグインがあったのだけれども。 wordpress.org

no-longer が no-longer となっていて何がなんだかという感じになっていた。なんだかな。

reCAPTCHA v3 を ContactForm7 で設定すると全ページにreCAPTCHA用のscriptが出力される

v3になって、クリック認証が不要になったんだけど、右下にマークが出るようになった。これが全ページに表示されてしまうので、とりあえずなんとかしてみた。

公式には↓こう書いてあったのだけど、reCAPTCHA v3のscriptは別扱いっぽい。これを設定しても出力されてしまう。(そのうち修正されるかなあ? とりあえず報告とかしてない)

必要な場合だけ JavaScript とスタイルシートをロードさせるには | Contact Form 7 [日本語]

幸い(?)扱っていたサイトでは

remove_action('wp_head', 'wp_enqueue_scripts');

なんてことをしていて、script読み込みを抑制していたので、都合よく使ってみる。

function wpcf7_file_control()
{
    global $post;
    if( ! has_shortcode( $post->post_content, 'contact-form-7') ){
      remove_action('wp_head', 'wp_enqueue_scripts', 1); 
    }   
}
add_action("template_redirect", "wpcf7_file_control");

これで、CF7のショートコードを入れているページにのみ、scriptを出力する。

場当たり的な対応で、たまたま設定上できたって内容なので推奨はできないね。