‘WEB関連’ カテゴリーのアーカイブ

【WordPress】自動保存・リビジョン管理を無効にするプラグイン「Disable Revisions and Autosave」をインストールしてみた

2010 年 3 月 4 日 木曜日

WordPressの2.6以上だと自動保存とリビジョン管理機能がデフォルトでついてくる。
実際自動で記事が保存され、記事の投稿など元に戻したいときは便利なんだろうけど。。。
僕にとってはちょっとわずらわしいものだった。
さらに、データベースMySQLのレコードがその都度増えていくのが嫌で、これらを無効にするプラグイン「Disable Revisions and Autosave」をインストールしてみた。

自動保存のみ停止したい場合
disable-autosave.zip
リビジョン管理のみ停止したい場合
disable-revisions.zip
両方停止したい場合
disable-revisions-and-autosave.zip

上記のいずれかのファイルをダウンロードして解凍し、/wp-content/plugin/ にアップロード。
その後、管理画面でプラグインを有効化すればOK。

これでデータベースの肥大化も防げるし、何よりも自動保存のわずらわしさが無くなって便利。

WordPress 2.7対応「導入&カスタマイズ」実践ガイド―個人ブログも企業サイトも簡単&無料で構築できる!

著者/訳者:吉村 正春

出版社:秀和システム( 2009-02 )

定価:¥ 2,730

Amazon価格:¥ 2,730

単行本 ( 415 ページ )

ISBN-10 : 4798022012

ISBN-13 : 9784798022017


つぶやくつぶやく

ウェブデザイン技能検定2級を受けてみました。

2010 年 3 月 2 日 火曜日

先日、福岡で「ウェブデザイン技能検定」2級を受けてきました。
この検定、ウェブ系初の国家資格らしく、今度の試験でもまだ数回目らしいです。

詳しくはインターネットスキル認定普及協会をごらんください。

「資格はとれるもんは取ってた方がいい」という身近な先輩のお話で、色々探した結果この検定を受けてみることにしました。。
3級から順に受けようとも思いましたが、3級の過去問を見た感じと、2級の受験資格を満たしていたので、2級にチャレンジ。
2万円近くの検定料を払って、いざ、勉強しようとしましたが。。。
過去問や参考サイトもなく。。。
ひたすら出題範囲の情報をまとめ、丸暗記作戦でのぞみました。
試験は、筆記が60分、実技が120分。
両方7割で合格です。

自己採点した結果、筆記は75%正解。筆記は合格したと思いますが。。。
特に苦手というか、あまり実務でも使わない法務関係を重点的に勉強しました。

実技は、実際にサイトのボタン画像の作成、バナー広告(FLASH、GIFアニメ)の作成、CSSでのサイトレイアウト、テキストファイルから構造を理解してのマークアップ、フォームの作成。
といたって基本的な内容。
ですが、時間が若干足りませんでした。。。
120分の試験にしては。。。
手数が多すぎます。笑
しかも慣れない環境(PC、アプリケーション)での実装。
まぁ、とりあえず全問題手をつけたので。。。

後は合格を祈るだけです。

合格したら、1級の受験資格(2級合格から2年以上)をまって、1級にもチャレンジしてみようと思います。
が。。。1級の試験って東京でしかやってないのね。

ウェブデザイン技能検定2級の出題範囲

出題範囲が広すぎるでしょ。。。

