忙しい人のためのまとめ 一般に「オブジェクト指向プログラミング」と呼ばれる考え方には発案者が異なる二系統がある。(ただし簡単のため、次のうち前者から批判的に派生して生じたプロトタイプベースのオブジェクト指向はここには含めていない) アラン・ケイによる、変化に強い長期運用可能な遅延結合システムを SIMULA67 にあった「オブジェクト」をメッセージの受け手とすることで実現(オブジェクトにメッセージ送信)するアイデアに基づく「メッセージングのオブジェクト指向」と、 ビアルネ・ストラウストラップ(前後して抽象データ型を発案したリスコフ本人、オブジェクトクラスを考えたニガードらSIMULA陣営、Eiffelのメイヤーらも同様の着想を得ている)による、ユーザー定義型(抽象データ型)を SIMULA67 にあった「クラス」という言語機能を使って実現(カプセル化、継承、多態性)するアイデアに基づく「抽
Ajax IME は Javascript を悪用しつつ強引にインラインかな漢字変換を実現しています. 簡単そうに見えて以外とややこしいのが,変換候補の表示. textarea のキャレット(カーソル) のピクセル単位での位置をなんとかして取得してその位置に変換候補を 出す必要があります. ありがちな google suggest ような補完インタフェイスだと inputbox の真下に出せばいいので位置は完全にわかるのですが,textarea は簡単ではありません. 調べた限り,どうやら標準ではキャレットの位置を取得できないそうです. ただし IE だと以下の方法でピクセル単位での位置がわかります. var caretPos = document.selection.createRange(); y = (caretPos.offsetTop + document.documentEle
TrackBackの代わりにWebサービスAPIを利用してインバウンド・リンクをリスト化して表示しようかと考えた。blogにTrackBackの機能を持たせるのは悪くはないのだけどコストが高いと思うので、WebサービスAPIを利用して低コストでTrackBack的な情報をページに持たせることが出来たら良いなと。結果はうまくいかなかったのだけど。 TrackBackがコストが高いというのはやはりスパムの問題が大きい。規模の小さいサイトならTrackBack受信の仕組みが稼動するのはスパムを受けた時ばかりという状態になったりするだろうし、規模の大きいサイトならとてつもなく大量のスパムを戦うことになるだろう。つまり、TrackBackを受けることよりもスパムを弾くことに注力せざるを得ない。その結果としてpermalinkからTrackBack Auto-Discoveryを削除して、目視でTra
本日、キーワード名とふりがなが対になっている、はてなダイアリーキーワードふりがなリストを公開しました。ユーザー様が独自に作成されている辞書などで、名詞の読み仮名などでご活用いただくと便利かと思います。 以下のURLを右クリックでファイルに保存してご覧ください。 http://d.hatena.ne.jp/images/keyword/keywordlist_furigana.csv http://d.hatena.ne.jp/images/keyword/keywordlist_furigana_with_kid.csv (キーワードID つき) ※タブ区切りの csv 形式、文字エンコードは EUC で改行コードは LF となっております。 ※ファイルサイズが本日現在 4M 強ほどあります。ブラウザで開く際はご注意下さい。 このリストをは定期的に最新情報に更新しています。どうぞご利用下さ
This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.
先日、私は自宅のデジタルビデオとデジタル写真をバックアップするためのディスク容量を十分に確保しようと思い、新しいハードディスクを買って自宅のLinuxサーバーに増設した。保存しようとするすべてのファイルを1つのハードディスクに移動し、新しいバージョンのLinuxにアップグレードするために古いハードディスクのパーティションを切り直した。オペレーティングシステムの再インストールを終えた後、バックアップハードディスクをマウントしたわけだが、そこで中身が空だということが判明した。どういうわけか、全データをバックアップしたハードディスクと、消去するハードディスクとを取り違えてしまったのだ。こうして外部メディアへのバックアップを失敗したおかげで、写真とビデオのバックアップをすべて失ってしまった。 私はしばらく呆然としていたが、なんとか立ち直り、ファイル復元の方法を探すことにした。失ったファイルやパーテ
Stick around and we’ll give you a way to detect your visitors’ initial font size setting—and a way to find out whenever your visitor increases or decreases the font size. Why would you want to know these things? Because with this knowledge in hand, you can create a set of stylesheets that adapt your pages to the users’ chosen font sizes, preventing overlapping elements and other usability and desi
完成したWiiを前にして、私は思うのですが、 ふつうにゲームの新しいハードを作ろうとしたら、 こういうものはきっとできないと思うんです。 なぜWiiは、こういうマシンになったのか。 どういう考えのもとにWiiというものはできたのか。 それを、この連載を通してお伝えしていきたいと思っています。 まず、プロジェクト全体を統括して見ていた竹田さんに訊きます。 いちばん最初に「こういうハードを作ろう」と思っていたときのこと、 そして、最終的に完成したWiiを見ての感想などを教えてください。 Wiiの開発が始まったのは、 ゲームキューブがリリースされてすぐのころです。 私たちは、ひとつのハードが形になると すぐにつぎのマシンを考え始めるわけなのですけど、 当然ながら、すべての部品や技術にイチから着手するわけではなく、 世の中にあるテクノロジーをベースにしていかなくてはならないんです。 というときに、
JavaScript を学ぶ際に一番重要なのに、誤解されがちな setTimeout 系の概念 http://d.hatena.ne.jp/amachang/20060910/1157911122 上記はてブコメント http://b.hatena.ne.jp/entry/http://d.hatena.ne.jp/amachang/20060910/1157911122 JavaScriptがシングルスレッドなのは仕様? http://d.hatena.ne.jp/ajiyoshi/20060911 でsetTimeoutの仕様について熱く語られている.私も興味を持ったのでざっと調べてみた. まず超基本的な話としてマルチプロセスなOSにおいて完璧な 時間制御というものは無理ということだ.これは話を極端にして 「1万個ブラウザ立ち上げてきっちり1msecごとになにかをさせようとしたらちゃん
http://d.hatena.ne.jp/amachang/20060910/1157911122 を見て。 たとえば、以下のようなソースの場合、hello と表示されるのはいつだろうか setTimeout(function() { alert("hello") }, 10); 〜ここに重くて、1秒の時間を有する処理を書く〜 答えは 1000 ミリ秒後である。確実に 1000 ミリ秒後である。 おっしゃるとおり、僕の知ってる範囲内のJavaScript環境はすべて今実行している関数がブラウザに制御を返すまで、setTimeoutやsetIntervalに割り込まれることはないですね*1。 もっと言うと経験則的にはJavaScriptが実行中はブラウザの描画も行われません。だからinnerHTMLに大量のHTMLを突っ込むとかの重い処理を頻発するページは糞重い上に固まってるように見えます
2006年09月23日01:30 カテゴリLightweight Languages javascript - ページはいつ再描画されるか 大変に有用な考察だが、一つ重要な指摘漏れがある。 IT戦記 - JavaScript を学ぶ際に一番重要なのに、誤解されがちな setTimeout 系の概念 setInterval、setTimeout、イベントによる関数の実行を理解することだと思う ページがいつ再描画されるか、ということである。 未経験者は、document.write()やelement.innerHTML = "foo"のように、ブラウザーに「書き出した」点でそれが直ちに反映されると思うだろう。 ところが、そうではないのである。 実例を見てみよう。以下のscriptを考えてみる。ボタンを押すと、ボタンのラベルが1000から1までカウントダウンした後、元通りになることを意図してい
おそらく、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 の説明を見て
ブックマーク経由でみかけたCodeWeb: 画像をアップロードする前にサムネイルを表示させる。 では、JavaScript を使ってファイルをアップロードする前にプレビューする方法が紹介されてました。input type="file" な input 要素の onchange ハンドラでごにょるというもの。 一方で、プレビューではなく、ファイルを追加した直後に特にボタンなどを押さず且つ画面遷移なしでファイルをアップロードできないものかと、ちょっと試行錯誤してみています。例によって XMLHttpRequest で Ajax るわけですが、残念ながらいまのところうまくいってません。 これまでに書いたコードは以下です。prototype.js を使ってます。 <input type="file" name="image" onchange=" if (this.value) { new Aja
jQuery 開発者向けのメモです. ずっと以前に,jQuery に関する日本語の情報がまだ少ない頃に作ったページですが, その後 jQuery を再び利用する機会があったので,最新バージョン向けに記述を更新しました. 住宅ローンシミュレーションです. jQueryを利用したフォームの動的な追加や,flotプラグインによるグラフ描画などを行っています. 本ページの記載に間違い等見つけた方はブログのエントリまで連絡いただけるとうれしいです. 最終更新:2009/1/10 jQueryとは jQuery は様々な処理を短く簡単に書ける JavaScript ライブラリです. 独自のXPATH/CSSセレクタを利用することで,多くのDOM操作を非常に簡単に書くことが出来ます. JavaScriptのDOM操作や,XMLHTTPRequest,XMLの操作などを覚えなくとも, Ajaxを利用したイ
ユーザビリティのヒント(3) 虫眼鏡のアイコンは『検索』か『拡大』か? 「インタラクションデザイン」 ソシオメディア 上野 学 2006/9/13 「消去」と「削除」、「ショッピングカート」と「買い物かご」、「ホーム」と「トップ」、ユーザーにしっくりくるのはどちらか。白黒付け難いナビゲーションの概念を考えよう GUIの特徴は、当然のことながら、ユーザーインターフェイスをグラフィックで表現することです。その際、「ユーザーが選びやすいフォームのカタチを考えよう」でも書いたとおり、GUIではウィンドウやメニューなどと並んで、アイコンを使ってオブジェクトや機能を画面上に配置してユーザーに提示することがよくあります。 アイコンは、メタファーを使った端的なグラフィックを用いて、抽象的な概念を感覚的に伝えると同時に、画面上での操作可能領域を明示するのに役立ちます。しかし、グラフィックだけでその意味を完全
情報を能動的に集める人のためのキューレーションツール、Live Dwango Reader(旧 livedoor Reader)とLDR Pocketは、ブログやメディアに貢献できるサービスを目指して参ります。 ※LDRトップなどへのアクセスで「Internal Server Error」と表示される方は、一度、http://www.livedoor.com でログアウトしてから、再度ログインをお試しください。 livedoor Readerをご利用いただきありがとうございます。 担当の佐々木です。 マイフィードの読込速度の改善 大量のフィードを登録している場合に、マイフィードの表示が遅い、表示されないという問題を解決しました。 フィードのリストを分割してロードすることで利用可能になるまでの時間を短縮しておりますので、下記の画像にあるメッセージなどをご確認のうえご利用ください。 - 登録数
amachangさんのsetTimeoutに関する記事とコメントを読んだら気になったので、setTimeoutとブラウザでのJavaScriptについて調べてみた。 setTimeoutには現在のところ明確な仕様はないようである。ただし、Web Applications 1.0のドラフトによれば、複数のスクリプトが同時に実行されることはなく、シングルスレッドでスクリプトが実行されるようだ。 Timeouts must never fire while another script is executing. (Thus the HTML scripting model is strictly single-threaded and not reentrant.) 従って、この仕様に従うブラウザに対しては、amachangさんの指摘は正しいと思う。 ただ、個人的にはスクリプトがシングルスレッ
hideです。 僕がMac OS Xを使うようになって1ヶ月と少しが経ちました。最初は戸惑うこともあったのですが、だいぶ手に馴染むようになってきました。最近、オープンソース関係のイベントに行くとMacユーザがかなりの割合でいる理由が分かったような気がします。感想としては、 UNIXの良い文化を取り入れている DockやDashbordの動きがいちいちカッコいい VMwareやcoLinuxを使わなくてもローカルに開発環境を作れる 今更ながら、BSDベースにしてMicrosoft製のOSとの違いを出していくというAppleの戦略には関心してしまいました。Web系エンジニアの方は、Macを次に購入するPCの候補に入れてみてはいかがでしょうか。 というわけで、あなたがいつかMacユーザになった際に便利なように、最初にインストールするべき10のアプリケーションを紹介します。 1.Firef
naoyaです。 本日、ウノウ社内でIE7 RC1をスタンドアローンで動作させる方法を教えたところ評判がよかったので、IE7 RC1をスタンドアローンで動作させる方法を書いてみたいと思います。 この方法を使うと、既存のIE6を上書きすることなく、IE7を実行できるのでとても便利です。 IE7 Standaloneから IE7 Standaloneツール(IE7RC1.zip)をダウンロードします ダウンロードしたツールを解凍します IEホームページからIE7 RC1をダウンロードします ダウンロードしたIE7 RC1を、解凍した IE7 Standaloneツールと同じディレクトリにおきます IE7 Standalone Setup.batバッチファイルを実行します ie7rc1_standalone.regファイルをダブルクリックしてレジストリを結合します IE7.batバッチファイル
JavaScriptテストコードのため書きっぱなしです。以下は、テキストエリアのカーソルの下に、候補窓がついてくるサンプルです。これをちゃんと書き直して、補完と組み合わせてみよう。 サンプル pre要素にborderやwidth/height、font-familyやword-spacingなど全ての属性をコピーしてテキストエリアのクローンを作り、その中のカーソルを真似たspan要素の座標を取得しています。もしかして、eventなどから簡単に位置を割り出せるのかなぁ。 カーソルの位置(文字数)はid:kosekiさんのCross Browser selectionStart/selectionEndをコピーして真似ました。 EditArea(コードが大変な感じ)も、テキストエリア(編集領域)とDIV要素(表示領域)を重ね合わせて色々なことをやってる。大量のspan要素で色づけ。 infog
JavaScriptpre要素内の文字を変更する際、改行コードの扱いが各ブラウザで異なるようなので以下コードで調べました。 var pre = document.getElementsByTagName('pre')[0]; pre.innerHTML='[R]\r[N]\n[NR]\n\r[RN]\r\n[END]'; pre.appendChild(document.createTextNode('[R]\r[N]\n[NR]\n\r[RN]\r\n[END]')); innerHTMLで追加した結果は以下です。IEOperaFirefox\r空白のみ○○\n空白のみ○○\n\r空白のみ改行×2改行×2\r\n空白のみ○○ createTextNodeで追加した結果は以下です。IEOperaFirefox\r○○×\n空白のみ○○\n\r○改行×2○\r\n改行+空白○○ この結果を見
CSSルールを一括で追加する JavaScript IEのStyleSheet#addRule(selector, property)は、セレクタごとに実行しなくてはいけないため代替を書きました。 Firefox、IE 6.0、Operaで確認しました。 function addRules(css){ document.body.appendChild( document.createElement('span') ).innerHTML = '<span style="display:none">DUMMY</span><style tyoe="text/css">' + css + '</style>'; } ダミーのエレメントがないと、IEではエレメントの追加を検知しないようです。 参考リンク 暴満館 » JavaScriptでCSSを弄る際のメモ The styleSheet o
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く