2016年9月11日日曜日

Google Photo Backup の転送量制限

Google Photo Backup の転送量の限界を見極める

Google Photo Backup(Windows 版)は、「高画質」(Google 側で圧縮を行う)設定であれば容量無制限で写真を Google のクラウドにバックアップできるという便利な機能なんですが、果たして本当に容量無制限なのか、ちょいと試してみました。

検証結果

ファイル数:55,300、フォルダー数:350、サイズ:132 GB のフォルダのバックアップを試してみたところ、およそ 100 GB までは何の問題もなくバックアップが行われました。その後は一ヶ月近くうんともすんとも言わないので、私のアカウントの場合は 100 GB で転送制限がかかったように見受けられます。

ネット上では「10 GB で制限がかかる」という内容を目にしましたが、もしかしたら Google アカウントの容量と関連があるのかもしれません(今回使用しているアカウントは、有料で 200 GB 増量していたので)。

Blogger の小枝

2016年7月1日金曜日

Chrome でのブラウジングが遅くなる(つづき)

現象

Google Chrome を使用していて、Google 関連サイト(たとえば Google Map など)の閲覧が目に見えて遅くなる、という問題に遭遇しました。少々厄介なのが、Chrome を起動した直後はそれほど問題無く動作するのですが、少し時間が経過すると(30 分くらい?)、目に見えて動作が緩慢になるというところです。

……えー、前回の記事「Chrome でのブラウジングが遅くなる(フレッツ光ネクスト環境)」のコピペなんですが、その後わかったこともありますので、補足記事を作成しました。

考えられる原因

Google は、QUIC というレイヤ 4 プロトコルの開発を進めています。QUIC は "Quick UDP Internet Connections" の略です。QUIC は Google Chrome に標準実装されているので、Chrome で QUIC に対応したサーバー(サービス)に接続する場合は、自動的に QUIC が使用されます。

ただ、このプロトコルは現在進行形で開発中のもののため、環境によっては(例えば特定のブロードバンドルータなど?)接続に問題が生じる可能性もあります。「Chrome だけ Google が遅い」という問題の一部が、この QUIC に起因している可能性がありそうです。

対策

「Chrome だけ Google が遅い」現象が出た場合は、Chrome の QUIC サポートを無効にすることができます。



手順は割と簡単です。

  1. Google Chrome のアドレスバーに「chrome://flags」と入力する
  2. 「試験運用版の QUIC プロトコル」の設定を「無効」に変更する
  3. Google Chrome を再起動する

我が家の環境では、これで 100% 問題が解決できた……というわけでも無いですが、以前よりも体感は改善されたかな、と言った感じです。何らかのセッション管理でタイムアウトしてるっぽい印象はあったのですが、UDP だったというのは少々虚を突かれた感じもします。

Blogger の小枝

2016年6月13日月曜日

「AdSense 審査時には画像を外さないといけない」という都市伝説

冗談のような本当の話なのですが、最近「AdSense の審査を受ける際には画像を外さないといけない」という話を真に受けている人が散見されます。もちろん、そのようなことはあり得ないですし、むしろ画像が全く無いような Web サイトが審査に通るとは考え難いのですが……。


まぁ、だからと言って本文と関連の無い写真を突然貼り付けるのもどうかという話もあるんですけどね(汗)。

「AdSense の審査に通らない画像」の真実

ただ、「AdSense の審査に通らない画像」があるのは事実です。具体的には、次のような画像があると、おそらく審査には通りません。

  • 他者の肖像権を侵害する画像(主に芸能人の写真など)
  • 他者の著作権を侵害する画像(自分で撮影していない写真や自作ではないイラストなど)
  • ポルノなど(AdSense はアダルトサイトでは使用できません)


もうお気づきかと思いますが、最後の「ポルノ」以外は AdSense 以前の問題で、法的および道義的に問題のある行為です。更に言えば、画像以外のコンテンツであっても、「他者の著作権を侵害するもの」、即ち「コピペコンテンツ」である時点で NG となる可能性が高いと思われます。

AdSense アカウントの取得を急ぐ前に

AdSense は他社の類似サービスと比べてクリック単価が高いと言われていますが、これは広告出稿者から見た場合に、「良質な Web サイト」に広告を掲出するためのコストが上乗せされている、とも捉えることができます。つまり、不正な手段で PV を得ている時点で AdSense 広告を掲出するのに相応しくないサイトだ、ということになります。

仮に、前述の「AdSense の審査に通らない画像」を外して審査をパスしたとしても、その後このようなコンテンツが含まれるページに AdSense 広告を掲出したならば、一発で広告配信が停止され、二度と AdSense のアカウントを持てなくなる可能性があります。

