タグ

2012年9月26日のブックマーク (10件)

  • 「組み合わせ爆発」動画のコンピューターをWebで実装 アルゴリズムを駆使した高速化モードも - はてなニュース

    お姉さんが人生を懸けて「組み合わせ爆発」を解説する日科学未来館の動画が、ネット上で大きな話題となりました。この動画に登場した「同じ場所を2度通らずに何通りの線が引けるか」という問題を解くコンピューターが、Webで実装されています。動画では6年掛かりで導き出された「9×9」マスの計算や、25万年掛かった「10×10」マスの計算も忠実に再現。動画の最後で言及されている、高速化したアルゴリズムで解くことも可能です。 ▽ おねえさんのコンピュータ ▽ お姉さんが人生を懸けて“組み合わせ爆発”を力説 動画「フカシギの数え方」が壮大すぎる - はてなニュース 再現された「おねえさんのコンピューター」を使って、実際に5×5の問題に挑戦してみました。動画でもそうだったように、数秒で計算が終了します。コンピューターが線を辿りながら組み合わせを計算している様子も再現されていました。 左が「おねえさんのコンピ

    「組み合わせ爆発」動画のコンピューターをWebで実装 アルゴリズムを駆使した高速化モードも - はてなニュース
  • 非同期メソッドの構文(1/3) - @IT

    連載:C# 5.0&VB 11.0新機能「async/await非同期メソッド」入門 第2回 非同期メソッドの構文 鈴木 孝明 2012/09/25 前回は、.NET Frameworkが提供してきた非同期処理システムの歴史に沿いながら、最新の非同期メソッドまでの進化について見てきた。その進歩は著しく、.NET Frameworkの黎明期(れいめいき)と比べると「まるで魔法」と言ってもよいくらいだ。初めてご覧になった方や以前の書き方で非同期処理に良い思い出がなかった方は、きっと衝撃を受けたことだろう。 今回は、そんな魔法のような非同期メソッドの構文や使い方、注意点などについて解説する。これを読めば非同期メソッドを平時使ううえで困ることはほぼほぼなくなるだろう。さぁ、始めよう。 ■非同期メソッドのキーワード 非同期メソッドを利用するうえで必要なキーワードは、async修飾子とawait演算子

  • オンラインソフトを使え! 「第12回 Netcat」

    文書は、NetworkWorld誌に寄稿した記事の原稿を、IDGジャパン編集部殿の許可を得た上で掲載したものです。 システム管理をしていると、システムの動作確認などでSMTPサーバやWebサーバ等に直接アクセスし、生のプロトコルで通信したいといったケースがよくある。今回はそのような時に便利なツール、「Netcat」を紹介しよう。 NetcatはHobbit氏によって開発された、汎用TCP/UDP接続コマンドラインツールである。接続先IPアドレス(もしくはホスト名)とポート番号を指定することにより、その接続先の該当するポートで待ち受けているサーバソフトウェアと通信することができる。またリッスンモードでは、指定したポート番号で通信を待ち受け、接続してきたクライアントソフトウェアと会話することも可能だ。 Netcatのインストール Netcatは1995年から1996年にかけて開発が行われ、1

  • UDP Hole PunchingでNAT越えの実験をしてみた

    昨日、AndyVisionWi-Fiを作ったよの記事をブログに書きました。 Andy自身でネットワークに繋がるなら、インターネット越しの遠隔制御したい、と思うところです。しかもカメラついてたら、楽しそうだし。。 さて、インターネットを介して複数の機器が連携したい場合、それぞれにグローバルIPが割当たっていれば特に問題なく通信はできるでしょうけれども、もし、それぞれの機器がルーターにぶら下がっているような場合、中継サーバなどを用いない場合、直接機器間で通信をどのように確立するか?という課題が発生します。 そこで、オールマイティな手法ではないようですが、大抵のルーター環境で使えそうなのが、UDP Hole Punchingという手法ということのようです。 この手法を使用すると、たとえばルーターAに繋がった機器aとルーターBに繋がった機器b同士が、ダイレクトにUDP通信できる、ということでした

    UDP Hole PunchingでNAT越えの実験をしてみた
  • モペログ: UDP Hole Punching

    Tuesday, February 5, 2008 UDP Hole Punching 仕事でUDPのデータストリームを扱っていて、さらにクライアントはNAT超えを考慮しなくてはならないということで、UDPのNAT超えでよく使われる手法、UDP Hole Punching (UHP) というものを実装することになった。 UDP Hole Punchingというのはルータに動的に空けられたNATテーブルの穴を逆から叩くことにより、NATの中のクライアントとUDP通信を可能にする技術であるからして。 さて、TCPのコントロールコネクションはもともとあるので、そのプロトコル上に UHP のネゴシエーションを付け加える形にした。 1. TCP C: UHPInitialize <NOP> 2. TCP S: UHPInitializeOK <SESSION ID> <SERVER UDP PORT

  • 要約: Apple iPhone5のページのJPEGとJSとcanvasタグによるビデオの実装がやばいという話

    2012 年 9 月 26 日 追記しました。 要約エントリー。 元記事 : iPhone 5 website teardown: How Apple compresses video using JPEG, JSON, and <canvas> アップルのサイトの iPhone5 のページにある「スライドしてアンロック」のアニメーションが、信じられない実装になっている、という話。簡単に要約してみた。(ミスなどの指摘は @lowply までお願いします) もともと h.264 と WebM の動画フォーマット戦争でブラウザ互換性の問題がまだ残っている上、iPhone などは「再生ボタン」を押さないと再生できなかったりするので、こうした短いアニメーションに video タグを使うことは最適解ではなかったらしい。 そこで発想の転換をして、Retina MBP のページでは、蓋が開くたった 2

    要約: Apple iPhone5のページのJPEGとJSとcanvasタグによるビデオの実装がやばいという話
  • 「自分でやったほうが早い病」への15の処方箋 | ライフハッカー[日本版]

    「自分でやったほうが早い病」と聞いて、「ああ......」と思い当たる人は少なくないはず。基的に「できる人」だけれど、完璧を求めすぎるせいか人にまかせることができない。だから結局は自分ひとりで抱え込み、ときには自滅してしまう。そんなタイプ。 『自分でやった方が早い病』(小倉広著、星海社新書)が取り上げているのがまさにそういう人ですが、書の見るべき点は、この病を乗り越えることで得られるものの大きさをきちんと示している点です。たとえばわかりやすいのが、「自分でやったほうが早い病」への15の処方箋。これらをクリアすれば、かなりの問題点を改善できるのではないでしょうか? 1.まず痛い目に遭う(114ページ) 「自分でやったほうが早い病」の原因は利己主義であるため、徹底的に利己を貪り尽くし、痛い目に遭ってとことん問いつめられれば利己主義から利他主義に変われると著者は言います。 2.体質を改善しな

    「自分でやったほうが早い病」への15の処方箋 | ライフハッカー[日本版]
  • 「頭を使え!」名門音楽大学教授による効率よく能力を高める練習法とは?:ライフハッカー[日本版]

    Noa Kageyama氏はアメリカの名門ジュリアード音楽院で学んだバイオリニストです。卒業後はインディアナ大学にてスポーツ心理学の博士号を取得し、現在はジュリアード音楽院の教授として、番でベストパフォーマンスを引き出す方法を指導しています。今回はNoa Kageyama氏が「最も効率良く能力を高める方法」について語ります。 「学問に王道なし」と言われますが、これは学問に限らず仕事でもスポーツでも同じことが言えるでしょう。ただ、目標を達成するのに「近道」はない一方で、練習方法を間違えれば大変な「遠回り」になるのは確かです。プログラミング、ライティング、楽器の練習など、私たちはさまざまな練習に多くの時間を使いますが、正しい練習方法を知っていれば、より効率良く、効果的にスキルを習得できるでしょう。 私は2歳のときからバイオリンを弾き始めましたが、常に思い浮かぶ疑問が1つだけありました。それは

    「頭を使え!」名門音楽大学教授による効率よく能力を高める練習法とは?:ライフハッカー[日本版]
  • Stuntman - open source STUN server

    STUNTMAN is an open source implementation of the STUN protocol (Session Traversal Utilities for NAT) as specified in RFCs 5389, 5769, and 5780. It also includes backwards compatibility for RFC 3489. Source code distribution includes a high performance STUN server, a client application, and a set of code libraries for implementing a STUN client within an application. The current C++ code base compi

  • PJNATH - Open Source ICE, STUN, and TURN Library (2.12)

    PJNATH (PJSIP NAT Helper) is an open source library providing NAT traversal functionalities by using standard based protocols such as STUN, TURN, and ICE. Background Network Address Translation (NAT) is commonly deployed everywhere primarily to alleviate the exhaustion of IPv4 address space by allowing multiple hosts to share a public/Internet address. While NAT would work well for typical client