就職応援の実習に行ってきた。
朝6時に目覚ましかけてさぁ起きれるかなって思ったら、起きたの5時…1時間ほど二度寝。
6時に改めて起きて7時に出発。電車込み具合がヤベェwww微塵も動けねぇ…(車内も車外も)なんだかんだで8時半に到着。帰りも帰りで結構混雑してた。少しは動けるだけ行きよりはマシか?
続きを読む 初実習
カテゴリー: プログラミング
wxWidgetsはやっぱり大きかった
久しぶりにwxWidgetsをコンパイル。
今まで静的リンクしててexeが2MB行ったから、今回は動的リンクにしてDLLを構築。結果exeは150KBくらいまで軽くなった。dllが合計で5MB行った・・・orz
静的リンクした方が軽いのかよ・・・まぁ、ランタイムとしてまとめて使用すればいつかは元がとれるか・・・
PHPでXMLいろいろ
Youtubeに動画のメタデータをリクエストすると、XMLで返してくるので解析中。
解析は"$data=simplexml_load_file(“http://gdata.youtube.com/feeds/api/videos/”.$videoid);"でXMLを取得&パースして各種要素にアクセス。
で、Youtubeの一部動画は外部プレーヤーで再生できないようになってるから、それの判定プログラムを書いた。
<?xml version='1.0' encoding='UTF-8'?>
<entry xmlns='http://www.w3.org/2005/Atom' xmlns:app='http://purl.org/atom/app#' xmlns:media='http://search.yahoo.com/mrss/' xmlns:gd='http://schemas.google.com/g/2005' xmlns:yt='http://gdata.youtube.com/schemas/2007'>
<id>http://gdata.youtube.com/feeds/api/videos/GF69Om75cT4</id>
<published>2008-10-24T16:30:40.000Z</published>
<updated>2010-04-26T10:40:56.000Z</updated>
<app:control>
<yt:state name='restricted' reasonCode='limitedSyndication'>
Syndication of this video was restricted by its owner.
</yt:state>
</app:control>
<category scheme='http://schemas.google.com/g/2005#kind' term='http://gdata.youtube.com/schemas/2007#video'/>
<category scheme='http://gdata.youtube.com/schemas/2007/categories.cat' term='Film' label='映画とアニメ'/>
対象の動画のXMLの一部。
でこれが、単純に読み込んだ場合の一部
SimpleXMLElement Object (
[id] => http://gdata.youtube.com/feeds/api/videos/GF69Om75cT4
[published] => 2008-10-24T16:30:40.000Z
[updated] => 2010-04-26T10:40:56.000Z
[category] => Array (
[0] => SimpleXMLElement Object (
[@attributes] => Array (
[scheme] => http://schemas.google.com/g/2005#kind
[term] => http://gdata.youtube.com/schemas/2007#video
)
)
途中、<app:control>がごっそりなくなってる…
ググってみると、XMLのタグ名に:が付いてるのは名前空間らしく、$app=$data->children(“app”,true);でアクセスするみたい。
ただ、外部プレーヤーで再生出来る動画にこのタグはないから、if(!empty($app))で判定してやる必要がある。
あと、@attributes以下にアクセスするには
$yt=$app->children("yt",true);$yt->state->attributes()->reasonCode=="limitedSyndication"
みたいな感じでattributes関数を挟んでやる必要があるみたい。
面倒くさいなぁ…
追記:XMLの最後に<yt:noembed/>があるのを確認。どっちかっていうと、こいつを認識すればいいのか?
続きを読む PHPでXMLいろいろ
YoutubePlaylistPlayer改造中
Youtubeのプレイリストを作るページを改造中。
クッキーに保持しているプレイリストを、XMLでエクスポート&インポートできるようにした。
ただ、インポートは@pagesだと動かせないから鳶の置いてある000webhostでデバッグ。
あと、削除ボタンの処理を変更。クッキーから削除してから表示を削除するようにした。あまり高速連打しなければ削除は簡単になった。
現在外部プレーヤーだと再生できない動画の識別中。
メタデータに
<app:control>
<yt:state name="restricted" reasonCode="limitedSyndication">
Syndication of this video was restricted by its owner.
</yt:state>
<app:control>
があると再生不可っぽい。(確証なし。1個しか見てないし)
Youtubeで遊んでみた
Youtubeの埋め込みプレーヤーとAPIでプレイリストを作ってみた。
Youtubeにもプレイリスト機能はあるんだけど、ログイン必須で面倒だからクッキー使って自作してみた。
プレイリストの管理と動画タイトルの取得にPHPをつかってるからAjaxを使ってみた。prototype.jsのおかげで結構手軽に実装できた。
ただ、
- 動画が若干ちらつく(LinuxのFlashプレーヤーのせい?)
- ときどきメニューっぽいのが残る(原因不明)
- 毎回Youtubeと通信するから負担がかかる(仕様)
- ときどき再生エラーする(連続再生のせい?)
の不具合を持ってる。
特に3が不安要素。怒られないかなぁ・・・
ずっとシューティング作ってた。
とりあえず、ボスと当たり判定を実装。
あと、Windowsで動かす場合、DirectXを使うようにしたら、FPSが60になった。
つぎは、ステージ2の実装と、自機が死んだ時の回復HPの調整だな。
就職試験行ってきた
銀座にある会社の就職試験に行ってきた。
・・・中途採用で行ったはずなのに、ほとんど俺の年齢+5以下・・・(のような気がした。違うかもしれない。)
試験開始後におっさん数人遅刻してきてた。大丈夫か?
で、2時間後に試験終了。帰り際にビルのテナント表示見てびっくり。この会社しか入ってない。(ビルは10階建て)できたてみたいだしこんなもん・・・なのか?
続きを読む 就職試験行ってきた
freetypeインストール中
freetypeインストール中。
なぜか、オブジェクトファイルとして.loを吐き出すくせに、.oファイルを要求するからコンパイルが通らねぇ…おまけにobjs/.libsにまで.oファイルを要求するから余計に通らねぇ…
freetypeってこんなにコンパイル面倒だったっけ?
現在の解決策
.loファイルを要求箇所にコピー
数が多くて面倒だからシェルスクリプトで
ls objs/*.lo > lolist
while read file
do
cp $file `echo $file | sed -e "s/.lo/.o/"`
cp `echo $file | sed -e "s/.lo/.o/"` objs/.libs
done < lolist
ftsystem.oが無いとか言われてるから、初期化してやり直し中…追記:(2010/04/22)原因判明。Boostビルド用に作ったgccラッパーが原因だった。排除したらコンパイルに成功した。
ああ。明日就活だ。早めに寝よう…
突然
夕飯食ってさぁゲーム組むかとか思ってたら突然学情ナビから電話が。
明日会社の説明会あるんだけど行ける?と言う内容だった。時間は午前10時30分。
・・・またずいぶん急だな。了承したけど。
つうわけで、明日は急遽会社説明会へ行くことになった。
今渡こそ大丈夫だよな。
続きを読む 突然
車運転してきた
3回目。
家から妹のプールまでの迎に行った。
帰り道間違えた…まぁそれ以外はこうして生きてるし。事故もなかったし。まぁいいか。
続きを読む 車運転してきた