カイワレの大冒険 Third

技術的なことや他愛もないことをたまに書いてます

PHP(xdebug)+IntelliJでブレークポイント置いてるのに、そこで止まってくれないとき

xdebugの設定もちゃんとして、動いているっぽいのに、止まらずスルーされてしまう場合。

phpは5.6.21、xdebugは2.4.0、IntelliJは以下。

IntelliJ IDEA 2016.1.3
Build #IU-145.1617, built on June 3, 2016
JRE: 1.8.0_76-release-b198 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o

まず、ブレークポイントを置いている該当のコードを実行する。

そうすると、デバッグの設定が正しければ、IntelliJのログ窓で、 Waiting for incoming connection with ide key 'FOOBAR' という表示が、 connected に変わる。

ここが変わらない場合は、 http://www.1x1.jp/blog/2014/08/how-to-setup-php-remote-debug-with-vagrant-vm.html などを見ながら設定をしなおさないといけない。

次に、php.iniファイルで、以下の設定を入れる。

xdebug.profiler_enable=1
xdebug.remote_log=/var/log/xdebug_remote.log

そして、以下を実行する。

$ sudo touch /var/log/xdebug_remote.log
$ sudo chomod 666 /var/log/xdebug_remote.log

そして、再度スクリプトを実行する。 ログに何か吐かれたら成功。

もし、ブレークポイントを置いているなら、以下のようにブレークポイント置いた行で、 breakpoint_set というログが見られるはず。

<- breakpoint_set -i 6 -t line -f file:///vagrant/workspace/some_command.php -n 37
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="6" id="187390001"></response
>

どこかに繋げないとか違うエラーが出ていたら、そこも直さないといけない。

ここまで確認できたら、ブレークポイントを置いた付近に以下のコードを埋め込む。

xdebug_break();

そうして、再度スクリプトを実行する。

ここで、僕の場合は以下のエラーがIntelliJのログに見られた。

Remote file path '/foo/bar/some_command.php' is not mapped to any file path in project

ということで、マッピングが設定されていないのが原因。

このエラーログの下にある Click to set up path mappings をクリックして、マッピング情報を設定する。

あとは、再度実行したら、ブレークポイントで止まってくれるはずです。

実行時にエラー出して欲しかったわー。

【永久保存版】六本木でランチするときに使う店をまとめてみた

職場が六本木に移り、ランチを六本木でするようになりました。

少しずつお店も把握できてきたので、まとめてみたいと思います。

ただし、六本木は高いです。渋谷でまとめたところは800円から1000円ぐらいでしたが、六本木は1100円から1300円します。 メニュー見て1200円でも高って思うのに、さらに消費税が入るとか余裕であります。

なので、無碍にオススメはできませんが、六本木寄るときがあったら、行ってみてください。

渋谷編のこちらもどうぞ。 blog.masudak.net

目次

海鮮・寿司

まず僕が好きな海鮮系。

貝政

http://tabelog.com/tokyo/A1307/A130701/13122868/tabelog.com カウンター席があるお寿司屋さんです。回るところではありません。 空気もいい感じで入ってるので、握り好きな部類に入ります。

サラダが付く。 f:id:masudaK:20160614131844j:plain

サラダと、握り8貫に、巻物が一個ついて1100円。 握り12貫のタイプだと1300円。うまい味噌汁もおかわり自由だった。

しかも日によってネタが全然違うので、面白いですね。

とある日Aの握り1。 f:id:masudaK:20160625133124j:plain とある日Aの握り2。 f:id:masudaK:20160625133146j:plain

とある日Bの握り1。 f:id:masudaK:20160625133457j:plain

とある日Bの握り2。 f:id:masudaK:20160625133526j:plain

とある日Bの握り3。 f:id:masudaK:20160625133606j:plain

鮨 清山

http://tabelog.com/tokyo/A1307/A130701/13005317/tabelog.com

ヒルズ内のお寿司屋さん。ワーカーズ特典(ヒルズ勤務者特典)で100円ぐらい安くなります。 カウンターで握ってくれるので、雰囲気はいいかな。

握り。 f:id:masudaK:20160625132712j:plain

デザートもつくからいいですね。

ぴんとこな

