タグ

programmingに関するihagのブックマーク (80)

  • RubyでEvent-DrivenなWebプログラミングを楽しむ環境が整ってきた件 - Tous Les Jours 攻防記

    という題で、RubyKansai勉強会#43で発表させていただきました。 使用したスライドは以下です。 Async Programming on Ruby View more presentations from Kazki Matsumoto. 発表でも紹介しましたが、非同期WebフレームワークであるCrampがすごく使い易い。使い方については以下のチュートリアルが参考になります。 http://m.onkey.org/2010/1/7/introducing-cramp また、非同期Webフレームワーク上から利用するための、ロックしないGearmanクライアントをEventMachine上で実装しています。 http://github.com/KazkiMatz/em-gearman-client ひどく荒削りな状態ですが、お役に立てば。

    RubyでEvent-DrivenなWebプログラミングを楽しむ環境が整ってきた件 - Tous Les Jours 攻防記
  • deferred.el のできるまで:調査、設計と実装 - 技術日記@kiwanami

    deferred.elを作る上での参考にした情報や、設計・実装のメモです。 一般的なDeferredの理解や、Deferredの情報まとめとしても使えるかもしれません。 Deferredについて コールバックをうまく書くイディオム 非同期処理の抽象化の道具 汎用性が高く、使い始めると無いと困るレベル 後述のbrazilさんの記事が大変オススメです。 参考にした情報など 基的に古い記事(2年以上前)が多く、JavaScript界の中ではすでにブームは過ぎ去って、常識の域になっているようです。そうは言っても、deferred.elを実装するために過去のブックマークなどを掘り起こして読み直してみたのですが、自分の中では再発見することも多かったです。 JSDeferred deferred.elで一番参考にした実装です。実装がシンプルです。 後述のMochikit.AsyncのDeferredに

    deferred.el のできるまで:調査、設計と実装 - 技術日記@kiwanami
  • 本の虫: 多くのプログラマは言語を表面的な理解だけで使っている

    一般のプログラマの多くは、プログラミング言語というものを、ごく浅い表面的な理解だけで使っている。これは、いわゆる「入門書」によるところが大きい。入門書は、言語をできるだけパターンで教えようとする。かくかくしかじかの場合には、とらとらうまうまのように書いておけばいい、などといった具合だ。 たとえば、配列の全要素や、aggregateの全メンバーをゼロで初期化したいとする。多くのC++プログラマは、以下のように書く事であろう。 int a[100] = {0} ; このコードは、正しく動く。配列aの要素は、すべてゼロで初期化される。しかし、C++という言語を考えた場合、{0}と書く必要はない。空の{}で十分なのである。 int a[100] = {} ; では何故、多くのC++プログラマは{0}と書くのか。それは、多くの参考書が、そのように書いているからに過ぎない。大多数のC++プログラマは、

  • RubyCocoa 入門

    RubyCocoa とは? RubyCocoa は、Mac OS X アプリケーションを開発するためのフレームワークです。 RubyCocoa によって、 OS X アプリケーションを作ること Ruby から拡張ライブラリとして Cocoa を利用すること ができるようになります。 RubyCocoa のインストール Tiger の場合、以下の URL から最新版の dmg をダウンロードして、インストールしてください。 http://sourceforge.net/project/showfiles.php?group_id=44114 Leopard では、RubyCocoa は OS に標準添付されているので、インストールの必要はありません。 はじめての Mac OS X アプリケーション では、さっそくアプリケーションを作ってみましょう。 まず、Xcode を立ち上げます。(/De

  • Patricia Trie Template Class

    This article introduces a template class-based approach to construct and query Patricia tries. The article includes source code and a demo application. Download source files - 11.8 Kb Download demo project - 13.9 Kb Introduction While working for a company that produced software development tools, I had to write an application that encapsulated an entire file system within a single file. Part of t

    Patricia Trie Template Class
  • Karetta|Gaucheプログラミング(立読み版)

    はじめに書の構成 (1)書の対象読者書の表記書の使い方執筆時点でのGaucheバージョン謝辞第1部: 思想LispとScheme (4)Gaucheの特徴 (1)すべて式であるすべてリストである (1)lambdaは空気のような存在である (2)プログラミングとは名前付け(bind)であるすべて再帰である (2) (2)Schemeのすごい点 (4)すべてオブジェクトである (もしそれがお望みなら)Gaucheの設計思想や誕生の背景Schemeの評価モデルとは? (3)「Lisp脳」の謎に迫る - Schemeプログラマの発想第2部: 実用Schemeスクリプトを書こうSchemeスクリプトを書く (1)コマンドライン引数の値を得るユニットテストを書く (1)CGIを書こうSchemeスクリプトをCGIとして実行するwww.cgiライブラリを利用する (1)手軽にHTMLを生成する

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • PHPとFlex作法の違いをずばり解説(1/2) ─ @IT

    PHPとFlex作法の違いをずばり解説 ~PHPプログラマのためのFlex入門~ 原 一浩(はら・かずひろ) 株式会社エフエックスビイ代表取締役CVO / Design Wedge 2009/11/11 「Flex」って何? Flashと何が違うの? PHPは、入力フォームから格的なWebアプリケーションまで、さまざまな利用用途があります。導入に関する容易さから、多くのプロジェクトで使われてきました。PHPを使ってさまざまなWebサイトを作っていくと、そのうちぶつかる壁の1つに「Flashとかでもっとデスクトップアプリのような使い勝手にしてよ」ということがあります。 この解決策の1つには、HTMLだけを出力するのではなく、「JavaScriptを使ってサイトをAjax化する」ということがありますが、フォームのデザインはCSSの中でもなかなか難しいものが多く、またWebブラウザ間の依存性を

  • C言語 Super Technique 講座

    このページは、C言語の中級テクニックを中心に解説する。長らくプログラマをしていると、C言語の面白い使い方例が蓄積している。これらを一挙公開するために、このページを作ったのである。しかし、単にCに留まらず、他の言語の面白い特徴なども紹介していく。 内容的にはかなりヘヴィである。当然のことながら、「ポインタ虎の巻」程度の内容はちゃんと使いこなせることを前提とする。意外な技、落し穴、派手なテクニックなど、内容満載だが、ちゃんとデータ構造とアルゴリズムなども説明できれば良いと思う。(まあ、ぼちぼちやってきいます...) 以下の目次には手引きのために、評価がつけてある。凡例として示す。 レベル その解説で記載されている内容のレベル 有用度 その内容が実際に役に立つものかどうか 邪悪度 その内容が薦める方法が、一般的なコーディング規約の中で「邪悪」とされがちなものであるか否か。関数ポインタの活用(濫用

  • Rubyの呼び出し可能オブジェクトの比較 (3) - なんかklassの話

    前回 はコンテキストの概念を眺めて、klassを理解することが必要だという話になったのであった。 klass class文の中では構築しようとしているクラスに対応するClassオブジェクトがselfとなっている。それに、class文の中でのクラスメソッド定義をみると、なんとなく、「デフォルトではselfに、指定すればそのオブジェクトに」というメソッド呼び出しにおけるレシーバー解決に似ている。 class Foo def self.class_method_hoge p :hoge end end class Bar def Foo.class_method_huga p :huga end def self.class_method_huga_of_bar p :huga end end このことを考えるとRubyでは、メソッドはselfに定義されると考えたくなるが、そうではない。実はこれ

    Rubyの呼び出し可能オブジェクトの比較 (3) - なんかklassの話
  • Rubyのメタクラス階層 - 世界線航跡蔵

    この記事は、先日開催した 第3回 RHGの逆襲 のまとめみたいなものである。と、同時に『初めてのRuby(仮題)』の宣伝である。 クラス、その例外、そのトリック Rubyはクラスベースのオブジェクト指向だから、メソッドの情報はクラスに属している。インスタンスメソッドを呼び出すときには、そのオブジェクトの属するクラスを調べて、そのクラスの持っているインスタンスメソッドの中から探す。 でも、Rubyの場合は例外がある。1つはモジュール。モジュールはクラスではないのに、でもインスタンスメソッドを提供している。1つは特異メソッド。特異メソッドは特定のインスタンスに直接所属するメソッドだ。 でも、ここには実装上のトリックがある。Rubyにとってはモジュールのインスタンスメソッドも特異メソッドも、等しくクラスに属するインスタンスメソッドなんだな。 モジュール モジュールをクラスにincludeすると、

  • yohasebe.com : メタクラス完全理解

    Rubyのメタプログラミングについて興味はあるけどまだきちんと理解していない人は、次の4つのメソッドをよく見てほしい。新たな発見があるかもしれない。 class Object # 特異クラスはどこにでも隠れてる。 def metaclass; class << self; self; end; end def meta_eval &blk; metaclass.instance_eval &blk; end # メタクラスにメソッドを追加 def meta_def name, &blk meta_eval { define_method name, &blk } end # クラスの中でインスタンスメソッドを定義 def class_def name, &blk class_eval { define_method name, &blk } end end 僕はこれらのメソッドを meta

  • Judy Arrays Web Page

    What is Judy? Judy is a C library that provides a state-of-the-art core technology that implements a sparse dynamic array. Judy arrays are declared simply with a null pointer. A Judy array consumes memory only when it is populated, yet can grow to take advantage of all available memory if desired. Judy's key benefits are scalability, high performance, and memory efficiency. A Judy array is extensi

  • 検索と挿入がともにO(1)であるようなHashを作るにはコツがいる

    このところ立て続けに表記の事実を理解していない俺実装のHash(しかもCで!)を見かけたので、おそらく知られていないんだと思う。以降、同じ轍を踏む人が少なくなればと思い、啓蒙のために公開しておく。 先に言っておくがおまえらはHashを再発明するんじゃねよボケが。おとなしくありもののライブラリ使えよ。つうかHashのある言語使えよ。Cとかマゾかよ。 言葉と前提とりあえずHashが何であるかとか、どういう作りになっているかとか、そういうことは既知とする。リストの配列ってことね。←これで何言ってるか分からないおまえらにはこの文章はちょっとはやい。先にデータ構造の教科書を読むことをおすすめ。以下ではHashに登録されるキーとデータのペアのことをentryと呼び、リストの配列と言ったときのリストのほうをbin、配列のほうをbucketと呼ぶ。つまり、 class Hash { typedef lis

    検索と挿入がともにO(1)であるようなHashを作るにはコツがいる
  • Hop.js

    Hop.js: a multitier JavaScriptHop.js (aka Hop) is: A multitier JavaScript: a single code runs on the client and the server. A compliant JavaScript implementation: EcmaScript 5.1 compliant; EcmaScript 6 features (modules, async/await, proxy objects, ...); Nodejs compatibility. An extended JavaScript: builtin HTML: native HTML syntax support and multitier dom. server-side web workers. native websock

    ihag
    ihag 2009/03/26
    HTMLがいつのまにかlambdaになっちゃったよ,みたいな非常にセンスのいいプログラミング言語.クライアント側コード(JavaScript)とサーバ側コードがばらばらにならず,単一のソースとして書けるところもよい.関数型言語.
  • Hop, a Language for Programming the Web 2.0

    Hop is available at: http://hop.inria.fr. The web site contains the distribution of the source code, the online documentation, and various demonstrations. The recent evolution of the web makes it suitable for replacing traditional graphical user interfaces (henceforth GUIs). The combination of fast HTML rendering of modern web browsers (such as Gecko 20051111, shipped with Firefox 1.5), generaliz

  • http://packgen.rubyforge.org/

    ihag
    ihag 2009/02/15
    Packgen network packet generator
  • Return 0

    return0.infoに移転。昔の日記はまんま残してるので読みたい人はどうぞ。 世界樹の迷宮関係のコンテンツは移行が面倒なのでこっちに残すことにした。 世界樹の迷宮プレイ記録 世界樹の迷宮IIプレイ記録 世界樹の迷宮IIIプレイ記録

    ihag
    ihag 2009/02/11
    スノーグローブ現象と高階関数,メタプログラミング
  • ruby 1.9 を日常的に使うぼくが 1.9 の新機能を寸評する - まめめも

    なんか偉そうな見出しですが、ruby 1.9 を主に使うようになって 1 年ちょっと経ったので、1.9 の新機能に思うところや注意点などを書き残そうと思うのです。さらに 1 年後に見たとき、「あのころはあんなふうに考えてたなあ」などと感慨にひたる予定です。 あらかじめ断っておくと、ぼくの ruby 1.9 経験はすべて趣味範囲なので、エンタープライズとかシステム運用の問題とかは知りません。あとぼくは ruby のコミッタなので、色眼鏡もあると思います。あしからず。 YARV VM 実行になったという話。一般的には「速い」という文脈で語られます。1.8 と比べると確かに速いです。でも、1.9 ばかり使い出すとなんとも思わなくなるはずです。速さなんて相対的な価値ですから、当然ですけどね。好意的に考えれば、「なんとも思わない程度に、遅くて困ることが減った」のかもしれない。 コンパイルフェーズを挟

    ruby 1.9 を日常的に使うぼくが 1.9 の新機能を寸評する - まめめも
  • るびま

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

    ihag
    ihag 2009/02/07
    Ruby M17Nが結構良さそう