[1]インターネット概論
●インターネット
以下のインターネットの仕組みについての詳細な知識
・インターネットの仕組み
・ワールドワイドウェブ(WWW)
・通信プロトコル
・ハイパテキスト転送プロトコル(HTTP)
・その他、インターネットについての詳細な知識
●ネットワーク技術
以下のインターネット接続法についての詳細な知識
・アクセス方式
・ネットワーク接続法
・サーバ・クライアントモデル
・端末と接続機器
・その他、インターネットに関わるネットワーク技術についての詳細な知識
●インターネットにおける標準規格、関連規格の動向
以下のワールドワイドウェブ(WWW)における各種標準化団体及び標準規格及び関連規格、動向についての一般的な知識
・日本工業規格(JIS)
・国際標準化機構(ISO)
・ワールドワイドウェブコンソーシアム(W3C:World Wide Web Consortium)
・インターネット技術タスクフォース(IETF: Internet Engineering Task Force)
・欧州電子計算機工業会(ECMA:ECMA International)
・ウェブスタンダードプロジェクト(Web Standards Project)
・その他、ウェブデザインに関わる各種規格、技術動向についての詳細な知識
●ウェブブラウジング
以下のウェブブラウジング技術における詳細な知識
・ブラウジング
・端末
・ウェブブラウザの種類と仕様
・サービス
・データベースとの連携
・認証サービス
学科試験
以下のウェブ表示端末についての一般的な知識
・携帯電話
・携帯端末
・家電製品
各種端末に向けてウェブサイトを表示するための技術についての詳細な知識
●ワールドワイドウェブ(WWW)セキュリティ技術
以下のワールドワイドウェブ(WWW)における各種セキュリティ技術についての一般的な知識
・ウェブブラウザの種類と各種仕様
・公開鍵暗号基盤(PKI)
・ファイル転送
以下の各種法令に関する一般的な知識
・不正アクセス行為の禁止等に関する法律
・個人情報の保護に関する法律
以下のインターネットにおける各種セキュリティ及びマルウェア等の攻撃についての一般的な知識
・インターネットにおける不正アクセスの種類・方法
・マルウェアの攻撃方法
・対処、対策方法
●インターネット最新動向と事例
・インターネット及びワールドワイドウェブ(WWW)に関わる各種最新動向についての詳細な知識
・ウェブサイトを利用したビジネスモデルについての一般的な知識
・ウェブデザインに関わる最新事例についての詳細な知識
[2]ワールドワイドウェブ(WWW)法務
●知的財産権とインターネット
以下のワールドワイドウェブ(WWW)及びウェブ構築に関わる知的財産権及び関連する権利についての一般的な知識
・産業財産権
・著作権
・その他の権利
●インターネットに関わる法令等
電気通信事業法についての一般的な知識、また以下のインターネットに関わる法令についての一般的な知識
・プロバイダ責任法
・消費者保護基本法
・不当景品類及び不当表示防止法
・訪問販売法
・特定電気通信役務提供者の損害賠償責任の制限及び発信者情報の開示に関する法律
[3]ウェブデザイン技術
●ハイパテキストマーク付け言語及び拡張可能ハイパテキストマーク付け言語(HTML・XHTML)とそのコーディング技術
以下の記述言語についての詳細な知識
・ハイパテキストマーク付け言語(HTML)
・拡張可能ハイパテキストマーク付け言語(XHTML)
・拡張可能マークアップ言語(XML)
・その他、関連する言語等
以上のハイパテキストマーク付け言語における各種タグ及びコーディングについての詳細な知識
●スタイルシート(CSS)とそのコーディング技術
・ スタイルシート(CSS)のスタイル及びコーディング、利用についての詳細な知識
・ スタイルシート(CSS)のバージョン、各ウェブブラウザの対応状況に関しての詳細な知識
●スクリプト
以下のエクマスクリプト(Ecma Script)のコーディング及びシステムついての詳細な知識
・ ブックマークレット
・ 文書オブジェクトモデル(DOM)
●サーバサイドアプリケーション
以下のサーバサイドアプリケーション及びスクリプトについての一般的な知識
・ サーバ及びクライアントにおけるスクリプトとプログラム
・ コモンゲートウェイインタフェース(CGI)
・ アクティブサーバページ(ASP)
・ ハイパテキストプロセッサ(PHP)
・ ジャバサーバページ(JSP)
[4]ウェブ標準
・ウェブ標準に基づいたウェブサイトの制作手法についての一般的な知識
[5]ウェブビジュアルデザイン
●ページデザイン及びレイアウト
以下のウェブサイトにおけるページデザインに関する要件についての詳細な知識
・テキストの種類と利用
・画像(イメージ) データの種類と加工、利用
・ウェブカラーデザイン
・構成について
・レイアウト手法
ウェブサイトのページデザイン、サイト構築についての一般的な知識
●マルチメディアと動的表現
以下のマルチメディアデータに関わる各項目についての詳細な知識
・マルチメディアデータの種類(動画、音声ファイル、MIDI ファイル、アニメーション<GIF アニメーション、フラッシュ:Flash>、同期化マルチメディア統合言語
(SMIL:Synchronized Multimedia Integration Language)等)
・マルチメディアデータの作成と加工
・組込
・配信
マルチメディアデータを利用したウェブサイトのコンテンツデザイン、サイト構築についての詳細な知識
[6]ウェブインフォメーションデザイン
●インフォメーションデザイン
以下のウェブサイト構築を目的とした情報デザイン手法についての詳細な知識
・情報の構造化
・サイトマップの構成と設計
・ゾーニング
●インタフェースデザイン
ユーザーに配慮し目的に合致したインタフェースに関する要件についての詳細な知識
・ナビゲーション
・インタラクション
・グラフィカルユーザインタフェース(GUI)
●ユーザビリティ
以下のウェブサイト構築におけるユーザビリティに関するデザイン手法についての一般的な知識
・人間工学
・ISO9241-11
・ユーザ工学(ユーザビリティエンジニアリング)
●各種データベースとの連携によるダイナミックなサイトデザイン
以下のウェブサイト構築におけるデータベースおよびウェブプログラミングについての一般的な知識
1. データベース言語SQL
2. 各リレーショナルデータベースマネジメントシステム(RDBMS)
3. 各ウェブプログラミング言語によるデータベースの操作
[7]アクセシビリティ・ユニバーサルデザイン
以下のウェブサイト構築におけるアクセシビリティに配慮したデザイン手法及びユニバーサルデザイン手法についての一般的な知識
・ウェブコンテンツJIS(JIS X 8341-3)
・ウェブコンテンツアクセシビリティガイドライン
・ユニバーサルデザイン
・各種補助ソフトウェアとインタフェース
以上を用いてウェブサイトの構築及びページデザインについての一般的な知識
[8]ウェブサイト設計・構築技術
以下の各種ウェブサイト構築に関わる詳細な知識
・サービスサイト
・イーコマースサイト
・イーラーニングサイト
・バナー広告のタイプと作成
・ブログ(blog)サービス、サイトデザイン
・課金・決済サービス
以下の各種設計・構築技術においての一般的な知識
・コミュニケーション
・企画
・プランニング
・サイト設計
・サイト構築
[9]ウェブサイト運用・管理技術
以下の各種ウェブサイト運用・管理技術においての詳細な知識
・サイト管理
・システム保守
・アクセスログの管理
[10]安全衛生・作業環境構築
ウェブデザイン作業に伴う安全衛生に関する以下の事項についての詳細な知識
・機械、器工具、原材料等の危険性又は有害性及びこれらの取扱い方法
・安全装置、有害物抑制装置又は保護具の性能及び取扱い方法
・作業手順
・作業開始時の点検
・ウェブデザイン作業に関して発生するおそれのある疾病の原因及び予防
・人間工学に配慮したコンテンツの設計、配信
・VDT 作業等に適した作業環境の設定
・整理整頓及び清潔の保持
・事故時等における応急措置及び退避
・その他ウェブデザイン作業に関わる安全又は衛生のために必要なこと
労働安全衛生法関連法令(ウェブデザイン作業に関わる部分に限る)についての詳細な知識

