タグ

ブックマーク / mattn.kaoriya.net (14)

  • Big Sky :: JScript.NETでスレッド

    JScript.NETMicrosoftが.NET Framework向けに拡張したJavasSriptで、Common Language Runtime(CLR)上で動作するJavaScript実装です。 CLR上ではC#、VB.NET等が動作しますが、JScript.NETは言語がJavaScriptという事もあって実はC#やVB.NET等と同等に使えない機能がいくらかあります。 JavaScriptは動的言語です。オブジェクトにプロパティを生やしてメソッドにしたり、prototypeを弄ったり、eval()で関数を生成したりも出来ます。つまりコンパイルするとは言えど、型が動的に変えられる言語です。 その為、.NET Frameworkの機能の一つであるDelegateが使えません。.NET FrameworkのThreadはDelegateという関数型拘束によりスレッドを安全に呼び

    Big Sky :: JScript.NETでスレッド
    toton
    toton 2010/07/14
  • Big Sky :: YowlとJSDeferredで、はてなブックマークコメントを通知表示する

    id:miyagawa氏のはてなブックマークからyowlという物を見つけました。 yowl - Google Code yowlとは、Mac OS X上で実装されている通知システムのアプリケーション実装「Growl」をYahooライブラリYUIを使ってWeb実装した物です。 さっそくダウンロードして使ってみましたが、やっぱりYUIは良く出来てますね。 Windows用にシステムトレイ常駐の通知アプリケーションと連携すれば、Webからデスクトップアプリケーションとして何かしらを通知出来るという事になります。 通知時のアクションが決められれば、夢の広がるアプリケーションになるでしょうね。 今日はサンプルとして、以前つくった「はてブでアーーーーッ!!!」をYOWLでやってみたいと思います。 少し色を付けて、JSDeferredとjQueryを使い、del.icio.usとパラレルで動かそうかと思

    Big Sky :: YowlとJSDeferredで、はてなブックマークコメントを通知表示する
  • Big Sky :: C++で軽量Webサーバ書いた。

    書いたといっても結構前からあったのですが、いらん所を削ぎ落として軽量Webサーバとして仕立て上げました。 軽量とは言えど、CGIを使って結構色々動きます。 例えば、ソースアーカイブを解凍したらCGIがあって、apacheから見える場所にコピーして...とか面倒くさかったりしますよね。 おれは今すぐWebサーバを起動したいんだ!そして今いるディレクトリのファイルをWebサーバからサーブしたいんだー! って事ないですか?blogソフトウェアをダウンロードして今すぐ試したいけど、apacheインストールされてなかった...とか悲しすぎます。 今回紹介する"tinytinyhttpd"(tthttpd)はそんな、小さい様で大きな問題を解決出来るかもしれないソフトウェアです。 mattn's tinytinyhttpd at master - GitHub tiny tiny httpd http:

    Big Sky :: C++で軽量Webサーバ書いた。
    toton
    toton 2010/03/21
    "tinytinyhttpd"(tthttpd)
  • Big Sky :: Googleサジェストから補完候補を作るVimスクリプト書いた。

    vimの入力補完って大変便利なんですが、例えば「あーあの芸能人、名前分かるけどどの漢字だったっけ...」なんて事がたまにあります。 芸能人の名前辞書用意持ってる人なんて見たことないですね。たいがいこういう時はGoogle先生にたよるのが一般的です。 今日はGoogleサジェスト(Google検索で数文字打ったら出てくるあの候補)からvimの補完を行えるスクリプトを書いてみました。 例えばこんな事が出来ます。 おもむろに「takasu」と打って、<c-x><c-u>とタイプします。 Yes! 高須クリニック! えっ2番?...うるさい! 便利ですね! また「watasinonamaeha」(私の名前は)と打って<c-x><c-u>すると... 私の名前はキムサムスン 誰ですか!キムサムスン! 例えば「naitu」なら... ナイツ お笑い 「www」なら... www.yahoo.co.jp

    Big Sky :: Googleサジェストから補完候補を作るVimスクリプト書いた。
    toton
    toton 2010/03/21
  • Big Sky :: javascriptで動くtwitter streamクライアントを作るならばmultipart/mixedを使うべき

    twitter stream APIとは、twitterのステータス更新に対してキーワードでtrackしたり、あるグループ内に属するステータス更新をフィルタしたり出来るAPIなのだけど、実際にはchunkedなストリームが流れて来ているのであって、これを使ったWebアプリを作る際にはlong pollを使うのが良い。ただしクライアントサイドでjavascriptを処理する際に サーバサイドでステータス更新をFIFOに溜め込む クライアントからリクエストをブロック(long poll)しFIFOからステータスを送出する クライアントサイドでlong pollを行い画面を更新する 再度サーバへリクエストを投げる を繰り返すのであれば、せっかくストリームなのにアプリサーバとの接続を切ってしまう事になる。出来ればクライアントからWebアプリもストリーミングとしたい。しかしながらサーバからのステータ

    Big Sky :: javascriptで動くtwitter streamクライアントを作るならばmultipart/mixedを使うべき
    toton
    toton 2010/03/20
    "twitter stream API","long poll","XHR(XMLHttpRequest)はこのmultipart/mixedなレスポンスを受け取る事が出来る。","diggで使われているDUI.jsとStream.js","MXHR"
  • Big Sky :: Vim script manager「Vimana」が便利すぎる。

    これまでvimスクリプトをインストールするには、vim onlineでダウンロードして、書いてあるインストール手順に従って、時にはそのまま、時にはzipを解凍して.vim(windowsならvimfiles)に自前でコピーするのが一般的でした。おそらく自動化されている方もいるかもしれませんが、特有のスクリプト専用の更新ツールくらいかと思います。 Perlを知っている方ならばCPAN、rubyを知っている方ならばgemにあたる物がvimには無かったんです。 配布物が統一されていない為、無理だろうな...とも思ってました。 が、そこに登場したのがVimana(Vim script manager)です。 Vimana(3)             User Contributed Perl Documentation            Vimana(3) NAME Vimana - Vim

    Big Sky :: Vim script manager「Vimana」が便利すぎる。
    toton
    toton 2010/02/05
  • Big Sky :: vimmer必読!読み込みの遅いvimscriptを見つけ出す方法

    « git でバイナリを気軽に扱える、git-largefile の dropbox 版を作った。 | Main | gcc は副作用のある関数呼び出しを含む式評価順序を最適化する。 » vimに起動プロファイラが実装された。 Patch 7.2.269 Patch 7.2.269 Problem:    Many people struggle to find out why Vim startup is slow. Solution:   Add the --startuptime command line flag. Files:      runtime/doc/starting.txt, src/globals.h, src/feature.h, src/main.c, src/macros.h http://groups.google.co.jp/group/vim_dev/b

    Big Sky :: vimmer必読!読み込みの遅いvimscriptを見つけ出す方法
    toton
    toton 2009/11/05
  • Big Sky :: 被はてなブックマーク数を表示するGoogle Chrome拡張書いた。

    こんな拡張が欲しい人なんて半ば病気ですよ。 夜になるとエアコン無しに過ごせる涼しい季節になって来ました。皆さん如何お過ごしでしょうか。 最近Google Chromeを使っているのですが、AutoPagerizeのGoogle Chrome拡張を入れてみて感動し、被はてなブックマーク数を画面下に表示する拡張が欲しくなったので、つい勢いで作ってしまいました。 はいはい。病気病気 スクリーンショットはこんな感じ os0xさんの記事をふんだんに参考にしながらなんとか作り上げました(os0x++)。 以下その作成手順。 まず、manifest.jsonを用意しました。 manifest.json { "name": "hatena bookmark counter", "description": "hatena bookmark counter for google chrome. hatena

    Big Sky :: 被はてなブックマーク数を表示するGoogle Chrome拡張書いた。
  • Big Sky :: バッチファイルで簡易Webサーバを起動する。

    ネタ的にはZIGOROuさんかhasegawaさんのネタっぽいが... @if(0)==(0) ECHO OFF CScript.exe //NoLogo //E:JScript "%~f0" %* GOTO :EOF @end function wsock_ConnectionRequest(reqId) { if (socket.State != 0/* closed */) socket.Close(); socket.Accept(reqId); } function wsock_DataArrival(bytesTotal) { var data = script.Run('GetData', socket, bytesTotal); socket.SendData([ "HTTP/1.1 200 OK", "Connection: closed", "Content-Type:

    Big Sky :: バッチファイルで簡易Webサーバを起動する。
    toton
    toton 2009/09/04
    WScript.CreateObject('MSWinsock.Winsock', 'wsock_');
  • Big Sky :: ReverseHttpで誰よりも速く「はてなブックマーク」に反応するツール書いた。

    ReverseHttp面白いですね。 ReverseHttp Tunnel HTTP over HTTP, in a structured, controllable, securable way. Let programs claim part of URL space, and serve HTTP, all by using an ordinary HTTP client library. http://www.reversehttp.net/ ただ勘違いされやすいのが「何がReverseなの」という部分。通常ブラウザからリクエストが送信され、それに対する応答がサーバから返されます。ReverseHttpはサーバで何かアクションが起きた場合に、ブラウザ側がその通知を受信する...なんて事が出来るプロトコルです。仕組みはcometというlong pollに似た仕組みで、サイトのdemo

    Big Sky :: ReverseHttpで誰よりも速く「はてなブックマーク」に反応するツール書いた。
  • Big Sky :: YQLのテーブルを自作する方法

    YQLを使うと色んなネットワークリソースをさもAPIを扱うかの様に操作でき、幾らでも新しい可能性が生まれて来ます。YQLには初期の状態でYahoo!で扱える色んなテーブル(flickrやdelicious等)が用意されており show tables と入力することでそのテーブル一覧が表示されます。 また右側のサイドバーにあるテーブル一覧で「Show Comminity Tables」をクリックするとユーザコミュニティが作成した便利なテーブルも扱う事が出来ます。 これらのComminity Tablesはgithubで開発されており、日々新しいデータテーブルが作成されています。 実はこのユーザテーブルは、ネットワーク上にXMLを配置する事が出来る人ならば誰でも作れます。 今日はこのユーザテーブルを自作する手順をご紹介します。 ユーザテーブルはユーザテーブル群を纏めるenvファイルと、実際のク

    Big Sky :: YQLのテーブルを自作する方法
  • Big Sky :: Windows Scripting HostからjQueryを使う

    ちょっと訳あって、WScriptからjQueryを呼び出す必要があり(嘘です)作ってみました。 これを使うと $.each([1,2,3], function(index, item) { print("foo" + item); }); $.ajax({ type: "GET", url: "http://www.google.co.jp/", async: false, success: function(data) { print(data); } }); こんなソースが実行出来ます。 $.eachなんかは目茶目茶便利なので、使わない手はありません。とりあえず、$.ajaxでgoogle.co.jpのソースが取得出来るくらいは動きます。 以下全体ソース。 // vim:fdm=marker fdl=0 fdc=0 fdo+=jump,search: // vim:fdt=substi

    Big Sky :: Windows Scripting HostからjQueryを使う
    toton
    toton 2008/09/26
    "WScriptからjQueryを呼び出す"
  • Big Sky :: Google App Engine Oilが素晴らしい

    « 「XSLとjQuery/HTMLだけで作る、amazon最速検索」が動かなくなってたので直した | Main | Publish::MixiDiary書いた » まずは素晴らしい出だしだと思う。 google-app-engine-oil - Google Code Yet another web framework on Google App Engine. Google App Engine Oil (GAEO) is an open-source web framework running on Google App Engine. It enables the web development on App Engine quick and less configurations. http://code.google.com/p/google-app-engine-oil/ r

    Big Sky :: Google App Engine Oilが素晴らしい
    toton
    toton 2008/08/16
  • Big Sky :: Google Visualizationを動的にロードしてGreasemonkey等で使用されているSITEINFOをGoogle SpreadSheetから取得する

    たしかにコレ、やばいっす。 spreadsheetとつながってるってやばいじゃんこれspreadsheetをバックエンドdbにしていろいろできるってことでしょ ku's post on twitter 使い方次第では、結構強力な物になりそうな気がする。 ちなみに F's Garage:iPhone SDKを読み解くのに必須! Google AJAX Language APIを使ったブックマークWidget作った。 Google AJAX Language APIは、document.writeで翻訳機能読み込みのscript要素コードを出力するようにできており、ブックマークレットには必須の遅延ロードができないようなので、なんだかいろいろ苦労しちゃいました。 多分以下の様にすれば行けるはず。(jsapiのクエリパラメータ「callback」と、loadの第三引数「callback」) wik

    Big Sky :: Google Visualizationを動的にロードしてGreasemonkey等で使用されているSITEINFOをGoogle SpreadSheetから取得する
    toton
    toton 2008/03/26
    "spreadsheetとつながってるってやばいじゃんこれspreadsheetをバックエンドdbにしていろいろできるってことでしょ " ヤバス
  • 1