http://tabelog.com/tokyo/A1307/A130701/13005300/tabelog.com

ヒルズ地下のお寿司屋さん。

握り。 f:id:masudaK:20160625132341j:plain

おまかせ丼。もうちょっとネタがいいといいんだけどなー。 f:id:masudaK:20160625132412j:plain

魚市

http://tabelog.com/tokyo/A1307/A130701/13042849/tabelog.com

六本木駅からすごい近いお魚料理屋さん。

海鮮丼おいしいですよ。他にもマグロ丼とかありましたね。 f:id:masudaK:20160625142055j:plain

すしざんまい

http://tabelog.com/tokyo/A1307/A130701/13009721/tabelog.com

チェーン店ですが、ネタが残念すぎるということはないですね。おいしいですよ。 ちょっとだけ小汚さがあるのと、ガヤガヤ感あるのは否めないかな。

お寿司。 f:id:masudaK:20160625131859j:plain

海鮮丼。 f:id:masudaK:20160625132221j:plain

磯丸水産

http://tabelog.com/tokyo/A1307/A130701/13163635/tabelog.com

シンプルな海鮮丼。1000円行かないですが、ネタを考えるとこんなもんかなーと。 f:id:masudaK:20160625131645j:plain

アジア料理

六本木はアジア料理が一番うまいんじゃないかというぐらい美味しいお店が多いです。 ちょっと値段は張りますが、おすすめですよ。

ジャスミンタイ

http://tabelog.com/tokyo/A1307/A130702/13026948/tabelog.com ここおいしいです。曜日によってメニューが違うので、色々楽しむことができます。

タイスキラーメン 春雨うまいですね。味付けが日本人向けな気がして、これが一番好きな気がする。 f:id:masudaK:20160625135445j:plain f:id:masudaK:20160625140108j:plain

パッタイ。個人的にはちょっとソース濃いめかな。月曜と木曜しかなかった気がする。 f:id:masudaK:20160625135526j:plain

ベトナミーズ・シクロ

http://tabelog.com/tokyo/A1307/A130701/13001957/tabelog.com ここも美味しいです。フォーがおいしいですし、デザートも好きにカスタマイズして作れるタイプのお店です。

f:id:masudaK:20160625140258j:plain f:id:masudaK:20160625140348j:plain f:id:masudaK:20160625140417j:plain

シンガプーラ

http://tabelog.com/tokyo/A1307/A130701/13048434/tabelog.com シンガプーラは独特な味ですが、シンガポール料理を楽しむことができます。 日本人向けな味というよりは、おそらく現地はそういう味なのかなという印象がありました。

お肉料理ですね。ライスが欲しくなるようなほどよい味の濃さがあります。 f:id:masudaK:20160419133636j:plain

ラクサ。東南アジアの麺料理ですね。日本人にとってはちょっと味がうすいかも。 f:id:masudaK:20160419133815j:plain

おいしいお茶。 f:id:masudaK:20160419140802j:plain

おいしいデザート。東南アジアのデザートって甘くておいしいですよね。 f:id:masudaK:20160419141056j:plain

肉野菜炒め。黒椒五目という料理です。その名のとおり、黒胡椒がすごく効いておいしいですよ。 f:id:masudaK:20160625130259j:plain

御膳房

http://tabelog.com/tokyo/A1307/A130701/13001852/tabelog.com 食べログTOP 5000にも選ばれる美味しい中華屋さんですね。

とろみのついた麺ですね。 f:id:masudaK:20160425132854j:plain

こちらはセット。ちょっと高めですが、おいしいです。 f:id:masudaK:20160421131004j:plain

南翔饅頭店 六本木ヒルズ店

http://tabelog.com/tokyo/A1307/A130701/13004433/tabelog.com

角煮丼。小さいのがつきます。 f:id:masudaK:20160621132728j:plain

小龍包。無難で王道ですが、美味しかったですよ。 f:id:masudaK:20160625143111j:plain

うどん・麺類

うどんくろさわ

http://tabelog.com/tokyo/A1307/A130702/13001238/tabelog.com うどんがおいしいお店です。おでんやメンチカツもあるようで、すごい力入れてる印象はありました。

とろろうどん f:id:masudaK:20160625135100j:plain

京風うどん f:id:masudaK:20160625135204j:plain

