タグ

JavaScriptに関するmas-higaのブックマーク (154)

  • new を不当に貶める陰謀と JavaScript におけるクラスの継承構造の話 - vivid memo

    私は陰謀論者じゃないですし JavaScript の new 演算子が大好きなわけでも大嫌いなわけでもないです。 念のため。 記事は Hiraku さんが書かれた下記記事への言及です。 newを封印して、JavaScriptでオブジェクト指向する(1) newを封印して、JavaScriptでオブジェクト指向する(2) newを封印するべき4つの理由 new 演算子は使うな!? 「newを封印するべき4つの理由」 でも new がいかに糞であるかが書かれていますし、その記事からも言及があるように Crockford さんが書かれた書籍 『JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス』 でも new 演算子は Bad Parts に分類されています。 new 演算子が忌避される理由はいろいろあるみたいですが、Hiraku さんの記事では n

    new を不当に貶める陰謀と JavaScript におけるクラスの継承構造の話 - vivid memo
  • ブラウザでJavaScriptが動く時代がやってきた! - 葉っぱ日記

    というわけで、昨日から話題沸騰の Javascript PC Emulator すごいですね。JavaScript で書かれた x86 PC エミュレータ上で Linux 動かして、入ってる tcc 使えばそこそこのソースもコンパイルして動いたり。 もとのディスク容量が少ないので、適当な母艦を用意して、こんな感じ で新しいディスクイメージ作って、CocProxy や Fiddler の AutoResponder を使って root.bin へのリクエストをローカルのファイルに差し替えてやれば、好きなファイルも入れられますね。 というわけで、SpiderMonkey を入れて動かしてみました。ブラウザ内でJavaScriptが動くなんてムネアツですね! 手順としては、コンパイルの簡単な SpiderMonkey 1.7 を x86 の32ビットマシンで -static 付きでビルドして、r

    ブラウザでJavaScriptが動く時代がやってきた! - 葉っぱ日記
    mas-higa
    mas-higa 2011/05/19
    不要な一時変数が
  • Effective JavaScriptをPDFにしました - renoivのブログ

    [twitter:@bleis]さんのつぶやきを見て,ここにあったのか!という驚きでした。 2003年頃の記事ですがJavaScript 1.5 (Mozilla 1) ベースなので,まだ参考になると思います。 Googleドキュメントに置きましたので必要な方はどうぞ! Effective JavaScript - Dynamic Scripting.pdf Powered by Google ドキュメント HTMLアーカイブGithubに置きましたので,こちらも必要な方はどうぞ。 https://github.com/renoiv/EffectiveJavaScript 参考 Effective JavaScript - Dynamic Scripting Wikipedia JavaScript バージョンとブラウザの対応表

    Effective JavaScriptをPDFにしました - renoivのブログ
  • Google ChromeのJavaScriptデバッガの進化がすごい - os0x.blog

    Chrome版のFirebugことGoogle Chrome Developer Toolsですが、以前gihyoで解説したときよりさらに便利になっているので、少し紹介します(元はWebKitなので、そのうち(近いうちに)Safariでもそれなりに使えるようになるはずです)。 圧縮されたコードの整形 まず、目立つところからいきましょう。ちょうど先日更新されたChromeのdev版(12.0.742.0)に搭載されたばかりの機能で、minifyされているJavaScriptコードを読みやすいように整形して表示してくれるというものです(IE9の開発者ツールにも実装されている機能です)。 例えば、Google Analyticsのコードは圧縮されていて普通は読めません。 しかし、Chromeのデベロッパーツールなら、 このように整形してくれます。 やり方は簡単で、デベロッパーツールのScript

    Google ChromeのJavaScriptデバッガの進化がすごい - os0x.blog
  • FirefoxのJavaScriptデバッガ拡張Firebugの進化がすごい

    Firefoxのデバッグ拡張ことFirebugですが、Firefox4よりFirebugとは別にWeb Consoleという機能が入りました。 しかし、Firebug自体もさらに便利になっているので、少し紹介します。(Firebug1.7 –1.8 の範囲で) 現在のFirefox4に正式対応しているのはFirebug1.7xで、Firebug1.8xはAlpha版として公開されているのでまだ不安定な部分もあることに注意して下さい。 特に注意書きしてない部分はFirebug1.7の項目だと思って大丈夫だと思います コマンドラインに履歴ボタン コンソールパネルでのコマンドエディタ(でかい方のコマンドライン)にHistoryボタンが新たに追加されました。 過去に実行したコマンドをポップアップから選択して挿入することができます。(以前はCtrl+ZでUndoし続ける必要があった) コマンドライン

    FirefoxのJavaScriptデバッガ拡張Firebugの進化がすごい
  • 即時関数(function(){ ... })()の別の書き方いろいろ - 泥のように

    JavaScriptでよく使われるコード片に即時関数というものがあります。無名関数を宣言して即実行することで、ブロックスコープの存在しないJavaScriptにおいて擬似的にブロックスコープを再現します。 var a = "global"; (function(){ var a = "local"; alert(a); //local })(); alert(a); //global 一番有名なのはこの(function(){ ... })()の形式なのですが、なぜfunctionの外側にカッコが必要なのか不思議に思ったことはないでしょうか? ためしにfunction(){ ... }()と書いてみると、Syntax Errorが発生します。 なぜfunction(){ ... }()はSyntax Errorなのか JavaScriptにはfunction文とfunction式があって、

    即時関数(function(){ ... })()の別の書き方いろいろ - 泥のように
  • PowをSinatraアプリで使う - アインシュタインの電話番号

    先日37signalsが公開したMac OS X専用の開発環境用RackサーバーPowについて、この記事の導入解説がわかりやすかったので自分もインストールして使ってみた。自分の場合、主にSinatraを使うので、Sinatraでサンプルを作って複数のアプリを同時に動かしてみた。 nvmのインストール Powを使用するにはNode.jsが必要になるので、Rubyで言うところのrvmに相当するバージョン管理ツールnvmを使ってNode.jsをインストールする。nvmのインストール方法はこちらの記事を参考にした。 $ git clone git://github.com/creationix/nvm.git ~/.node $ . ~/.node/nvm.sh $ nvm install v0.4.5 $ nvm use v0.4.5 $ node -v .bashrcに以下の一行を追加して、b

    PowをSinatraアプリで使う - アインシュタインの電話番号
    mas-higa
    mas-higa 2011/04/21
    nvm ってのがあるのか
  • URLバーの中のゲーム - karasuyamatenguの日記

    HTML5のヒストリAPIでブラウザ内のJavaScriptがURLを変更できるように。これをデモするためにURLバー内でプレイできるゲームを作った奴がいる http://probablyinteractive.com/url-hunter# このURLを開けてescを押すとゲームが開始される。「O」がプレイヤーで「a」が「動物」。 アローで左右に移動し、「a」と重なったところでスペースを押すとOが動物をったことになって得点になる。一次元のパックマンのようなゲーム。ただそれだけなんだが、ハマる。

    URLバーの中のゲーム - karasuyamatenguの日記
    mas-higa
    mas-higa 2011/04/20
    あとでやる
  • ベターJavaScript!? CoffeeScriptが注目されるワケ:Rails Hub情報局:エンジニアライフ

    JavaScriptへコンパイルして実行することを前提としたスクリプト言語「CoffeeScript」がちょっとした注目を集めています。CoffeeScript自体は2009年末に登場し、その1年後の2010年12月にバージョン1.0がリリースされていますが、注目を集めたのは、数日前(2011年4月13日)にRuby on Railsの生みの親であるDHHが、次期バージョンのRails3.1でjQueryやSCSSと合わせて、CoffeeScriptをデフォルトとして採用するとTwitter上で発言して議論が巻き起こったからです。 Yes, it's true, Rails 3.1 is going to ship with CoffeeScript and SCSS in the box for use with the new asset pipeline. It's bad ass.

    ベターJavaScript!? CoffeeScriptが注目されるワケ:Rails Hub情報局:エンジニアライフ
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • 伊藤内科医院

    大分市大石町4丁目1組の2 / 097-543-1100 月・火・金: 8:30~11:45 / 13:30~16:45 水: 8:30~11:45 / 13:30~14:45 木・土: 8:30~11:45 / 午後休診 休診日: 日曜・祭日・木曜午後・土曜午後

    mas-higa
    mas-higa 2011/03/26
    ネタに全力! 手段のためには目的を選ばない。
  • Rails開発者ら、JavaScriptフレームワーク「Cinco」を発表:Rails Hub情報局:エンジニアライフ

    Ruby on Railsの生みの親、DHH(David Heinemeier Hansson)らが、モバイル向けのフレームワーク「Cinco」(シンコ)を間もなくオープンソースで公開する模様です(思わせぶりなブログエントリ)。以下は、37signalsのCincoを使った最初のモバイルアプリ「Basecamp Mobile」のデモ映像です。 Cinco自体はまだソースコードが公表されていません。準備が整うまでに数カ月かかるだろと言っています。Cincoはモバイル向けフレームワークで、「基的には単一ページのJavaScriptアプリを扱うためのRailsだ」と説明されています。対応するプラットフォームは、 iPhone 3GS iPhone 4 iPad Motorola Droid X Motorola Droid 2 Samsung Galaxy S HTC Incredible H

    Rails開発者ら、JavaScriptフレームワーク「Cinco」を発表:Rails Hub情報局:エンジニアライフ
    mas-higa
    mas-higa 2011/02/23
    無意識に chin... とタイプしてしまう。
  • 初めてのnode.js - 葉っぱ日記

    みなさんこんにちは (´・ω・`) 元気ですか?僕は元気です…。 さて、node.js 流行ってますね!使ってますか? 僕も2日前から使い始めました。 とりあえず、教科書どおり書いたら、簡単にWebサーバ動きましたのでちょっと感動です! とりあえず、以下のコードを httpd.js として保存して(長いので途中で省略。完全版は http://utf-8.jp/joke/httpd.js にあります)… (+<span data-unlink>)[(</span>[(!<span data-unlink>+</span>)[+<span data-unlink>]+([!</span>]+<span data-unlink>[</span>])[+!+<span data-unlink>+[+</span>]]+(!<span data-unlink>+</span>)[!+<span da

    初めてのnode.js - 葉っぱ日記
  • JavaScriptのテストについて本気出して考えてみた(2) - 愛と勇気と缶ビール

    前回からの続きで。 DOMエミュレーションの戦略 一方で、物のブラウザを使わずに何らかのJavaScript実行環境でDOMをエミュレートして、その上でテストを走らせよう、という戦略もある。 この分野の大御所はEnv.js(http://www.envjs.com/)ということになっているのだけど、Env.jsのイヤンなところは導入がめんどくさい所である。何がめんどくさいって、antでビルドしなくちゃいけない。テストのためにどの程度の環境構築コストをかけられるかは状況において違うだろうが、例えばJSをメインでやっているエンジニアが「ちょっとテスト環境整えたい」っていう時にantから入れて頑張るだろうか?Javaの経験や、こういうビルドツールの導入/利用の流れに慣れている人だと全然問題ないレベルなんだけど。 というわけで、Env.jsは結構力を入れて開発されたものではあるのだろうけど、僕に

    JavaScriptのテストについて本気出して考えてみた(2) - 愛と勇気と缶ビール
  • 人の話を聞かない人の V8 エンジン。 V8 を C++ に組み込んで遊ぼう - お前の血は何色だ!! 4

    C++ Advent Calendar です。 google の V8 engine を 組み込んで簡易スクリプトにしてしまおうという話です。 C++の言語仕様や boost の話は超絶詳しい人たちがされているので、誰もやらなそうな ぬるいいい加減な話をします。 #間違ってたら突っ込みよろしく!! なぜ V8? Lua ぢゃだめなんですか? C++ から呼び出しやすい 組み込み言語として、 Luaがあります。 しかし、 Luaはコメントが -- から始まったり、 〜end と、 C / C++ に組み込みやすいスクリプト言語なのになぜか pascal チックな文法?という不思議なところがあります。 やはり、 C++ ユーザとしてはコメントは // で書きたいし、ブロックは { } でやりたいですよね (y/Yes) そんなところに、 google の V8 engine があります。 C+

    人の話を聞かない人の V8 エンジン。 V8 を C++ に組み込んで遊ぼう - お前の血は何色だ!! 4
  • JavaScriptのデバッグTips - os0x.blog

    JavaScript Advent Calendar 2010 8日目担当のid:os0xです。 JavaScriptネタは案外範囲が広くて色んなネタがあるので、毎回が楽しみですね。 さて、私はデバッグをネタにしたいと思います。テストではなくデバッグです。誰かが書いたコードをメンテナンスしなきゃー、とか。jQueryプラグイン導入しようとしたけど、なんかうまく動かないーみたいなケースのおはなしです。 JavaScriptのデバッグは大変なので、多くの方が日々苦労されていると思います。なぜJavaScriptのデバッグが大変なのか少し整理してみましょう。 ブラウザ依存 まず、なんといってもJavaScriptはウェブブラウザ上で実行されるので、環境が一定ではありません。特定の環境だけを対象にJavaScriptを書くことは滅多にありません。PC向けではIE、Firefox、Chrome、Sa

    JavaScriptのデバッグTips - os0x.blog
  • 記号だけのJavaScriptプログラミングの基本原理 - Articles Advent Calendar 2010 Sym

    こんにちは。プログラマ定年を迎えたのであとは悠々自適に日々過ごそうと思ってるはせがわです。 JavaScriptで記号プログラミングを行う基的な取り組を説明します。 jjencodeなどで使っているテクニックです。 まず最初は数字の作り方。 +[] // 空の配列にプラス演算子で数値の 0 ~[] // 空の配列にビット反転で -1 ~{} // 空のオブジェクトにビット反転で -1 -~[] // 空の配列にビット反転で-1、-1に単項マイナスで +1 -~-~[] // +1 にビット反転で -2、-2 に単項マイナスで +2 このように、空の配列や空のオブジェクトに数値用の演算子を適用することで、任意の数値を記号だけで生成することができます。 次に文字の作り方。 ![] // 空の配列に論理否定で false !![] // 空の配列に論理否定を2回で true (![]+"")

    記号だけのJavaScriptプログラミングの基本原理 - Articles Advent Calendar 2010 Sym
  • JavaScript Advent Calendar 2010 三日目 インターネットチャンネル (Kanasansoft Web Lab.)

    2010年12月1日から25日まで、毎日違う人が JavaScript にまつわるブログ記事を書く企画です。 参加表明した順番が日付(12月◯日)となります。 今年の始めにFirefoxが加速度センサに対応し、iOS4.2.1でSafariがジャイロスコープセンサや加速度センサに対応しました。 そして、KinectがHackされChromeのExtensionからも使えるようになりました。 このようなセンサをブラウザから利用できるようになったのは、今年になってからとお思いの方もいらっしゃるかもしれませんが、もっと前から似たようなものがあります。 それは、インターネットチャンネルです。 インターネットチャンネルとは、Wii用のウェブブラウザです。 「Wiiショッピングチャンネル」からWiiチャンネルの形式でダウンロードできます。 ベータ版公開当時は無料、正式版に以降するときに500Wiiポイ

  • サイボウズで学んだこと - IT戦記

    はじめに 2010 年 9 月 15 日を持ちまして、サイボウズ・ラボを退職いたしたました。 報告も兼ねて、久しぶりにブログを書いてみたいと思います。 (写真はゆうすけべーさんです) この会社に入って、たくさんの学びと思い出がありました。 その一つ一つをまとめていければ、素晴らしい記事になるのかもしれませんが、僕は文章が苦手です。 ですので、うまく退職のエントリを書き上げることができません。 言葉にできない。そんな感じです。 なので、このエントリはサイボウズ・ラボやサイボウズ社の仲間たちへのありがとうの気持ちをこめて、自分らしく最後まで JavaScript のことを書きたいと思います。 サイボウズでの最後の仕事 僕にとって、サイボウズでの最後の仕事は「JavaScript で新しいユーザーインタフェースを作ること」でした。 そして、その中で始めて複数人による大規模な JavaScrip

    サイボウズで学んだこと - IT戦記
    mas-higa
    mas-higa 2010/09/17
    最後の写真で男坂を思い出した。
  • フォントサイズを変える「大・中・小」ボタンを実装する方法

    知り合いのデザイナーさんに、「大・中・小」のボタンでフォントサイズを変更する方法ってどうやるのですか?という質問をいただきました。 CSSJavaScript(場合によってはJSのみ)で簡単にできてしまうので、サンプルをご紹介しておきます。 フォントサイズを変える「大・中・小」ボタン実装 jQueryを使ってフォントサイズを変える「大・中・小」ボタンをサクサクっと実装してみようと思います。 まずは仕様を考えてみましょう。 仕様 ・大・中・小のボタンをクリックするとフォントサイズが変更される ・それぞれのボタンにIDをセットしておき、そのID名をもとにclassをセット ・CSSにあらかじめ各class用のフォントサイズを入れておく ・再度訪れたとき、クッキー情報があればそのサイズ、なければ中サイズを。 スタイルシートごと変更する方法もあるのですが、今回はCSSとclassでセットで対応し

    フォントサイズを変える「大・中・小」ボタンを実装する方法
    mas-higa
    mas-higa 2010/05/21
    フォントサイズを変えるボタンがあるようなページは嫌い