スマホ向け表示を分けているときはVary HTTPヘッダーを使うこと ★★★★☆ グーグルが理解できるように (Google Webmaster Help on YouTube)グーグルが推奨するモバイルサイト構成には3つ種類がある。「レスポンシブWebデザイン」「同一URLで端末によって出し分け」「スマホ向けを別URLで作り、リダイレクトする」の3つだ。 このうちレスポンシブWebデザイン以外の2つの構成では、アクセスしてきた端末の「User-Agent(UA、ユーザーエージェント)」の情報に基づいてPCとスマートフォンで異なるHTML(やCSS)を返す。 これら2つの構成を採用する際には、Vary HTTPヘッダーを使用することをグーグルは強く勧めている。 Vary HTTPヘッダーとは、サーバーにアクセスがあったときに、データと一緒にサーバーから返すHTTPヘッダーの1つで「Vary
こんばんは、Python界のひきこもりです。 モバイルアプリケーションのバックエンド開発などでRESTful APIを先ず設計する必要があるといったケースなんかで便利に利用できそうな、既存のウェブアプリケーションフレームワークの仕組みからRESTfulなAPI構成に特化してパッケージングされたサブフレームワークがいろいろ出てきているので調べました。 フレームワークに必要な機能そもそもフレームワークにどんな機能が必要なのかというのをChoosing an API framework for Django から抜粋。 ページネーション(アイテムの先頭から10件が1ページ目→11から20が2ページ目など) データの投稿とバリデーション メタデータの生成(result, count, next みたいな要素をレスポンスに含める為のしくみのことかな?) レスポンスのハンドリング キャッシュ データの
(この記事はLisp Advent Calendar 2日目のためのエントリです。) 「え、お前の家、カレーに味噌汁付けてるの!?」 頑張って作っていたLispインタプリタがついに完成。友達に自慢してソースコードを見せてみたら 「え、なんでそんな実装になってるの? それって変じゃない?」 といった反応が返ってきたことはありませんか。きっとありますよね。昔から「人の数だけLispがある」と言われていまして、書く人によって色々と違いが出てくるのは当然です。しかし、どんな違いが出てくるのかを知らないと、要らぬ混乱を招く可能性があります。 この記事を読むことで、一言に「自作Lispインタプリタ」と言っても、色々なやり方があることを知り、友人の心ない発言に傷ついたり、逆に人を傷つけないようにする知識を身につけた気分になれます。 「あの人は自分でごみ集めを書いてくれたのに」 Lispインタプリタを書く
最近 REST に関する本を読んでいます。統一された少ないルールで、さまざまな Web アプリケーションを表現できるというのは、妄想が膨らんでワクワクしますね。学んだことをメモがてらに書きます。 RESTful Webサービス 作者: Leonard Richardson,Sam Ruby,山本陽平,株式会社クイープ出版社/メーカー: オライリー・ジャパン発売日: 2007/12/21メディア: 単行本購入: 25人 クリック: 842回この商品を含むブログ (168件) を見る PUT も POST も似た役割をもつメソッドです。両方ともリソースの新規作成または更新を行います。この二つのメソッドは何が異なり、どのように使い分けるべきなのでしょうか。 リソースの新規作成 まずリソースの新規作成について。 PUT は URI が指し示すリソースを直接作成することを、サーバーに要求します。たと
楽観的排他制御を利用する非同期的なトランザクション実行であればスケーラビリティを損ねることなく2phase commitが可能である。これは、分散KVSにおけるスケーラビリティと一貫性の両立について で主張したように、同期的な2phase commitは密結合に誘導することになるため、矛盾するように思えるかもしれない。だがそんなことはない。 前半はまずこの話から入るが、後半ではRESTに関する間違いについて、3つほど思うところを述べたい。 楽観的排他制御と2phase commit reflexworksではFeedやEntry単位でatomicなトランザクション処理を行えるが2phase commitはサポートしていない。これを許すと密結合になってスケールしないからである。だが、これはあくまで同期的な処理の話であって、ネットワーク障害への耐性を考慮され、非同期処理やオフラインで使えるので
といいつつ、ひとつだけ理解できないというか、納得できないところが。トランザクションのところがなんだかRESTっぽくないのがすごく気になる Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESSプラスシリーズ)(山本 陽平) - ただのにっき(2010-04-23) 「Web を支える技術」は自分もとてもいい本だと思う (教科書としてすばらしいし復習用としても読みやすいのでイイ) のですが、トランザクションの所だけは分かりづらいなと感じました。その原因は、atomic transaction で解決できる課題を例として使っているという点と、トランザクションと更新クエリのレイヤ分割がされていない、という2つの点によるものではないでしょうか。 HTTP 上でトランザクションを表現する必要があるケースのほとんどは、atomic transaction ではなく
キーフレーム・ワールドワイド株式会社は、渋谷区にあるシステムインテグレーターの日本法人です。
動画検索のクエリ パラメータ[vq」〔検索キーワードを指定〕 動画検索のクエリ パラメータ「alt」〔フォーマット指定〕 動画検索のクエリ パラメータ「author」〔特定のユーザーを指定〕 動画検索のクエリ パラメータ「max-results」〔最大取得数指定〕 動画検索のクエリ パラメータ「start-index」〔取得位置指定〕 動画検索のクエリ パラメータ「lr」〔地域指定〕 動画検索のクエリ パラメータ「orderby」〔動画の並び替え〕 動画検索のクエリ パラメータ「time」〔アップされた期間指定〕 「関連動画フィード」を取得して表示 標準フィード:「評価の高い動画フィード」を取得して表示〔top_rated〕 標準フィード:「お気に入り登録の多い動画フィード」を取得して表示〔top_favorites〕 標準フィード:「人気の動画フィード」を取得して表示〔most_view
Table Of Contents Welcome Contents ⚠ Documentation version These are the Git version docs. Docs for 0.4 (PyPI) are here. Help out! To make this documentation even better, we'd love to receive your feedback and suggestions for improvement! Welcome¶ Django MongoDB Engine is a MongoDB backend for Django, the Python Web framework for perfectionists with deadlines. This documentation is split into seve
今回はMacにmongoDBをmacにインストールする方法について書いていきます。 インストールには「Homebrew」を使います。 インストール mongoDBとは? mongoDBを操作する(コマンド) このような流れで書いていきます。 インストール ターミナルで確認 $ brew search mongomongoでサーチ すると mongodb mongoose josegonzalez/php/php53-mongo josegonzalez/php/php54-mongo色々出てきましたが目的はmongodbなので、 $ brew install mongodbでインストール開始。 ずらずら出てきます。 To have launchd start mongodb at login: ln -s /usr/local/opt/mongodb/*.plist ~/Library/L
SConsとは? Python製のMake代替ツール。 中でPythonコードを書けるので、複雑なMake処理を簡単に書ける。 C言語の依存関係などを自動に調べる機能などがあるらしいが、使った事はないので詳しい事はわからない。 自分の場合はプログラムのビルドではなく、ゲームデータのビルドに使用した。 (プログラムのビルドならVisualCやEclipseなどの専用ツールに任せた方が楽だったりする) C言語などのビルドでは依存関係を調べる関係上、大規模開発では速度が出ないという意見もある。 しかし、自分が使っている限りでは、ゲームデータなどのコンバートであればかなりの数のデータを処をしているが、実用十分な速度が出ていると思う。 ■SCons公式 http://www.scons.org/ 使い方 ビルドしたいプロジェクトディレクトリに「SConstruct」というファイルを作成する。 SCo
Use Cases and Code Snippets Stay organized with collections Save and categorize content based on your preferences. Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its aff
Videos: list コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。 API リクエストのパラメータに一致する動画のリストを返します。 割り当てへの影響: このメソッドの呼び出しには、1 ユニットの割り当てコストが発生します。 一般的なユースケース リクエスト HTTP リクエスト GET https://www.googleapis.com/youtube/v3/videos パラメータ 次の表に、このクエリでサポートされているパラメータを示します。このリストのパラメータはすべてクエリ パラメータです。 string part パラメータは、API レスポンスに含める 1 つ以上の video リソース プロパティのカンマ区切りのリストを指定します。 子プロパティを含むプロパティがパラメータで識別される場合、子プロパティはレスポンスに含まれます。たと
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く