黒豚カレーうどん f:id:masudaK:20160625135246j:plain

実之和

http://tabelog.com/tokyo/A1307/A130701/13036017/tabelog.com 社内の人にも人気のあるラーメン屋さん。

個人的にはカレーとラーメンは合わない気がして、そこまでは惹かれません(笑)

カレーラーメン。 f:id:masudaK:20160625133837j:plain

カレーつけ麺。つけ麺もあるのです。 f:id:masudaK:20160625134126j:plain

あと、半ライスが無料でしたよ。

つるとんたん

http://tabelog.com/tokyo/A1307/A130701/13001859/tabelog.com 六本木のうどんといえば、つるとんたん。有名ですよね。 1.5玉にしようが、値段は一緒。2玉とかにしても値段一緒なんだろうか。
(2017/01/17追記: 3玉までは無料のようです!)

玉子とじうどん f:id:masudaK:20160625134443j:plain

やまかけのおうどん f:id:masudaK:20160625134627j:plain

めんたいあんかけ玉子とじうどん f:id:masudaK:20160625134938j:plain

玄瑛

http://tabelog.com/tokyo/A1307/A130701/13188460/tabelog.com 店主が気さくでした。タイミングがあればフレンドリーに喋ってくれます。 量に関しては、僕でもほんの少し少ないって感じたので、普通の男性とかであれば足りないって感じるかも。

玄瑛流ラーメン f:id:masudaK:20160625140507j:plain

麺屋武蔵 虎嘯

http://tabelog.com/tokyo/A1307/A130701/13131171/tabelog.com 麺屋武蔵系列。お肉がジューシーですね。

個人的には、渋谷のほうが好きかもしれない。

f:id:masudaK:20160625140726j:plain

AFURI 六本木交差点 (阿夫利 あふり)

http://tabelog.com/tokyo/A1307/A130701/13165303/tabelog.com

さっぱり系のラーメンです。あっさり食べれるので、女子にもいいかもしれない。 f:id:masudaK:20160625140845j:plain

麺匠 竹虎 六本木店

http://tabelog.com/tokyo/A1307/A130701/13116548/tabelog.com ドロドロ系のラーメン。個人的にはもうちょっとさっぱりでもいいかなと思いました。

f:id:masudaK:20160625141014j:plain

和食

やまね

http://tabelog.com/tokyo/A1307/A130703/13001162/tabelog.com ちょっと六本木駅から歩く(広尾の方)ので、無理にオススメはできないですが、ここほどご飯が美味しいところも少ないのではないでしょうか。The定食屋という感じですが、雰囲気あって、地方に旅行来たみたいな感じになれるので、おすすめですよ。

ここにあるおかず(ふりかけ、卵、佃煮等々)はすべて無料なんです。取り放題。 f:id:masudaK:20160701132658j:plain

刺身定食。これ美味しかったですね。ご飯がうまいから、余計うまく感じるんだと思います。オススメ。 f:id:masudaK:20160702200924j:plain

三船

http://tabelog.com/tokyo/A1307/A130701/13092075/tabelog.com 三船は、あの三船敏郎の世界観が現れた料理屋さんです。音楽とかは黒澤映画の音楽なので、好きな人にはいいかもしれません。

海鮮丼。三船の海鮮丼って、マグロ単品なのか、海鮮丼という感じではなかった。 f:id:masudaK:20160625130934j:plain

焼き魚定食。 f:id:masudaK:20160625130856j:plain

魚屋 がぶ

http://tabelog.com/tokyo/A1307/A130701/13094750/tabelog.com ここのひつまぶしは美味しいですよ。量はわりとあるので、ご飯少な目でもいいかもしれません。

f:id:masudaK:20160625141217j:plain

てんぷら 味覚

http://tabelog.com/tokyo/A1307/A130701/13016615/tabelog.com

天ぷら屋です。天丼がおいしいですね。

この写真のは、2000円分自由にネタ選んでもらえるタイプの天丼です。 会社のチームランチのように会費が出るときは、予算伝えて頼むといいですよ。 f:id:masudaK:20160624142742j:plain

びたろー

http://tabelog.com/tokyo/A1307/A130701/13159579/tabelog.com

