[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
まだまだ立たないし話さないよーという記事を書いてから5ヶ月が経った。まだ立たない。もはや次男の方が先に立つのでは。
個人差ってのもあるだろうけど、ひどいなぁ、と思いながら迎える1歳11ヶ月。
今の会社に入って5年目になるが、初めて新人を後輩に持った。
彼ら/彼女らと会話していて「API ってなんだ」という話になる。哲学だ。
API はプログラムが他のプログラムを利用する時、どのようにして呼び出すのかを定めたもの。ルールというか仕様書というか。ただ、文脈で意味が変わる言葉のようにも思える。
API という言葉にはすごく広義の API 、広義の API、狭義の API の三種類があると思っている。
すごく広義の API は以下の A~D 全てを指す。
広義の API は以下の A, Bを指す。
狭義の API は以下の Aのみを指す。
| 公開 | 非公開 | |
|---|---|---|
| ウェブ経由 | A | C |
| 直接呼出し | B | D |
Twitter とかが公開している、「これを使ってうちのサービスをもっと面白く使ってネ」という API がこれ。一定のルールはあるものの、これを利用して色々やっても原則としてルール違反にはならない。また、多少の変更はあるかもしれないが原則として変更されることがない API である。
プログラミング言語のドキュメントがあって公開されているパブリック関数やらパブリックメソッドやらの定義を指す。これも多少の変更はあるかもしれないが原則として変更されることがない。例えば Java の String#codePointCount の定義は Java 5 から Java 8 まで変わっていない。A. との違いは外部との通信を原則として伴わず、既に完成した別のサービスではなくちょっとした単独の機能を呼び出す、という点だろうか。
原則として使うべきでない API。サービスが利用している API ではあるが、公開されておらず、外部の開発者は利用が原則として許されない API。サービス内で使っているため、コロコロ変更されるだろうし、利用した際のサポートもない。また、利用することがサービス規約違反になったりするかもしれない。Pixiv の情報を自動取得とかしたい場合はこういうものを用いる。
原則として使うべきでない API。なにか特定のライブラリの一部分を無理やり使ったりするときに使う。前に私がやった例としては Google Closure Compiler のコンパイル部分を直接実行したことがあった。これは非公開 API であるため、バージョンアップで急に動かなくなったりしても文句は言えないのである。
なろう小説API が比較的気軽に試しやすいと思う。オススメ。例もちゃんと載っている。
また jQuery になるが、 jquery-qrcode が簡単だった。
<div id="code"></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</script>
<script src="https://jeromeetienne.github.io/jquery-qrcode/src/qrcode.js"></script>
<script src="https://jeromeetienne.github.io/jquery-qrcode/src/jquery.qrcode.js"></script>
<script>
$('#code').qrcode('https://www.google.co.jp/search?hl=ja&authuser=0&biw=1286&bih=870&tbm=isch&sa=1&q=%E3%81%B2%E3%81%A4%E3%81%98&oq=%E3%81%B2%E3%81%A4%E3%81%98&gs_l=psy-ab.3..0l3j0i4k1l5.1687.3842.0.4156.18.14.3.0.0.0.181.1362.4j8.12.0....0...1.1j4.64.psy-ab..6.11.999.0.iPUpvsk3i7Y')
</script>
この例では google の検索に飛ばしているが、 mailto とかもできる。メールのテンプレートとかをこれで共有して、メールを打たせるとかにも使えるかも。
なお、QR コードリーダーは LINE 付属のが最も多くの人がすぐに使える気がする。
引数は jquery.qrcode.js#L10 を見るとすぐにわかると思う。
また、ほぼ同じ使い方ができる jQuery なしで使える render-qrcode なんていうものが派生で既存だったりもする。
そういやさぎょイプしてるときに教えてもらったんだけど、どどんとふ使えなくなるってマジか…
— 鳥王子@病み期 (@torihamu_xx) 2017年9月2日
だいぶCoCがやりづらくなるなぁ…
こんな感じのツイートがまだまだ散見される。本件についてはどどんとふが使えなくなるという噂に対するざっくりした説明 - こかげ工房という記事を見ればサクッと分かる。
現在、どどんとふはこんな感じで使っている。最も一般的な方法は中央に示した、パソコンを使って接続する方法。パソコン上のウェブブラウザから Flash Player を使ってどどんとふの正規クライアント (普通の画面) に接続して利用する。
他の方法としてどろいどんとふやひよんとふといった手段もあるが、機能は大きく制限される。
しかし、「Flash Player のサポートが終了する」「大規模サーバも多くが使えなくなる」と次のようになる。「各自の自鯖にどろいどんとふやひよんとふで接続して使うしかない」という状態となる。これではもはやどどんとふが使える、とは言い難い。
公式鯖の管理人からは次のような発言が出ている。
というわけで、公式鯖管理人としては古いサポート切れのソフトウェアを使わないといけない利用者にセキュリティーリスクを負わせるようなサービスは無料・無保証とはいえ提供は出来ないので、ブラウザーかadobeのサポートどちらかが切れた時点でどどんとふは畳みます。
— どどんとふ公式鯖中の人 (@DoDontoF_Srv) 2017年9月3日
もちろん、自鯖ならやりようがないわけではない。しかし、次のツイートにあるように危険で不便な手段での利用になる。
どどんとふの為に古いブラウザや自鯖をバージョンアップせずに残しておけば使えるでしょうが、セキュリティー的に非常によろしくないのは言うまでもないし、古いブラウザだと新しいWebサービスが使えなかったりしますしね。
— どどんとふ公式鯖中の人 (@DoDontoF_Srv) 2017年9月3日
それにしても icooon-mono さんのアイコンは触っていて面白い。色々あるし。
〇〇ナビなどのレストランを検索できるサイトの検索があまり使えない。「今いる場所から半径300m以内!」とか「今走っている道路のすぐそば!」とかじゃないとちょっと使いづらい。腰を据えて飲み会会場を探すとかならば十分なのだが……
JavaScript だけで取得しているいい感じのサンプルが https://cartman0.github.io/geolocationTest/ にあった。Geolocation という機能を使って実現できる。
これとぐるなびの API を組み合わせればいい感じのものが簡単に作れそうである。