タグ

2009年11月12日のブックマーク (14件)

  • JavaScript によるオーディオ&ビジュアルプログラミング - Radium Software

    僕は JavaScript が好きだ。できるだけ多くのことを JavaScript で済ませてしまいたいと考えている。 以前は JavaScript では絵や音を扱うことができないという点がボトルネックになって,応用の幅を狭めていた。これが最近になると, Canvas 要素のおかげで絵を扱うことができるようになったり, Flash を代行役にすることによって音を出せるようになったりと,いろいろ状況が変わってきている。 そこで今回は,以前から機会があれば触ってみたいと思っていた Processing.js と SoundManager 2 を使って, JavaScript によるオーディオ&ビジュアルプログラミングに挑戦してみた。 Processing.js とは Processing.js は,ビジュアルデザイン向けプログラミング言語 Processing を模して作られた JavaScr

    JavaScript によるオーディオ&ビジュアルプログラミング - Radium Software
  • Python入門:デコレータとは

    前から常々思っていることだが、何かについて勉強する一番効率的な方法はそれを誰かに教えること。人に教えようとすると、それなりに準備をしなければならないし、自分の頭の中を整理しなければならない。また教える過程でするどい質問をされたり間違いを指摘されて、さらに勉強を強いられることもある。 私がこの手の「入門編エントリー」を書くのは、ほとんどの場合「自分自身の理解をより深めたい」ことが一番の目的であるが、ブログの場合、教室などと違って「その道の達人」みたいな人たちがツッコミを入れてくれるケースもしばしばあるので、そのメリットは何倍にもなる。 先日のクロージャに関するエントリーなどは良い例で、「そんな用途にはmemoizeというデコレータが便利」などの指摘がいただけだけであれを書いた価値があるというもの。 そこで、今日はPythonのデコレータに関して。デコレータがPythonという言語に導入された

    gom68
    gom68 2009/11/12
  • App Engineのユニーク制限を正しく理解しよう - ひがやすを技術ブログ

    Google App EngineではRDBMSのようなUnique Indexをサポートしていません。ユニーク制限を実現する場合は、トランザクション中でKeyを使ったgetとputを組み合わせる必要があります。 ここでは、email addressがユニークだったらそれを確定してtrueを返し、そうでない場合にはfalseを返すコードを考えます。 最初にトランザクションを使わないコードを見てみましょう。KeyFactory.createKeyの最初に引数は、kindといってテーブル名みたいなものです。 public boolean putUniqueEmailAddress(String value) { DatastoreService ds = DatastoreServiceFactory.getDatastoreService(); Key key = KeyFactory.cr

    App Engineのユニーク制限を正しく理解しよう - ひがやすを技術ブログ
  • WebSimpleDB API (W3C Working Draft 29 September 2009)

    Indexed Database API 3.0 W3C Working Draft, 12 December 2023 More details about this document This version: https://www.w3.org/TR/2023/WD-IndexedDB-3-20231212/ Latest published version: https://www.w3.org/TR/IndexedDB/ Editor's Draft: https://w3c.github.io/IndexedDB/ Previous Versions: https://www.w3.org/TR/2023/WD-IndexedDB-3-20230808/ https://www.w3.org/TR/2023/WD-IndexedDB-3-20230808/ History:

  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

  • Rhino | MDN

    Rhino はすべてが Java で記述された JavaScript のオープンソースな実装です。それは一般的には、Java アプリケーション環境へ組み込まれて、エンドユーザーによるスクリプトの記述が可能になります。J2SE 6 ではデフォルトの Java スクリプティングエンジンとして組み込まれています。 ダウンロード ソースとバイナリを取得する 方法。 ドキュメント スクリプト記述者と組み込み開発者への Rhino の情報。 ヘルプ 困ったときの いくつかのリソース。

    Rhino | MDN
  • JavaScript の関数はとても柔軟だった - LukeSilvia’s diary

    1年以上放置していたO'Reilly Japan - 初めてのJavaScriptを最近またやり始めました。「5章 関数」を読んだので、覚えたことを書いてみます。タイトルの通り、JavaScript の関数が持つ柔軟性についてフォーカスを当てます。 なお、動作検証にはRhino - MDC(1.7 release 2 2009 03 22)を使っています。 関数がオブジェクト 関数がオブジェクトなので、変数や配列要素に関数を代入できたり、関数を引数として渡したりできる。JavaScript の関数はファーストクラスオブジェクト。 ruby のブロックみたいに使える js> [1,2,3,4,5].filter(function(element, index, array){ return element % 2 == 0; }) 2,4 関数は() をつけると呼び出せる。() つけないとオ

    JavaScript の関数はとても柔軟だった - LukeSilvia’s diary
  • runtime.GOMAXPROCS で CPU をフル活用 - nobu-qの日記

    include $(GOROOT)/src/Make.$(GOARCH) TARG=コマンド名 GOFILES=\ file1.go\ file2.go\ ... include $(GOROOT)/src/Make.cmdこんな感じのを用意するだけでいいらしい。最後の Make.cmd を Make.pkg にすると .a を作ってくれる。らくちん! -1がEOF的な用途で使われている感じ。Core i7でCPU100%までしかわないんだけど、書き方が悪いのかそういうものなのか。チュートリアルのsieveで興奮して適当に書いただけなので、明日もう少しドキュメント読んでみよー。 package main import "fmt" import "rand" import "time" type Callback func (int); func foreach(a chan int, f

    runtime.GOMAXPROCS で CPU をフル活用 - nobu-qの日記
    gom68
    gom68 2009/11/12
    Go で無駄にチャンネルを使ってクイックソートのようなものを書いてみた
  • Rubyで複数形にしたり、単数形にしたり、ラジバンダリ - このブログは証明できない。

    元気ですかー!?私は咳が止まらなくてツライので、「元気ですかー!?」などと聞かれると、かなりウザイです。 Railsは、モデル名を単数形、テーブル名を複数形にしておくと、自動的にマッピングしてくれますよね。Convention over Configurationです。さて、ということは、英単語の単数形と複数形の変換をどこかでやってるということです。それが、ActiveSupportのInflectorモジュール。 ActiveSupportを読み込みます。そうすると、Stringが拡張されるのです。そう、拡張されるのです。irbでやってみよう。 >> require 'active_support' => true 準備OK。 東京DOGS的なノリで、dogで試してみましょう。 >> "dog".pluralize => "dogs" >> "dogs".singularize => "

    gom68
    gom68 2009/11/12
  • enumerabler.rb: Enumerable の遅延評価版メソッドライブラリ - まめめも

    たとえば整数の配列から、条件に合う要素のうち、最初に現れる 10 個だけ拾いたいとき、どうしますか? ary.select {|x| x.even? }.take(10) ↑これは非常に明瞭なプログラムです。しかし select は、最初の 10 個だけでなく全要素をチェックしてしまうため、ary が大きいと無駄にループします。また、select の戻り値となる中間配列も無駄です。 ret = [] ary.each do |x| ret << x if x.even? break if ret.size == 10 end ↑これなら 10 個見つかった時点で終了してくれるし、無駄な配列確保もありません。しかし非常に強引で原始的で煩雑なプログラムであり、Ruby 1.9 の時代を迎えた新人類である我々には、可読性やメンテナンス性に問題があると言わざるを得ない。一言で言うと品がないのです。

    enumerabler.rb: Enumerable の遅延評価版メソッドライブラリ - まめめも
  • 実録、ほぼ無停止なMySQLのフェイルオーバ (動画もあるよ) - (ひ)メモ

    レプリケーションしてるMySQLで、マスタやスレーブが障害停止した場合のリカバリプラン でも掲げたゴールである、「マスタが落ちてもぐーすか寝ていられるようにしたい」がほぼできたので、ほとんどサービスが停止することなく、フェイルオーバする様をスクリーンキャストに収めました。 埋め込みプレイヤーだと、小さくてわからないと思うので、リンク直接でみてください。 http://www.irori.org/pub/mysql-mm.mov 登場するホスト 登場するホストは2台、db901db902です。 最初は、db901が更新系クエリを受けるプライマリでdb900の浮動IPアドレスを持っています。 画面分割 画面は5分割しています。 左上 = 「select sysdate(),@@server_id」をdb900に対して(sleep 1しながら)延々と実行しまくりんぐ 右上 = ping -n

    実録、ほぼ無停止なMySQLのフェイルオーバ (動画もあるよ) - (ひ)メモ
  • 早速 Go 言語を試してみる! - IT戦記

    はじめに Google から新プログラミング言語 The Go Programming Language が発表されましたね! というわけで、さっそく試してみたいと思います。 環境は Mac OS X 10.6 インストール さっそくインストール Getting Started - The Go Programming Language を見ながら 環境の準備 ディレクトリを作る amacbook% cd ~ amacbook% mkdir go amacbook% mkdir bin環境変数の設定をする。~/.zshrc に以下を追加 # Go 用 export GOROOT=$HOME/go export GOOS=darwin export GOARCH=amd64 export GOBIN=$HOME/bin export PATH=$GOBIN:$PATH Mercurial を

    早速 Go 言語を試してみる! - IT戦記
  • なんか Go で書くのが流行ってるみたいなので - moriyoshiの日記

    追記:「kzk's blog」の「Writing TokyoCabinet wrapper for Go language」で紹介御礼。この記事は cgo を使った TokyoCabinet のラッパーの書き方を解説しているので、下記のコードと組み合わせて当に tc が backend になっている KVS を書いてみるのもよいかも。 『早速 Go 言語を試してみる!』とか。 『Go で無駄にチャンネルを使ってクイックソートのようなものを書いてみた』とか。 こちらはというと、試しに memcache バイナリプロトコルで通信する KVS もどきを書いた。 サーバのイベントループで go すれば全部済むのが楽ちんですね。 追記: HandleConn() の中で、backend_ch を backend との送信と受信両方に使っていたのだけど、ここにあるように、まったく誤りだということが分

    なんか Go で書くのが流行ってるみたいなので - moriyoshiの日記
  • Big Sky :: おくればせながらGoってみた。

    amachangのtwitterタイムラインの奴をhttp.Getでやってみた。 早速 Go 言語を試してみる! - IT戦記 http.Get は何故か動かなかったので net.Dial を使った。 http://d.hatena.ne.jp/amachang/20091111/1257928890 こうかな?わかりません>< package main import ( "fmt"; "json"; "io"; "http"; ) func main() { if r, _, err := http.Get("http://twitter.com/statuses/public_timeline.json"); err == nil { b, _ := io.ReadAll(r.Body); j, _, _ := json.StringToJson(string(b)); for i :

    Big Sky :: おくればせながらGoってみた。