六本木には沖縄料理もあります。無難ですが、おいしかったですね。 f:id:masudaK:20160625141428j:plain

イタリアン・フレンチ・アメリカン・ブラジル料理

リオグランデグリル 六本木

http://tabelog.com/tokyo/A1307/A130701/13167392/tabelog.com チキンもうまいのですが、サラダ取り放題、カレー取り放題、ドリンク飲み放題(確かワーカーズ特典)なので、楽しめます。カレー美味しかったですよ。

f:id:masudaK:20160625142357j:plain

トンネル+

http://tabelog.com/tokyo/A1307/A130701/13131100/tabelog.com

写真で撮ったチキンも普通にうまいのですが、同僚はサラダを頼んでました。15種類ぐらいある野菜などの中から5種類ぐらい選んで、自分の好きなサラダを作れるようです。女子にはいいかもですね。 f:id:masudaK:20160620133739j:plain

食後のドリンクもおいしかった。 f:id:masudaK:20160620134925j:plain

イルリトローボ

http://tabelog.com/tokyo/A1307/A130701/13140229/tabelog.com

すごい混んでいるからか、出てくるまで時間かかったので、そんなに印象はよくなかったですね。 ただ、量はかなりあります。量食べたい人にはかなりおすすめです。 f:id:masudaK:20160625141545j:plain f:id:masudaK:20160625141551j:plain

デルソーレ

http://tabelog.com/tokyo/A1307/A130701/13006978/tabelog.com 六本木駅から5分ぐらいのところにあるイタリアン。

テラス席もあり、雰囲気のいいカフェみたいな感じのイタリアンです。 超うまいというレベルまでは行きませんが、無難に使える感じですね。女子ウケしそう。 あと、1000円ぐらい(ドリンクはプラス100円)なので、六本木のなかではリーズナブルですね。

サラダがつく。 f:id:masudaK:20160630122947j:plain

メインは色々ありましたが、これは肉と魚のセット。魚と肉どちらを多めにするか選べるんです。 f:id:masudaK:20160702201453j:plain

デザートもつく。無難ですが、おいしかったです。 f:id:masudaK:20160630130346j:plain

リゴレット

http://tabelog.com/tokyo/A1307/A130701/13049114/tabelog.com

ここは何よりも10名ぐらいで入れるスペースがあるところです。いきなり行っても、収容可能なぐらい広い。 食後のドリンクもつきます。味はもうちょっと頑張って、質をあげてもらえると嬉しかったりします。 f:id:masudaK:20160625141845j:plain

ROTI

http://tabelog.com/tokyo/A1307/A130701/13005433/tabelog.com

おいしいですが、高いですね(笑)ワーカーズ特典で100円ぐらい安くなりますが、BLTサンドで1000円超えはツラい・・・ f:id:masudaK:20160625141701j:plain

フレンチキッチン

http://tabelog.com/tokyo/A1307/A130701/13003997/tabelog.com グランドハイアット内にある素敵なフレンチです。雰囲気がセレブ感満載なので、会食向けかな。

メイン料理だけじゃなく、デザート、ドリンクもすごく美味しいので、会食とかで是非おすすめです。 f:id:masudaK:20160623131820j:plain f:id:masudaK:20160623131825j:plain f:id:masudaK:20160623134132j:plain f:id:masudaK:20160625143936j:plain f:id:masudaK:20160623141053j:plain

焼肉・牛タン

Kintan

http://tabelog.com/tokyo/A1307/A130701/13166084/tabelog.com

駅からも近いですし、おいしいですね。

あと、LINEに登録するとドリンクとかもついてきます。 f:id:masudaK:20160625142210j:plain f:id:masudaK:20160609135240j:plain

まんぷく

http://tabelog.com/tokyo/A1307/A130701/13189205/tabelog.com

炭火焼的なやつ。おいしかったですね。おすすめ。 f:id:masudaK:20160625142530j:plain

牛タン一徹

http://tabelog.com/tokyo/A1307/A130701/13101149/tabelog.com

ここも美味しいのですが、高いです。とろろつけると、値段があがるので、つけずにコスト抑えるとかしないと高い。 f:id:masudaK:20160625142718j:plain

開化屋

