そもそもこのページにfacebookのjsあるじゃんか!

このエントリーをはてなブックマークに追加

そもそもこのページにfacebookのjsあるんですけどというコメントが・・・

muye.sh – 中国国内で発生しているwpkg.orgへのリダイレクト問題考察

今まさに中国国内からこれに遭遇している。そしてこのページもfacebook.netのjsが埋め込まれているためリダイレクトされる…

2015/04/28 15:56

なるほどもっともだ!
ということでGeoIPみて中国の場合にはTwitterとFBのスクリプト部分非表示にするようにした。

ちなみに使ったのはこれ、アクセスしてくる人のRemoteIPから国を判別できる。

中国国内で発生しているwpkg.orgへのリダイレクト問題考察

このエントリーをはてなブックマークに追加

いま中国国内からyahoo.co.jpのコンテンツとか海外系のコンテンツ開くと一回開いた後にwpkg.orgへリダイレクトされちゃう問題が流行ってる。
結論から言うといつもどおりのDNSポイズニング「だけ」のようだ。

※ 4/28 下部に中国国内DNSの追記情報あり

▽ 現象

  1. facebookのjsが呼ばれる

    http://connect.facebook.net/ja_JP/sdk.js

  2. なぜか下記にリダイレクトされる

    http://wpkg.org/my.js

  3. 結果が戻ってくる
    window.location.href = 'http://wpkg.org/';
  4. ブラウザで読み込んでる場合はこのJSにより、wpkg.orgへリダイレクトされる

▽ 何が起きてるか

  1. DNSポイズニングでconnect.facebook.netのIPが書き換えられてる
    # みんな大好きGoogleDNSにつなぐ
    > server 8.8.8.8
    Default server: 8.8.8.8
    Address: 8.8.8.8#53
    > connect.facebook.net
    Server:         8.8.8.8
    Address:        8.8.8.8#53
    
    Non-authoritative answer:
    connect.facebook.net    canonical name = connect.facebook.net.edgekey.net.
    connect.facebook.net.edgekey.net        canonical name = e3821.dspe1.akamaiedge.net.
    Name:   e3821.dspe1.akamaiedge.net
    Address: 23.67.175.139
    
    # 中国電信の糞DNSに変更する
    > server 202.96.209.133
    Default server: 202.96.209.133
    Address: 202.96.209.133#53
    > connect.facebook.net
    Server:         202.96.209.133
    Address:        202.96.209.133#53
    
    Non-authoritative answer:
    Name:   connect.facebook.net
    Address: 148.251.0.55
    
  2. wpkg.orgのサーバーの設定の問題
    wpkg.org以外のドメイン(例外あるっぽいけど)でアクセスされたらwpkg.orgへリダイレクトする

    http://148.251.0.55/aaaaaaaaaaaaaaaaaaaaaaaaaa

    更に、拡張子がjsだとどんなURLであっても必ず/my.jsへリダイレクトする

    http://148.251.0.55/a/b/c/d/e/f/g.js

  3. 結果としてDNSポイズニングで148.251.0.55に書き換えられたドメインのJSは全てmy.jsへと書き換えられるので、Facebookコネクトを導入しているサイトは全てwpkg.orgへと飛ばされてしまう

▽ 対応方法

一度ブラウザキャッシュとDNSキャッシュが汚染されるとVPN使ってもダメなので下記2点を実施すると良い

  1. ブラウザのコンテンツキャッシュをクリアする(Cookieとかはそのままで問題ない)
  2. DNSをGoogleのDNS(8.8.8.8 / 8.8.4.4)など信頼のおけるDNSに設定する
    追記分: アリババが公開DNS(233.5.5.5 / 233.6.6.6)の提供をしている。少なくとも電信のDNSよりはずっと信頼できるのでオフィスではこれを採用することにした。

▽ 誰がこのクソッタレな真似をしてるのか

多分軍とか政府だと思う。電信のデータセンターを運営してる組織とそういう組織がつながってんじゃないかと同僚とかは言ってるでどどこまで本当なのかわからない。

▽ 参考

メモ: SinaAppEngineの利用開始

このエントリーをはてなブックマークに追加

