Sugar is a Javascript utility library for working with native objects. It lets you do stuff like this:
Sugar is a Javascript utility library for working with native objects. It lets you do stuff like this:
2011年はサーバサイド JavaScript の年! サーバサイド JavaScript の本命は node.js! ということで割と普通のウェブアプリケーションを node.js で作るためのチュートリアルを書いてみました。WebSocket とか新しめの話題は結構見ますが、PHP とかで普通のウェブアプリ作ってる人向けのチュートリアルとかあんま見ないような気がしたので、って感じです。 チュートリアルの内容ですが、コード量が少なめで機能的にも分かりやすそうなモノということで、短縮 URL ウェブアプリケーションを作ってみることにしました。bit.ly とか t.co とか nico.ms みたいなアレです。短縮 URL のデータは MySQL に保存します。 結構長文になっちゃったので、先に目次置いときます。 node.js のインストール npm (Node Package Mana
ちょくちょく no title の方をいじっていたのですが, 今年中に行った変更は今年中に一度リリースしてしまおうということで. 変更点をまとめておきます. 変更点 ネストされた関数式やオブジェクトリテラルのインデント オリジナルの js2-mode で, ネストされた関数式やオブジェクトリテラルのインデントが以下のように嫌な感じになっていた問題を修正しました. $.ajax({ type : "POST", url : "some.php", data : "name=John&location=Boston", success : function (msg) { alert( "Data Saved: " + msg ); } }); 修正版では, 次のようになります. $.ajax({ type : "POST", url : "some.php", data : "name=Jo
こんにちは、中川です。 今年も残すところあと1週間をきりましたね。 このところ色々と忙しかったので年末年始はゆっくりとしたいと思います。 さて、今回の話題ですが、node.jsを使ってサーバサイドでCanvasが利用できるということで試してみました。 それでは、早速使ってみましょう。 ■今回の環境 Ubuntu 10.10 node.js v0.3.1 npm 0.2.12-1 node-canvas v0.4.1 ■インストール node-canvasでは、cairoを利用しますので、事前にインストールします。 // sample.js var Canvas = require('canvas') , http = require('http'); http.createServer(function (req, res) { var canvas = new Canvas(200,20
Flash界のコーディングゴッドGSkinnerがJavaScriptのCanvasをFlashライクに使うライブラリを作った。 この人、確か僕と同い年ぐらいかちょい下なんだよね。。。会う度に超へこむ。 画期的というか、確実にかゆいところに手が届くライブラリで、下みたいなのがサクサクJSでいける。あいかわらずソースは美しいし、ドキュメントも完備。 game sparkles rollover localToGlobal globalToLocal sprite sheets ざっと見た感じFlashでいうところの、Stage, MovieClip, Sprite, Bitmap, Matrix, Stage, EnterFrameとキーフレームアニメがサポートされてる感じ。これは素敵。 このライブラリそのものもスゴいんだけどポイントは、GSkinnerがJSやりだしたってことは、365日以
タイトル書いてから気づいたけど、別にチャット機能とかなかった。 http://d.hatena.ne.jp/zentoo/20100821/1282407303 以前に書いた↑のエントリでは、Shindigのextrasに入ってるwave featureを調べてみて、「あーこれShared Stateはコンテナ側で何とかしてくれって形ですね」という所で終わっていた。今回はいささか無理くりながらShared Stateの実装を行ってみた。 Shared Stateに用いるサーバはnode.jsで実装する。構成としては、Shindigが8080番で待ち受け、node with Socket.IOを9000番で起動。Socket.IOはnode.jsで簡便にWebSocketのサーバサイドを実現するライブラリとして知られているが、WebSocketが動かない環境ではxhr-multipartやx
無限にAmen Breakを切り刻んで再生し続けるウェブサービスを作った.Firefoxで動く. WindowsのFirefoxだとちょっと音が途切れたりするらしい.Macだとちゃんと動く. 追記 Google Chromeで見ると意図せず音割れしてめちゃくちゃかっこいい音が出る.原因は不明. Amen Amen BreakのwavファイルをXHRで取ってきて,JSでバイナリを解析して,ビートごとに分割して,それをランダムに並べることで,新しいパターンを作ってる. 音はaudioタグで,波形はcanvasで出してる. ビートごとに分割してるので,ランダムに並べても,ちゃんとそれっぽく聞こえる. 参考 Amen break - Wikipedia, the free encyclopedia Amen Breakについて. GlitchMonkey for Greasemonkey char
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
Chrome Experiments is a showcase of work by coders who are pushing the boundaries of web technology, creating beautiful, unique web experiences. You'll find helpful links throughout the site for creating your own experiments, and you can also explore resources like WebGL Globe and our workshop of tools.
ある程度の規模のJavaScriptプログラミングでは、モジュール毎に、複数のファイルに分割してプログラミングするのが普通である。これは、ファイルの大きさが適度な方が編集作業が容易なのと、モジュールの別プロジェクトへの再利用性を高めるためである。 しかし、ブラウザ・アプリケーションでは、複数ファイルを1つのファイルに結合する方が望ましい。なぜならば、複数ファイルへの分割は、サーバへの多数のHTTPコネクションの発生を意味し、応答性が低下する。そのため、例えば、Google Mapsでは、多数のコードが100kbを超える1つのJavaScriptファイルにまとめられている。 また、ユーザの利便性を高める意味では、JavaScriptファイルの圧縮も重要である。JavaScriptの文法的な意味は保存したまま、ファイルサイズを圧縮することにより、ダウンロード時間を短くできる。また、圧縮により、
僕自身も僕の周辺もJSONをよく使います。でも、細かい点でけっこうミスをやらかしています(苦笑)。このエントリーで、JSONを使う上で注意すべきこと/間違いやすい点をすべて列挙します。 内容 兼チェックリスト: 仕様原典さえ読めば完璧(のはずだが) 数値の前にゼロを付けてはいけない 16進数表記も禁止だよ 数値の前にプラスを付けてはいけない 小数点からはじまる数値はダメ 用語法が違うよ:プロパティとメンバー メンバー名には常に文字列を使う 空文字列""もメンバー名に使える 配列要素はキッチリと並べよう 文字列を囲むには二重引用符だけ 文字列内のエスケープが微妙に違う 仕様にないエスケープは構文エラー undefinedもNaNもありません ラッパーオブジェクトは使わないのが吉 型システムとtypeofに関する注意 最後に 仕様原典さえ読めば完璧(のはずだが) JSONは、小さくて簡単な仕様
こんな感じに書いていたんですが: function isNonnullString(x) { return (x != null && (typeof x == 'string' || (typeof x == 'object' && x.constructor == String) ) ); } (typeof x == 'object' && x.constructor == String) の部分は、x instanceof String でもいいわけです。つうか、instanceof演算子が使えるなら使ったほうが望ましいですよね。上のケースではさほど問題になりませんが、instanceofならプロトタイプチェーンを使った継承も見てくれるようだし。 instanceof が使えるのは「JavaScript 1.4 から」らしいですが、version ≧ 1.4 は普通に仮定していいこ
cho45さん作の$X関数を極力シンプルにした、Greasemonkeyで@require するようの$X関数を書きました。 http://gist.github.com/2040 からどうぞ。 本家$Xが登録されました http://gist.github.com/3238 なので、それにあわせてforkとして登録し直しました。http://gist.github.com/3242 うん、forkにしておくと関係がわかっていい感じ。gist素晴らしいなぁ 追記: http://twitter.com/snj14/statuses/872567670 を採用してみた Greasemokeyが.user.jsで終わるページをインストールしようとしてしまう件の回避 - 0xFFで実際に使っています。 // @require http://gist.github.com/3242.txt こんな
どうも、こんにちは。hirokiです。前回は、HTML::Template::ProのJavaScript実装を紹介させていただきました。今回はその実装部においてのちょっとした工夫についてと、Webフロントエンドのパフォーマンスチューニングについて簡単にまとめさせていただきます。 正規表現の話 通常、テキストベースのDSL評価系を作成する際にはyacc/lexなどで文法記述を行うのが定石なんですが、 シンプルな文法であること 構文木の評価からコードジェネレートに方向性を転換した テキストマッチングの回数や高速化のための制御がしやすい などの理由から、HTML Template(JavaScript)では正規表現ベースの文法解釈を行っています。( HTML::Template::Proのyacc文法ファイルをそのまま使えば記述は楽だったのですが...)以下に実際に利用している正規表現を示しま
Hey, I didn't know you could do that If you are a web developer and come from the same place I do, you have probably used quite a bit of Javascript in your web pages, mostly as UI glue. Until recently, I knew that Javascript had more OO capabilities than I was employing, but I did not feel like I needed to use it. As the browsers started to support a more standardized featureset of Javascript and
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く