タグ

2015年1月5日のブックマーク (15件)

  • LMAX Disruptor

    LMAX are recruiting once again. If you are interested in working with a great team, with some amazing technology, and think you can add something to the mix then please check out our jobs page. LMAX aims to be the fastest trading platform in the world. Clearly, in order to achieve this we needed to do something special to achieve very low-latency and high-throughput with our Java platform. Perform

    LMAX Disruptor
  • Log4j 2にも採用されたLMAX Disruptorはなぜ狂ったように速いのか?

    LMAXという会社はおそらくFX業者で、筆者はLMAXの開発者の講演を、InfoQの動画で何度か見たことがあった。 彼らは非常に特異な集団で、さしずめ「Javaのスピード狂」という感じだ。 印象的なのは、シングルスレッドで仕事を片付けることを強調している点だ。 「Javaならマルチスレッドで並列処理すれば性能が出ると広く思われているが、我々の仕事においてはシングルスレッドが最速だ」というような主張を何度も見た。 ゴールドマンサックスといいLMAXといい、やはり多額の金が動く会社でガチでJavaをやっている連中はカリカリにチューニングするため、技術的には非常に面白い。 彼らがコアのライブラリをOSS化してくれるというのは、金融業界を否定的な目で見る筆者からすると複雑だが、悔しいことに参考になる。 LMAX DisruptorはJavaのライブラリだ。Producer/Consumerパターン

    Log4j 2にも採用されたLMAX Disruptorはなぜ狂ったように速いのか?
  • Reveal.js、Markdown、Githubでスライドを作成する。 - Qiita

    PowerPoint2003から2013になってちょっと戸惑いを隠せない。。。 ありきたりなスライドテンプレートもなんか嫌だし。。。 と思っていたところ、markdownでWebスライドが作れることを発見しました。 GithubでWebページを公開する方法を発見、SublimeTextも入れたので、ちょっとWebスライドを作ってみます。 完成サンプル http://budougumi0617.github.io/reveal.js-myMaster/ 作り方 Reveal.jsというJavaScriptライブラリを利用します。 GitHubからreveal.jsのプロジェクトzipをGET index.htmlをテキストエディタで開く。 <div class="slides">タグ内の<section>内容を削除 後述のオプション付き<section>を記載する <section>内にMa

    Reveal.js、Markdown、Githubでスライドを作成する。 - Qiita
  • 論理学 - Wikipedia

    論理学では、モーダスポネンスのような形式的に妥当な推論を研究する。 論理学 (ろんりがく、英語: logic) は、正しい推論の研究である。形式論理学および非形式論理学が含まれる。形式論理学は、演繹的に妥当な推論あるいは論理的真理の研究である。論証の議題や内容とは無関係に、論証の構造のみにより、前提からどのように結論が導かれるかを研究する。非形式論理学は、非形式的誤謬、批判的思考、議論学と関わりがある。非形式論理学は自然言語で記述される論証を研究する一方、形式論理学は形式言語を用いる。各形式論理体系は、証明系(英語版)を表現する。論理学は、哲学、数学、計算機科学、言語学を含む多くの分野で中核をなす。 論理学は、前提の集合および結論からなる論証を研究する。論証の例には、前提「今日は日曜日である」および「今日が日曜日であれば、私は働かなくて良い」から結論「私は働かなくて良い」を導くものがある[

    論理学 - Wikipedia
  • P=NP問題を理解するためのステップ〜決定可能 - わさっきhb

    「決定可能」はなぜアルゴリズムを先に決めるの? 授業で,ある問題が決定可能であることの定義は アルゴリズムが存在して,問題に属する任意の個別問題がそのアルゴリズムで解ける であって, 問題に属する任意の個別問題に対して,アルゴリズムが存在して,その個別問題がそのアルゴリズムで解ける ではない,と説明しました. 一階述語論理で表現すると, 正しい: ∃A [∀p∈P [solve(A, p)] ] 間違い: ∀p∈P [∃A [solve(A, p)] ] となります.Pが問題,∃Aが「アルゴリズムが存在して」,∀p∈Pが「問題に属する任意の個別問題」,solve(A, p)が「個別問題pはアルゴリズムAで解ける」にそれぞれ対応付けられます.当はAにも範囲があるのですが,ここでは割愛します. さて,なぜ前者が正しく後者が間違いなのかというと,「決定不能の証明をしやすくするため,このように取

    P=NP問題を理解するためのステップ〜決定可能 - わさっきhb
    hiroyukim
    hiroyukim 2015/01/05
  • チャーチ=チューリングのテーゼ - Wikipedia

    英語版記事を日語へ機械翻訳したバージョン(Google翻訳)。 万が一翻訳の手がかりとして機械翻訳を用いた場合、翻訳者は必ず翻訳元原文を参照して機械翻訳の誤りを訂正し、正確な翻訳にしなければなりません。これが成されていない場合、記事は削除の方針G-3に基づき、削除される可能性があります。 信頼性が低いまたは低品質な文章を翻訳しないでください。もし可能ならば、文章を他言語版記事に示された文献で正しいかどうかを確認してください。 履歴継承を行うため、要約欄に翻訳元となった記事のページ名・版について記述する必要があります。記述方法については、Wikipedia:翻訳のガイドライン#要約欄への記入を参照ください。 翻訳後、{{翻訳告知|en|Church–Turing thesis|…}}をノートに追加することもできます。 Wikipedia:翻訳のガイドラインに、より詳細な翻訳の手順・指針につ

  • 決定可能性 - Wikipedia

    決定可能(けっていかのう、英: decidable)は、数理論理学または現代論理学において、論理式の集合のメンバーシップの決定をする実効的(effectiveな)方法が存在することを指す。決定可能性(けっていかのうせい、英: decidability)は、そのような属性を指す。命題論理のような形式体系は、論理的に妥当な論理式(または定理)の集合のメンバーシップを実効的に決定できるなら、決定可能である。ある決まった論理体系における理論(論理的帰結で閉じている論理式の集合)は、任意の論理式がその理論に含まれるか否かを決定する実効的方法があれば、決定可能である。そうでなければ、決定不能である。 決定可能集合の概念と同様、決定可能な理論や論理体系の定義は、「実効的方法 (effective method)」や「計算可能関数 (computable function)」によって与えられる。これらは一

  • 原理的な決定不可能性とはどういうものか - 数学屋のメガネ

    決定不可能性というのは、ある判断が確定しないということを意味する。世界のあり方として、いくつかの選択肢が考えられるとき、その選択肢のどれが実現しているかということが確定しないとき、現在の状態は決定できないと考えられるだろう。この決定できない・確定していないという状況は、現実を対象にしてそれを認識しようとすればいつでも遭遇するようなもののように感じる。 「一寸先は闇」ということわざがあるように、未来については決定していない・確定していないと普通は考える。だが、ある種の未来に関しては、現在の状況のいくつかの側面を把握することによって、未来がどのような状況になるかが決定的・確定的に語れることがある。自然科学による予測は、誤差を捨象する限りで100%確実な予想を与える。決定可能な対象が存在するということは、決定不可能性の中に、原理的な不可能性と現象的な不可能性があるということを考えさせる。 現象的

    原理的な決定不可能性とはどういうものか - 数学屋のメガネ
  • RubyでYコンビネーターとZコンビネーター - Qiita

    あいさつ 計算機による一階述語論理の決定不能の取り扱い方を調べる中で コンビネーター理論の理解が深まったので筆を取る事にした. このたぐいのテクを用いると、識別子に依らない関数の再帰を定義出来る(!!) # Zコンビネーター Z = ->(f) { ->(x){ f.( ->(y) {x.(x).(y)} ) }.( ->(x){ f.( ->(y) {x.(x).(y)} ) } ) } # 識別子に依らずに階乗を定義! Z.(->(_){ ->(n){ n == 0 ? 1 : n * _.(n-1) } }).(5) # => 120 以下説明 自分の理解度の確認のためにも用語を1つ1つ丁寧に積み重ねて分かりやすくしたつもり. λ式とは λ式なんていかがわしい言葉を使っているがメチャ簡単な事、でも実は難しい. 皆さんおなじみ2次関数

    RubyでYコンビネーターとZコンビネーター - Qiita
  • コンセプトから理解するGitコマンド

    会社関係の勉強会向けに作った資料です。 パラパラマンガ調のためページ数は多いですが、内容は基礎的なものです。 このスライドを読み終わった人にオススメ: 「図解gitworkflows(7)」 資料一覧: https://docs.google.com/spreadsheets/d/1VZMz_31Z7FQBnK139o8yMqzwrTJgZWtPqgoG-mx1zh0/edit?usp=sharingRead less

    コンセプトから理解するGitコマンド
  • 人工知能技術のこれまでとこれから | gihyo.jp

    あけましておめでとうございます。Preferred Infrastructureの海野と申します。このところ人工知能という言葉をよく聞くようになりました。名だたるIT関連企業が、こぞって人工知能をビジネス化しようとしているという印象をうけます。こうした背景には何があるのでしょうか。そして、当に近い将来に人工知能による大きなビジネスが花開くのでしょうか。稿では、ここ数年の技術開発のトレンドの変遷を通して、人工知能ビジネスの動向を探ります。 人工知能のこれまで 「人工知能」という言葉に対して、どのような印象を受けるでしょうか。人間と共存し、言葉をしゃべり、自分で思考するロボットのようなイメージを持つ方は少なくないと思います。もちろんこうした人工知能を見たことがないように、現状ではこうした人工知能はありません。このような汎用的な知能をもつ人工知能は「強いAI」とよばれ、より具体的な部分問題を

    人工知能技術のこれまでとこれから | gihyo.jp
  • 3年使ったRedmineの使い方について共有したい10のこと

    前回は、1000人のエンジニアRedmineを使い出すまでの事例を紹介させていただきました。今回は、Redmineの使い方や、大規模に変化してくRedmineの運用について、2年間の運用や改善から得たナレッジや、気がついたことをまとめていこうと思います。 1. Redmineのオブジェクト構造を理解した方がいい Redmineは以下の構造になっているので、タスクの属性をうまく分類する必要があります。 プロジェクト > サブプロジェクト > バージョン > 親チケット > 子チケット > トラッカー > カテゴリ 注意したいのは、プロジェクト・サブプロジェクトには期限が設定できず、バージョンには終了日時、チケットには開始日時と期限をつけることができる点です。期限があるものには、期限のあるものを当てはめるのがすっきりします。Redmineを使って「何を」「どう」管理していきたいのかを、まず考

    3年使ったRedmineの使い方について共有したい10のこと
  • 第六回渋谷Java Java8のJVM監視を考える

    9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...NTT DATA Technology & Innovation

    第六回渋谷Java Java8のJVM監視を考える
  • JavaVM監視・解析ツール HeapStatsを使ってみた | Casley Deep Innovations株式会社 技術ブログ

    こんにちは!SI部の満石です。 以前、仕事JRockit Flight Recorder(現在OracleJDKに付属しているJava Flight Recorderの元になったもの)を使ったことがあり、最近出てきたHeapStatsにも興味があって使ってみたのでご紹介します。 HeapStatsとは NTT OSSセンタが開発したOSS(Open Source Software)であり、HeapStatsの日語Wikiには以下のとおりに書かれています。 HeapStats とは、JavaVM のヒープやGC状況を監視する軽量なツールで、エラーの兆候を検知してSNMPのようなリアルタイムなアラートを発します。生成するログはかなり小さいもので、GUIツールで解析することができます。HeapStatsは、次の二つのプログラムで構成されます: エージェント(agent) – JavaVMの情

    JavaVM監視・解析ツール HeapStatsを使ってみた | Casley Deep Innovations株式会社 技術ブログ
  • go generateを使って、JSONファイルからソースコードを自動生成する

    はじめに Go 1.4 にて導入されたgo generateコマンドを使って、JSONファイルからソースコードを自動生成してみます。 今回は、JSONファイルに定義されたWebアプリケーションのルーティング情報をもとに、ルーターのプログラムが記載された単純なソースコードを生成してみます。 今回の手順で作成したソースコードは、こちらのリポジトリに格納しています。 今回、ルーターにはgorilla/muxを使用しています。 JSONファイルからソースコードを生成するコマンドの作成 まずは、以下のようなルーティング情報が記載されているJSONファイルを読み込み、ルーターのプログラムが記載されたソースコードを生成するコマンドを作成します。 [ {"method": "GET", "path": "/", "handler": "topHandler"}, {"method": "GET", "pa