タグ

ブックマーク / tkng.hatenablog.com (3)

  • なぜあなたがウェブサイトをHTTPS化するとサイトが遅くなってユーザーが逃げていくのか - 射撃しつつ前転 改

    完全に釣りタイトルですけど中身は真面目に書くよ。 近年、ウェブサイトのHTTPS化が流行のようになっている。私の知る限り、Googleの各種サービスやTwitter、Facebookなどが完全にHTTPSで通信を行うようになっている。HTTPS、つまりSSLによる通信の暗号化によって、ユーザにこれまでよりも安全なウェブサイトを提供できる。 しかし、あなたが作っているサイトをふと思いつきでHTTPS化してしまうと、たぶん、これまでよりもサイトが遅くなる。ここでは、HTTPSで通信する場合の問題を解説する。 なぜ遅くなるのか HTTPで通信する場合、クライアントがサーバへと接続するためにはTCP/IPの3ウェイハンドシェイクという手順が必要になる。めんどくさいのでここでは詳しくは説明しないが、要するにクライアントがリクエストを投げる前にパケットを1往復させないといけないのである。パケットの往復

    なぜあなたがウェブサイトをHTTPS化するとサイトが遅くなってユーザーが逃げていくのか - 射撃しつつ前転 改
  • プログラミングの本質とは - 射撃しつつ前転 改

    プログラミングの質は、条件分岐と繰り返し(と連接)だけでチューリング完全が実現できることであると考えている。つまり、いわゆる構造化定理である。 プログラミングの勉強を始めた頃は、一体どこまで勉強すれば自分はプログラミングが出来るといえるのか、まったくわからなかった。構造化定理を知ったとき、ああ、これだけ知っていれば全てのプログラムが書けるのか、と感動したし、振り返ってみても、あの瞬間はプログラマとして一つの到達点であったと思う。もちろん、そこから先の道のりは、まだまだ長かった訳だけれども。 構造化定理の良い点は、チューリングマシンというなんだか抽象的かつ重要そうなものと、自分がいつも書いているプログラムの間をシンプルに結びつけてくれる点であると思う。実際にプログラミングをする際の道具立てとしては便利なものが色々とある(高階関数だとかクロージャだとかね)訳だけれど、精神を支えているという点

    プログラミングの本質とは - 射撃しつつ前転 改
  • Firefoxからsshのダイナミック転送を使って非公開サーバへアクセスする - 射撃しつつ前転 改

    sshにはダイナミック転送という機能がある。この機能を使うと、sshはアプリケーション側にはSOCKSプロクシとして振る舞うが、そこからsshの接続先までは暗号化された状態で通信が行われる。 これだけだと通常のトンネリングとどう違うのかよくわからないかもしれないが、ダイナミック転送の場合は転送ポートを指定する必要がない。ここがダイナミックと表現される所以だろう。 例えば、オフィスAにある開発サーバdev1にオフィス外からアクセスしたいとする。しかし、dev1はオフィス外には公開されておらず、踏み台サーバladd1を経由してしかアクセスするしかない。ladd1はsshのみが動いており、これまではsshのトンネリング機能を使ってアクセスしてきたのだが、ウェブアプリケーションをデバッグする際はいちいちウェブアプリケーションのポート毎にトンネルを掘るのが面倒くさい。オフィスに限らずデータセンターへ

    Firefoxからsshのダイナミック転送を使って非公開サーバへアクセスする - 射撃しつつ前転 改
  • 1