ウェブデザイン技能検定2級対策問題集

著者/訳者:ウェブデザイン技能検定対策研究会

出版社:クリーク・アンド・リバー社( 2008-09-05 )

定価:¥ 2,100

Amazon価格:¥ 2,100

単行本 ( 80 ページ )

ISBN-10 : 4903679039

ISBN-13 : 9784903679037


つぶやくつぶやく

Visual Studio2005とIE8でJavaScriptをデバッグする方法

2010 年 2 月 7 日 日曜日

開発環境を再構築した際に、IE8でバグが発生するとのことだったので、IEを思い切って8にバージョンアップした。(今までずっとIEは6を使用していました。メインブラウザはFireFox3.5です。)
なんか色々と勝手が違ったので色々とWEBで調べたら、どうやら、Visual Studio2005とIE8は相性がよくないみたいで。。。
早くVisual Studio2008とか2010とかにバージョンアップしたいんだけど、完全に日本語対応してなかったり、色々と不都合があったりで。。。未だに2005を開発環境にしている。(まぁ折を見てバージョンアップしていかないとね。)

特にJavaScriptのデバッグを今までVisal Studio2005で行ってたんだけど、IE8自身でデバッグのツールがついてるので、どうやらそちらでデバッグしてくださいって感じで。。。
今までの開発環境を変更するのはちょっと。。。と思ったので、Visual Studio2005とIE8でJavaScriptのデバッグをする方法を調べた。
今後のために備忘録としてメモ。

