タグ

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

  • Windows7 搭載マシンを買ってきてやったことまとめ - IT戦記

    はじめに みなさま、こんにちは!年末の忙しい時期ですが、お元気ですか? 僕はなんとか元気です>< 使っていた PC を壊してしまったので Windows7 搭載マシンを買ってきましたので、購入から初期設定、便利なアプリのインストールまでここにメモしておきたいと思います! 購入まで と言うことでまず購入までにやったことをまとめてみたいと思います 価格.com で調べる まずは、価格.comを使って、以下の条件で良さそうなパソコンを探してみます。 8 万円以下の価格 それなりのグラフィックボード(最近 Minecraft っていうゲームをやってるので) それなりのメモリ(メモリ安いので) それなりの CPU USB 3.0 (データ移行のときにハードディスクを USB 3.0 でつなぎたいので) ディスクアクセス速度は、ある程度遅くても良い(RAM ディスクで頑張る戦略) 買うパソコンを決める

    Windows7 搭載マシンを買ってきてやったことまとめ - IT戦記
  • Facebook 向けウェブサービスは IE6 に対応すべきか ( 2011年12月の Facebook のブラウザシェア ) - IT戦記

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

    Facebook 向けウェブサービスは IE6 に対応すべきか ( 2011年12月の Facebook のブラウザシェア ) - IT戦記
  • Macbook (with Snow Leopard) 買った後にやったことまとめ - IT戦記

    購入編 会社にて amachang「秋だけに akky ですね。Macbook が欲しくなってきました」 akky(苦笑) amachang「新しい Macbook が欲しくなってきました」 akky(苦笑) amachang「買って来まーす」 akky(苦笑) Apple Store 銀座にて amachang「Macbook Pro の 13 inch のやつください」 店員「はい。 2 種類ありますが」 amachang「高いほうのやつください」 店員「キーボードは JIS と US どちらにいたすますか」 amachang「US ください」 店員「こちらでよろしいですか?」 amachang「JIS よりキー少ないのですね」 店員「はい。英数キー、かなキーなどがありません」 amachang「えっ」 店員「えっ」 amachang「JIS ください」 店員「かしこまりました」 am

    Macbook (with Snow Leopard) 買った後にやったことまとめ - IT戦記
    hysa
    hysa 2011/09/27
  • はてなブックマークのコンテンツの JavaScript を高速化する - IT戦記

    はじめに 「新はてなブックマーク」になったということで、とっても便利になったのですが、ブックマーク一覧ページ*1が若干 JavaScript に時間が掛かっているみたいです。 というわけで 調査してみたいと思います。調査して、改善できそうなところは後で纏めて「はてなアイデア」にでも登録しようと思います。 この日記は調査しながら、過程を書いていくつもりです。 準備 まずは、人のサイトの JavaScript を書き換えて試してみるための環境を作ります。 作業用ディレクトリを作る とりあえず、ホームに HatenaJS というディレクトリを作ります。 $ mkdir HatenaJS $ cd HatenaJS CocProxy をダウンロードしてくる 以下から CocProxy というツールをダウンロードしてきます。 http://coderepos.org/share/wiki/CocPr

    はてなブックマークのコンテンツの JavaScript を高速化する - IT戦記
    hysa
    hysa 2011/09/13
    console.count、Error().stack知らなかった
  • WebKit サーバーというものを作ってみた - IT戦記

    みなさん お久しぶりですヽ(´ー`)ノ夏休みの宿題終わりました? 毎日が夏休みの最終日みたいな生活してるあまちゃんです! さてさて 今日は WebKit サーバーというものを作ってみたので、紹介してみます。 WebKit って何? WebKit っていうのは Chrome や Safari の中に入ってるブラウザのエンジンのことです! 実はブラウザっていうのは、エンジン部分と見た目の部分(タブとかボタンとかね)に別れていて、意外と違うブラウザでもエンジン部分は同じものを使ってるってことも多いんですよ(*´ー`) ブラウザのサーバーってどういうこと? 要は、サーバーサイドでブラウザを起動して JavaScript を実行したり、 JavaScript が実行されないと読めないページから値を持ってくるのに使ったりしようという魂胆です。 今まではそういうのなかったの? 実は、今までは JavaS

    WebKit サーバーというものを作ってみた - IT戦記
  • はてなダイアリーにいいねボタンを置く方法 - IT戦記

    たっち! みなさん、こんにちは お元気ですか、僕はアイスのあとラーメンべて気持ち悪い状態ですが元気です。 さてさて 最近は、フェイスブックやミクシィやツイッターなどの SNS で面白いと思ったモノを紹介し合う文化が定着してきているような気がします。 そんな中で、ウェブページを紹介するために使われるためにウェブページに置かれるものが「いいね!」ボタンだったり、「ツイート」ボタンだったりするわけですね。 というわけで、はてなダイアリーにそういったボタンを配置する方法を紹介したいと思います。 ここで紹介する方法は、ちゃんと理解して置きたい人向け、 XML や HTML を分かっている人向けとなります。 はてなダイアリーには自由な HTML を貼り付けられない まあ、普通に自由に HTML を貼り付けられる環境であれば、ただ単に提供されるボタン用の HTML を張り付けるだけなので簡単です。

    はてなダイアリーにいいねボタンを置く方法 - IT戦記
  • サイボウズで学んだこと - IT戦記

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

    サイボウズで学んだこと - IT戦記
  • 要素が 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戦記
    hysa
    hysa 2010/06/25
    document.compareDocumentPosition(node)
  • 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 系の概念
    hysa
    hysa 2010/04/15
    setInterval,setTimeoutの概念。"JavaScript には実行キューがあり、setTimeout は指定秒後にそれに関数を登録している、ということなのである。"
  • Effective Java 読書会 14 日目 「シリアライズ!シリアライズ!」 - IT戦記

    お前をシリアルにしてやろうか! this photo is licensed by Horia Varlan はじめに いよいよ最後のページになりました!!! はりきっていきましょう!! 今回の範囲 279 ページ 〜 305 ページ 前回はこちら Effective Java 読書会 13 日目 「Java の例外めんどくさい」 - IT戦記 シリアライズって何? シリアライズとは、構造を持ったデータ(Java では、オブジェクトやプリミティブ)を、バイト列にすること。 たとえば、 オブジェクトをファイルに保存したい! 通信先にこのオブジェクトを送りたい! (具体的には、)ゲームデータをセーブしたい!(とか) などなどの用途で使えます。 Java のシリアライズ ObjectOutputStream にオブジェクトを書き込むと、 ObjectOutputStream がラップしているオブ

    Effective Java 読書会 14 日目 「シリアライズ!シリアライズ!」 - IT戦記
  • Effective Java 読書会 13 日目 「Java の例外めんどくさい」 - IT戦記

    IOException の catch に何を書いていいか分かりません><! はじめに 順番が前後しますが、今回は Java の特徴のひとつである例外機構についてです。 今回の範囲 223 ページ 〜 250 ページ 前回はこちら Effective Java 読書会 12 日目 「スレッド・セーフってなによ!!」 - IT戦記 Java の例外 throw 可能なオブジェクト Throwable インタフェースを実装したもの Exception を継承しない Throwable は基的に使わない チェック例外 メソッドの実装者が「呼び出し元が回復可能」だと考えている例外 ちゃんと「なぜ、例外だったのか」理由が提供されるべき 呼び出し元は try catch で囲むか throws 宣言を書く必要がある Exception を継承していて RuntimeException を継承していな

    hysa
    hysa 2010/03/25
    "複雑なDOMを構築するようなメソッドでエラーが発生した場合に DOM にゴミがいっぱいくっついた状態になってしまうことが多い/エラー発生時に内部で一回catch して綺麗にするなどエラーアトミックにしておくことが重要"
  • JavaScript は変数名に直接 Unicode Escape が書ける - IT戦記

    知ってました? var \u5929\u91CE = 'amachang'; alert(天野); // amachang var \u0068\u006f\u0067\u0065 = 'ほげ'; alert(hoge); // ほげ ついでに今回作ったエスケープ関数置いておきます。(Firefox Only) var unicodeEscape = function (s) { var d = ''; Array.prototype.forEach.call(s, function(c) { var s = c.charCodeAt().toString(16); d += '\\u'; for(var l = s.length; l < 4; l++) d += '0'; d += s; }); return d; }; 上の unicodeEscape 関数作ってて発見したんだけど

    JavaScript は変数名に直接 Unicode Escape が書ける - IT戦記
  • Effective Java 読書会 10 日目 「Java の基本テクニック集」 - IT戦記

    はじめに 読書会に参加していないところがあるので、そこは議事録を読みながら、なるべく自分の言葉で書いていきます! 読んだところ 175 ページ〜 222 ページ 前回はこちら Effective Java 読書会 9 日目 「Enum の拡張とアノテーション」 - IT戦記 引数の検査をきちんとして javadoc の @throws に書く IllegalArgumentException IndexOutOfBoundsException NullPointerException などは、事前に引数チェックして出す。たとえば、 OpenJDK の String(byte[], int, int, String) では、以下のような実装になっている、自分で引数チェックをして、その内容を明確に @throws に記述している。 // チェック関数 private static void c

    Effective Java 読書会 10 日目 「Java の基本テクニック集」 - IT戦記
    hysa
    hysa 2010/03/03
    "StringBuilder 使いましょう StringBuffer は無駄に synchronized なので遅い"
  • Effective Java 読書会 8 日目 「それ enum で出来るよ」 - IT戦記

    はじめに 今日読んだところ 143 ページ〜 159 ページ 前回はこちら Effective Java 読書会 7 日目 「PECS! PECS! PECS!」 - IT戦記 int 定数とか使わない 型安全じゃないから enum 使う enum Hoge { FOO, BAR; } 簡単 メソッドも持てる enum Hoge { FOO, BAR; void a() { /* (snip) */ } } で、以下のように使う Hoge.FOO.a(); シングルトンも 最近の Java では enum でやるらしい! switch 文の代わりに固有メソッド enum Hoge { FOO { void a() { /*snip*/ } }, BAR { void a() { /*snip*/ } }; abstract void a(); } 以下のコードが // これはダメ swit

    hysa
    hysa 2010/02/26
    enumの使い方。"switch 文の代わりに固有メソッド","戦略 enum"。
  • サーバーサイド jQuery をやってみる! - IT戦記

    最近、社内で PHP Spidermonkey が流行って(?)いるようです><! Cybozu Inside Out: SpiderMonkeyを使ってPHPでサーバーサイドJavaScript id:ama-ch さすがです>< というわけで 僕も、 PHP の Spidermonkey でどのくらいのことが出来るのか試してみました>< まず、 Hello, world! <?php // new して $js = new JSContext(); // print 関数作って $js->registerFunction(function($v) { print $v; }, 'print'); // こんにちはこんにちは! $js->evaluateScript('print("Hello, world!!")'); Hello, world!おおお、簡単! 次は、 id:m-hiy

    サーバーサイド jQuery をやってみる! - IT戦記
  • hCalendar を使って予定を公開しよう! - IT戦記

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

    hCalendar を使って予定を公開しよう! - IT戦記
  • ウェブページから NG ワードを消すグリースモンキー - IT戦記

    id:otsune さんの RT 論を読んで あと「公式RTだろうが非公式だろうが返信だろうが何でもいいけど、オレはタイムラインに◯◯の文字が見えるのが嫌なんだ」って要望は3年前から存在する。オレの持論は何十回も言ってるけど「すべてのブラウザはNGワード機能を搭載すべき」 @otsuneさんのRT論 - Togetter なるほどー、たしかしー というわけで グリースモンキーを書いて見たよ! こんな感じです 良かったら使ってください! NG ワードのところに好きな単語を書き込むと、その単語を含む要素が消滅します!*1 // ==UserScript== // @name NG Filter! // @namespace http://d.hatena.ne.jp/amachang/ // @include http://* // ==/UserScript== (function() {

    ウェブページから NG ワードを消すグリースモンキー - IT戦記
  • 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戦記
  • 昔のプレゼン資料の URL が変わります>< - IT戦記

    経緯 今まで色々なプレゼン資料を usrb.in ドメイン以下に置かせていただいていたのですが、そのマシンを別の用途に使うことになったらしいので、すべての資料を移動させることになりました。 対象の URL http://usrb.in/amachang/static 以下の URL は基的にすべてですが、主な URL は以下のものです。 http://usrb.in/amachang/static/gaiax01/ http://usrb.in/amachang/static/cssstudy/200701/ http://usrb.in/amachang/static/cssstudy/200701/haihu.html http://usrb.in/amachang/static/shibuyaes/ http://usrb.in/amachang/static/devsum/ ht

    昔のプレゼン資料の URL が変わります>< - IT戦記
  • IT戦記 - CSS の勉強会をしました

    2007 CSS Study Meeting http://artcode.g.hatena.ne.jp/keyword/2007%20CSS%20Study%20Meeting 発表をしましたので資料を置いておきます。 http://usrb.in/amachang/static/cssstudy/200701/ Firefox で動きます。IE でもぎりぎりうごきます。あ、でも、横長な表示域じゃないと崩れる可能性大です。 左右キーで操作してください。また、ソースは実行できるようになってるので、実際に実行しながら読んでいっていただけるとうれしいです。 他に事前に CSS のセレクタのバグリストとプロパティ一覧を作りました。 プロパティ一覧は element.style に辞書アタックを掛けて各種ブラウザから抽出したプロパティです。 http://usrb.in/amachang/stat

    IT戦記 - CSS の勉強会をしました