7月 2013年
Chrome の UserAgent まとめ
Chrome 11 以降の UserAgent に関して調べてみたので、ここにまとめます。 プラットフォーム周りが知りたかったのですが、どうも Internet Explorer と互換するようです。
Chrome 11 以降 まとめ
- Windows バージョン 関係は Internet Explorer と互換…
Windows NT x.xでプラットフォームが分かる。Windows NT 6.2の場合、Windows 8Windows NT 6.1の場合、Windows 7Windows NT 6.0の場合、Windows VistaWindows NT 5.1の場合、Windows XP
- 64bit OS 上で動作する場合、OS トークンの後に以下のトークンを記載。
- 32bit ビルドで動作する場合
WOW64 - 64bit ビルドで動作する場合
Win64; x64 - Itanium で動作する場合
Win64; IA64
- 32bit ビルドで動作する場合
サンプル
32bit Windows 7 - 32bit Chrome 28
Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.72 Safari/537.36
64bit Windows 7 - 32bit Chrome 28
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.72 Safari/537.36
64bit Windows 7 - 64bit Chrome 28
Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.72 Safari/537.36
Mac OS X
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.151 Safari/535.19
Linux
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.16 Safari/534.24
今回、参考にしたサイトは以下の通りです。
Blogger 記事 を 一覧 表示 する ページ の 作成方法
Blogger の 記事 一覧 を表示する ページ を作成します。 ここで紹介する方法では、ソート順(タイトル名、公開日付、更新日付)、表示方法(一覧、ラベル別)を任意に指定できます。 また、各要素に クラス名 が割り振られているので、好きな表示を簡単に実現できます。
とりあえず自分のブログで試したい方は デモページ(日本語) をご利用ください。
(…いくつかの ブログ で "記事一覧を表示する方法" が記載されていましたが、 個人的にしっくりこなかったので新しく作ってしまえ、という経緯です。。)
作成手順
Blogger の 左メニュー から [ページ] を選択します。

[新しいページ] を選択します。

