タグ

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

  • フェイスブック、ミクシィ、グリーで使われている OGP (Open Graph Protocol) とは何か - IT戦記

    みなさん、こんにちは お元気ですか?僕は元気です。 さて 最近よく、「いいね!」ボタンや「ミクシィチェック」ボタンによって、ウェブページを紹介し合う文化が少しずつ定着してきたなーと思います。 そんな中で、今後重要になってくるんじゃないかと思われる OGP (Open Graph Protocol)と言われる仕様があります。今日はそのことについて書いてみたいと思います。 OGP? おーじーぴー??とはなんでしょうか。 OGP とは 簡単に言うと「このウェブページは何のことを書いているか」という情報を、プログラムから読める形で HTML に付加する記述方法のことです。 まあ、普通のウェブページは人間が読めばだいたい何のことが書いてあるか分かりますよね。 ですが、プログラムは人間ほど頭が良くないので、そのウェブページ内の文章だけではそのページが何のことについて書かれているページなのか正確に識別す

    フェイスブック、ミクシィ、グリーで使われている OGP (Open Graph Protocol) とは何か - IT戦記
    twainy
    twainy 2011/01/17
  • フェイスブックの新 API でフェイスブックアプリのテストを自動化しよう。 - IT戦記

    みなさま お久しぶりです。最近フェイスブックアプリを作ったりしてますが、やっぱりテストが大変ですよね>< と思っていたら、今日以下のような API が公開されたみたいです! Test User - グラフAPI - ドキュメンテーション - 開発者向けFacebook アプリをインストールしている、テストユーザーを API で作ってそのユーザーを使ってテストできるようになるんですね! すばらしい! と、いうわけでさっそく試してみた。 まずはアプリの access_token ゲット! まずは、アプリの access_token を取得します。 以下のように POST してください。 $ curl -F grant_type=client_credentials -F client_id=ここにアプリケーションのID -F client_secret=ここにシークレットキー https://

    フェイスブックの新 API でフェイスブックアプリのテストを自動化しよう。 - IT戦記
  • Terminal.app を軽くする方法 - IT戦記

    プログラマの人は ずっとターミナル開きっぱなしって人多いですよね? Mac の場合 Terminal.app というターミナルがデフォルトで ついていて、それを開きっぱなしって人が多いんじゃないでしょうか。 問題点 Terminal.app をデフォルトの設定のまま使ってると問題点がある。 何か別の作業をした後に、久しぶりに Terminal.app をアクティブにすると、固まるのだ。 実はこれ、毎回相当ダメージを受ける。 で、解決策が分かった スクロールバッファを小さくすればいい。 なんとデフォルトの設定では無制限にスクロールバッファを保存する設定になっているのだ。 たまたま cat したファイルがものすごい容量だったなんてことよくあることなのに>< それが、全部スワップに入ってしまう。 スクロールバッファを小さくする方法 右上のメニューから「ターミナル」→「環境設定」→「設定」→「ウィ

    Terminal.app を軽くする方法 - IT戦記
    twainy
    twainy 2008/10/27
    iterm
  • Java でラムダ - IT戦記

    λ... λ... ちょっととおりますよ はじめに C++ Template の勉強をしていて、気がついた。 ネストした(内側から外側が見える)名前-値の空間が存在し 値から名前-値の空間を生成することが可能で その空間を生成するための情報を値として扱え 名前-値の空間の中の一つ以上の値を取り出せると ラムダが出来る。 という訳で Java でラムダを作ってみた import static java.lang.System.out; public class Hoge { public static void main (String args[]) { // チャーチ数 0 final λ zero = new λ () { λ call (final λ f) { return new λ () { λ call (final λ x) { return x; }}; }}; // チ

    Java でラムダ - IT戦記
    twainy
    twainy 2008/07/04
  • onclick 属性問題について - IT戦記

    気でやるならonclick属性は避けてライブラリを活用すべき - 帰ってきたHolyGrailとHoryGrailの区別がつかない日記 に関して この先、 HTML に onclick と書いても石を投げられないように書いておく>< 僕も onclick 属性がダメだと思っていた時代もありました。でも、今は時々使うなあ。 (あ、でも、 HTML と JS で分業している場合は、使わないほうがいいよね^^;そこだけは言っておく。) JavaScript 入門の記事を書くときに onclick 属性がダメだとしたら、いろいろ質的でないことを説明しなきゃいけない。 現状では onclick 属性が、もっとも簡単に HTML にイベントをマッピングできる方法だから、そんなに目くじらたてなくてもいいんじゃないかなあ? たとえば 以下は、クリック時に href に GET を送るための oncli

    onclick 属性問題について - IT戦記
  • MacBook 買った後にやったことまとめ - IT戦記

    ここに少しずつ追記していきます。 購入 Apple Store 渋谷店で amachang「一番安い MacBook ください」 店員「はい、こちらの 129,800 円のでございますね」 amachang「メモリ 2GB に増設してください」 店員「はい、141,000円くらいになります」 amachang「VMWare Fusion もください」 店員「はい、いま Mac を買うとキャンペーンで安くなりますので、 8,900 円になります」 amachang「わー!やった!」 amachang「ゲスト OS として Windows XP を入れたいんですけど、売ってたりします?」 店員「売ってませんねー」 amachang「わかりましたー」 店員「では、お会計しますー」 : 店員「では、メモリお取り付けしますので、 40 分ほどお待ちください」 amachang「付けてくれるんですね」

    MacBook 買った後にやったことまとめ - IT戦記
    twainy
    twainy 2008/03/19
    ついこないだ買ったばかりなんだけど、何か色々と入ってて微妙に邪魔だなあと思っていたのだが、そっかOS再インストールすればすっきりするのか
  • 1981 世代のエンジニアで集まってなんかしよう - IT戦記

    エロギークで有名な yusukebe さんの呼びかけ woremacxさんと同じ年生まれが発覚。amachangも1982年1月生まれなので同期! 81s結成じゃ!! http://d.hatena.ne.jp/kamawada/20071128/1196228938 ということで、他の 81s 世代(付近)のエンジニア集まろうよ! まだ IRC しかないみたいけど #1981@freenode どんどん参加しちゃおう! なんか楽しい事 しよう!

    1981 世代のエンジニアで集まってなんかしよう - IT戦記
    twainy
    twainy 2007/11/29
    79年orz みんな若いのな……はてなユーザの平均年齢っていくつくらいなんだろう
  • JavaScript-XPath をリリースしました!さあ、あなたも XPath を使おう!(解説付き) - IT戦記

    JavaScript-XPath とは JavaScript-XPath は、 DOM 3 XPath を実装していないブラウザに対して、実用的な速度で動作する DOM 3 XPath のエンジンを追加します。 一言で乱暴に言ってしまえば、どのブラウザでも document.evaluate って関数で XPath 使えるようになるよ!ってことです。 以下が公式サイトになります。 http://coderepos.org/share/wiki/JavaScript-XPath DOM 3 XPath ってなんなの!? めっちゃ簡単(で、ちょっとだけ適当)なDOM 3 XPath の説明をします><。 JavaScript でよく使う document.getElementById や document.getElementsByTagName って関数ありますよね? DOM 3 XPath

    JavaScript-XPath をリリースしました!さあ、あなたも XPath を使おう!(解説付き) - IT戦記
  • Shibuya.JS の資料「The next genaration of browsers」公開 - IT戦記

    Shibuya.JS の資料を公開します。 発表は時間がなくて飛ばし飛ばしになってしまいましてすみませんでした>< リンク 発表の資料 http://amachang.art-code.org/shibuyajs24/ ちなみに、資料のブラウザアイコンで黄色で囲ってあるやつは新しく実装されたという意味です。 発表の動画 at Google Video http://video.google.com/videoplay?docid=-7565816545804603660

    Shibuya.JS の資料「The next genaration of browsers」公開 - IT戦記
    twainy
    twainy 2007/09/18
    次世代ブラウザの機能
  • とてもシンプルに自分自身が属する script 要素を取得 - IT戦記

    グローバル領域に以下の一行を書く <script> var currentScript = (function (e) { if(e.nodeName.toLowerCase() == 'script') return e; return arguments.callee(e.lastChild) })(document); alert(currentScript); </script>こうすることで、currentScript はこの script 要素を指す。 いちおう説明 DOM は構築されるときに、上から順番に構築される。そして、script タグがあると、 script 要素を構築したあとに、スクリプトを実行する。 つまり、スクリプトが実行されたとき script 要素は今まさに作られたばかりであり、それよりも後ろの要素が存在しない。さらにこの script 要素を含むすべての要

    とてもシンプルに自分自身が属する script 要素を取得 - IT戦記
    twainy
    twainy 2006/12/03
    calleeによる再起実行
  • 関数を非同期化して汎用性を高める - IT戦記

    関数を非同期化する関数を作ってみた。 Function.prototype.asynchronize = function() { var f = this; return function() { var resultcb = function() {}; var failcb = function(e) { throw e }; if (typeof arguments[arguments.length - 1] == 'function') { resultcb = Array.prototype.pop.apply(arguments); if (typeof arguments[arguments.length - 1] == 'function') { failcb = Array.prototype.pop.apply(arguments); } } try { var re

    関数を非同期化して汎用性を高める - IT戦記
  • それすぐ実行!JavaScript! - IT戦記

    思った JavaScript はすぐに実行してみましょう! ブラウザの URL 入力欄に javascript:(function() { /*実行したいコードを書く*/ })()FireBug を使ってる人は、コンソール開いて実行したいコードを書く。 たとえばこんなことができます。 これらの例は僕が日頃使っているものです。 グローバルで使える関数を列挙する(Firefox Only) FireBug用 for(var n in window) if(typeof window[n]=='function')console.log(n); URL用 javascript:(function(){var b='';for(var n in window)if(typeof window[n]=='function')b+=n+"\n";alert(b)})() Object.prototyp

    それすぐ実行!JavaScript! - IT戦記
  • IT戦記 - mixiの C言語とC++言語コミュニティ が酷すぎる件に付いて

    mixiにはこんなコミュニティがあります。 C言語とC++言語コミュニティ コミュニティの説明 C言語やC++言語について情報を交換し合う場です。ソースをもとに議論したりします。 そんなコミュニティのはずだった。。。 しかし、このコミュニティのトピックは 教えてください 助けてください 誰か力になってください などなど、その 8 割が課題の丸投げのために建てられたトピックなのだ。 当然、トピックは毎回荒れる その結果、こんなコミュニティが出来ました。 C/C++の課題丸投げ コミュニティの説明 プログラミング言語CやC++についての、授業・講義・実験の課題を丸投げしちゃおう!きっとヒマジンの誰かがといてくれます。 仕事も研究も丸投げ問OK (☆゜-^)b 。。。。。。orz こんなバカな僕でも 日ITの未来がとても心配なのです。 こんなやつらが大人になって SE とか言って、白シャツに

    IT戦記 - mixiの C言語とC++言語コミュニティ が酷すぎる件に付いて
    twainy
    twainy 2006/10/19
    大学なんて場でしかないので大学を叩くのはおかしい。学問に興味があって入学する人ばかりでもないし、向学心が無いからって叩くのもおかしい。
  • 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 系の概念
  • IT戦記 - [javascript] JavaScript 1.7 の yield が凄すぎる件について

    Firefox 2.0 beta 1 が出ましたね^^ さっそく、新機能のひとつ、JavaScript 1.7 の yield を使ってみました。 まず yield の動作を試してみた。 var i = 1; var g = (function() {while(1) {yield i; i++}})(); alert(i); // 1 g.next(i); g.next(i); alert(i); // 2これで分かったこと。 なんと、 yield は関数を途中で終了させている。。。! 実は。 いままで、何度も関数を途中で終了できればなーと思っていた。 JavaScript 以外のほとんどの言語でそれが可能で、それが便利だからである。 それとはなにか、それとはスレッドである。 スレッドは CPU レベルで細かーく処理を止めて、いろんな処理の流れを同時に実行させているようなものだ。 yie

    IT戦記 - [javascript] JavaScript 1.7 の yield が凄すぎる件について
    twainy
    twainy 2006/08/05
    yieldを使ったスレッド処理。確かにありがたい機能だが、早く対応してよIE……
  • Catalyst勉強会資料 - IT戦記

    けっこう前ですが、会社の勉強会で Catalyst についてやりました もったいないので、共有しときます。 http://sample.ecmascript.jp/Catalyst.ppt そんな矢先ですが、 Catalyst が 5.7 になったようですね。ちょっと調査しないと

    Catalyst勉強会資料 - IT戦記
    twainy
    twainy 2006/07/12
    結構充実
  • FireBug に JavaScript デバッガが付いて便利すぎる件について - IT戦記

    Firebug を更新したら、またもや凄いことになってました。 まずはこれを見てください。 http://sample.ecmascript.jp/20060526.htm 要は JavaScriptをステップ実行しながら結果を確認できる。 変数の値をウォッチできる。 適当にブレークポイントを貼ってスタックを追えば、他人のサイトを簡単にハックできる。 うれしい!たのしい!こんにちわ! FireBug のインストール https://addons.mozilla.org/extensions/moreinfo.php?application=firefox&id=1843

    FireBug に JavaScript デバッガが付いて便利すぎる件について - IT戦記
  • ScriptaculousのEffect実行順序を管理するJSを作ってみた。 - IT戦記

    仕事で使おうと思って作ったら意外といい出来だったので公開してみる。 だうそろーど たとえば、こう書くと var element = $('block'); var planner = new EffectPlanner( [ { Move: [element, {x: 200, y: 200}] }, { Move: [element, {x: 0, y: 300}] }, { Move: [element, {x: 300, y: 0}] }, { Move: [element, {x: 0, y: -300}] }, { Move: [element, {x: -300, y: 0}], next: 1 } ] ); planner.start(); こうなる http://sample.ecmascript.jp/20060523-00.html たとえば、こう書くと var col

    ScriptaculousのEffect実行順序を管理するJSを作ってみた。 - IT戦記
  • IT戦記 - Shibuya.js Technical Talk #1 を終えて。

    皆様のお話し、とても勉強になりました。そして、楽しかったです。 自分自身にこのような機会を与えてくれた、id:secondlife さん及び Shibuya.js の皆様に感謝します。 また、別のテーマでも話せる機会があれば、ぜひ、挑戦してみたいと思います。 これからも、amachang をよろしくお願いします。 資料をアップしました。 http://sample.ecmascript.jp/20060414.ppt

    IT戦記 - Shibuya.js Technical Talk #1 を終えて。
    twainy
    twainy 2006/04/18
    JavaScriptの高速化について。
  • Prototype.js を使った JavaScript OOP 講座 #01

    社内の精鋭エンジニアを中心に定期的に勉強会をすることになった。んで、 JavaScript の講義は僕がやることになった。 資料を社内だけでとどめておくのはもったいないので、ここに公開していきます。社内の人も社外の人も読んでください。 講義の内容は基的にソース嫁。ソースレビュー形式。 ※ターゲットは JavaScript は書いたことない、オブジェクト指向言語プログラマ。 Section 00 Prototype.js の前に JavaScript のオブジェクトの概要・・・ オブジェクトを作ってみる。 var object = {};オブジェクトにメソッドとかプロパティを追加してみる。 var object = { field: 'IT戦士', method: function() { alert('hello ' + this.field); } }; object.method()

    Prototype.js を使った JavaScript OOP 講座 #01