AdSense アカウントの取得を急ぐ前に、AdSense のガイドラインを熟読するとともに、ご自身の Web サイトに権利面などの問題が存在しないか、改めて見直してみることをおすすめします。

Blogger の小枝

2014年12月30日火曜日

Blogger の「前の投稿」「次の投稿」を記事タイトルに変更する

この Blog もそうなのですが、Blogger で記事を閲覧すると、画面下のほうに「次の投稿」「ホーム」「前の投稿」というリンクが表示されます。


この「次の投稿」「前の投稿」を、記事のタイトル名に変えられたらいいなーと思ったのですが、実は JQuery を使えばちょいちょいと変更できることを知りました(テンプレートの編集は不要です)。

手順

Blogger の管理画面で「レイアウト」を開き、「ガジェットを追加」をクリックします(「ガジェットを追加」はどれを選んでも構いません)。


「HTML/JavaScript」を追加します。


「コンテンツ」に、以下の JavaScript をコピー&ペーストします。
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
var olderLink = $("a.blog-pager-older-link").attr("href");
$("a.blog-pager-older-link").load(olderLink+" h3:first", function() {
var olderLinkTitle = $("a.blog-pager-older-link:first").text();
$("a.blog-pager-older-link").text(olderLinkTitle);
});
var newerLink = $("a.blog-pager-newer-link").attr("href");
$("a.blog-pager-newer-link").load(newerLink+" h3:first", function() {
var newerLinkTitle = $("a.blog-pager-newer-link:first").text();
$("a.blog-pager-newer-link").text(newerLinkTitle);
});
</script>
※このスクリプトは How to Replace Older Posts and Newer Posts Links with Blogger Post Titles より引用しています。


ちょいと改造

基本的にはこのスクリプトで何ら問題無く動作するのですが、記事名が長すぎる場合などに見映えが損なわれる場合があるので、次のように改造してみました。あと、async は単なる気休めです(笑)。

<script async='async' type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script async='async' type="text/javascript">
var olderLink = $("a.blog-pager-older-link").attr("href");
$("a.blog-pager-older-link").load(olderLink+" h3:first", function() {
var olderLinkTitle = $("a.blog-pager-older-link:first").text();
if( olderLinkTitle.length > 16 ) {
    olderLinkTitle = olderLinkTitle.substr(0, 16) + "...";
}
$("a.blog-pager-older-link").text(olderLinkTitle);
});
var newerLink = $("a.blog-pager-newer-link").attr("href");
$("a.blog-pager-newer-link").load(newerLink+" h3:first", function() {
var newerLinkTitle = $("a.blog-pager-newer-link:first").text();
if( newerLinkTitle.length > 16 ) {
    newerLinkTitle = newerLinkTitle.substr(0, 16) + "...";
}
$("a.blog-pager-newer-link").text(newerLinkTitle);
});
</script>



Blogger の小枝

2014年10月7日火曜日

Chrome でのブラウジングが遅くなる(フレッツ光ネクスト環境)

現象

Google Chrome を使用していて、Google 関連サイト(たとえば Google Map など)の閲覧が目に見えて遅くなる、という問題に遭遇しました。少々厄介なのが、Chrome を起動した直後はそれほど問題無く動作するのですが、少し時間が経過すると(30 分くらい?)、目に見えて動作が緩慢になるというところです。

ずーっと原因を探していたのですが、どうやら NTT がフレッツ光の利用者にレンタルしている PR-S300SE という「ひかり電話ルータ」の SPI (Stateful Packet Inspection)が誤作動しまくっているのが原因じゃないか、という推論に辿り着きました。

「PPPキープアライブを無効にすれば良い」という情報もありましたが、我が家の環境ではあまり効果はありませんでした。

確認方法

PR-S300SE の管理画面で [ 情報 ] → [ セキュリティログ ] で、廃棄[SPI] と記されたログが大量に出ていないか確認することで、現在の状態を確認することができます。我が家の場合は 1 分間に 20 パケットくらいが「廃棄[SPI]」と表示されていました。

解決策

根本的な解決策は「PR-S300SE 以外の機種に交換する」なのですが、レンタル品なのでそう簡単には交換に応じてもらえません。そこで諦めていたのですが、実はこの PR-S300SE、デフォルトで「PPPoE ブリッジ」が使用できるのだそうで。つまり、PR-S300SE の下にブロードバンドルータを置けば、ブロードバンドルータ側に PPPoE 接続と NAT を任せることができる、ということになります。

数年前に「フレッツ光ネクスト」に変えたときに、電話受付のお姉さんに「このルータはブリッジとして動作させられますか?」と聞いたのですが、その時には「多分できないはずです」と言われたような記憶が……。ま、いいか。

ブリッジモードで動作させる際の注意点