中国のPaaS急先鋒であるSinaAppEngine(通称SAE)の登録方法のメモ。
現時点でSAEではPHP、Java、Pythonが利用できる。確か2年ぐらい前にRubyもいけるようになるとか言ってたけどどうなったのか・・・

まず新浪微薄(http://weibo.com/?lang=en-us)のアカウントが必須となる。
メールアドレスとニックネーム、誕生日を入力すれば登録できるので、あとは登録後に届くアクティベーションメールのリンクをクリックすればWeiboのアカウント作成は完了する。

次にSinaAppEngine(http://sae.sina.com.cn/)を開き右上のRegisterを押下するとWeiboのアカウント入力欄(授权 SAE新浪云计算平台 访问你的微博帐号 ,并同时登录新浪微博)が出てくるので上記で登録したメアドとパスを入力して登録と書いてある赤いボタンを押下する。(要するにOAuth2で「SAE新浪云计算平台」というアプリのを認証している)
すると、「SAE新浪云计算平台」によるアクセスを許可するかどうか許可を求めてくるので赤い「授权」というボタンを押下する。

「第二歩 安全設定」という画面に切り替わるので下記を入力する。

  • 真实姓名
    氏名を入力、まあ適当でも良いと思う
  • 安全邮箱
    このSAEアカウント用のメールアドレス
  • 安全密码
    このSAEアカウント用のパスワード
  • 确认密码
    パスワード再入力
  • 绑定手机
    SMS認証をかけるので携帯電話を入力、国際SMSが使えるのか不明。なので日本なら+8190********とかになるのかな?
  • 联系电话
    上記と同じで良い
  • 验证码
    CAPTCHA入力
  • その他
    利用許諾チェックボックスをチェック

これで、SMSで届いた検証番号入力画面になるので届いた番号を入れて、最初のウェブアプリケーションを登録する感じだったと思う。
http://*****.sinaapp.com/ こんな感じでアプリケーションコンテキスト毎に専用サブドメインを貰える。

ちなみに身分証明書の確認は飛ばしても良い。身分証明書の登録をして開発者として認証されると云豆というSAE上での仮想通貨のポイントが2,000ポイントもらえる。標準では500ポイント入ってるので各クラウドの利用料はそっから払う感じになる。

各種ドキュメントはまあ中国語になるんだけど、コード見ればわかると思う。

MT6589搭載の中華スマホ「小采G6」を購入 その2

このエントリーをはてなブックマークに追加

※追記 飽きたので更新しないことにした。

なんか3回ぐらいで終わるつもりだったのだがこれ面白くてすぐに終わりそうにないな・・・。
今回は、基本スペックとカメラのレビュー、次回「その3」ではデュアルSIMとかのレビューと隠しモードの起動方法、「その4」以降ではRoot化、ファームウェアの書き換え等を扱いたい。

▽ とりあえず速報
直近で言うとフォーラム(小采手机官方论坛)で官方ROM(GuanFang グアンファン: オフィシャルの意味)の1.0.6が公開されておりそれを焼きこみ、Root化、標準Android化を行ってみた。恐らく現時点でG6を入手した方の大半はROMバージョンが1.0.2であると思われるが1.0.6にすることで下記が大幅に改善されている。

  • カメラのオートフォーカスが酷い問題
    反応が速くなっている、夜景ピンぼけ問題も解決してるかもしれない(未確認)
  • ビデオのフォーカスがそもそも動かない問題
    治ってる、ちゃんとフォーカスされまともな動画が撮影できるようになってる
  • タッチパネルの反応が悪い問題
    かなり良くなってる感じがする

ただし、一方では1.0.2では標準だったGooglePlayなどのオリジナルのAndroidとしての機能が消されて、中国国内向け仕様に近いものに変化しているので、1.0.6を入れる人は美化(MeiHua メイフア: アメリカ化、転じてオリジナルAndroid化)作業が必要となるので注意する必要がある。
また、公式フォーラムでは下記のトピックが熱いようだ

  • マルチタッチが2点しか認識しない件に対する公式回答
    关于小采先锋版G6两点触摸处理公告 – 官方公告
    5点式でないためリコールを行うことも検討したが現在5点式センサーが大変品薄のため難しい、2点式では5点式と比べユーザー体験が損なわれることを把握している、そのため2点式で構わない人には電池と保護フィルムをプレゼント、不満がある人には送り返してくれれば返金対応するとのこと
    ※ ただし、ここで言う返金とかの対応がTaobaoで購入した人に当てはまるのかは不明、公式ページで購入した人のみなのかもしれない
  • 画面エッジでの反応が悪い件について
    关于屏幕解锁和边缘盲区解决问题 – 官方公告
    現行のROM(1.0.6?1.0.2?)で反応が悪い部分については4.2へのチューニングによる弊害で5/8から2日程度で修正が完了する予定であるとのこと(5/13時点 まだ出てないw)

とまあ、この辺の動きを見る限り・・・・

どう考えてもハードもソフトもプロトタイプで出荷して公開ベータテストやってる

という感じが否めないが、これもまた山寨スマホの面白いとこ、ROMもアグレッシブにでてくるので当面は楽しめそうである。
また中国語になるが、ユーザーは公式フォーラムに登録しておくと良いかもしれない。

Continue Reading »

MT6589搭載の中華スマホ「小采G6」を購入 その1

このエントリーをはてなブックマークに追加

4月末に発売になった山寨手机(ShanZhai ShouJi シャンジャイ ショウジー)の小采G6(Xiaocai シャオツァイ)を購入してみたので簡単なレビューを書いてみる。

▽ はじめに山寨手机とはなんなのか?
山寨偽物、模造品、潜りの零細メーカーによる粗悪品、政府の認証が行われていない品などの総称であり、特徴としては低価格、多機能、中性能、低品質、デュアルSIMがあげられる。山寨メーカーの多くは広東省深圳(深セン)界隈の電子部品メーカーと言われ、古くはNOKIAやMOTO、SonyEricson、Samsungの功能手机(フューチャーフォン)の模造品を作ったりしていたが、近年はオープンソースであるAndroidを取り込みSamsungのGalaxyやiPhoneの高度な模造品まで登場し、オリジナルモデルを発売するメーカーまで登場している。
とはいえいくら何でもハイテクの象徴で特許ひしめく携帯電話である、そんなものが田舎の零細企業に作れるわけがないと思うのも最もである。
これには当然ながらからくりがあり裏には台湾のMediaTek(联发科)という会社の存在がある。 この会社はMTK平台(PingTai ピンタイ:プラットフォーム)と呼ばれるOSセットのリファレンスキットをメーカーに提供し、山寨メーカーはこのキットをベースに筐体のカスタマイズ、ソフトフェアのカスタマイズを行うことで迅速かつ低コストに模造品を作り出すことができるという具合である。直接は偽物を作っていないわけだがどう考えても限りなくグレーであるw
基本的に中国で流通している山寨ケータイはほぼ全てMTKを採用していると考えて間違いない(と百度百科先生もおっしゃっている)。
ちょっと前まではほとんどWindowsCEベースのシステムを使いテーマをSymbian風にしたりiOS風にしたりしていたと記憶しているが、このMTK平台がチップの高機能化と共にAndroidを採用したようだ。ついに人民は山寨智能手机(ShanZhai ZhiNeng ShouJi シャンジャイジーナンショウジー: 山寨スマホの事)を手にするに至ったのである。

とは言え、山寨メーカーの名誉のために言っておくと模造品ばかりではなく独自のデザインや機能を搭載してまっとう(かどうかはわからないがw)に製品開発を行いオリジナリティあふれる携帯を市場に出していたりもするので一概に模造品、偽造品と侮ることはできない。

▽ 山寨手机に搭載されているチップ
MTK Chip
では山寨ケータイに搭載されているチップにはどういう種類があるのか?フューチャーフォンについては省略するが興味がある人はMediaTekのページを見てみて欲しい。スマホについてはオフィシャルでリリースされているだけで下記の4種類、これとは別に近々廉価版のMT6589Mが出るとの話もある。

型番 説明
MT6573 クアッドバンド、3G/HSPA、650MHzのARM11、3Dグラフィックス、FWVGA 30fpsでの動画撮影と再生、8MPの静止画
MT6575 デュアルSIM、CortexA9コアの1GHzCPU、PowerVR SGX Series5の3Dグラフィックス、720p動画、8MP静止画、qHD(960×540)の画面解像度
MT6577 6575をベースにCPUがデュアルコアになってICSがサポートされる。6575とピン互換。
MT6589 デュアルSIM、CortexA7コアのクアッド、PowerVR SGX Series5XT、UMTS Rel. 8/HSPA+/TD-SCDMAへの対応、1080p動画、13MP静止画、FullHD(1920×1080)の画面解像度、28nmプロセスルールの採用

正直6575以前のものは性能的にも残念な感じで、6577当たりから搭載メモリが1GBのものが市場に出てきて、6589でおおっ!という感じがある。6589で特筆すべきはARMのbig.Littleアーキテクチャ(A15&A7)の一翼を担う省電力チップA7コアをクアッドにしたことと、TD-SCDMA(中国3G)への対応、28nmプロセスルールの採用である。こうしてスペックを見るとLTE対応を除けばMT6589は十分メインストリームで戦えるチップと考えられる。

ちなみに今回自分が購入した小采G6はMT6589を搭載している。

▽ 小采G6の購入と開封
taobaoで、ようやく本題に入るのだが、1000元以下携帯として話題になった小采G6という山寨スマホをみんな大好きタオバオ(淘宝网)にて999元(約16,000円)で購入した。大体3日ほどで届き山寨ケータイの品質で初期トラブル(と感じる事象)も特になかった。
ちなみにMT6589を搭載したスマホは今年の頭ぐらいからちらほら出始めてスペックとしてはメモリ1GB、1280×720で5インチ前後、価格は1,000元〜1,300元というのが相場となっている。

なおG6は深センの优冠集利工贸有限公司(YouGuanJiLi)という会社の小采ブランドのフラッグシップ機であり専用のフォーラム兼ホームページ(http://www.coko.com.cn/)を開設したりと結構気合が入っている。

ちなみに公式スペックとしては

MT6589(Cortex-A7 クアッド 1.2GHz / PowerVR SGX 544MP)、RAM 1GB、ストレージ 8GB(そんなにない、3GBぐらい)、500MPフロントカメラ、1300MPリアカメラ、1280×720の5インチ液晶(293DPI)、デュアルSIM(WCDMA&GSM/TD-SCDMA&GSM/GSM&GSM)、Bruetooth4.0、Wifi、FMラジオ、2500mAhバッテリー、MicroSDスロット、Android4.2.1を採用、デュアルブートシステム(実装されてない)

という感じ、ただ山寨ケータイ全般に言えるのだけど売り場のスペックは全く当てにならない、メモリの単位がGHzだったり、ストレージの容量が適当だったりといった状態なので正直届いて確認するまでどんなもんかわからない。特に今後MT6589Mが登場するとなると6589のふりをして売ったりということも十分考えられるので注意が必要だったりする。そもそもこの小采G6も、裏蓋の中身には诚基G6と書いてあり、何かの変数にはLIANDAIと書き込まれているという状態である。また次回以降に書くがコストダウンのために幾つかのセンサーも搭載されていなかったりする。

それではこのあと、ようやく開封

Continue Reading »

Ubuntu12.04利用時の諸設定1

このエントリーをはてなブックマークに追加

日常で使っていて色々と不安定な部分が出てきたのでそれらの解決方法等をメモしとく

▽ 突然compizのプロセスが100%になって画面が固まる件

使っているビデオカードはかなり古いGeForce 9400 GTでドライバはnouveau(OSS版のドライバ)を利用していて、GnomeShellで3Dアクセラレーションを有効にしている。

現象としては利用中に突然画面が固まり(マウスポインタは動く)応答しなくなる状態になる。全然応答しないし“Ctrl + Alt + F1”とかも効かずまるでフリーズしたみたいになるのだけど、別端末からtopしてプロセス監視してると固まってる時にcompizだけ100%になっている。1、2分するとフリーズが解け普通に利用できるようになる。

感覚としてはFirefoxで重いページ開いたり、Flashが入ってるページを開いた時に発生する感じなんだけど定かではない。

で調べてみるとどうもバグらしくcompizとnouveauの組み合わせ時に発生するらしい。

Bug #1044060 “nouveau causes compiz and gnome-shell to use 100% …” : Bugs : “xserver-xorg-video-nouveau” package : Ubuntu

Since this problem happens at times I’m not doing anything but reading what’s already in the browser and trying to scroll down to read more, I think the problem is caused by something done on a schedule. Since update-notifier always seems to come up eventually on reboot or ctrl-alt-backspace, it would seem like update-notifier is somehow causing compiz to use 100% cpu at times.

で、下の方へ読み進めると

But if it was then it looks like your issue is the the nouveau driver’s failure to sync to vblank. That’s a known problem and is fixed by adding to /etc/X11/xorg.conf:

Section “Device”
Identifier “My Graphics”
Driver “nouveau”
Option “GLXVBlank” “on”
EndSection

But it’s only a theory and you probably did miss the spike, in which case that’s not the real problem here.

とか応急処置が書いてあって、この対応を行うとだいぶ安定した。ちなみに更に読んでくと、Additional Drvier(NVidiaの非OSSドライバ)を使って検証した場合は発生しないとのことなのでnouveauのバグっぽいねみたいな感じになってる。

– compiz uses 100% cpu seemingly at random but maybe related to update-
– notifier
+ nouveau causes compiz and gnome-shell to use 100% CPU. nvidia-current
+ works.

対応方法は下記いずれか:

  1.  nouveauを使うなら/etc/X11/xorg.conf でGLXVBlankオプションをonにする
  2. Additional Driverでcurrentの非公開ドライバを利用する

▽ ChromeでYoutubeとかのFlashによるビデオを見るとなんか1.5倍から2倍ぐらいのスピードで再生されてジッターノイズしか聞こえない件

まあなんかこれもバグっぽいのだけど下記に対応方法が書いてある。

How do I configure Chrome to use the system installed Flash instead of the bundled one? – Ask Ubuntu

要するにプラグインを差し替えろという話が書いてあるのだけど、12.04とはちょっとパスが違うので下記のように対応すると良い

 

sudo apt-get install flashplugin-installer
sudo mkdir -p /opt/google/chrome/plugins
sudo cp /usr/lib/flashplugin-installer/libflashplayer.so /opt/google/chrome/plugins

以上で正常に動画が再生されるようになる。

MySQL WorkbenchがCrashしまくる件

このエントリーをはてなブックマークに追加

職場、自宅、モバイル共にいずれも12.04への置き換えを完了したのだけど12.04になってからUbuntuのリポジトリから入れたMySQL Workbenchがクローズ時にCrashしまくって大変に困っている。
で、探すといくつか出るんだけどこの対策をしたら解決した。

MySQL Workbench on Ubuntu 12.04 doesn’t starts after latest (Jun12) updates – Ask Ubuntu

MySQL workbench was working fine till today. I installed the regular updates and now its just doesnt starts. When started its just shows the ‘opening screen’ and nothing happens.

Answers:
Canonical and God knows what went wrong. But here is a fix:
Download:
For 64 bit systems: http://launchpadlibrarian.net/56565535/libzip1_0.9-3ubuntu0.1_amd64.deb
For 32 bit systems: http://launchpadlibrarian.net/56565266/libzip1_0.9-3ubuntu0.1_i386.deb
Once downloaded, double click to install.
Now Download the latest version of My SQL workbench, Its for 11.10 but will work on 12.04. Make sure you download the version (32bit or 64 bit) suitable to you: http://www.mysql.com/downloads/workbench/#downloads
Once downloaded, double click on it to install.

 

Ubuntu12.04LTSの初期環境整備メモ

このエントリーをはてなブックマークに追加

世の中MBAが流行していますがコマンドキー(漢字の井みたいなマークのやつ)が不快で、触ると蕁麻疹が出てしまいMacの勉強がすすみません。でも、サポートも切れるしいつまでもUbuntu 10.04じゃだめだ!ということでようやく12.04に移行しましたのでメモ。

Gnome3 DeskTop

▽ とりあえず日本語関係
最近はなんか本家から落として入れることが多いので、とりあえずUbuntu Japanese Teamの追加パッケージを入れておく

wget -q https://www.ubuntulinux.jp/ubuntu-ja-archive-keyring.gpg -O- | sudo apt-key add -
wget -q https://www.ubuntulinux.jp/ubuntu-jp-ppa-keyring.gpg -O- | sudo apt-key add -
sudo wget https://www.ubuntulinux.jp/sources.list.d/precise.list -O /etc/apt/sources.list.d/ubuntu-ja.list
sudo apt-get update
sudo apt-get install ubuntu-defaults-ja

▽ IME関係
中国におりますので当然ながらPinYin入力も入れる。日本語はMozc、中国語はGooglePinYinを使う。

sudo apt-get install ibus-googlepinyin ibus-mozc

キーアサインについて、Gnome3では馴染みのAlt-Graveがすでにアサインされているため、解除してアサインしなおし・・・で動くらしいんだけどUbuntu上だとどうもAlt-Graveのアサインが解除できない。しょうがないので下記でアサインする。

  • iBusのON/OFF
    Control+Shift+Space
  • IMEの切り替え
    Alt+Shift

なぜかiBusのインジケーターがチカチカと点滅しちゃう問題があるのだけどこれはバグだそうだ。
Bug #1034872 “ibus icon blinks in status bar as switching among …” : Bugs : “ubuntu-mono” package : Ubuntu
原因としては、インジケーターに表示されるinput-keyboard.svgのサイズが22×22でなければならないのに22×23になっているために発生する。先ほどのバグリポート画面から修正済みのSVGをDLしてから手動で置き換えてやれば良い。

wget https://bugs.launchpad.net/ubuntu/+source/ubuntu-mono/+bug/1034872/+attachment/3254385/+files/input-keyboard.svg
sudo mv /usr/share/icons/ubuntu-mono-dark/status/22/input-keyboard.svg
/usr/share/icons/ubuntu-mono-dark/status/22/input-keyboard.svg.original
sudo cp input-keyboard.svg /usr/share/icons/ubuntu-mono-dark/status/22/input-keyboard.svg

Continue Reading »

日本人が大陸中国人と上手にやってくポイント

このエントリーをはてなブックマークに追加

今回は技術の話題じゃないです。
日本人が大陸中国人のチームと仲良く、効率よく仕事するにあたってのポイントをまとめる機会があったので公開します。

政治面で衝突することが多くなってきたとはいえ、やはり大陸の中国人と一緒に仕事をする機会は非常に多いと思います。そんな中で習慣や文化の違いから感情的にすれ違ってしまい、お互いが能力を出しきれないばかりかチームとして機能しない事態に陥ってしまうと言うような不幸な話をたまに聞きます。
そんな不幸な事態を避けるため、約7年間中国上海を中心に中国の人と仕事をさせてもらって自分なりに気がついたポイントです。

  1. バカ、バカヤロウ、アホという単語の利用、および罵倒は何があってもしない
    抗日映画等でこの辺の単語は誰でも知っています。日本で使うよりもずっと深刻な意味を持つため、1度でも使ってしまうとそのあとの信頼関係の構築が不可能になります。
    だから中国人は、日本人は・・・、日本では・・・という言い方も非常にマズいです。北野武風に言うなら「ファッキンジャップくらいわかるよバカ野郎!」ということです。
  2. 日本人と中国人は髪と目と肌の色、漢字と箸を使う以外に共通点は無いという事を自覚する
    共通点も多いので日本人は我々の常識と異なる異文化的な振る舞いをされたときに傷ついてしまいそれが相手に対する嫌悪感に繋がりがちです。相手は文化のまったく異なるアメリカ人なんだ!と考えてみましょう。
  3. 何か問題が起きても必ず意見や、言い訳を聞いてあげてから話をする。面子を潰さない
    面子を大事にしてください。基本的に必ず言い分があり、実際もっともな言い分も多々あります。なのでまずは話を聞いてあげ、君を攻めてる訳じゃない、こうするともっと良いよと話をしてあげないと不満を募らせ互いに不幸な結末を迎える可能性が高くなります。
  4. 仕事を任せたら最後にお互いにもう一度だけ前提と目標、完了地点を確認する
    せっかちな中国の人はOK、OKと言うかもしれません。まったく悪気はないです。でもここはなぜ確認するかの事情を話した上(信用してないわけじゃないと言う意味)で、互いにもう一度確認をしましょう。
  5. 日中関係、共○党、政治的な話題は冗談でも絶対にふらない
    感情的なもつれを生じたりしますし、共○党の団員の人も沢山いますので、状況によっては公安に目をつけられるなどの大きなトラブルになります 。
    仮に飲み会や接待の場でそのような話題を振られたとしたら、「互いの国には非常に不幸な歴史があり個人的にはそれを非常に遺憾に思っている」、「現在でもいくつかの問題を抱えているが長期的な友好関係に問題はない」と言ったような意見の表明をすればよっぽどの事がないかぎりはそれ以上踏み込んできません。
    ※ それでもまあ昔知人の知り合いのおばちゃんから延々30分ぐらい戦時中の日本の行いについて説教された事がありますが、その頃は殆ど何言ってるか分かりませんでしたw
  6. 通訳の人に感情をぶつけない
    通訳の人はその怒りや暴言を翻訳することはほぼありえないので、単に通訳の人のストレスが高くなりせっかく業務用語を覚えてくれた通訳の方が潰れてしまうだけです。
    例えば顔を真っ赤にして酷い内容の英語をまくし立てている外国人の言葉を日本人の通訳が同じ日本人に向かって日本語で伝えると思いますか?そういうことです。
  7. 年中行事を尊重する
    情人節(バレンタイン)、労働節、清明節、七夕、中秋(月餅)、国慶節、春節(紅包)等々大事にしてあげてください。彼らは家族や恋人、友人と過ごすイベントをとても大事にします。
  8. 社内行事を行う
    普段話したり話しにくい人と触れ合う機会として若い子でも意外と社内行事が好きです。 ちょっとした食事会や遠足などを2、3ヶ月に一度は行うと社内の雰囲気が格段に良くなります。
  9. 中国語を使ってみる
    これは語学的な部分からハードルが高いですが、彼らと彼らの言葉で意見をぶつけ合うのは非常に得るものが多いです。また自分が中国語を使ってみると、通訳の人や日本語を話せる同僚が表現に困っているときの気持ちが理解できるため、その後のマネジメントにもすごく役に立つと思います。

他にも色々とありますが、お互いに会話や思考の地盤となる文化や習慣が異なることを大前提として、自分の中の中国人に対する偏見やストレスと戦いつつ大陸中国人の同僚達と有意義な関係を築いてみてください。

PECLのOAuthProviderとReverseProxyのメモ

このエントリーをはてなブックマークに追加

phpでPECLのOAuthライブラリを利用していた場合に、nginxでAPIサーバへReverseProxyで素直に転送するとSignatureが不正だと怒られちゃう時の対応方法をメモしとく。
一応ドキュメントはあるんだけど、説明がほとんどないのでprovider.cを見た方が早い。構成はフロントのnginxでHTTPSで受けて、バックエンドをコールするときはHTTPで呼び出す感じ。当然ながら署名のチェックはバックエンドで行われるのでフロントとバックエンドではhostやprotocolが異なり弾かれるので下記の対策が必要。

▽ nginxでX-Forwarded-*ヘッダーを追加しておく
下記みたいな感じで、追加しておく

server {
       listen 443;
       server_name サーバー名;
       省略
       proxy_set_header X-Forwarded-Proto https;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-Host $host;
       proxy_set_header X-Forwarded-Server $host;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

▽ oauthチェックの処理を修正
下記のようにヘッダーチェックして転送されてきてるならチェック対象urlを自分で組み立てる。

$xForwardedProto=$_SERVER[‘HTTP_X_FORWARDED_PROTO’];
if($xForwardedProto){
       $url=$xForwardedProto.’://’.$_SERVER[‘HTTP_X_FORWARDED_HOST’]
              .$_SERVER[‘REQUEST_URI’];
       $this->provider->checkOAuthRequest($url);
}else{
       $this->provider->checkOAuthRequest();
}

この辺、拡張モジュール側でどのように処理しているかはPECLのoauthのprovider.c#oauth_provider_get_current_uriを見ると良い。1.0から1.2.2では結構判定処理が追加されてるけどHTTP_X_FORWARDED_HOSTは見てくれてない。