http://tabelog.com/tokyo/A1307/A130701/13060572/tabelog.com ヒルズ内の鉄板焼きです。ヒルズなので、セレブ感にあふれた雰囲気はありますね。 でも、ちょっとだけデパートの最上階的な何ともいえない雰囲気は抜けないですね。

前菜。 f:id:masudaK:20160627131250j:plain

カルビ丼。懇親会で行ったので、ちょっと高めのやつです。限定何食かのやつで、1600円ぐらいした記憶あります。 僕にはちょっと量が多かった。成人男性の標準ぐらい食う人は大丈夫かと。美味しかったですよ。 f:id:masudaK:20160702211039j:plain

終わりに

ここまで六本木のランチについて紹介できる限り、書いてみましたが、まだまだ行けてないお店もあるので、随時更新していこうと思います。

是非気になったお店があったら、行ってみてください!ではでは!

こちらもどうぞ!

渋谷の美味しいお店を特集しています!! blog.masudak.net

追記履歴

2016/07/02: デルソーレ、やまね、開化屋を追加

過去に戻れ!reflogを使いこなしてこそGit中級者である。

Gitの一番好きなコマンドといっても過言ではない reflog 。 すごく便利なので、使いましょうと言う話です。

簡単にいえば、 reflog で過去を探索し、 reset で好きなタイミングに戻ることができるというテクニックです。

開発していると、ここまでいじっちゃったけど、ここまで戻したいとかそういう欲が出てきます。 そういうときに是非使って欲しいコマンドです。

では説明していきます。

まず説明用に、いくつかファイルを作り、コミットなり色々しときます。

$ cd ~/work/
$ mkdir git
$ cd git/

$ git init
Initialized empty Git repository in /Users/masudak/work/git/.git/

# 適当にファイルを作る
$ touch sample.txt
$ git status
On branch master

Initial commit

Untracked files:
  (use "git add <file>..." to include in what will be committed)

    sample.txt

$ git add sample.txt

$ git commit
[master (root-commit) 4544b55] initial commit
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 sample.txt

$ ls
sample.txt

# ブランチきる
$ git checkout -b hotfix-sample
Switched to a new branch 'hotfix-sample'

# また適当にファイルを作る
$ touch sample2.txt

$ git add sample2.txt


$ git commit
[hotfix-sample 3d7c0f6] sample
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 sample2.txt

$ ls
sample.txt  sample2.txt

ここで reflog !! こんな感じで、履歴を見ることができます。大事なのは一番左の列の文字の羅列(ハッシュ)。

$ git reflog
3d7c0f6 HEAD@{0}: commit: sample
4544b55 HEAD@{1}: checkout: moving from master to hotfix-sample
4544b55 HEAD@{2}: commit (initial): initial commit

4544b55 に戻ってみましょう!

$ git reset --hard 4544b55
HEAD is now at 4544b55 initial commit

戻れたかみてみる。

$ git log -1
commit 4544b551e874d864a55de13ced8d5f8ce4045795
Author: masudak <masuda@sample.com>
Date:   Thu Jun 23 19:52:35 2016 +0900

    initial commit


$ ls
sample.txt

戻れたー。

終わりに

非常に便利ですので、覚えておくとかなり移動が楽になります。 是非是非使ってみてください!ではでは!

こちらもどうぞ。

blog.masudak.net

blog.masudak.net

phpenvして、composerして、php-cs-fixerして。

まずphpenvでphpをインストールする環境を作る。

$ curl -L http://git.io/phpenv-installer | bash

.bashrc とか .zshrc でパスが通るようにする。

if [ -d "${HOME}"/.phpenv ]; then
  export PATH="$HOME/.phpenv/bin:$PATH"
  eval "$(phpenv init -)"
fi

インストール。

$ phpenv install 5.6.17

インストールこけることがあったら、以下。

$ brew link libpngとか
$ brew install libmcryptとか
$ brew link openssl --forceとか

入った。

$ which php
/Users/masudak/.phpenv/shims/php

$ php -v
PHP 5.6.17 (cli) (built: Apr 19 2016 20:03:03)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
    with Xdebug v2.3.3, Copyright (c) 2002-2015, by Derick Rethans

composerいれる。

$ curl -sS https://getcomposer.org/installer | php
$ ls /private/tmp/composer.phar
/private/tmp/composer.phar

