Distributing passwords Just about everything we touch online these days requires a password (and certainly all sensitive information is protected by one). Passwords work because they are a secret. At its most basic, a password is a key, theoretically, only known by the person(s) who are supposed to know it. Knowledge of a password gives access to the person who is aware of the secret. Most passwor
C++11のstd::arrayクラスには、std::get()という非メンバ関数が用意されています。 これは、配列の要素に、コンパイル時定数のインデックスを指定して要素アクセスするための関数です。インデックスが配列の範囲外だった場合はコンパイルエラーにしてくれます。 #include <array> int main() { std::array<int, 3> ar = {1, 2, 3}; // OK : 1が取得される int& a = std::get<0>(ar); // コンパイルエラー! : 範囲外 // int& b = std::get<5>(ar); } インデックスがコンパイル時に決定できる場合は、std::get()フリー関数を使用すれば実行時に範囲外アクセスが起こりえなくなります。積極的に使っていくといいと思います。 なお、範囲外アクセスをコンパイルエラーにして
基数木(英: Radix tree)またはパトリシア木(英: Patricia tree)とは、文字列集合を格納するトライ木に基づく特殊化された集合データ構造である。パトリシアトライ(英: Patricia trie)とも。通常のトライ木に比較すると、基数木の辺は単一の文字ではなく文字の並びでラベル付けされる。それは、文字列でもよいし、整数やIPアドレスなどを表すビット列でもよい。辞書式順序を適用できるオブジェクトの並びなら何でもラベルとして使用できる。基数木と言った場合、整数を格納する木構造のみを指すことが多く、パトリシア木といった場合は特に格納するデータを限定しないが、基本的に構造や動作原理は同じである。 基数木は簡単に言えばメモリ使用量を最適化したトライ木であり、トライ木で子ノードが1つしかないノードを子ノードとマージしたものである。その結果、内部ノードは必ず2つ以上の子ノードを持つ
のように上半分と下半分に分ければ、を基数とした乗算と考えることができる。このとき単純にを求めると、 という関係を使えばは3回で済むことが分かる。ここでさらに の上位の桁をで埋めて桁数を偶数にするか、あるいは始めからの桁数を2の冪にしておけば、3回のに同じアルゴリズムを再帰的に適用することができる。この乗算アルゴリズムをKaratsuba乗算(Karatsuba Multiplication)という。 このアルゴリズムでに必要な時間をとする。には が3回とが数回必要であるから、
Karatsuba multiplication of az+b and cz+d (boxed), and 1234 and 567 with z=100. Magenta arrows denote multiplication, amber denotes addition, silver denotes subtraction and cyan denotes left shift. (A), (B) and (C) show recursion with z=10 to obtain intermediate values. The Karatsuba algorithm is a fast multiplication algorithm. It was discovered by Anatoly Karatsuba in 1960 and published in 1962.
ものすごい必要だったので作った。 rubygemsに登録しておいたので gem install event_emitter で使える。 ドキュメントはここ Ruby EventEmitter バグ、機能要望などは githubのissueかtwitterかメールでお願いします EventEmitterとは Node.jsのコアライブラリ。lib/events.jsにある。 nvmでnodeをインストールすると ~/.nvm/src/node-v0.8.14/lib/events.js とかにある。 どんなオブジェクトにでも一発でonとemitという関数を追加できて、 obj.on(‘イベント名’, コールバック)でコールバック登録して obj.emit(‘イベント名’, 引数)でイベントを発火させる。 nodeの全てのライブラリがイベント駆動するためによく使ってる機能。 addEventL
2009年から毎年開催されている、RubyWorld Conference 2012 で講演してきました。大舞台なのでえらい緊張しました。 最大の戦利品。Rubyさん。 今年も「これが RubyWorld Conference だ!」という感じの講演が沢山出てた。 以下、感想をだらだら、自分の講演について。 感想 Dave Thomas さんの基調講演 達人プログラマーことDave Thomasさんの講演。初めて肉眼で見れた。マジ感動。エンジニアリングとその上位階層の抽象的な話を、行ったり来たりしながら縦横無尽に話が繰り広げられていてとても面白かった。工学の視点では曖昧さは嫌われるが、工学をどこでどう生かすかという場面になると、別に科学的な意味での再現性や系統だった定義の重要性よりも違った価値観が支配しているもので、そこからRubyの良さが醸し出されてるんだ的な話だったような気がする。芭蕉
Vimeo Events Produce and promote stunning virtual events and webinars. Get started
Hampir banyak sekali orang yang dapat dipastikan pernah mengalami mimpi tentang pesawat dan banyak juga orang yang mengatakan bahwa jika mimpi yang kita alami itu merupakan sebuah bunga tidur saja akan tetapi jika kamu yakin dan percaya dari mimpi tersebut yang memiliki arti maka mimpi tersebut merupakan salah satu gambaran tentang masa depan kamu di […]
シャノン符号化 符号を出現確率でソートし,だいたい確率が半分になるところで分割する方法. プログラム 出力 A:1001 B:000001 C:001001 D:00110 E:110 F:001000 G:000011 H:01000 I:0111 J:0000000010 K:00000001 L:00111 M:00011 N:0110 O:1000 P:000010 Q:0000000001 R:01001 S:0101 SP:111 T:101 U:00101 V:0000001 W:000101 X:0000000011 Y:000100 Z:0000000000 ハフマン符号化 符号を出現確率でソートし,出現確率の一番小さい符号と二番目に符号を持つ節を作る. 残りの符号と,先ほど作った節の中から出現確率の一番小さい符号と二番目に符号を持つ節を作る. 残りの符号がなくなったら終
PerlモジュールAsync::Queueをリリースした。 http://search.cpan.org/perldoc?Async%3A%3AQueue このモジュールは、あらかじめ登録した非同期処理を立て続けに実行する際に、実行並列度に制限をかけてFIFO実行してくれる、というもの。 ぶっちゃけた話、async.jsのqueueオブジェクトと同じ。(同じAPIを切ってある) 以下、使用例。 use strict; use warnings; use AnyEvent; use AnyEvent::HTTP; use Async::Queue; my $q = Async::Queue->new(concurrency => 3, worker => sub { my ($url, $callback) = @_; print STDERR "Start $url\n"; http_ge
11/10に開催されたJJUG CCC 2012 Fallでジェネリクスについてセッションを行いました。 このエントリはセッション内容を補足するものです。本セッションはジェネリックなクラスの設計を行えるようになって欲しいという狙いで話をしました。ジェネリックなクラスを利用できるというのは前提条件として書いてます。入門的な内容であれば Javaジェネリクス再入門 - プログラマーの脳みそ を参考にしてください。 セッション資料はこちら ジェネリクスの基礎と応用 JJUG CCC 2012 Fall ジェネリクスのスコープ まずジェネリクスのスコープの話から入ります。Javaのジェネリクスには2つのスコープがあります。 メソッドをスコープとした型変数 インスタンスをスコープとした型変数 後者はおなじみの public interface List<E> などの型変数です。 これに対して pub
Clojure Macro Tutorial (Part I, Getting the Compiler to Write Your Code For You) I am asked to point out that this is part of a series, following the form of the Ring Cycle, although not directly inspired by it. Syntax Quote plays the role of Siegfried in part III. http://www.learningclojure.com/2010/09/clojure-macro-tutorial-part-i-getting.html http://www.learningclojure.com/2010/09/clojure-macro
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く