PR-S300SE をブリッジモードで動作させる際の注意点は次の通りです。あ、事前に BB ルータの手配も必要なので念のため。

  1. PR-S300SE には(ひかり電話と)BB ルータ以外は接続しない
  2. PR-S300SE の無線 LAN を無効にする
  3. DHCP サーバ機能を無効にする
  4. PR-S300SE が PPPoE 接続しないように設定する


4 については少々面倒なので、[ メンテナンス ] → [ 設定値の初期化 ] の [ 電話関連以外の設定初期化 ] をしてしまっても良いかもしれません。なお、設定が初期化されると PR-S300SE の IP アドレスが 192.168.1.1 に戻るので、その点もご注意ください。

事前に [ 設定値の保存&復元 ] で設定を保存しておくことをお薦めします。

これで、PR-S300SE の NAT(NAPT)は使用しなくなるので、あの鬱陶しい「廃棄[SPI]」ともおさらばできます!

本件について、Google Chrome 側での対処方法を加筆しました。
Chrome でのブラウジングが遅くなる(つづき)

Blogger の小枝

2014年8月23日土曜日

Blogger で Universal Analytics を使用する

Blogger には、標準で Google Analytics と連携する機能があります。ダッシュボードの「設定」→「その他」の中に「Google Analytics」という項目があって、アナリティクスのウェブ プロパティ ID を入力すれば、それだけで Analytics 用の JavaScript が include されるという便利なものです。



ただ、この設定だと Google Analytics が利用できるようになるだけで、Universal Analytics を利用することができません。そのため、Blogger で Universal Analytics を使用するためには、テンプレートに JavaScript を埋め込む必要があります。

テンプレートの <b:include data='blog' name='google-analytics'/> という行を探して、その直下に Google によって提供された Analytics 用の JavaScript スニペットを追加します。サンプルコードは次のようになっていますが……
<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXX-Y', 'auto');
ga('send', 'pageview');
</script>
<!-- End Google Analytics -->
これを、次のように変更します(シングルクォートを実体参照に置き換えるのですが、もしかしたら自動的に修正されたかもしれません)。
<b:include data='blog' name='google-analytics'/>
<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i[&#39;GoogleAnalyticsObject&#39;]=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,&#39;script&#39;,&#39;//www.google-analytics.com/analytics.js&#39;,&#39;ga&#39;);
ga(&#39;create&#39;, &#39;UA-XXXX-Y&#39;, &#39;auto&#39;);
ga(&#39;send&#39;, &#39;pageview&#39;);
</script>
<!-- End Google Analytics -->
あと、せっかくなので、Analytics で拡張属性も拾えるようにコードを 1 行追加しておきましょう。
<b:include data='blog' name='google-analytics'/>
<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i[&#39;GoogleAnalyticsObject&#39;]=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,&#39;script&#39;,&#39;//www.google-analytics.com/analytics.js&#39;,&#39;ga&#39;);
ga(&#39;create&#39;, &#39;UA-XXXX-Y&#39;, &#39;auto&#39;);
ga(&#39;require&#39;, &#39;displayfeatures&#39;);
ga(&#39;send&#39;, &#39;pageview&#39;);
</script>
<!-- End Google Analytics -->
※ UA-XXXX-Y は Google Analytics のウェブ プロパティ ID に置き換えて下さい。

最後に、Blogger のダッシュボードでアナリティクスのウェブ プロパティ ID を設定している場合は、空白に戻しておきます。



Blogger の小枝

2014年8月18日月曜日

Blogger の <title> タグをカスタマイズする

Blogger のデフォルト設定では、<title> は「Blog 名: 記事の Subject」に設定されていますが(この記事だと「Blogger の小枝: Blogger で <title> タグをカスタマイズする」となります)、これだと検索した際に記事の Subject よりも Blog 名が前に表示されてしまうために、ちょっとどうかなー、と思うことがあります。

<title> を、たとえば「記事の Subject - Blog 名」に変更したい場合は、「テンプレート」から「HTML の編集」を選択して、現在のテンプレートのバックアップを取得後に、次のように変更して下さい。

変更前:
    <title><data:blog.pageTitle/></title>

変更後:
    <b:if cond='data:blog.pageName == &quot;&quot;'>
      <title><data:blog.pageTitle/></title>
    <b:else/>
      <title><data:blog.pageName/> - <data:blog.title/></title>
    </b:if>

<data:blog.pageName/> が、記事の Subject 相当の文字列に変換されます。ただ、トップページやアーカイブページなどを開いた場合は <data:blog.pageName/> に値がセットされないため、<title> が「- Blogger の小枝」という、ちと格好悪いものになってしまいます。そのため、<b:if cond='data:blog.pageName == &quot;&quot;'> で <data:blog.pageName/> が未定義の場合のみデフォルト設定に戻すようにしています。


Blogger の小枝