IEでMT管理画面のメニューが表示されない場合

MovableTypeの管理画面ですが、困ったことにIE9ではドロップダウンが表示されず、ブログの選択や各メニューにアクセスできません。

解決策!。最近のIEはレンダリングモード(IEの下位バージョン)が指定できます。

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />

この1行を、ヘッダに追加してあげましょう。

管理画面のヘッダーを出力しているファイルは
mt/tmpl/cms/include/header.tmpl
です。

Microsoft PowerPoint  デザインテーマでかんたんに「ウチの資料」

ドキュメントへのかんたんなCI適用方法です。

PowerPointの場合

  1. 「表示」タブの「スライドマスター」をクリックして、全てのスライドマスターを編集します。フォントや配置、配色、ヘッダやフッタ、ロゴ画像等々。
  2. 「デザイン」タブの「配色」をポチポチ編集します。
  3. 「デザイン」タブの「テーマ」ドロップダウンの一番下、「現在のテーマを保存」

次回から、この保存したデザインテーマのファイルを選択すれば、「ウチの資料」が簡単に作れます。

社名なしバージョンも作っておくと、デザインテーマの変更だけで簡単に変換できますし、特にシステム屋は黒子になることも多々ありますのでお客さまにも喜んでもらえますよ。

画面仕様書作成の画面キャプチャで便利なツール

画面仕様書作成時にWEBページのキャプチャ画像がたくさんほしくなります。そんな時、Firefoxのプラグインが便利です。ちなみに、Google Chrome にも便利なのがあるのですが、Chromeは「右クリック+R」(ページの再読み込み)が印刷に割り当てられているため、開発時には使いません。

パワーポイントに貼り付けるのが目的なので、クリップボードへ保存できるものに限定されます。

はてなスクリーン拡張

日本語はうれしいです。クリップボードへのキャプチャもOKです。キャプチャするボタンも表示できました。
残念ながらキャプチャ画像の右端に真っ黒ラインが入ってしまいます。スクロールバーの部分が作ったCSSと相性が悪いのか、、、深入りせず次のを探します。

 

LightShot

おしい。毎回エリア指定しなくちゃいけないです。

 

Webpage Screenshot in Firefox (♥♥♥♥♥)

 ほぼ日本語です。す、すごいですこれ、至れり尽くせりです。編集やら送信やらあんなこともこんなこともできちゃいます。(使わないけど)
コピーで閉じてくれたりと、要件を満たしました。完璧です。

cronでDB定期バックアップ メール添付編

データベースのダンプファイルを、定期的にメールに添付して送信する、という方法です。DBに直接アクセスできる怖さはみんな駆け出しのころ経験してますよね?(僕だけ?)ちなみに、ここ最近では、Zend_Db の$db->delete(); で久々に冷や汗かきました。

/usr/bin/mysqldump --opt -c -h localhost -u root --password=xxxx dbname | zip |  /usr/bin/php5 /home/www/cron/mailto.php -f dbname_dump.zip

cronからの呼び出しはこんな感じです。
で、上で指定した引数はZend_Console_Getoptで受けられます。便利ですね。

mailto.php

<?php
set_include_path(
    get_include_path() .
    PATH_SEPARATOR . '/home/www/libs/Zend'
);

require_once 'Zend/Loader/Autoloader.php';
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->setFallbackAutoloader(true);

$opts = new Zend_Console_Getopt('f:');
$filename = $opts->getOption('f');

$address = 'yamashita@nusoft.jp';
$body = $filename;

$mail = new Zend_Mail();
$mail->setBodyText($body);
$mail->setFrom('yamashita@nusoft.jp', 'XServer Cron');
$mail->addTo($address, '');
$mail->setSubject('MYSQL DUMP ' . $filename);
$at = $mail->createAttachment(file_get_contents("php://stdin"));
$at->filename = $filename;
$mail->send();

お試しあれ。なお、Gmailの場合はゴミ箱へ直行するフィルタを作っておけば、30日経過後自動的に削除してくれます。

書いてて思い出しましたが、WEBプログラマーにはもっとわかりやすくてメンテしやすい方法があります。覚えておくと便利です。cronへの登録はこんな感じ。

0 0 * * * wget --spider http://nusoft.jp/dbbackup.php >/dev/null 2>&1

ポイントはリクエストするファイル内で、リクエスト元IP(同一サーバー内なら127.0.0.1 かな)からのアクセスのみ処理対象にすることです。これならいつもの感じなのでわかりやすいですね。

iPhone / iPad アプリの配布方法

アプリの配布は、主に、次のいずれかの方法で行います。詳しくはApple社のWEBサイトをご参照ください。

App Store

不特定多数の人へアプリを配布したい場合は、App Storeで無料配布または有料での販売になります。App Storeへの登録はApple社の審査があります。

iOS Developer Program

社内に配布する場合、または一部のユーザーのみに配布する場合、100台まで開発デバイスとして登録が可能で、これらのデバイスに対しAdHoc配信が可能です。USB接続で直接転送するか、メール等で受け取ったファイルをiTunes経由でインストールすることになります。

また、テスターへの配布は、TestFlightを利用するのが便利です。

iOS Developer Enterprise Program

iOS Developer Programのプログラム内容に加え、組織内の社員やスタッフへワイヤレスで配布することが可能です。そのため、アプリを最新の状態に保つことができます。

UIViewのFrame外に配置した子要素が表示されてしまう

UIViewに子要素を配置。サイズ変更ボタンでサイズ変更!

self.leftView.frame = CGRectMake(0,0,1024.0,120);

と思いきや…。Frame外に配置した子要素が表示されてしまっている…。
どうやら、デフォルトではFrame外の要素も画面サイズ内であれば表示されてしまうようです。

Interface builder で設定する場合は、3番目のタブ「Identity Inspector」の「User Defined Runtime Attributes」に「ClipsToBounds」をType=Booleanで追加しチェックを入れます。

コードから指定する場合は以下のとおりです。

[self.leftView setClipsToBounds: YES];