【復活求む!】惜しくも解散してしまったバンド|J-ROCK編 >>

Web APIのドキュメントを作成しています。

参考になるものがないかWebで検索してみたところ、
クライアントがWebAPIを利用するときに、アクセスするURLのことを
エントリポイント、エンドポイントと表現する場合があるようです。

エントリとエンドでは、意味が全く違うので少し混乱しています。
どのように使い分けされているのかを教えてください。

自分なりの解釈は次の通りです。

エントリポイント:サービスを提供する側の視点の言葉。
URLにアクセスがあることでAPIサービスの処理が開始されるので、
エントリ=”入り口”という言葉が使われる。

エンドポイント:サービスを利用する側の視点の言葉。
そのURLにアクセスさえすれば、それ以上何もしなくてもいい(APIに任せる)ので、
エンド="終点"という言葉が使われる。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

エンドポイント、というのは「きわ」という意味です。


クライアント側とサーバ側の境界線のところがエンドポイントです。
機能の区別という観点から言っていることです。

それにたいし、エントリーポイントというのは、ここから始めるという意味です。
URLを参照されたら、そのサイトのサービスがはじまることになりますのでエントリーポイントと言います。
PHPなんかだったらプログラムが動き出しますし、スタートポイントといってもいいかもしれません(いいませんけど)

ユーザとかクライアントとサイトの関係だけではありません。

Webの通常処理の中で、外のシステムを使うと考えてください。
jQueryで考えたら話は早い。たとえばGoogleの提供している機能を使おうとしましょうか。
そうすると、Googleのたとえばearthの提供する機能と自分のサイトの間はエンドポイントになっています。
earthの側からいえば、そこがエントリーポイントです。
    • good
    • 0
この回答へのお礼

ありがとうございます。
概念がわかりすっきりしました。

お礼日時:2013/04/30 10:30

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qダブルクォーテーションを含む正規表現について。

正規表現によるマッチング(?)を勉強しています。

例えば「blog」という文字列で、マッチングを試みる場合は、
String str = "blog";
で、strに格納すると思うのですが、例えば「link rel=""」という文字列でマッチングを試みる場合はどうすればいいのでしょうか?
「""」の部分をそのまま文字列のダブルクォーテーションの中に入れると、エラーになってしまうので、何か別のやり方が必要だと思うのですが、わかりません…。

Aベストアンサー

もとい

”abc"abc”は”abc\"abc”と記述します

Q英語で「個数」「件数」は?

質問は単純です。
英語で「個数」や「件数」をなんというか、です。

とりあえず、思いついたのは、numberでした。
たとえば、「りんごの個数」は"a number of apples"ですか?
でも、"a number of"は「いくつかの」という意味ですよね。

「データの件数」は"a number of data"でしょうか?

私は英語はほとんど出来ませんが、numberは「個数」というよりも「番号」という意味であるような気がしてなりません。

Aベストアンサー

>「個数」や「件数」をなんというか、です。
>とりあえず、思いついたのは、numberでした。
意外に思われるかもしれまんせんが、語の選択はnumberであっています、と思います。

>「りんごの個数」
the number of (the) apples

>「データの件数」
the number of (the) data

>numberは「個数」というよりも「番号」という意味であるような気がしてなりません。
実は、昔、私も、「個数や件数はなんていうのかな、え、number? え、本当?」と、奇異に感じたことを、思い出しました。

Q有無、要否、賛否、是非、可否、当否…これらの言葉について

<A>
有無=あるかないか
要否=必要か否か
賛否=賛成と反対
是非=よいことと悪いこと
可否=よいことと悪いこと
当否=正しいか正しくないか。適切かどうか。


1.上記Aのような種類の言葉について、もっと知りたいので
他に何かあれば教えて下さい。

2.Aのような種類の言葉の事を何と呼ぶんでしょうか??

3.Aのような言葉を、どういう風に使えばいいのですか?
例文を示して頂けないでしょうか。

4.「是非」「可否」「当否」の意味は、全部同じですか?
違うとすれば、どのように違うのでしょうか?

Aベストアンサー

使用例

要否=要否を問う

賛否=賛否両論、賛否を問う
是非=是非(良し悪し)を論ずる。 副詞としての用法、是非参加ください。
可否= 可否(良し悪し)を論ずる。可否(賛否)を問う。
当否=ことの当否(よしあし、あたりはずれ)は別として、

是非と可否は同じ意味です。
当否も上の二つと同じ意味があるものの、それが当てはまっているかどうかという意味もあるので全く同じようには使えないでしょう。
二文字で相反する意味を表す漢語独特の表現法ですが、特に名前があるかどうかわかりません。類語として、否応(いやおう)があります。意味は断ることと承知すること。使用例、否応なしに買わされた(無理やりに買わされた)

Qmain()を持つクラスが2つ以上あるexecutable jar

