Windows7で、ファイルのコピー時に「使用中のファイルが多すぎます」と言われる場合

Windows7の唯一(?)の欠点とも言ってもいい、ファイル検索の遅さ、そしてコピー(唯一じゃなかった)の問題。

結局Windows7のExploerの仕様で、大量のファイル(1000個ぐらい)をコピーしようとすると表題のエラーが出る。再試行すれば大丈夫というパターン。

参考:
http://www.makeuseof.com/tag/4-ways-to-copy-files-faster-in-windows/

まとめると、別のコピーツールを使う、Windows8にする、robocopyコマンドを使う。

結局Windows7ではあきらめるしかないですね。Windows8なら大丈夫かというのはちょっと未確認ですけど。

広告

PHPでTwitter API でツイートを投稿する際のハマりポイント

盛大にはまったので。
401とか403でエラーしてる場合は下記チェックです。

1. 登録でハマる

https://dev.twitter.com/
に開発者登録しないと始まりませんが、いつごろからか「Read and Write」のPermissionを得るには、Twitterアカウントにモバイルの登録が必須になりました。(一時期は三つ以上アプリを登録しようとするときも必要だった・・・気がする)

Twitterの設定>モバイル からメールアドレスを登録すればOK・・・ではないです。

その後に、スマートフォン用のTwitter公式アプリでログインをする必要があります。

Dev側のエラーではメアド登録後もずーっと携帯電話番号を登録せよ、とか出てますし、設定から言語を英語に切り替えるとまるで日本の携帯電話番号が登録できそうな感じですが、「まだ君のところの国のプロバイダには対応してないよ」とか言われて登録できません。事実はスマフォ公式アプリでのログインなのです。

ガラケーしか持ってなかったら開発できないですね。ちなみに、アプリでログインさえできればよいので、そのスマフォでプロバイダメールを使っている必要はないです。

2. APIキーの再発行でハマる

作ったアプリケーションキーは、最初「Read」の権限で作られます。
でこれを「Read and Write」に変更します。
再読み込みすると、Permissionが「Read and Write」になってるから完了・・・ではないです。

その後、「Regenarate API keys」でキーを再発行する必要があります。

自動で再発行されないので、手動で再発行しないと新しい権限が適用されません。表示上は何のお知らせもありませんが。

3. POSTでハマる。

phpのバージョンとかもいろいろなのですが
とりあえず下記使っている前提で
https://github.com/abraham/twitteroauth

require_once(‘twitteroauth.php’);
$message = ‘つぶやき内容’;
$oauth = new TwitterOAuth(‘API Key’, ‘API Secret’, ‘Access Token’, ‘Access Secret’);
$tweet = $oauth->post(‘statuses/update’, array(‘status’ => $message));

これでつぶやけます。他人につぶやかせたい場合はアクセストークンを取得してそれを入れて。
できてなかったらprint var_dump($tweet);でダンプしてください。

LinkStation LS-WVL/R1 のHDDを交換する

市販のNASは交換がいろいろ面倒。
なぜってHDDの方にシステムが入っているからです。なるほど交換専用HDDを高値で売るはずだ。

LinkStation LS-WVL/R1の2TBモデルには、1TBのHDD(WD10EZRX)が2本入っていました。
これを2TBの2本に交換します。使用したHDDは、ST2000DM001。

難しいことは特に何もないです。
RAIDモードから通常モードに切り替えて、電源OFF。
一本ずつ入れ替えて、起動、一本ずつフォーマットするのです。
(いっぺんにやろうとすると、システムが見つからないためか起動しないです)

CentOS6.5でMantisBT1.2.16を日本語化して使うところまで

BTSはいくつかありますが、その中でもとりあえずMantisBTをインストール。

参考:
http://blog.torigoya.net/2011/03/13/mantis/
http://www.alles.or.jp/~sogabe/mantis/manual/1.3.html

CentOS6.5をminimalでインストールしたところからスタートです。

# vi /etc/selinux/config
SELINUX=disabled

とりあえずお約束をして再起動したら

# yum -y install httpd mod_ssl mysql mysql-server php php-mysql php-mbstring wget ntp

