コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

GoogleAnalyticsのセッションの切れるタイミングを理解する

公式ドキュメント掘り下げる

出典

アナリティクスでのウェブ セッションの算出方法 - アナリティクス ヘルプ

考え方のまとめ

大きく以下の5パターン

  • 30分以上何もしない
  • 日をまたぐ
  • 参照サイトが変わる
  • キャンペーンタグのクエリストリングが設定されたURLクリック
  • Google広告の自動タグが設定された広告をクリックしてきた場合

30分以上何もしない

セッションはページを遷移したり、ページ内でアクションがされた場合に維持がされる。そのためデフォルトでは30分間何もしない場合はセッションが一回切れて、別のセッションとして扱われる。

GAのセッション維持の条件は何かしらのアクションなのでページ繊維以外にもイベント発火が認められれば継続される。

なお、30分という値は変えられる

f:id:shinkufencer:20200909002724p:plain

日をまたぐ

ユーザー A が 8 月 14 日の午後 11 時 50 分にウェブサイトにアクセスし、15 日の午前 0 時 10 分に離脱したとします。この場合は、8 月 14 日の午後 11 時 59 分 59 秒に最初のセッションが終了し、15 日の 午前 0 時に次のセッションが開始されます。1 日の終わりは、ビューのタイムゾーン設定を基準とします。 - アナリティクスでのウェブ セッションの算出方法 - アナリティクス ヘルプ

上記にあるように、アナリティクスのビューに設定たされたタイムゾーン準拠で、23:59を超えると、次のタイミングから別セッション扱いとなる。

参照サイトが変わる

別のドメインのサイトに一回遷移して戻ってくると別のセッションとして扱われる。ただし会員基盤が別のドメインのサイトの場合などは同一セッションとみなしたいシーンが出てくるので、そのような場合は除外設定ができる

参照:参照を除外する - アナリティクス ヘルプ

キャンペーンタグのクエリストリングが設定されたURLクリック

utm_source などutmから始まるクエリストリングのパラメータをつけたURLで遷移をすると、同一のサイト内の回遊だとしても別セッションとして開始される。

基本カスタムキャンペーン自体が、外部流入の調査を目的としたパラメータ値のため、このような仕様なのだと推察される

カスタム URL でキャンペーン データを収集する - アナリティクス ヘルプ

Google広告の自動タグが設定された広告をクリックしてきた場合

これもキャンペーンデータ収集用のクエリストリングと似た概念で、自動タグで設定される gclid というクエリストリングが付与され、この値に変化があると別セッションとみなされる

参考サイト

meta data とは何かざっくりまとめる

小ネタ

metaとは

言葉の意味としては以下の説明が一番しっくり来る

他の語の上に付いて複合語を作り、超越した、高次の、の意を表す。「メタ言語」「メタメッセージ」 - meta(メタ)の意味 - goo国語辞書

metaなdataとは

このmetaがついたdataは以下の意味を持つ

メタなデータ、すなわちデータについてのデータという意味で、あるデータが付随して持つそのデータ自身についての付加的なデータを指す。

元となるデータを説明するデータ、のような表しかたをする。

もともとは図書館の蔵書目録で使われ始めた用語という話があり、本というデータを探すためのデータ、というような立ち位置だった様子

metadataの代表例

  • 写真のExif情報
  • PCのファイルのファイル作成日や作成情報
  • 音楽ファイルの曲名やアーティスト情報

関連リンク

Levelの意味をテレビゲームでの使われ方から理解する

RPG由来のレベル、が浸透してしまっているので整理する。

言葉の本来の意味

a horizontal plane or line with respect to the distance above or below a given point. - level mean - Google 検索

和訳すると以下のようになる。

特定のポイントの上下の距離を基準にした水平面または線。

ゲームにおけるレベル

英語の本来の意味で「基準線」という意味合いがあるため、最初はその意味で使われることが主だった。

ゲームにおいても本来はその意味で使われており、難易度がどんどん上がる要素などを示すものであり、英語版のwikipediaには以下のように書かれている。

A level, map, area, stage, world, track, board, floor, zone, phase, mission, episode, or course in a video game is the total space available to the player during the course of completing a discrete objective. Video game levels generally have progressively increasing difficulty to appeal to players with different skill levels. - Level (video games) - Wikipedia)