main()を持つクラスが2つ以上あるexecutable jar
を作成して、
main()を持つクラスを
必要に応じて、起動仕分けることは
可能なのでしょうか?

もし、可能であるとすれば
マニフェストファイルには
どのように記述すればよいのでしょうか?

そして、
java -jar
コマンドで起動するときにどのようにすればよいのでしょうか?


不可能であれば不可能であるということを
教えてください。

以上

Aベストアンサー

マニフェストファイルを用意しなくても、クラス名を直接指定する通常のコマンド形式
java -classpath <jarファイル名> <mainがあるクラス名> <コマンドライン引数>
で <mainがあるクラス名> を変えれば起動仕分けることは可能です。

マニフェストファイルには Main-Class 属性を一つしか定義できないので、クラス名を指定しない
java -jar <jarファイル名> <コマンドライン引数>
の形式で起動仕分けることは出来ないと思います。

Qポートの80と443

こちらのサービス(https://secure.logmein.com/)を利用すると、インターネットを見られるサーバーのポートの80と443が空いていればルータやファイアウォールに特段の設定なく外部からサーバーを操作できるそうですが、逆にサーバーのポートの80や443を空けることには何か危険性があるのでしょうか。

Aベストアンサー

ポート80は一般的なHTTP、ポート443はHTTPSです。
この2つのポートがあいていなければインターネット接続(WEBブラウジング)は出来ません。
ですから、ほとんどのファイアウォールでこのポートは開いています。(インターネット接続を制限している社内LANでは当然閉じていますが)

ちなみに、よく使うポートとしてはFTPで20、21、SMTP(送信メール)で25、受信メールPOP3で110あたりです。セキュリティポリシー上、この辺は制限される事も多いですが、HTTP 80、HTTPS(暗号化用)443は通常閉じません。


危険性?
WEBプロトコルを使ってFTP的なファイル転送(WebDAV)やVPN等も出来るようになっています。当然そこにはある種の危険はつきものですが、WEBブラウジングに伴う危険と大きく変わりません。ウィルス等に感染していればこの2つのポートだけでも相当危険でしょうね。

参考まで。

Q【MYSQL】asでリネームしてwhereで使う

こんな感じで↓

SELECT
concat( `sation_name`, '駅' ) AS `sation_rename`
FROM
`table_name`
WHERE
`sation_rename` = `帷子ノ辻駅`

カラム名をリネームした後、
そのカラム名をWHEREの中に組み込みたいのですが
"そんなカラムは無い"とエラーになってしまいます。

as でリネームしたカラム名は
WHEREで使うことはできないのでしょうか。

Aベストアンサー

MYSQLを使う環境がないので、
以下のようにちゃんとなっているかどうかまではわかりませんが。

一般にSQLでは、
where句の中は、select句でasを使ってつけた名前は使えませんし、
having句の中は、select句でasを使ってつけた名前があればそれしか使えません。

ということで、having句で試してみられては?
(但し、インデックスは使えませんので処理が遅いことを前提としてください。)

ま、大抵の要件では、レスポンスが大幅に悪くなっていいから、concatした結果を検索したい
ということはないはずですが。
例えば、住所1、住所2、住所3と項目があってどの項目にどこまで入っているかわからない
(住所1に都道府県までか、都道府県+市区郡までか、さらに町村まで入っているかわからない)
とかいうのなら、住所1、住所2、住所3をconcatしてその結果で検索せざるえないですが。

Qダブルクォーテーションのreplaceの方法

JavaScriptで文字を置換する際に
AAA = new String(AAA).replace(/ZZZ/g, "QQQ");
にしますよね、これで文字列中のダブルクォーテーション「"」を
任意の文字に変換したいのですが、何か良い方法はないでしょか?

よろしくお願いします。

Aベストアンサー

AAA.replace(/\"/g,"Q");
このように「"」の前に\をつけるといいですよ。

Qエッジサーバーとは何でしょうか?

エッジサーバーとは何でしょうか。
WEBサーチでは解りませんでした。書籍が今手元にない状態なのでどなたか「サルでもわかる」レベルで教えていただけないでしょうか。

Aベストアンサー

コンテンツ配信とかでよく聞くことばですか?

もしそうだったら、
「エンドユーザの近くに配置されているサーバ」
です。
ネットワークが張り巡らされている中で、相対的に見て
端っこ(エッジ)に置いてあるサーバのことです。
たとえば、以下のようなデータの流れがあったら、サーバC が
エッジサーバにあたります。

配信元のサーバ - サーバA - サーバB - サーバC - エンドユーザ

Q抽象クラスをJUNITでテストする方法

抽象クラス内に実装メソッドと抽象メソッドがある場合に、
そのクラスをJUNITでテストしたいと思っています。
通常のクラスであれば、そのクラスに対するテストクラスを
作成して、テストクラス内でテスト対象クラスをnewして
テストケースを記述していくと思いますが、
上記のような抽象クラスの場合は、
どういった形でテストクラスを作成すれば良いのでしょうか?
抽象クラスはnewできないので、
抽象クラスを実装したクラスをまず作成して
そのクラスに対するテストクラスを作成するのでしょうか?
お薦めの方法や一般的な方法があれば教えてください。

以上、よろしくお願い致しますm(__)m

【環境】
JDK1.4.2
JUNIT3.8.1

Aベストアンサー

こんにちは。
一般的な方法かどうかは分かりませんが、私が実際にプロジェクトで実施した方法は、
・テスト用に抽象クラスを継承したクラスを作成
・そのクラスに対するテストクラスを作成
でした。

抽象クラスの実装メソッドは、抽象クラスのテストとした方がいいと思います。
実装クラスで行おうとすると、複数の実装クラスがあるときにどの実装クラスでテストをするべきかコントロールする必要があります。
その結果、テストが漏れていた、といった苦い経験があったためです。

あとは命名ルールを決めておけばよいと思います。

 テスト対象クラス=AbstractSample

だったら、

 テスト用の実装クラス=ConcreteSample
 テストクラス=AbstractSampleTest

というような感じですね。

QJavaのStringクラスに「外字」という概念はある?

 今、客先のデータをJavaで処理しようとしているのですが、そのデータ(Shift-JISの文字列データ)には、今まで使われてきた「外字」が含まれています。
 私の知っている範囲では、Shift-JISの文字列でも、Javaで読み込んだら内部的にUnicodeに変換されるのではないかと思っているのですが(←間違っているかもしれません)、そのUnicode変換の際に外字の部分はどうなってしまうのでしょうか。また、Unicodeに変換された文字列を、出力の際にまたShift-JISに戻すことになると思うのですが、そのときにはちゃんと以前の外字コードに戻ってくれることが保証されているのでしょうか。
 JavaのリファレンスでStringクラスのページで「外字」という文字列で検索してみたのですが、まったくひっかからなかったので不安になっています。
 よろしくお願い致します。

Aベストアンサー

 #1です。

 似たような質問があがっているところを見つけました。

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?forum=12&topic=22555

 ということで、これを参考に実験です。

 UTF-16の外字の領域を一文字ずつShift-JISに変換して、また、UTF-16に戻して、ちゃんともとにもどるか、やってみました。

public class Gaiji {
  public static void main(String[] args) throws Exception {
    final String charSet = "Shift-JIS";
    
    boolean allEqual = true;
    
    for (char c = 0xE000; c <= 0xF8FF; c++) {
      System.out.print(Integer.toHexString((int)c) + "→");
      char[] carray = {c};
      String source = new String(carray);
      byte[] sjis = source.getBytes(charSet);
      
      for (byte b : sjis)
        System.out.print(Integer.toHexString(((int)b & 0xFF)));
      
      System.out.print("→");
      
      String result = new String(sjis, charSet);
      System.out.print(Integer.toHexString((int)result.charAt(0)) + " : ");
      
      boolean equal = source.equals(result);
      System.out.println(equal);
      
      allEqual = (allEqual && equal);
    }
    System.out.println();
    System.out.println("すべて一致 : " + Boolean.toString(allEqual));
  }
}
(コンパイルするときは全角スペースを半角スペースに変換してからにしてください)

 ところがぜんぜんダメ。
 元に戻りません。
 ということで、Windowsの本来の文字コードWindows-31Jでやってみました。

final String charSet = "Windows-31J"; ←変更

 どうやらうまく行っているのですが、途中までは順調に変換され、元に戻るものの、途中からだめになりました。
 どうやら、UTF-16 : E757 Shift-JIS : F9FC の次からだめになっています。

 外字エディタで見てみるとちょうどF9FCまでが、Shift-JISの外字領域のようです。
 つまり、UTF-16のほうがShift-JISより、外字領域が大きいみたいです。
 当然そこから先は、Shift-JISには、変換不能ということになります。

 というわけで、

1.Windowsでは、通常ならCharSetがShift-JISでも大体大丈夫だけど、外字の変換をするときにはちゃんとWindows-31Jを指定しないとダメ。

2.UTF-16 : E000~E757 Shift-JIS : F040~F9FC の範囲なら変換可能。
 UTF-16 : E758~F8FF の範囲はShift-JISに相手がいないので無理。

 ってことで、Shift-JISで外字が設定されているのなら、大丈夫ってことになるんじゃないでしょうか。

参考URL:http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?forum=12&topic=22555

 #1です。

 似たような質問があがっているところを見つけました。

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?forum=12&topic=22555

 ということで、これを参考に実験です。

 UTF-16の外字の領域を一文字ずつShift-JISに変換して、また、UTF-16に戻して、ちゃんともとにもどるか、やってみました。

public class Gaiji {
  public static void main(String[] args) throws Exception {
    final String charSet = "Shift-JIS";
    
    boolean allEqual = true;...続きを読む


人気Q&Aランキング

価格.com 格安SIM 料金比較