Hatena::ブログ(Diary)

130単位

2010-08-29

音源情報配信TwitterBotをアップデート

1つだけ作ってそれっきりで特にメンテナンスもせずだったのですが、思い立って大幅にアップデートしました。

主な理由はこんな感じです。ついでに

もやってみることにしました。

やったこと

ほか試したこと

変わったこと

  • 動画サイトの短縮URLを利用するようにした
  • Botアイコン変えた
  • BotのWebへのリンクができた

prfm_rmx(@prfm_rmx)さん | Twitter

f:id:deeeki:20100913050021j:image

no title (WordPress)

というわけでTweetの内容的にはほぼ変わっておらず、肝心の精度には依然課題があるのですが、今後機能拡張していきたいと思います。あとログを中途半端に編集したため7月頃の動画情報が再投稿されてしまいました、すいません。


【関連記事】
PHPでYouTube APIの利用とXMLからのデータ抽出 - 130単位
Google App Engineでcron自動実行 - 130単位

*1:詳しくは別記事で書くかも

2010-08-28

Mac OS X Snow Leopard Apache設定

Apache,PHPは標準でインストールされているようです。が、けっこう嵌ったのでメモ。

Web共有設定

f:id:deeeki:20100828081342p:image

  • システム環境設定 > 共有
  • 「Web共有」にチェック

設定ファイルの場所

  • httpd.conf
    • /private/etc/apache2/httpd.conf
  • ユーザー個別
    • /private/etc/apache2/users/username.conf
  • 編集はターミナルからsudoつけて

httpd.conf設定

LoadModule php5_module        libexec/apache2/libphp5.so

<Directory "/Library/WebServer/Documents">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    Allow from localhost
</Directory>

ユーザー個別conf設定

<Directory "/Users/username/Sites/">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from localhost 192.168.0
</Directory>

Alias /test/ /Users/username/dev/src/test/
<Directory "/Users/username/dev/src/test/">
    Options Indexes MultiViews
    AllowOverride All
    Order allow,deny
    Allow from localhost 192.168.0
</Directory>

ユーザーフォルダ権限変更

  • 上記のみではPermission deniedになったりする
  • /Users/username/が700なのが原因
  • Othersに実行権限を与える*1
sudo chmod o+x /Users/username/

Apacheリロード

sudo apachectl graceful

f:id:deeeki:20100828082437p:image

その他

  • ユーザー個別のドキュメントルートは/Users/username/Sites/
  • ユーザー個別のURLはhttp://localhost/~username/
  • ログは/var/log/apache2/以下
  • LAN内PCからのアクセス
    • 上記アクセス制限(192.168.0 )をしている場合
    • http://Macコンピュータ名.localでアクセスするには
      • Allow from 別PC名.local などとする

もっとこうしたほうがいいとかありましたらご指摘ください!

参考リンク

Mac OS X Snow LeopardでApache2ウェブサーバーを利用する | 自由で気ままな日々 
http://blog.kcg.ne.jp/blog/leeway/9468

*1:755とかにするのが一般的かも

2010-08-25

タスクスケジューラとバッチファイルで指定時刻にアプリ終了

Skypeを業務で使っていますが、意図しないタイミングでメッセージがとんできてなかなか集中できなかったりします。ので、指定時刻に自動的に終了するようにしてひとりコアタイムを試みてみました。

アプリ終了バッチ作成

taskkill /im Skype.exe
taskkill /im Tween.exe

テキストエディタで編集して.batという拡張子でファイル保存します(記事下部に追記あり)。

スケジュールタスク登録

タスクプロパティより内容の変更ができます。

f:id:deeeki:20100825204407j:image

  • 「ログオンしている場合にのみ実行する」の場合

逆にスケジュールで起動させたい場合は、タスクの追加で参照から対象アプリを指定すればいいです。自分はとりあえず13:00終了で17:00起動にしてみています。

【追記】

