タグ

amachangに関するhysaのブックマーク (43)

  • JavaScript アニメーションのデザインパターン

    JavaScript でアニメーションを作る アニメーションとは何? ビューを少しずつ回転、拡大縮小、移動、変色などを行い、連続的な動きを作る こんな感じ <div id="view">hoge</div> <script> var el = document.getElementById('view'); el.style.opacity = 1; setInterval(function() { el.style.opacity -= 0.01; }, 10); </script> なんで、あんな感じの書き方になるの? setInterval の意味が分からない こんな感じで書けないの? <div id="view">hoge</div> <script> var el = document.getElementById('view'); el.style.opacity = 1; w

  • 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戦記
  • ウェブアプリのセキュリティをちゃんと知ろう

    7. ウェブアプリの入力、処理、出力入出力ウェブサーバウェブアプリ(PHP など)外部 API サーバ(Facebook API 、決済会社など)入出力処理入出力データベースサーバ(MySQL など)ウェブブラウザ 10. ウェブサーバーを通したウェブブラウザからの入力の仕様を考えようPHP に入ってくる値は何かを知る可変長のバイト列 (文字列ではない!!)GET パラメータPOST パラメータアップロードファイルリクエストヘッダ (Cookie など)実際の処理に渡すべき値は何かを考える文字列か、バイト列か?文字コードは何か?(ウェブサーバーでバイト列を処理することってあまりないので、 PHP では基的に文字コードのバリデーションは必要だと思って良い)長さはどうか?どういう文法や構造を持つデータ?入力された値を実際の処理に渡すべき値かどうかを確認することを「バリデーション」という 11

    ウェブアプリのセキュリティをちゃんと知ろう
  • お金がない!どうしようとお悩みの方が見るサイト

    プロミスでは返済の振込先というのが決まっています。ここが振込先ですと書かれている銀行口座と同じ銀行の口座を持っていれば、まず間違いなく手数料の負担を減らすことができます。 プロミスはカードローン最短即日融資可能、またプロミスVisaカードというクレジットカード即日発行も可能な便利すぎるSMBCコンシューマーファイナンス株式会社の商品です。 借入をするときに初心者が間違いやすいことというのはいくつかありますが、間違ったとしても信用に傷がつかないとか損をしないというものであればそこまで大きな影響はないと思います。返済が遅れてしまって延滞になり、信用に傷がついたとかそういうことは絶対にやらないようにしなければなりませんし、損をするような金利で契約するなどもできるだけ避けたいところです。 損という意味では銀行口座の問題があります。これは返済をしっかりと行うために必要なのですが、その時にどこでもいい

  • 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)
  • Cybozu Inside Out: ScaleBench 公開

    どーもみなさま。こんにちは。 amachang と申します。 さて、ようやく ScaleBench というプロダクトが発表されましたね! ScaleBench のご紹介 で、僕もこれの開発に携わっていたのでちょっと技術的なことについて書いてみたいと思います。 ScaleBench とは ScaleBench とは、サイボウズ製品向けの負荷テストツールで Grinder というオープンソースの負荷テストツールをベースにしています。 Grinder とは Java を使った Web の負荷テストツールです。 Jython でシナリオ(ユーザがどう行動するか)を書いてそれを実行します。 またブラウザの操作を記録して、シナリオを自動で生成することもできたりします。 で、僕がこのプロジェクトで担当していたのが Grinder の改良、改造 シナリオ(バーチャルユーザがどのような順で負荷をかけていくか

    Cybozu Inside Out: ScaleBench 公開
    hysa
    hysa 2010/05/25
    負荷テスト
  • 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戦記
  • Google Slides: Sign-in

    Not your computer? Use a private browsing window to sign in. Learn more

  • 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戦記