ブログを移行しました。
これまでTumblr本来の使い方を無視して(?)、ここに記事を書いてきましたが。
こないだ、以下に移行しました。
▼madroom project
http://madroom-project.blogspot.com/
Twitterとの連携とかまだやってないので。
近々やらなくちゃね。
今年中にはやろう。。。
P.S.
クリッピング用の方にはぽつぽつpost継続すると思います。
▼mamor’s MEMO
http://mamor-memo.tumblr.com/
これまでTumblr本来の使い方を無視して(?)、ここに記事を書いてきましたが。
こないだ、以下に移行しました。
▼madroom project
http://madroom-project.blogspot.com/
Twitterとの連携とかまだやってないので。
近々やらなくちゃね。
今年中にはやろう。。。
P.S.
クリッピング用の方にはぽつぽつpost継続すると思います。
▼mamor’s MEMO
http://mamor-memo.tumblr.com/
DroidNPをFacebookに対応させました。 その際のハマりポイントをメモしておきます。 要は、Facebook Android SDKで認証してPostする際のポイントです。 かなり雑な内容ですが。。。 ■Facebook Android SDKのDLとimport https://github.com/facebook/facebook-android-sdk からDL。 "facebook"ディレクトリをeclipseでimport。 自分のプロジェクトを右クリック。 properties > Android > Library > Add... にてimportしたプロジェクト(デフォルトだと"com_facebook_android")を選択。OKを押す。 ■認証で使用したメソッド -- com.facebook.android.Facebook.authorize( Activity activity, String[] permissions, int activityCode, DialogListener listener) -- * activity Contextをキャストしても良いっぽい。 (XxxActivity)getContext()みたいな感じ。 * permissions "offline_access"と"publish_stream"を指定。 offline_accessは認証tokenの期限切れを防ぐ為。 publish_streamはウォールへの書き込み権限。 * activityCode startActivityForResultに渡すrequestCodeのようなもの。後述。 * listener 後述。 ■認証後の処理 (A) Facebook公式アプリが端末にインストールされている場合 onActivityResultに戻るので、前述のactivityCode == requestCodeの時に専用の処理を書く。 --Java(onActivityResultにて)-- switch (requestCode) { case REQUEST_CODE_FACEBOOK_OAUTH: String token = data.getExtras().getString(Facebook.TOKEN); // TODO: tokenの保存等。 break; default: break; } -- (B) Facebook公式アプリが端末にインストールされていない場合 --Java(Facebook.DialogListener)-- @Override public void onFacebookError(FacebookError e) { // TODO: } @Override public void onError(DialogError e) { // TODO: } @Override public void onComplete(Bundle values) { String token = values.getString(Facebook.TOKEN); // TODO: tokenの保存等。 } @Override public void onCancel() { // TODO: } -- ■認証サンプルソース --Java-- Facebook facebook = new Facebook("[Facebookで登録したアプリのID]"); facebook.authorize( (XxxActivity)getContext(), new String[] {"offline_access","publish_stream"}, 1, new Facebook.DialogListener() { @Override public void onFacebookError(FacebookError e) { // TODO: } @Override public void onError(DialogError e) { // TODO: } @Override public void onComplete(Bundle values) { String token = values.getString(Facebook.TOKEN); // TODO: tokenの保存等。onActivityResultも忘れずに。(この場合、requestCodeは1。) } @Override public void onCancel() { // TODO: } }); -- ■認証後のサンプル --Java-- private void setFacebookSettings(String token){ Facebook facebook = new Facebook("[Facebookで登録したアプリのID]"); facebook.setAccessToken(token); try { String response = facebook.request("me"); JSONObject json; try { json = new JSONObject(response); String name = json.get("name").toString(); String id = json.get("id").toString(); // TODO: nameやidをSharedPreferencesに保存する。等。 } catch (JSONException e) { // TODO: } } catch (MalformedURLException e) { // TODO: } catch (IOException e) { // TODO: } } -- ■その他 Facebook側の話。 Android Marketでの公開を前提としている場合、開発用のkey hash登録と併せて Android Market用のAPK作成時に使用するkeystoreでのkey hash作成/登録も忘れずに。
Launchpadにbranchを作成、Aptana StudioからBzrEclipseで操作する。
Aptanaのworkspaceにgit設定をしておくとTerminalからbzrコマンド入力可能。(要、Bazaarのインストール。)
BzrEclipseが良くわからないエラーを吐いても、Terminalからだと正常にpush出来たりした。
BzrEclipseとTerminalを併用しようと思います。
以下、手順。(細かいことは割愛で。)
(1)
https://launchpad.net/
でアカウント登録。
(2)
右上のアカウント名をクリック。
Overview > SSH keys で公開鍵登録。
Code > Register a branch でブランチ作成。
Code > 作成されたブランチを選択。
pushは”Update this branch”のコマンドは要、メモ。
(3)
eclipseで
New > Project > Bazaar Branch as new Project
“Initialize a new branch location”を選択。
Branch LocationにLaunchpadのURLを入力。
例:
http://bazaar.launchpad.net/~[USERNAME]/+junk/[BRANCHNAME]/
(3)
ローカル側で予め
bzr launchpad-login [USERNAME]
をするのを忘れずに。
参考:
http://aru-and-dhi.blogspot.com/2009/06/launchpad.html
http://hylom.net/2009/01/16/090115-launchpad/
プロジェクトを複数作成して、一人複数人役で色々と実験してみる。
自分的に必要な設定を、随時ここに書き足していきます。
—
Settings > Preferences > General
Show close button on each tab にチェック
Settings > Preferences > New Document/Default Directory > Encoding
UTF-8 を選択
chmファイルを右クリック > プロパティ > ブロックの解除 > OK
参考
http://www.nishishi.com/blog/2009/06/chm_help_tips.html
とりあえずローカル環境なのでセキュリティ関係とか細かい事は後々。
▼Subversionのインストール
sudo apt-get install subversion subversion-tools libapache2-svn
▼設定の編集
(1)
一応バックアップ。
sudo cp dav_svn.conf dav_svn.conf.org
(2)
/etc/apache2/mods-enabled/dav_svn.conf の末尾に追記↓
—
<location /svn>
DAV svn
SVNParentPath “/home/[USERNAME]/svn”
</location>
—
(3)
Apache2再起動。
▼レポジトリ保存用のフォルダ作成
mkdir ~/svn/
svnadmin create ~/svn/main
▼権限設定
sudo chown -R www-data.www-data ~/svn/main
▼確認
http://[DOMAIN]/svn/main/
eclipseからも、このURLに繋がりました。
▼参考
UbuntuにSubversionを入れてバージョン管理でもしてみる
http://blog.riywo.com/2008/04/01/054421
VMware + Ubuntu メモ
http://mamor-blog.tumblr.com/post/9420281438/vmware-ubuntu
VMWare + Ubuntu にApache2インストールメモ
http://mamor-blog.tumblr.com/post/9994864440/vmware-ubuntu-apache2
▼Apache2のインストール
sudo apt-get install apache2
再起動
http://localhost/ にアクセスして”It works!”と表示されたら成功。
参考↓
http://dqn.sakusakutto.jp/2008/08/ubuntu-804apache2.html
“E: Couldn’t find package apache2” のエラーが出たら↓を参考に。
VMWare + Ubuntuのインストールも↓を参考に。
http://mamor-blog.tumblr.com/post/9420281438/vmware-ubuntu
▼コマンドメモ
sudo /etc/init.d/apache2 start
sudo /etc/init.d/apache2 stop
sudo /etc/init.d/apache2 restart
sudo /etc/init.d/apache2 reload (gracefulのことらしい??)
sudo /etc/init.d/apache2 status
参考↓
https://forums.ubuntulinux.jp/viewtopic.php?id=5348
wgetする時用にメモ。
ttp://codeigniter.com/download_files/reactor/CodeIgniter_[VERSION].zip
メモ的に。 昨夜のエントリの続きです。 http://mamor-blog.tumblr.com/post/9629082639/php-last-fm-api 例えば自分のWEBサイトでLast.fmの情報を表示したい。 となった場合、その都度Last.fmにアクセスしているとレスポンス速度の問題が生じます。 (一応、キャッシング機能もあるようですが。) なので、Last.fmの情報はcronで定期的に取得。XMLをローカルに保存しておくとします。 以下のURLのe.g.と付いているリンクのような感じでアクセスしてレスポンスを丸ごと保存する感じです。 http://www.lastfm.jp/api/show?service=300 User::getTopArtistsを用いてしまうと内部でLast.fmにアクセスしてしまうので User::getTopArtistsの内部で行っている処理を抜き出します。 --【PHP】-- $response = new SimpleXMLElement(file_get_contents('user_get_top_artists.xml')); $xml = $response->children()->{0}; $artists = array(); foreach($xml->children() as $artist){ $artists[] = Artist::fromSimpleXMLElement($artist); } print_r($artists); -- これでOKです。 user_get_top_artists.xmlが、予め保存したXMLを指します。
Last.fmはAPIが充実しています。(日本ではあまり縁が無いかもしれませんが。) http://www.lastfm.jp/api INとOUTはTwitter APIのような感じです。(レスポンスのフォーマットはXMLのみのようです。) で、PHPでLast.fmのAPIを扱いたい。 というワケで、探しました。 まだ大した内容は書けませんが、user.getTopArtistsのサンプル作成までは出来ました。 以下、メモ。 * PHP last.fm API https://github.com/fxb/php-last.fm-api 本家(とその関係の方)の提供なのか。までは調べていませんが、パッと見、一通り揃っていそうです。 * wiki - TOP http://sourceforge.net/apps/mediawiki/phplastfmapi/index.php?title=Main_Page * wiki - Usage(情報が古い??) http://sourceforge.net/apps/mediawiki/phplastfmapi/index.php?title=Usage * wiki - Method Reference(情報が古い??) http://sourceforge.net/apps/mediawiki/phplastfmapi/index.php?title=Method_Reference * その他参考(というかここが一番助かった。。。) http://www.davidgebhardt.de/2010/07/nutzen-der-lastfm-api-mit-php-via-php-last-fm-api/ * user.getTopArtistsのサンプル http://www.lastfm.jp/api/show?service=300 --【PHP】-- <?php require_once('./src/lastfm.api.php'); $caller = new CallerFactory(); $curlCaller = $caller->getCurlCaller(); $curlCaller->setApiKey('YOUR_API_KEY'); $artists = User::getTopArtists('username', '7day'); print_r($artists); -- P.S. JavaでLast.fmのAPIを扱う場合 https://github.com/c99koder/lastfm-android が参考になります。(Android公式アプリのソースです。)