タグ

2008年6月16日のブックマーク (23件)

  • Erlang分散アプリケーションのお作法 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    Erlangってば、変な構文だし/なんか古くせーし …… だけどね、並列分散アプリケーションがこんなに簡単に作れる環境って他にないと思いますね(あったら教えて) -- そこがなんつっても魅力だわ。 分散アプリケーションといえば、ErlangではCORBAサポートが随分と充実しているようです。でも残念! 僕、CORBAよく知らん。それにCORBAってオオゲサなんじゃないの(よく知らんから雰囲気で言ってるだけだが)。CORBAよりお手軽にクライアント・サーバー型分散アプリケーションを作れるフレームワークとして、gen_server(Generic Server Behaviour)ってのが用意されています。その使い方を紹介しましょう。 IDLコンパイラが骨組みは作ってくれる gen_serverを利用して分散(分散じゃなくてもいいのだけど)アプリケーションを作るとき、CORBAツールであるID

    Erlang分散アプリケーションのお作法 - 檜山正幸のキマイラ飼育記 (はてなBlog)
    dann
    dann 2008/06/16
    gen_server
  • Exploring Erlang with Map/Reduce - DZone

    Under the category of "Concurrent Oriented Programming", Erlang has got some good attention recently due to some declared success from Facebook engineers of using Erlang in large scale applications. Tempted to figure out the underlying ingredients of Erlang, I decided to spent some time to learn the language. Multi-threading ProblemMultiple threads of execution is a common programming model in mod

    Exploring Erlang with Map/Reduce - DZone
  • GitHub - yariv/twoorl: The source code repository for twoorl.com

    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 - yariv/twoorl: The source code repository for twoorl.com
  • Erlang - more-functional

    せっかくだからErlang版も貼っとく。 じつはずっと昔に書いたコードだったりする。 -module(udpmsg). -export([send/2]). -include_lib("kernel/include/inet.hrl"). -define(IPMSG_VERSION, 16#0001). -define(IPMSG_DEFAULT_PORT, 16#0979). -define(IPMSG_SENDMSG, 16#020). -define(DEFAULT_UDP_OPTS, [ {active, false}, % {broadcast, true}, {reuseaddr, true} ]). send_format(Num, Host, User, Cmd) -> lists:flatten(io_lib:format("~.10b:~.10b:~s:~s:~.10b

    dann
    dann 2008/06/16
    >ErlangにはHiPE(High Performance Erlang)というしかけがあって、 beam(erlangのためのvm)からネイティブコードを呼びだすよう変換することができる
  • kai

    FactoryTalk Optix Cloud Manufacturing Software For manufacturers interested in a powerful, open, scalable, HMI visualization platform FactoryTalk Optix can help improve your process, efficiency and deliverables – in one easy to access tool. Take advantage of new levels of collaboration, scalability and interoperability to achieve your HMI vision. New SaaS-enabled workflows will enable your team to

  • Erlang Tips

    Erlang に関する情報を,自分用メモを兼ねて作成しました. 間違い等見つけた方はブログのエントリまで連絡いただけるとうれしいです. 最終更新:2007/07/04 23:56 目次 Erlangの特性 Erlangは以下のような特徴があります. 簡単に言うと,ネットワークサーバを書くのに向いています. 得意なこと ・大量の並列処理 ・複数サーバでの分散処理(ただしEthernet経由で通信するので専用インターコネクトほどは速くないと思います) 苦手なこと ・純粋な計算処理(C言語の10倍程度遅いようです) ・GUIアプリケーション(WingsというErlangでかかれたGUIアプリはあるが,GUI周りの情報は少ないです) ありそうな勘違い ・マルチコア・SMP環境にすれば,コア数に比例して性能が向上する. →もちろん条件によるので,必ず比例するわけではありません. SMPサポートは条件

    dann
    dann 2008/06/16
  • Pattern Languages of Functional Programs

    These pages are for people interested in applying the ideas of patterns and pattern languages to the doing, understanding, and teaching of functional programming. This is just the beginning of what some hope will be a productive area of study. The web pages here are in a beta-release state. Why Patterns? Pattern languages describe how to build things. As such, patterns can be a good tool for helpi

  • Programming Rules

    Table of Contents Author: EPK/NP Klas Eriksson, EUA/SU M Williams, J Armstrong Document: EPK/NP 95:035 Program Development Using Erlang - Programming Rules and Conventions 1 Purpose 2 Structure and Erlang Terminology 3 SW Engineering Principles 3.1 Export as few functions as possible from a module 3.2 Try to reduce intermodule dependencies 3.3 Put commonly used code into libraries 3.4 Isolate "tri

    dann
    dann 2008/06/16
    erlangのconvention
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • vim の erlang 用辞書ファイルを Web::Scraper で作る - cooldaemonの備忘録

    やっつけだけど動く。Web::Scraper 便利すぎ! #!/usr/bin/env perl use strict; use warnings; use List::MoreUtils qw(uniq); use URI; use Web::Scraper; my $scraper = scraper { process '//html/body/p/table/tr/td[3]/a', 'functions[]' => 'text'; result 'functions'; }; my @functions; for ('a'..'z') { my $scraped_functions = $scraper->scrape(URI->new( 'http://www.erlang.org/doc/permuted_index/pidx' . $_ . '.html' )); push

    vim の erlang 用辞書ファイルを Web::Scraper で作る - cooldaemonの備忘録
  • Thinking in Erlang (Japanese version)

    What is Scribd?AcademicProfessionalCultureHobbies & CraftsPersonal GrowthAll Documents

    Thinking in Erlang (Japanese version)
  • Erlang World

    top World ! {message, "why erlang"} 更新 最終更新日 08年 07/23 "gen_fsm 1" "マニュアル getting started with Erlang"を追加。 9月あたりまで多忙のため、不定期更新となります。 現在、マニュアル邦訳を一緒にやって頂ける方を募集しています。ある程度成長したら マニュアルはこのサイトから独立させるつもりなので、気兼ねなく連絡下さい。 ページの内容やブラウザへの表示に関しておかしな部分がありましたら、ここまでご連絡下さい。 表示に関する場合であれば、OSとブラウザの種類、バージョンを教えて頂けると助かります。 2ちゃんねる 【関数】Erlang【エリクソン】 このサイトについて このwebページはプログラミング言語Erlangの解説を目的としたページです。 Erlangは歴史もあり、機能も充実している言語なので

    dann
    dann 2008/06/16
  • Common Test - cooldaemonの備忘録

    まだ、解らない事だらけだが、使い始める所まで辿り着いたのでメモを残す。 run_test コマンドの準備 run_test とは、名前の通り、テストを実行してくれるコマンドで、実際は、erl コマンドを実行するシェルスクリプト。 作業は、Common Test がインストールされているディレクトリに移動して install.sh を実行するだけ。 % cd /path/to/common_test-X.X.X % sudo ./install.sh local上記を実行すると、/path/to/common_test-X.X.X/priv/bin 配下に run_test が作成される。 手元の環境では、下記のパスに Common Test がインストールされていた。 OS erlang R12B をインストールする際に使ったパッケージ Common Test のインストール先 FreeB

    Common Test - cooldaemonの備忘録
    dann
    dann 2008/06/16
  • erl_interface メモ - cooldaemonの備忘録

    C と Erlang ノード上のプロセスの間で、直接メッセージを送受信できる便利なライブラリ erl_interface を試したみた。 以下、メモと言うより code snippets。 pingpong.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include "erl_interface.h" #include "ei.h" extern const char *erl_thisnodename(void); extern short erl_thiscreation(void); #define SELF(fd) erl_mk_pid(erl_thisnoden

    erl_interface メモ - cooldaemonの備忘録
    dann
    dann 2008/06/16
  • Concurrent Programming

    Definitions Creating a new process Simple message passing An Echo Process Selective Message Reception Selection of Any Message A Telephony Example Pids can be sent in messages Registered Processes The Client Server Model Timeouts Definitions Process - A concurrent activity. A complete virtual machine. The system may have many concurrent processes executing at the same time. Message - A method of c

    dann
    dann 2008/06/16
  • たけまる / Kai - Amazon's Dynamo communicating with memcache protocol

    _ Kai - Amazon's Dynamo communicating with memcache protocol [kai][dynamo][erlang] だいぶ前 [2008-02-25-1] に,Perl (POE) で Amazon Dynamo っぽいもの を作りかけて放置していました. Erlang で書き直して,それなりに動くことを確認したので公開します.名 前は Kai といいます.今回は,memcache プロトコルでデータをやり取り できるようにしました. Dynamo とは,Amazon で使われているスケーラブルなハッシュテーブルで す.詳しくは [2008-01-31-1] に書きましたが,次のような特徴を持って おり,Amazon の巨大なサービスを支えています. - 簡単にスケールアウトできる - 障害に強い (マシン障害どころかラック障害にも耐える)

  • Erlangで分散ハッシュテーブルを実装してみた - NO!と言えるようになりたい

    並行言語であるErlangでPeer-to-Peer Network技術の一つである分散ハッシュテーブルを実装してみたところ,わずか1000行程度で実現できました.ノードが頻繁に出たり入ったりする,いわゆるchurn下でもそれなりの性能が出せたので,SourceForge.netで公開してみます.興味のある方はどうぞ. http://sourceforge.net/projects/ermdia/ 内部アルゴリズムはKademliaと呼ばれるものを利用しています.BitTorrent等でおなじみのアルゴリズムですが,データのput/getなどの通常のメッセージの交換時にルーティングテーブルをアップデートするため,ルーティングテーブルの維持コストがChord等に比べて低いという特徴があります.実装もそれなりに簡単で,過去にSymphonyと呼ばれる分散ハッシュテーブルを実装したのですが,それ

    Erlangで分散ハッシュテーブルを実装してみた - NO!と言えるようになりたい
  • はてなブログ | 無料ブログを作成しよう

    晴天の価値 2月中旬に出張で千葉へ行った。5日間の滞在中はずっと快晴で、気温は20℃に迫る春のような暖かさだった。仕事は朝から晩まで現場を走り回る過酷なもので、身体的にも精神的にも追い込まれた。毎朝、京葉線から見える美しい景色を眺めて正気を保っていた。太平洋へ燦々と…

    はてなブログ | 無料ブログを作成しよう
    dann
    dann 2008/06/16
  • RBridge::Erlang を Perl から呼ぶ - 酒日記 はてな支店

    とりあえず、はじめてのErlanモジュール作成ということで悩んだ結果、RubyからErlangのメソッドを呼び出すRBridge::Erlangを作った。 http://rakuto.blogspot.com/2007/05/ruby-and-erlang-rbridgeerlang.html Young risk taker.: [Ruby and Erlang] そろそろRBridge::Erlangについて一言いっておくか おお、これ Perl でもやりたい! と思ったのだけど、 ErlangとRuby間の通信におけるプロトコルはJSON-RPCである。 JSON-RPC ならもしかして普通に Perl から呼べるかな? とやってみたらできた。素晴らしい。 Erlang 側でサーバ起動。 1> c(geometry). 2> geometry:start().Perlのクライアント。

    RBridge::Erlang を Perl から呼ぶ - 酒日記 はてな支店
  • はてなブログ | 無料ブログを作成しよう

    早春とフィルム写真 カラーネガフィルムとはなんとも不思議なメディアで、その季節の陽光だとか湿度が写真に乗ってくるような気がする。 冬の写真は暗くかさついているし春の写真は霞がかって見える。夏の写真は湿度100%に近い空間を貫いてくる強い太陽光がフィルムの乳剤面に記録されてい…

    はてなブログ | 無料ブログを作成しよう
  • ゆーすけべー日記

    サキとは彼女の自宅近く、湘南台駅前のスーパーマーケットで待ち合わせをした。彼女は自転車で後から追いつくと言い、僕は大きなコインパーキングへ車を停めた。煙草を一吸ってからスーパーマーケットへ向かうと、ひっきりなしに主婦的な女性かおばあちゃんが入り口を出たり入ったりしていた。時刻は午後5時になる。時計から目を上げると、待たせちゃったわねと大して悪びれてない様子でサキが手ぶらでやってきた。 お礼に料理を作るとはいえ、サキの家には材が十分足りていないらしく、こうしてスーパーマーケットに寄ることになった。サキは野菜コーナーから精肉コーナーまで、まるで優秀なカーナビに導かれるように無駄なく点検していった。欲しい材があると、2秒間程度それらを凝視し、一度手に取ったじゃがいもやら豚肉やらを迷うことなく僕が持っているカゴに放り込んだ。最後にアルコール飲料が冷やされている棚の前へ行くと、私が飲むからとチ

    ゆーすけべー日記
  • githubでpull requestもらったのでmergeしてみる - 狐の王国

    githubでforkして開発してみる - otsune's SnakeOil - subtech ということでotsuneさんからpull requestもらったのでmergeしたという作業メモ。git初めて使ってるのでわけわかめー。 Pull Requests ― Git Guides ― GitHub といってもここにある通り。 $ git remote add -f otsune git://github.com/otsune/foltia-the-next-generation.git $ git checkout -b otsune/master $ git pull otsune master:02d0a00 $ git branch 02d0a00 master * otsune/master ということでotsuneさんのブランチが手元に来たので、これを自分のmaster

    githubでpull requestもらったのでmergeしてみる - 狐の王国
  • ricollab Web Tech Blog » Blog Archive » MogileFS を Feodra7 on coLinux に yum で入れてみた

    日野原です。 今、分散ファイルシステムが熱いです。負荷分散とか冗長化とかを考えていると、当然ファイルシステムも分散させたくなるのです。…なりますよね? というわけで手元の Fedora7 on coLinux に分散ファイルシステムの一つの実装である MogileFS を入れてみました。 ただ、CPAN を使える人向けの情報はこのページ(Six Apart - Tech Talk Blog: MogileFS のインストールと初期設定)にすでにあるので、今回は perl をちゃんと使ったことがなくてもできるやり方でインストールしてみました。正確に言うと私が CPAN を使って入れようとしてできなかったので回避しただけなんですけど… というわけでインストールの手順は独自ですが、その後の初期設定などは前述のページで説明されているやり方とほとんど同じです。 前提となる環境は Fedora7 (c