タグ

*javascriptに関するyamazakiccsのブックマーク (13)

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

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

    サイボウズで学んだこと - IT戦記
  • JavaScriptのメソッドコールの仕組みを深く理解する (参照型とは?) - 風と宇宙とプログラム

    はじめに JavaScriptでは関数もオブジェクトです。このことはよく理解されていると思います。関数とメソッドとの明確な違いはなく、どちらも関数オブジェクトである、というところまではよいのですが、関数コールとメソッドコールの違い、あるいはその仕組みは正確に理解されているでしょうか。先日、職場の後輩に問題を出したところ正確に答えられえなかったので、いまさら?と思われるかも知れませんが、関数コールの仕組みを解説します。 関数とメソッド JavaScriptでは関数とメソッドには質的な違いはありません。オブジェクトのプロパティとして定義される関数を便宜的にメソッドと呼んでいるだけです。parseInt()などのグローバル関数もグローバルオブジェクトのプロパティであり、関数の中でローカルに定義した関数も概念的にはActivation Objectのプロパティなので基的には全ての関数はメソッド

    JavaScriptのメソッドコールの仕組みを深く理解する (参照型とは?) - 風と宇宙とプログラム
  • JavaScriptでObserverパターン - チラシの裏です

    いわゆるイベントとか言われてる奴ですね、配列用意してそん中に関数入れたりすれば簡単に作れそうですがイベントの数だけ配列用意して登録解除のメソッド毎回用意するのとかめんどくさそうなのでそれを簡単にやるためのオブジェクト作ってみました。 var eventManager = function() { var eventMap = {}; var bind = function(name, handler) { if (typeof eventMap[name] === 'undefined') { eventMap[name] = []; } eventMap[name].push(handler); return this; }; var unbind = function(name, handler) { handlers = eventMap[name] || []; for (var

  • Google chromeによる 楽々htmlデバッグ css・javascriptなども - The Voyage of a neuromancer

    chromeにはfirefoxのfirebugのパクリみたいなのが標準装備されている。最近はIE8にも似たようなのが搭載されたり。 はてなのデザインの改良なんかに凄く重宝しているので、その使い方などを紹介。(もちろん普通のwebサイトでもOK) 改良したい部分(又はその近く)を右クリックして「要素を検証」を選択すると、こんな画面が表示される。Developer Tools。 左側のソースにカーソルを合わせると、要素ごとにブラウザ上のどこに対応しているかがグラフィカルに表示される。要素をクリックすると、右側には適用されているスタイルシートが分かりやすく表示され、ダブルクリックすると値を編集出来る様になっている。編集した内容は即座に反映される。"Metrics"をクリックすると、margin,border,padding,width,heightなどがいくつになっているか表示され、やはりダブル

    Google chromeによる 楽々htmlデバッグ css・javascriptなども - The Voyage of a neuromancer
  • JavaScriptパフォーマンス改善(2) document.getElementById()も遅い! - sarapapaブログ

    JavaScriptパフォーマンス改善(2) document.getElementById(要素ID)も、でら遅いじゃん! 【調査対象】 ブラウザ: IE,Firefox 遅いJavaScriptコード: document.getElementById(id) 改善速度: IEは数百倍(200〜2000倍以上),Firefoxは8倍程度 改善方法: 最初にすべての要素をキャッシュしておき、キャッシュから要素を取得する。 【Sample Code】 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head>

    JavaScriptパフォーマンス改善(2) document.getElementById()も遅い! - sarapapaブログ
  • JavaScriptのsetInterval関数の意味を正確に理解するための1つの説明 - 風と宇宙とプログラム

    ECMAScriptの言語仕様と組込関数の動作仕様は非常にきめ細かく規定されていますが、それに含まれていないJavaScriptの関数の仕様はどうもはっきりしないように思えます。そのためか、それを利用するコードも正確なものではないものが見受けられます。その1つがsetInterval関数。何をいまさら?という感じですが、ちょっとググッてみたところsetInterval関数を解説する記事は沢山見つかりますが、そのことについて注意している記事はほとんど見当たりません。 何のことかと言うと、setInterval関数は一定間隔で指定した関数を実行する、とだけ説明されていて、何が一定なの?ということについての説明が抜けているように思われます。例えば、もし、関数が一定間隔でコールされるなら、下のコードを実行した場合、duration=???はいくつと表示されるのが正しいのでしょうか? functio

    JavaScriptのsetInterval関数の意味を正確に理解するための1つの説明 - 風と宇宙とプログラム
  • FAQ形式によるJavaScriptの本質がわかる超入門 - 風と宇宙とプログラム

    はじめに JavaScriptは簡単な言語のようでいて、実は奥が深く、初心者にとってなかなかその質がわかりにくい言語です。ここでは、JavaScriptの言語的エッセンスを理解できるようなものをFAQ形式で書いてみました。ご意見や誤り等を指摘してもらえたら嬉しいです。 なお、JavaScriptの標準化であるECMAScriptは、今年末にEdition 5 がリリースされる予定です。このFAQは、現在のバージョンであるEdition 3をベースにしています。 ECMAScriptって何ですか? ECMAはEuropean Computer Manufacturer Association(欧州電子計算機工業会)の略で、標準化団体です。NetscapeのJavaScriptMicrosoftのJScriptをベースに、純粋なプログラム言語部分を抽出したものをECMAで標準化したスクリプ

    FAQ形式によるJavaScriptの本質がわかる超入門 - 風と宇宙とプログラム
  • データ & アナリティクス | アクセンチュア

    データ分析から導き出されたインサイト無しにAI人工知能)の活用は始まりません。私たちは、各業界知識とデータ・アナリティクス技術を駆使しデータドリブン経営を強力に支援します。 データ、アナリティクス、AIは企業にとって競合他社との差別化を図るかつてないほど大きな要因になっています。今日の経営幹部が効率を向上しながら新たな収益源を開拓し、新しいビジネスモデルをタイムリーに構築する方法を模索する中、価値を生み出し成長を続ける企業には「データ活用」という共通項があります。私たちは、無数のデータから企業にとって当に必要なデータを活用するための方法を知っています。 将来を見据えたオペレーション体制を備えている企業の半数以上(52%)は、すでにデータとアナリティクスを大規模に活用しています。データとAIに関する取り組みをビジネス戦略に沿って実施することで投資利益率を迅速に最大化し、最終的にはAIをビ

    データ & アナリティクス | アクセンチュア
  • amachang の 「一行で IE の JavaScript を高速化する方法」を掘り下げてみた - latest log

    2009-11-12 ナビ子記法について追記しました 文 今日は、amachangさんの記事 http://d.hatena.ne.jp/amachang/20071010/1192012056 を 1mm だけ掘り下げ、IE 以外のブラウザでも document へのアクセスを速くする方法がないか、色々試してみます。 # 記事自体はずいぶん前に書き上げてたけど、公開するの忘れてたんだな。 C系を追加しました。C系は「ネストしたスコープからグローバル変数にアクセスするとどうなるか?」がテーマです。 試したこと 以下は様々な方法で document へのアクセス速度を計測します。 A系では、非日常的な方法で測定し、B系では実際の用法に近い形で測定します。C系では何重にもネストしたスコープから、グローバル変数にアクセスするとどうなるかを測定します。 A系 A0 は、素の document に

    amachang の 「一行で IE の JavaScript を高速化する方法」を掘り下げてみた - latest log
  • JavaScript で幅に合わせて文字列を切りつめる - Psychs's blog

    デスクトップアプリを開発してると、ListView のカラム幅が足りなくなったときに「My Docume...」のように自動的に末尾を「...」で埋めて切りつめてくれる機能がある。ウェブでも同じことをやりたかったので、作ってみた。 まず、文字列の幅を測定するには、 <span id="ruler" style="visibility:hidden;position:absolute;"> </span> みたいな隠しエレメントを用意しておいて、 String.prototype.getExtent = function(ruler) { var e = $(ruler); var c; while (c = e.lastChild) e.removeChild(c); var text = e.appendChild(document.createTextNode(this)); var

    JavaScript で幅に合わせて文字列を切りつめる - Psychs's blog
  • JavaScriptのプロトタイプがやっとわかってきた(気がする) - wyukawa's diary

    JavaScriptのプロトタイプがやっとわかってきた(気がする)。混乱の原因は__proto__とprototypeがごっちゃになってたことだな。 newでオブジェクトを作った場合、 JavaScript における new 演算子の動作は大まかにいって以下のとおりである。(new F() とした場合。) 1. 新しいオブジェクトを作る。 2. 1 で作ったオブジェクトの [[Prototype]] 内部プロパティ (__proto__ プロパティ) に F.prototype の値を設定する。 * F.prototype の値がオブジェクトでないのなら代わりに Object.prototype の値を設定する。 3. F を呼び出す。このとき this の値は 1 で作ったオブジェクトとし、引数には new 演算子とともに使われた引数をそのまま用いる。 4. 3 の返り値がオブジェクトな

    JavaScriptのプロトタイプがやっとわかってきた(気がする) - wyukawa's diary
  • オブジェクト指向っぽい話が分かるかもしれないJavaScript講座 その2 | Takazudo Clipping*

    自分なんぞがオブジェクト指向とはなんぞと語るなんておこがましく、「オブジェクトっぽい話」でいいかなーと思っていたのですが、ブックマークするときに「オブジェクト」でタグ付けてる人がいたので、これはいかんと思い、こっそりタイトルを直しました。 2回目の今回は、複数のインスタンスをまとめて操作する方法について書きます。 まんじゅうマネージャー 前回、クラス作ってインスタンスを作ると便利だというところで終わりましたが、便利な点としてはまず、「複数のインスタンスをまとめて操作したり、作ったりできることができる」という点があります。どういうことかというと、とりあえず、以下のサンプルを見てみてください。 まんじゅうマネージャーサンプル まんじゅうを一気に作ったり、隠したりすることができます。 これで賞味期限が切れたりしても大丈夫なはずです。 この機能を作れと言われたら、前回の知識だけは結構厳しいのではな

  • JavaScriptのイロハ:特集 - builder by ZDNet Japan

    builder by ZDNet Japanをご愛読頂きありがとうございます。 builder by ZDNet Japanは2022年1月31日にサービスを終了いたします。 長らくのご愛読ありがとうございました。

  • 1