色々調べてみるとIE8では、window.openすると、別プロセスとなり、セッションの挙動も変わるらしい。
プロセスが変わるため、JavaScriptのデバッグが出来なくなっているらしい。
ということで、レジストリをいじることにより、window.openしても同一プロセスとみなすように設定すると、今までのようにVisal Studio2005とIE8でデバッグできるようになるらしい。
レジストリをいじる手順は以下のとおり。

  1. 「ファイル名を指定して実行」でRegEditを開く。
  2. RegEditでHKEY_LOCALMACHINE -> SOFTWARE -> Microsoft -> Internet Explorer -> Mainを開く
  3. ここで、DWORD値の「TabProcGrowth」という新規キーを追加し、値を0にする。
  4. IE8の詳細設定で、「スクリプトのデバッグを使用しない」のチェックを外す
  5. マシンの再起動

とりあえずは、これでVisalStudio2005とIE8でJavaScriptのデバッグが出来るようになった。
なんかブラウザや開発環境が変わるたびに色々と変更しないといけなくて。。。
大変ですよね。。。

Visual Studio2008機能操作ガイドブック

著者/訳者:日向 俊二

出版社:アスキー・メディアワークス( 2008-05-21 )

定価:¥ 3,150

Amazon価格:¥ 3,150

単行本 ( 332 ページ )

ISBN-10 : 4048700278

ISBN-13 : 9784048700276


つぶやくつぶやく

【ASP.NET】「web サーバーでデバッグを開始できません。」というエラーが出た時は

2010 年 2 月 7 日 日曜日

先日、急にPCがおかしくなり、Visual Studio 2005やIISの構成を再構築した。
その時、Visal StudioとIISを使ってWEBアプリケーションをデバッグしようとしたら、以下のメッセージが出てはまったので、備忘録としてメモ。

web サーバーでデバッグを開始できません。 web サーバーは正しく構成されていません。

このメッセージが出たときは、IISのアプリケーションの構成を確認して、動かしたい拡張子がちゃんと定義されているか確認する。

IISのアプリケーションの構成

IISのアプリケーションの構成


ちゃんと定義されていても、ASP.NETをインストールする順序が違ったりすると構成の関連付けが上手くいっていないこともあるので、以下のコマンドを実行して、再度ASP.NETを再インストールする。
(「ファイル名を指定して実行」に1行ずつコピーして実行)

C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -u
C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i

※aspnet_regiis.exeまでのパスはそれぞれの環境で違うのでそれぞれでしてする。

上の1行目のコマンドでASP.NETの関連付けをアンインストールして、再度、2行目のコマンドで再インストールするという流れ。
それぞれのコマンドは数分ほどかかるので、それぞれ終わるまで確認する。
これで大体のエラーはOKだと思います。

基礎からのASP.NET SE必修! (SE必修!プログラマの種シリーズ)

著者/訳者:目時 秀典 鈴木 和久

出版社:ソフトバンク クリエイティブ( 2007-03-27 )

定価:¥ 3,360

Amazon価格:¥ 3,360

大型本 ( 560 ページ )

ISBN-10 : 4797338229

ISBN-13 : 9784797338225


つぶやくつぶやく

【ASP.NET】C# E-mailチェックとURLチェックの正規表現サンプル

2009 年 12 月 17 日 木曜日

入力フォームでE-mailやURLの入力をチェックするのに、正規表現を使って行うけど、ネットを探して見つけたサンプルが、全然使えなくて大変だった。笑
ただでさえ、C#のサンプルってあまりないのに。。。
MSDNのサイトのサンプルさえも使えなくて。。。
どのサンプルもURLチェックで、「-」(ハイフン)付きのURLがどうしても通らなくて。。。
正規表現の予約語で<host>とか<domain>とかってあるけど、あれって、どんな文字までチェックしてるんだろう。。。

RegularExpressionValidatorツールを使えば、まぁ簡単にE-mailやURLのチェックもしてくれるんだろうけど、実装上どうしても使えないときに手組みしないといけなくて。。。
でも、このRegularExpressionValidatorツールのプロパティ「ValidationExpression」に「正規表現エディタ」というのがあったので、こちらを使ってサンプルを実装。

正規表現エディタ

正規表現エディタ


VisualStudioってほんと便利だなぁ~。

正規表現、昔勉強したけど、完全に忘れていきそう。笑

E-mailチェックの正規表現サンプル

//Emailチェック
System.Text.RegularExpressions.Regex regex =
  new System.Text.RegularExpressions.Regex(@"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*");
System.Text.RegularExpressions.Match m =
    regex.Match("対象文字列");
if (!m.Success)
{
    string errorMsg = "E-Mailの入力が正しくありません。";
}

