カテゴリー : 2012年 9月

[jQuery] Proxy Pattern を使ってメソッドをオーバーライド

jQuery にて、Proxy Pattern というデザインパターンを使って alert メソッドをオーバーライドする方法を調べたのでメモ。

(function() {
  var proxied = window.alert;
  window.alert = function() {
    // ここに処理を追加する
    return proxied.apply(this, arguments);
  };
})();

以上です。

参考情報

Types – jQuery JavaScript Library はてなブックマーク - Types - jQuery JavaScript Library

override – JavaScript: Overriding alert() – Stack Overflow はてなブックマーク - override - JavaScript: Overriding alert() - Stack Overflow

必殺の .apply()フックを打つべし! 打つべし!(JavaScript おれおれ Advent Calendar 2011 – 17日目) | Ginpen.com はてなブックマーク - 必殺の .apply()フックを打つべし! 打つべし!(JavaScript おれおれ Advent Calendar 2011 – 17日目) | Ginpen.com

[Amazon] CloudFront の設定方法・手順メモ

Amazon CloudFront の設定方法や手順、参考リンクなどをメモ。

■ 公式ドキュメント

Amazon CloudFront(コンテンツ・ストリーミング配信サービス) | アマゾン ウェブ サービス (AWS 日本語) はてなブックマーク - Amazon CloudFront(コンテンツ・ストリーミング配信サービス) | アマゾン ウェブ サービス (AWS 日本語)

Amazon CloudFront FAQs | アマゾン ウェブ サービス(AWS 日本語) はてなブックマーク - Amazon CloudFront FAQs | アマゾン ウェブ サービス(AWS 日本語)

■ CloudFrontの設定手順が分かりやすいスライド

Awsmeister cloudfront20120611-slideshare用 from yasuhiro araki

■ CloudFront custom origin + (LAMP + WordPress & Really Static plugin)

CloudFront custom origin – 雑多なメモ Wiki版 はてなブックマーク - CloudFront custom origin - 雑多なメモ Wiki版

■ 最近の参考になる記事

今日からサポートされたCloudFrontの動的URLサポートのこまかい話 « debiancdn はてなブックマーク - 今日からサポートされたCloudFrontの動的URLサポートのこまかい話 « debiancdn

【AWS発表】Amazon CloudFrontが動的コンテンツをサポート – Amazon Web Services ブログ はてなブックマーク - 【AWS発表】Amazon CloudFrontが動的コンテンツをサポート - Amazon Web Services ブログ

■ ちょっと古いけど良いまとめ記事

Amazon CloudFrontの使用上の注意とTipsまとめ|Media Technology Labs (MTL) : メディアテクノロジーラボ はてなブックマーク - Amazon CloudFrontの使用上の注意とTipsまとめ|Media Technology Labs (MTL) : メディアテクノロジーラボ

Origin のホスト名部分を Cloud Front で発行された「Domain Name」で差し替えて、正常にコンテンツ(画像、CSSファイルなど)が表示されることを確認します。

[Rackspace cloud] Cloud Files のファイルのSSL用URL

Rackspace cloud というCDNサービスを使ってて、Cloud Files のファイルのURLは http でしか記載されておらず、https のURLを調べるのに苦労したので、備忘録としてメモ。

■ HTTP
 
http://1234567890-asdfghjklqwertyuiop.r01.cf1.rackcdn.com/sample.png
 
■ HTTPS (SSL)
 
https://1234567890-asdfghjklqwertyuiop.ssl.cf1.rackcdn.com/sample.png

上記の http の URL の r01 を ssl に置き換えてやることで、https のURLとして使うことができます。

以上です。

[CSS] Internet Explorer (IE)で a img リンク画像の枠線を消す方法

Internet Explorer で a img リンク画像の枠線を消す方法を調べたのでメモ。

全画像の枠線を消す

画像に枠線を表示させたい場合はほとんど無いと思うので、img タグで直接指定して大丈夫だと思います。

img {
    border-style:none;
}

子孫セレクタで a 要素の子孫要素である img 要素のみ枠線を消す

a img {
    border-style:none;
}

以上です。

参考情報

[Facebook] ページタブ(Page Tab)アプリのサイズは 810px*800px

Facebook のページタブ(Page Tab)アプリのサイズは 810px*800px です。

■ Page Tab アプリ

810px*800px

【参考】

タイムライン変更によって仕様が変わったFacebookのiframeページの移行ガイド :: Creatorish はてなブックマーク - タイムライン変更によって仕様が変わったFacebookのiframeページの移行ガイド :: Creatorish

新Facebookページをデザインする際のサイズとアプリページのサイズ変更方法 | memocarilog はてなブックマーク - 新Facebookページをデザインする際のサイズとアプリページのサイズ変更方法 | memocarilog

