外部キー制約を定義したテーブルの削除 ~終わらないdrop table~

 

いつも通り

begin;

drop table table_name;

...

...

おわらない!

 

困った時の公式ドキュメント

http://www.postgresql.jp/document/9.2/html/sql-droptable.html

CASCADE

削除するテーブルに依存しているオブジェクト(ビューなど)を自動的に削除します。

drop table table_name cascade;

無事削除できた!

 

ちなみに・・・デフォルトは restrict が指定されてる

・RESTRICT

依存しているオブジェクトがある場合に、テーブルの削除を拒否します。 こちらがデフォルトです。
件数が少ないテーブルを対象としていたので、違うテーブルをdropしたかと思って焦りました。。

Facebookアプリ関連まとめ

 

Facebookアプリ作成に参考になりそうなサイトを調べたのでメモ

 

■fb.developers'+ / Facebookアプリ開発入門

http://fb.dev-plus.jp/column/column2/

とりあえず動くサンプルを試したい時に。

 

■ウォール投稿API参考

http://socialmedia.project0884.com/facebook/post_wall.php

Graph APIを使ってウォールに投稿する。

 

■GraphAPIテスト用

https://developers.facebook.com/tools/explorer

どのアクセストークンを使用すれば、どんな情報が取得できるかテスト出来る。

 

■fb.developers'+ / アクセス許可関連

http://fb.dev-plus.jp/reference/coreconcepts/api/permissions/

 

Mac OS X 10.8.2 Mountain Lion に Ghostscriptを導入する。

 

■必要なもの、あると楽なもの

X11

Xcode Command Line Tools

MacPorts

・Ghostscript

 

 

X11

UNIX系OSで利用されるグラフィカルユーザインターフェース(GUI)環境

Mountain Lionには入っていない or Mountain Lionアップデートすると削除されるとか。

このへんから入手する。

 

Xcode Command Line Tools

Xcodeを起動(インストールされていない場合はAppStoreから入手する)

メニューの

Xcode > Preferences > Downloads > Components > Command Line Tools

から install 

サイズは250MBくらい。

 

MacPorts

MacOSX 上で利用可能なパッケージシステム。OSSが簡単にインストールできるようになります。

このへんから入手する。

dmgからインストールしたら、ターミナルを開いて

sudo port -v selfupdate 実行!

sudo port install sl ↑が終わったら実行!

 

■Ghostcript

ターミナルで、

sudo port install ghostscript

でOK。MacPortパワー!

 

 

Eclipseでパスの指定方法にハマった。

EclipseでJavaIO関連のプログラムを書いていて、

パス指定でハマったので忘備録。

 

Ex :

・/javaIO/src/JavaIoClass.java がクラスファイル

・/javaIO/file/test.txt がテキストファイル

 

■誤

パスの取得or出力のコードを記述しているクラスファイルからの相対パスを指定する。

FileReader fileReader = new FileReader("../file/text.txt");

 

■正

プロジェクトフォルダからの相対パスor絶対パスで指定する。

FileReader fileReader = new FilreReader("file/test.txt");

Xcode 4.6 で プロジェクトに AdMob を導入時にハマった。その1

公式に記載の手順通り進めても、

Apple Mach-O Linker Error が出てBuild Failedに。

どうにか解決したので記録しておきます。

 

http://d.hatena.ne.jp/tanaponchikidun/20120618/1339979392

↑のブログ記事から原因はだいたいこの辺りと推測。

・追加したファイルがコンパイル対象に含まれていない。

・ファイル名が重複している場合にも同様のエラー文がでたり。

・必要なフレームワークが追加されていなかったり。

 

■対策その1 

Undefined symbols for architecture i386:

  "_OBJC_CLASS_$_ASIdentifierManager", referenced from:

      objc-class-ref in libGoogleAdMobAds.a(GADIdentifierUtilities.o)

  "_OBJC_CLASS_$_SKStoreProductViewController", referenced from:

      objc-class-ref in libGoogleAdMobAds.a(GADOpener.o)

  "_SKStoreProductParameterITunesItemIdentifier", referenced from:

      -[GADOpener openInAppStore:fallbackURLString:] in libGoogleAdMobAds.a(GADOpener.o)

ld: symbol(s) not found for architecture i386

clang: error: linker command failed with exit code 1 (use -v to see invocation)

 

と、エラーが出たので調べてみる。

SKStoreProductViewController

iOS6から追加されたアプリ内でApp Storeへ誘導し、そのままアプリから離脱するこなく購入できる機能

 

従来だと「広告をタップ」→「AppStoreアプリ起動」だったのが、

アプリ内で画面遷移のごとくViewが出てきてアプリの購入ができると。

広告を誤タップして別アプリが起動とか最悪ですからねー、こりゃ便利!

 

で、これを使うためには StoreKit.framework が必要とのこと。

AdMob公式ドキュメントには以下の4つでいいと、、

・AudioToolbox

・MessageUI

・SystemConfiguration

・CoreGraphics

 

ということで、

TARGETS → Buil Phases →  Link Binary With Libraries から

+ ボタンでStoreKit.framework を追加。

エラーその1解決!