編集ページにおいて、以下の ソースコード を コピー して貼り付けます。
<script type="text/javascript"> var POSTSTOC_SETTINGS = { blogURL: 'garafu.blogspot.jp', // Blogger の ドメイン を設定 maxResults: Infinity, // 最大受信記事数 を設定。Infinity ですべての記事を受信 sort: { key: 'published', // ソートキー [title, published, updated] order: 'default' // ソート順 [default, asc, desc] }, printby: 'title', // 表示方法 [title, label, label.nameorder, label.contentsorder] newPost: { enabled: true, // 新着記事アイコンを表示するかどうか symbol: 'NEW !', // 新着記事の表示文字列 term: 30 // 新着記事判定する日数 }, thumbnail: { enabled: true, // サムネイル表示するかどうか noImageURL: '//garafu.github.io/blogger.toc/release/0.0.5/noimage.png' // サムネイルが存在しないときに割り当てる画像 }, published: { enabled: true, // 公開日を表示するかどうか format: 'yyyy/MM/dd' // 公開日のフォーマット }, updated: { enabled: true, // 更新日を表示するかどうか format: 'yyyy/MM/dd' // 更新日のフォーマット } }; </script> <link rel="stylesheet" type="text/css" href="//garafu.github.io/blogger.toc/release/0.0.12/simple.css" /> <script type="text/javascript" src="//garafu.github.io/blogger.toc/release/0.0.12/blogger.toc.min.js"></script>以下の設定を変更します。細かな設定に関しては後述の説明をご確認ください。
blogURL Blogger の ドメイン を設定します。 sort.key 記事ソート順を [title, published, updated] から設定します。デフォルト published。 - title : 記事の名前をキーとしてソート
- published : 投稿日をキーとしてソート
- updated : 更新日をキーとしてソート
printby 表示方法を [title, label, label.nameorder, label.contentsorder] から設定します。デフォルト label。 - title : 記事を一覧
- label : ラベル別に記事を一覧
- label.nameorder : ラベル別に記事を一覧。ラベルはラベル名の昇順にソート。
- label.contentsorder : ラベル別に記事を一覧。ラベルはラベルに含まれる記事が多い順にソート。
thumbnail.enabled サムネイルを表示するかどうか を設定します。デフォルト false 。 - published.enabled
公開日を表示するかどうか を設定します。デフォルト false 。 updated.enabled 更新日を表示するかどうか を設定します。デフォルト false 。 保存して公開します。

説明
とりあえず試したい方は デモページ(日本語) をご参照ください。 試した結果が出力されるので、そのコードをコピー&ペーストすると簡単に "Blogger 記事 の 一覧表示" を作成できます。
リスト出力設定
{
blogURL: 'garafu.blogspot.com',
maxResults: Infinity,
keyword: 'JavaScript',
sort: {
key: 'published',
order: 'default'
},
printby: 'label',
newPost: {
enabled: false,
symbol: 'NEW !',
term: 30,
target: 'published'
},
thumbnail: {
enabled: false,
noImageURL: '//garafu.github.io/blogger.toc/release/0.0.5/noimage.png'
},
published: {
enabled: false,
format: 'yyyy/MM/dd HH:mm:ss'
},
updated: {
enabled: false,
format: 'yyyy/MM/dd HH:mm:ss'
},
target: undefined
}
| プロパティ | 型 | 説明 | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
blogURL |
string |
ブログのドメインを指定します。
https://garafu.blogspot.com/ であれば garafu.blogspot.com 部分のみを指定します。 |
||||||||
maxResults |
number |
受信する最大記事数を指定します。すべての記事を対象とする場合 Infinity を指定します。
デフォルト Infinity です。 |
||||||||
keyword |
string |
絞り込みたいキーワードを指定します。 日本語タグを指定する場合 URI エンコード を行ったものを指定します(デモページでは自動変換するので日本語のままでOKです)。 何も指定しなければすべてのタグを受信対象にします。 デフォルトは指定なしです。 | ||||||||
sort |
object |
ソート方法に関する設定を指定します。 | ||||||||
sort.key |
enum |
ソートキーを指定します。指定できる値は以下の通りです。
|
||||||||
sort.order |
enum |
ソート順を指定します。指定できる値は以下の通りです。
| ||||||||
printby |
enum |
表示方法を指定します。指定できる値は以下の通りです。
|
||||||||
newPost |
object |
新着記事表示に関する設定を指定します。 | ||||||||
newPost.enabled |
boolean |
新着記事アイコンを表示するかどうかを指定します。 | ||||||||
newPost.symbol |
string |
新着記事アイコンとして表示する文字列を指定します。 | ||||||||
newPost.term |
number |
新着記事として判定する期間(日数)を指定します。 | ||||||||
newPost.target |
enum |
新着記事として判定するとき、比較対象とする日付を指定します。指定できる値は以下の通りです。
|
||||||||
thumbnail |
object |
サムネイル表示に関する設定を指定します。 サムネイルは記事中の一番最初にある画像が使用されます。 サムネイルは通常 72px × 72px の大きさです。 | ||||||||
thumbnail.enabled |
boolean |
サムネイルを表示するかどうかを指定します。 | ||||||||
thumbnail.noImageURL |
string |
サムネイルが存在しない場合に表示する画像へのパス(URL)を指定します。 | ||||||||
published |
object |
公開日に関する設定を指定します。 | ||||||||
published.enabled |
boolean |
公開日を表示するかどうかを指定します。 | ||||||||
published.format |
string |
公開日を表示する場合、どのように表記するかを指定します。 利用できる制御文字は (*1) 日付フォーマット をご参照ください。 | ||||||||
updated |
object |
更新日に関する設定を指定します。 | ||||||||
updated.enabled |
boolean |
更新日を表示するかどうかを指定します。 | ||||||||
updated.format |
string |
更新日を表示する場合、どのように表記するかを指定します。 利用できる制御文字は (*1) 日付フォーマット をご参照ください。 | ||||||||
target |
string |
リンクの開き方( a タグ の target 属性 )を指定します。デフォルトは undefined で指定なしです。 |
| 制御文字 | 説明 | サンプル |
|---|---|---|
| d | 月の日にち (1 ~ 31)。 | 3 |
| dd | 月の日にち (01 ~ 31)。 | 03 |
| E | 曜日の省略名。 | 火 |
| EE | 曜日の完全名。 | 火曜日 |
| G | 時期または時代 (年号)。 | 西暦 |
| h | 12時間形式の時間 (1 ~ 12)。 | 5 |
| hh | 12時間形式の時間 (01 ~ 12)。 | 05 |
| H | 24時間形式の時間 (1 ~ 24)。 | 8 |
| HH | 24時間形式の時間 (01 ~ 24)。 | 08 |
| m | 分 (0 ~ 59)。 | 2 |
| mm | 分 (00 ~ 59)。 | 02 |
| M | 月 (1 ~ 12)。 | 6 |
| MM | 月 (01 ~ 12)。 | 06 |
| MMM | 月の省略名。 | 1 |
| MMMM | 月の完全名。 | 1月 |
| s | 秒 (1 ~ 59)。 | 6 |
| ss | 秒 (01 ~ 59)。 | 06 |
| t | AM/PM 指定子。 | 午前 |
| yy | 2桁の年。 | 98 |
| yyyy | 4桁の年。 | 1998 |
| z | UTCを基準とする時間単位のオフセット (先行ゼロなし)。 | -8 |
| zz | UTCを基準とする時間単位のオフセット (先行ゼロ付きの 1桁の値)。 |
-08 |
| zzz | UTCを基準とする時間および分単位のオフセット。 | -08:00 |
スタイルシート設定
スタイルシート
各要素に対してできるだけ クラス名 を割り振るよう作成されています。
あらかじめある スタイルシート で思うような表示ができていない場合、
<link /> を利用せず、自前で stylesheet を記述することができます。
不具合、ご要望等はこの記事にレスしていいただくか、こちら(Github garafu/blogger.toc Issues) までご連絡いただけると幸いです。
更新履歴
- 2018/10/08 v0.0.12
- targetオプション追加。
- 2016/10/09 v0.0.11
- keywordオプション追加。microdataの自動生成機能を追加。
- 2016/05/14 v0.0.10
- https対応。
- 2016/05/14 v0.0.9
- 記事フィードが正しく受信できない不具合を修正。
- 2015/10/10 v0.0.8
- 新着記事にアイコンをつける機能を追加。手順の画面キャプチャを更新。説明欄の拡充。
- 2015/08/30 v0.0.7
- ソートの降順、昇順を制御する機能を追加
- 2015/07/12 v0.0.6
- 公開日、更新日を制御する機能を追加
- 2015/07/12 v0.0.5
- サムネイル表示機能を追加
- 2015/05/09 v0.0.4
- 一部のサイトで正しく表示されない不具合修正
- 2014/04/28 v0.0.3
- ブログテンプレートの種類によりスクリプトが正しく動作しない不具合修正
- 2014/04/27 v0.0.2
- ブログ記事をすべて読み込めるよう修正
参考記事
Blogger の フィード URL 生成 ツール
Blogger の フィード URL (RSS や Atom、JSON を受信する URL)を作成する Webアプリ です。 * は必須入力項目です。 必要事項を入力した後、「フィード URL 生成」で フィード URL が生成されます。
作りたいフィードの設定入力
| * | ブログURL | |
| * | リソース | |
| * | 本文 | |
| ラベル | ||
| 応答フォーマット | ||
| 取得開始番号 | (1 から始まる数値) | |
| 最大取得数 | ||
| ソート順 | ||
| 公開日付 |
開始
(例:2013-07-10T00:00:00)
終了
|
|
| 更新日付 |
開始
(例:2013-07-10T00:00:00)
終了
|
|
| リダイレクト | ||
| コールバック | ||
|
|
||
生成されたフィード
| 別ウィンドウで フィードを開く |
Blogger の フィード URL 構成 と パラメタ― まとめ
Blogger の feed URL で利用可能な パラメタ― を一覧にしてまとめました。 RSS や json を利用しての2次利用で必要な情報になるかと思います。
(2013/07/10 Blogger の フィード URL 生成 ツール)
フィード URL の基本構成
リソース
ラベル
クエリ パラメタ―
- 応答フォーマット(alt)
- 最大取得数(max-results)
- 取得開始番号(start-index)
- ソート順(orderby)
- 最小 or 最大 公開日付(published-min, published-max)
- 最小 or 最大 更新日付(updated-min, updated-max)
- 厳密性(strict)
- リダイレクト(redirect)
- コールバック関数(callback)
フィード URL の 基本構成
https://BLOG_NAME.blogspot.com/feeds/RESOURCE/RESPONSE[LABEL][?QUERY]
- BLOG_NAME
- ブログ名を指定します。[設定]-[基本]-[公開]の「ブログのアドレス」で指定されたブログ名です。
- RESOURCE
- 取得するデータの種類を指定します。
- RESPONSE
- 取得するデータ量を指定します。
default… 本文すべて取得します。summary… 本文を先頭のみ取得します。
- LABEL
- オプション。ラベルを指定して、取得するデータをフィルタします。
- QUERY
- オプション。取得するデータに対してより細かな条件指定を行います。
posts
投稿した記事に対するフィードを取得します。
サンプルURL
https://garafu.blogspot.jp/feeds/posts/default?alt=rss
comments
コメントに対するフィードを取得します。
サンプルURL
https://garafu.blogspot.jp/feeds/comments/default?alt=rss
POSTID/comments
投稿記事を指定したコメントに対するフィードを取得します。 POSTIDは記事の編集画面を開いたとき URL 欄 に記載されています。
サンプルURL
https://garafu.blogspot.jp/feeds/1102748937110099330/comments/default?alt=rss
pages
作成されたページに対するフィードを取得します。
サンプルURL
https://garafu.blogspot.jp/feeds/pages/default?alt=rss
/-/LABELNAME
ラベル名で絞り込みを行います。
必ず /-/ を記述します。
ラベル名は URL エンコード を行ったものを記載します。
複数指定する場合は /-/label1/label2 のように記載していきます。
サンプルURL
https://garafu.blogspot.jp/feeds/posts/summary/-/JavaScript?alt=rss
[おまけ] URL エンコード
alt
Alternative representation type(代替表現型)。 応答フォーマットの種類を指定します。
引数
- enum
- 応答フォーマットの種類を指定します。指定できる文字列は以下通りです。
atom… デフォルト。Atom フィードを返します。rss… RSS 2.0 フィードを返します。json… JSON 形式で返します。atom-in-script… scriptタグ で囲まれた Atom フィードを返します。rss-in-script… scriptタグ で囲まれた RSS 2.0 フィードを返します。json-in-script… scriptタグ で囲まれた JSON 形式 のフィードを返します。atom-service… Atom サービスドキュメントを返します。
サンプルURL
https://garafu.blogspot.jp/feeds/posts/summary?alt=rss
max-results
取得するエントリーの最大数を指定します。 最大 500 まで指定できます。 500 以上を指定しても 500 までしか取得できません。
引数
- number
- 最大取得数を指定します。デフォルトは 25。
サンプルURL
https://garafu.blogspot.jp/feeds/posts/summary?alt=rss&max-results=100
start-index
1 から始まるデータ取得開始番号を指定します。
引数
- number
- 1 から始まる取得開始番号を指定します。デフォルトは 1。
サンプルURL
https://garafu.blogspot.jp/feeds/posts/summary?alt=rss&start-index=101&max-results=100
orderby
受信するフィードのソート順を指定します。
引数
- enum
- ソート順を指定します。指定できる文字列は以下の通りです。
lastmodified… デフォルト。starttime… ?updated… 更新日付順に並び替えます。published… 投稿日付順に並び替えます。
サンプルURL
https://garafu.blogspot.jp/feeds/posts/summary?alt=rss&orderby=published
published-min, published-max
orderby=published と一緒に指定することで、取得する期間を制限します。
引数
- W3C-DTF
- 開始日付または終了日付を指定します。
サンプルURL
https://garafu.blogspot.jp/feeds/posts/summary?alt=rss&orderby=published&published-min=2010-01-01T00:00:00+09:00published-max=2011-01-01T00:00:00+09:00
updated-min, updated-max
orderby=updated と一緒に指定することで、取得する期間を制限します。
引数
- W3C-DTF
- 開始日付または終了日付を指定します。
サンプルURL
https://garafu.blogspot.jp/feeds/posts/summary?alt=rss&orderby=updated&updated-min=2010-01-01T00:00:00+09:updated-max=2011-01-01T00:00:00+09:00
strict
クエリ パラメタ― が正しく指定されているかどうか厳密にチェックを行うか指定します。
引数
- boolean
- 厳密なチェックを行うかどうか指定します。デフォルト false。
サンプルURL
https://garafu.blogspot.jp/feeds/posts/summary?alt=json&strict=true
redirect
リダイレクトを許可するかどうか指定します。
引数
- boolean
- リダイレクトを許可するかどうか指定します。
サンプルURL
https://garafu.blogspot.jp/feeds/posts/summary?alt=rss&redirect=true
callback
alt=json-in-script を指定した際、読み込み完了時に呼び出すコールバック関数を指定します。
引数
- string
- コールバック関数を指定します。
サンプルURL
https://garafu.blogspot.jp/feeds/posts/summary?alt=json-in-script&callback=loadFeeds
今回、参考にしたサイトは以下の通りです。
黒猫 SQL Studio で .mdf (SQL Server データベース ファイル) を 開く
そこに存在する SQL Server Express の データベース ファイル(拡張子 .mdf のファイル) を、黒猫 SQL Studio で開いて内容を見る方法です。 黒猫 SQL Studio は無料のツールでインストールが不要(配置のみで動作)なので、個人的には好んで使っています。 SQLコマンドはもちろん、デーブル内容の閲覧もできます。 以下では .mdf ファイル を 黒猫 SQL Studio で開くまでの手順を記載します。
- 黒猫 SQL Studio メニュー
[データベース]-[データベースに接続]を選択します。
- データベース接続
[新規追加]ボタンを押下します。
- 接続文字列の編集
接続文字列のオプションを選択します。
- データ リンク プロパティ
「プロバイダー」タブで「Microsoft OLE DB Provider for SQL Server」を選択して、[次へ]を選択します。
- 「接続」タブで、以下の設定を行って、「OK」を選択します。
(必要であれば、接続テストします。)
- 1:
- .\SQLEXPRESS(固定文字列)
- 2:
- Windows NT の統合セキュリティを使用する
- 3:
- データベース ファイルをデータベース名として添付する
論理名:(任意文字列)ファイル名:(.mdfファイルへのパス)
- 接続文字列の編集
「接続名」を任意の名称に変更して、[OK]を選択します。
- データベース接続
先ほど作成した接続情報を選択して、[接続]を選択します。
- 黒猫 SQL Studio データベース
接続ができちるとデータベースの内容が表示されています。
VisualStudio で .mdf (SQL Server データベース ファイル) を 開く
そこに存在する SQL Server Express の データベース ファイル(拡張子 .mdf のファイル) を、Visual Studio で開いて内容を見る方法です。 あくまで "そこにある" なので、プロジェクトやソリューションに含まれている場合は除きます。 こうした状況で、具体的に データベース ファイル の内容を閲覧する手順を記載します。
- Visual Studio メニュー
[表示]-[サーバー エクスプローラー]を開きます。
- サーバー エクスプローラー
[データベースへの接続]ボタンを押下します。
- データ ソースの選択
データ ソースで「Micosoft SQL Server」を選択し、「続行」を押下します。
- 接続の追加
以下の設定を行って、「OK」を押下します。 (必要であれば、接続テストします。)サーバー名 .\SQLEXPRESS(固定文字列) サーバーにログオンする Windows 認証を使用する データベースへの接続 データベース ファイルのアタッチ ファイル名:(.mdfファイルへのパス)論理名:(任意文字列)
- サーバー エクスプローラー
データベースへ接続が完了しているので、任意の操作(テーブルの内容参照やデータ追加、削除等)を行います。
Closure Compiler で 複数ファイル を コンパイル する方法
Google closure tools に含まれる closure compiler の使い方です。 closure library に含まれる closurebuilder.py を利用して、 複数の JavaScript ファイル を 1つの JavaScript ファイル へ バッチ処理で コンパイル します。 ここでは、バッチ処理する前提となる「フォルダ構成」と「コンパイルバッチ」を記載します。
(※Windows で、Javaランタイム、Python が インストール 済み の環境を前提とします。)
フォルダ構成
ROOT ├ lib │ ├ closure-compiler │ │ └compiler.jar… コンパイラ本体 │ └ closure-library │ └ closure │ ├ bin │ │ ├ build │ │ │ └closurebuilder.py… コンパイルで利用 │ │ ├ calcdeps.py │ │ └ scopify.py │ ├ css │ └ goog │ └ closure library の ソースコード ├ src │ └ソースコード… 自分が作成したソースコードの保存場所 └build.bat… ビルドを実行するバッチファイル
build.bat
@echo off
rem 実行ディレクトリをバッチファイルの場所へ移動。
cd /d "%~dp0"
rem 環境変数に Java と Python へのパスを追加。
set PATH=%PATH%;C:\Program Files\Java\jre7\bin
set PATH=%PATH%;C:\Python27
rem 各種変数を設定。
set CLOSUREBUILDERPY=.\lib\closure-library\closure\bin\build\closurebuilder.py
set CLOSURECOMPILERJAR=.\lib\closure-compiler\compiler.jar
set CLOSURE_LIBRARY_DIR=.\lib\closure-library\closure\goog
set CLOSERU_LIBRARY_THIRD_DIR=.\lib\closure-library\third_party\closure\goog
set SOURCE_CODE_DIR=.\src
set MAIN_CLASS_NAME=garafu.test
set OUTPUT_FILE=.\build\garafu.test.min.js
rem コンパイルの実行。
%CLOSUREBUILDERPY% ^
--root=%CLOSURE_LIBRARY_DIR% ^
--root=%CLOSERU_LIBRARY_THIRD_DIR% ^
--root=%SOURCE_CODE_DIR% ^
--namespace=%MAIN_CLASS_NAME% ^
--output_mode=compiled ^
--compiler_jar=%CLOSURECOMPILERJAR% ^
--compiler_flags="--compilation_level=ADVANCED_OPTIMIZATIONS" ^
--compiler_flags="--js_output_file=%OUTPUT_FILE%"
「各種編集の設定」(12 - 19 行)では build.bat からの相対パスを指定します。
フォルダ構成が上記と異なる場合、この部分を変更することになります。
%CLOSERU_LIBRARY_THIRD_DIR%
設定を行わないと場合により、次のようなエラーが発生します。
closure compiler は不要なファイル、コードを削ってくれるので、余分に見えても追加しておきます。
(不要なファイル、コードを削るのは ADVANCED_OPTIMIZATIONS に限りますが。。)
depstree.NamespaceNotFoundError: Namespace "goog.async.Deferred" never provided. Required in Source [JavaScript ファイル への パス]
%MAIN_CLASS_NAME%
最初に実行するクラス名を指定します。
基本的に、ここで指定するクラスは singleton で、
goog.addSingletonGetter([クラス名]); および
[クラス名].getInstance();
の実装があるクラスを指定します。
この部分は作成しているプロジェクト環境に合わせて変更します。
%OUTPUT_FILE%
出力先のフォルダ、ファイル名を指定します。
ここでは、 build フォルダ以下にファイルを作成するようにしています。
この部分は作成しているプロジェクト環境に合わせて変更します。
今回、参考にしたサイトは以下の通りです。

