タグ

ブックマーク / soutaro.hatenablog.com (4)

  • Cross Origin Resource Sharingのプリフライトの背景を理解する - soutaroブログ

    Ajaxで他のホストのデータにアクセスできるようになるやつについてです。 HTTP access control (CORS) | MDN この辺のドキュメントを読んでいても、どうも今ひとつ納得できなかったりすることがないかと思います。 シンプルなリクエストとプリフライトリクエストはなにが違うの? まずシンプルなリクエストとプリフライトリクエストをなぜ区別しているの? プリフライトリクエストは「実際のリクエストを送信しても安全かを確かめるために」あると書いてあるが、「安全な」リクエストと「安全でない」リクエストはどう違うの? シンプルなリクエストとプリフライトリクエストの二つがあることはわかるけど、なぜ二つに分けないといけないのか良くわからないし、その定義もなんか無駄に複雑に見えて良く理解できない。なぜ application/x-www-form-urlencodedが特別扱いされている

    Cross Origin Resource Sharingのプリフライトの背景を理解する - soutaroブログ
    clavier
    clavier 2019/05/09
  • Swiftでas!と書く場合のガイドライン - soutaroブログ

    as!って言うのは、要するにダウンキャストできない場合にプログラムを終了させるものである。 if let x = expr as? SomeClass { f(x) } else { fatalError() } と書くのであれば、 f(expr as! SomeClass) と、同じことなので、as!で書いた方が良い。その方がタイプ数が減るし、コードの見た目も簡潔になって理解しやすくなる。長いコードはそれだけで苦痛だし、なにか間違ったプログラミングをしていることを示すシグナルにもなる。ダウンキャスト失敗の場合に終了するためだけにifを書くことは、全体的なコードの乱雑さを増してしまい、当の問題の見落としに繋がる。 ただし、as?とかas!とかダウンキャストをしてる時点で、そのプログラムには潜在的な問題があると考えることもできて、当にダウンキャストが必要なのか3回くらい考えた方が良い。

    Swiftでas!と書く場合のガイドライン - soutaroブログ
  • それでenumとclassのどっちにすれば良いの? - soutaroブログ

    SwiftのenumがObjective Cで欲しいときはどうするか - soutaroブログ この記事には enumが便利なのは ある状態では有効だけど、別の状態では有効ではない値を定義するとき です。 と書きましたが、「それはサブクラスっていうやつではないか」という声があります(どこに?)。その通りで、enumとクラスはよく似ている側面があって、enumでできることはクラスでも(再コンパイルの量とか、網羅性の検査とか、isKindOf:とか、キャストとかの問題を見なかったことにすれば)できるという話でした。 ここで疑問になるのは、 なぜSwiftにはenumとclassという似たような機能が二つ用意されているのか(TMTOWTDI?) 何を考えてenumとclassを使い分ければ良いのか でしょう。 enumとclassの違い Swift的には「classは状態を持てるがenumは持て

    それでenumとclassのどっちにすれば良いの? - soutaroブログ
  • ユビレジのサービス状況を監視するためのモニタを作りました - soutaroブログ

    ユビレジではNew RelicとかLogglyとか使ってサービスに問題が生じていないかを監視しているのですが、そうはいってもあんまりちゃんと監視できていないのが問題になっていました。簡単に言うとWebブラウザでいちいちアクセスするのは、明らかにめんどくさいわけです。具体的にNew Relicを見ようと思ったとすると、 New Relicを見ようと思う ブラウザの新しいタブにrpm.newrelic.comと入れる パスワードを入れる アプリケーション一覧からUbiregiを選ぶ やっとモニタにたどり着く! という手順が必要になります。全体的に面倒くさいのですが、この中で一番問題になるのは1の「New Relicを見ようと思う」ということです。あんまり思いません。そして、問題が発生するのは、問題が発生すると思いもしなかったタイミングです。メール通知なんかもありますが、わりと簡単に他のものに埋

    ユビレジのサービス状況を監視するためのモニタを作りました - soutaroブログ
  • 1