URLチェックの正規表現サンプル

//URLチェック
System.Text.RegularExpressions.Regex regex =
  new System.Text.RegularExpressions.Regex(@"http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?");
System.Text.RegularExpressions.Match m =
    regex.Match("対象文字列");
if (!m.Success)
{
    string errorMsg = "E-Mailの入力が正しくありません。";
}

詳説 正規表現 第3版

著者/訳者:Jeffrey E.F. Friedl

出版社:オライリージャパン( 2008-04-26 )

定価:¥ 5,040

Amazon価格:¥ 5,040

大型本 ( 528 ページ )

ISBN-10 : 4873113598

ISBN-13 : 9784873113593


つぶやくつぶやく

やっぱりtext-indent:-9999px;はGoogleのガイドライン違反だって

2009 年 12 月 16 日 水曜日

今年の二月にも記事にしたけど、
text-indent:-9999pxでGoogle検索のペナルティ??
やっぱりtext-indent:-9999pxで、テキストを隠すのは、Googleのガイドライン違反らしい。

昨日のGoogle Webmaster Central Blogに記事が出てた。

やっぱりガイドライン違反だったのね。。
そうかもしれない、って時点で主要なサイトは対応してたからよかったけど、色々なサイトでバタバタと対応がはじまるんだろうなぁ。。。

でも「ユーザーのため」の隠しテキストならOKらしい。

ユーザーに読ませることを想定し、ユーザーにとって有益なものであると考えられるものであれば ( 例えばテキストブラウザや、テキスト読み上げソフトをご利用のユーザーのために書かれたものである場合 ) 、問題はありません。

だけど、この「ユーザーのため」っていう判断の線引きが難しい。

「たとえ検索エンジンが存在しなくてもそのテキストを書いたかどうか」と考えてみてください。もし検索エンジンが存在しなくても、そのテキストがユーザーの利便性のために必要なものであると思われる場合、おそらくそれはガイドライン違反ではありません。

Googleサイドも「おそらく、違反ではない」という曖昧な表現。

まぁ、今のWEBでGoogle八分食らったら、もうなすすべはないほど、Googleに牛耳られてるわけで。。。

僕もGoogle八分くらって、サイトを完全に立ち上げなおしたことあるけど。。。

Google様のお嫌いなことは出来るだけしないようにした方が無難ですね。

ホームページ担当者が知らないと困るWebサイトリニューアルの常識

著者/訳者:布施 譲

出版社:ソシム( 2009-12-08 )

定価:¥ 1,680

Amazon価格:¥ 1,680

単行本 ( 255 ページ )

ISBN-10 : 488337601X

ISBN-13 : 9784883376018


つぶやくつぶやく

【WordPress】Ktai Styleで画像が表示されない時

2009 年 12 月 1 日 火曜日

Google Analyticsが携帯サイトにも対応し始めたので、携帯のアクセス解析もじっくりとGAで観察出来るようになった。
WordPressの携帯用変換プラグインKtaiSyleへのトラッキングコード導入方法は、前回の記事「
【WordPress】Ktai styleにGoogle Analyticsのトラッキングコードを埋め込む方法」を参照。

アクセス解析を真剣に始めて、いろいろと分かったことがあるが、携帯サイトも真剣に作らんといかんなぁと思い、今回ちょっとしたリニューアルを行った。

色々とKtaiStyleのテーマを再構築していて気づいたけど。。。
KtaiStyleって記事中の画像をサムネイル化してちゃんと携帯でも表示してくれるのね。。。
知らなかった。。。僕の今までの環境だったら、画像へのテキストリンクしかなかった。。。
ほったらかしって良くないですね。。。
ちゃんと最初でしっかりと構築すべきだった。
でも、なんでサムネイル画像が表示されないんだろう??と色々調べ、知人にもヘルプを頂いたので、備忘録としてメモ。

躓いた時はやはり原点に立ち返るのが一番早い。
Ktai Styleのサイトの「よくある質問と答え」にまさに答えがあった。

3G 端末で見ても画像がインライン表示されない
3G 端末, ウィルコム, スマートフォン等で見たとき画像がインライン表示されない場合は以下の点を確認してください。

