忍者ブログ

Home

Born Neet

[PR]

  • 2025-02-27 (Thu)
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

  • Comments (Close):
  • TrackBack (Close):

(uupaa-ex)canvasの練習に星空風の個人サイト作った

こんなんです。


tnantoka.net
※ PCが悲鳴をあげかねないので長時間の閲覧は注意して下さい。

こうなっちゃいます↓


最近地味に使い始めたtnantoka.netドメインですが、
bornneet.comとどう使い分けるか決まってません。
(今のところサーバサイドスクリプト使うときはこっちで公開しようと思ってたりします)

いつまでも準備中じゃあんまりなのでとりあえず飾ってみました。

faviconも一応。
(実はこれが一番苦労した。作るのは一瞬だったんだけどIE7で表示されず。
ファイルの作り直しとか、キャッシュのクリアとかいろいろやっちゃったけど、
結論はHTMLの更新が漏れててfaviconの指定ができてなかったという単純ミス。
Firefoxは指定しなくても勝手に取ってくるんだね。。。)

技術的なこと

uupaaです。

ずっと気になってて0.7がリリースされたら触ってみようと思ってたんですが、
我慢できずにspinoffを先に使っちゃいました。

予想はしてましたが、かなりいいです!
プレゼンツールを作った時本家のexcanvasも使いましたが、
こっちの方が癖がない上にサクサク動くし、エラーに悩まされることもありませんでした。

※ IEで grd.addColorStop(0, 'rgba(255, 255, 255, 0.5)') とかやったら動かなかった。
  仕様かな??…なのでブラウザ判別してIEでは半透明にしてません。
  ⇒ ウソでした、すいませんm(_ _)m
    IEでも半透明グラデーションできました。
    ただランダム&大量描画のせいか、たまにエラーが出るのでそのままにしてます。


ラッパ関数も便利そうなんですが、canvasの勉強にならない気がしたので今回はあえて使いませんでした。

これはcanvasにはまりそう!!

さて何作ろーかなー。。。

ひとこと

google codeはCDNとしてかなり使えますよねー。
これだけライブラリ使ってるのにScriptダウンロードする必要ないんだもんなぁ!

参考

canvas : 描画スタイルの指定(グラデーション編) - WebOS Goodies
Canvas - さまざまな図形を描く - HTML5.JP

PR

google検索が全部「このサイトはコンピュータに損害を与える可能性があります。」になる!?

  • 2009-01-31 (Sat)
  • Web

なんだこれ!?
すげー困る。。。

違うアカウントでやっても変わんないから設定の問題じゃなさそうだけど…。

googleがgoogle自身を危険って言っててかなりシュール^^

他のPCでもやったので僕の環境が犯されてるわけでもないっぽい。

lunascapeの検索BOXからだとおきなかった。
IE、Firefox、Safariの検索BOXはダメ。

うーん…まぁGoogleのことだしすぐ直るでしょ、ってことでしばらくyahooで我慢します。

[追記 2009/02/01 0:17]
なんか直ったり戻ったりしてる。
googleが普通に使えないとこんなに困るとは!

[追記 2009/02/01 0:21]
ようやく直ったっぽいかな?
とりあえず僕は普通に使えてる。

GoogleウェブマスターツールのMETAタグが変わってた

  • 2009-01-31 (Sat)
  • Web

以前の反省を活かして、
Googleウェブマスターツール
をチェックしていたら、またエラーが。

確認ステータス: 未確認

最終確認 2009/01/31: 正しい確認メタ タグは XXXXX です。
検出されたメタ タグは YYYYY でした。

なんか知らないうちにMETAタグが変わってたっぽい。
ということで、即効で変更して確認済みに。

なんでだろう??
google codeでメールアドレス公開されちゃう対策でgmailアカウント取ったからかなぁ…?
それぐらいしか思い当たる節はないし。。。

まぁいずれにせよ定期的にチェックせざるを得ないわけですね^^;

FeedBlog Scriptに惚れた

MOONGIFT: ? JavaScript + XMLで動作するブログシステム「FeedBlog Script」:オープンソースを毎日紹介
で知ったFeedBlog。

