タグ

javascriptとJavaScriptに関するnitoyonのブックマーク (602)

  • 本を読む John Resig×Shibuya.jsのイベント

    jQueryの作者でありMozilla.orgのTamarinの人でもあるJohn Resigが来日。日のクレイジーなJavaScriptコミュニティであるShibuya.jsの人たちと「The Future of JavaScript」というイベントを開催した。これは聞くしかないでしょう。 それぞれのセッションのあと、John Resigに小林悠さん&amachangさんが一問一答で質問するというドリームセッションがあった。質問セッションは資料が残るかわからないので、以下メモ。理解できたつもりの範囲しか書いてないので(this談義はかなり省略)、間違いがあったらご指摘ください。 3つのOOP(class、prototype、Duck typing)のどれを使うべき? 個人的にはclassベースのOOPが好き。エラーチェックしてくれるから JSのいいところはオブジェクトを自由にいじれると

    nitoyon
    nitoyon 2007/11/04
    Shibuya.jsの一問一答まとめ。
  • Kanasan.JS レポート

    関西での JavaScript 勉強会、Kanasan.JS に行ってきた。内容は Prototype.js のコードリーディング (バージョン 1.5.1.1 を使用)。「家に帰ってレポートを書き、主催者のブログにトラックバックを送るまでが勉強会です」と念を押されたので、まもなく Kanasan さんの記事経由で参加者各々の様子をうかがえるようになると思うけど、以下あとから思ったことも加えて私の場合をつらつらと。 JavaScript 概説 & コードリーディング プロトタイプ やはり皆さん一番引っかかるのはここみたい。おそらく、プロトタイプと名のつくものが 2 つあるのが混乱の原因だと思う。 prototype プロパティ 関数 (Function オブジェクト) のみが持つ。その関数をコンストラクタとして使ったときに用いられる。 [[Prototype]] 内部プロパティ すべてのオ

    nitoyon
    nitoyon 2007/11/04
    濃いレポート!
  • [event][javascript] Kanasan.JS (別名:prototype.jsのソースにツッコミを入れるオフ) に参加してきました - Greenbear Diary (2007-11-03)

    ■ [event][javascript] Kanasan.JS (別名:prototype.jsのソースにツッコミを入れるオフ) に参加してきました ちょっとしたイベントのはずが20人オーバーの中規模イベントになってしまった(笑) Kanasan.JS。 結局、途中から初心者/上級者の2グループに分かれてコードリーディングを進めることになりました (※初心者グループの方が内容のレベルが高かったという噂もあるけど…!?)。 感想ですが、prototype.jsのソース読みがこんなに面白いとは思わなかった! 他の言語ではありえないJavascriptならではの実装があったりして、とても良い企画だったと思います。 今回はまだ400行(全体の11%)しか進んでいないので、次回以降も続きができるといいなぁ。 とりあえず、大量の印刷物の用意など、いろいろな作業をしてくださった主催kanasanに感謝

    [event][javascript] Kanasan.JS (別名:prototype.jsのソースにツッコミを入れるオフ) に参加してきました - Greenbear Diary (2007-11-03)
    nitoyon
    nitoyon 2007/11/04
    Kanasan.JSまとめ。すばらしい。
  • わずか565バイトテトリスのプログラミング解説

    「往年の名作「スーパーマリオブラザーズ」、あの濃い内容でわずか40キロバイト」に載っていたわずか565バイトのテトリス。文字数にして551文字。79文字*7行のプログラミングで、テトリスが動きます。 以下のソースコードをメモ帳に貼り付けて、htmlで保存すればテトリスが動きます。 <body onKeyDown=K=event.keyCode><script>X=[Z=[B=A=12]];h=e=K=t=P=0;function Y() {C=[d=K-38];c=0;for(i=4;i--*K;K-13?c+=!Z[h+p+d]:c-=!Z[h+(C[i]=p*A-Math.round(p/ A)*145)])p=B[i];!t|c+4?c-4?0:h+=d:B=C;for(f=K=i=0;i<4;f+=Z[A+p])X[p=h+B[i++]]=1 if(e=!e){if(f|B){fo

    わずか565バイトテトリスのプログラミング解説
    nitoyon
    nitoyon 2007/11/04
    2chログまとめ。
  • ソート高速化を試みる: Days on the Moon

    JavaScript の Array#sort は、比較関数を渡さない場合、各要素は文字列として比較され、並び替えられます。これに関して、IE などで用いられている JScript では、文字列化を一度しか行わず結果をキャッシュしている、すなわち内部的にシュワルツ変換 (Schwartzian transform) を行っているようで、配列要素の toString メソッドを適宜調整することによりソートを高速化できるというのが IT 戦記で触れられていました。 これはつまり、通常次のようにするところを、 // 比較関数 function C(order) { this.order = order; } array.sort(function (a, b) { return a.order - b.order; }); 次のようにすると JScript で高速化が図れるというものです。 //

    nitoyon
    nitoyon 2007/10/31
    String として Array につっこんでソートの高速化を図る。トータルでは遅くなってしまった失敗例。/メモ: amachang版もIE専用な点に注意。
  • ECMAScript 4 の Draft をざっくり読んでみた - てっく煮ブログ

    ECMAScript 第4版の最終ドラフトが公開された、というので、ざっくり読んでみた。PDF はこれ:http://www.ecmascript.org/es4/spec/overview.pdfこのドキュメントは Overview の最終ドラフト。このあと、Overview が固まって、そこから Specification が作られていくものと思われる。(追記) コメント欄で mal_blue さんから間違いを指摘や補足をしていただいてます。コメント欄もあわせてご覧ください。概要大まかな特徴はこんなところ。オブジェクト指向クラスとインターフェースがサポートされて、OOP なコーディングができるようになるよ。OOP なコーディング方法は ActionScript 3.0 と同じ(のはず)。 もちろん、ECMAScript 3 時代の手続き型な書き方も使える模様。厳密にも書けるnamesp

    nitoyon
    nitoyon 2007/10/30
    ちょろっとまとめるつもりが、超大作になってしまった。
  • 関西でJavaScriptの小さい勉強会を開くことになった (Kanasansoft Web Lab.)

    来は、プレイベントのようなものから始め、主催者も経験を積みながら大きくしていけたらなと考えていたが、みんな同じ気持ちなのかイベント開催の勢いである。しかし、経験不足は否めないし、急な開催なので時間もない。 読書会にした場合、今回のためにを購入する人が出てくると思う。読書会が失敗した場合、を購入した人に申し訳ない。とりあえず、準備期間のいらなさそうなCodeReadingにした。 CodeReadingなら主催者も参加者も痛手は少ない。それに、Codeを各々で持ち寄れば、費用は会場費とお菓子代位しか発生しない。 上記の通り、CodeReadingを甘く考えていたが、現実は違うのかもしれない。運の良い事に、ミラクル・リナックスのCTOである吉岡氏に直接お会いする機会があったので、CodeReadingについて少しお伺いした。要約すると、「JavaScriptのことはよくわからないけど、

    nitoyon
    nitoyon 2007/10/26
    行きたいけれども、東京満喫してそう。 2回目に期待。 → 行こうかな!
  • TechTarget - Global Network of Information Technology Websites and Contributors

    Looking for information about Informa TechTarget products and services? The commercial homepage has moved. Visit Informa TechTarget News 29 Jul 2025 / Patient satisfaction & experience U.S. News unveils this year's best hospitals quality rankings U.S. News has released its 2025-2026 Best Hospital Rankings, which the publication says is intended to help healthcare consumers learn more about their p

    TechTarget - Global Network of Information Technology Websites and Contributors
    nitoyon
    nitoyon 2007/10/24
    IterableType、generic function(オーバーロード)、Parameterized types(テンプレート)、union、配列型指定([1,2,3]:[int])、is likeやwrapで型チェック、slicing("ecmascript"[5:2:-1]=="sam")、Map・Vector、Reflection、catch-all getter、toJSONString、演算子
  • ExportJS - ActionScript3 のオブジェクトを JavaScript にエキスポート - 2nd life (移転しました)

    ExportJS (ソース) 通常 flash では、コンパイル済みのオブジェクトの変数やプロパティは外部から弄ることが出来ず*1、パラメータの微調整を行うことや、現在プロパティにどんな値が設定されているかは解りません。ので Firefox の JavaScript から AS3 のオブジェクトを JavaScript にエキスポートして簡単に弄れる ExportJS というライブラリを作ってみました。現在は Firefox の JS 専用です。*2 なにはともあれまずは Demo を。 http://as3exportjs.googlecode.com/svn/trunk/demo/ExportJS_Example1.htm リアルタイムに TextField を変更したり、メインのオブジェクトを弄ったり、shape のパラメータを変えています。Firefox の setter/gett

    ExportJS - ActionScript3 のオブジェクトを JavaScript にエキスポート - 2nd life (移転しました)
    nitoyon
    nitoyon 2007/10/22
    FABridge使ったらもっといろいろできるのに。 プロパティいじってじゃなく、setHogehoge になっちゃうけど→コメントされたhttp://subtech.g.hatena.ne.jp/secondlife/20071022/1193012135 / (関連)http://subtech.g.hatena.ne.jp/secondlife/20071020/1192826863
  • CodeRepos に nobjdb.js 追加 - 最速チュパカブラ研究会

    http://coderepos.org/share/browser/lang/javascript/nobjdb CodeReposに「nobjdb.js」というファイルを追加しました。これは、「syobocalplus」のタイトル検索のルーチンを抜き出し、ライブラリ化したものです。 オブジェクトの集合の中から、文字列検索の結果によって部分集合を抜いてくる処理…… と言うとわかりにくいですが、要するに 購読しているフィードのリストの中をタイトルで検索する(例: LDR) タグクラウドの絞り込み検索(例: はてブ) などという処理です。これを素朴に実装すると for (var i in list) if (list[i].name.indexOf(keyword) >= 0) { // マッチ! } という感じですが、nobjdb.jsでは、ひとつの文字列にタイトルをすべて突っ込んで、 タ

    CodeRepos に nobjdb.js 追加 - 最速チュパカブラ研究会
    nitoyon
    nitoyon 2007/10/20
    テキスト検索を高速化。gyuque さんのJSネタ、おもしろい!
  • TypeNameでInterface名(もどき)を取得する<IE専用> - Yet Another Hackadelic

    はじめに VBScriptのTypeName()関数は変数はその変数がどんな型なのかを返してくれる関数です。 これはscript要素がtext/vbscriptならば使えるのですが、出来ればJavaScriptで使いたいって話です。 Microsoft API and Reference Catalog window.execScript()について 実はこんなメソッドがwindowオブジェクトにありました。 window.execScript(sExpression, sLanguage) こういう感じで使います。 Window - Web APIs | MDN VBScriptをJavaScriptで呼び出したり出来る こんな感じです。 if (window.execScript) { window.execScript('Function xTypeName(x): xTypeNam

    TypeNameでInterface名(もどき)を取得する<IE専用> - Yet Another Hackadelic
    nitoyon
    nitoyon 2007/10/20
    execScript で VBScript の TypeName 関数を呼ぶ。こんなことができたのかー。HTMLWindow2 とかを取得できる。
  • JavaScript第5版読書会#1

    モーニング営業 ~ココロもカラダも 満たされる朝~ たんばく質も野菜もたっぷり摂れて 一日を元気に過ごせる朝で 完璧な一日のスタートを。 お日にち限定で、モーニングを開催しております。 コトコトの朝ごはん> Take out おうちでべよう レストランクオリティをおうちで楽しめるコトコトのお持ち帰り(テイクアウト)。 レトルト仕様の真空パックなので、温めるだけで美味しくお召し上がりいただけます。 商品を見る はじまりは、癒しのスープから―。 千葉市中央区、蘇我駅・千葉寺駅近くにある「カラダをはぐくむレストラン コトコト」は、ココロもカラダも元気になれる一軒家レストランです。 毎日べても飽きの来ない優しい味わいをコンセプトに、大人も子どもも笑顔になれるヘルシーランチやカフェ、ディナーメニューをご用意しております。 また、思わず写真を撮りたくなるようなノンアルコールカクテルやちょっと珍

    JavaScript第5版読書会#1
    nitoyon
    nitoyon 2007/10/18
    関西でJS勉強会? なんかやるらしいよ。 via twitter
  • http://twitter.com/nanto_vi/statuses/340792162

    nitoyon
    nitoyon 2007/10/17
    3項演算子はまりネタ。混乱を防ぐには括弧つけるのが一番なんだろうけど、めんどくさい。
  • 「再帰→ループ」の変換が大変だった件 - IT戦記

    まず、ループは再帰で表現できる ループというのはすべて再帰呼び出しで表現できる。 たとえば、コレは var array = [1, 2, 3]; for (var i = 0; i < array.length; i ++) alert(array[i]); こんな感じになる (function f(array, i) { if (i < array.length) { alert(array[i]); return f(array, i+1); } })([1, 2, 3], 0); もし、 array がこの目的以外に使われないならコッチのがキレイかも (function f(array) { alert(array.shift()); if (array.length) return f(array); })([1, 2, 3]); ということは、再帰はループで表現できるはず という

    「再帰→ループ」の変換が大変だった件 - IT戦記
    nitoyon
    nitoyon 2007/10/16
    pushをunshiftにして、firstChildとnextSiblingを入れ替えると、幅優先探索になりますね! / stack.pop() の前に if (!stack.length) break; をすべきかと。
  • IEの気持ち - 最速チュパカブラ研究会

    amachang史上最多のブクマ数をマークした例のwindow.documentの高速化に関して、便乗してちょっと書いてみようと思います。 基礎知識 ブクマコメントで 2007年10月11日 b:id:staki vbやった事ある人なら自然に沸く発想だったりする。理屈も同じなんじゃなかろうかと妄想。五倍ってのは中々無かったけど。 * と指摘されているのは、たぶんCOMまわりの事だと思います。御存知のように、Windowsはシステム内のあらゆる部品をCOM(Component Object Model)オブジェクトとして実装しており、IE内のxxElementやDocument、Window、そしてIE自身もCOMです。 で、javascriptでよくやる window.document という操作も、(amachangのテクニックを使っていない場合は)COMを通して行うことになります。この

    nitoyon
    nitoyon 2007/10/13
    JSのコードを頭の中でIDispatch::Invokeを使うC++。COMのコードに展開すればIEの気持ちが分かる。
  • Prototype ユーザが 10 分で jQuery を使い出すスレ - ヽ( ・∀・)ノくまくまー(2007-10-07)

    ● [jQuery] Prototype ユーザが 10 分で jQuery を使い出すスレ さぁ、今夜もはじまりました、熊井ちゃん王国。それでは早速、熊井ちゃんに伝えたい jQuery の魅力 RANKIN Q! 渋谷の女性300人に聞いた jQuery の好きな所 TOP 10 名前空間の汚染が最小 簡潔明瞭なメソッド名 CSS3 + XPath ちっくアクセス メソッドに対する閉包性 (メソッドチェイン) ● 1. 名前空間の汚染が最小 Prototype では、DOM要素のID指定には $()、CSSセレクタ指定には $$() といったように、多くの関数が global に定義されている。しかし、jQuery で定義された global 変数は $ のみであり、上記の要素指定はどちらも $() で記述できる。(※ CSS 表記なのでIDの場合は'#'が必要) 正確に言えば、jQue

    nitoyon
    nitoyon 2007/10/12
    jQuery のよさを解説。分かりよい。
  • The JavaScript Canvas Hyperbolic Tree

    The JavaScript (Canvas) Hyperbolic Browser Works in Firefox 1.5+, Safari and Opera 9.5 05/10/2008 IMPORTANT UPDATE: This library is now part of the JavaScript Information Visualization Toolkit. Changes will no longer be published on this page. What's a Hyperbolic Tree? A Hyperbolic Tree (HT) is a "focus+context" information visualization technique used to display large amount of inter-related

    nitoyon
    nitoyon 2007/10/11
    Hyperbolic Tree を Canvas に描画。Poincaré Disk model(http://en.wikipedia.org/wiki/Poincar%C3%A9_disc_model)にプロット。 via ajaxian
  • IT戦記 - 一行で IE の JavaScript を高速化する方法

    以下の一行をすべての JavaScript の前に読み込む /*@cc_on _d=document;eval('var document=_d')@*/ この一行を読み込むことによって IE での document へのアクセスが 5 倍速くなります。 たとえば 以下のように、読み込む前と読み込んだ後を比較してみます。 // Before var date = new Date; for (var i = 0; i < 100000; i++) document; alert(new Date - date); // 643 /*@cc_on _d=document;eval('var document=_d')@*/ // After date = new Date; for (var i = 0; i < 100000; i++) document; alert(new Date -

    IT戦記 - 一行で IE の JavaScript を高速化する方法
    nitoyon
    nitoyon 2007/10/10
    var doc=document;高速化テクを既存の資産を生かしたまま利用する。/誰かがdiggってamachangが世界にはばたく可能性を感じるエントリ。 → danさんが紹介した・・・はてさて・・・海外の反応やいかに。
  • SWFObject v2.0 ドキュメント日本語訳 : Media Technology Labs (MTL) : メディアテクノロジーラボ ブログ

    Ringとは、リクルートグループ会社従業員を対象にした新規事業提案制度です。 『ゼクシィ』『R25』『スタディサプリ』など数多くの事業を生み出してきた新規事業制度は、 1982年に「RING」としてスタートし、1990年「New RING」と改定、そして2018年「Ring」にリニューアルしました。 リクルートグループの従業員は誰でも自由に参加することができ、 テーマはリクルートの既存領域に限らず、ありとあらゆる領域が対象です。 リクルートにとって、Ringとは「新しい価値の創造」というグループ経営理念を体現する場であり、 従業員が自分の意思で新規事業を提案・実現できる機会です。 Ringフロー その後の事業開発手法 Ringを通過した案件は、事業化を検討する権利を得て、事業開発を行います。 さまざまな事業開発の手法がありますが、例えば既存領域での事業開発の場合は、 担当事業会社内で予算や

    nitoyon
    nitoyon 2007/10/10
    SWFObject 2.0 使い方。日本語訳。
  • Loading...

    nitoyon
    nitoyon 2007/10/08
    JSMMLの実例。聴いてみた。すげーーーーー。JSMMLについてはhttp://d.hatena.ne.jp/secondlife/20071006/1191667910を。