* ウェブログ配下の画像であるか (外部サイトの画像は従来通りリンクへの変換です)。
* 当該画像が入っているディレクトリーに、WordPress (ウェブサーバー) からの書き込み権限があるか。wp-content/uploads 配下のディレクトリーのパーミッションが 757 になっていないと縮小画像が作成できず、インライン表示もされません。
* 当該画像の img 要素で alt 属性が空になっていたり、width, height 属性の値が 1 になっていないか。この場合、適切な alt 文字列を補完してやったり、適切な width, height 値を与えてやれば画像が出ます。WordPress 2.5 のメディアアップロードは、デフォルトでは「キャプション」(== alt 属性用の文字列) が空白ですので、何も指定しない場合、alt=”” という img 要素を作ってしまいます。
* PHP に GD が組み込まれているか確認してください。GD がない場合は画像の縮小処理ができないため、すべてリンクになります。GD がないと、WordPress の利用自体が不便になるため、サーバー管理者に PHP の再インストールを要求してみてください。

どうしても原因不明の場合、shrinkage.php の21行目にあるコメント (KS_SHRINKAGE_DEBUG) を外してデバッグモードにしてください。この場合、サムネール作成時のエラーがブラウザーに表示されますので、その内容と shrinkage.php のソースコードを突き合わせて原因を調べてみてください。

僕の環境ではphpのGDライブラリがおかしかったみたい。
phpの再構築をしなおして、再トライしたら、画像表示された。

携帯サイトの構築も真剣にやらんとなぁ。

携帯サイト コーディング&デザイン

著者/訳者:高木 悠介

出版社:ソフトバンククリエイティブ( 2008-12-26 )

定価:¥ 2,709

Amazon価格:¥ 2,709

大型本 ( 260 ページ )

ISBN-10 : 4797348488

ISBN-13 : 9784797348484


つぶやくつぶやく

【WordPress】Ktai styleにGoogle Analyticsのトラッキングコードを埋め込む方法

2009 年 11 月 17 日 火曜日

本家のGoogleでは、ちょっと前にGoogle Analyticsのモバイルサイトへの対応がアナウンスされていたけど、日本でも徐々に公開されているみたい。

Google Analyticsのモバイルサイト用トラッキングコード取得画面

Google Analyticsのモバイルサイト用トラッキングコード取得画面

早速、トラッキングコードをWordPressの携帯用コンバートプラグインKtai styleに埋め込んでみた。
トラッキングコード取得画面に以下のような各サイトでの告知フォームがあったので、貼り付けておく。
まだ完全に日本版に対応してないみたいで、日本語がちょこちょこおかしい。

ウェブサイトに Google Analytics を導入するための手順です。

下記のコードをコピーして、解析するすべてのページの</body> タグの直前に貼り付けてください。
Note: Do not use desktop tracking code on pages where you use mobile tracking.

<html>下記のコードをコピーして、解析するすべてのページの </body> タグの直前に貼り付けてください。
<?php
// Copyright 2009 Google Inc. All Rights Reserved.
$GA_ACCOUNT = “MO-○○○○○○○○”;
$GA_PIXEL = “ga.php”;

function googleAnalyticsGetImageUrl() {
global $GA_ACCOUNT, $GA_PIXEL;
$url = “”;
$url .= $GA_PIXEL . “?”;
$url .= “utmac=” . $GA_ACCOUNT;
$url .= “&utmn=” . rand(0, 0×7fffffff);
$referer = $_SERVER["HTTP_REFERER"];
$query = $_SERVER["QUERY_STRING"];
$path = $_SERVER["REQUEST_URI"];
if (empty($referer)) {
$referer = “-”;
}
$url .= “&utmr=” . urlencode($referer);
if (!empty($path)) {
$url .= “&utmp=” . urlencode($path);
}
$url .= “&guid=ON”;
return $url;
}
?>

</body>下記のコードをコピーして、解析するすべてのページの </> タグの直前に貼り付けてください。
<?php
$googleAnalyticsImageUrl = googleAnalyticsGetImageUrl();
?>
<img src=”<?= $googleAnalyticsImageUrl ?>” />

Copy this file to your root directory

https://ssl.gstatic.com/analytics/20091103/mobile/ga.php

ご協力に感謝いたします。

だけど、Googleの手順どおりトラッキングコードを埋めても、全然データを取得している様子がなかったので、ちょっと自分で手を加え修正を行った。
以下は備忘録としてメモ。

まず、最初に、Ktai-styleのthemeフォルダ内で、現在使用してるテーマのheader.phpの一番頭に以下のコードを貼り付け