Skypeは会話など複数ウインドウが立ち上がっていると1つのウインドウしか終了しないみたいです。対応策は考え中です><

強制終了の/fオプションでいけました。ツリーを意味する/tオプションも関係あるかと思ったんですが関係ないみたいでした。

taskkill /f /im Skype.exe
taskkill /f /im Tween.exe

参考リンク

Windowsコマンド集:(taskkill) 
http://itpro.nikkeibp.co.jp/free/NT/WinKeyWord/20040805/1/taskkill.shtml

Windows XPタスクのスケジュールを設定する方法 
http://support.microsoft.com/kb/308569/ja

*1Tweenはたまに起動してたりします

2010-08-24

WordPress DBバックアッププラグイン 2種類比較

WordPress Database Backup

WP-DB-Backup – WordPress plugin | WordPress.org

  • 最新バージョン2.2.2 (2008-12-10 更新)
  • 翻訳必要なし
  • ダッシュボード > ツール > バックアップ
  • 対象テーブル
    • 基本テーブル全て
      • wp_postsのリビジョンとwp_commentsのスパムコメントを除外できる
    • 追加テーブルは選択
      • WP2.9より導入のwp_commentmetaを選択する必要あり
  • 手動バックアップ
  • 自動バックアップ
    • スケジュール
      • 1時間ごと/毎日2回/毎日1回/週1回
    • メール送信
  • GZIP圧縮のみ

WP-DBManager

WP-DBManager – WordPress plugin | WordPress.org

雑感

WordPress Database Backupは手軽でシンプル、WP-DBManagerは導入が若干手間ですが多機能といった印象です。ただWordPress Database Backupはプラグイン導入でテーブルが増える度にメンテが必要そうなので、WP-DBManagerを利用するのがいいと思います。


【関連記事】
WordPress 記事公開時にメール通知するプラグイン - 130単位
WordPress Google Analytics解析結果表示プラグイン2種類の比較 - 130単位

2010-08-11

Mingでswf合成して変数追加

サンプル

2番目に合成したswfActionScript変数を利用する場合

<?php
$swf = new SWFMovie();
$swf->setDimension(100, 100);
$swf->setbackground(0xff, 0xff, 0xff);
$swf->setRate(10);

$clip = new SWFPrebuiltClip('1.swf');
$obj = $swf->add($clip);
$obj->moveTo(0, 0);

$clip = new SWFPrebuiltClip('2.swf');
$obj = $swf->add($clip);
$obj->moveTo(0, 0);
$obj->addAction(new SWFAction('foo = "bar";'), SWFACTION_ONLOAD);

$swf->output();
  • SWFPrebuiltClipは既存swfファイルを読み込む
  • SWFMovieにSWFPrebuiltClipをadd()すると、SWFDisplayItemのインスタンスが返る
  • SWFDisplayItemにSWFActionをaddAction()する
  • SWFMovieにSWFActionをadd()してもうまくいかなかった

MingもActionScriptも超ド素人なので、もっといいやり方があるかもしれません。

SWFDisplayItem#addActionの第二引数$flags

マニュアルに載っていませんでした。

SWFDisplayItem

void addAction ( SWFAction $action , int $flags )

PHP: 404 Not Found

no title

上記からMingダウンロードして中身見てみました。

