タグ

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

  • Facebook 向けウェブサービスは IE6 に対応すべきか ( 2011年12月の Facebook のブラウザシェア ) - IT戦記

    はじめに みなさん、お元気ですか><リリースも終わって、一息ついたあまちゃんです! ヽ(´ー`)ノわー さて今日は、最近「お花サプライズ!」というサービスをリリースしたのですが、そのときにちょっと面白いデータを見つけたのでそのいきさつも含めて紹介したいと思います。 (今日のテーマはこの円グラフ) フェイスブック系のサービスはどのブラウザに対応すれば良い? よく、ウェブサービスを開発するときの悩みとして「古いブラウザでのデザインをどのくらいケアするか?」というものがあります。 「お花サプライズ!」でも、割と短い期間で実装することを目標としていたり、番の HTML を書いた経験があまりないメンバーが多くいたことで「IE6 や IE7 への対応が鬼門なんじゃないか?」という心配が常にありました。 そこでよぎる甘い誘惑 このご時世、 IE6 とか IE7 に特別対応する必要なんてないんじゃね?

    Facebook 向けウェブサービスは IE6 に対応すべきか ( 2011年12月の Facebook のブラウザシェア ) - IT戦記
    kits
    kits 2011/12/09
    3D円グラフを使っているのが気になる。
  • 要素が document につながっているかを高速に調べる方法 - IT戦記

    とある要素が document につながっているかどうかを調べたい! とりあえず、ほとんどすべてのブラウザで出来る方法としては、 parentNode で確認することができますね。 function isElementInDocument(node) { do { if (node === document) { return true; } } while (node = node.parentNode) return false; } でも 前の例だとちょっと遅いので contains や、 compareDocumentPosition を使うといいです! コードにすると以下のような感じ function isElementInDocument(node) { if (document === node) { return true } else if (document.compa

    要素が document につながっているかを高速に調べる方法 - IT戦記
    kits
    kits 2010/06/24
    documentの子孫として存在するかどうかの判定と思います(document.createXXX しただけのnodeはfalse)。 > id:teramako
  • ニコニコ動画より Youtube を使う人の意見を聞いてみた - IT戦記

    知り合いと動画サイトの話題になって amachang「なんで、 Youtube ばっか使うの?ニコニコ動画のほうがおもしろい動画多くない?」 知り合い「うーん。そうかなー。」 amachang「そう思うけどなー。」 知り合い「とりあえず検索するじゃん。そのとき、候補が出てくるから楽でいいんだよねー。あと、ニコニコ動画ってログイン必須じゃん、パスワードとメールアドレス打つの大変。」 amachang「え、それってそんなめんどくさいことなん?」 知り合い「いやー。パソコンで文字打つのに慣れてないからさー。みんなお前みたいにパソコンで文字打てると思ったら大間違いだよ。」 amachang「まじでー?」 知り合い「まじでー。」 ちなみにこの「知り合い」の属性 ニート 割とリア充 パソコンよりケータイを使う どんな、言葉で検索するんだろう ちょっと気になって Youtube のトレンドトピックを見て

    ニコニコ動画より Youtube を使う人の意見を聞いてみた - IT戦記
    kits
    kits 2010/04/06
    単純にユーザ登録・ログインしないと使えないというのは大きな障壁ではあると思う。
  • hCalendar を使って予定を公開しよう! - IT戦記

    はじめに みなさん、こんばんわ! さてさて最近のことですが、 Google の検索結果にイベントや予定へのリンクが表示されるようになりましたね!(まだ、英語版だけですけどね^^;) ASCII.jp:Google、リッチスニペットでイベントの日時や場所表示に対応 以下のような感じで表示されるみたいです! ウェブページの中に書かれた「予定」や「イベント」などを Google 先生が理解して表示しているんですね! この予定やイベントはどうやって探してるの? Google は hCalendar という形式のデータを読んで、予定やイベントを探しているようです。 というわけで、今日はこの Google が使っている hCalendar というものが「どういうもので」「どうやって活用すればいいか」を実例を交えながら紹介したいと思います。 hCalendar って何? hCalendar とは「カレン

    hCalendar を使って予定を公開しよう! - IT戦記
  • 文字の情報を調べるためのブックマークレット - IT戦記

    ウェブで見かけた文字が、やたら気になることがあるので 作ってみました javascript:location.href = 'http://www.fileformat.info/info/unicode/char/' + (function(r){ var n = r.startContainer; var p = r.startOffset; return (n.nodeType == 3) ? n.nodeValue.charAt(p) : n.childNodes[p].textContent.charAt(0); })(getSelection().getRangeAt(0)).charCodeAt(0).toString(16) + '/index.htm'; void(0); 使い方は簡単 気になる文字を選択してブックマークレットを実行するだけ! 対応ブラウザ HTML5 t

    文字の情報を調べるためのブックマークレット - IT戦記
    kits
    kits 2009/11/25
    HTML5 text selection API を利用 / 「サロゲートペアには非対応」基本多言語面の範囲外の文字には非対応、ということだろうか。(→修正済)
  • XPath に文字列を埋め込むときの注意 - IT戦記

    よく、以下のように XPath に文字列を埋め込む事があります document.evaluate('//*[@class="' + text + '"]', document, null, 7, null); まあ、僕もよくこんなコード書くんですけど。 でも、これって text が外部から来るものだったら、意図通りの動作をしないんですよね たとえば、以下のような例です。 var text = '"] | /hoge/fuga/piyo | .["'; document.evaluate('//*[@class="' + text + '"]', document, null, 7, null); というわけで 任意の文字列を XPath の式に変換する JavaScript を書いてみた 以下で試せます http://amachang.sakura.ne.jp/misc/xpath_es

    XPath に文字列を埋め込むときの注意 - IT戦記
    kits
    kits 2009/09/17
    and, or 等がどう扱われるのか気になる。
  • HTML5 のセクションアウトラインを生成してみよう! - IT戦記

    昨日 HTML5 のセクションアウトラインを取得する JavaScript - IT戦記 という記事で、以下の JavaScript ファイルを公開しました Outliner.js で 公開したのはいいのですが、 @amachang 使い方がわからんです…。見てるページで試せるように、Bookmarkletになっていると嬉しいです。 http://twitter.com/os0x/status/3972339847 …肝心の使い方を書くのを忘れていました>< >< というわけで簡単に使い方を解説したいと思うます。 手順は 2 ステップ 1. まず outliner.js を読み込む <!DOCTYPE html> <html> <head> <title>hoge<title> <script type="text/javascript" src="http://amachang.saku

    HTML5 のセクションアウトラインを生成してみよう! - IT戦記
    kits
    kits 2009/09/16
    使い方が分かるとやはり有難い。
  • はてブの Web Hook で Twitter を更新する - IT戦記

    はてなブックマークの Web Hook というのがリリースされましたね! (開発者さま向け) はてなブックマーク Web Hook 機能を公開しました - はてなブックマーク日記 - 機能変更、お知らせなど はてなブックマーク Web Hookとは - はてなキーワード これを設定しておくと、自分がはてブしたタイミングではてブ側から CGI 等を叩いてくれます。 CGI から様々なプログラムを起動するようにしておけば、あんなことやこんなことが可能になっちゃいますね>< こ、これはすごい! ということでさっそく、自分がはてブしたページの URL を Twitter に POST する CGI を書いてみた。 ご自由にお使いください #!/usr/bin/env perl use utf8; use strict; use warnings; use CGI; use Net::Twitter

    はてブの Web Hook で Twitter を更新する - IT戦記
  • Firefox 拡張を jQuery で書く! Jetpack を使ってみた。 - IT戦記

    はじめに JavaScript が書ければ、誰でも簡単に Firefox の拡張が書けてしまう。しかも、もれなく jQuery が付いて来る! というものを Mozilla Labs がリリースしたみたいですね。 https://jetpack.mozillalabs.com/ というわけで 少し触ってみました Jetpack Feature の書き方 Jetpack で書く Firefox 拡張を「Jetpack Feature」といいます。 これは、以下の 2 つのものを用意すれば誰でも簡単に公開することが出来ます。 JavaScript ファイル 公開用 HTML ファイル JavaScript ファイル JavaScript ファイルには、 Jetpack Feature のアプリケーションコードを書きます。 (function() { Jetpack.statusBar.appe

    Firefox 拡張を jQuery で書く! Jetpack を使ってみた。 - IT戦記
  • for 文と無名関数のイディオム - IT戦記

    id:cho45 がチョロっと書いたコードが話題になっている 冬通りに消え行く制服ガールは✖夢物語にリアルを求めない。 - subtech このような書き方は、自分もたまにする。 というわけで、この書き方をする利点を以下の順に解説して見る。 単純な for 文の問題点 with 文を使った解決方法と、その微妙な問題点 無名関数を使った解決方法 単純な for 文の問題点 まずは、以下の HTML に対して <ul> <li>hoge</li> <li>fuga</li> <li>piyo</li> </ul> 以下の JavaScript を実行して var list = document.querySelectorAll('ul > li'); for (var i = 0, len = list.length; i < len; i++) { var node = list[i]; v

    for 文と無名関数のイディオム - IT戦記
  • Windows の基本的なコマンド集 - IT戦記

    まずは、コマンドプロンプトの基的な部分を使えるようにならないと。。ということで nul ファイル Unix の /dev/null のようなもの サイレントにコマンドを実行 > verbose-command > nul 空のファイルを作る > type nul > hoge.txtこーんな感じでコピーができる 環境変数 PATH 、 PATHEXT PATH という環境変数にディレクトリを登録しておくと、そのディレクトリ内の実行ファイル(環境変数 PATHEXT で指定された拡張子を持ったファイル)がファイル名だけで実行できるようになります。 PATHEXT に .TXT を指定してみる 以下のようにすると .txt に関連付けられたアプリケーション(メモ帳)で、 hoge.txt が起動する。 > type nul > hoge.txt > set PATHEXT = .TXT >

    Windows の基本的なコマンド集 - IT戦記
    kits
    kits 2008/12/20
    whereが無かった…。/ このwhich.batを使ってます。http://www.atmarkit.co.jp/fwin2k/win2ktips/319which/which.html
  • for 文 2.0(笑) - IT戦記

    まぁ、かなり知られてる話ですが JavaScript は .(ドット) の計算がかなり遅い。まぁ、簡単なスクリプトなら問題にならないが。web2.0的には大違いなのであります。ちなみに、.(ドット) の計算に比較演算の 3 倍のコストがかかる(IEはとくに)。 ということで、for 文は下のように(比較に .(ドット) を使わない)書くくせをつけましょう。地道な差が大きなパフォーマンスを生みます。 // for 文 2.0 for(var i = 0, len = array.length; i < len; i++) { .... }各種ライブラリの for 文 1.0 を for 文 2.0 化するだけで、CPU 使用率がけっこう下がりました。 予断ですが、間違っても .(ドット) を避けるために with 文を使うようなことはやめてください。 with 文のコストは 比較演算の 8

    for 文 2.0(笑) - IT戦記
    kits
    kits 2008/12/11
    「.(ドット) の計算がかなり遅い」の話をを思い出してブックマーク。
  • JavaScript 内で無圧縮 ZIP を作って Data URI を生成するライブラリを作りました - IT戦記

    ちょっと思うところあって JavaScript 内で、複数のファイル情報を作って Zip で固めて、 Data URI を生成するライブラリを作ってみました。 ソースは以下の zip.js です。 http://svn.coderepos.org/share/lang/javascript/Zip/ 使うには 以下の base64.js が必要です。 http://svn.coderepos.org/share/lang/javascript/Base64/trunk/ この base64.js は弾さんが作ったものです。 今回 Zip で使うように、ちょっとチューニングさせていただきました。 こんなことができます // zip オブジェクトを作る var zip = new Zip; // 文字列をファイルとして追加する zip.addString('Hello, world!!', '

    JavaScript 内で無圧縮 ZIP を作って Data URI を生成するライブラリを作りました - IT戦記
  • 10 なら 10、 11 なら 20 になる関数を作りたい - IT戦記

    以下のエントリで質問を頂いたので http://d.hatena.ne.jp/amachang/20080827/1219815788 以下のコード x + a - (x % a || a) やりたいこと a で x を丸めること こんな感じ function round(a) { return function(x) { return x + a - (x % a || a); } } var round10 = round(10); round10(10); // 10 round10(15); // 20 round10(20); // 20 round10(25); // 30 もっといい方法あるかなあ (function(b) { return b ? x - b : x; })(x % a) うーん どっちにしろ奇麗には書けないなあ

    10 なら 10、 11 なら 20 になる関数を作りたい - IT戦記
    kits
    kits 2008/09/10
    整数aごとの切り上げ。/ Math.ceil(x / a) * a を考えた。
  • HTML5 の DOCTYPE 宣言って IE6 でも標準モードになるんですね - IT戦記

    HTML5 の DOCTYPE 宣言 <!DOCTYPE html> ですが、今までなんとなく「どーせ IE6 では互換モードなんでしょー」って感じで生きてきたんです。 ごめんなさいごめんなさい>< サンプルコード 確認してみてください <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>HTML5 の DOCTYPE 宣言とレンダリングモードのテスト</title> </head> <body> <h1>HTML5 の DOCTYPE 宣言とレンダリングモードのテスト</h1> <dl> <dt>CSS1Compat</dt> <dd>標準モード</dd> <dt>BackCompat</dt> <dd>互換モード</dd> <dl> <script type="text/javascript">alert(docume

    HTML5 の DOCTYPE 宣言って IE6 でも標準モードになるんですね - IT戦記
    kits
    kits 2008/08/29
    vantguardeさん解説つき
  • 駄文 - HTML は 20 年後どうなっているんだろう - IT戦記

    ちょっと前にブクマを見てちょっとひっかかってたんですが 2008年04月22日 kokorohamoe 20年後はもうWebじゃねーよ。20年前?電信じゃねーか。20年後もWebってどんだけ技術革新おくれてんだよ。 2008年04月22日 t-tanaka 20年とは大きく出た。そもそもWebがメジャーなメディアとして残ってるのか? 1988年に「20年後のディスコで流行っている曲は」とかやってるみたいだ。 2008年04月22日 noitseuq ネタエントリを気で記事にするなんて。Webはあくまでもブラウザを介したものだから20年後は怪しい。ネット。 http://b.hatena.ne.jp/entry/http://trendy.nikkeibp.co.jp/article/column/20080416/1009441/ HTML5 は 20 年後 HTML5は、2022年以降

    駄文 - HTML は 20 年後どうなっているんだろう - IT戦記
    kits
    kits 2008/06/17
    HTML5はわりとスローペースなのだなあ。
  • 駄文 - そろそろ初級レベル(または初心者的)なことをブログに書いたらダメという空気を変えないか - IT戦記

    僕だって pthread のことを書きたいんだ!初心者だけどな! http://anond.hatelabo.jp/20080612002324

    駄文 - そろそろ初級レベル(または初心者的)なことをブログに書いたらダメという空気を変えないか - IT戦記
    kits
    kits 2008/06/12
    ブログに書く意義を思う
  • Web 標準的な CSS の値変換方法(px → em など)(訂正あり) - IT戦記

    はじめに W3C の仕様に CSS の値を変換が可能なオブジェクトが定義されていることに気がついたのでメモしておきます。 まず CSSStyleDeclaration オブジェクトを取得する 例えば、 var decl = element.style; または、 var decl = getComputedStyle(element, ''); http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration CSSStyleDeclaration オブジェクトから getPropertyCSSValue という関数を使って CSSValue オブジェクトを取得する var val = decl.getPropertyCSSValue('width') http://www.w3.org/TR/DOM-Level

    Web 標準的な CSS の値変換方法(px → em など)(訂正あり) - IT戦記
  • めも - IT戦記

    このメモについて id:amachang の私的な学習目的 IE6 の標準モードに関するバグ いろいろとポイント layout IE6 の視覚整形モデルの中で要素は、大きく分けて layout を持つ要素と、 layout を持たない要素に分けることができる。 layout を持つ要素とは、自分のサイズや位置に責任を持つ要素である。 layout を持つ要素は、四角形の領域を作る。 layout を持たない要素は、直近の layout を持つ要素のサイズおよび位置と、そこの間にあるすべての要素の margin, padding, border によってその開始点、折り返し点が決まる。 layout を持たない要素は、四角形の領域を作らない。上下左右の間隔を保持しているだけに過ぎない。 layout を持たない要素間の上下マージン(相殺されるマージン)は二つの要素間の共有のもので、ある要素特

    めも - IT戦記
    kits
    kits 2008/05/29
    「IE6 の標準モードに関するバグ」すごいややこしそう。
  • IE6 の JavaScript では href 属性の %20 と %25%32%30 の違いが分からない - IT戦記

    これはひどい /%20 と /%25%32%30 はリンク先が違うのに、 IE6 では判断する術がない。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <a id="id0" href="a%20a">foo</a> <a id="id1" href="a%25%32%30a">foo</a> <script> var elm0 = document.getElementById('id0'); var elm1 = document.getElementById('id1'); alert(elm0.href == elm1.href); // true alert(elm0.getAttribute('href') == elm1.ge

    IE6 の JavaScript では href 属性の %20 と %25%32%30 の違いが分からない - IT戦記
    kits
    kits 2008/05/22
    IEは属性値の%エンコーディングを展開する。/ getAttribute()の第2引数指定により正確な値を得られる。