<?php
  // Copyright 2009 Google Inc. All Rights Reserved.
  $GA_ACCOUNT = "MO-○○○○○○○○"; //各自のアカウントを入力して下さい。
  $GA_PIXEL = "ga.php";

  function googleAnalyticsGetImageUrl() {
    global $GA_ACCOUNT, $GA_PIXEL;
    $url = "";
    $url .= $GA_PIXEL . "?";
    $url .= "utmac=" . $GA_ACCOUNT;
    $url .= "&utmn=" . rand(0, 0x7fffffff);
    $referer = $_SERVER["HTTP_REFERER"];
    $query = $_SERVER["QUERY_STRING"];
    $path = $_SERVER["REQUEST_URI"];
    if (empty($referer)) {
      $referer = "-";
    }
    $url .= "&utmr=" . urlencode($referer);
    if (!empty($path)) {
      $url .= "&utmp=" . urlencode($path);
    }
    $url .= "&guid=ON";
    return $url;
  }
?>

しかし、僕の環境では7行目のglobal変数がきちんと定義されず、空文字を返したため、3,4行目を7,8行目の間に挿入。
そして、WordPressはURLを.htaccessで処理してパーマリンクを生成するので、絶対パスを指定するため、8行目をWordPressをインストールしたルートのURLに書きかえる。
僕の場合は、「$url = “http://daisuke-watanabe.com/”;」
さらに、色々と処理を追いかけたけど、どうしてもトラッキングしてなかったみたいなので、22、23行目の間に 「$url .= “&utmdebug=ON”;」を追記。
「$url .= “&utmdebug=ON”;」を追記しなくてもトラッキングするようになったので削除。
結果、以下のソースに書き換えたものをheader.phpの頭に貼り付ける。

<?php
  // Copyright 2009 Google Inc. All Rights Reserved.

  function googleAnalyticsGetImageUrl() {
    global $GA_ACCOUNT, $GA_PIXEL;
    $GA_ACCOUNT = "MO-○○○○○○○○"; //各自のアカウントを入力して下さい。
    $GA_PIXEL = "ga.php";
    $url = "http://daisuke-watanabe.com/"; //WordPressをインストールしたルートのURL
    $url .= $GA_PIXEL . "?";
    $url .= "utmac=" . $GA_ACCOUNT;
    $url .= "&utmn=" . rand(0, 0x7fffffff);
    $referer = $_SERVER["HTTP_REFERER"];
    $query = $_SERVER["QUERY_STRING"];
    $path = $_SERVER["REQUEST_URI"];
    if (empty($referer)) {
      $referer = "-";
    }
    $url .= "&utmr=" . urlencode($referer);
    if (!empty($path)) {
      $url .= "&utmp=" . urlencode($path);
    }
    $url .= "&guid=ON";
    //$url .= "&utmdebug=ON"; //付けなくてもトラッキングされたのでコメントアウト
    return $url;
  }
?>

次に、footer.phpの</body>の直前に以下のソースを貼り付け。

<?php
  $googleAnalyticsImageUrl = googleAnalyticsGetImageUrl();
?>
<img src="<?= $googleAnalyticsImageUrl ?>" />

最後に、
https://ssl.gstatic.com/analytics/20091103/mobile/ga.php
から、「ga.php」という名前のファイルをダウンロードして、WordPressをインストールしたルートのフォルダにアップロードすれば完了。

携帯で表示確認して、もし、画面の一番下にリンク切れの画像が出たら、トラッキングコードの埋め込み失敗です。
もう一度、最初からよく見直して処理しなおしてください。
どこかが間違えてるはず。
ちょっと色々と苦戦したので、最終的にSSIでやっちゃおうかとも思ったけど、無事トラッキング開始されはじめました。

Google Analytics今やほんとに色々な設定が出来て便利になってきてる。
モバイルサイトの解析もどんどん進化していってもらいたいなぁ~。

↓↓↓2009/12/3に発売されるGoogleAnalyticsの解説本。ちょっと楽しみ。

Google Analytics 完全解説

著者/訳者:日経BPコンサルティング Webコンサルティング部

出版社:日経BPコンサルティング( 2009-12-10 )

定価:¥ 2,940

Amazon価格:¥ 2,940

大型本 ( 346 ページ )

ISBN-10 : 4901823272

ISBN-13 : 9784901823272


つぶやくつぶやく

「鹿児島県警あんしんメール」をTwitterにTweetするBotをつくりました

2009 年 11 月 5 日 木曜日

