タグ

2008年2月8日のブックマーク (13件)

  • Haskell とモナド - あどけない話

    今日までに理解した Haskell とモナドについて、まとめてみます。間違っているところもあると思いますので、コメントを期待しています。(_ _) Haskell の特徴 純粋関数型言語です。 参照透過性 変数は初期化できますが、一旦決まった値は変更できません。関数の返す結果は、引数の値だけで決まります。 遅延評価 データの処理は、当にデータが必要になったときに実行されます。UNIX のパイプみたいなものだと考えるといいでしょう。 Haskell にも副作用はあります。 よい Lisper は、副作用のある関数とない関数を分けて実装します。しかし、そうでない Lisper が分けてくれるとは限りません。 Haskell を使うと、副作用のある部分とない部分を必然的に分けて書くことになります。 変数の値は変更できない たとえば、有名な quicksort を例にとりましょう。 quicks

    Haskell とモナド - あどけない話
  • CentOS 用に yum repository 追加 - 麦酒堂

    ぼくは CentOS のパッケージ管理に yum を使っています。 CentOS の公式リポジトリだけでもそれなりには使えるのですが、やはりほかにもパッケージが必要になる場合もあります。 そこで、非公式リポジトリをいくつか yum に登録することにしました。 非公式リポジトリを利用するにあたって注意したいのが、リポジトリが継続的にメンテナンスされるかという点。 そのリポジトリからパッケージをインストールしたはよいけれど、その後のアップデートがなくてセキュリティ・ホールもそのまま放置、なんてことになるのは非常にまずいです。 ということで、Web でもそこそこ言及の多い三つのリポジトリを選びました。

    sotarok
    sotarok 2008/02/08
    CentOS Extras
  • CentOS 5.0 での yum repository の設定

    CentOS 5.0 での yum repository の設定 CentOS のデフォルトの状態では必要なソフトウェアが不足している。その理由は Red Hat の Red Hat Enterprise Linux (RHEL) という商用 Linux 製品のクローンだからだ。製品版 Linux であれば、提供するものはすべてサポートしなければならない。あまり多くのソフトウェアを詰め込んでしまったら収集が付かない状態になってしまうのだろう。 しかし、普段  openSUSE や Fedora Core、Debian、Ubuntu などいろいろな Linux ディストリビューションを試していると CentOS の初期状態というのは、今ひとつソフトウェアが不足していると感じてしまう。 ということで CentOS で利用できる yum repository を追加する。Red Hat 用や F

    CentOS 5.0 での yum repository の設定
    sotarok
    sotarok 2008/02/08
    fedora extrasとか
  • 09 | 11月 | 2007 | よこいまさる日記

    いま手元で CentOS 5.0 を使っているのだが、Extrasパッケージリポジトリがないため、Fedora Extras 6 からパッケージを ftp でとってきて入れたりしている。 ただ、ちょいとこれが面倒なので、どうしたらいいかなぁって思って、 Fedora Extras を使うような yum の設定を CentOS 5.0 のマシンにしてみた。 手順は下記の通り /etc/yum.repos.d/fedora-extras.repo というファイル名で下記の内容を書く。 [fedora-extras] name=Fedora Extras 6 baseurl=http://ftp.iij.ad.jp/pub/linux/fedora/extras/6/$basearch/ enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-f

    sotarok
    sotarok 2008/02/08
    centosでfedora extra / EPELの方が良い?
  • 『ふつうのHaskellプログラミング』サポートページ

    $Id: index.html,v 1.9 2006/06/01 16:35:13 aamine Exp $ [ 正誤表 | 書誌情報 | 詳細目次 ] [ SBCr | Amazon ] リスト処理・文字列処理の基礎からモナド、パーサコンビネータまで。 ふつうのプログラマに贈る関数型言語入門。 サポート情報 正誤表 GHC 6.4.2 のダウンロード [www.haskell.org] LazyLines のダウンロードとインストール サンプルコード (オンライン) サンプルコードのダウンロード (.zip) サンプルコードのダウンロード (.tar.gz) リファレンスマニュアル検索ツール href 質問や間違いの指摘などはメールで aamine AT loveruby.net (AT は @ に置き換え) までお願いします。 書誌情報 書名

  • 本物のプログラマはHaskellを使う:ITpro

    筆者 shelarcy Haskellは,関数型プログラミングというジャンルに属する言語です。Haskellや関数型プログラミングを題材に物事を見ていくことで,今まで思いもよらなかったような未知の世界を知ることができるでしょう。 プログラミング言語を学ぶという行為には, 言語の基的な文法や考え方を理解する 言語の文化圏で広く使われている考え方に親しんでその言語らしい書き方を習得する 単に言語を使ってできること以上の知恵を学ぶ の3段階があります。この連載では,三つ目の段階を目標に,Haskellプログラミングの世界を一つひとつ丁寧に紹介していきます。 更新は毎月第1水曜日(1月のみ第2水曜日)

    本物のプログラマはHaskellを使う:ITpro
  • Pantora Networks » 1章 LVM入門

    1.1 パーティション管理の悩み Linuxユーザーなら誰でも、パーティション管理に悩まされたことあるかと思います。 「/とswapだけにしようか、/varは2GBほしいかな。いやいやswapは実メモリの2倍必要だ…。」 いくら悩んでパーティション設計を行ったとしても、リミットは忘れた頃に訪れます。デスクトップやワークステーションとして利用していた場合、作成したデータを蓄積する「/home」が、サーバーとして運用していた場合には「/var」や「/tmp」が溢れることが多いと思います。 そんなとき、「パーティションが再起動なしで広げれればいいのになぁ」と思ったことありませんか?この悩みを解決する方法、それがLVM(Logical Volume Manager, 論理ボリュームマネージャー)です。 1章ではLVMの用語を含む入門編、2章では基操作、3章では応用操作をご紹介します。 1.2 L

    sotarok
    sotarok 2008/02/08
    パーティション管理
  • Erlang クエックブック

    文字列 文字列を数値に変換する list_to_integer("123"). % 123 list_to_integer("-10"). % -10 n進数の文字列を数値に変換する u は指定した基数で変換、# は文字列が表現している基数で変換します。 io_lib:fread("~16u", "100"). % {ok,[256],[]} io_lib:fread("~2u", "100abc"). % {ok,[4],[abc]} io_lib:fread("~36u", "100%%%"). % {ok,[1296],"%%%"} io_lib:fread("~#", "16#100"). % {ok,[256],[]} io_lib:fread("~#", "2#100abc"). % {ok,[4],[abc]} io_lib:fread("~#", "36#100%%%").

  • <a href="http://blog.livedoor.jp/dankogai/archives/50828528.html">perl - telnetコマンドを自作する</a> の Erlang バージョン

    perl - telnetコマンドを自作する の Erlang(escript)バージョンです。 #!/usr/bin/env escript main([Host]) -> main([Host, telnet]); main([Host, Port]) when is_list(Port) -> main([Host, case catch list_to_integer(Port) of {'EXIT', _} -> list_to_atom(Port); Num -> Num end]); main([Host, Port]) when is_atom(Port) -> {ok, Num} = inet:getservbyname(Port, tcp), main([Host, Num]); main([Host, Port]) -> {ok, S} = gen_tcp:conne

  • Erlangで書かれたWiki - スコトプリゴニエフスク通信

    Erlang写経に休憩に、Joe Armstrongさん*1のホームページにある、Erlangで書かれたWikiで遊んでみました。 Setting up an Erlang wiki server http://www.sics.se/~joe/tutorials/wiki/wiki.html  上記のページからソースをダウンロードし、手順通りにセットアップを進めると、1分でErlangの世界を堪能できます。  Erlangにハマりつつある。というか、もう惚れた。

  • Erlang で分散 ApacheBench もどき - 酒日記 はてな支店

    書いてみた。どうも綺麗に書けてる気がしないのだが。(関数型の書き方に慣れてないのか……) ソースコードは末尾に。 HTTP のリクエストを並列に投げる部分はこんな感じで。 worker(): manager から URI を受け取って http:request()、結果を manager に戻す manager(): workerプロセスのリストを受け取って、それぞれの workerに仕事をやらせる / 完了したリクエストを数える / timer 処理 timer(): start / stop 間の経過時間を計る 複数ノード間で分散処理をするために必要な設定。 ホームディレクトリの .erlang.cookie ファイルの内容を同じにしておく。パーミッション 400 erl コマンドを -name 付きで起動する。 $ erl -name test Erlang (BEAM) emula

    Erlang で分散 ApacheBench もどき - 酒日記 はてな支店
  • erlang で並列 HTTP request - 酒日記 はてな支店

    まだ erlang の基礎もロクに勉強してないというのに、単に面白そうだから、という理由で並列プログラミングに手を出してみた。 HTTP get を複数の URL に対して並列で発行する。全体の構造は以下のようなもので。 main manager プロセスを作成 引数で受けた URL のリストから、ひとつの URL ごとに worker プロセスを作成 worker URL を HTTP GET して、結果を manager プロセスにメッセージ送信 manager workerプロセスから受けたメッセージを出力 erlang、さわって二日目だけどかなり取っ付きやすい印象。 , で区切ったのが順番に実行されるし、printf デバッグもできるし。 Erlangは関数型だけど難しくない: みかログ には全面的に同意。 -module(cohttp). -compile(export_all)

    erlang で並列 HTTP request - 酒日記 はてな支店
  • fastladder · GitHub

    Dismiss Grow your team on GitHub GitHub is home to over 50 million developers working together. Join them to grow your own development teams, manage permissions, and collaborate on projects. Sign up

    fastladder · GitHub
    sotarok
    sotarok 2008/02/08
    すげえ