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

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

アプリで開く

はてなブックマーク

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

はてなブックマーク

トップへ戻る

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

    参議院選挙2025

『qiita.com』

  • 人気
  • 新着
  • すべて
  • 切り分け方を間違えたマイクロサービスについてのおとぎ話 - Qiita

    3 users

    qiita.com/qsona

    こんにちは、 @qsona です。本記事はMicroservices Advent Calendar 2日目の記事で、息切れしない程度に1日目の続きを書きます。(2時間遅刻><) 宜しければぜひ 1日目 もご覧下さい。 さて、ある巨大なシステムがあるとします。下はこのシステムの状態を、良い順に表したものです。 適切にマイクロサービスに切り分けられたサービス。 適切にモジュール化された、モノリシックのサービス。 密結合になっているモノリシックのサービス。 適切ではないマイクロサービス化をされたサービス。 1が2より良いというのは私のポジショントークだとして、何が言いたいかというと、3と4の比較で「マイクロサービスの切り分け方に失敗するくらいならモノリシックのほうがマシ」ということです。 では、適切ではない切り分け方というのは、例えばどういうものでしょうか? また、なぜそういうことが起きてしま

    • テクノロジー
    • 2020/05/12 22:58
    • [Rails] [RDB] キー・複合キーをきちんと利用する - Qiita

      3 users

      qiita.com/qsona

      環境 Rails 5.0.0.1, MySQL 5.6 概要 Railsでは主キーは基本的にidをサロゲートキーとして用いる。 そのことの良し悪しはここでは論じないが、自然キーや複合キーがあるのであれば、それを意識し、正しく扱うことが重要であることは変わらない。 といっても基本的にはunique indexはるだけではある、それについてのメモ。 本編 ユーザが本質的に1日1回しかできない投稿がある、という例で考える。 users と daily_posts というテーブルがある。 usersのテーブル定義は省略し、daily_postsのmigrationファイルを正しく作る。 まず複合キーのことを考えずに、daily_postsのmigrationを作るとこんな感じになる。(作っただけでまだ db:migrate していない状態。) 1. キーを認識する 「本質的にuserが1日1回しか

      • テクノロジー
      • 2019/09/04 18:04
      • ジョン・ポステルのロバストネス原則とマイクロサービス - Qiita

        4 users

        qiita.com/qsona

        とうとう今年もアドベントカレンダーの時期がやってきました。体調を崩したのを言い訳に初日は華麗にスルーし、2日目から書き始めたいと思います。 ロバストネス原則 Be conservative in what you do, be liberal in what you accept from others. これは "Robustness Principle" (ロバストネス原則) という有名な一文で、 Postel's law (ポステルの法則) とも呼ばれます。 この記事では、インターネットの礎を支えたこの思想について、どういう状況で有効なのかを掘り下げます。また、マイクロサービスに対して非常に有効であることや、その応用について書きます。 ロバストネス原則の意味 conservativeは"保守的な", liberalは"寛大な", という意味の語で、和訳すると "行うことには保守的に、

        • テクノロジー
        • 2017/12/03 00:59
        • Protocol Buffers v3でフィールドのrequiredという仕様が削除された話 - Qiita

          9 users

          qiita.com/qsona

          Microservices Advent Calendar 2017 3日目の記事です。 今日は、2日目の記事で書いたロバストネス原則/Tolerant Readerに関連する話で、Protocol Buffersにあったフィールドのrequiredという仕様と、なぜそれが削除されたかについて書きます。 Protocol Buffersとは Protocol Buffersはメッセージフォーマットの1つです。JSONと大きく違うのは、バイナリ形式であることと、型定義があることの2点です。 Protocol Buffersの理解には、 @tayama0324 さんの歌舞伎座tech#12での資料 がおすすめです。(実はこの資料の中に、本稿で書いてある話も大体載っていました) 今回はマイクロサービスの話なので、Provider/Consumerで型定義ファイルを共有し、Providerがシリア

          • テクノロジー
          • 2017/12/03 00:58
          • クエリ型のサーバAPIとHTTP2 Server-Pushの組合せについての考察 - Qiita

            5 users

            qiita.com/qsona

            はじめに http2 Advent Calendar 2016 の15日目の記事です。私情で時間がとれなくなってしまい、10日の遅刻です・・・。ご迷惑おかけしました。 本記事では、GraphQLに代表されるようなクエリ型のサーバAPIと、Server Pushを組み合わせた使い道について考察しています。 HTTP/2のServer Pushの使い道としては、静的ファイルに関しての例が多く挙げられ、アプリケーションサーバからの利用についてはあまり語られていないように感じています(知らないだけだったらすみません)。こんな使い方もできるのではないか? という提案になっていれば嬉しいです。 本編 クエリ型のサーバAPIについて GraphQLに代表されるクエリ型のサーバAPIとその意義について、簡単に説明されているものとして、以下の記事が参考になります。 RESTの次のパラダイムはGraphQLか

            • テクノロジー
            • 2017/10/17 22:18
            • (bikeshed)Web APIにおけるJSONのキーはsnakeかcamelか - Qiita

              7 users

              qiita.com/qsona

              これは Frontend Meetup vol.1 - SPAを語り尽くす会! で飛び入りLTした内容を、(だいたい喋った内容に基づき)加筆、および修正したものです。 Today's Bikeshed Web API (JSON) キー名は? camelCase snake_case 経緯 FiNCでは・・・ Backend ... Ruby on Railsがメイン 今まではsnake_case Client iOS ... Swift Android ... Java Browser ... JavaScript (React) (全てcamelCaseな言語) 経緯 複数のBackendをたばねるフロントエンドサーバ(BFF)を GraphQLを利用して作っている GraphQLはcamel前提っぽい雰囲気あり GitHubのREST APIはsnake_case なのに、新しく公開

              • テクノロジー
              • 2017/09/04 10:49
              • Railsの楽観的ロックで発行されるSQL - Qiita

                4 users

                qiita.com/qsona

                はじめに 環境: Ruby on Rails 5.1.1 Railsの楽観的ロックで、どういうSQLが発行されるかを検証する。 楽観的ロックについては http://qiita.com/merrill/items/d9d41d64df292bd6432a などを参照。 もしRailsの実装で "saveする直前にselectしてlock_versionを確認し、同じならupdate" となっていたら、このselectとupdateの間に横から更新が入ると問題になる。そうなっていないかどうか念のため確認したかった。 先に結論 インスタンスをupdateするとき、1回のSQL文で行われる。したがって上のような問題は起きない。 where + update_all をした場合は楽観的ロックの対象外になるので注意。 準備 migration class CreateDogs < ActiveRec

                • テクノロジー
                • 2017/06/06 20:19
                • db
                • rails
                • あとで読む
                • Node.js + GraphQLでBFFを作った話 - Qiita

                  39 users

                  qiita.com/qsona

                  whoami @qsona (Twitter, GitHub, Qiita) Node.js developer FiNC 2016/2 〜 Ruby, Rails / MySQL love microservices! Microservices Meetup 主催 昨日3/30に開催: vol.5 (API Gateway & BFF) BFF とは? Backends for Frontends の略 クライアントとバックエンドの中間にサーバを置き、フロントエンド寄りの処理を行う Microservicesの文脈で語られることが多い 昨日の会長のスライド step by step BFF GraphQL とは? クエリー型 Web API RESTful API において問題になりがちな点をカバーしている 仕様として定められている (RESTfulはあくまでAPI設計の指針) Nod

                  • テクノロジー
                  • 2017/03/31 20:07
                  • GraphQL
                  • bff
                  • node
                  • node.js
                  • Frontend
                  • API
                  • 「管理画面」のマイクロサービスを立ち上げる前に考えるべきこと - Qiita

                    3 users

                    qiita.com/qsona

                    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Microservices Advent Calendar 3日目です。今日も2時間遅刻です。。 今回はシリーズものを一旦お休みにして、別のことを書きます。 管理画面を作りたいが、既存の特定のマイクロサービスにと1対1に対応しないため、新しくサービスを作りたくなるときがあります。このとき、手拍子に新しいマイクロサービスを立ち上げると失敗することがあります。考慮すべきだと思う点をまとめました。 サマリ 「管理画面」に引きづられると責務の分割の目が曇る。 UIのことは基本的に責務とは別 として考えるべき。 SPA (Single Page

                    • テクノロジー
                    • 2017/01/25 14:30
                    • rails
                    • マイクロサービスを一言で表すと何なのか - Qiita

                      5 users

                      qiita.com/qsona

                      こんにちは、qsonaです。マイクロサービス愛好者(?)です。活動としては、Microservices Meetup というイベントを、所属している株式会社FiNCにて運営しています。 初日ということで、「マイクロサービスとは何なのか」と風呂敷を広げたテーマで書いてみたいと思います。 幸いなことに、原典に近い文章を、日本語に翻訳していただいている記事があります。 Microservices / James Lewis, Martin Fowler @kimito_k さんによる翻訳 ある程度マイクロサービスでの開発を経験した後で読むと、この記事は驚くほど網羅性があると感じます。たまに読み返すと毎度新しい発見があります。 さて、マイクロサービスを初めて知るような人のために、あえてマイクロサービスを「一言」で表すなら、自分の考えは以下です。 マイクロサービス = 「超」疎結合 自分がマイクロサ

                      • テクノロジー
                      • 2016/12/23 15:01
                      • qiita
                      • マイクロサービス時代に捧ぐ、Railsでの中規模APIサーバ開発のための技術構成 - Qiita

                        209 users

                        qiita.com/qsona

                        Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 初めまして、qsona (tw) と申します。Ruby on Rails Advent Calendar 2016 6日目の記事になります。 Rails歴は10ヶ月で、もちろんAdvent Calendarへの参戦も初です。 全体的に生意気な内容と思いますが、 じゃんじゃんマサカリ投げてください お手柔らかにお願いします。 はじめに 環境 JSONを返すAPIで、データベースはRDBを想定してます。 あんまり関係ないですが一応、Rails5 (api mode) + MySQLを想定しています。 マイクロサービスとしてのバックエンドに使

                        • テクノロジー
                        • 2016/12/06 23:45
                        • rails
                        • API
                        • 設計
                        • microservices
                        • Ruby
                        • MicroService
                        • あとで読む
                        • architecture
                        • Framework
                        • RESTful Web API を厳密なリソース指向にする - Qiita

                          13 users

                          qiita.com/qsona

                          はじめに モチベーション 異なるエンドポイントで、大体似たようなレスポンスなのに、 キー名が違う... キーが多かったり少なかったりする。。 というような、Web API (主にjsonを返す) を作っていてよく問題になる現象。 このような問題に対してのアプローチとしてはいくつかある。 例えば、formatする関数を用意して、必ずレスポンス返却前にそれを呼んで返す、のような運用的な解決手段。 が、 あまり強制力がない 宣言的ではなくどうしても手続きっぽくなる というところで、ややイケてなさが残る。 そこで、API全体としてもっと強力な制約を課し、宣言的にやることで、レスポンスの形を完全に安定させたい。 そのために導入したのが、 (厳密な)リソース指向API と呼んでいるもの。 それ自体は何の新規性もないのだが、2ヶ月くらい運用してみて割と上手く行っているので、その気持ちと実装のことを書く。

                          • テクノロジー
                          • 2016/11/17 12:04
                          • api
                          • 設計
                          • rails
                          • ruby
                          • Grapeとrablを捨て去って原点回帰した話 - Qiita

                            6 users

                            qiita.com/qsona

                            自己紹介 @qsona (Twitter/GitHub) Node.js 2年半 2016/2 - now FiNC株式会社 Ruby, Rails 半年 マイクロサービス Microservices Meetup 運営してます 概要 最近、Rails上の技術スタックを変更してみている Grape => ActionController rabl => active_model_serializers (grape-)swagger => JSON Hyper-Schema その背景と理由を話します 背景 2014- FiNCアプリ開発開始 早いうちから Microservices を選択 grape, rablでAPI開発 grape-swagger でAPIドキュメント生成 起こっていた問題点 起こっていた問題点 ドキュメントが片手落ち レスポンスの型が安定しない Smart UIなA

                            • テクノロジー
                            • 2016/09/29 11:49
                            • Rails
                            • ActiveModel::Serializersでネストされたリソースを扱う - Qiita

                              6 users

                              qiita.com/qsona

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

                              • テクノロジー
                              • 2016/09/01 10:10
                              • Rails
                              • Webアプリケーションで、APIが画面と結びつきすぎる問題を解決するには - Qiita

                                16 users

                                qiita.com/qsona

                                概要 Webアプリケーションを開発しているとしばしば、APIサーバ側がクライアントのことを考えたレスポンスを返すことを意識した結果、いろいろと辛い状態になることがある。このような状態をいかに解消していくかを考察していく。 本稿で想定するWebアプリケーション サーバサイドはWeb API (大抵はHTTP, JSON)であり、iOSアプリ、Androidアプリ、ブラウザアプリ(Single Page Application=SPA)があるような、一般的なWebアプリケーションを考える。 開発の流れは、まず仕様が提案され、それをもとに、iOS/Android/Browserでの画面仕様が作られる。それを見ながら、アプリのエンジニアとサーバサイドのエンジニアが打ち合わせ、APIのエンドポイント・リクエスト・レスポンスの型を定め、その後お互いに開発を開始する。 Smart UI アンチパターン

                                • テクノロジー
                                • 2016/05/30 09:54
                                • api
                                • あとで読む
                                • Railsのdefault_scopeをどうしても使いたい時 - Qiita

                                  3 users

                                  qiita.com/qsona

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

                                  • テクノロジー
                                  • 2016/04/17 06:27

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

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

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

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

                                  j次のブックマーク

                                  k前のブックマーク

                                  lあとで読む

                                  eコメント一覧を開く

                                  oページを開く

                                  はてなブックマーク

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

                                  公式Twitter

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

                                  はてなのサービス

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