タグ

erlangに関するstarsky5のブックマーク (42)

  • Riakについてちょと調べたよ - kuenishi's blog

    Python Hackathon #3で、今手元で作っているモノのバックエンドに使えないかなぁと思ってRiakを調べてみたのでメモ。Riakは、bashoが作っているDynamoクローンにHTTP/JSONなインターフェースを出して、MapReduceもできるようにしたというキワモノ。でもConsistent HashingとMapReduceって激しく相性悪いと思うんだけどどうなっているんだろうという辺りが疑問点。 とりあえずインターフェースはJSON/HTTPだけど、Erlang APIもある。 Riak's primary programming interface is JSON over (RESTful) HTTP, which is as close as you can come these days to a universal language and protocol

    Riakについてちょと調べたよ - kuenishi's blog
  • Erlang に興味を持った人へ - Twisted Mind

    随時加筆してます 追記 2011-06-18 rebar.config の erl_opts から fail_on_warning から warnings_as_errors へ変更した rebar.config の xref に fail_on_warning を追加した インストールする Erlang を R14B03 へ変更した ライブラリ紹介に webmachine 、folsom 、ibrowse 、Emysql 、 statebox を追加した 2011-04-02 rebar.config の erl_opts から debug_info を消した rebar.config の実際に使っているベースを公開 Makefile に make edoc を追加した configure の例を hipe を使わないようにしているので native-lib を外した EUnit につい

    Erlang に興味を持った人へ - Twisted Mind
  • Ernie : Ruby/Erlang Hybrid BERT-RPC Server - 猫背ミジンコ

    この辺で紹介したバイナリフォーマットBERT。 当時は単なるRubyでも使用できるバイナリフォーマットとRuby実装のRPCサーバ、という程度にしか認識してなかったんですけど、BERT and BERT-RPC 1.0 Specificationを再調査してたら BERT (Binary ERlang Term) is a flexible binary data interchange format based on (and compatible with) Erlang's binary serialization format (as used by erlang:term_to_binary/1). ということで、どうやらErlangでノード間通信するときのシリアライズフォーマットであるExternal Term Format(ETF)を拡張しているみたいです。 Erlangはち

    Ernie : Ruby/Erlang Hybrid BERT-RPC Server - 猫背ミジンコ
  • node.js vs Erlang (ネタ) - kuenishi's blog

    ついぞ最近node.jsなんてのがでて、繁華街のあちこちでチヤホヤされてる。そんなときに、モヒカン族Erlang村(erlang-questions)に「node.jsってどうなの?」的燃料が投下されたわけですよ。これは炎上しそうだ…と追いかけてたら、ネタどころか案外真面目なハナシばっかりだったのですが。まずは真面目に問いかけをする純朴な成年(想像)。 「Erlang好きだし使ってるんだけど、Erlangとnode.jsてそれぞれどういうジャンルがすごいの?RabbitMQとかejabberdみたいなのつくろうとしたらどうなるの?簡単なチャットサーバーつくるくらうならnode.jsのが断然簡単だよね?分散システムで使うなら断然違うとか? Ulf Wigerによると、ブロックする関数の問題を簡単に解決してくれるとか書いてあるみたいだけど (link)」 おっお。素直な質問。これはみんな釣られ

    node.js vs Erlang (ネタ) - kuenishi's blog
  • Big Sky :: githubが使っているBERT-RPCを理解した。

    githubが高速化に成功した様です。 How We Made GitHub Fast - GitHub Now that things have settled down from the move to Rackspace, I wanted to take some time to go over the architectural changes that we’ve made in order to bring you a speedier, more scalable GitHub. ... For our data serialization and RPC protocol we are using BERT and BERT-RPC. http://github.com/blog/530-how-we-made-github-fast データのシリアライズおよびRPC(リ

    Big Sky :: githubが使っているBERT-RPCを理解した。
  • Erlang製のAmazon Dynamoクローン·Dynomite MOONGIFT

    Amazon Dynamoはシンプルなキー/バリューデータベースシステムだが、大量のデータを冗長化やレスポンスを維持しながらサービスを提供する点が特徴だ。外部向けのサービスとしては提供されていないが、SimpleDBAmazon Dynamoを外部向けにしたものと言われている。 起動した所 キー/バリュー型のデータベースには注目が集まっているが、Amazon DynamoのクローンとしてDynomiteを紹介しよう。 今回紹介するオープンソース・ソフトウェアはDynomite、Erlangで作られたAmazon Dynamoクローンだ。 DynomiteはErlang製のキーバリュー型データベースだ。Erlangと言えば分散化、リアルタイム性、並列化などが特徴なので、大規模なデータベースを構築する上ではとても期待ができそうだ。 クラスタリングにも対応している。既に稼働しているクラスタに新

    Erlang製のAmazon Dynamoクローン·Dynomite MOONGIFT
  • ejabbered の gen_mod/ejabberd_hooks の仕組み - Twisted Mind

    書き殴りです、ご容赦ください さらに嘘を書いている可能性大です 自分の頭の整理をするために書き出しただけです 日語が大いに間違っていますが許してください Erlang で書かれた XMPP サーバ実装の ejabberd ですが、かなり勉強になる実装になっています。中でも一番勉強になるのが gen_mod をつかった動的モジュール拡張でしょうか。ejabberd では mod_なんちゃらを気軽に実装する事が出来るようにプラガブルな実装になっています。Erlang でサーバを書いているときは、プラガブルな実装にしたくなります。 プラガブルにすればメンテナンスも拡張も思いのままだからです(言い過ぎ)。 ejabberd は gen_mod.erl と ejabberd_hooks.erl 二つのファイルで受けたリクエストに対して処理を行います。 gen_mod.erl はモジュールのベースと

    ejabbered の gen_mod/ejabberd_hooks の仕組み - Twisted Mind
  • Starting an Erlang Project

    Der Transatlantische Wahnsinn und seine fette Beute, CETA, TTIP und TiSA haeuslerbernhard

    Starting an Erlang Project
  • Erlang Efficiencyガイド — Erlang User's Guide v5.8.1 documentation

    Navigation index Erlang User's Guide v5.8.1 documentation » This Page Show Source Quick search Enter search terms or a module, class or function name. Erlang Efficiencyガイド¶ 1. イントロダクション 1.1. 目的 1.2. 条件 2. Erlangのパフォーマンスに関する8つの都市伝説 2.1. 都市伝説: funは遅い 2.2. 都市伝説: リスト内包表記は遅い 2.3. 都市伝説: 末尾再帰関数は、再帰関数と比べて「べらぼう」に高速である 2.4. 都市伝説: ‘++’ は使用しないほうがいい 2.5. 都市伝説: 文字列は遅い 2.6. 都市伝説: Detsファイルの修復はとても時間がかかる 2.7. 都市伝説:

  • ricollab Web Tech Blog » Blog Archive » CouchDB について Erlang 分散システム勉強会で紹介してきました

    先日、Erlang分散システム勉強会で、最近私が追っている CouchDB というオープンソースのドキュメント指向分散データベースについて紹介してきました。発表資料をおいておきます。 ドキュメント指向データベース CouchDB(PDF) 分散システムでしかも Erlang というニッチっぽい勉強会でしたが、30人の参加者が一瞬で集まり、非常に熱い会でした。私も自分の好きな話を好きなように話してしまい、参加者のみなさんはドン引きだったかもしれません… これだけでは何なので、ついでに手元の Fedora7 on coLinux に CouchDB の trunk を入れたときの手順と、簡単な couchdb の使い方をご紹介しておきます。 基的にはオフィシャルwikiにあるとおり、yum でモジュールを入れていけば問題ありません。素の coLinux からの場合、以下のモジュールが必要でし

  • Erlangの世界ではmemcachedとか要らない - みかログ

    Erlangを始めてから感じたことは,今までPerlでやっていた時に比べて,いろいろなやり方が出来るようになる,ということ. Webアプリに限らず,いろいろなアプリケーションで,より柔軟な設計が出来るようになると思う. Perl(や同種のスクリプト言語では)基的に1プロセス1スレッドの範囲内に縛られていて,コストを考えるとコードの一部の処理だけ並列処理することは出来なかったし,複数のプロセスでデータを共有しようと思うと基的にはDBに入れるしかなかった. たとえば,Perlで作られている大規模なサイトでは,DBの負荷を軽減するためにmemcachedが使われていることが多い. もしErlangでサイトを作っていれば,memcachedなどをわざわざ使うまでもなく,同様のことが簡単に書けてしまう. 単にmemcachedと同じ事をするだけであれば大きなメリットは無いけれども,自前で書いた場

    Erlangの世界ではmemcachedとか要らない - みかログ
  • たけまる / 6/17 Erlang 分散システム勉強会

    _ 6/17 Erlang 分散システム勉強会 [distributed][erlang] (2008-06-13 追記) 懇親会の場所が変更になりました.遅刻時の注意を書きました. Erlang の分散システムについての勉強会をします. 先日,開発を開始した Kai/Dynamo 以外にも,hamano さんが KLab で運用 している ejabberd や,REST の yohei さんが最近調べている CouchDB に ついて紹介があります. 参加希望の方は,twitter で @takemaru_jp に話しかけるなり何らかの方法 で連絡を取ってください.せっかくの機会なので興味のある方はどんどん 参加してください. # 参加募集は締め切っております m(_ _)m ■ 概要 日時: 6/17 (火) 18:30-20:30 (18:00開場) 場所: Mixi (17F受付で

  • 人気AV女優エロ動画集erlang-users.jp - 人気AV女優エロ動画集erlang-users.jp

    お問い合わせフォーム 当サイトは「児童ポルノコンテンツ」および「無修正コンテンツ」は一切掲載しておりません。もし万が一、当サイトで掲載が確認された場合は、即削除対応いたします。該当するコンテンツが御座いましたら、お手数では御座いますが問い合わせフォームご連絡いただけましたら幸いです。 ※当サイトコンテンツは他サイトRSSから自動収集しております

    人気AV女優エロ動画集erlang-users.jp - 人気AV女優エロ動画集erlang-users.jp
  • Jabberサーバーをクラスタリングしてみました。 : DSAS開発者の部屋

    みなさん Jabber をご存じですか? Jabber はオープンな仕様のメッセン ジャーサービスのことで最近だと Google Talk で使用している方が多いと思 います。 KLab では 2001年ぐらいから、誰でも Jabber を使うことが出来る Jabber.JP というサービスを運用してい ます。まだ Jabber を使用したことがない方は是非こちらの「Jabber をはじめよう」 を ご覧になって Jabber を使ってみて下さい。 Jabber.JP は jabberd という実装を使用してい たのですが、冗長構成が難しいという問題がありました。 そこで先日、Jabber.JP では大規 模なメンテナンスを行い ejabberd という実装で分散、冗長化を行ってみました。ejabberd はその名の通り、Erlang で 実装された Jabber サーバーで、Mnesia

    Jabberサーバーをクラスタリングしてみました。 : DSAS開発者の部屋
  • DSAS開発者の部屋:Erlang

    ErlangはMnesiaというデータベースマネージメントシステム(DBMS)をサポートしています。 Mnesiaを使用すると、データベースのレプリケーションによって分散データベースを構築し、簡単にデータベースの冗長化を実現できます。 前回まで紹介してきたErlyWebのORマッパはMnesiaに対応していて Mnesiaを使用した分散データベース上でErlyWebのORマッパを使ってWebアプリケーションを作ることができるようになります。 今回は、前回説明したYawsで設定したMnesiaのデータベースを、同一ホスト内で複数のノードで使用したり、データベースを複製する手順を説明します。 異なるホスト間でのMnesiaの複製を行おうとすると、今回の環境では別の問題が発生します。これについては次回に説明する予定です。 今回は、同一ホスト内で接続と複製だけ行ってみます。 続きを読む (セ)

  • Erlang - Wikipedia

    Erlang(アーラン)は、コンピュータにおいて汎用的な用途に使うことができる並行処理指向のオープンソースソフトウェア(英:Open Source Software、略:OSS)プログラミング言語および実行環境。 概要[編集] Erlangの直列処理のサブセットの言語は、関数型言語であり、先行評価を行い、変数への代入は1回限りであり、動的型付けである。 Erlangはエリクソンにより次の条件のシステムを構築できるよう設計された。 分散化された環境 障害に耐性をもつ(IT用語における「フォルトトレラント」(英:Fault tolerant))。 ある程度のリアルタイム性を備える 無停止で稼働する ホットスワップが可能であり、稼働中のシステムを停止すること無くErlangのプログラムを変更することができる。Erlangは、当初はエリクソン社内部だけで使われる非公開の技術であったが、1998年に

    Erlang - Wikipedia
  • ねこまんま - Twisted Mind

    katzenreis - Project Hosting on Google Code Erlang による Django テンプレートの実装である katzenreis を id:carver こと szktty が実装しています。Django テンプレートの実装はすでにあるんですがカスタムが使えなかったりと大の Django テンプレートとはちょっと違う実装なので1から実装し直している模様です。詳細は人のブログをご参照下さい。 テンプレートエンジン Katzenreis テンプレートは絶賛実装中とのことですが、ちょっと便利なものが入ってるので紹介を。 Eshell V5.7.2 (abort with ^G) 1> katzenreis_datetime:iso_datetime(). "2009-08-15 00:09:14.854531+09:00" 2> katzenreis

    ねこまんま - Twisted Mind
  • 良いプログラマを目指すなら「Concurrent Progrmming in ML」は今すぐ読むべき - osiire’s blog

    (いえ、どうせ前から広めたいとは思ってたので、ちょっと便乗。) これからマルチコア当り前時代になるし並行処理を扱えるようになりたい。でも並行処理って難し過ぎる。そんな諸氏に朗報です。簡単かつ安全にマルチスレッドを扱える方法があります。 それは、メッセージパッシングによるスレッド間情報共有です。Erlangのようなアクターモデルと言った方がピンとくる人もいるかもしれません。メッセージパッシングの世界にはロックもシグナルも登場しません。あるのは、スレッド間で共有する通信路だけです。なぜ通信路だけで、排他制御が出来るのでしょうか?新しいスレッドを作って、そのスレッドが持つ文字列を読み書きするメッセージパッシングスタイルのプログラムを見れば一目瞭然です。 (* 細かい事は若干単純化したサンプルプログラムです。*) let start_server init_msg = let ch = (* 通信

    良いプログラマを目指すなら「Concurrent Progrmming in ML」は今すぐ読むべき - osiire’s blog
  • Erlang でのビルドを SCons で - Twisted Mind

  • 第1回  Kaiとは? ─Kaiのコンセプトとメカニズム | gihyo.jp

    今回から数回にわたり、Kaiという分散Key/Valueストアについて解説させていただきます。 まず、第1回では井上がKaiのコンセプトをご紹介します。次回以降は、Kai開発者の一人である幾田さんがKaiの利用方法について解説します。最終回では、gooホームでKaiを運用している橋さんから、Kaiの運用方法について紹介していただく予定です。なお、連載が対象とするKaiのバージョンは0.4です。 Kaiとは Kaiとは、分散型のKey/Valueストアです。Amazon.comが2007年に発表したDynamoというシステムに触発されて、そのオープンソース版として開発されています。Kaiをバックエンドに据えてWebサイトを構築することで、高いスケーラビリティやアベイラビリティを実現できます。2009年5月には、gooホームのバックエンドに導入され、運用実績も高まってきました。 Kaiは多

    第1回  Kaiとは? ─Kaiのコンセプトとメカニズム | gihyo.jp