September 2012
1 post
11 tags
Pot.js 1.21 and PotLite.js 1.38 released.
Pot.js 1.21 と PotLite.js 1.38 リリースしました。
Pot.js は非同期処理を中心とした JavaScript ライブラリです。
概要などの詳しい詳細は以下のリファレンスを参照ください。
Pot.js + PotLite.js - Document and Reference
Download
Pot.js+PotLite.js-zip
Changelog ja:
Pot.Deferred コールバック内で FileReader を返したときの不具合を修正
JSDoc コメントが変だったのを修正
Blob コンストラクタと BlobBuilder の実装の違いを吸収する Pot.createBlob() 関数を実装
Pot.equals() に長さの違うオブジェクトを渡した時に不正な結果になる不具合を修正
jQuery.ajax を...
June 2012
1 post
8 tags
Pot.js 1.20 and PotLite.js 1.37 released.
Pot.js 1.20 と PotLite.js 1.37 リリースしました。 Download
Pot.js+PotLite.js-zip
Changelog ja:
内部変数 StopIteration を除去
Pot.Struct.pairs で未知の変数を修正
Pot.Struct.equals() で再帰的に比較するよう改訂
Pot.Deferred.parallel に Deferred を含む関数を渡すと想定外の動作になるのを修正 (Thanks coffeegyunyu)
Pot.sprintf() に数値を 3桁区切りする型指定子 ‘n’ を追加
en:
Fixed internal StopIteration.
Fixed bug: undefined function ‘pairs’ in...
May 2012
2 posts
8 tags
Pot.js非同期イテレータだけの軽量版を作ってみました
Pot.js の実装のうち Pot.Deferred.forEach などの
非同期/同期イテレータだけにした軽量タイプを PotPico.js として作ってみました。
サイズは約 50KB で、PotLite.js より軽くなりました。
単に CPU 負荷を抑えて JavaScript を実行したい時とか、
Pot.Deferred や Pot.js のイテレータがどんなものか触ってみるきっかけになれたらと思ってます。
サイズと実装は、
Pot.js >>>>>> PotLite.js >>> PotPico.js
(full) (非同期処理のみ) (イテレータとDeferredのみ)
こんな感じです。
PotPico.js はイテレータに必要なものだけにして、 Minify 用に少し最適化した感じです。
なので Pot.js /...
12 tags
Pot.js 1.19 and PotLite.js 1.36 released.
Pot.js 1.19 と PotLite.js 1.36 リリースしました。
Download
Pot.js+PotLite.js-zip
Changelog
ja:
Pot.MimeType に ogg 追加
Pot.base64Decode() で Pot.base64URLEncode() したのもデコード可能に
Pot.alphanumSort() に添字の指定可能なコールバック関数を引数に指定できるよう追加
Pot.isTypedArray() と Pot.isArrayBufferoid() を実装
ArrayBuffer と DataView をクロスブラウザにミックスしたような Pot.ArrayBufferoid の実装
文字コード変換関数 Pot.convertEncodingToUnicode() の実装 (Thanks haxe)
...
April 2012
5 posts
2 tags
Pot.js Blog移動(作成)しました
Pot.js 関連の情報を分けました。
今までは 圧縮電子どうのこうの のほうになんでも書いちゃってたのですが
これからはリリースノートなどの Pot.js / PotLite.js に関する情報はこのブログに書いていきます。
Tumblr でブログとして思ったように作れるか、ちょっと心配でしたがなんとかなりました。
このブログではテキストのみポストでいくと思います (テキスト以外テンプレート書いてない)。
Tumblr のブログとしての機能的なことは Tumblrをブログとして利用する-実践編- | JSer.info がとても参考になりました。
まだテンプレート作ったばっかしなのでバグとかリンク変だよとかありましたら polygon_planet まで伝えてくれるとうれしいです。
15 tags
JavaScriptライブラリ Pot.js 関連リンクまとめ
Pot.js 関連のリンクまとめ
JavaScript ライブラリ Pot.js に関する記事やサンプルの紹介です。
Pot.js は CPU に負荷をかけることなく JavaScript の実行を可能とするユーティリティライブラリです。 MOONGIFT さんの記事 で紹介されたのもあって、せっかくなのでまとめてみました。 jQueryとも組み合わせて使える汎用的ユーティリティライブラリ「Pot.js」 - MOONGIFTMOONGIFT さんの記事
Pot.js 公式 リファレンスリファレンスとドキュメントです。このリファレンス自体が Pot.js で作られています。
ほぼすべての情報はここに集約されています。
jQuery.each と Pot.js イテレータで CPU 使用率比較グラフjQuery.each と Pot.js イテレータで CPU...
8 tags
JavaScriptライブラリPot.js 1.18 リリース。strict modeになりました
Pot.js 1.18 と PotLite.js 1.35 リリースしました。 変更点など ‘use strict’つけてライブラリ全体が strict mode になりました
DropFile が Firefox で不具合出てたので修正
minify したときの最適化
などで、とくに機能の変更はありません。
ねんがんの strict mode にできたので、’use strict’ 内で取り込まれても問題なく動きます。
全体を strict mode にするためにソースコードの表現はけっこう変わってますが
動作はむしろ速くなって、サイズがちょっとだけ減りました。
リファレンスのほうは、定義してある関数をとりあえず全部メニューに載せるようにしました。
でもメニューだけで中身の html...
11 tags
JavaScriptライブラリ Pot.js のチートシートと壁紙用ジェネレータ作りました
Pot.js チートシートとジェネレータ ができました。 Cheat Sheet
現時点では、PotLite.js のぶんです。
他のライブラリのチートシートを参考にしながら作ってたのですが、
Pot.js のほうはまだリファレンスも全部書けてないので
重要な非同期系の関数/メソッド/プロパティに絞ってたら PotLite.js と同じになりました。
はじめからそうしてればよかった。。 Pot.js (PotLite.js) チートシートとジェネレータ
Cheat Sheet Generator自分で関数の存在を忘れてしまうことがあって
それもどうかと思うので、忘れないように壁紙にできたらなぁて思って
せっかくだからいつも使ってる壁紙とか好きな画像とアルファ合成できたらいいなって
ジェネレータ作ってみました。
canvas で DataURI...
10 tags
並列処理のWorkerぽいWorkeroid実装。JavaScriptライブラリPot.js...
Pot.js 1.17 と PotLite.js 1.34 リリースしました。 Web Workersバックグラウンド処理、並列処理ができる HTML5 API の Web Workers は、
主要なブラウザですでに実装されています。 var worker = new Worker('child.js');
worker.onmessage = function(event) {
alert(event.data); // 'hogefuga' がアラートされる
};
worker.postMessage('hoge');
child.js onmessage = function(event) {
postMessage(event.data + 'fuga');
};
上のような感じで使うのですが、基本的に ‘child.js’...
March 2012
1 post
15 tags
jsFiddleだらけ-JavaScriptライブラリPot.js+PotLite.jsリリースノート...
Pot.js 1.15 1.16 と PotLite.js 1.32 1.33 リリースしました。 2012-03-13 追記: Pot.js 1.15 と PotLite.js 1.33 はバギーなためアップデートしました。詳細 2012-03-13 時点の最新は Pot.js 1.16 と PotLite.js 1.34 です。最新にアップデートお願いします。。 このバージョンでは、 文字列処理の高速化 重くなりそうな処理を非同期化などを適応しました。 文字列処理の高速化先日、ふと思って String.fromCharCode を呼ばずに U+0000 - U+FFFF の配列をあらかじめ作成して インデックスに対応させたらどうなのかなって ベンチマークとってみました。 http://jsfiddle.net/polygonplanet/Ap6st/...
February 2012
2 posts
12 tags
同期処理を非同期に変換-JavaScriptライブラリPot.js+PotLite.jsリリースノート...
Pot.js 1.14 と PotLite.js 1.31 リリースしました。
その前に Pot.js + PotLite.js リファレンス が完成しました (ということにしたい) ので、
お時間あるときにでも覗いてみてください。
結局 /test-for-new-design/ に置いてあるのはファイル消すのも嫌だし
全部リダイレクトさせるようにしました。
Pot.js 1.14 と PotLite.js 1.31 では、Pot.deferreed() ていう関数つくりました。
deferreed は、関数の中の for, for-in, for-of, do, while 等の同期ループを
Pot.Deferred.forEach() などの非同期イテレータに置き換えて関数を再定義します。 前の記事「JavaScript...
16 tags
JavaScript...
Pot.js 1.13 と PotLite.js 1.30 リリースしました。
Pot.js 1.13 と PotLite.js 1.30 では、主に内部ループ処理を大幅に高速化しました。
(そろそろ ChangeLog 作らないとまずいかも…)
あとは、変数宣言とか 例の (function(){}()) とか (結局直してる)
細かい修正などです。
先日、Hacker News や Echo JS で Pot.js が紹介されました (ありがとうございます)。
でもアクセスが今までの 1000 倍くらいになって、すごいことになってちょっとビビった。
(API サーバのほうは適当に調節しておいたので大丈夫だった。よかった。。)
それで Pot.js の本来の存在意義ですが、 実行環境の CPU に負荷をかけることなく JavaScript が実行できる。...
January 2012
1 post
12 tags
HTML5 File...
Pot.js 1.11 と PotLite.js 1.28 リリースしました。
主な新機能として、HTML5 の File API を使った
ファイルのドラッグ&ドロップ を扱う Pot.DropFile を実装しました。
Pot.DropFile は FileReader でドロップされたファイルをアップロードしたり
内容やサイズを取得してその場で処理することが可能です。
HTML5 とドラッグ&ドロップイベントをサポートしてるブラウザ (Firefox, GoogleChrome, Safari) で
このブログ内に、デスクトップなどから画像やテキストなどの適当なファイルをドロップしてみてください。 ここにドロップされたファイル内容が表示されます。
$(function () {
// ドロップされた結果を表示する div
var targetId...
December 2011
1 post
13 tags
JavaScript非同期ライブラリ PotLite.js 1.23 リリース
JavaScript 非同期処理ライブラリ PotLite.js 1.23 リリースしました。
Version 1.23 は、ほとんどバグフィックスです。 AOP ぽいことができる Pot.Signal がひどくて、
シグナル解除して再度登録すると重複してコールバック関数が呼ばれちゃったりしてたので
がんばって可能な限り実行テスト増やしてフィックスして
やっと想定の動きになりました。
前バージョン (1.22) を使ってる方いたら申し訳ないです。。 PotLite.jsPotLite.js は、めんどうになりがちな非同期処理をとにかく楽にコーディングできるよう
直感的に記述できる Deferred オブジェクトを中核として実装しています。
そして、ユーザー (UI) への配慮を目的として
CPU など負荷のかからないループ処理やイテレータが利用できる JavaScript...
November 2011
2 posts
10 tags
JavaScript非同期ライブラリ PotLite.js 1.22...
追記PotLite.js 1.22 はバギーなため 記事内のリンクを 1.23 に変更しました。
PotLite.js 1.22 リリースしました。
PotLite.js は、非同期処理や負荷のかからないループ処理やイテレータを重視した JavaScript ライブラリです。
経緯などについては、以前の記事 や、 CPU 使用率のベンチマーク結果の記事 を参照ください。 ダウンロード
PotLite.js 最新 zip
tar.gz
レポジトリ polygonplanet/Pot.js - GitHub
PotLite.js バージョン 1.22 では Pot.Signal オブジェクトを実装しました。
Pot.Signal は、任意のハンドラを登録し シグナルを送信して実行に移すことが可能です。...
10 tags
jQuery.each と Pot.js イテレータで CPU使用率比較グラフ
Web を閲覧していると、突然 CPU 100% になったり 定期的に負荷がかかったりします。 flash などを除くと、それ以外のほとんどは JavaScript による重いループ処理が原因です。 少しずつ改善されてるような気はしますが おそらくもう何年も前から、この問題がついてまわっていたのではないでしょうか。 そしてこのような負荷は、高スペックなマシンでは気付かないと思います。 開発者やテスターが高スペックな PC で動作確認を行ったことにより、 瞬間的な負荷を見過ごされたまま公開、リリースされてしまうこともあると思います。 それを、低スペックなマシンや iPhone などスマホを使っているユーザーが実行し 負荷に耐え切れずカクカクな描画になってしまったり、 最悪フリーズしてしまう場合もあります。 マシンの性能に限らず、例え高スペックマシンでも ...
October 2011
1 post
9 tags
JavaScriptでDeferredとイテレータの非同期処理用ライブラリ作ってみた
Pot.js という JavaScript ライブラリを作りました。 1ヶ月半くらい前からこつこつ書いてたんですが 実は先日、HDD トラブルでソースコードまるごと紛失してしまったんです。 作業ディレクトリごとなくなっちゃってもう涙目でした。 システム復元とかキャッシュとかいろいろ探したりがんばって HDD の断片から数週間前のデータの一部がいちおう見つかって そのコードの切れ端みたいのと記憶を頼りに元に戻してるところです。 その作業があまりにめんどくさいので、 とりあえず動くところまで元に戻った 非同期処理のオブジェクトのみライブラリにしようと PotLite.js としてコミットしました。 あまり巨大なライブラリより結局のところよかったのかもしれないです。 それでも、一部の関数など足りてない気がしてならない。 ぜんぜん思い出せないけど。。...