タグ

ブックマーク / imoz.jp (5)

  • Rustは何が新しいのか(基本的な言語機能の紹介) - いもす研

    Rust は、Firefox を開発する Mozilla が開発し、次世代ブラウザの開発に使っているプログラミング言語です。借用検査という概念を導入することによりメモリ安全およびデータ競合安全をコンパイラが保証する言語であり、2015年中頃の安定版のリリースあたりから次第に注目を集めるようになりました。 メモリ安全とは、メモリの範囲外アクセスや二重解放、ヌル参照、未初期化領域へのアクセスがない状態を表します。ただし、Rust の言うメモリ安全とは、メモリリークをしないことを保証するものではありません。 データ競合安全とは、あるひとつのオブジェクトに対しての読み込みおよび書き込みのが同時に起き結果が不定になる状態にならないことを表します。競合状態とは異なります。 無名関数という概念を様々な言語が次々と導入したように、プログラミング言語は相互に影響を及ぼし徐々に変化しています。Rust は「寿

    you21979
    you21979 2017/01/27
    次のメイン言語はrustにしよう
  • レバレッジと期待値

    2015年12月公開 この記事は絶賛検証中であり誤りがある可能性があります.誤りを見つけましたら @imos まで連絡をいただけると幸いです. レバレッジをかけると,直感的には利益率が上がる一方で資産が減る確率も上昇します.実際にどの程度変動するかを計算し適切なレバレッジを決定できる考察します. 変動モデル ここでは変動モデルを,ε (十分に小さな値) を用いて,変動が 1+ε になるか \frac{1}{1+ε} になるまで待つモデルとします.1+ε になる確率と \frac{1}{1+ε} になる確率は(為替には逆の立場の人もいることから自明に)同じになります.このモデルは対数期待値が 1 で線形期待値が 1+\frac{ε^2}{2} となります.一般に為替変動は対数正規分布に従うとされていますが,こちらのモデルは時間軸を制御することにより,より簡単で正確なモデルを実現していると考え

    you21979
    you21979 2016/12/12
  • ブロックチェーンという言葉に騙されないために - いもす研 (imos laboratory)

    近年、仮想通貨ビットコインが注目されているのにともない、その根幹技術であるブロックチェーン技術が金融業界で注目されています。しかし、ブロックチェーンという言葉自体が流行してしまった結果、様々な金融関連企業が正しく理解しないまま手を出し始めているように見えます。そして、技術的な内容がほとんど表に出てくることはなく、批判する人が少ないという問題を感じたのでこの記事を書きました。ブロックチェーンでできることとできないことを整理し、皆が今後ブロックチェーンの記事により深いツッコミを入れられるようになればと思います。自分はブロックチェーンの専門家ではないため若干の間違いもあるとは思いますが、見つけ次第 @imos まで連絡いただけると幸いです。適宜修正します。 背景 ブロックチェーンとは ブロックチェーンとは、いくつかの未完了の取引を「ブロック」という単位でまとめ、ブロックの正当性を証明するものと共

    you21979
    you21979 2016/12/10
  • ISUCON6予選をC++で参加して予選通過した話

    チーム名「Anago」で @iwiwi, @zuisou, @imos の 3 人で ISUCON6 予選に参加し,幸運にも 1 日目 3 位で通過することができました.@iwiwi が「ISUCON に C++ で参加したい!」と言っており,それを全力バックアップをしようと思ったのがきっかけの参加でした. 前日までにやったこと C++ で全てを書けば最速になるのは自明なのですが,C++ は参考実装として与えられていないだけではなく,HTTP サーバを書くことを想定していない言語のため準備には苦労しました. C++ で HTTP サーバを書く方法は,既存の Web サーバ (e.g., nginx, Apache, H2O) のプラグインを書いて実装するか,FastCGI として実装するか,フルスクラッチで書くかの選択肢が考えられますが,プロセス間通信を避けて爆速にしたかったので,事前に

    you21979
    you21979 2016/09/19
    sql発行するみたいな小さなタスクはepollによるシングルスレッドによるイベントドリブンのほうが速いよ
  • AWS Lambda を計算リソースとして使う - いもす研 (imos laboratory)

    Amazon EC2 は 1 時間単位,Google Compute Engine も 10 分単位でしか借りられず,試行錯誤しながらプログラムを書いている時に計算リソースを使い切ることは困難です.そこで 100 ミリ秒単位で使える AWS Lambda を計算リソースとして使ってみました. AWS Lambda は表向きは Node.js あるいは Java が使えると書かれていますが,実際には最近流行りのコンテナ技術を使っており言語レベルでの制限はかけられておらず,exec 関数を呼び出すことにより(静的リンクされていれば)任意のバイナリを実行することができます.そこで C++ で書かれたプログラムを実行する方法について紹介します. Linux 上で x86-64 向けにコンパイル・静的リンクされたバイナリがあれば,それを AWS Lambda 上で実行することは簡単にできます.コンパ

    you21979
    you21979 2015/09/26
  • 1