和訳すると以下の内容

ビデオゲームのレベル、マップ、エリア、ステージ、ワールド、トラック、ボード、フロア、ゾーン、フェーズ、ミッション、エピソード、またはコースは、個別の目標を達成する過程でプレーヤーが利用できる総スペースです。ビデオゲームのレベルは、一般に、難易度が次第に高まり、さまざまなスキルレベルのプレイヤーにアピールすることができます。

英語圏ではレベルは、ステージやワールドと同列として語られており、日本語圏ではアクションゲームのステージと同じ意味で捉えるとイメージとしては近い

RPGのレベルとの混同

昨今、レベルというカタカナ語ドラゴンクエストの流行から続くゲーム用語の浸透、直近だとなろう系小説の隆盛も手伝って、RPGに由来するレベルが主たる意味となっている。

RPGのレベルは本来のlevelとは異なり、以下のように表される

レベル(level, 略:Lv)とは、ロールプレイングゲームなどにおいて、キャラクターやユニットの強さの段階を表す数値である。 - レベル (ロールプレイングゲーム) - Wikipedia

このようにlevelという言葉は文脈によって(かつゲームという土台の話においても)違う意味を持つようになってしまっている。

「レベル」デザインはどういう意味なのか

ゲーム開発には「レベルデザイン」という言葉がある。この言葉はからあるステージの意味合いが正しく、そのゲームのワールドのデザインなどを示す。

例えばアクションゲームであれば、障害物や敵の配置、全体的な空間の構造をデザインすることなどがレベルデザインとなる。

混同しやすいレベルデザイン

RPGのレベルとステージを作り上げることが混ざり合って意味が「難易度調整をすることがレベルデザイン」のように捉えられてしまっているが、様々な方々から「それは違う」と異口同音で語られている。

関連リンク

Webにおけるウォーターマークに関してざっくり調べる

水滴のマークではない

Webサイト制作で語られる意味

ウォーターマークとは、主に著作権保護などの目的から、画像や映像などのデジタルコンテンツに識別用情報を追加することである。あるいは、そのようにして付け加えられた情報のことである - ウォーターマークとは 「デジタルウォーターマーク, 電子透かし」 (watermark): - IT用語辞典バイナリ

語源

もともと印刷業界の言葉

漉き桁には針金で模様がつけられ、漉きあがった紙にはその模様が紙の薄い部分として転写されました。紙を光にかざすとその部分が浮き上がって見え、この透かし模様をウォーターマークと呼んでいます。このマークにより製紙業者が特定され、紙の年代がわかるのではないかということから、20世紀に入って透かしの研究が進められています。 - 第三章 印刷とブック・デザイン | インキュナブラ

どういうものがあるか

著者を示すウォーターマーク

一般的に画像などに施すウォーターマークは誰が権利者か、というのを記載している。画像などにおいてはシンプルで自分の著作物である旨の情報を重ねて記載するケースが多い。

その場合、技術的に何か特殊なアプローチを施すのではなく、画像のレイヤとして一枚足してあげるなどの手法を取る。絵画の作者サインなどに近い考え方。

具体のやり方は参考リンクを参照のこと。

不正使用の出元を特定する電子透かしとしてのウォーターマーク

コンテンツを見る人には一見してわからない技術的なウォーターマークも存在する。

電子透かしで著作権者の情報や,提供 先に関わる情報を埋め込むことで,けん制効果によ り違法行為を抑止することが可能となる)。(中略) コンテンツが誰の著作物かという著作権者情報 を埋め込む方法は,固定的な情報をあらかじめ埋め 込んでおくことができるため,システムは簡単で作 業負荷も少ないが,流出時には誰が流出させたのか まではわからず,抑止力も限定的である。一方,コンテンツを誰に渡したかという提供先情 報を埋め込む方法は,流出元を特定することができ, 強力な抑止力となる。- 電子透かしによる著作権保護への取り組み

上記にあるように「誰の著作物か」を示すものではなく、「不正拡散の出元はどこかを書き足すことによってコピーをしづらくさせる、特定させやすくする」というアプローチ。ただこの場合は、誰でも同じ手法でできてしまうと、効力がなくなるので、下記のようなアプローチをとる

