[PHP] MagpieRSSの実装例

12:01 AM on 2011年6月24日 ,

require_once 'MagpieRSS/rss_fetch.inc';

// マルチバイト文字の文字化け対応
define("MAGPIE_OUTPUT_ENCODING", "UTF-8");
// キャッシュをオフにする
define("MAGPIE_CACHE_ON", 0);

$url = "[RSSのURL]";
$rss = fetch_rss($url);

if (isset($rss->items) && count($rss->items) > 0) {
    foreach ($rss->items as $item ) {
        echo $item['title'];
    }
}

// simplexml_load_fileでの取得結果と内容を比較する
//$xml = simplexml_load_file($url);
//var_dump($xml);
//var_dump($rss);

jQueryのコードサンプル

11:21 PM on 2011年6月15日 ,

$(document).ready(function(){
    $('#main').css({opacity:0}).animate({opacity:1},1000);
    $('a').click(function(){
        var url = $(this).attr("href");
            $('#main').animate({"opacity":0},500,"linear",function(){
                location.href = url;
            });
        return false;
    });
    $('.className').each(function(){
        $(this).css({opacity:"1.0"});
    });
    $('.className').hover(
        function(){
            $(this).fadeTo('fast',0.4);
        },
        function(){
            $(this).fadeTo('fast',1.0);
        }
    );
    $('.className').click(function(){
        $(this).css({opacity:"0.4"});
    });
});

マシントラブル解決までの流れのメモ2

10:20 PM on 2011年6月6日

※あくまでもその時の作業の流れであり、問題に対して正確な対処を行ったかどうかは不明

プリンタのドライバをCDからインストールしようとした。
↓
付属ソフトのインストール途中でハングしたため、PCを強制終了、再起動した。
※上記を2回やった。
↓
Win7起動時の「ようこそ」画面から先に進まなくなった。
↓
セーフモードからは起動できる。
↓
「システムの復元」から少し前に戻すと、一旦復旧したが、再起動するとまた「ようこそ」画面から先に進まない。
※復元後も、インストールに失敗したプリンタの付属ソフトは存在している状態。
↓
「システムの復元」後、一旦復旧させた時に以下の対応を行った。
・プリンタの付属ソフトをファイル削除(アンインストールできなかったため)
・「C:\Windows\System32\spool\drivers\w32x86」以下のファイルを全て削除
・「msconfig」から、不要なスタートアップを無効化
・(念のため)今までインストールしていたプリンタもドライバ削除・アンインストール
↓
復旧した。

(マシンスペック)
・OS: Windows 7 Ultimate
・CPU: Intel Core2 Duo CPU E4500 @ 2.20GHz 2.20GHz
・RAM: 2.00GB

マシントラブル解決までの流れのメモ1

10:19 PM

※あくまでもその時の作業の流れであり、問題に対して正確な対処を行ったかどうかは不明

PCを別の事務所に運んだ。
↓
電源を入れると、CPUファン?の音が鳴りっぱなしで、起動しなくなった。
↓
帯電が起きたことで起動しなくなった??
↓
PCのカバーを開けて、電池をはずし、暫く置いてから戻して電源を入れると復旧した。
↓
しかし、今度はOSを開始できない(どのような画面だったかは忘れた)。
↓
BIOSが初期化?されていたようで、存在しないAドライブを認識しようとしておかしくなっていた。
BIOSからAドライブを認識しないよう設定変更。
↓
無事、OSも開始されるようになった。

(マシンスペック)
・OS: Windows 7 Ultimate
・CPU: Intel Core2 Duo CPU E4500 @ 2.20GHz 2.20GHz
・RAM: 2.00GB

[Silverlight OOB] WindowsとMacで異なる挙動のメモ

10:14 PM ,

