javascriptに関するsDaigoのブックマーク (16)

  • debug-assert-RequireJS-moduleなるものを作りますた - monjudoh’s diary

    GitHub - monjudoh/debug-assert-RequireJS-module: RequireJS module for debugging and assertion. これは何かと言うとRequireJS moduleについて - 文殊堂で説明したRequireJSのmoduleで、 debug支援用のものです。 debug log出力の基的な使い方 RequireJSのmoduleなので以下のように読み込んでやります。 callbackにdebug関数が渡されてくるのでこいつで適当にdebug printしましょう。 require(['debug'],function(debug){ debug('hogehoge'); }); define(['debug'],function(debug){ debug('fugafuga'); }); consoleがない

    debug-assert-RequireJS-moduleなるものを作りますた - monjudoh’s diary
  • RequireJS moduleについて - monjudoh’s diary

    RequireJSって何? 公式サイト RequireJS スライド jQueryRequireJS.pdf語記事だとこの辺? http://zudolab.net/blog/?p=451 要はJavaScriptの依存性解決をしてくれるライブラリで、こんな感じで使えます。 require( [ 'lib/a' ,'lib/b' ,'lib/c' ], function(){ // lib/a.js,lib/b.js,lib/c.jsが読み込まれていることが保証されているcallback require( [ 'lib/d' // lib/a.jsに依存しているライブラリ ,'lib/f'// lib/b.jsに依存しているライブラリ ], function(){ // lib/a.js,lib/b.js,lib/c.js,lib/d.js,lib/e.jsが読み込まれていることが保

    RequireJS moduleについて - monjudoh’s diary
  • applyとcallの使い方を丁寧に説明してみる - あと味

    JavaScriptに、applyとcallというメソッドが用意されていますが、自分なりにapplyとcallの丁寧に説明をしてみようと思ってこのエントリーを書くなどをしてみます。 applyとcallは非常に似たメソッドなので、まずはcallから説明します。 callメソッドとは? callメソッドは以下のように呼び出します。 methodA.call(thisArg, [, arg1 [, arg2, ...]]); methodAには任意の関数(メソッド)を指定します。 callの引数は第一引数にmethodAのthisとしたいオブジェクトを指定して、第二引数以降はmethodAに渡したい引数があれば、カンマ区切りでそれぞれ指定します。 callメソッドは、すべての関数が共通して持っているメソッドです。すべての関数はFunctionクラスのオブジェクトで、callはFunction.

    applyとcallの使い方を丁寧に説明してみる - あと味
  • Secrets of the JavaScript Ninja 3章を読んで来た - Output::Weblog

    先々週からd:id:cheesepieさんと読み始めたJavaScript Ninjaですが, 週1ペースで読もうという事で今回は3章 Functionsです. 匿名関数(無名関数)の話 jsは関数型言語らしい.schemeというlispの仲間からたくさんインスピレーション受けてる. 匿名関数を理解することはきれいなコードを書いたり再利用可能なコードを書く事につながるよ! というようなことが書いてありました. 再帰の話 ここの例は割と普通の再帰でした. 知らなかったのはarguments.calleeというものですね. これは実行中のオブジェクトそれ自身を表すものだそうです. 親オブジェクトが変更になっても,arguments.calleeを使っておけば, 変更無しで動作するのでメンテ性が良いです. あとは匿名関数に名前が付けられるのも知りませんでした^^; 再帰の時に便利ですね! オブジ

    Secrets of the JavaScript Ninja 3章を読んで来た - Output::Weblog
    sDaigo
    sDaigo 2010/05/12
    JavaScript Ninja
  • BPStudy#32でChrome拡張とECMAScript5についてお話してきました - os0x.blog

    若手IT勉強会 : ATND(次回25日)繋がりのid:monjudohに誘われて株式会社ビープラウドさん主催のBPStudy#32 : ATNDChrome拡張についてお話してきました。 資料はこちらChrome Extension with ECMAScript またこの資料か、という声が聞こえてきそうですが、http://ss-o.net/chrome/extension/ecma.html#yet-another-greasemonkeyあたりから今回用の新しい内容になっています。 と、このyet another greasemonkeyについては書き始めると長くなるので、近いうちに改めて記事を書きます。現状とりあえず動くレベル(AutoPagerizeがなんとか動くくらい)にはなってるけど、あちこちボロボロな状態です…。 そしてhttp://ss-o.net/chrome/ex

    BPStudy#32でChrome拡張とECMAScript5についてお話してきました - os0x.blog
  • JavaScriptでLispのような再帰的なリストを作るlist関数を作ってみた - あと味

    Lispの勉強をする際に、まだLisp慣れを全然してないので、JavaScriptで書くとどうだろう?ということを考えることが多々あります。 その勉強方法の良し悪しは置いといて、JavaScriptでLispのサンプルプログラムを書いてみようと思った場合、一番ネックなのが、JavaScriptとLispでは、リストの考え方がそもそも違うことかなと思いました。 Lispで(1 2 3)というリストを作る時には、以下のようなコードで作ります。*1 (cons 1 (cons 2 (cons 3 '()))) consは第一引数と第二引数から成るセルを作る関数です。 単純に(cons 1 2)というコードをJavaScriptの配列リテラル表記で表すと[1,2]となるでしょうか。 そうすると、先程作りたかった(1 2 3)というリストを作るための上記のコードをJavaScriptの配列リテラル表

    JavaScriptでLispのような再帰的なリストを作るlist関数を作ってみた - あと味
  • Closure Library を使うべき 10 の理由 - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 先週 Closure Library で構築したドローウィジェット Closure Draw を公開しましたが、はてぶ数などを見る限りさほど多くの反響はなかったようです。まあ、機能が中途半端だったり作りが甘かったりというところが大きいのは間違いありませんが、 Closure Library 自体がまだメジャーではないのもあるのかな、とも思います。実際、ぐぐってもフ

  • Server-side JavaScript と CommonJS - hagino3000's blog

    Python Hack-a-thon #3でLTした時の資料をslide shareにupしました。Google App EngineでServer-side JSやれるよ、といった内容なのですがスライドの内容が殆ど無いのと、CommonJSとかその辺の説明をおもいっきり省略したので、少し補足。 Google App Engine で初めるServerSide JavaScriptView more presentations from hagino 3000. 発表した通りに、nitroというフレームワークを使ってGAE上でjsを動作させようとすると次の知識が前提になってきます。 Rhino CommonJS Narwhal jack nitro 以下、それぞれについて簡単な説明を。 Rhino JavaScriptJava実装。ServletからRhinoを呼んでJavaScript

    Server-side JavaScript と CommonJS - hagino3000's blog
    sDaigo
    sDaigo 2010/02/07
    Server-side JS
  • uupaa.js 基礎知識なんちゃってマスター - latest log

    uupaa.js 0.7 の概要を、1分でざざーっと分かるように書きました。 これ自体10分で書いてるので、ノープラン・ノーチェックでお届けします。 uupaa.js のビルド uupaa.js というファイルはありません。 必要な機能を組み合わせ、ユーザがビルドして作ります。 ビルドコマンド ビルド方法を説明したスライド: http://handsout.jp/slide/1909 b.php がビルドコマンドになります(要PHP)。パッケージ名のほかに、-m -y -g -j などのオプションを指定できます。 build/b.php パッケージ名 -m -m, -y, -g は MS, Yahoo, Google 製のコンパイラで Minify します。 -j はコメントの削除とファイルの結合だけを行います。 ビルドに成功すると、 uupaa.js と build/mini.パッケージ

    uupaa.js 基礎知識なんちゃってマスター - latest log
  • JavaScript基礎文法最速マスター - gifnksmの雑多なメモ

    続々と増え続ける基礎文法最速マスターシリーズ(あまりにも増えてきたので他の言語記事へのリンクは別の記事に移しました)。 JavaScript 版は誰も書いていなかったようなので書いてみます。こういう解説記事的なものを書くのは初めてなので変なところがあったら指摘して頂けるとありがたいです。 JavaScriptの基礎概念についての解説はこちら:JavaScript概念最速マスター - TechTalkManiacs 1/31 23:58追記 コメント欄のos0xさんのご指摘を基に一部追記・修正を行いました。 2/2 2:52追記 switch文・正規表現・例外処理について追加しました。 2/2 6:44追記 コメントでfavrilさんにご指摘頂いた点(typo & コメント・サンプル追加)を修正・加筆しました。 2/2 7:15追記 トラックバックでLiosKさんにご指摘頂いた点(cal

    JavaScript基礎文法最速マスター - gifnksmの雑多なメモ
  • Closure Library で作る簡易ドローツール(Python Hack-a-thon #3 資料) - WebOS Goodies

    今週末の土曜日に開催される Python Hack-a-thon #3 にて、 JavaScript ハンズオンを担当させていただくことになりました。 Python Hack-a-thon でなぜ JavaScript という感じですが、そのあたりが日Python コミュニティーのおおらかさということでしょうか(笑)。 問題はその題材ですが、以前から気になっていた Closure Library を使って簡単なドローツールを作ることにしました。これなら見た目にも楽しいし、 Closure Library は日常業務でも役に立つでしょう。 そんなわけで、日はそのテキスト作りも兼ねて Closure Library の使い方をご紹介します。 Closure Library とは Closure Library は、 Google が開発しているオープンソース (Apache Licen

    sDaigo
    sDaigo 2010/01/20
  • [JavaScript] 猿でもわかるクロージャ超入門 まとめ - DQNEO起業日記

    クロージャとは クロージャは、言葉で説明するのが大変難しい概念です。 あなたは、自転車の乗り方を、口だけで説明できるでしょうか? あなたは、螺旋(らせん)の形を、言葉だけで説明できるでしょうか? ずばり、できないでしょう。 しかし、自転車に乗ることはできますし、針金で螺旋の形を作ることはできるでしょう。 「クロージャ」もこれと同じです。 だから、Wikipediaのこんな解説を見ても落ち込まないでください。 クロージャ (クロージャー、Closure) は、プログラミング言語において引数以外の変数を実行時の環境ではなく、自身が定義された環境(静的スコープ)において解決する関数のことである。 理解できないですよね? 私もそうでした。 クロージャを既に知っている人にしか、この文章は理解できないでしょう。 クロージャを作るのは難しくない しかし、説明するのは難しくても、作るのは意外と簡単。それが

  • JavaScriptの勉強会資料を公開 - os0x.blog

    私が講師役をしている社内向けJavaScript勉強会の資料をまとめて公開しました。 実践JavaScript - 株式会社ALBERT 社内勉強会資料 1回目を書いてからだいぶ間が空いてしまいましたが、その分6回分をまとめて、インデックスや見た目等々を整理してあります。 コードのハイライトには google-code-prettify - syntax highlighting of code snippets in a web page - Google Project Hosting を使用してみたのですが、すごく重かったので出力結果を静的に使っています。 オススメ回は実践JavaScript - JavaScript特有の問題・クロスブラウザなど - 株式会社ALBERT 勉強会資料でしょうか。特にクロスブラウザなDOMサイズ取得は自分でも良く参照してます。 間違いなどありましたら

    JavaScriptの勉強会資料を公開 - os0x.blog
  • Python Hack-a-thon 第2回 jQuery plugin作成ハンズオン - monjudoh’s diary

    jQueryのハンズオンをやりますが全然準備していないので即興でやります。 jQueryを始める上であるとよいもの jQuery jQuery 開発環境 MacPCLinux 向け新高速ブラウザー | Firefox Firebug FireQuery is a Firebug extension for jQuery development FireQuery - jQueryを扱う際に便利なFirebug拡張 - - 文殊堂 https://addons.mozilla.org/en-US/firefox/addon/11905/ FirefinderはJavaScriptプログラマ以外も使うべき - 文殊堂 ドキュメント http://api.jquery.com/browser/ 下の方に"INSTALL NOW"とかあるのでクリックしてAdobe Air板をインスコしましょう

    Python Hack-a-thon 第2回 jQuery plugin作成ハンズオン - monjudoh’s diary
  • ハイテンションAjax入門 - 三等兵

    JSが少しできる人ならうじうじ考えるほどのこともでもない! 何も難しいことはない!ぶっとんぢまいなよ!ヒャッパー!!! というノリでAjaxを学んでみました。醜いです。 Ajax入門 Ajaxはいろいろできるんだぜ! 以上入門終り!キミは完璧だ!次いけ! Ajaxは非同期通信だかなんだかそんなもんはどうでもいいんだ! どうでもいい!そんなことよりもXMLHttpRequestオブジェクト生成! var request = false; if(window.XMLHttpRequest) { request = new XMLHttpRequest(); //frefox ie7,8 safai opera } else if(window.ActiveXObject) { try { request = new ActiveXObject("Msxml2.XMLHTTP"); // ie6

    ハイテンションAjax入門 - 三等兵
    sDaigo
    sDaigo 2009/11/18
    シリーズ化希望
  • 結構前から収集していた海外エントリから面白いcustom eventの使い方を紹介 - monjudoh’s diary

    jQueryでは非DOMオブジェクトにもeventをbind/triggerできる Binding Events To Non-DOM Objects With jQuery この例だとwindow.location.hrefが変化しているかどうかTimerで監視し続け、 変化したタイミングで$( window.location ).trigger('change',data);で変更前後の情報を通知している。 なので、$( window.location ).bind('change',function(ev,data){});で通知を受け取る事ができる。 hashで状態を管理しているAjaxアプリで有効そうなテクニック。 select boxでcustom eventを活用 http://trulyevil.com/2009/05/07/custom-events-in-jquery/

    結構前から収集していた海外エントリから面白いcustom eventの使い方を紹介 - monjudoh’s diary
  • 1