※ 配布自体は公式サイトにてだいぶ前からされていたようですが、
  今年に入って、SourceForge上でオープンソース化(MITライセンスGPLv3に変更)したみたいです。

その名の通り、Ajax(Atom + JavaScript)なブログツールです。
(XMLで作った記事ファイルを、jQuery&Extというモダンなライブラリで表示)

基本的にはXMLで記事を記述してFTPアップロードする方式です。(rNote風?)
ただ、PHP製の編集スクリプトや、C#製のソフトも別に配布されています。
至れり尽くせりですね!

一目見た瞬間惚れちゃったので、早速使ってみました。
で、どうせなら何か応援できないかということで、見た目を改造してみました。

そうです、CSSもモダンなフレームワークでということで、Vicuna化することにしたのです!!

結果がこれです。

FeedBlog × Vicuna(Normal)
FeedBlog × Vicuna(Light)
(Lightバージョンは、ExtのPanelを使わず、innerHTMLでやってるので軽いです。
見た目はNormalの方がおしゃれです。)

※ 頻繁にアップデートされてるので、最新版に追いつけていない可能性があります。
  このエントリの公開時点では、Normalは1.5.1.0、Lightは1.5.0.0をベースにしています。

珍しくカスタマイズ成功でいい感じになってます…。
皆さんも是非使ってみてください!

トラックバックやコメントはないですが、
メモや日記等の用途には十分でしょう。

さて、僕は何に使おうかなー。

オマケ:JavaScriptのエラーとか

Firefoxでたまに、

Permission denied to get property HTMLDivElement.nodeType

なんていうエラーが出ます。
どうやらオートコンプリートがらみのエラーらしいのですが、
autocomplete="off"にしても解決しなかったのでとりあえず放置です。
※ 特に動作に影響はありません。

あと、なんかうちのIEでは動かなかったので、 一応動くように応急処置しています。
[2009/01/21 22:13]
 修正されてました。HTMLソースが不正とかいうエラーも出なくなってます。
 はやい!!既に僕のサンプルは最新版と整合性とれなくなっちゃいました。。。

何かXMLのgetElementsByTagNameでエラーになってました。

if(obj.getElementsByTagName) { // ←ここでエラー。

// 以下検証
alert(obj.getElementsByTagName); //エラー
alert(obj['getElementsByTagName']); //エラー
alert(!!obj.getElementsByTagName); //エラー
alert(obj && obj.getElementsByTagName); //エラー

alert('getElementsByTagName' in obj); // true
alert(typeof obj.getElementsByTagName != 'undefined'); // true(とりあえずこれで代替)

上記のように、普通にメソッドの有無を確認しようとするとエラーになります。

引数の数が一致していません。または不正なプロパティを指定しています。

だ、そうです。

MIME Typeをtext/xmlにすれば直るかなぁ、と思いましたが検討違いだったようで。
最後のtypeof&undefinedにすれば、動くようにはなりました。

※ ただエラーは残っています。。。

この操作に対して無効なHTMLのソースです

ってやつ。
エラー発生個所がライブラリの中にいっちゃったので、一旦追うのを止めてます^^;
(IEだとエラー追うの大変ですよねー)

オマケは以上です。
ソースは後日改めてちゃんと見ます!
セマフォとかやってて面白そうだったので。

XamppでPHP OpenID LibraryのOPのexample(Server)を動かしてみる

以下だらだら長文(しかも殴り書きなので文章めちゃくちゃ)書いてますが、
結局curlを有効にすれば普通にできます!

OP(Provider)編です。
RPがかなり簡単にできたので、特に調べずやってみます。

設定

http://localhost/openid/examples/server/server.phpにアクセスしてみると、

This server needs to be configured before it can be used. Edit config.php to reflect your server's setup, then load this page again.

おぉ、いきなりつまづいた…
しかもconfig.phpなんて見当たらないし。

とか思ってたら、setup.phpなんてのがあった。
http://localhost/openid/examples/server/setup.phpから設定できるらしい。
以下設定。

Server URL:http://localhost/openid/examples/server/server.php(デフォルト)

Include Path:空白(デフォルト)
ライブラリをPHPのincludeパスに含まれてないとこに置いてる時は必要っぽい。
とりあえず無視。DocumentRootに置くという本番ならありえない構成になってるのでまぁ大丈夫でしょう。

Store method:DB作るの面倒いので、Filesystemで。
Filesystem Pathは、/xampp/htdocs/openid/examples/server/にでもしておく。(セキュリティ0ですね^^)

できたソースがこちら↓

<?php
/**
 * The URL for the server.
 *
 * This is the location of server.php. For example:
 *
 * $server_url = 'http://example.com/~user/server.php';
 *
 * This must be a full URL.
 */
$server_url = "http://localhost/openid/examples/server/server.php";

/**
 * Initialize an OpenID store
 *
 * @return object $store an instance of OpenID store (see the
 * documentation for how to create one)
 */
function getOpenIDStore()
{
    require_once "Auth/OpenID/FileStore.php";
    return new Auth_OpenID_FileStore("/xampp/htdocs/openid/examples/server/");
}

?>

これをC:\xampp\htdocs\openid\examples\server\config.phpとして保存する。
(ここまでやるならファイル作成までやってくれたらいいのに。。。)

これで設定は完了の模様。

OpenID発行&認証

では、改めて…index.phpは説明だけっぽかったので、
http://localhost/openid/examples/server/server.php/loginにアクセス!

ユーザ名を入力してログインすれば、OpenIDが発行される。
(※ exampleなのでその辺りは緩く作ってあり、実際は発行作業をしなくても認証は可能)

Identifierはhttp://localhost/openid/examples/server/server.php/idpage?user=tnantoka。

ログイン!


成功!!


Identifierのページ


では、早速使ってみる。
前回のConsumerを利用)