LayoutRootのMouseLeftButtonDownイベントハンドラに
Application.Current.MainWindow.DragMove();
を記述し、MainWindowをドラッグで移動できるようにする。
↓
LayoutRootの子要素として、上下左右の四隅に配置した
RectangleのMouseLeftButtonDownイベントハンドラに
Application.Current.MainWindow.DragResize(WindowResizeEdge.~);
を記述し、MainWindowのサイズを四隅からドラッグで変えられるようにする。
↓
Windows: DragMoveとDragResizeがうまく働く
Mac: DragMoveが効いてしまい、DragResizeが非常にやりずらい
↓
LayoutRootの子要素として、中央にGrid等を配置し、
そのMouseLeftButtonDownイベントハンドラに
Application.Current.MainWindow.DragMove();
を記述すると、Macでもうまく処理されるようになる。

[Silverlight] RowDefinition・ColumnDefinitionの「Auto」「*」をコード側から指定する方法

10:33 PM on 2011年5月26日 ,

Grid g = new Grid();

// RowDefinition
RowDefinition row1 = new RowDefinition();
row1.Height = new GridLength(1.0, GridUnitType.Auto); // <RowDefinition Height="Auto"/>
g.RowDefinitions.Add(row1);

RowDefinition row2 = new RowDefinition();
row2.Height = new GridLength(1.0, GridUnitType.Star); // <RowDefinition Height="*"/>
g.RowDefinitions.Add(row2);

RowDefinition row3 = new RowDefinition();
row3.Height = new GridLength(0.5, GridUnitType.Star); // <RowDefinition Height="0.5*"/>
g.RowDefinitions.Add(row3);

RowDefinition row4 = new RowDefinition();
row4.Height = new GridLength(2.0, GridUnitType.Star); // <RowDefinition Height="2.0*"/>
g.RowDefinitions.Add(row4);

// ColumnDefinition
ColumnDefinition col1 = new ColumnDefinition();
col1.Width = new GridLength(1.0, GridUnitType.Auto); // <ColumnDefinition Height="Auto"/>
g.ColumnDefinitions.Add(col1);

ColumnDefinition col2 = new ColumnDefinition();
col2.Width = new GridLength(1.0, GridUnitType.Star); // <ColumnDefinition Height="*"/>
g.ColumnDefinitions.Add(col2);

[ActionScript] 子要素を全て削除する例

12:03 AM on 2011年5月25日 ,

while (hoge.numChildren > 0) { removeChildAt(0); }

[ActionScript] BitmapでMouseEventを取得する例

12:02 AM ,

MovieClipの子要素に対象のBitmapを配置する。

// Bitmapをボタンとして使用
var mc : MovieClip = new MovieClip();
addChild(mc);
mc.addEventListener(MouseEvent.CLICK, on_click);

// "ButtonIcon" は.flaファイルの [ライブラリ] - [リンケージ] で定義
var className : Class = ApplicationDomain.currentDomain.getDefinition("ButtonIcon") as Class;
var bd : BitmapData = new className(0, 0);
var img : Bitmap = new Bitmap(bd);
mc.addChild(img);

private function on_click(e : MouseEvent) : void {
    trace("click");
}

[Silverlight] Enum.GetValues()の代替手段

9:23 PM on 2011年5月23日 ,

SilverlightではEnum.GetValues()が使えない?
そのため、enumの値を列挙する場合等には以下の方法で代替する。

// Tに対象のenumの型を指定する
public static List GetValues()
{
    Type t = typeof(T);
    if (!t.IsEnum)
    {
        throw new ArgumentException();
    }

    List values = new List();
    var fields = from field in t.GetFields() where field.IsLiteral select field;
    foreach (FieldInfo field in fields)
    {
        object value = field.GetValue(t);
        values.Add((T)value);
    }

    return values;
}

[C#] Base64形式の文字列エンコードとデコード

9:05 PM on 2011年5月20日

// encode
byte[] bytes1 = Encoding.UTF8.GetBytes("string");
string str1 = Convert.ToBase64String(bytes1);

// decode
byte[] bytes2 = Convert.FromBase64String(str1);
string str2 = Encoding.UTF8.GetString(bytes2, 0, bytes2.Length);