鹿児島県警から配信されている子どもたちの安全確保や地域の犯罪防止を図るための「鹿児島県警あんしんメール」をTwitterにTweetするBotをつくりました。

今までには鹿児島市の災害情報等をTweetするBot @KagoshimaSaigaiを制作・管理してましたが、そのBotの紹介記事@koji_okinoさんから次のようなコメントを頂きました。

ところで,先日来考えているのですが,鹿児島県警が配信している「鹿児島県警安心メール」という不審者情報のメール配信サービスがあります。塾をやっている関係で受信しているのですが,これをtwitterで発信できればと思っています。

僕もこのメールの存在自体は知ってはいたのですが、Botにしようなんて発想はありませんでした。
やっぱり。。。子供もいないし、結婚もしてないからでしょうね~。笑

さすがは塾をやっておられるだけあって、子供たち思いですね!

このBot、@omiさんが制作してたような気がしたので、念のため確認した上OK頂いたので、早速制作しました。

今回もコンソールアプリを採用。

このbotも一日でもTweetしない日が増えてくれることを願っております。

多くの人にこの情報を知ってもらい安心して暮らせる鹿児島になればいいなぁと思います。

つぶやくつぶやく

【ASP.NET】C# DataTable.Select()メソッドにはやはりバグがある!?

2009 年 10 月 30 日 金曜日

久しぶりに技術的な記事でも。
MSDNのフォーラムで非常に興味深い投稿があったので自分でも色々試してみた。

僕自身もDataTable.Select()メソッドはなんか変だなぁと違和感をずっと感じていた。
前もブログの記事にしたけど、

やっぱりDataTable.Select()メソッドには何かしらのバグがあるとしか思えない。

まず下のソースコードだが、フォーラムの投稿を僕の普段の環境Visual Studio 2005、.NET Framework 2.0という条件に書き直して実行してみた。

    DataTable dt = new DataTable();

    dt.Columns.Add("Column1", typeof(string)).AllowDBNull = false;
    dt.Columns.Add("Column2", typeof(string)).AllowDBNull = false;
    dt.Columns.Add("Column3", typeof(string)).AllowDBNull = false;

    // DataTable.Load などでは内部的に実行される
    dt.BeginLoadData();
    dt.EndLoadData();

    // (回避その1 → 削除しない)
    dt.Columns.Remove("Column1");

    // (回避その2 → テーブルを作り直す)
    //dt = dt.Copy();

    Random r = new Random();
    for (int i = 0; i < 1000; i++)
    {
        DataRow row = dt.NewRow();
        row["Column2"] = "";
        row["Column3"] = new string((char)r.Next('A', 'Z' + 1), 1);
        dt.Rows.Add(row);
    }

    // DataView による絞り込み
            DataView dv = new DataView(dt,"Column3 = 'C'",string.Empty,DataViewRowState.CurrentRows);
    int rowCount1 = dv.Count;
    // Select による絞り込み
    int rowCount2 = dt.Select("Column3 = 'C'").Length;
    // (回避その3 → 条件内で関数を使う)
    int rowCount3 = dt.Select("convert(Column3, 'System.String') = 'C'").Length;

    MessageBox.Show(
        string.Format(
            "1. DataView.RowFilter → {0}\r\n" +
            "2. DataTable.Select → {1}\r\n" +
            "3. DataTable.Select(2) → {2}",
            rowCount1, rowCount2, rowCount3));

MSDNの投稿にもあるように、DataTableからカラムを削除すると、DataViewにキャストしたときの件数、DataTable.Select()で取得した件数、DataTable.Select()メソッド内で関数を使った場合の件数それぞれが一致しなかった。
やはり、DataTable.Select()メソッドにはバグがあるように思えてしかたない。
普段、よく使うメソッドだけに、慎重に使用しないといけないと思い直した。

Microsoftさん。気づいていたら早急に対応して頂きたいものです。
それとも何か理由があるのだろうか??
また分かり次第、記事にしてみようと思う。

Visual Studio 2005 でいってみよう ASP.NET2.0編 (DB Magazine SELECTION)

著者/訳者:山田 祥寛

出版社:翔泳社( 2007-07-31 )

定価:¥ 2,520

Amazon価格:¥ 2,520

単行本(ソフトカバー) ( 368 ページ )

ISBN-10 : 4798114278

ISBN-13 : 9784798114279


つぶやくつぶやく
Pages: 1 2 3 4 5 6 7 次へ