タグ

ブックマーク / qiita.com/yuba (5)

  • サーバからクライアントに送信する技術 - WebSocketを中心に - Qiita

    Webでのプッシュ技術 HTTPはクライアント(ブラウザ)からリクエストしてサーバからレスポンスが返る一問一答型のプロトコルなので、基的にはサーバ側からブラウザに新着情報をリアルタイムで通知(プッシュ)できるようにはできていません。 しかしそれでもプッシュをしたいという場合にどうするかという話が出てきます。やり方には以下のようなものがあります。 ポーリング クライアントからサーバに定期的に新着を問い合わせるようにします。 最も原始的かつ確実なやり方。欠点は、最大でポーリング間隔の分だけ通知が遅延しうることです。 ロングポーリング(“COMET”) ポーリングなのですが、問い合わせを受けたサーバは新着情報がなければレスポンスを返すのをしばらく保留します。 そのあいだに新着情報が発生すれば即座にレスポンスを返しますし、一定時間経過したら何もなかったとレスポンスを返しましょう。 飛び交う通信内

    サーバからクライアントに送信する技術 - WebSocketを中心に - Qiita
    terazzo
    terazzo 2016/08/26
  • Fortran 奇譚 - Qiita

    先日 NASA が1977年に打ち上げられたボイジャー探査機のメンテナンスのために FORTRAN のエンジニアを募集しているという記事を見た。 http://www.theregister.co.uk/2015/10/31/brush_up_on_your_fortran/ 「FORTRAN が書ける人間がいるわけがない」「あれはIT業界のインダス文字だ」「NASA は暗に宇宙人に募集をかけてるのではないか」と思った人も多いと思うが、科学技術計算界隈ではわりと普通に FORTRAN が現役である。そこで稿では FORTRAN を面白おかしく紹介しようと思う。 FORTRAN は歴史が長いだけあって様々なバージョンがあるが、FORTRAN 77 は アルファベットの小文字が使えない などの仕様があり、気の弱いエンジニアは見るだけで失神するだろう。稿は全年齢対象という観点から、コードの視

    Fortran 奇譚 - Qiita
    terazzo
    terazzo 2016/07/30
  • Javaの検査例外は、呼び出し側で「どんなに注意しても防げない」異常系 - Qiita

    注:記事の内容はJavaで公式にドキュメントされているものではなく筆者の見解です。とはいえクラスを設計する上で有用な指針たり得ると思われるので公開したものです。 おさらい - 検査例外と非検査例外 Javaの例外クラスには「catchしないとコンパイルエラーになる」検査例外(チェック例外、checked exception)とそうでない非検査例外(非チェック例外、unchecked exception)があります。 検査例外は最近は嫌われる傾向がありC#では採用されていませんしAltJava言語も軒並み不採用、さらにはJavaの新しめのライブラリにも非検査例外しか投げないものが出てきていますが、適切に使えば安全なプログラミングのための強力な武器であり、検査例外の有意義さについては @irxground さんの Javaの検査例外の存在意義 をご覧ください。 例外クラスを自作する場合、検査

    Javaの検査例外は、呼び出し側で「どんなに注意しても防げない」異常系 - Qiita
    terazzo
    terazzo 2015/05/14
    事前チェックの方法がわからなくてSecurityManagerのcheckPermission()で泣く泣くtry-catchした記憶が。
  • GHOST脆弱性にyum update glibc、その後リブートする前に - Qiita

    CentOS7で遭遇したトラブル。 日話題のGHOST脆弱性にyum updateでパッチを当てたところ SSHログインできなくなってしまった というものです。 root権限でyum update → もちろん成功 (この時点で /root/.ssh/authorized_keys が空ファイルになってしまったよう) リブートしてSSHで再ログインを試みる。公開鍵認証が通らない。 パスワード認証でSSHログインを試みる。しかしパスワード認証は切ってあった! VPSのリモートコンソールでログインし状況確認を試みる。この時点で、/root/.ssh/authorized_keys が空になっており、タイムスタンプがアップデート作業した頃になっているのを確認。 パスワードログインで入れるよう、sshdの設定ファイルを修正(ただし、リモートコンソールゆえの苦労がたくさん。キーボード配列がおかしく

    GHOST脆弱性にyum update glibc、その後リブートする前に - Qiita
    terazzo
    terazzo 2015/01/28
  • ジェネリック型引数を実行時型情報に残す方法がある - Qiita

    Javaのジェネリックは1.4以前のバイナリ仕様との互換のために、コンパイルの時点で型引数情報が消去され非ジェネリックプログラミングされたかのようなコードに変換されます。この変換を 型消去(イレイジャ) と呼びます。 型消去、通常のプログラミングにもたまに影響を与えます(例えば List.toArray() がなぜか引数として一見不要な E[] 型の配列オブジェクトを要求するなどします)が、何より影響を受けるのがリフレクションごりごりのフレームワークプログラミングやライブラリプログラミングにおいてです。型消去に伴って、実行時型情報からも型引数の部分が抜け落ちてしまいますから(そこだけは残しておいてくれれば良かったのに!)。 具体的にはどんなことになるかというと、たとえばみんな大好きEBean(うそ、僕が大好き)なら、エンティティクラスを指定して対応するDBテーブルからデータを取り出すのに

    ジェネリック型引数を実行時型情報に残す方法がある - Qiita
    terazzo
    terazzo 2014/12/12
  • 1