SyntaxHighlighter

2011年10月8日土曜日

GAE/Jにてインデックスエラーでデプロイが失敗する場合の対処など


この記事は、下記の素晴らしい記事について、MAC環境での補足を行うものです。

GAE/J使いのためのインデックス削除ツール(y-kawazの日記)
http://d.hatena.ne.jp/y-kawaz/20100416/1271401890


MACの場合は

  1. http://code.google.com/intl/ja/appengine/downloads.html の「GoogleAppEngineLauncher-1.5.4.dmg」をダウンロード、マウントします。
  2. 中にある「GoogleAppEngineLauncher.app」をアプリケーションフォルダに移動
  3. 起動してメニューから「GoogleAppEngineLauncher」ー「Make Symlinks」で「/usr/local/bin」にappcfg.pyのエイリアス?を作成します。
  4. 適当な名前のディレクトリを作成し、その中に「app.yaml」ファイルを作成
  5. 「app.yaml」ファイルの中身はy-kawazさんとこの記事を参照
  6. 「appcfg.py vacuum_indexes 4のディレクトリ」をシェルから打って実行


以上でリンク先と同じように各インデックスのメンテについて聞いてきます。

ありがちなのは、カスタムインデックスが必要なクエリを書いており、ローカルではAutoGenerateのインデックスが効いているのだけれど、自分で定義するインデックス用XMLファイルに記述を写していない場合などです。
(500〜ってなエラーが出ると思います)

そんな場合は、

  1. インデックス削除
  2. カスタムインデックスファイルに記述を追加(Auto〜から移動ですね)
  3. (インデックス一覧からDeletingが消えてから)再度デプロイ

最後の再度デプロイはDeleting中でも一応いけましたが、念のためDeletingが消えてからのデプロイをオススメします。
インデックス削除は上記のケースでひとつだけ消した場合で2〜3分程度で終わりました。

2011年9月7日水曜日

Google Libraries API での書き方

Google Libraries API なんてのがあるんですね。
しかもバージョンを「1」と書いておけば1系の最新がリンクできるという・・・
(1.6と書けば1.6系の最新が取得できる)

開発者向けガイドはこちら(英語)

以下ポイント
  • JQueryを呼ぶだけならAPI Keyは指定しなくてもよい
  • jsapiのリンクを書くときは、typeが先に来てないと全く読み込んでくれない(常識??)
  • google.loadで呼ぶ場合は「google.setOnLoadCallback」で括ってやる必要がある
  • google.load使わないなら
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
    または
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
    と書ける


type が先にこないといけない件
×ダメ
<script src="https://www.google.com/jsapi" type="text/javascript"></script>
◯OK
<script type="text/javascript" src="https://www.google.com/jsapi"></script>

実際に書くとこんな感じ

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<title>Google Librries API お試し</title>

<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">

google.load("jquery", "1");
google.setOnLoadCallback(function()
{
  $(function() {
  	//hoge
  });

  //試しにバージョン表示
  alert($.fn.jquery);

});

</script>

</head>
<body>
  <p>contens</p>
</body>
</html>

いろんなライブラリを使うなら、いちいちgoogle.setOnLoadCallbackで括ってられないと思うので、load使わない下記の書き方のほうがいいかも。


<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">

  $(function() {
  	//hoge
  });

  //試しにバージョン表示
  alert($.fn.jquery);

</script>

2011年9月3日土曜日

今さらながら?改めて? AKG K420

久しぶりにK420を引っ張り出して聞いてみたわけです。

いやぁ・・・これ、こんな音良かったっけ!?ってくらいの感動!
やっぱり開放型は気持ちいいなぁ、ってのと、K420自体がイージー・リスニングにメッチャ向いてる気がする。
※解像度は高いけど、低音がそれなりに味付けされてる感じでモニタには向いてないかな?

音漏れOKな環境で音楽を楽しむのなら、1万円以下のベストバイはK420じゃない?
サウンドハウスとかで5000円切ってるし。コストパフォーマンス最高!

・・・と書いてはみたものの、外でヘッドホン使う人は音漏れ気にするし(電車とか)、自宅でヘッドホン使う人は音漏れOKではないシチュエーションが多そうだし。
スピーカーは高いから、ヘッドホンで高音質を!っていう層はどれくらいいるんだろう・・・?

興味のある人はヨドバシとかe☆イヤホンとかで試聴してみてくださいな


〜追記〜
T.M.Revolutionのcrosswise鳴らしたらシャリつき酷かった(汗
まぁ曲自体が元々後ろでキンキン鳴ってはいるのでどんなヘッドホンでもシャリシャリいうけれど。(esw9とかでも結構シャリついた。UEのSuperFi.5はそうでもない)