タグ

ブックマーク / qiita.com/yuba (2)

  • 日付で期間指定するときに「23:59:59.999」を使わない - Qiita

    履歴データなどを取得するAPIを設計するとき、必ずつきまとうのが期間指定です。 履歴データの件数は青天井ですから全件取得で処理がパンクしないよう、開始日/終了日もしくは開始日時/終了日時を指定させることが普通です。 API上で指定するのが「年月日」だったとしても最終的にDBに問い合わせる際にはdatetime型に落とし込まれるので大体同じ話になるのですが、よくやってしまいがちな失敗が ●終了日時を○月○日23:59:59.999と指定するように作ってしまう ●すなわち、終了日時が「以下」という条件で働くようになっている ことです。 終了日時が「以下」という条件で働くようにAPIを設計したとして、日時の精度はAPIに明記されているでしょうか? 日時の精度も仕様の一部として明記するとして、採用しているDBのバージョンアップにともない日時型データの精度が上がってしまう事態も有り得ますがその際に仕

    日付で期間指定するときに「23:59:59.999」を使わない - Qiita
    yyamano
    yyamano 2017/11/27
  • サーバからクライアントに送信する技術 - WebSocketを中心に - Qiita

    Webでのプッシュ技術 HTTPはクライアント(ブラウザ)からリクエストしてサーバからレスポンスが返る一問一答型のプロトコルなので、基的にはサーバ側からブラウザに新着情報をリアルタイムで通知(プッシュ)できるようにはできていません。 しかしそれでもプッシュをしたいという場合にどうするかという話が出てきます。やり方には以下のようなものがあります。 ポーリング クライアントからサーバに定期的に新着を問い合わせるようにします。 最も原始的かつ確実なやり方。欠点は、最大でポーリング間隔の分だけ通知が遅延しうることです。 ロングポーリング(“COMET”) ポーリングなのですが、問い合わせを受けたサーバは新着情報がなければレスポンスを返すのをしばらく保留します。 そのあいだに新着情報が発生すれば即座にレスポンスを返しますし、一定時間経過したら何もなかったとレスポンスを返しましょう。 飛び交う通信内

    サーバからクライアントに送信する技術 - WebSocketを中心に - Qiita
    yyamano
    yyamano 2016/08/25
  • 1