タグ

2017年11月16日のブックマーク (3件)

  • RustでOption値やResult値を上手に扱う - Qiita

    この記事の概要 Option<T> 型や Result<T, E> 型の戻り値を、match 式で判別している以下のようなコードを、 fn double_arg(mut argv: env::Args) -> Result<i32, String> { match argv.nth(1) { None => Err("数字を1つ指定してください。".to_owned()), Some(arg1) => { match arg1.parse::<i32>() { Ok(n) => Ok(2 * n), Err(err) => Err(err.to_string()), } } } }

    RustでOption値やResult値を上手に扱う - Qiita
    hikazoh
    hikazoh 2017/11/16
  • Lispを使っていろんな数列を書き出してみる

    はじめに こんにちは、野村です。 今回は、Lispというプログラム言語でいくつかの数列を書き出してみます。 実は今回のソース、Lispを全く知らない状態で入門サイトを見ながら書いたものです。 括弧を数えながらなんとか乗り切りました。 インストールと実行 インストール 管理ユーザになってsbclをインストール。 # apt install sbcl ホントはclispをインストールしたかったけど、debian9のリポジトリにないのでsbclにした。 sbclはclispよりWARNINGが出やすいので、より厳密に書かないといけないようです。 実行 vimでスクリプトを書いたあと、vimのコマンドモードで以下のコマンドを実行。 :!sbcl --script % 素数 ・1より大きい自然数で、正の約数が1と自分自身のみである数。 (defun range (s e) (if (>= s e)

    Lispを使っていろんな数列を書き出してみる
    hikazoh
    hikazoh 2017/11/16
  • TLS 1.3 開発日記 その22 公開鍵暗号の動向 - あどけない話

    P256とかX25519とかPSSとか聞いても、よくわからない人のための用語解説。 長い間TLSの世界では、鍵交換にも認証にもRSAが使われてきた。必要となる安全性が大きくなると、RSAの公開鍵は急激に大きくなり、したがって鍵交換や認証のコストが大きくなるという問題がある。 楕円曲線暗号(ECC: Elliptic Curve Cryptography)は、RSAやDiffie Hellmanに比べると、小さな公開鍵で同程度の安全性を実現するという特長を持つ。特許問題が不透明なせいで楕円曲線暗号は長年敬遠されてきたが、この数年で(少なくとも鍵交換に対しては)一気に普及してきた感じだ。 おおざっぱに言うと、楕円曲線暗号で実現できるのは、DH(Diffie Hellman)とDSA(Digital Signature Algorithm)であり、RSAは実現できない。 鍵交換のDHに関しては、

    TLS 1.3 開発日記 その22 公開鍵暗号の動向 - あどけない話
    hikazoh
    hikazoh 2017/11/16