移行完了

まず、はじめに。うっとおしい広告を入れてすみません(_ _) こういう賑やかし、やりたかったんです(^^;なんかブログっぽいな、と思ってgoogle adsenseに登録してみました。こんな備忘録のブログでも審査に通るんすねぇ~。

先週より、6年ほどお世話になった “wordpress.com” から 引っ越し。理由は・・・スタイルシート変更のために払っていた4000円をケチるため。

もともとwordpressを始めた頃に、スタイルシートの修正を保存できるように、と思ってカスタムスタイルシート・プランを15ドル/年で購入したんですが、3年程前から円安のせい?か倍の30ドルに値上げになって・・・スタイルシートを保存するためだけに4000円って・・・ってな感じ。

で、仕事用に使っていたVPSに移しました。さらに、ドメイン転送にも1600円/年かかり、どこまで貧乏人からむしり取るんじゃー、と愚痴りつつ、やっと移行完了。

Google AdSense もイマイチ用語が分からず、広告ユニットって何? コンバージョン? なにそれ、おいしいの? とチンプンカンプンな用語のオンパレードの管理画面をもう見る気もせず、適当に3つ配置。

サイドバーのウィジェットに表示させるのは「HTML Javascript Adder」プラグインを使って簡単に放り込めたんですが、投稿記事に貼り付ける方法がいまいち分からず、手っ取り早く、直接テーマ内の functions.php に “the_content”フィルターフックを仕込んで適当に解決。

<?php
// into functions.php 
/*******************************************************
 最初の<p>タグ(段落)の後ろに広告を表示させたいので、
 wpautop関数がコールされた後にコールされないと意味がない。
 とりあえず優先度を999で様子を見る。この辺よくわからん。
*******************************************************/
add_filter( 'the_content', 'inject_google_adsense_code' , 999);

function inject_google_adsense_code($content)
{
  global $wp_query;

  static $ads = <<<__EOL__

ここに 広告のコードを挿入。

__EOL__;

  // ループの最初の記事だけに適用
  if(!is_feed() &&  0 == $wp_query->current_post)
    {
      // 最初の段落の終わり</p>閉じタグの後ろに広告コードを挿入
      if(false !== ($pos = strpos($content,'</p>')))
       {
          $pos += strlen('</p>');
          $content = substr($content,0,$pos) . $ads . substr($content,$pos + 1);
       }
    }

  return $content;
}

//追記
// feed の中にも出てきてしまっていたので is_feed()関数で除くようにした。

ふぅ。

パスワード 平文 管理

グーグルで検索すると、やっちゃダメだよ、という記事がいっぱい出てくる。LAN上のサーバーならまだ分からなくも無い。

今作成中のスクリプトで「パスワードは暗号化(ダイジェスト)しないでほしい!」とゴリ押しされる。いや、それはダメだ、と言っても理解してくれないらしい。別に大した情報を持っているわけでもないのと、こんなの漏洩したところで何ともないので「なんであかんの?」という論理なんでしょうね。

時間が経って、何の経緯も知らないウェブ開発者たちが、このスクリプトを見た時、パスワードを平文で保存しているシステムにどういう評価を下すか、想像に難くない。

ウェブでの受注システムでさえアカウントを暗号化せずに平文でテーブルに放り込んでるみたいで、その状況を何とも思わないような人たちですから、まぁ、しょうがない。担当者が発注者であるお客さんの言いなりで・・・中小企業のシステム営業とかSEさんってどこもこんなもんなん?(笑) たとえば、お客さんの会社が、プライバシーマークとか、○○○認証取得、とか、ISOなんちゃら・・・とか取りたいとか言い出したら、またシステム改修しないといけなくなる場合もある。結局とばっちりはSEさんとかシステムの営業さんとかじゃなくて、外注先も含めて全部作る方にかかってくるんですよねぇ。

ま、いいか。もうどーでもよくなったよ。タダでさえ持病で体調がだだ下がりなのに。。。文句言わずに「言うとおり」にしてしまおう。ラクな生き方を選ぼう。完全に開発者失格だなー。

今さら・・・

ちょっと愚痴りです。

チョー昔に仕事でお世話になった人からのヘルプ依頼。
以前、Windows2000/XPで作ったとあるツールが、Windows7で動かない・・・と。いや、まぁ、あのツールは、デスクトップウィンドウをフックする(グローバルフック)するツールで、当然ながら、WindowsVista/7のエアロ・デスクトップコンポジションが有効なデスクトップでは動かないんすけどね。。。

どうにかしてくれないかと。いや、もうC++/WindowsAPIでプログラミングしてないし・・・。おまけに、Windows10でも動くようにしてくれと・・・。いや、無理(^^;;; そんな時間ない。

デスクトップのウィンドウハンドルを取得する方法は、Windowsのバージョンが上がるたびに変わるし・・・何より、デスクトップをフックするあんなツールは、今ではもう危険なプログラムと判断されてしまうし・・・システムツールは、調査して作るのに時間ばっかりかかるんで面倒なんすよねぇ。

なんて、話してたら、Windows7だけでも動くようになんないか?と(^_^;;;
んー、小遣い稼ぎに、まぁ、土日の休みにやってみるか。

とりあえず、リポジトリからプロトタイプ(テスト)として書いたソースをチェックアウトして、VS2013 Community Edition でビルドしてみる。

起動できたけど、当然、フックされない。どうやら、デスクトップに張り付いているリストビューコントロールのウィンドウハンドルを得るために書いた関数が失敗してNULLが返るみたい。ん、まぁ、当然だな。
この手のツールは、フック本体をDLLに配置しないといけないのと、フック本体に置いたコードのデバッグの仕方を知らない、ので困るんだな・・・

はぁ・・・。と愚痴ってみる。愚痴ったところで解決はしないんだが(^.^;;;

“bk”フォルダと、”bk”拡張子の悪夢

ウェブサイトの保守作業で、編集する前に元のファイルを.bkと拡張子をつけて保存しておいたり、同じディレクトリにbkという名のディレクトリを掘ってそこにコピーしてたり、といった前近代的な保守手法がまかり通っている仕事場です。バックアップすることはとても重要だが、その手法があまりに前近代的なので、最近では呆れかえってものも言えない。

僕はかなり前からSubversion(今時はGitですけどね)を使ってソースファイルを管理しているので、こういうところを手伝うのはもう「苦痛」の一言に尽きる。口出しするとメンドくさくなるので、何も言わない。後ろ向きですね(_ _)

自分がイチからコーディングを担当したサイトではちゃんとsubversionで管理しているのですが、部署で管理する共有フォルダに置くときは、最新のチェックアウトをエクスポートしたものを置いてます。作った後の保守は別の人がやるので・・・。
そうすると、1か月もしたら、bkフォルダの山、bkファイルの山ができてしまう。

そのたびに、bkフォルダの山とbkファイルの山を取り除いて、別のバックアップ用フォルダ(笑)にバックアップファイルやフォルダを移動。

あ~あ、なんだかな・・・

これが困るのは、FTPでWebサーバーにアップロードするとき。
要らないファイル(bkフォルダとかbkファイル)がワンサカあるので、当然、手動で同期。結果、Webサーバー上に不要なファイル(主に使わなくなった画像とか)がいっぱいになって、時間が経てば、消していいものなのか、消してはいけないファイルなのかの判断ができなくなる。

ローカル側に常に最新の状態のファイルだけ置いておけば、サーバーを更新する時も、同期コマンドで一発なのにね。
なんで改善しようとしないんだろうなぁ。

Surface3 + Windows10

若干加筆。


先週、Windows10に早速アップグレードしました。僕的にはいい感じです。Windows8.1に感じた不満点がゴッソリなくなってます。

Windows10・・・というわけではないのですが、Surface3での気になって眠れない点。

  1. スリープから復帰すると、たまにスクリーンキーボードがどうやっても出てこない時がある。結果ログインもできず途方にくれる。
  2. スリープから復帰すると、高確率でMicroSDカードが認識せず、エクスプローラが固まる。カードを抜き差しすると正常に認識されるが、その後の挙動がめっちゃ不安定になる。メモリカードが粗悪なのかも。でもトランセンドだし・・・。
  3. スリープから復帰するとたまに全体的にモッサリになって再起動を余儀なくされることがある。
  4. Windows10にアップグレードしたらOnenoteの機能がなんか貧弱になった?Windows8.1のときはペンの太さとかもっと柔軟に選べたと思うんだけど・・・気のせい?ペンのUIが変わってちょっとガッカリ。
  5. デフォルトの動画閲覧アプリがとにかく使いにくい。
  6. サーフェスペンの利き手の設定はどこでやればいいの?
    bluetoothデバイスからSurfaceペンを削除したら設定に出てきました。ん?
  7. US配列版のタイプカバーを使って、ドライバをAX配列のものにして半角・全角トグルを右ALTに割り当てたんだけど・・・無視されるようになった。もうこの方法は駄目なの?
  8. Microsoft Edgeで、全画面表示はないの? タブ切替はWindows8.1の時の方がよかったなー。
  9. 解像度を150%にすると、フォントがモヤっとするのはなんでや?
  10. 「映画&テレビ」と表示されているアプリで、動画ファイルが入っているフォルダーを追加したが、一向に現れない。5分ほどあーでもない、こーでもない、としてたら突然現れた。
    しかも、後からその追加したフォルダに動画ファイルを追加しても全く更新されず一覧に出てこない。なんじゃこれ? 純正のアプリが「ふざけてんのか?」レベル。こんなアプリ作ったやつはとっととクビにしてくれ、レベル。
  11. 今更だが、ストアアプリに「使える」アプリが一つもない。っていうか、Officeアプリぐらいしか使えるものがない上、有料ときた。マイクロソフトが率先してアプリをガンガン作ってラインナップをそろえるべきじゃないのか? いくら開発者に作れ、作れ、と開発ツールを無料にしても、だめでしょ? やり方が違うでしょ? 作ってほしいのなら、まず、自分らが率先して使えるアプリを作らんかい!
  12. その他、眠れなくなる点は随時追加予定。。。

総じてSurface3+Windows10は、パソコンとして使う分には良い組み合わせだと思います。Windows7からのアップグレードならば、納得いくと思います。

ですが、Windows8/8.1を使い込んでいる人は暫く待った方がいいと思います。

そもそも

  1. ウェブ閲覧
  2. 動画の視聴
  3. テキストエディタでの編集作業
  4. スクリプト実行環境
  5. TeraTermの利用

の5つをどこでも出来るようにと、買ったSurface3ですが・・・スリープ復帰時の不安定さが気になって、夜も眠れません(..;)  ま、再起動すりゃ直るので、ま、いいか。

Windows10をしばらく触ってみて、・・Windowsって、こんな難しいOSだったのかな・・・と思った。とにかく、知らないと何もできない。調べないと使えない。調べるツールとして、左下にデカデカと検索ボックスはあるが、何を入れていいのかわからない。何か入れると「問題が発生しました」となる。なんじゃこれ?

長年Windowsを使ってきたけど、そろそろWindowsを使うのやめようかな。。。と一瞬思った。