<?php
/* flags for SWFDisplayItem_addAction */
CONSTANT("SWFACTION_ONLOAD",            SWFACTION_ONLOAD);
CONSTANT("SWFACTION_ENTERFRAME",        SWFACTION_ENTERFRAME);
CONSTANT("SWFACTION_UNLOAD",            SWFACTION_UNLOAD);
CONSTANT("SWFACTION_MOUSEMOVE",         SWFACTION_MOUSEMOVE);
CONSTANT("SWFACTION_MOUSEDOWN",         SWFACTION_MOUSEDOWN);
CONSTANT("SWFACTION_MOUSEUP",           SWFACTION_MOUSEUP);
CONSTANT("SWFACTION_KEYDOWN",           SWFACTION_KEYDOWN);
CONSTANT("SWFACTION_KEYUP",             SWFACTION_KEYUP);
CONSTANT("SWFACTION_DATA",              SWFACTION_DATA);
CONSTANT("SWFACTION_INIT",              SWFACTION_INIT);
CONSTANT("SWFACTION_PRESS",             SWFACTION_PRESS);
CONSTANT("SWFACTION_RELEASE",           SWFACTION_RELEASE);
CONSTANT("SWFACTION_RELEASEOUTSIDE",    SWFACTION_RELEASEOUTSIDE);
CONSTANT("SWFACTION_ROLLOVER",          SWFACTION_ROLLOVER);
CONSTANT("SWFACTION_DRAGOVER",          SWFACTION_DRAGOVER);
CONSTANT("SWFACTION_DRAGOUT",           SWFACTION_DRAGOUT);
CONSTANT("SWFACTION_KEYPRESS",          SWFACTION_KEYPRESS);
CONSTANT("SWFACTION_CONSTRUCT",         SWFACTION_CONSTRUCT);

変数追加ならSWFACTION_ONLOADでいいっぽいです。

参考リンク

ウノウラボ Unoh Labs: Flash Liteコンテンツを動的に合成してみる 
http://labs.unoh.net/2010/04/flash_lite_2.html

PHP: SWFAction の例 - Manual 
http://www.php.net/manual/ja/ming.examples.swfaction.php

【関連記事】
CentOS5.5にApache,PHP,APC,JSON,Ming,phpMyAdminインストール - 130単位

2010-08-10

7月分の読書記録

8冊でした。マンガもあるにせよ毎月10冊以上は読みたいなーと思う次第です。

大規模サービス技術入門』は、いわゆる"知識の高速道路"になりうるような大変濃い内容でした。Hatena Developer Blogで随時公開されている本年度のインターンも興味深いです。

はじめて読んだ夏野氏の著書『グーグルに依存し、アマゾンを真似るバカ企業』、面白かったです。人の考えをざっくりとでも知るのには新書は最適ですね。

7月分読書データ

期間 : 2010年07月
読了数 : 8 冊
できる100ワザ ツイッター Twitterパーフェクトテクニック
コグレマサト , いしたにまさき / インプレスジャパン (2010-03-12)
★★★★☆ 読了日:2010年7月22日
用途別に各種サービスの解説が網羅されており、自分に必要なものを発見/取捨選択するのに有用
粗食生活のすすめ (小学館101新書 64)
幕内 秀夫 / 小学館 (2009-12-01)
★★★★☆ 読了日:2010年7月19日
日本の粗食(伝統食)の原点はごはんと塩。一日に二回ごはんを食べ、「朝食にごはんが食べたくなるサイクル」にする
グーグルに依存し、アマゾンを真似るバカ企業
夏野 剛 / 幻冬舎 (2009-07)
★★★★☆ 読了日:2010年7月19日
「スピードが要求されるウェブビジネスで走り続けるには、知識、経験、プラス本当に興味があるかどうかが鍵」「当たり前に当たり前のことを指摘し行動していれば、世の中は変わる」
[Web開発者のための]大規模サービス技術入門 ―データ構造、メモリ、OS、DB、サーバ/インフラ
伊藤 直也 , 田中 慎司 / 技術評論社 (2010-07-07)
★★★★☆ 読了日:2010年7月19日
段階的な構成と丁寧な解説で読みやすい。「MySQLは1回のクエリインデックスを1つしか使わない」「決まった出力の処理はテスト駆動開発
DB Magazine (マガジン) 2010年 08月号 [雑誌]
★★★☆☆ 読了日:2010年7月11日
モバゲータウン構築/運用のすべて」はMySQLの実践ノウハウ満載。アプリ側にはシンプルかつ柔軟なO/Rマッパーの必要性を感じた
WEB+DB PRESS Vol.57
★★★★☆ 読了日:2010年7月11日
アルゴリズム実践教室より「記事が内包するコンテンツデータよりも、タグのような外部からのメタデータのほうが記事推薦の精度が高い」
ロトの紋章 10 (ヤングガンガンコミックス)
藤原 カムイ , 梅村 崇 / スクウェア・エニックス (2010-06-25)
★★★☆☆ 読了日:2010年7月2日
守るべきものが本当は何なのか、その真相を知りたいところ
アミューズレシピ
★★★☆☆ 読了日:2010年7月1日
「自分がほんとに楽しめているか」「エンターテインメントは、人の心を変える力を持っている」「楽しいからこそ活力が生まれる」

