tmegos blog

Web developer

Google Cloud Messaging(GCM)はCross-Origin Resource Sharing(CORS)に対応してないらしい

Web Pushが動くデモサイトをhtmlとJavaScriptのみで作っていたら、Push時に以下のようなエラーになった。

Fetch API cannot load https://gcm-http.googleapis.com/gcm. Response to
preflight request doesn't pass access control check: No
'Access-Control-Allow-Origin' header is present on the requested
resource. Origin 'http://localhost' is therefore not allowed access. The
response had HTTP status code 405. If an opaque response serves your
needs, set the request's mode to 'no-cors' to fetch the resource with
CORS disabled.

どうやらGCMはクロスドメインに対応していないらしい。
PushはJavaScriptではなく別の仕組みを使わないといけないですね。

蛇足

FirefoxのWeb Pushサーバだとクロスドメインでも動く。

2016/03/06追記

Firefoxもクロスドメイン非対応になっていた。

Mroongaアップデート後にすること

年に一度のうるう肉の日でMroongaをアップデートしたあとにやったことをメモ

症状

MySQLが立ち上がらなくなっていた。
Mroongaが有効になっていなかった(以下のようなエラーになってしまう)。

mysql> select mroonga_command("tokenize TokenMecab 'テスト'");
ERROR 1305 (42000): FUNCTION hoge_db.mroonga_command does not exist
続きを読む

StationTV LinkをMacで使った時にハマったこと

  • 症状

MacでStationTV Linkを使った時に、ネットワークに接続されているのに、リストに何も表示されない。

 

 

f:id:tmegos:20160507094249p:plain

こんな感じで読み込み中の表示がずっと続く

 

続きを読む

Office for Macをインストールした後にすべきたったひとつのこと


Office for Macをインストールすると、互換に対応するために各種MSフォントがインストールされます。

これによってMacでもあの忌まわしきMSゴシックなどが利用でき、レイアウトが崩れること無く表示できます。

しかし困ったことに、このMSフォントはブラウザなどの文字にも適応され、Macを使っているのにMSゴシックでサイトを見る状態になってしまいます。

WindowsSafariを使っているような感覚に陥る


「せっかくMacを使っているのにヒラギノじゃないなんて!」
「フォントの利用を停止すればいいじゃない!」

というわけで設定方法です。

※2013/05/06追記
 すでに作成したOfficeファイルを読み込むと、Windowsフォントが反映されません。
 仕事等で利用される場合はフォント停止をしないようにお願いします。

  1. アプリケーションから「Font Book」を選択。
    ※Font BookはLaunchpadのその他にあります。

  2. 「コレクション」から「Windows Office Compatible」を選択します。
  3. この中にMSフォントが登録されています。あとは利用をしたくないフォント上で右クリック→「<フォント名>ファミリーを使用停止」を選択します。
    この時間違ってもフォントを削除しないようにしてください!
    ちなみに私はMSゴシック、MS Pゴシックメイリオの使用停止しました。

    使用を停止した後はこのようになります。
    メイリオは何故か日本語の項目に移動してしまいました。

これで設定は完了です。

もとの表示を取り戻しました!


なお、フォントの利用停止をしても、Office上では利用できるのでご安心を。

 

PHP4.4.9でopenssl1.0.0以上が入らない

PHP4系でしか動かないプロジェクトがあったので、PHP4.4.9をビルドしました。
SSLの動作検証も必要だったので、OpenSSLも追加しました。
しかし、makeした時に下のようなopenssl.cでエラーが大量に出てOpenSSLを有効にすることができません。

/usr/local/src/php-4.4.9/ext/openssl/openssl.c:1955: error: 'struct php_x509_request' has no member named 'priv_key_encrypt'
/usr/local/src/php-4.4.9/ext/openssl/openssl.c: In function 'zif_openssl_pkey_export':
/usr/local/src/php-4.4.9/ext/openssl/openssl.c:2006: error: 'struct php_x509_request' has no member named 'priv_key_encrypt'
make: *** [openssl.lo] Error


調べてみると、PHP4.4.9とOpenSSLが1.0.0以上だと、OpenSSLが入らないようです。

X Info Line - OpenSSL module for PHP 4.4.9 and OpenSSL version 1.0.0 and greater

親切なことにopenssl.cのパッチが作成されていたので、無事にビルドすることができました。

以下手順です。

続きを読む

Mountain Lion (というかJava7)で JSymphonicが文字化けする

導入

私は普段Macを利用していますが、音楽プレーヤーはWalkmanを使っています。
 最近発売されているWalkmanであれば、ドラッグアンドドロップで曲を転送できるのでMacでも問題ないのですが、私のWalkmanはNW-S605という機種で、転送ソフトが無ければ曲を送れません。

続きを読む