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

  • IT アンカンファレンスをやってみたい! - IT戦記

    アンカンファレンスをやろう! みなさんは、アンカンファレンスというイベントのスタイルをご存知でしょうか。 先月、 id:AKIMOTO と「北陸で IT 系のイベントをやりたいね。」という話になり、「それなら、アンカンファレンスがいいよ」という話になりました。 アンカンファレンス?アンカンファレンスってなんでしょうか。 僕も知らなかったのですが、調べてみたところ、とっても面白そうでした。 なので、是非北陸で「IT 系でアンカンファレンス的なイベント」をやってみようということになったのです。 ↑突然、語りだす id:AKIMOTO のイメージ写真 じゃあ、アンカンファレンスって実際どんな感じのイベントになるの? では、シミュレーションもかねてイベントにいったつもりで書いてみます。 実際にイベントに行ったつもりで読んでくださいね>< レッツ、シミュレーション!! 会場に到着 まず、会場に到着す

    IT アンカンファレンスをやってみたい! - IT戦記
    harupiyo
    harupiyo 2009/12/03
  • 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戦記
    harupiyo
    harupiyo 2009/05/21
  • Y コンビネータって何? - IT戦記

    このエントリの 親友へ。ブログを書こう。 - IT戦記 y がブログを始めたみたいなので、読んでみた。 で、最新のエントリを読んでみたら、 Y コンビネータというものについて書いてあったので、 Y Combinatorが凄すぎる! - yuji1982の日記 Y コンビネータって何ってところから、自分でもいろいろ考えてみた。 結局なんなのかさっぱり分からなかったんですが、自分が考えたことをまとめておく まず、フィボナッチ数を求める fib を定義する var fib = function(n){ return (n <= 2) ? 1 : (arguments.callee(n-1) + arguments.callee(n-2)); }; fib(10); おお! JS すげー!名前は n しか使ってねーよ! めでたし、めでたし。。。。じゃなくて! JS が素晴らし過ぎて話が終わってしま

    Y コンビネータって何? - IT戦記
    harupiyo
    harupiyo 2009/04/12
  • ブラウザで X86 のマシン語を動かす! Google 謹製 Native Client をさっそく試してみる - IT戦記

    はじめに Google から、非常に面白そうなソフトウェアがリリースされました! その名も Native Client なんとブラウザ上で X86 のバイナリを動かしてしまうそうです。 これはすごい! さっそく試してみたいと思います。その過程を逐次更新していきます。 自分が試したときの環境 自分が試す環境は、以下の通りです。 Mac OS X Xcode の gcc (version 4.0.1 (Apple Inc. build 5465)) python 2.5.1 準備 では、さっそく準備をしましょう。 http://nativeclient.googlecode.com/svn/trunk/nacl/googleclient/native_client/documentation/getting_started.html を参考にやってみます。 環境一式をダウンロード まずは、以下

    ブラウザで X86 のマシン語を動かす! Google 謹製 Native Client をさっそく試してみる - IT戦記
    harupiyo
    harupiyo 2008/12/10
  • perl の Win32::GuiTest モジュールを使ってみる。 - IT戦記

    はじめに 久々の perl。突っ込まれるのを期待しつつやってみます。 準備 Strawberry Perl for Windows をインストール PATH を通して、コマンドプロンプトを起動して、 > cpan -i Win32::GuiTestでおk。 何から始めよう IE8 をどこまで操作できるかやってみる。 IE8 を起動 use strict; use warnings; use utf8; system('explorer http://www.google.co.jp/'); おおお。 IE8 のウィンドウハンドルを取得 use strict; use warnings; use utf8; use Data::Dumper; use Win32::GuiTest qw(:ALL); # これをやっておかないと中で shift-jis 前提で扱われるみたい UnicodeSe

    perl の Win32::GuiTest モジュールを使ってみる。 - IT戦記
    harupiyo
    harupiyo 2008/12/08
  • はてなブックマークのコンテンツの JavaScript を高速化する - IT戦記

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

    はてなブックマークのコンテンツの JavaScript を高速化する - IT戦記
    harupiyo
    harupiyo 2008/12/01
  • JavaScript はどのように実行されるか - IT戦記

    JavaScript はどのように実行されるか Safari*1 の実装を例に JavaScript はどのようにして実行されているかを書く。自分用のメモ。日語の出来は気にしない 1. ブラウザを起動して以下のようなページを開いたとする <html> <head> <script> var a = 1; var b = 2; alert(a + b); </script> </head> <body> </body> </html> 2. インターネットからデータが到着する そうすると WebCore::FrameLoader::write という関数に生の文字列が渡される。型は char* だ。 http://trac.webkit.org/browser/trunk/WebCore/loader/FrameLoader.cpp#L990 この関数の中では、到着した文字の文字コードを解

    JavaScript はどのように実行されるか - IT戦記
    harupiyo
    harupiyo 2008/10/31
  • JavaScript と SVG で swf ファイルを再生する JSplash が凄すぎる件について - IT戦記

    Spark勉強会 JSplashの資料を公開+α - 最速チュパカブラ研究会 なんじゃああこりゃああああ。まじすげー! ゼリー吹いた サンプルも SVG に対応しているブラウザ(Firefox, Safari, Opera 9.6)なら再生できるのでクリックしてみてください。 (追記)swf を flare 経由で JavaScript のコードに変換するみたいですね!

    JavaScript と SVG で swf ファイルを再生する JSplash が凄すぎる件について - IT戦記
    harupiyo
    harupiyo 2008/10/03
  • Safari4 と IE8 で実装された DOM Storage とは何か - IT戦記

    はじめに 皆様 JavaScript のスピード競争が激化し、 ECMAScript 3.1 の仕様の策定が進むなど、激動の JavaScript 時代をいかがお過ごしでしょうか。 さて今日は、今、ちまたで大ブレイクの兆しを見せている DOM Storage という仕様を紹介したいと思います。 DOM Storage とは何か まず、 DOM Storage とはどんなものなのでしょうか。 とても簡単に言ってしまえば、とてもたくさんのデータが保存できてサーバーに自動で送られない Cookie みたいなものです。 さらに、 Cookie とは違って JavaScript からとても扱い易く作られています。 では、この DOMStorage の具体的なソースコードを見てみましょう。 <!DOCTYPE html> <html> <head><title>DOMStorage の使い方</tit

    Safari4 と IE8 で実装された DOM Storage とは何か - IT戦記
    harupiyo
    harupiyo 2008/09/24
  • 優れたテストの重要性 - IT戦記

    JavaScript の進化 ここ 1, 2 年で JavaScript という言語は何倍も高速化されました。 それは何故でしょうか。 その要因を少し考えてみました。 SunSpider の出現 その一番の要因は、 JavaScript のパフォーマンステスト SunSpider ではないでしょうか。 SunSpider によって、シンプルで分かり易い JavaScript エンジンの指標が誰にでも分かる数字として提供されたのです。 これと似たような事例として、 acid2 test 、 acid3 test があります。 このテストも、レンダリングエンジンの正しさを分かり易い数字や絵として提供しました。 その結果、今日のウェブブラウザのレンダリングエンジンは目覚ましい進化を遂げたのです。 まとめ 進化の裏にはテストあり。 テストはソフトウェアの最良のマーケティング手段かも。 面白くて分か

    優れたテストの重要性 - IT戦記
    harupiyo
    harupiyo 2008/09/22
  • 今週こそは気になる「あそこ」に行こう!「あとで行く」タグまとめ。 - IT戦記

    連休なのに だらだらとインターネットを見ながら過ごしている人も多いのではないでしょうか。え?ぼ、僕もそうですけどね^^; 予定がないなら、作ればいいじゃない という訳で そんなときは「はてなブックマーク」の「あとで行く」タグを覗いてみましょう! タグ「あとで行く」 を検索 - はてなブックマーク タグ「後で行く」 を検索 - はてなブックマーク いますぐ行きたくなるようなステキな場所がいっぱいありますね! 幾つか紹介してみたいと思います それでは、いってみましょー error まずは、ここ。ヘビー漫画喫茶ユーザーの僕としては、一度は行ってみたい漫画喫茶ですね。 なんと、ペヤングべ放題!しかも、 5000 円で時間制限無し!すげー。行ってみたいー。 そして、公式サイトがブログってのもなんか良いですね。管理人さんとお客さんのコメントのやりとりがいい感じです。 Twitter のアカウントまで

    今週こそは気になる「あそこ」に行こう!「あとで行く」タグまとめ。 - IT戦記
    harupiyo
    harupiyo 2008/09/13
    こんなところに暇つぶしのネタが!
  • Google Chrome で Greasemokey。「Greasemetal」登場。 - IT戦記

    id:kazuhooku さんが Google Chrome の Greasemonkey を作ったみたいです>< 速い速すぎるよママン>< という訳で この前作った Pathtraq API を使って、はてブにアクセスチャートを出す Greasemonkey を作りました! - IT戦記 の User JavaScript を試してみた おおお。動いたー という訳で ちょろめユーザーは、れっつダウンロード! Greasemetal - an Userscript Runtime for Google Chrome

    Google Chrome で Greasemokey。「Greasemetal」登場。 - IT戦記
    harupiyo
    harupiyo 2008/09/11
  • document.createStyleSheet で動的に CSS を生成 - IT戦記

    今まで var element = document.createElement('style'); document.getElementsByTagName('head')[0].appendChild(element); if (ie) { var sheet = element.styleSheet; } else { var sheet = element.sheet; } みたいにやっていた。 ところが dojo のソースを眺めていたら IE には createStyleSheet という関数があるみたい。 createStyleSheet を使うとこうなる。 if (ie) { var sheet = document.createStyleSheet(); } else { var element = document.createElement('style'); doc

    document.createStyleSheet で動的に CSS を生成 - IT戦記
    harupiyo
    harupiyo 2008/09/09
    IE には createStyleSheet という関数があるみたい。
  • 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戦記
    harupiyo
    harupiyo 2008/08/29
  • 動的ローディング雑感 - IT戦記

    以下のエントリを読んで if(typeof external_script_onload=='function')external_script_onload("loaded"); こんな1行を追加します。もちろん、external_script_onloadって名前は任意です。 読み込む側はexternal_script_onloadにcallback関数を定義してあげればOKです。これで、Scriptが読み込まれて 実行された最後に、external_script_onloadが呼ばれることになります。 外部JavaScriptの動的ロード - os0x.blog これはかなりありなんじゃないかと思いました 例えば、以下のようなコードを // ... main code var ss = document.getElementsByTagName('script'); try { ss

    動的ローディング雑感 - IT戦記
    harupiyo
    harupiyo 2008/08/29
  • 【速報】IE8 Beta 2 で DOM オブジェクトに対して Getter / Setter を追加できるように! - IT戦記

    さっき IE8 Beta 2 が出ましたね! ということで、インストールをしてみました! で IE8 Beta 2 の DOM オブジェクトに以下の Getter Setter 用の関数群を発見! __defineGetter__ __defineSetter__ __lookupGetter__ __lookupSetter__ ちゃんと動いている見たいです! これは当にすごいです!感動! var body = document.body; // IE にだけ存在しない // textContent プロパティを body に作ってみる body.__defineGetter__( 'textContent', body.__lookupGetter__('innerText')); body.__defineSetter__( 'textContent', body.__lookup

    【速報】IE8 Beta 2 で DOM オブジェクトに対して Getter / Setter を追加できるように! - IT戦記
    harupiyo
    harupiyo 2008/08/29
    「IE にだけ存在しないtextContent プロパティを body に作ってみる」
  • 次の JavaScript の仕様はこうなる! ECMAScript 3.0 から 3.1 への変更点まとめ - IT戦記

    はじめに JavaScript の標準仕様である ECMAScript 3rd Edition (ECMAScript 3.0) が 9 年ぶりにバージョンアップしようとしています。 実は、これまでも様々なバージョンアップの案が上がっては消え、また上がっては消えていました。 しかし、今回のバージョンアップには今までと違う点が一つだけあります。 それは、現時点での主要な ECMAScript インタプリタ(JavaScript の実行エンジン)を作っている全団体(以下を参照)がこの仕様に同意したことです。 Mozilla (Firefox) Apple (Safari) Microsoft (Internet Explorer) Opera (Opera) Adobe (Flash) Yahoo (Yahoo Widget) Google この同意は JavaScript のこれからを大きく

    次の JavaScript の仕様はこうなる! ECMAScript 3.0 から 3.1 への変更点まとめ - IT戦記
    harupiyo
    harupiyo 2008/08/21
  • セキュリティ&プログラミングキャンプの資料に、上級者向けの章を追加しました - IT戦記

    はじめに けっこうレベルの高い人が混ざっていたので、いろいろと追記しました。 資料へのリンク http://svn.coderepos.org/share/docs/amachang/20080813-procamp2008/index.html 追記した内容一覧 18 よりディープな JavaScript の世界へ 18.1 関数の名前は、関数という値が入った変数名 18.2 関数は、関数に渡せる 18.3 オブジェクトを作ってみよう 18.4 同じ特性を持ったオブジェクトを作る 18.5 配列が継承しているオブジェクト 18.6 オブジェクト指向 19 Internet Explorer で動かすために 結論 id:javascripter は中学生なのに凄すぎる・・・!

    セキュリティ&プログラミングキャンプの資料に、上級者向けの章を追加しました - IT戦記
    harupiyo
    harupiyo 2008/08/16
  • Devel::Caller が便利すぎる件について - IT戦記

    こんなことを書いていたら Perl で JS の arguments.callee 的なことしようと思ってハマった - IT戦記 さっそく教えて貰えた>< http://d.hatena.ne.jp/tokuhirom/20080501/1209625789 ありがとうございます! さっそく使ってみた! 以下のコードを # test.pl use strict; use warnings; use Devel::Caller qw(caller_cv); sub { my $c = shift; print "$c \n"; caller_cv(0)->($c) if ($c --); }->(10); 実行! $ perl test.pl 10 9 8 7 6 5 4 3 2 1 0 $ おおおおおお。キタコレ!かなりシンプル! これで無名関数の再帰ができる>< id:tokuhirom

    Devel::Caller が便利すぎる件について - IT戦記
    harupiyo
    harupiyo 2008/08/15
  • プログラミングキャンプの講義資料を公開します - IT戦記

    はじめに もうすぐ講義が開始されるので、同じタイミングでここで講義資料を公開したいと思います。 JavaScript の難しいところとか、マニアックなことは一切使わずに「プログラミングの楽しさ」みたいなものを伝えられたら嬉しいです。 この資料のターゲットは、プログラミング初心者です。 リンク http://svn.coderepos.org/share/docs/amachang/20080813-procamp2008/index.html 注意 今日の学生の出来によって、会期中ちょこちょこ資料の内容が変わると思います。

    プログラミングキャンプの講義資料を公開します - IT戦記
    harupiyo
    harupiyo 2008/08/14