メディアマーカー

6月分の読書記録 - 130単位

7月分の読書記録 - 130単位 (※一年前)

2010-08-08

はてなブックマーク数が500になった

f:id:deeeki:20100808223337j:image

[TopHatenar] deeeki さんの順位

なんとなく記念に。

はてなダイアリー開設から2年9ヶ月程です。

もっと短い期間やもっと少ない記事数で達成したブログはたくさんあると思います。

比べることではないのですが、力不足を感じたりもします。

ただ、それなりのペースでこれまで継続できたことは、よかったんじゃないかと思います。

引き続きアウトプットしていって、何らかのお役に立てたら幸いです。

2010-08-05

Dropbox 複数アカウントとフォルダ共有についてのメモ

アカウント招待と容量アップボーナス

f:id:deeeki:20100805191800j:image

  • その他
    • 250MBずつ最大8GBまで
    • iPhoneは別PCとみなされない
    • メールアドレスが複数あればアカウントは作成できるが、別PCでログインしなければ容量アップできないという情報あり*1
    • 招待された側には容量増えないっぽい?

複数アカウント同時利用

フォルダ共有

f:id:deeeki:20100805191801j:image

  • フォルダの選択
    • WebからSharing→共有したいフォルダを作成または選択
    • リモートPCから共有したいフォルダを右クリックして「Share This Folder...」クリック
  • 招待
  • 承認
    • 招待された側はWeb画面へ
    • Accept」クリック
  • オーナー/メンバー共通にできること
    • メンバーの新規追加
    • メンバーから外れる
      • 外れる際にリモートPCにファイルを残すか選択可能
    • 再度メンバーになる
      • Sharing > Show past shared folders > Rejoinクリック
    • メンバーから外れたうえで共有の記録を消す
      • Sharing > Show past shared folders > Removeクリック
  • オーナーにしかできないこと
    • メンバーを外す(Kick Out)
    • フォルダ共有の解除(UnShare)
      • 解除の際にリモートPCにファイルを残すか選択可能
  • その他
    • 共有フォルダのルートの名称は自由に変更可能(同期されない)
    • ルート以下のファイル/フォルダ名称は同期される
    • 共有フォルダのルートを直接削除するとメンバーから外れた扱いになる

Dropbox招待リンク

これから利用されるって方はよろしければ下記リンクより登録お願いします(・ω・) 初期容量が250MBプラスされるみたいです。

https://www.dropbox.com/referrals/NTUzNDQyOTk

4798028371
Dropboxハンドブック

4839936447
Dropboxポケットガイド

【関連記事】
Dropboxを使い始めてみる - 130単位

2010-08-01

利用中のGoogle Chrome拡張機能 2010年8月

現在利用している拡張機能とUserScriptの紹介です。各リンク先からインストールすることができます。

拡張機能

計18個

新規

7個

  • Awesome Screenshot
    • ページキャプチャ
    • スクロールキャプチャや編集も可能
継続

11個

UserScript

計6個

新規

2個

継続

4個

関連リンク


【関連記事】
利用中のGoogle Chrome拡張機能 2010年7月 - 130単位