タグ

2015年3月17日のブックマーク (29件)

  • Staytus - サービスの状態を可視化するダッシュボード

    Web APIを提供していると、サービス利用者向けにサービスのステータスを表示したいと思うことがあります。定期メンテナンスであったり、障害でサービスが停止している場合も、ユーザに適切に情報発信できる必要があります。 GoogleAppleAmazonなどは行っていますが、Staytusを使えば小さなサービスであっても手軽に実現できるようになります。 Staytusの使い方 StaytusはAPIを使ってステータス更新を自動化したり、手動で変更もできます。サポートの状態を可視化するのは良さそうです。Staytusを別サーバに立てて、監視と一緒に組み合わせて使うと便利そうです。 StaytusはRuby/Ruby on Rails製のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません)です。 Welcome - The Widgets Status Site Th

    Staytus - サービスの状態を可視化するダッシュボード
    clavier
    clavier 2015/03/17
    Staytus - サービスの状態を可視化するダッシュボード MOONGIFT
  • SEが知っておくべき、新規プロジェクト「失敗の本質」~成功率8割以上のPMOが語る、炎上させない方法論とは - エンジニアtype | 転職type

    転職・求人情報サイトのtype エンジニアtype スキル SEが知っておくべき、新規プロジェクト「失敗の質」~成功率8割以上のPMOが語る、炎上させない方法論とは (写真左から)マネジメントソリューションズCOOの田口正剛氏と、マネージャーの佐藤直樹氏 企業景気の復活やサービス競争の激化により、国内・海外ともにシステムの新規導入・刷新プロジェクトの需要が高まっている。そこで、SIer・ユーザー側それぞれが人的リソースの確保と並んで取り組んでいるのが、プロジェクトの成功率アップだ。 2014年の『日経コンピュータ』によると、昨今のシステム関連プロジェクト成功率は約7割とのこと。プロジェクトの平均成功率は短期のものほど高く、「3カ月未満」が81%、以下、「3~6カ月未満」が78%、「6カ月~1年未満」が74%、「1年以上」が67%だった(※データの出典元は同誌2014年10月16日号)。

    SEが知っておくべき、新規プロジェクト「失敗の本質」~成功率8割以上のPMOが語る、炎上させない方法論とは - エンジニアtype | 転職type
    clavier
    clavier 2015/03/17
    SEが知っておくべき、新規プロジェクト「失敗の本質」~成功率8割以上のPMOが語る、炎上させない方法論とは - エンジニアtype
  • AWSの障害情報を効率的に収集する方法 | DevelopersIO

    こんにちは、城内です。 全然ブログが書けていなくて、大変申し訳ない気持ちでいっぱいな今日この頃です。 はじめに AWS上のシステムを運用している人たちは、日々AWSに関するいろいろな情報をチェックしていることと思います。はっと思った人は、こんなエントリーを参考にしてくださいね。 【備忘録】AWSの最新情報が公開される場所をまとめてみた AWSの各サービスの稼働状況について 上記のエントリーにも記載がありますが、基的にはAWS Service Health Dashboardを見れば各サービスの稼働状況は分かります。 ただ、やっぱりいちいち見に行くのは面倒なので、RSSリーダーとかを使って更新情報を見れるようにしたいですよね。まあ、RSSフィードがあるのでそれを登録すればよいのですが・・・。 RSSリーダーへの登録 AWS Service Health Dashboardを見てもらえれば分

    AWSの障害情報を効率的に収集する方法 | DevelopersIO
    clavier
    clavier 2015/03/17
    AWSの障害情報を効率的に収集する方法 | Developers.IO
  • サブスタックがFetchの仕様についてガチギレしてるのでまとめた.md

    サブスタックがFetchの仕様についてガチギレしてるのでまとめた.md Fetch API、これ前に戻ってるだろ、chunk化する事もできないし、全てbufferしちゃうじゃん Fetch APIただのTrendyなAPIっぽく見せてるだけで上辺だけ変わって何も新しい事ない incrementalなchunkに基づく全二重通信可能な(full duplex)httpがあれば、streamでそれをまとめられるのに @domenic このゴミみたいなAPIがどこから来たのか分かる?そんでなんで全部のレスポンスバッファしちゃうの? @substack response.json()とresponse.body() はstreamにする予定だから、もう少し待ってよ、、、 @domenic なんでそんな .json とか .bodyみたいなのがいるの? textはどうなったの一番統一のインタフェース

    サブスタックがFetchの仕様についてガチギレしてるのでまとめた.md
    clavier
    clavier 2015/03/17
    サブスタックがFetchの仕様についてガチギレしてるのでまとめた.md
  • Go用のGoogle製のGUIツールキットgxuiのインストール - Qiita

    GoogleGo用の新しいGUIライブラリのgxuiをリリースしました。 ソースコードを見て分かる特徴 ボタン、テキスト入力、ツリーコンポーネントとかがありそう ツリーアダプタ的なクラスがある。直接ツリーコンポーネントに要素を追加するんじゃなくて、MVC的な作り? テーマが切り替えられる。darkというのが最初から組み込まれている。色を変えるぐらいならすぐできそう。ちなみに、テーマといいつつ画像データはなくてフルソースコード。 ベースはOpenGL。 C拡張を使っているのでクロスコンパイルは簡単ではなさそう。 Macへのインストール MacOSX 10.9+Golang 1.4.2(公式バイナリ)で試しています。 glewというライブラリが必要そうなので、Sourceforgeからtarballをダウンロードしてきてインストールします。

    Go用のGoogle製のGUIツールキットgxuiのインストール - Qiita
    clavier
    clavier 2015/03/17
    Go用のGoogle製のGUIツールキットgxuiのインストール - Qiita
  • 「Cartonの内部」について社内勉強会で発表した - $shibayu36->blog;

    Perlのバージョン管理ツールであるCartonの内部について、社内勉強会で発表したので、その時の資料をそのまま公開する。けっこう雑に作ってしまったので、正確性については保証できないけど、Cartonのソースコードリーディングの際の参考になればと思う。 アジェンダ Cartonとは いろいろトラブル carton installの挙動を理解する Cartonとは Perlのモジュール管理ツール 依存モジュールを特定のバージョンに固定して、インストールしてくれる Cartonとは(深堀) 一番重要なのはcarton install 基的にはcpanmのラッパーとしてcarton installが実現 Module::CPANfileなど、小さいモジュールを組み合わせている いろいろトラブルもある cpanfile.snapshotが環境によって変わる carton install --de

    「Cartonの内部」について社内勉強会で発表した - $shibayu36->blog;
  • 県民、推薦の寿司!東京から2時間弱の富山でいただける“回っていない”高級すし屋7選

    山と海があり、自然豊かな街、富山。いまや北陸新幹線が通り、東京駅から2時間弱で行けるようになりました。立ち寄った際には全国でも有数な富山の寿司をべてもらいたい!今回は、富山県民の筆者が選んだ、“回っていない”高級の寿司屋さんをまとめてみました。

    県民、推薦の寿司!東京から2時間弱の富山でいただける“回っていない”高級すし屋7選
    clavier
    clavier 2015/03/17
  • Rails + Heroku で知人のポートフォリオサイト作った話 - suusan2号の戯れ

    前のブログ書いてから2ヶ月くらい立っていた… この2ヶ月なにしてたかというと、転職活動しつつ知人のWEBサイトをRailsで作ったりしてました。自分の備忘録も兼ねてまとめておきます。 何を作ったか イラストレータをやっている知人のポートフォリオサイトを作らせてもらいました。 これまでも作った作品や関わった仕事をまとめたサイトを自分で作っていた方なんですが、一々HTMLを編集してファイル上げたりするのが面倒とのことで、ブログを編集するような間隔でサイトを更新できるよう、Rails + Herokuで一からCMS(であってるかな?)的なものを作ってみました。 ぶっちゃけ簡単にサイトを作れるサービスって普通にあるわけですが、一から作らせて貰ったのはもう完全に自分のスキルアップのためです・・・ 私について Ruby歴=Rails歴=半年くらい 普段はSIerで仮想化のインフラSEやっててます。会社

    Rails + Heroku で知人のポートフォリオサイト作った話 - suusan2号の戯れ
  • x86/x64最適化勉強会7 レポート - Cybozu Inside Out | サイボウズエンジニアのブログ

    サイボウズ・ラボの光成です。 今回は3月15日に開催された「x86/x64最適化勉強会7」の模様についてお伝えします。前回から約1年半振りと久しぶりの開催です。 今回の発表内容は浮動小数点数周りの話が2件、CSSパーサ周りの話が1件、暗号関係の話が3件でした。 以下、それぞれの発表内容について簡単に解説します。 浮動小数点数関係 @ksmakotoさんの発表は「非正規化数のFZ(FTZ)とDAZの違い」(動画1)でした。 浮動小数点数には正しい精度で扱える最小の正の数DBL_MIN(約2.225074e-308)があります。 0とDBL_MINの間の数は精度は落ちるけれども扱うことはでき、非正規化数と呼ばれます。 非正規化数を扱うのはなかなか難しく、ハードウェアやソフトウェアによってはサポートしていなかったり、していてもとても遅かったりすることがあります。そのため非正規化数を0と見なすこと

    x86/x64最適化勉強会7 レポート - Cybozu Inside Out | サイボウズエンジニアのブログ
    clavier
    clavier 2015/03/17
  • MySQL と Unicode Collation Algorithm (UCA) - かみぽわーる

    utf8_unicode_ci に対する日の開発者の見解 - かみぽわーる で、日語が分かる人には utf8_unicode_ci のヤバさを感じてもらえたと思うんですけど、この挙動はドキュメントによると UCA というアルゴリズムによるものらしい。 MySQL implements the xxx_unicode_ci collations according to the Unicode Collation Algorithm (UCA) described at http://www.unicode.org/reports/tr10/. The collation uses the version-4.0.0 UCA weight keys: http://www.unicode.org/Public/UCA/4.0.0/allkeys-4.0.0.txt. Currently,

    MySQL と Unicode Collation Algorithm (UCA) - かみぽわーる
  • Server::Starter を使って複数の Fluentd で1つのポートを待ち受ける : sonots:blog

    Server::Starter を使って複数の Fluentd で1つのポートを待ち受ける : sonots:blog
  • 集約、エンティティ、バリューオブジェクト

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    集約、エンティティ、バリューオブジェクト
    clavier
    clavier 2015/03/17
  • CloudFrontでプライベートコンテンツの公開:Securing Your Content in Amazon S3 - Develop with pleasure!

    Securing Your Content in Amazon S3を意訳。 CloudFrontのPrivate Distributionを使用するには、CloudFrontアクセスIDを作成し、そのIDのみからコンテンツへアクセスできるようS3内のオブジェクトのACLを設定する必要がある。このセクションでは、アクセスIDとは何か、アクセスIDを組み込むためにどのようにdistributionを変更すれば良いか、どのようにCloudFrontからS3内のデータへのアクセスか認可するかについて説明する。 CloudFrontアクセスIDについて CloudFrontアクセスIDは、S3のバケットからのコンテンツの取得を許可する仮想IDである。まず自分のAWSアカウントでCloudFrontアクセスIDを作成し、そのIDをdistributionにアタッチし、S3のオブジェクトへの読み取り権

    clavier
    clavier 2015/03/17
  • AWS(Amazon Web Services)技術資料メモ(2015年3月版) - hiroshixの日記

    2015-03-16 AWS(Amazon Web Services)技術資料メモ(2015年3月版) 2015年3月版に更新。 技術資料はココにあるんだけど、散らかってるのでまとめてみた。全体的に資料の日付をチェックした方がいいかも。資料公開からアップデートがある場合も。あとどの資料も最初に概要入っててごめんなさい。 概要的なやつ スタートアップならおさえておきたいAWS入門サービス概要と基礎知識編 スタートアップならおさえておきたいAWS入門サービス概要と基礎知識編 from Hiroshi Takayama →つまづきやすいポイントや不安点など WebサービスStartUP向け AWSスケーラブルな構成例 WebサービスStartUP向け AWSスケーラブルな構成例 from Amazon Web Services Japan →構成例・代表的なサービスの一言紹介・課金関連・サポ

    AWS(Amazon Web Services)技術資料メモ(2015年3月版) - hiroshixの日記
  • is.jsというマイクロチェックライブラリのコードを読んだのでメモ - axross blog

    2015-03-17 is.jsというマイクロチェックライブラリのコードを読んだのでメモ JavaScript Node.js npm is.js is.jsは、値の中身や型を様々な条件でチェックするマイクロチェックライブラリ。 Node.jsでもブラウザでも動作し、最近よく使うであろうユーザーエージェントのチェックだとかにも対応している。 is.js - micro check library コードを読みつつ機能を舐めたので、そのメモ。 共通 is.jsの関数には、interfaceという機能がある。 is.string('abc'); // => true // 反転 is.not.string('abc'); // => false // すべてが... is.all.string('abc', 123, 'fgh'); // => false // いずれかが... is.any

    is.jsというマイクロチェックライブラリのコードを読んだのでメモ - axross blog
  • Rails ActiveRecordでランダムにレコードを1件取得する

    Rails の ActiveRecord で、MySQL データベースのテーブルから、ランダムにレコードを1件取得するコードを4つの方法で試しました。Rails は便利とはいえ、ActiveRecord が絡む部分でまずい書き方をすると、劇的に動作が遅くなってしまう場合もある。なので、自信がない時は、ちょっと手間がかかりますけどベンチマークを取るようにしてます。 ※ 2015/03/18 1つ目のやり方に欠点がありましたので、追記しました。参考にされる場合は、追記部分も読まれるようお願いいたします。

    Rails ActiveRecordでランダムにレコードを1件取得する
  • [Capistrano] Gitのブランチ名を指定してアプリケーションを配備する | CreativeStyle

    Capistranoを使ってStaging環境にRailsアプリケーションを配備するときに、普段はmasterブランチでいいんだけど、状況によっては特定のブランチを配備して検証したい、なんて状況ありますよね。 Capistranoの設定ファイルで、配備対象のGitのブランチ名を指定するには以下のように書けばいいのですが、これだと常に同じブランチ(例だとmasterブランチ)が配備されてしまいます。

    [Capistrano] Gitのブランチ名を指定してアプリケーションを配備する | CreativeStyle
  • 安全なウェブサイトの作り方改訂第7版の変更点と変わらない点

    IPAの安全なウェブサイトの作り方 改訂第7版が公開されました。 このエントリでは、安全なウェブサイトの作り方の元々もつ特徴(変わらない点)と、第7版の変更のポイントについて説明します。 なお、私は安全なウェブサイトの作り方の執筆者の一人ではありますが、以下の記述は私個人の意見であり、IPAを代表するものではありませんので、あらかじめご承知おきください。 安全なウェブサイトの作り方の変わらぬ特徴 安全なウェブサイトの作り方の特徴は、「まえがき」の中で述べられています。 書は、IPAが届出を受けたソフトウェア製品およびウェブアプリケーションの脆弱性関連情報に基づいて、特にウェブサイトやウェブアプリケーションについて、届出件数の多かった脆弱性や攻撃による影響度が大きい脆弱性を取り上げ、その根的な解決策と、保険的な対策を示しています。 すなわち、以下の2点がポイントと考えます。 脆弱性の選定

    安全なウェブサイトの作り方改訂第7版の変更点と変わらない点
  • 賃貸だけど、壁と床と照明をオシャレにしたかった | goodroom journal

    今年の秋にいま住んでいる部屋の更新を迎える、グッドルームスタッフ田村。 いままでなんとなく部屋探しをしてきたけれど、つぎは絶対おしゃれな部屋に住みたい…… いったいどんな部屋が見つかるのか!? 引越まで、リアルタイムで日記をつづります。 東京でひとり暮らしを始めてから10年ほど。 そのあいだ引越しは3回、毎回、部屋の間取り図を穴があくほど眺めては、家具やインテリアの配置を考えるのが死ぬほど好き、という性格です。 しかし、皆様ご存知のとおり日賃貸のお部屋にはたくさんの制約が。 ・壁に穴をあけちゃいけない ・床に傷をつけちゃいけない ・ドアや建具を汚しちゃいけない ・照明は備え付けの蛍光灯 ・・・などなど。 今回は、3回の引越と数え切れない模様替えを繰り返して、私が賃貸でもオシャレに住むために編み出した、涙ぐましい努力の成果をご紹介いたしましょう。 社会人1年目のころに住んでいたワンルーム

    賃貸だけど、壁と床と照明をオシャレにしたかった | goodroom journal
  • cron の意外な落とし穴! - もろず blog

    システムを運用していく上で cron を使う場面はよくありますよね 処理をスケジュール実行したい時にとても便利です そんな cron ですが、最近仕事で作業しているときに ntpdate でシステム時刻を変更した後に cron で設定した時刻になってもジョブが実行されないという問題が見つかりました 全てのジョブが実行されていないわけではなく一部のジョブは実行されているようでした また、時刻を変更した後に crond を再起動すれば全てのジョブが正常に実行されるようになりました 幸い、実運用ではなくてシステムテスト中に見つかった問題なのでまだよかったんですが、運用している環境で同じ問題が起きたら相当マズイですよね そもそも ntp の時刻同期でシステム時刻が修正された場合にも同じ問題が起きそうじゃないですか? ググっても同じような事象は見つからず、社内のメンバーにも聞いてみても cron

    cron の意外な落とし穴! - もろず blog
  • net.core.somaxconnについて調べてみた - 祈れ、そして働け ~ Ora et labora

    概要 ↓ memcachedのtcp_backlogのデフォルト値は1024で、stats settingsにも1024と表示されているのですが、 stats settings ... STAT tcp_backlog 1024 ... END↓ net.core.somaxconnがデフォルト値のままだと128に切り詰められてしまい、 # cat /proc/sys/net/core/somaxconn 128負荷が高いサーバーでは接続要求を取りこぼしてしまうことがあるそうです。 このnet.core.somaxconn、MemcacheやMySQLなど、高負荷時に多くの接続要求を受け付けるサーバーではチューニングが必要なカーネルパラメータのようです。いったいどういう値なのか、調べてみました。 net.core.somaxconnとは TCPソケットはlisten()関数の第二引数 ba

    net.core.somaxconnについて調べてみた - 祈れ、そして働け ~ Ora et labora
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • マルチユーザ対応 Android 4.2以降の内部ストレージと外部ストレージ | TechBooster

    getFilesDirで取得できるPath以下にファイルを作成する。第1引数にファイル名、第2引数にアクセスモードを指定(MODE_PRIVATEが一般的)する。 ActivityクラスのgetFilesDirメソッド、getCacheDirメソッドを使うと端末で指定されているアプリケーション専用のデータ領域を取得できます。 ログにパスを出力するだけの簡単なサンプルコードを用意しました。実行してマルチユーザ時の挙動を確認してみましょう。 //アプリケーション専用データ領域 //ファイル保存ディレクトリ Log.d("Multi", " getFilesDir(): " + getFilesDir()); //キャッシュ保存ディレクトリ(消去される可能性あり) Log.d("Multi", " getCacheDir(): " + getCacheDir()); ※ちなみにCacheDirは

    マルチユーザ対応 Android 4.2以降の内部ストレージと外部ストレージ | TechBooster
  • Railsで共通メソッドの作り方 - 線路は続くよどこまでも。

    コントローラ全体の共有のメソッドを追加する 異なるコントローラ間で共通に使用するメソッドは, ApplicationControllerクラスで定義します。 各コントローラは, 原則としてApplicationControllerを継承しているのでここ(app/controllers/application.rb)で定義すればどのコントローラでも使えます。 なにかしらのアプリケーションでのアカウント, ログイン情報なんかを判別するときに使うと便利です。 例:セッションの :user_id をもとにログインしてるユーザ情報を取得するcurrent_userメソッドを作るとこんな感じです。 class ApplicationController < ActionController::Base protect_from_forgery def current_user @current_use

    Railsで共通メソッドの作り方 - 線路は続くよどこまでも。
  • 4パターンのWebWorker生成方法とインラインワーカーの技法 - Qiita

    WebWorker の作り方を4つ紹介するついでに、ライブラリ作るマンから見た それぞれの所感 と node.js でも動かせる & テストしやすい インラインワーカーの技法 について書きます。 1. 外部のワーカーファイルを読み込む 基のやり方。 一番わかりやすいので良いけど、ライブラリとして配布することを考えると複数ファイルの管理をする/してもらうのが面倒い。ライブラリの中で書くならワーカーのパスは設定で変更できるようにしたほうが良い。 シンプルでわかりやすい 管理が面倒い var worker = new Worker("worker.js"); worker.onmessage = function(e) { console.log(e.data); // (3) hello!! }; worker.postMessage("hello"); // (1)

    4パターンのWebWorker生成方法とインラインワーカーの技法 - Qiita
    clavier
    clavier 2015/03/17
    JavaScript - 4パターンのWebWorker生成方法とインラインワーカーの技法 - Qiita
  • IDやクラス名でつかう英語の小話 - Qiita

    Sidebar 先日、イベントの懇親会での質問で、 レスポンシブ対応で、サイドバーのカラムと落とすのがモヤっとするんですよね、サイドバーなのに。 というのがあった。 これ、確かにCSSのカラムレイアウトとか勉強しはじめると、右側・左側に#sidebarと名付けられたものがあり、なんとなく「メインに対し、位置的に横にあるやつ」っていうイメージあるんですが、別にSidebarはレイアウト上の名前ってわけではありません。 【名】〔新聞の主記事に対する〕補足[側面]記事◆【同】follow ; follow-up sidebarの意味・用例|英辞郎 on the WEB:アルク 〔新聞の主記事に対する〕補足[側面]記事ってことで、別にレイアウト的に下にあったって、Sidebarです。 ※これはこれで、メインでないものをなんでもかんでも #sidebar の中にいれるのは正しくない気もしますね。 H

    IDやクラス名でつかう英語の小話 - Qiita
  • Elasticsearch 日本語形態素解析のための文字列正規化の重要性

    語の文章を形態素解析するときは、トークナイズする前に文字列の正規化を済ませて検索精度を向上させよう! この記事は、Elasticsearch Advent Calendar 2014 の18日目のエントリーです。即席で申し訳ないですが、なんとかまとめましたので是非最後までお付き合いください。 今回は、日形態素解析における文字列正規化のお話です。 それでは早速題に。 非正規化された日語の文章を形態素解析を使って、なるべく意図したようにトークナイズするためには、全角英数字を半角英数字に正規化したり、半角カタカナを全角カタカナに正規化したり、不要な文字を除外したり、単語ではなく、文字単位での正規化が重要になってきます。 Japanese (kuromoji) Analysis Plugin のページでも紹介されているように、全角英数字や半角カタカナの正規化には、CJK Width F

    Elasticsearch 日本語形態素解析のための文字列正規化の重要性
  • Browserifyでrequireを使ってjavascriptの依存関係をすっきりにしてみる - undefined

    ブラウザ上もでrequire使いたい 現状Coffeeのclassを異なるファイルから参照するにはwindow.HogeClassとか@HogeClassとかでグローバル変数をってたんだけどBrowserifyを使えばNode.js のモジュールのようにrequireで読み込みことができるっぽい。参考記事を見ながら簡単なサンプルを実際に作ってみた。 grunt-cli のインストール npm install -g grunt-cli package.jsonを作成 npm init 対話形式でpackage.jsonを作成。 必要な情報を入力してください。 プロジェクトに必要な情報を記述するjsonファイルが生成されます。 browserify grunt grunt-browserifyのインストール npm install browserify grunt grunt-browseri

    Browserifyでrequireを使ってjavascriptの依存関係をすっきりにしてみる - undefined
  • 外部キーNightで「我々(主語が大きい)は何故MySQLで外部キーを使わないのか」という発表をしてきました | おそらくはそれさえも平凡な日々

    発表資料:我々(主語が大きい)は何故MySQLで外部キーを使わないのか もう一月以上前ですが、外部キーNightという勉強会で、MySQLの外部キーについての発表をしてきました。 よく言われていることですが、それなりの規模のWebサービスMySQL運用となると外部キーを避けざるを得ない部分があり、とは言えその辺りに関してまとまった資料が余りなさそうだったので、自分なりにまとめた内容を話した次第です。 MySQLを使ったそこそこの規模のWebサービスを運用している人にとっては当たり前の内容しか書かれてません。ただ、「外部キー使わないとか馬鹿なの」とかそんな論調を見ることがあり、そういう意見に対して、実際問題外部キーを使えるとなれば便利だとは思いますが、それがわかった上で、使わないという選択をすることがあり得るということを示したかったというのがあります。 実際ブコメで「そこそこの規模ならば外