はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    プライムデーセール

『qiita.com』

  • 人気
  • 新着
  • すべて
  • PostgreSQLのjsonbを使うときの落とし穴 - Qiita

    9 users

    qiita.com/hirohero

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

    • テクノロジー
    • 2021/11/05 08:31
    • postgresql
    • json
    • qiita
    • php
    • ActiveRecordでは present? の代わりに exists? を使おう - Qiita

      4 users

      qiita.com/hirohero

      小ネタです。 条件に該当するレコードが存在するかを確認したい ActiveRecordで条件に存在するレコードが存在するかを確認するのに、つい、 と書いてしまいがちですが、これはパフォーマンス上の問題が生じる可能性があります。 .present? は ActiveSupport によってモンキーパッチされたメソッドです。 Mode.where(conditions) のような ActiveRecord_Relation クラスのオブジェクトに .present? を適用するとどうなるか? すると条件に該当するレコードを全てDBから取得して、(Rails上のモデルの)配列として評価することになります。 配列に要素が存在すれば true、 しなければ false ですね。 なぜこれはダメなのか 一見すると問題なさそうですし、実際結果自体は正しいのですが、条件に該当するレコードが1つでも存在する

      • テクノロジー
      • 2020/11/25 19:13
      • RailsのURLヘルパーで生成されるURLのスキーマをhttpsにする方法 - Qiita

        4 users

        qiita.com/hirohero

        Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

        • テクノロジー
        • 2020/11/09 13:17
        • rails
        • 考察
        • ruby
        • 技術
        • ActiveRecord の or は merge とセットで使え - Qiita

          4 users

          qiita.com/hirohero

          Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

          • テクノロジー
          • 2020/09/01 20:16
          • rails
          • [図解]スタブとモックの違い - Qiita

            6 users

            qiita.com/hirohero

            Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

            • テクノロジー
            • 2019/06/12 09:16
            • テスト
            • axiosでBearerトークンを簡単に設定したい。 - Qiita

              4 users

              qiita.com/hirohero

              小ネタです。 AxiosはBearer認証がめんどくさい axios でAPIを呼ぶときの認証にBearerトークンを指定する場合、下のような書き方をすると思いますが、 axios.get('https://api.example.com/api/v1/foo', { headers: { Authorization: `Bearer ${token}`, } })

              • テクノロジー
              • 2019/04/07 17:15
              • axios
              • Vue-SPAでもGoogle Analyticsしたい! - Qiita

                4 users

                qiita.com/hirohero

                Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                • テクノロジー
                • 2019/03/12 09:13
                • google-analytics
                • qiita
                • XCAでローカルCAを立てて、ハッピーSSLライフ - Qiita

                  5 users

                  qiita.com/hirohero

                  開発サーバでソフトを動かすときにサーバ証明書が必要になるときってありますよね。 今話題のHTTP/2を試すにはSSL通信が必須だったりしますし。 もちろんOSやソフトについてくるサンプル用の証明書でもSSL通信はできるけど、証明書が検証エラーになるわけでブラウザの警告画面が鬱陶しいし、検証エラーを無視するための設定変更をする必要がある場合もあります。 かといって、わざわざ開発サーバのためにSSL証明書は買えないし…。 そんなときの救世主がLet's Encryptで、無料で正規のSSL証明書を発行してくれるありがたい存在です。 しかし、Let's EncryptでSSL証明書発行するためにはドメインがDNS登録されている必要がありますので、社内(組織、自宅)内の内部で使ってる"abc.localdomain"みたいなドメインには対応してません。 結局、自前でLocal CAを運営する必要が

                  • テクノロジー
                  • 2017/11/21 21:17
                  • SSL
                  • サーバ
                  • 君はsleepコマンドのdサフィックスの使い方を知っているか? - Qiita

                    3 users

                    qiita.com/hirohero

                    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                    • テクノロジー
                    • 2017/11/03 01:53
                    • Docker
                    • etcdとconfdでらくらく大規模設定項目デプロイライフ - Qiita

                      4 users

                      qiita.com/hirohero

                      我ながら意味不明なタイトルだ(笑) 解決したい問題 多数のサーバやサービスがある。 環境ごとの設定(db名や接続ユーザ、パスワードなど)が各サービス(リポジトリ)ごとに保存されている。 設定内容がバラバラに保存されてしまう。 時に設定値が二重管理どころか多重管理になってしまう。 設定値をリポジトリに保存するときに暗号化しないといけない。 差分管理ができず、デプロイプロセスが複雑化してしまう。 特にマイクロサービスアーキテクチャを採用している場合は、設定値が分散しがちなのでこれを何とかします。 解決方法 設定情報を一元管理する。 外部からアクセスできないローカルに設定専用gitサーバを立てて、そこのリポジトリに設定情報をplainで保存。 これで機密性と差分更新を両立。 環境ごとにetcdを立てる。 設定値をこのetcdに投入する。 本番環境のetcdはクラスタリングで冗長化。 各サーバには

                      • テクノロジー
                      • 2017/10/06 13:26
                      • もしも、New PHPの言語設計をするとしたら…。 - Qiita

                        4 users

                        qiita.com/hirohero

                        Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                        • テクノロジー
                        • 2017/08/09 17:48
                        • PHP
                        • 個人開発環境をvagrantで建てるべきか、dockerで建てるべきか - Qiita

                          379 users

                          qiita.com/hirohero

                          Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? ローカルPCに個人開発環境を建てたいけど、母艦は汚したくないものです。 そうすると、だいたいの場合vagrant(virtualbox)かdockerかの2択になると思います。 この使い分けにいつも迷うのでどうするべきかの指針を考えてみました。 お断り: 以下は個人の見解であって、所属先の見解ではありません。 vagrant カーネルに依存する操作を行いたい場合 dockerの場合、いじれるカーネルパラメータが限られています。 特定バージョンのカーネルの環境を用意する必要がある場合や、カーネルパラメータに特殊な設定が必要な環境では仮想マ

                          • テクノロジー
                          • 2017/06/22 14:03
                          • docker
                          • vagrant
                          • 開発環境
                          • あとで読む
                          • Linux
                          • comparison
                          • build
                          • Developer
                          • カーネル
                          • ansible
                          • AWSのIAM関連の各リソースをER図にしてみた - Qiita

                            5 users

                            qiita.com/hirohero

                            Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                            • テクノロジー
                            • 2017/04/05 23:01
                            • AWS
                            • あとで読む
                            • 皆さん、なんでswitch文のcaseをインデントするんですか? - Qiita

                              10 users

                              qiita.com/hirohero

                              お断り: この記事の内容は、所属先の見解ではありません。 わりと何でもありのPHP界隈ですが、長年その状態を放置してきたため様々なスタイルのコードが存在することになり、PEARのようにまともにメンテナンスされてないコードを生み出してしましました。 さすがに何かしらの標準が必要では? ということで、PHP-FIGという組織がPHPに関するコーディングスタイル、autoload仕様、インターフェイス仕様を決めており、事実上の標準になっています。 PHP-FIG発足とほぼ同時に制定されたPSR-1, PSR-2はコーディングスタイルに関する標準で、PSR-1が基本的な内容、PSR-2がそれに追加してカッコの位置、スペースの入れ方、インデントのとりかたなど細かい内容になっています。 PSR-1は誰でも割りと受け入れられやすい内容だとは思いますが、PSR-2はコーディングスタイルに深く踏み込んでるの

                              • テクノロジー
                              • 2017/03/30 10:02
                              • プログラミング
                              • development
                              • RESTベースのAPIの動作確認を行うならInsomniaが便利 - Qiita

                                10 users

                                qiita.com/hirohero

                                APIサーバの動作確認をどうやるか。それが問題だ。 APIサーバ全盛期のサーバサイドですが、RESTベースのAPIサーバとなるとブラウザからでは動作確認が面倒です。 そこで何か良いツールは無いかな? と思ったらInsomniaというツールを見つけました。 有償プランもあるツールですが、無償で使える範囲でも十分便利に使えます。 注意: InsomniaXという別のツールがありますが、これは全く違うツールです。 起動 起動するとこんな感じの画面が出ます。 一番左が保存したAPIリクエストや環境設定、真ん中がリクエスト内容、右がレスポンス結果です。 真ん中の部分で送信するURLとメソッド、パラメータ・ヘッダ内容を選択して"Send"ボタンを押すと、結果が右側に表示されます。 さて、ここまでは類似のツールでもよくあることです。 ここでInsomniaにある便利な機能をご紹介。 environmen

                                • テクノロジー
                                • 2017/03/23 10:49
                                • ツール
                                • Web
                                • サーバ
                                • API
                                • 環境
                                • validatorjsのカスタムルールを書くときの注意点 - Qiita

                                  3 users

                                  qiita.com/hirohero

                                  Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                                  • テクノロジー
                                  • 2017/03/16 19:49
                                  • フロントサイドのバリデーションにはvalidatorjsが便利 - Qiita

                                    90 users

                                    qiita.com/hirohero

                                    Webフォームのバリデーションをするのって面倒ですよね。どうせサーバサイドでバリデーションするのに…。 といいつつも、利用者を苛つかせないためにも、無駄な通信を減らすためにもフロントサイドのバリデーションは重要です。 何か良いライブラリが無いかなと思ってgithubを漁っていたら、良さげなライブラリを見つけました。 validatorjs "A data validation library in JavaScript for the browser and Node.js, inspired by Laravel's Validator."とあるとおり、LaravelのValidatorに似た感じになっているのが特徴です。 Laravelといえば、JSはreact.jsではなくてvue.jsだろうということで、Vueのコンポーネントでのサンプルです。(CSSはBootstrap) もちろ

                                    • テクノロジー
                                    • 2017/03/12 19:23
                                    • javascript
                                    • js
                                    • ライブラリ
                                    • form
                                    • バリデーション
                                    • あとで読む
                                    • validation
                                    • vue.js
                                    • 認証トークンをCookieに保存するのは卒業しよう - Qiita

                                      22 users

                                      qiita.com/hirohero

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

                                      • テクノロジー
                                      • 2017/02/15 10:41
                                      • authorization
                                      • api
                                      • cookie
                                      • 認証
                                      • security
                                      • unclassified
                                      • development
                                      • APIサーバを立てるためのCORS設定決定版 - Qiita

                                        144 users

                                        qiita.com/hirohero

                                        タイトルは釣り、かつ、自分のための備忘録です。 マイクロサービスアーキテクチャでサービスを構築すると、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

                                        • テクノロジー
                                        • 2017/02/12 14:21
                                        • CORS
                                        • nginx
                                        • api
                                        • あとで読む
                                        • JavaScript
                                        • サーバ
                                        • 設定
                                        • errbitで多い日も安心 - Qiita

                                          4 users

                                          qiita.com/hirohero

                                          プログラムの開発中はエラー発生の連続なものですが、特に開発の初期にはログ出力部分が未整備で、必要な情報が記憶されてなかったりするものです。 こんなときクラッシュレポートサービスを使うと、ほんの少しの手間でエラーが発生したら自動的に情報をクラッシュレポートサーバに転送してくれるようになります。 後はブラウザからその時のパラメータ、スタックトレースなどの情報を見ることができるようになります。 有名なクラッシュレポートサービスとしてはAirbrakeがありますが、有料サービスなので気軽に試してみることができません。 実はErrbitというAirbrake互換のオープンソースプロジェクトがあります。 Airbrake互換ということは、クライアントプログラムに仕込むプラグインがAirbrakeのものが使えるということです。 Errbitのインストール Errbitはrubyで書かれています。 特にパ

                                          • テクノロジー
                                          • 2016/12/09 19:12
                                          • PHP
                                          • Packerを使ってDockerのイメージを作成する - Qiita

                                            10 users

                                            qiita.com/hirohero

                                            Docker便利ですね。 仮想マシンを立ち上げるまで大袈裟ではないけど、母艦のマシンを汚したくないときはDockerでコンテナを立ち上げると便利です。 Dockerを使うにはイメージが必要なわけで、デフォルトではDockerfileでプロビジョニングするわけですが、せっかくなら最近のトレンドである専用ツールであるAnsibleを使ってプロビジョニングしたいものです。(playbookの共有ができますし。) VagrantでおなじみのhashicorpからリリースされているPackerを使うと、それができます。 Pakcerとは? Packerは仮想コンテナで使用されるイメージ作成に特化した自動実行ツールです。 Dockerだけではなく、 EC2 (AMI) Azre DigitalOcan Docker Google Compute Engine OpenStack Parallels Q

                                            • テクノロジー
                                            • 2016/10/28 03:17
                                            • packer
                                            • docker
                                            • あとで読む

                                            このページはまだ
                                            ブックマークされていません

                                            このページを最初にブックマークしてみませんか?

                                            『qiita.com』の新着エントリーを見る

                                            キーボードショートカット一覧

                                            j次のブックマーク

                                            k前のブックマーク

                                            lあとで読む

                                            eコメント一覧を開く

                                            oページを開く

                                            はてなブックマーク

                                            • 総合
                                            • 一般
                                            • 世の中
                                            • 政治と経済
                                            • 暮らし
                                            • 学び
                                            • テクノロジー
                                            • エンタメ
                                            • アニメとゲーム
                                            • おもしろ
                                            • アプリ・拡張機能
                                            • 開発ブログ
                                            • ヘルプ
                                            • お問い合わせ
                                            • ガイドライン
                                            • 利用規約
                                            • プライバシーポリシー
                                            • 利用者情報の外部送信について
                                            • ガイドライン
                                            • 利用規約
                                            • プライバシーポリシー
                                            • 利用者情報の外部送信について

                                            公式Twitter

                                            • 公式アカウント
                                            • ホットエントリー

                                            はてなのサービス

                                            • はてなブログ
                                            • はてなブログPro
                                            • 人力検索はてな
                                            • はてなブログ タグ
                                            • はてなニュース
                                            • ソレドコ
                                            • App Storeからダウンロード
                                            • Google Playで手に入れよう
                                            Copyright © 2005-2025 Hatena. All Rights Reserved.
                                            設定を変更しましたx