タグ

ブックマーク / homepage3.nifty.com (7)

  • P2Pでの匿名通信路

    P2Pでの匿名通信路 P2Pでの匿名通信路(原理編) P2Pの世界では、ユーザ同時が直接通信を行うため、相手のIPアドレス等 の情報が他方に伝わってしまい、DOS攻撃を行われたり、自分の組織を知られる 可能性があります。特にNAT変換を行わないIPv6の世界ではこの問題をより 意識する必要があります。 そこでP2Pでお互いに匿名で通信できる方法を 説明します。 (筆者注:IPv6では乱数を使ってアドレスを降り割り当てる 匿名IPアドレスがあるが、外部から匿名IPアドレスに通信するには向いていない。) 【参考】http://itpro.nikkeibp.co.jp/free/v6start/confer_v6/20021105/1/index.shtml まず、一般的なネットワークで匿名通信路を実現する方法として 多段プロキシ MIX-net DC-net crowds が代表的な技術として

    komlow
    komlow 2016/05/09
  • BlockSorting

    BlockSortingは、今までのデータ圧縮で有名な方法であるLZ法とは全く違う、ユニークな操作を用 いてデータを圧縮する方法であり、M.BurrowsさんとD.J.Wheelerさんが作者なので「BWTransform」 ともいいます。 このアルゴリズムは簡単に言ってしまえば、「データをぐるぐる回してソートして出力」というも のです。簡単すぎるかもしまいませんが、当にそうなんです。 ちなみに、このBlockSorting、単体では全く圧縮しません。ただ可逆な形にデータを変換すると いうものです。しかし、BlockSorting後のデータは非常に圧縮されやすい状態になります。例える と、色々な形をしたスポンジ(データ)が箱にごちゃごちゃに入って山積みになっているとします 。 これをそのまま上からギューっと押しつぶすのがLZ法やHuffman法なのに対し、一度、形が似た も

  • クラス設計に関するメモ

    経験的にこのようにした方がよいと思った点についての記録です。 仕事で大規模(2000クラス超)かつ製品寿命がながいパッケージソフトを作っていた関係で、 ちょっとした設計の間違いが、 あとあとで大変な苦労する羽目になったりすることを経験してきました。 このような規模が大きいアプリケーションを作ることはなかなかないかもしれませんが、 なにかの参考になれば、と思います。 継承する前に委譲を検討する Singleton パターンを使うときの注意 Template Method パターンを使うときの注意 クラス間の依存に関する注意 クラスの粒度 Singleton の問題を回避できるか? 継承する前に委譲を検討する 継承はスーパークラスの仕様をよく理解しておかないと、 バグを作りこみやすいので十分注意する必要があります。 メソッドのオーバーライドをするときも、 public void foo(){

  • 卒論・修論 課題設定の考え方(研究テーマの立て方)

    “ここでは、卒論や修論における課題設定(研究テーマ決定)について、できればこうしたらよいのではないかという提案をまとめてみました。もっとも、卒業論文や修士論文の作成でこうやったら必ずうまくいくというような既成のハウツーや決まった手順はありません。以下の提案はテーマを学生・院生が自ら立てる場合の助言(アドバイス)です。ガイドや手引きの一種ではあっても、論文作成のマニュアルではありません。なお、私見とは別の見解の人もいますので、これしかないと考えないほうがよいでしょう。” 0.はじめに---研究課題とは?  年度当初に学生に「卒論のテーマを何にしたいか」と問うと、たとえば、「スローフードにしたい」とか、「コメの生産過剰問題についてやりたい」とかの様々な回答が返ってくる。多くの学生は特定のキーワードについては、概ねはっきりしたこだわりがあるようである。ところが、「それで、どんな問題に取り組みたい

  • 変数

    変数はメモリに確保される 変数と言うとデータを入れておく箱と言う説明がよく出てきます。まったくその通りなのですが、C言語を使っていく上ではもう一歩踏み込んでコンピューター上でどうなっているのかを知っている必要があります。当たり前のことですが、変数はメモリ上に確保されます。コンピューター上のメモリはハード的には全部同じでもソフト的には領域を区切ってそれぞれに役割を割り振って動作していますのでその理解が重要です。 きちんと理解すればC言語で起こりがちなメモリ関連の障害やバグに適切に対応できるようになります。 C言語のメモリの使い方 C言語でメモリを理解する場合大雑把にコード(code)、データ(data)、ヒープ(heap)、スタック(stack)の4つに分けて考えることができます(実際にはさらにいくつかに分かれる場合があります)。C言語の入門書ではこの話は滅多に見かけませんが初心者と中級者

  • リレーショナル・データベース設計入門

    データベース設計論(リレーショナル・データベース設計入門) 注記1: 以下の内容は、私が某大学で非常勤講師として、講義用に使用しているものです。 �@データベース設計にとって基的な概念では、3層スキーマ、データモデリング技法、関係モデル、データ正規化、 ERモデルがあります。 �ASQLの基的な文法、使い方、使用事例を具体的に述べてあります。 �Bデータベースの運用設計上で欠くことのできないデータベース制御(問合わせ処理、トランザクション処理、 同時実行制御、障害回復)について分かりやすい図解を交えて説明しております。 �Cオブジェクト指向データベース、分散データベースなどを含めて最近の技術動向にもふれておきます。 このテキストの内容を理解できれば、情報処理試験のうちデータベース領域の知識は十分身につくと思います。 注記2: 左側のアウトラインをクリックして検索を進めてく

  • アルファベットの数え方

    1.  A   Alfa(アルファ) 2.  B   Bravo(ブラボー) 3.  C   Charlie(チャーリー) 4.  D   Delta(デルタ) 5.  E   Echo(エコー) 6.  F   Foxtrot(フォックストロット) 7.  G   Golf(ゴルフ) 8.  H   Hotel(ホテル) 9.  I   India(インディア) 10.  J   Juliett(ジュリエット) 11.  K   Kilo(キロ) 12.  L   Lima(リマ) 13.  M   Mike(マイク) 14.  N   November(ノーヴェンバー) 15.  O   Oscar(オスカー) 16.  P   Papa(パパ) 17.  Q   Quebec(キューベック) 18.  R   Romeo(ロメオ) 19.  S  

  • 1