http://localhost/openid/examples/consumer/のIdentity URLに
http://localhost/openid/examples/server/server.phpを入力。

30秒ぐらい待たされたのちにエラー。

Authentication error; not a valid OpenID.

2.0だからProviderのURLだけ入れればいいはずだよなぁ?

http://localhost/openid/examples/server/server.php/idpage?user=tnantokaでもダメ。

あぁ、こりゃ何かおかしい。

ヘッダのX-XRDS-Locationを確認したり、
xrdsファイルの中身を見てみたりするも解決せず。

ということで一旦断念。

再チャレンジ

気を取り直して、(ブログでは1行ですが実際はかなり時間が経ってます^^)

ダメもとでもう一度ログインしてみるもやはりだめ。

エラーログを確認してもPHPのエラーは特に出ていない模様。
echoを埋め込みまくり、途中でオブジェクトが空になっちゃってるっぽいことは確認できるも、やはり原因は不明・・・。

なんとなくStore方式をMySQLに変えてみるも効果なし。
(そりゃそうか)

行き詰まりまくったところで、
やっぱエラー出ないのはおかしいんじゃないか、とxamppの設定を疑い始める。

xampp/apache/bin/php.iniを確認してみると…


log_error = Off ←!
!→ ;error_log = "C:\xampp\apache\logs\phperror.log"

な、なんとー!!
ということで、Onにしてコメントを外してみた。

…結局エラーは出なかったけどね。(画面に出すようにしてても出てないんだから当たり前)

この作業自体に意味はなかったものの、これをきっかけにphp.iniの他の設定も気にし出す。(かなり今さら)

案の定extension=php_curl.dllがコメントアウト。
外してApache再起動したら普通にできた。
※ curlが使えないっていうエラーは吐かないんですね・・・。

ぼ、僕の苦労はいったい。。。(動作環境すら見ずに進めたのが悪いんですが。)

ログイン!


ID入力。


成功!!


※ storeをfilesystemに戻したらできなくなったけど、
  serverディレクトリの名前を変えたり、
  xampp/tmp/_php_consumer_test以下を全部消したりしたら出来た。
  認証ミスった時のキャッシュでも残ってたのかな??

以上、無駄に苦労してしまいました。
設定ぐらいは確認してから始めましょうと言うことですね!

参考

Home

Search
Loading
Feeds
Links
スポンサードリンク

Page Top