アドレスバーからPOSTする
メモ。
javascript:var form = document.createElement('form');document.body.appendChild(form);form.setAttribute('action', 'URL');form.setAttribute('method','POST');form.submit();
'URL'のところに送信先をセットする。
パラメータを付けたければ、以下のURLを参考に。
http://harmonic.me/blog/?p=139
Amon2を使って!DotCloudで!Facebook アプリを作りたい!(まだ試し中)
Facebookアプリ、あるじゃないですか。Facebookの中でアプリを動かしてるアレ。アレどうやってやるんだろうと思って、いろいろ試してみたメモ。まだうまく動いてない。
一応前提として、Amon2の DotCloud FlavorとBasic Flavorを使ってテンプレートを作ってます。
Amon2とFacebook APIとDotCloudと。
PerlでFacebook APIを使うには、Facebook::Graphを使うのが良さそうだったので、以下のサイトを見ながらごにょごにょやってた。
Facebook APIを叩いてみる - すぎゃーんメモ
http://helloperl.com/example_facebook.permalink
でもうまくいかなかった。
で、Amon2のプラグインでAmon2::Auth::Site::Facebookっていうのがあるのがわかった。使ってみたらうまくいったよ。Amon2::Authの使い方は上、Site::Facebookを使った実例は下のリンクをご参照。
http://d.hatena.ne.jp/tokuhirom/20111017/1318805026
Amon2でFacebookAPIを使う その2 - Perl勉強メモ アルパカDiary出張版
コードは下のリンクほぼそのままで動いた。
DotCloud上で動かす場合は、プラグインの設定をconfig/deployment.plに書く。development.plにも書いてるけど、不要なのかもしれない。
Facebook内のアプリ
以下の記事(Facebook developerのCanvas Tutorialを和訳したもの)を参考に。自分で用意したwebページをiframeで呼び出す形式みたい。
Apps on Facebook.com : Facebook開発者向けドキュメントの日本語訳とTips
試しにDotCloud上で、認証用URLにリダイレクトするだけのページを作ってみたら、以下のエラーが吐かれた。
POST http://fbsample-hsksyusk.dotcloud.com/fbpage/ 403 (Forbidden) Refused to display document because display forbidden by X-Frame-Options.
パケットを調べると、DotCloudからのレスポンスヘッダーのX-Frame-OptionsがDENYになってた。DotCloudさんの仕様?
ヘッダを上書きして、X-Frame-Optionsに適当な文字列をセットして、DENYコマンドを無効にすれば、うまくいくようになるみたい。
iframe - Overcoming "Display forbidden by X-Frame-Options" - Stack Overflow
といったところで、眠気がきたので寝ます。
2012.2.21追記
X-Frame-Optionsは、Amon2のlib/アプリの名前/Web.pmで出力してたのでコメントアウトした。
それでも403エラー。ローカルでiframeからDotCloudにアクセスしたら正常に表示されたから、たぶん呼び出し方の問題なんだろうけど、もう眠いので寝ます。
2012.2.26追記
解決しました。
Facebook内で使うタイプのアプリで認証にAmon2::Authを使う方法 - hsksnote
WindowsでMarkdownエディタを使うなら、ResophNotesくらいしかない
ゆーすけべー日記ということで、はてな記法やMarkdown記法が好物の私が、WindowsでもMarkdownエディタを使いたいと思って探してみたよ。
結果、お寒い状況だった
結論から言うと、リアルタイムプレビューできるアプリで使えそうなのはなかった。
使えそうなのは、ResophNoteくらい。
- ResophNotes
- Windows用のSimplenote同期アプリ『ResophNotes』が便利 | ライフハッカー[日本版]
- SimpleNotesのWindowsクライアントという位置づけ
- リアルタイムプレビュー不可
- Ctrl+Mでプレビュー表示
あとは、色々難があって使えない。せっかくなので、調べた結果を残しておく。
- MarkdownPad
- 【レビュー】リアルタイムプレビューにも対応、“Markdown”専用のエディター「MarkdownPad」 - 窓の杜
- 「日本語を入力する際に変換ウィンドウがインライン表示されないことを確認した。」
- 【レビュー】リアルタイムプレビューにも対応、“Markdown”専用のエディター「MarkdownPad」 - 窓の杜
- WriteMonkey
- 日本語では使いものにならない感じ。
- Ctrl+Shift+Eでプレビュー
- すごい見にくい
- 日本語入力できない
- リアルタイムプレビュー不可
- Ctrl+Shift+HでMarkupしたHTMLをクリップボードにコピー
- Sublime Text
- Markdownに対応しているらしいけど
- プレビューの見方すらわからない
- 日本語入力はMarkdownPadと同じ問題
- Markdownに対応しているらしいけど
オンラインでもいいかもね
- Markdown Editor
- リアルタイムプレビューあり
参考
Mastering Markdown: 30 Resources, Apps and Tutorials to Get You Started | Design Shack
iPhoneアプリを売ったときに、売り上げからいくら引かれるか
寄付アプリを考えてるんだけど、どうしてもナイーブに考えないとならないのが、課金による手数料とか上納金とかで、そのあたりを調べたメモ。あんまりまとまった情報がなかったので。
基本
iPhoneアプリを作ってApp Storeで販売して売上を得るまでに、以下のお金が取られます。
- iOS Developer Program:8,400円/年
- 配布手数料:売上の30%
- 上記サイトでは「売上収益の70%を受け取れる」との記載。
- 振込手数料:無料〜4,000円
- 全体像の参考にしたサイト:
配布手数料・振込手数料を回避したい
今のところ手はなさそう。
方法としては、外部課金(迂回課金)が考えられるけど、現状はNGみたい。
- http://sejapan.net/2011/03/platform-is-same-bed-different-dreams-2-iphone-facebook.html
- http://rapmaster.sakura.ne.jp/2011/08/iphone.html
ただ、食べログやクックパッドが外部決済でやってる。下に課金までの流れを画像で掲載します。なんでOKなんだろうね。
あと、ソフトバンク かんたん募金って、どう見ても外部課金だよね?寄付ならいいのかしら。
外部課金ができるなら
PayPal Micropaymentsを使いたい。
ガチャ寄付のアイディアを考えてたらもっと大事なことに思い至った
UT Startup Gymに参加してから、自分でもwebサービスのアイディアをまた考えだしていて、昨日思いついたガチャ寄付というアイディアが捨て難かったので煮詰めてみたらもっと大事なことに思い至ったという話。
まずはガチャ寄付の案から。UT Startup Gymの企画会のフォーマットに沿って書いてみた。
気軽に寄付ができない世の中じゃ……
寄付という行為が気軽にできない社会を変えたい。
気軽に寄付できないのはなぜか。
iPhoneアプリ「ガチャ寄付」が解決!
- 寄付先が選べない→寄付先はランダム
- 寄付先を選ぶ必要がない
- 寄付することで、課題や団体のことを知れる
- お金を払う抵抗感→1回300円
- 300円が寄付の目安になる
- 寄付した甲斐がない→すぐバッヂをもらえる
- 寄付したことの満足感がすぐ得られる
- バッヂがいつでも見れる
- 寄付したことをいつでも確認できる
「ガチャ寄付」が抱えそうな課題
その他、おもいついたこと
- バッヂ集めがユーザーのモチベーションに
- バッヂを公開することで自慢できる
- 11連ガチャで1回サービス分
- コンプリートボーナスとして、新しいバッジと寄付。
- 期間限定ガチャ
- 世界エイズデーなどの日に合わせて、その課題に取り組んでいる団体をチョイス
- NPO・NGO側のアクションが、寄付を受ける率に影響する仕組みが欲しい。
- ソーシャルゲームの面白さを取り込めないか?
ここまでが前振り。
本題
App Storeを寄付のプラットフォームとして解放してもらえないか。
今だと、有料アプリやアプリ内課金の30%?が、Appleの取り分みたいだけど、寄付に限ってはここを無料にする。ユーザーが寄付した金額がそのまま寄付先に流れるようにして欲しいのよ。
寄付アプリといえば、ソフトバンク かんたん募金がメジャーだと思うけど、これもApp Storeからの課金じゃなくて、クレジットカードを入力したりするんだよね。
これがApp Storeの課金になると、もう一段ハードルが下がると思うんだよ。
いやいや、クレジットカードでの寄付だって、PayPalの寄付だって、手数料取ってんじゃん、そういう向きもあるかもしれませんが、そこはAppleさん、先鞭を付けてくれませんかね。そのあといろんなプラットフォームが寄付の手数料を無料化したって、Appleさんに続いてっていうことになりますぜ?
スーダンのカドグリ近くの音を再生するサイトを作った。
UT Startup Gym 初心者勉強会の宿題が、「file_get_contents を使ったウェブページを作ってくる。」ということで、作った。
参考にするのはこちら。
Twitter API と file_get_contents でかんたん Twitter クライアント - utgym’s diary
題材はtwitterに限らずなんでもOKということだったので、AudioboomのAPIを使うことにした。
GitHub - audioBoom/api: Documentation for the Audioboom.com API
リファレンスを参考に、APIをコールするURLを組み立てる。
つくったURLがこちら。
http://api.audioboo.fm/audio_clips/located.xml?find[latitude]=11.011971&find[longitude]=29.708748
"Search by distance from point"というAPIを使ってる。Audiobooに投稿される音にはロケーションデータが付いていて、このAPIはその情報を使って、指定した位置に近い音を検索する。
latitudeとlongitudeが緯度と経度を指定していて、ここはスーダンのカドグリです。
located.のうしろのxmlが、APIから受け取るフォーマットを指定している。参考記事とおなじjsonも受け取れるんだけど、decodeがうまくいかなかった。
上のURLのリンク先で、今回使うXMLデータがそのまま見れる。
このXMLを利用して作ったホームページがこちら。
http://exercise01-hsksyusk.dotcloud.com/utgym.php
ソースはこんな。ちゃんとHTML書いてません。
<?php // APIコールURLの組み立て $url='http://api.audioboo.fm/audio_clips/located.xml?find[latitude]=11.011971&find[longitude]=29.708748'; // APIからXMLデータを取得 $xml = file_get_contents($url); // XMLデータをPHPオブジェクトとして読み込む $arr = simplexml_load_string($xml); echo '<h1>Sounds around Kadugli, Sudan</h1>'; // xmlの中のaudio_clipタグの中を$audio_clipに取得。 //audio_clipタグの数だけ繰り返す。 foreach ($arr->body->audio_clips->audio_clip as $audio_clip){ // $xx->xxの形で、xml構造の中のデータを指定して取り出す。 echo $audio_clip->title . ' by ' . $audio_clip->user->username; echo '<br />'; //HTML5のaudio要素を使用。mp3はchromeでしか扱えない、ハズ。 echo '<audio controls src='.$audio_clip->urls->high_mp3.'></audio>'; echo '<br />'; echo $audio_clip->location->distance . 'm'; echo '<br />'; echo $audio_clip->recorded_at; echo '<br />'; echo '<br />'; }
ちなみに、このサイトは以下の記事を参考にして、dotcloud上で動かしてる。
DotCloud で PHP アプリを設置してみたときの色々 - 肉とビールとパンケーキ by @sotarok
わーい宿題できた―。
インフラ屋が酒を飲みながら話をする勉強会に行ってきた。
【キャリア☆トーク】〜アウトプットにも繋がる、エンジニアの日々の学習について〜
インフラ屋さんが集まって、いろんな話をする勉強会に行ってきた。
パソナテックさん主催なんで、具体名は避けるけど、Web系、SIer、社内インフラ見てる人など、参加者はかなりバリエーションに富んだ感じ。
あ、SIer経験者は多かったけど、現役は僕だけだったかもしんない。SIerこそ視野が狭くなりやすいから、こういうとこ出たらいいのにねー。
ペパボのインフラエンジニアの梅谷さんが講師役で、軽くお話いただいたあとは、梅谷さんの振りで参加者がそれぞれ話して、だんだん雑談風になる感じ。
勉強会や懇親会でぼっちには定評のあるこのおれも、この進め方だと初対面の人たちとも結構話せたよ。
で、いろんな話ができて、
- OpenFlowとか、puppetとか、そういうトレンドを結構追ってる。
- 5分で絶対に分かるOpenFlow (2/6):5分で絶対に分かる - @IT
- オープンソースなシステム自動管理ツール Puppet:連載|gihyo.jp … 技術評論社
- SIerだと、基本的には枯れた技術だし、新しい技術を導入するならそれこそ万全のサポート体制を組みます!的にやるので、勉強しても現場で使うのは何年先でしょう、そしてその頃その技術は生き残っているでしょうか、的な。
- 勉強会はqpstudyとかhbstudyとかがある。
- クラウドがきてるのでインフラの仕事が無くなるんじゃないかという危機感を持ってる。
- 構築して納めて終わりというSIer的インフラに物足りなさを感じてWeb系に転職した方「運用改善、楽しいですよ。それが醍醐味だし。」
- すごいうらやましいんですけど。
- インフラは動いて当たり前だから、あまり評価されない。もっと評価されていい。
- 自分の仕事は利益を産まないので、負い目がある。(社内インフラの方)
- SIerは納めて収入になるので、手堅い商売です。
- Web系でも、インフラとアプリの断絶はあるところにはある。
- SIerでは断絶どころか、要件を出してもらって納めるだけの関係だからなー。
- 共同で作り上げていく文化も、あるところにはある。
自分は、
- 作っては納めるだけの繰り返しでは、それこそルーチンワークになって、技術の上積みも期待できない。
- 勉強してること、したいことが仕事と繋がっていないので、効率が悪い。焦る。
- SIerには勉強会文化がないので、Web系の人たちの勉強っぷりを見て、焦る。
という話をしました。
あれ、ネガティブなことしか言ってねえな。