タグ

ブックマーク / qiita.com/hirohero (4)

  • PostgreSQLのjsonbを使うときの落とし穴 - Qiita

    皆さん、PostgreSQL使ってますか? オープンソースRDBであれば、ほぼこれ一択。というプロダクトですよね。 と、まずはじめに MySQL 派に喧嘩を売ってみました。ちなみに当方は喧嘩を売られても買いません。 さて、 PostgreSQL にはJSONデータを格納するための json型と jsonb 型の2つがサポートされています。 一般的にはバイナリデータで保存される jsonb 型のほうがパフォーマンスが高いので、通常は jsonb 型を使うと思うのですが、 jsonb 型にはいくつかの落とし穴があります。今回はそれをお伝えします。 jsonbの落とし穴 同じキーが集約される。 キーが自動的にソートされてしまう。 になります。順番に見てみましょう。 同じキーが集約される。 JSONの事実上の仕様である RFC 8259 によると When the names within an

    PostgreSQLのjsonbを使うときの落とし穴 - Qiita
  • 個人開発環境をvagrantで建てるべきか、dockerで建てるべきか - Qiita

    ローカルPC個人開発環境を建てたいけど、母艦は汚したくないものです。 そうすると、だいたいの場合vagrant(virtualbox)かdockerかの2択になると思います。 この使い分けにいつも迷うのでどうするべきかの指針を考えてみました。 お断り: 以下は個人の見解であって、所属先の見解ではありません。 カーネルに依存する操作を行いたい場合 dockerの場合、いじれるカーネルパラメータが限られています。 特定バージョンのカーネルの環境を用意する必要がある場合や、カーネルパラメータに特殊な設定が必要な環境では仮想マシンの方である必要があります。 内部で生成されたデータの保全を行いたい場合 dockerの場合、ふとした操作(docker killやdocker builddocker rm(i)など)でデータコンテナの中身が消えてしまうことがあります。 仮想マシンのイメージであれば、

    個人開発環境をvagrantで建てるべきか、dockerで建てるべきか - Qiita
    clavier
    clavier 2017/06/23
  • 認証トークンをCookieに保存するのは卒業しよう - Qiita

    Webアプリケーションの認証トークン(セッション)はCookieヘッダで送信するのが一般的だとは思いますが、 そろそろこのCookieに依存した方法は負の遺産ではないでしょうか? 認証トークンの送信はRFC 7235で規定されているAuthorizationヘッダを使うと良いです。Basic認証とかDigest認証で使うやつですね。 実はBasicやDigestの他にRFC 6750でBearerというスキームが登録されています。単一の文字列を認証情報として送信するためのスキームで、トークンを送信するのにピッタリです。 参考: トークンを利用した認証・認可 API を実装するとき Authorization: Bearer ヘッダを使っていいのか調べた その場合は、認証トークンはCookieではなくlocalStrage(またはsessionStorage)に保存することになると思います。

    認証トークンをCookieに保存するのは卒業しよう - Qiita
    clavier
    clavier 2017/02/16
  • APIサーバを立てるためのCORS設定決定版 - Qiita

    タイトルは釣り、かつ、自分のための備忘録です。 マイクロサービスアーキテクチャでサービスを構築すると、APIサーバをサービスごとに立てるわけですが、 ブラウザ上のJSエンジンからAPIサーバを叩く時に避けて通れないのが、Same-Origin Policy(同一生成元ポリシー)によるCORS (Cross-Origin Resource Sharing)制限です。 これを回避するには、APIサーバ側でAccess-Control-*ヘッダを適切に返す必要がありますが、どう設定するべきかの情報が意外と少ないので(自分的)これが決定版! という設定を考えてみました。 結論 nginxの場合の設定例です。 server { listen 80; server_name site.localhost; charset utf-8; root /var/www/app/public; locatio

    APIサーバを立てるためのCORS設定決定版 - Qiita
    clavier
    clavier 2017/02/13
  • 1