タグ

JavaScriptに関するHHRのブックマーク (404)

  • Node.jsとは何か、開発者ライアン・ダール氏が語る(前編)~ノンブロッキングとはどういうことか?

    いま注目されているサーバサイドJavaScriptの火付け役となったNode.js。その開発者であるライアン・ダール(Ryan Dahl)氏自身がNode.jsを紹介した講演「Introduction to Node.js with Ryan Dahl 」のビデオが公開されています。 この講演は、サンフランシスコのPHP開発者の集まりであるThe SF PHP Meetup Groupが2月にダール氏を招待して行われたもの。 そのため、Node.jsを知らないデベロッパーに向けて、Node.jsがどのような特徴を持つプログラミング言語なのか、分かりやすく解説しています。内容を紹介しましょう。 Node.jsとPHPとの質的な違いとは何か Node.jsを触ってみよう。今日は特にスライドは用意してなくて、タイプしてどんなものかを動かしながら紹介していくつもりだ(注:ダール氏はここで最初に「

    Node.jsとは何か、開発者ライアン・ダール氏が語る(前編)~ノンブロッキングとはどういうことか?
    HHR
    HHR 2012/01/12
    良い仕事をありがとう。ryanの公演の語訳(フルテキストっぽい)。とても素晴らしい。
  • naveでNode.jsのバージョン管理&イベントループ詳説

    naveでNode.jsのバージョン管理&イベントループ詳説:node.jsでサーバサイドJavaScript開発入門(2)(1/3 ページ) 前回のおわび 前回の「サーバサイドJavaScript命「node.js」の基礎知識」をご覧いただいた皆さま、はてなブックマークやTwitterなどでコメントをいただきました方々、ありがとうございます。話題の「Node.js」ということもあり、はてなブックマークも1000ユーザーを超えました。 私の力不足もあり、いろいろな方から指摘をいただいたので、今回は前回の補足と訂正をします。ご指摘いただきました皆さま、ありがとうございます。非常に勉強になります。 「nave」で簡単! Node.jsのバージョン管理 前回の記事で、Node.jsと「npm(node package manager)」のインストールを説明していますが、以下のような問題があり

    naveでNode.jsのバージョン管理&イベントループ詳説
    HHR
    HHR 2012/01/12
    2ページ目のイベントループの説明が前知識として良い感じ
  • サーバサイドJavaScriptの本命「node.js」の基礎知識

    稿では、Node.jsの特徴や動作原理に触れ、サンプルや役に立つパッケージ、活用事例などを紹介したいと思います。 主なサーバサイドJavaScript Node.jsに触れる前に、予備知識として他のサーバサイドJavaScriptにも触れておきます。Node.js含め、サーバサイドJavaScriptには、主に以下のようなプロジェクトがあります。 サーバサイドJavaScripの標準仕様「CommonJS」とは サーバサイドJavaScriptには、「CommonJS」と呼ばれる標準化が策定されています。標準化というと難しい感じがしますが、要はサーバサイドでJavaScriptを実行するのに何が必要かを仕様として、定義しているドキュメントのことです(例えば、「ログが必要だよね」など)。 Node.jsは、このCommonJSに則って開発されています。現段階であれば、CommonJSの仕様

    サーバサイドJavaScriptの本命「node.js」の基礎知識
    HHR
    HHR 2012/01/12
    読まないこと!誤解がいっぱい。ここのインストール方法はだめ。
  • node.jsとは何か(4) - I am bad at math

    さて、前回まで基礎部分をいろいろと説明したので今回からは実装について。現在のソースやその成り立ちを説明するのもいいんだろうけど、今日からはちょっぴりハンズオン形式に趣向を変えてみよう。ってことで node.js を作っていくよ! 実装編その一はJSエンジンであるV8にJavaScriptのソースをわせて実行する、つまりはオレオレJS環境を作るまでを扱うのだ。 V8はもともと他のソフトウェアに組み込まれて使用されることを想定(例えばChromeとかね)されているのでこういう作業が必要になる。 手順は大きくわけて二つ 1. まずはV8のソースを落としてきてV8のビルド 2. V8のソースディレクトリに自作のC++のソースを作ってコンパイル&実行 C++が出てきた時点で引いちゃったかもしれないけど、C++を使えるようになるのが今回の目的ではないのでまずはリラックス。C++っていったってそんなに

    node.jsとは何か(4) - I am bad at math
    HHR
    HHR 2012/01/08
    オレオレnode.jsを作るフェーズになった。node.jsで何か作りたいという目的だと読まなくていいもの
  • node.jsとは何か(3) - I am bad at math

    今日はnode.jsで採用しているCommonJSの話である。 CommonJSの説明だけだとあっという間に終わってしまうのでJavaScript歴史を混ぜ込んだら期せずして長くなってしまった。 さて、1995年に発表されたJavaScriptは開発当初「Mocha」と呼ばれ、次に「LiveScript」となり(実際Netscape Navigatorの2.0のアルファ版ではではこの名前だった)、最後にようやくJavaScriptになる(Navigatorの2.0B3から)という変遷をたどった。このJavaScriptという名前っていうのはJavaというコンパイル言語を補完するスクリプト言語にしたいという考えがあったからという話もあるんだけど、そのころ開発元のNetscapeはSunとの業務提携を発表しており、ちょうどそのころJavaが世に出てNetscapeブラウザ上でクールなJava

    node.jsとは何か(3) - I am bad at math
  • node.js とは何か (2) - I am bad at math

    昨日に引き続き、いざ!part2なのだ。 前回では node.js と v8 の結びつきまでを書いたので、今日は Non-Blocking I/O の話を。 Non-Blocking I/O という言葉からブロックしない I/O をイメージするのはたやすい。でもこれを実現しようとなるといろいろとまあ面倒くさいんだよね。 それを解決する常套手段で言うとファイルディスクリプタ(ネットワークならソケットだね)を開いてそれをselectシステムコールの監視対象に加えておき、selectを呼び出すことで監視するっていう方法がある。こうすると何が嬉しいのかファイルディスクリプタが2つある場合で考えてみよう。 まずAとBというファイルディスクリプタを監視対象とする。 selectシステムコールを呼び出し、そのどちらかが読み出し準備完了となっていないかを確認する。 もしどっちも準備できていなかったらプロセ

    node.js とは何か (2) - I am bad at math
  • node.js ハンズオン資料 — node.js hands-on v1.0 documentation

    node.js ハンズオン資料¶ このドキュメントは node.js をハンズオンを通じて学習するためにまとめた資料集です. プログラミングの基を知っている Unix コマンドの基を知っている JavaScriptの基を知っている ことを前提に、node.js 上で動作するプログラムの作成を通じて、node.js を学習していきます。 最新版 ソース オンライン log 2010/10/30 絶賛作成中. 非同期IOメソッドを使う まで完了. 入れてほしいコンテンツがあれば @yssk22 まで.

  • Node.jsがどうして注目されているのか、もしくはどうして他のサーバサイドJavaScriptはスルーされているのか - id:anatooのブログ

    サーバサイドJavaScriptにはNode.js以前にもいくつかの実装がある。ちょっと前に注目されかけたものだと、現在はAppcelerater社に買収されたAptana社が出していたJaxerなどがあるが、きちんと調べるとRingoJsやnarwhalやv8cgiなど選択肢の一つとして数えられるサーバサイドJavaScript実装がいくつかある。ただ、これらはNode.jsのように注目を浴びているわけではない。 Node.jsとこれらの既存のサーバサイドJavaScriptの違いは、他のサーバサイドJSの動作モデルが既存のサーバサイドのものと変わらないのに対して、Node.jsの場合はそうではないから。具体的には、HTTPコネクションのハンドリング戦略が違っていて、既存の動作モデルが1コネクションに対して1プロセス/スレッド消費するのに対して、Node.jsの場合は非同期I/Oを用いて

    Node.jsがどうして注目されているのか、もしくはどうして他のサーバサイドJavaScriptはスルーされているのか - id:anatooのブログ
  • JavaScriptでファイル操作!? File APIを使いこなそう

    連載目次 近年のWebアプリケーションでは、画像ファイルやテキスト・ファイル、Officeファイルのアップロードやダウンロードのやり取りが行われることが多くなってきている(例えば、Twitter上での画像ファイル共有やGoogleドキュメントでのOfficeファイルのアップロードなどがそれだ)。 HTML5では、ファイル操作に関するAPIとして「File API」が定義されたことで、ローカルのファイルをブラウザ上で直接、取り扱うことが可能となった。これによって、Webとローカルの違いをアプリケーションで意識しなければならない局面も少なくなる。 現在、File APIは以下の3種類の仕様が策定されている。

    JavaScriptでファイル操作!? File APIを使いこなそう
  • Ajax - Lightweight Languages を実行するAPI : 404 Blog Not Found

    2009年03月21日06:30 カテゴリLightweight Languages Ajax - Lightweight Languages を実行するAPI 今度はPerlだけではありません。 Perl だけではなく.... #!/usr/bin/perl warn time, "\n"; print ''.localtime; PHP も(誰だ、私がPHPを嫌いって言ってるのは:).... #!/usr/bin/php <?php echo date('r') ?> Python に... #!/usr/bin/python import datetime print datetime.datetime.now() Ruby に... #!/usr/bin/ruby puts Time.new Scheme (gauche) に... #!/usr/bin/gosh (use srf

    Ajax - Lightweight Languages を実行するAPI : 404 Blog Not Found
  • 「JavaScriptと性能についての本当の話」をしよう。ダグラス・クロックフォード氏

    JSONの発見者でJavScript界の重鎮であるYahoo!のダグラス・クロックフォード(Douglas Crockford)氏。米オライリーが主催するイベント「Velocity 2011」で、セッション「JavaScript & Metaperformance」を行いました。 いまWebブラウザ間でJavaScriptエンジンの性能競争が行われていますが、その影響とこの先の展望について語っています。JavaScriptプログラマなら必見の内容を、公開されたビデオを基に紹介しましょう。 JavaScript & Metaperformance これから、JavaScriptと性能についての当の話をしよう。 JavaScriptはみなさんご存じかな? いまや世界で最もポピュラーになったプログラミング言語だ。 JavaScriptは、Javaからシンタックスを、Schemeからファーストク

    「JavaScriptと性能についての本当の話」をしよう。ダグラス・クロックフォード氏
  • 並河岳史メモ: JavaScriptがネイティブアプリを飲み込む日

    2011年6月11日土曜日 JavaScriptがネイティブアプリを飲み込む日 2003年1月、某通信キャリア主催のiアプリコンテストで僕のチームが優勝した。 コンピュータサイエンス方面の大学四年生で、暗号技術関連の研究で修士課程に進むつもりだったけど、人間性や態度に問題があって、僕はラボを追放されていた。 就職活動は全くしてなくて、もうすぐ卒業という状況だったけど、コンテスト優勝実績のおかげで携帯コンテンツ業界にうまく潜り込めた。 その後、携帯端末上で動作するアプリをひたすら書きまくった。 2004年も2005年も、携帯JAVAアプリの仕事はたくさんあった。 も杓子もどのサイトにもアプリ、差別化するにはとりあえずアプリ、というぐらい業界がヒートアップしていた時期もあったと記憶している。 今ではどうなったかというと、フィーチャーフォン(ガラケー)の世界はHTMLとFLASHが

    HHR
    HHR 2011/09/23
    ネイティブアプリとウェブアプリの境界が曖昧になるだけじゃね?
  • Algorithm - 0と1を次々と返す簡単なお仕事 : 404 Blog Not Found

    2010年09月03日05:30 カテゴリLightweight LanguagesMath Algorithm - 0と1を次々と返す簡単なお仕事 ごもっとも。 0と1を次々返す方法 - a2c.get.diary TrueだったらFalseで、FalseだったらTrueにしたい。 なんかそんなことそこかしこで必要で、その為の便利なものが あるのかなぁと思ったんだけど無いぽい Closure 来は一番おすすめなのだが… JavaScript ()が煩わしいが、perlrubyよりは自然。 #!/usr/bin/js var flipflop = function(p){ p = !p; return function(){ return p = !p; }; }; var fl = flipflop(); console.log(fl()); console.log(fl()); c

    Algorithm - 0と1を次々と返す簡単なお仕事 : 404 Blog Not Found
    HHR
    HHR 2011/09/23
    フリップフロップ、flipflop
  • JavaScriptのDOM Core基礎 - 三等兵

    Coreの簡易リファレンス。Coreは要素を参照したり、相対位置から周りのノードを参照したり、要素を生成するといった部分。主に利用するであろうプロパティやメソッドはカバーしているつもりですけど、これも入れとけってのあったら教えてください。 このあたりは地味で使いづらくその上理解しにくいという残念な部分。ふと忘れたときに使う個人的なものですが、慢性jQuery拒絶症候群な人よかったらどうぞ。それにしても暑い。ガリガリ君おいしいね。 DOMとは。 Document Object Model (DOM) は、HTML および XML ドキュメントのための API です。これはドキュメントの構造的な表現を提供し、内容や表示形態の変更を可能にします。端的に言えば、Web ページをスクリプトやプログラミング言語とつなぐような機構です。 https://developer.mozilla.org/ja/

    JavaScriptのDOM Core基礎 - 三等兵
    HHR
    HHR 2011/09/23
    神。各ブラウザのdom api実装可否もある
  • JavascriptでGETリクエスト値を取得する - Archiva

    Make a note of it: Web tech, montaineering, and so on. Note: この記事は、3年以上前に書かれています。Webの進化は速い!情報の正確性は自己責任で判断してください。 JavascriptでGETリクエストパラメータを取得する方法。ポップアップ・ウィンドウに値を渡すとか、処理にワンクッション挟みたい場合に便利。 key1 = Script var qsParm = new Array(); function retrieveGETqs() { var query = window.location.search.substring(1); var parms = query.split('&'); for (var i=0; i<parms.length; i++) { var pos = parms[i].indexOf('=')

  • ページに仕込まれたJavaScriptのイベントを全部見える化出来るブックマークレット「Visual Event」:phpspot開発日誌

    画像スライダーに関することならお任せ!なjQueryプラグイン「Slider Kit... 次の記事 ≫:かなりいい感じのWordPressテーマ20 Allan Jardine | Reflections | Visual Event ページに仕込まれたJavaScriptのイベントを全部見える化出来るブックマークレット「Visual Event」。 JavaScript で開発していて、jQuery等の各種フレームワークや、on〜 を使ってイベントを埋め込むことは多いですね。 後になって、どこにイベントがあるのかをすぐ見える化し、どのような処理が記述されているのか、確認することのできるブックマークのご紹介です。 当サイトにはそれほどイベントが組み込まれていませんので、Yahoo! Japanのトップページで試してみます。 ブックマークレットを起動すると、グレーアウトされ、エレメントの上

  • JavaScript のデバッグ時にオブジェクトを調べるのに console.dir を使うと便利

    <script type="text/javascript"><!-- function print_r(obj) { var count_obj = 0; function _output(str) { document.writeln(str + "<br/>"); } function _print_r(obj, name, level) { var s = ""; if (obj == undefined || level > 4) return; for (var i = 0; i < level; i++) { s += " | "; } s += " - " + name + ":" + typeof(obj) + "=" + obj; _output(s); if (name == "document" || typeof(obj) != "object") return;

  • Create a new fiddle - JSFiddle

  • JavaScript: The Good Parts - prog*sig

    HHR
    HHR 2011/01/29
    JavaScript: The Good Parts
  • Chapter 4. Functions - prog*sig

    function expressions("関数式") and function declarations("関数宣言"). ■Background Functions(関数)はオブジェクト functionがオブジェクトであることは次のことからも見えると思います。 new Function()コンストラクタを使うことで関数オブジェクトを作成できるが、 これはeval的な感じ(Avoiding eval())なので避けるべきであるし、何より書きにくいです。 // antipattern // for demo purposes only var add = new Function('a, b', 'return a + b'); add(1, 2); // returns 3 もう一つ関数で重要なことはスコープを提供するということです。 JavaScriptはifやforなど