# vi /etc/ntp.conf
disable monitor

# chkconfig ntpd on
# service ntpd start

必要な分だけインストール。もちろん通信はSSL。このブログはSSL推しです。証明書なんてなくても・・・。

あと本日時点でまだntpのDDOS攻撃を修正したntpはyumで降ってこないので、修正。必要なntpサーバ書いてください。

# cp /usr/share/mysql/my-large.cnf /etc/my.cnf
# vi /etc/my.cnf
[client]
default-character-set = utf8

[mysqld]
character-set-server =utf8

[mysqldump]
default-character-set = utf8

[mysql]
default-character-set = utf8
auto-rehash

# chkconfig mysqld on
# service mysqld start

# vi /etc/php.ini
date.timezone = Asia/Tokyo

mysqlはしつこくUTF8。それからauto-rehashも入れておくことにしました。タブ補完できたほうが後々面倒にならないと思うので。いらなければ削ってください。date.timezoneも、MantisBT側で使用者のタイムゾーンを設定できるみたいなんですが、とりあえず入れておきます。

# mysql
> CREATE DATABASE mantisdatabase;
> CREATE USER ‘mantisuser’@’localhost’ IDENTIFIED BY ‘mantispassword’;
> GRANT ALL ON mantisdatabase.* TO mantisuser;
> EXIT

MantisBT用のDBとユーザを作ります。

続いてMantisBTをダウンロードして設置。

# cd /usr/local/src
# wget http://ftp.jaist.ac.jp/pub/sourceforge/m/ma/mantisbt/mantis-stable/1.2.16/mantisbt-1.2.16.tar.gz
# tar zxvf mantisbt-1.2.16.tar.gz
# mv mantisbt-1.2.16 /var/www/html/mantisbt
# chown apache:apache /var/www/html/mantisbt

443ポートを開けたら

# chkconfig httpd on
# service httpd start

して、https://どめいん/mantisbt/admin/install.php にアクセスします。

初期パスワードのadministrator / root でアクセスして、初期設定。
DBのユーザ/PWを二回聞かれてますが、権限分けしているときだけ必要っぽいので最初の方だけ埋めればいいです。

その後は日本語化とメール通知設定をします。

# vi config_inc.php
$g_default_language = ‘japanese’;
$g_phpMailer_method = PHPMAILER_METHOD_SMTP;
$g_smtp_host = ‘メールサーバ’;
$g_smtp_username = ‘メールアカウント’; #
$g_smtp_password = ‘メールパスワード; #
$g_smtp_port = SMTPポート番号;
$g_administrator_email = ‘メールアドレス’;
$g_webmaster_email = ‘メールアドレス’;
$g_from_email = ‘メールアドレス’;
$g_return_path_email = ‘メールアドレス’;

アクセスしなおして日本語になっていればとりあえず使えます。

Flashのスロットル機能を力技で無効にする方法

Flash Playerにはスロットル機能というものがついています。

参考:CPU 使用率の最小化
http://help.adobe.com/ja_JP/as3/mobile/WS4bebcd66a74275c36cfb8137124318eebc6-8000.html

ようするに表示してないときに実行FPSを2~8ぐらいまで下げる、という機能です。
これを使いたくない(バックグラウンドでそのまま動かしていたい!)場合、

ActionScript3以降ではこれに関するイベントが追加されているそうですが、あいにくこのサイトでとりあつかうのはparafla!なのでActionScript1.0とか2.0でなんとかしなければいけません。

意外と簡単に何とかできます。
サウンドのストリーミング再生です。

サウンドをストリーミング再生している間はFPSは低下しません。
(低下したらサウンドがえらいことになるからだと思います)
これを逆に利用して、無音のサウンドをストリーミング再生して一定間隔でループするようにします。
※ループ間隔はサウンドの再生時間よりも短くしてください。でないとサウンドの再生が終わった途端、挙動が不審になります。

これでブラウザを最小化しても全力で動き続けてくれます。

何のために無音のmp3があるのかなーと思ってましたが、なるほど、このためだったのですね。