[Titanium Mobile] AttributeError: ‘CSSCompiler’ object has no attribute ‘code’

Titanium Mobile にて、github に上がっていたコードを clone してきて動かしてみようとしたらビルドできませんでした。

mattapperson/MASlidingMenu · GitHub はてなブックマーク - mattapperson/MASlidingMenu · GitHub

■ エラー内容

[ERROR] Error: Traceback (most recent call last):
  File "/Users/bakorer/Library/Application Support/Titanium/mobilesdk/osx/2.1.2.GA/iphone/builder.py", line 1003, in main
    asf.write(cssc.code)
AttributeError: 'CSSCompiler' object has no attribute 'code'

原因は、manifest ファイルを作っていないせいでした。

manifest

このファイルはTitanium Developer上で設定されたプロジェクトの情報を保存し、パッケージング時に用いるファイルのため、基本的に変更することはありません。

[引用元]:tiapp_xml – titanium-mobile-doc-ja – tiapp.xml, manifestについて – Appcelerator Titanium Mobileに関するドキュメントを日本語でまとめていくプロジェクト – Google Project Hosting はてなブックマーク - tiapp_xml - titanium-mobile-doc-ja - tiapp.xml, manifestについて - Appcelerator Titanium Mobileに関するドキュメントを日本語でまとめていくプロジェクト - Google Project Hosting

適当に新規プロジェクトを作成して、manifest ファイルを作成してこれを使えば解決しました。

以上です。

[PostgreSQL] ERROR: must be owner of extension plpgsql

PostgreSQL 8.0.4 から 9.1.5 にDBの移行作業で、pg_dump したデータをインポートしたら下記のようなエラーが発生しました。

CREATE EXTENSION
ERROR:  must be owner of extension plpgsql
 
WARNING:  no privileges could be revoked for "public"
WARNING:  no privileges were granted for "public"

DB を操作しているユーザに「スーパーユーザ」の権限を追加することで解決しました。

■ スーパーユーザ権限を追加する

postgres=# \du
                                         ロール一覧
 ロール名 |                                 属性                                 | メンバー 
----------+----------------------------------------------------------------------+----------
 newuser   | DBを作成できる                                                       | {}
 postgres | スーパーユーザ, ロールを作成できる, DBを作成できる, レプリケーション | {}
 
postgres=# ALTER USER newuser CREATEUSER ;
ALTER ROLE
 
postgres=# \du
                                         ロール一覧
 ロール名 |                                 属性                                 | メンバー 
----------+----------------------------------------------------------------------+----------
 newuser   | スーパーユーザ, DBを作成できる                                       | {}
 postgres | スーパーユーザ, ロールを作成できる, DBを作成できる, レプリケーション | {}

以上です。

【参考】

トリガーやファンクションのリストアが失敗していた。 – マンドクセェメモ はてなブックマーク - トリガーやファンクションのリストアが失敗していた。 - マンドクセェメモ

CREATE EXTENSION はてなブックマーク - CREATE EXTENSION

[Mac] Mountain Lion で PHP + Apache2 の設定方法

Mac の Mountain Lion にデフォルトでインストールされている PHP と Apache2 を使えるようにする設定方法を調べたのでメモ。

主にこの辺の記事を参考にします。

Mac OS X LionでApache、PHP、MySQLを動かす | HAPPY*TRAP

Mountain Lionでphp – komagata

DB はデフォルトでインストールされている PostgreSQL を使うか、MySQL を Homebrew もしくはソースからインストールして使います。

簡単にできる Mac OS X Lion に PHP + MySQL の開発環境を構築する方法 | ウェブル

MacBookAirでHomebrewを使ったMySQL 5.5.14のインストール | クラスメソッド開発ブログ

HomebrewでMySQLをインストールする時に知っておきたいこと | Macとかの雑記帳

Macでhomebrewを使ってMySqlのインストール – KRAKENBEAL RECORDS

以上です。

[Mac] Finder で隠しファイル(ドットファイル)を表示する設定方法

Mac の Finder で隠しファイル(ドットファイル)を表示する設定方法を調べたのでメモ。

■ 表示する設定

$ defaults write com.apple.finder AppleShowAllFiles TRUE
$ killall Finder

■ 非表示にする設定

$ defaults write com.apple.finder AppleShowAllFiles FALSE
$ killall Finder

以上です。

【参考】

MacのFinderで隠しファイルを表示する方法2つ – このブログは証明できない。 はてなブックマーク - MacのFinderで隠しファイルを表示する方法2つ - このブログは証明できない。

[Mac] .DS_Store ファイルを作成しない設定方法

Mac から Windows の共有ディスクにアクセスすると .DS_Store というファイルが各ディレクトリに作られてしまいます。

.DS_Store を作成しない設定方法は、Terminal にて下記のコマンドを実行後、再起動するだけでOKです。

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

以上です。

参考情報