$ mv /private/tmp/composer.phar /usr/local/bin/composer

$ which composer
/usr/local/bin/composer

$ composer -V
You are running composer with xdebug enabled. This has a major impact on runtime performance. See https://getcomposer.org/xdebug
Composer version 1.1.2 2016-05-31 19:48:11

php-cs-fixerを入れる。

$ composer global require friendsofphp/php-cs-fixer

もしくは、以下 composer.json 作って、 composer install

{
  "require": {
    "friendsofphp/php-cs-fixer": "*"
  },
  "config": {
    "bin-dir": "/usr/local/bin/"
  }
}

入った。

$ which php-cs-fixer
/usr/local/bin/php-cs-fixer


$ php-cs-fixer -V
PHP CS Fixer version 1.11.4 by Fabien Potencier

あとは変更したファイルだけfixerにかけるようにして、終わり。

$ git diff --name-only --diff-filter=AMCR master |xargs -n 1 php-cs-fixer fix --dry-run --verbose --diff --level=psr2

facebook-php-ads-sdkで "User XXXXXXXX can not update audience YYYYYYY" 出たときの対応

audienceのIDがYYYYYYYとわかっているので、Graph Api Explorerにアクセス。

developers.facebook.com

FQL Queryで、GET → /v2.6/YYYYYYY としてクエリを作成。

実行して、左カラムから、IDNAME を指定して、返ってくるJSONを見る。

これでターゲットのオーディエンスが間違ってないことを把握すると、 lookalike をUPDATEしようとしていたとか分かる。 lookalike にaddUserなどはできずUPDATEできないので、気をつけましょう。ではでは!

レビューで、その無名関数ほんと必要なの?という指摘を受けたことはありますか

「その無名関数本当に必要なの?」という指摘。

僕はこの指摘をもらって至極まっとうだと思ったのですが、みなさまはいかがでしょうか。

ざっくりですが、こんな感じで、値のうちマッチしたものだけを抽出し処理をするような array_filter()array_map()

$arr = ['key1' => 'val1', 'key2' => 'val2', 'key3' => 'val3'];
$extracted = array_filter($arr, function($val) {
   return $val === 'val3';
});

// 更にarray_mapで複雑なことするとか
$ucfirst_extracted = array_map(function ($v) { return ucfirst($v); }, $extracted);
var_dump($extracted);

こう結果が返ってきますね。

array(1) {
  'key3' =>
  string(4) "Val3"
}

でも、以下のほうが読みやすいじゃんという話です。

$arr = ['key1' => 'val1', 'key2' => 'val2', 'key3' => 'val3'];

$ucfirst_extracted = [];
foreach ($arr as $key => $elem) {
  if ($elem === 'val3') {
    $ucfirst_extracted[$key] = ucfirst($elem);
  }
}

そのとおりだと思ったのでした。 特に array_map() などと組み合わせると暗号文の匂いがしてきて、読みやすいとはとても言えません。

array_filter(), array_map(), 無名関数等々使いドコロによってはいいのでしょうが、読みやすさも大切かなと。 (メモリ使用量とか処理速度の差異とか出してないから、状況によっては違うのかな・・・)

読みやすいコードを書いていきたいので、書いてみました。 ご意見あれば是非!ではでは!

facebook-php-ads-sdkのデバッグの際によく使うリンク集

最近 facebook-php-ads-sdk を触ることが多いので、メモがてら残しておきます。 github.com

レファレンス

読みましょう。 developers.facebook.com

広告周りのドキュメント

読みましょう。 developers.facebook.com

Graph API Explorer

SDKを使わず、APIに直接リクエストを投げられます。 APIがどこまで対応しているかとか直にわかるので、使ってみましょう。 developers.facebook.com

Access Token Debugger

アクセストークンが有効かどうか調べられます。期限きれとかに気づけます。 developers.facebook.com

bug フォーラム

バグ等問合せがなかったか、ここで調べられます。 developers.facebook.com

終わりに

ここまで述べたところを調べたり、SDKの中身見たりしているうちにすこーしずつ頭にイメージができあがってくるかと思います。

それまではひたすら慣れて、詳しい人がいたら聞いて、頑張りましょう!