2014年6月9日のブックマーク (20件)

  • Calculus of constructions - Wikipedia

    In mathematical logic and computer science, the calculus of constructions (CoC) is a type theory created by Thierry Coquand. It can serve as both a typed programming language and as constructive foundation for mathematics. For this second reason, the CoC and its variants have been the basis for Coq and other proof assistants. Some of its variants include the calculus of inductive constructions[1]

    rrreeeyyy
    rrreeeyyy 2014/06/09
  • Sending email from an instance  |  Compute Engine Documentation  |  Google Cloud

    Send feedback Sending email from an instance Stay organized with collections Save and categorize content based on your preferences. This document describes the options for sending mail from a virtual machine (VM) instance and provides general recommendations on how to set up your instances to send email. Using standard email ports Google Cloud does not place any restrictions on traffic sent to ext

    Sending email from an instance  |  Compute Engine Documentation  |  Google Cloud
    rrreeeyyy
    rrreeeyyy 2014/06/09
  • serverspec の並列処理 - Gosuke Miyashita

    hbstudy #45 や Tatsuhiko Miyagawa's Podcast ep14 なんかで、serverspec の並列処理が課題、ってな話をしていて、Net::SSH がイベントドリブンな処理になってるのがネックになりそうだなー、どうしようかなー、と悩んでたんですが、とりあえず試してみた方が早いだろう、ってことで parallel_tests を試してみた。 6つの VM に対して 311 examples を実行した結果で比較。 parallel_tests を使わない場合。 $ rspec spec .........................................................................................................................................

    rrreeeyyy
    rrreeeyyy 2014/06/09
  • 理工系のためのトポロジー・圏論・微分幾何

    SGC52 理工系のためのトポロジー・圏論・微分幾何 1 刷 : 2012/12 SGC ライブラリ- 52 理工系のための トポロジー・圏論・微分幾何 双対性の視点から 谷村 省吾 著 サイエンス社 SGC52 理工系のためのトポロジー・圏論・微分幾何 1 刷 : 2012/12 まえがき けん 書はトポロジー・圏(カテゴリー)論・微分幾何学に関する入門書である.理工系の大学院生 なら十分読めるであろうし,学部生にも読んでもらえるような平易な解説書にすることを目指した. さらには,これらの数理の話題を通して,世界の深くて普遍的な質を捉える「まなざし」のような そうつい ものを読者に伝えたいと思った.その基となる視点が「双 対性」である.私が当に伝えたかっ たのは,双対性という,ものの見方・思考の仕方・世界のあり方である.双対性は,一度気がつき 始めると

    rrreeeyyy
    rrreeeyyy 2014/06/09
  • IIJ Research Laboratory

    ネットワークの計測と解析 インターネットの使われ方やネットワークの挙動を把握する事は、ネットワークを運用し、その技術開発を行う ために欠かせません。しかし、観測で得られるデータ量は膨大ですがノイズが多く、また、観測できるのは極めて限られた部分でしかありません。そこで、膨大なデータから意味のある情報を抽出したり、部分的な観測からより一般的な傾向を推測する事が必要となります。... インターネット基盤技術 速くて、安全で、信頼性が高く、使いやすく、など、インターネットサービスへの要求はますます高まっています。これらの要求に応えるために、インターネットの 基盤技術も日々進歩しています。いまやインターネットはつながるだけのサービスではなく、高度で複雑な機能を備えた社会基盤となりました。IIJ技術研究所は、インターネットの基盤として実現が期待される機能を提供するために、さまざまな技術課題に取り組んで

    rrreeeyyy
    rrreeeyyy 2014/06/09
  • 関数型プログラマのためのモナド理論 (2) 浜名誠 CAPS, IPL, 2007, November 19th 1 Review: モナド Def. 圏 C 上のモナドとは • 関手 T : C → C, • 自然変換 η : Id → T, µ : T 2 → T から成る三つ組 (T, η, µ)

    関数型プログラマのためのモナド理論 (2) 浜名誠 CAPS, IPL, 2007, November 19th 1 Review: モナド Def. 圏 C 上のモナドとは • 関手 T : C → C, • 自然変換 η : Id → T, µ : T 2 → T から成る三つ組 (T, η, µ) で任意の A ∈ C に対して次の図式を可換にするもの: T 3 A µT AE T 2 A T A ηT AE T 2 A ' T ηA T A d d d d= ‚ ©        = T 2 A T µA c µA E T A µA c T A µA c Notation 関手の合成 T ◦ T を T 2 と書く。T 3 なども同様。関手の射部分 T (f) を T f と書く。 2 Review: モナドの例 Ex. Set 上のモナド 1. (a) Kleene 閉包 A∗

    rrreeeyyy
    rrreeeyyy 2014/06/09
  • 関数型プログラマのためのモナド理論(1)

    関数型プログラマのためのモナド理論 (1) 浜名誠 CAPS, IPL, 2007, November 6th 1 動機 • 「モナド」で Google すると、沢山の Haskell プログラマの苦労が見える • よく見る格言: Haskell のモナドを理解するのに圏論のモナドを理解する必 要はない • 「分かりやすい説明」というものが、当に分かりやすい? • モナドの理解を実行から追う、というのは話が逆 • 主張: 数学の方が簡単 • そもそもなぜモナドを使うとよいのか。プログラム意味論の歴史に理由がある • それらを解説 • また、モナドから直ちに出てくる圏論的構成は有用 • それらを通して、計算機科学でなぜ圏論が有用なのかの一例 feedback をお願いします。 2 全体の内容の予定 1. 圏論のモナドのアイデアと関連するいくつかの construction 2. 計算モナ

    rrreeeyyy
    rrreeeyyy 2014/06/09
  • モナドのすべて Haskell におけるモナドプログラミングの理論と実践に関する包括的ガイド

    モナドのすべて Haskell におけるモナドプログラミングの理論と実践に関する包括的ガイド Version 1.1.0 このチュートリアルは、モナドの概念とその関数プログラミングにおける応用に ついて、初中級の Haskell プログラマにわかりやすく、利用価値があるような 解説をすることを旨としています。読者は Haskell になれていることを前提と しますが、モナドに関する経験は要求していません。このチュートリアルは、多 くの題材をカバーしています。後半のセクションでは、前半の題材をよく理解し ていることを前提とします。順をおって、モナドプログラミングを例示するため のサンプルコードがたくさん用意されています。一読で、すべての題材を吸収し ようというのはお勧めできません。 このチュートリアルは 3 つの部分で構成されています。最初の部分は、 関数プログラミングにおけるモナドの基

    rrreeeyyy
    rrreeeyyy 2014/06/09
  • A Brief, Incomplete, and Mostly Wrong History of Programming Languages

    1801 - Joseph Marie Jacquard uses punch cards to instruct a loom to weave "hello, world" into a tapestry. Redditers of the time are not impressed due to the lack of tail call recursion, concurrency, or proper capitalization. 1842 - Ada Lovelace writes the first program. She is hampered in her efforts by the minor inconvenience that she doesn't have any actual computers to run her code. Enterprise

    rrreeeyyy
    rrreeeyyy 2014/06/09
  • 不完全にしておよそ正しくないプログラミング言語小史

    1801 – ジョセフ・マリー・ジャカールがパンチカードを使った織機によってタペストリーに"hello, world"と織り出す。しかしラッダイト (当時のRedditer) たちは、テールリカージョン、並行処理、大文字小文字の区別を欠いていたため、さほど感心しなかった。 1842 – エイダ・ラブレスが最初のプログラムを書く。彼女の努力は、プログラムを実行するコンピュータが実のところ存在しないというマイナーな問題のために頓挫した。後にエンタープライズアーキテクトたちはプログラムをUMLで書くために彼女のテクニックを再び学ぶことになる。 1936 – アラン・チューリングが存在しうるあらゆるプログラミング言語を発明するが、特許化する前に英国情報部員(後の007)によって抹殺される。 1936 – アロンゾ・チャーチも存在しうるあらゆる言語を発明しているが、より巧みに行った。チャーチのラムダ

    rrreeeyyy
    rrreeeyyy 2014/06/09
  • 『Node.js Cluster+Socket.IO+Redisによるリアルタイム通知システム』

    Node.js Cluster+Socket.IO+Redisによるリアルタイム通知システム | サイバーエージェント 公式エンジニアブログ

    『Node.js Cluster+Socket.IO+Redisによるリアルタイム通知システム』
    rrreeeyyy
    rrreeeyyy 2014/06/09
  • fluentdによるログ収集システムの構築~基本編

    サーバーのセットアップ fluentdのインストール公式ドキュメントのとおり、インストーラーを実行してインストールします。 $ curl -s http://toolbelt.treasuredata.com/sh/install-redhat.sh | sudo bash 実行すると、TresureDataのリポジトリ(/etc/yum.repo.d/td.repo)が作成され、RPMパッケージがインストールされます。 [vagrant@fluentd-server ~]$ curl -s http://toolbelt.treasuredata.com/sh/install-redhat.sh | sudo bash This script requires superuser access to install rpm packages. You will be prompted f

    fluentdによるログ収集システムの構築~基本編
    rrreeeyyy
    rrreeeyyy 2014/06/09
  • Socket.IO, Redisを使用し各ゲーム間でプッシュ通知するシステム | 株式会社サイバーエージェント

    2. システム概要 homingは、アメーバピグ関連サービスのいずれかにログインしているユーザに対して、各サービスの通知情報を横断的にプッシュ通知します。 システムの構成は以下の通りです。 図2-1. システム概要 2-1. APIサーバ ユーザへの通知要求を受け付けるREST fullなAPIを備えたWebサーバです。 Node.jsのClusterによる、master/worker構成で稼働します。 通知要求はワーカプロセスで処理します。 図2-2. APIサーバ 2-2. Redisサーバ(データストア用) 一時的なデータをストアするためのRedisサーバです。 sentinelプロセスによる、master/slave構成で稼働します。 ストアされたデータはメモリ上のみで管理し、ディスクへの書き込みは行いません。 以下の情報を管理します。 ユーザのオンライン情報 ユーザIDの索

    rrreeeyyy
    rrreeeyyy 2014/06/09
  • サービス終了のお知らせ - NAVER まとめ

    サービス終了のお知らせ NAVERまとめは2020年9月30日をもちましてサービス終了いたしました。 約11年間、NAVERまとめをご利用・ご愛顧いただき誠にありがとうございました。

    rrreeeyyy
    rrreeeyyy 2014/06/09
  • GitHub - dawn/dawn: Docker-based PaaS in Ruby

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - dawn/dawn: Docker-based PaaS in Ruby
    rrreeeyyy
    rrreeeyyy 2014/06/09
  • mrubyでFile::Statつくった - スペクトラム

    https://github.com/ksss/mruby-file-stat mrubyでFile.mtime('file')としようと思ったらmruby-ioでも実装されていなかった。 そういえばファイルに関する情報をいろいろと取得したいのならC的にはstat(2)を使えばいいっぽい。 これをラップしたオブジェクトはCRubyにはすでにあり、File::Statがあるらしい。 File.mtimeも結局はstat(2)を呼んでファイルに関する情報の一部をとっているだけのようだ。 File::Statはmruby界にはまだなく(誰も欲しがってない?)、mtimeが使いたいのでFile::Statクラスを実装してみた。 僕のファイルシステムに関する知識はほぼ皆無で「実ユーザーってなんだよ」ぐらいの初心者レベルだ。(world_readalbe?なんか気でわからないので実装していない。)

    mrubyでFile::Statつくった - スペクトラム
    rrreeeyyy
    rrreeeyyy 2014/06/09
  • basic.jsを作ろうとしてる話 // Speaker Deck

    All slide content and descriptions are owned by their creators.

    basic.jsを作ろうとしてる話 // Speaker Deck
    rrreeeyyy
    rrreeeyyy 2014/06/09
  • モナド (プログラミング) - Wikipedia

    関数型プログラミングにおいて、モナドはプログラムを構造化するための汎用的な抽象概念である。対応したプログラム言語では、ボイラープレート的なコードでもモナドを使って除去することが可能となる。これはモナドが、特定の形をした計算を表すデータ型と、それに関する生成と合成の2つの手続きを提供することによって実現されている。生成は任意の基型の値をモナドに包んでモナド値を生成する手続きであり、合成はモナド値を返す関数(モナド関数)たちを合成する手続きである。[1] 広い範囲の問題をモナドを使うことで単純化できる。例えば、Maybeモナドを使えば未定義値への対処が簡単になり、Listモナドを使えばリストに入った値を柔軟に扱うことができる。複雑に組み合わさった関数は、モナドを使えば、補助データの管理や制御構造や副作用を除去した簡単なパイプライン構造に置き換えることができる[1][2]。 モナドの概念や用語

    rrreeeyyy
    rrreeeyyy 2014/06/09
  • 契約プログラミング - プログラミング言語 D (日本語訳)

    "契約" は、大きなプロジェクトのプログラミングの手間を減らす、 画期的な技術です。契約は、事前条件・事後条件・エラー・不変条件、 からなる概念です。 C++でも言語の変更無しに契約は実現できますが、 扱いにくく、 一貫性のないものになります。 言語レベルで契約のサポートを組み込むことには、こんな利点があります: 契約の記述の一貫性 ツールのサポート 契約の記述に基づく、 コンパイラによるよりよいコード生成 契約の管理や強制の簡単化 契約の継承 "契約"は、考え方は簡単で、常にtrueにならなくてはいけない式、のことです。 trueでなければ契約が破られていて、つまり定義から、プログラムにバグがあることがわかります。 契約はプログラムの仕様の一部分で、それをドキュメントではなくコード自身に書くようにした、 とも言えます。プログラマの皆さんはご存じのように、ドキュメントというのは不完全で、

    rrreeeyyy
    rrreeeyyy 2014/06/09
  • GitHub - aisola/go-coreutils: An attempt at a Go implementation of the GNU Coreutils.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - aisola/go-coreutils: An attempt at a Go implementation of the GNU Coreutils.
    rrreeeyyy
    rrreeeyyy 2014/06/09