また,映像,画像,電子書籍に埋 め込まれた電子透かしは人の目に見えず,音声に埋 め込まれた電子透かしは人の耳には聞こえない。ど こに埋め込まれているかはわからないという点では, 目には見えるが技術的に複製が困難なことで偽造を 防止する紙幣の透かしとは考え方が異なる。電子デー タにおいては,どこに埋め込まれているかがわかる と,埋め込まれた情報の除去や改ざんが容易にでき てしまうため,アルゴリズムは非公開とし,限られ た人しか埋め込み・検出もしくは除去ができないよ うにするのである - 電子透かしによる著作権保護への取り組み

上記の通り、コンテンツ内にアルゴリズムを非公開にした形で情報を埋め込むことで容易に透かしの施しそのものをさせないというアプローチ

参考リンク

英単語の間に数字を入れて略すことをヌメロニム(数略語)という

i18nとかk8sとか

意味

数略語は、長い英単語を数字で省略して表現する語。 - ヌメロニム - Wikipedia

初出

英語版のwikipediaから出典をたどると以下のエピソードが出てくる

JanScherpenhuizen という名前のDECの従業員は、名前が長すぎてアカウント名ではないため、システム管理者からS12nの電子メールアカウントを与えられました。長い名前を短縮するこのアプローチは、ユーモラスなものであることが意図され、DECで一般化されました。条約は、1985年までに数字を使用していたDECの「国際化」に適用されました 。用語の使用は広まりました。 - Origin Of The Abbreviation I18n For Internationalization

代表的なヌメロニム

ヌメロニム表記 正式名称
i18n internationalization
g11n globalisation / globalization
a11y accessibility
l10n localisation
p13n personalization
m12n modularisation / modularization

参考サイト

ダブルチェックが有効なものは何かを考えるときにみたい資料『ダブルチェックの有効性を再考する』

ダブルチェックって再発防止に有効なんだっけ?を考えるときに役に立つ知識を。

資料スライド

https://kouseikyoku.mhlw.go.jp/shikoku/kenko_fukushi/000085434.pdf

読みどころ

この資料は主に医療現場におけるダブルチェックの有用性に関しての資料なのですが、すべてのオペレーションに共通するエッセンスも含んでいます。

資料内ではダブルチェックするべき内容に関して思考プロセスから考えるアプローチをとっており、内容としては2つあります。

名称 内容
システム1 速い思考。自動的に高速に働く思考モード。自動運転。省エネモード。
システム2 遅い思考。複雑な計算など頭を使わなければできない困難な知的活動にしかるべき注意を払う思考モード。

このシステム1(単純作業)とシステム2(認知的作業)と分けた際に、システム2の場合はダブルチェックが有効であるが、単純作業ではダブルチェックを用いてエラー検出するのは有効ではない、という話となっている。

ダブルチェックに関しても有効に働かせるためにはどうしたらいいか、単純作業のエラーを減らすにはどうしたらいいかが医療現場の実例に基づいて説明がされているので、具体例から自分の体験にも落としやすい資料となっている。

関連サイト

HTMLでスライダーUIを作りたいときはinputタグのrangeタイプで作れる

マジでググってすぐ出てこず、jqueryの方ばかり出てきて、自分の記憶違いを疑ったのでメモ

参照元

< input type="range" > - HTML: HyperText Markup Language | MDN

スライダーの定義

今回とりあげる「スライダー」は以下の意味のもの

つまみを直線移動させる入力機器またはウィジェット (GUI)。 - スライダー - Wikipedia

「カルーセルスライダー」の略称として「スライダー」が用いられることがあるが、今回は別のものとする。

HTML例

See the Pen range sample by しんくう (@shinkufencer) on CodePen.

属性の詳細はMDNのドキュメントのほうが詳しくのっているので、そちらを参照してほしいですが、よく使う属性としては以下のようなものがある。

  • 値の最高値と最低値の maxmin
  • 初期値の設定の value
  • スライドの幅の単位を設定する step

注意点

通常の <button>要素同様にWebブラウザによってスライダーのトグルなどのUIパーツの絵は異なる。そのため、CSSで同じ形になるように整える必要がある

参考サイト