タグ

ブックマーク / amachang.hatenablog.com (34)

  • そろそろ、はてなスターについてちょこっといっとくか - IT戦記

    僕は はてなスター大好き! でも、メッセージの送信機能が Mac OSX + Firefox の環境を考慮してない>< 問題は Enter キーのイベントハンドリング。 Windows の IME は変換して決定するときの Enter キーのイベントを Firefox に渡さないんだけど、 Mac OSX の IME は変換して決定するときの Enter キーのイベントを Firefox にわたしちゃうんだよね>< だから、一回変換するごとに投稿されちゃって変な感じのメッセージになっちゃうんです。 これは、かなり難しい問題なんですけど、やっぱり form にして submit イベントに引っ掛けるのがいいと思います。 keydown ではどうしてもこの問題の解決は難しいと思うのです>< 追記: via:http://b.hatena.ne.jp/kazuhooku/20070719#boo

    そろそろ、はてなスターについてちょこっといっとくか - IT戦記
    hamasta
    hamasta 2007/07/19
    IT戦記の中の人が、はまちや記法を使い出した件 ><b
  • そろそろサイボウズ・ラボについて一言いっとくか - IT戦記

    入社しました。 よろしくお願いいたします。 抱負 新しくスタートするということで抱負を考えてみました。 遅刻しない 今まで以上の窮地を経験する ガイアックス入社時のがむしゃらっぷり 知識を盗む とにかく形を作って出すこと 初心を忘れない 執筆活動は控えめに ブログ書きまくる 新しい友達を年間 100 人は作る C/C++ をもう一回やってみたい 今、思いついたものを書いてみた。当に頑張っていきたい。 その他 名刺の肩書きは「IT戦士」にしてもらえそうなのでうれしいいいい!><

    そろそろサイボウズ・ラボについて一言いっとくか - IT戦記
    hamasta
    hamasta 2007/06/02
    最速メソッドキタコレ
  • 親友へ。ブログを書こう。 - IT戦記

    はじめに ガイアックスに入社する前からの数少ない親友でプログラマの y が人生の岐路に立っているようなので、エントリーを書いてみることにした。 y とは mixi の足跡がきっかけで知り合って、もうすぐ丸二年の付き合いになる。人生の 10 % の時間をインターネットでつながっていたということになる。 あのときから見たら、自分も y も随分変わったんだろうなあ。普段は考えたりしないけど、しみじみとあのときのことを思い出してみた。 そして、 y にももっと web で色んなものを公開して欲しいなと思った。どんなささいなことでもいい。完成度なんてなくていい。二次情報でもいい。技術のことでなくてもいい。 y へ。そして、ブログを書いたことがないすべての人へ。 ブログを書こう 誤解のないように言っておきますが、書くべき!という感じではなく、イイヨーイイヨー書いたほうがイイヨー的な意味です。 ブログを

    親友へ。ブログを書こう。 - IT戦記
    hamasta
    hamasta 2007/04/21
    書く事が習慣になっていない人は、なかなか難しいのかな。むしろblog以外に、まだ新しい表現の余地があるのかも。
  • 「勝手に添削 - JavaScript 入門」を勝手に添削 - IT戦記

    このエントリーは以下のエントリーへの解答です 404 Blog Not Found:javascript - 勝手に添削 - JavaScript入門 はじめに 僕はあまりブログを一生懸命書くのは嫌いです。で、いつも適当に言葉は少なめにソースだけで解説しているが。今回は、それだけでは伝わらないところまで突っ込まれてしまったので、僕が伝えたかった意図をこと細かく説明していこうと思います。 文章が苦手なので、変な言い回しで読み辛かったりすると思いますがよろしくお願いします。 一応、弾さんには断っておきますが、別に弾さんに噛みついている訳ではないです。ただ、弾さんのような有名人に突っ込まれたら、僕の講義を聞いてくれたエンジニアが嘘を教えられたと不安になってしまうのではないかと思ったのです。僕の講義を聞きにくれた人には、虚像でもいいから 100 % の自信と勇気を付けて欲しい(プログラムを書く上で

    「勝手に添削 - JavaScript 入門」を勝手に添削 - IT戦記
    hamasta
    hamasta 2007/04/13
    議論と批判と火事と喧嘩は江戸の華 どんどんやって欲しいな
  • デブサミ2007資料「JavaScriptの現在と未来」 - IT戦記

    Developers Summit 2007 の資料を公開します。 推奨フォント 以下のフォントが入ってると一番きれいに見れると思います。 メイリオ 推奨ブラウザ 以下のブラウザに最適化(高速化など)して作りました。 Firefox 2.0 IE 7 対応ブラウザ OS いちおう以下の環境では動作確認しました。 Windows Firefox 2.0 Windows IE 7 Windows IE 6 Windows Opera Linux Firefox 2.0 操作方法 Firefox は Flash の上でのクリックは無視されるので注意 左クリック: 進む 右クリック: 戻る →キー: 進む ←キー: 戻る 高度な操作方法 ロケーションバーや Firebug や jsh bookmarklet から以下の操作をすることで、早送り巻戻しページジャンプなどができます。 早送り巻戻し: g

    デブサミ2007資料「JavaScriptの現在と未来」 - IT戦記
    hamasta
    hamasta 2007/02/19
    デブサミ2007パワポ資料 JS紹介
  • IT戦記 - arguments を直接的に配列化

    Own Properties は同じだからプロトタイプだけ入れ替える (Firefox Only) id:cheesepie:20070129:1170012588 を見ていて思いつきました。 arguments.__proto__ = Array.prototype; ちなみにクロスブラウザなやり方 3 つ // 1 for(var i = 0, args = []; i < arguments.length; i ++) args[i] = arguments[i]; // 2 arguments = Array.apply(null, arguments); // 注意: コメント欄参照 // 3 for(var n in Array.prototype) arguments[n] = Array.prototype[n]; 別に配列化しなくても配列の関数は使えます 配列のプロトタイ

    IT戦記 - arguments を直接的に配列化
    hamasta
    hamasta 2007/02/03
    あとで読む
  • IT戦記 - JavaScript の名前空間

    JavaScript での大規模開発では シンボルの衝突が非常に大きな問題となる。その代表例が Firefox の拡張機能内のシンボルである。 で、こんな記述ルールはどうだろう window['http://d.hatena.ne.jp/amachang/']={}; // URI (function(){with(this){ // ここにコードを書く }}).apply(window['http://d.hatena.ne.jp/amachang/']); // URI 例えば window['http://d.hatena.ne.jp/amachang/']={}; (function(){with(this){ var hoge = 'hoge'; // このスコープ内で共有するシンボル this.fuga = 'fuga'; // 同じ名前空間で共有するシンボル window.p

    IT戦記 - JavaScript の名前空間
  • JavaScript の配列と連想配列の違い - IT戦記

    id:cheesepie:20070131:1170172709 最近は、こういう風に JavaScript を勉強する人が増えていてとても嬉しいです ^^ id:cheesepie さん頑張ってください! で、ちょっと配列と連想配列の使いかたが違うようなので、エントリーを書こうと思いました。おせっかいだったらすみません>< ! やっぱり、このへんが JavaScript の難しいところのひとつなのだろうか。 ということで、 JavaScript の配列と連想配列の違い いってみよおー 連想配列とは JavaScript では連想配列は一番シンプルなオブジェクトのことである。つまり、すべてのオブジェクトは連想配列である。 以下のすべての連想配列はまったく同じものである。 // 1 var obj = { hoge: 'hoge' }; // 2 var obj = { 'hoge': 'h

    JavaScript の配列と連想配列の違い - IT戦記
    hamasta
    hamasta 2007/02/02
    id:amachangのJavaScript入門」出版マダー?
  • それすぐ実行!JavaScript! - IT戦記

    思った JavaScript はすぐに実行してみましょう! ブラウザの URL 入力欄に javascript:(function() { /*実行したいコードを書く*/ })()FireBug を使ってる人は、コンソール開いて実行したいコードを書く。 たとえばこんなことができます。 これらの例は僕が日頃使っているものです。 グローバルで使える関数を列挙する(Firefox Only) FireBug用 for(var n in window) if(typeof window[n]=='function')console.log(n); URL用 javascript:(function(){var b='';for(var n in window)if(typeof window[n]=='function')b+=n+"\n";alert(b)})() Object.prototyp

    それすぐ実行!JavaScript! - IT戦記
  • IT戦記 - JavaScript を学ぶ際に一番重要なのに、誤解されがちな setTimeout 系の概念

    おそらく、JavaScript を使いこなす肝は setInterval、setTimeout、イベントによる関数の実行を理解することだと思う 例えば 次のコードの結果を考えたとき document.write("hoge\n"); setTimeout(function(){ document.write("fuga\n") }, 1000); document.write("piyo\n");普通に JavaScript を使いこなしてる人なら、hoge → piyo と表示して、 1 秒後に fuga が表示されるな。って思うはずなんです。 でも、 JavaScript を始めたばっかりの人の中には、 hoge と表示したあと 1 秒後に fuga → piyo と表示するな。って思ってる人が非常に多い。(経験的に) 何故か? たぶん、どのサイトの setTimeout の説明を見て

    IT戦記 - JavaScript を学ぶ際に一番重要なのに、誤解されがちな setTimeout 系の概念
    hamasta
    hamasta 2006/09/11
    >setTimeout(function() { alert("hello") }, 10)
  • 勉強が出来ない奴はプログラマになれ!(バカだからできる勉強法) - IT戦記

    どのくらいの人がこのブログを読んでいるか分かりませんが、 もし、勉強が出来ない人が周りにいたら、このブログを紹介してあげてください。 ふと 勉強が出来ない人は、プログラマになったほうがいいと思った。 僕はというと 自分でも驚くくらい勉強というものが出来ない。ものごとを知らない。 はっきり言ってバカなのである。 たとえば、 大学行ってない。 株式公開と上場の違いを知らなくて、一同ぽかーん。 つい最近まで、サイバーエージェントを知らなかった。(技術者には必要ない) 英語が一切読めない。 宮崎料理「冷や汁」を「冷や飯」だと思ってた。 基的に会議とかでよく出る英語、「さじぇっしょん」とか、「あさいん」とか、「ぶらんでぃんぐ」とか、「うぇぶつーぽいんとおー」とか、よく分からん。 人力(じんりき)検索を入力(にゅうりょく)検索だと思っていた たぶん、まだまだあるけど、自分がバカだから気がつかないんだ

    勉強が出来ない奴はプログラマになれ!(バカだからできる勉強法) - IT戦記
    hamasta
    hamasta 2006/08/05
    この業界に興味を持っている学生へ 1:今すぐ考え直しなさい 2:どうしてもやるなら、英語はペラペラ、電気電子・計算機科学は博士並みに勉強して下さい 無数のデバイスが身の回りに溢れる時代に備えて
  • JavaScript OOP におけるクラス定義方法 - IT戦記

    クラスを定義する方法です。考え付くだけでも、これだけたくさんの方法があります。やっぱり、 JavaScript って柔軟であり複雑な言語ですね。 ちなみに、以下のすべての例はこのクラスを定義しています。 ちなみに、僕は一番下の書き方ですね。 皆さんはどのようにプログラミングしていますか? プロトタイプを使わない。クロージャを使う。 // プロトタイプを使わない。 // クロージャを使う。 function Item(price) { this.showPrice = function() { alert(price); }; } プロトタイプを使わない。クロージャを使わない。 // プロトタイプを使わない。 // クロージャを使わない。 function Item(price) { this.price = price; this.showPrice = function() { aler

  • prototype.js 1.4rc4 Part.1解説

    なんか、この前書いてたやつが文字制限で書ききれなかったので三部構成にしてみました。 これが第一部。 第二部:http://d.hatena.ne.jp/amachang/20051124/1132584232 第三部:http://d.hatena.ne.jp/amachang/20051125/1132584378 注:引数に要素の id 属性値を指定する関数及びコンストラクタは要素オブジェクトそのものを入れても同じ動作です。 汎用関数 $ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html lang="ja"><head><title>Test</title><script type="text/javascript" src="prototype

    prototype.js 1.4rc4 Part.1解説
  • IT戦記 - 複雑で重くなった JavaScript を超高速化する方法。

    以下のスクリプトを他のすべてのスクリプトよりも前に読み込む。 var nativeSetInterval = window.setInterval; _setInterval = {}; window.setInterval = function(process, delay) { var entry; if(typeof process == 'string') { entry = new _setInterval.Entry(function(){eval(process);}, delay); } else if(typeof process == 'function') { entry = new _setInterval.Entry(process, delay); } else { throw Error('第一引数が不正です。'); } var id = _setInterv

    IT戦記 - 複雑で重くなった JavaScript を超高速化する方法。