ちょっと変わったマニアな作品が集結

Apache License Version 2.0について、私の認識が間違っていないかを、確認させてください。(Apache License Version 2.0原文を見てみた(読む以前の問題)のですが、私の英語読解力ではそこに書かれている意味を正しく理解する自信がなかったので、Webの日本語サイト等で調べたうえでの認識です・・。)

1, 原著作者とは、Apache財団のことをいうのか。
2, 謝辞を表示とは、Apache Softwareを使用したプログラム内で、謝辞を表示しなければならないということなのか。また、謝辞とは、具体的にどういったものなのか。

3, 最後に、率直に質問しますが、Apache Softwareをモジュールとして使用して記述されたプログラムを、ソースコード非公開かつ有償の製品として営利目的で販売することは、ライセンス上合法ですよね?

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

A 回答 (1件)

こんにちは。

とりあえずわかる範囲で。
>1, 原著作者とは、Apache財団のことをいうのか。
違います(違う場合もある)。
Apacheライセンスの元で配布しているソフトウェア(ライブラリ)を
作成した自然人もしくは法人です。
もちろん対象のソフトウェアがApacheだったりすればその原著作者は
Apache Software Foundationになります。

>2, 謝辞を表示とは、Apache Softwareを使用したプログラム内で、謝辞を表示しなければならないということなのか。また、謝辞とは、具体的にどういったものなのか。

これはライセンスに明記されていると思いますが。

licenses/Apache_License_2.0 - Open Source Group Japan Wiki @ SF.jp
http://sourceforge.jp/projects/opensource/wiki/l …

にある参考日本語訳だとこの辺ですね。

成果物の一部として「NOTICE」に相当するテキストファイルが含まれている場合は、そうしたNOTICEファイルに含まれている帰属告知のコピーを、派生成果物のどこにも関係しないものは除いて、頒布する派生成果物に入れること。その際、次のうちの少なくとも1箇所に挿入すること。(i) 派生成果物の一部として頒布するNOTICEテキストファイル、(ii) ソース形式またはドキュメント(派生成果物と共にドキュメントを頒布する場合)、(iii) 派生成果物によって生成される表示(こうした第三者告知を盛り込むことが標準的なやり方になっている場合)。NOTICEファイルの内容はあくまで情報伝達用であって、本ライセンスを修正するものであってはなりません。あなたは頒布する派生成果物に自分の帰属告知を(成果物からのNOTICEテキストに並べて、またはその付録として)追加できますが、これはそうした追加の帰属告知が本ライセンスの修正と解釈されるおそれがない場合に限られます。

通常この手のライセンスで求められる「謝辞」というと、『誰それが作成したところの
××というライブラリを使用した』という感じの、ベースとなったものの
元の作者がわかるように記述されているものをさすことが多いと思います。

べつにありがとうとか感謝しているとかいう表現は不要です。
というか、「謝辞」という表現を使った訳ってどこにあったのでしょうか?

>3, 最後に、率直に質問しますが、Apache Softwareをモジュールとして使用して記述されたプログラムを、ソースコード非公開かつ有償の製品として営利目的で販売することは、ライセンス上合法ですよね?

ちょっと具体的なことをおたずねしますが、『Apache Softwareをモジュールとして使用』
とはどのような状態を指しているのでしょうか?

たとえば一群のライブラリ関数を集めたDLL(共有ライブラリ)がApace ライセンスを使用するものであって、
質問者さんのアプリはそれを呼び出して使うだけということであれば
まったく問題はありません。
また、データベースサーバのようなものであっても、定められたプロトコルにしたがって
呼び出しているようなものが質問者さんのアプリであるならこれも問題はありません。

>本ライセンスでは、成果物や派生成果物から分離できる製作物や、成果物や派生成果物の
>インタフェースへの単なるリンク(または名前によるバインド)を、派生成果物に含めません。

この辺が該当します。
この場合、質問者さんが自分の作成された部分はまったく好きに扱えます。
ただし、DLLなどそのものはあくまでApacheライセンスに縛られますので
注意してください。

しかし、たとえば、Apache(httpサーバ)のソースコードを改変したものを
まったく自由にできるかというとこれはちょっと疑問があります。

この回答への補足

謝辞という日本語ですが、検索時に結構見ました。(というかそういう表現ばかりでした)
http://www.google.co.jp/search?hl=ja&q=apache+%E …

>ちょっと具体的なことをおたずねしますが、『Apache Softwareをモジュールとして使用』
>とはどのような状態を指しているのでしょうか?

ソフトウェア成果物があったとして、その成果物が第三者の作成したライブラリを改変せずにそのまま使用しようと思っていました。
モジュールとして使用だけでは、言葉足らずでしたね。
教えてもらう立場なのに、もう少し答えやすい文章にする必要がありました。ごめんなさい。

補足日時:2007/11/30 13:22
    • good
    • 0
この回答へのお礼

1について
よく考えてみればそうですね。
英語等読むと、推理力が減衰する気がします。。(いっぱいいっぱい)

2について
「うぉ」・・・と思わず言ってしまいましたが、この日本語訳にたどりついていませんでした。
お手をわずらわせてすみません。

しかし1、2共に、さまざまな日本語訳で見られたように、かなりゆるやかな制限のライセンスですね。
素直に言うと、うれしいです。

今まで英和辞典しか使っていませんでしたが、先日英英辞典がネット上にあることに気づき、これを使えばもっと正確に意味を把握できると思うので、これからはがんばって原文等も読んでいこうと思います。

ご回答本当にありがとうございました。

お礼日時:2007/11/30 13:35

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

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

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

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

QApache 2.0ライセンス

どなたか教えてください。
Apache 2.0ライセンスとは何でしょうか?
ある基幹システムのwebアプリケーションを構築する予定です。

そこでフレームワークにSpring Frameworkを使用しますが、ライセンスがApache 2.0ライセンスです。
Apache 2.0ライセンスのルールとして成果物に下記定型文を記載すれば、使用しても問題ないのでしょうか?

Copyright [yyyy] [著作権所有者の名前]

また、オープンソースライセンスのGPLとか関係あるのでしょうか?
Apache 2.0ライセンスのフレームワークを使用する上でのルールを教えてください。

Aベストアンサー

Apache 2.0ライセンスというのは、Apache License, Version 2.0のことですよね?
これのことです。
http://www.apache.org/licenses/LICENSE-2.0.html

Spring Frameworkのサイトからもばっちりリンクを張ってあると思います。
http://www.springframework.net/license.html

和訳
http://sourceforge.jp/projects/opensource/wiki/licenses%2FApache_License_2.0

> Apache 2.0ライセンスのルールとして成果物に下記定型文を記載すれば、使用しても問題ないのでしょうか?
> Copyright [yyyy] [著作権所有者の名前]

全く違います。
上記"4. Redistribution."あるいは和訳の"4. 再頒布 "を読みましょう。

簡潔に説明すると、オリジナルのライセンスおよび権利者を明示し、あなたが改変した箇所の権利関係を明確にしてください。具体的な手順は"4. Redistribution"に書いてある通りです。


> また、オープンソースライセンスのGPLとか関係あるのでしょうか?

両方共オープンソースのライセンスというくらいしか関係ないですね。一応、GPLのソフトウェアと混ぜて使えるかについての説明は次に書いてあります。
http://www.apache.org/licenses/GPL-compatibility.html
(日本語での説明) http://ja.wikipedia.org/wiki/Apache_License
Apache License, version 2.0はGPL version 3と混ぜられますが、混ぜるとGPL version 3になりますので、ASFはそれを推奨しません。


どういった形で公開するか知りませんが、最低でも次の文言をユーザーにわかるところに入れましょう。
「このソフトウェアはSpring Framework (http://www.springframework.net/) を使っています。Spring FrameworkはApache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0) の元で公開されています。」
Spring Frameworkのコードを改変し、それを配布する場合は改変箇所についての詳しいドキュメントを添付しましょう。そこでは、著作権、特許、商標権などについて明記しましょう。

Apache 2.0ライセンスというのは、Apache License, Version 2.0のことですよね?
これのことです。
http://www.apache.org/licenses/LICENSE-2.0.html

Spring Frameworkのサイトからもばっちりリンクを張ってあると思います。
http://www.springframework.net/license.html

和訳
http://sourceforge.jp/projects/opensource/wiki/licenses%2FApache_License_2.0

> Apache 2.0ライセンスのルールとして成果物に下記定型文を記載すれば、使用しても問題ないのでしょうか?
> Copyright [yyyy] [著作権所有者の名...続きを読む

QGPLライセンスのライブラリを利用=ソース公開しなきゃだめ?

GPLライセンスについて調べています。
考え方がまちがっていたらご指摘いただきたいです。

1.GPLライセンスのライブラリを用いたシステム開発を行った場合
  ソースの開示を求められたら、開示しなければいけない?

たとえば、Javaで開発したシステムの場合、ここでいうソースコードとはjavaファイル郡になるのでしょうか?
jarファイルとかwarファイルだけでは駄目 ということですよね?

2.GPLライセンスのライブラリを用いたソフトを作って売る場合も
  同様で、ソースの開示を求められたら、開示しなければいけない?

つまりは、Javaで開発したソフトをパッケージ販売したいなら、
ソースコードをお客に開示するつもりでいなければならない ということでいいですか?

また、ソースコードを開示する先 は、お客だけでいいのでしょうか?
まったく関係のない人から開示を求められた場合も、ソースコードを渡さなきゃいけないのでしょうか?

以上です。
よろしくおねがいします。

Aベストアンサー

僕もあまり詳しくはないですが、
GPLで配布について求められていることは、
バイナリを直接配布する場合、そのバイナリを入手するのと
同じ手順でソースコードも入手できるようにすることだったと思います。

つまり、サイト経由でバイナリを配布するならば同じページでソースコードを配布しないとだめだし、CDで配るのなら、同じCDの同じディレクトリに同梱しないといけません。

ちなみに、GPLには、LGPLというライブラリ用の劣化したGPLがあります。
この場合、動的リンクをする場合にはGPL汚染はしなかったと思います。
利用しようとしているライブラリのライセンスを確認して、実際に利用している人に聞いてみるのがよいかと。。

参考URL:http://www.opensource.jp/lesser/lgpl.ja.html

Qpingでポートの指定

pingでIPアドレスを指定して、通信できるかどうかというのは
よく使いますが、pingでポートを指定して応答するかどうかは調べられるのでしょうか?

よろしくお願いします

Aベストアンサー

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含むICMP)ではできません。

FTPの疎通確認であれば、クライアントからサーバに対するTCP/21通信(FTP-CMD)が可能であること(サーバからクライアントへのTCP/21からの応答を含む)+サーバからクライアントに対するTCP/20通信(FTP-DATA)が可能であること(クライアントからサーバへのTCP/21からの応答を含む)が必要でしょう。

監視ソフトによるものであれば、
・クライアントからサーバへのログイン(TCP/21)
・クライアントからサーバへのlsの結果(TCP/20)
で確認すればよいでしょう。

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含む...続きを読む

Qinterface,extend,implementのちがい

お世話になります、

Javaを勉強しているのですが、
interface,extend,implementの使い分けがわかりません。

私の解釈としては、
(1)interfaceは、グローバル変数の定義、グローバルメソッドの定義(実装はしない)。

(2)extendは、extendクラスを親クラスとして親クラスの機能を使用できる。

(3)implementは…,implementもextendと同じような意味だと解釈しているんですが、違う点は、implementで定義してあるメソッドは、使用しなくても、実装しなければならないという点でしょうか?

とにかくこの3つのを使い分けるコツとかあれば教えてください。
よろしくお願いします。

Aベストアンサー

バラバラに理解してもしょうがないッス。

まず、
(1)interface と implements
(2)class と extends

が対応しているわけっす。

JavaはC++と違って、比較的言語仕様を「簡単」にしたので「多重継承」という
概念がないです。
多重継承っていうのは、複数のクラスを親クラスにして継承するってことですね。

たとえば、 「TextFieldクラス」と「Japaneseクラス」を多重継承すると、
「JTextFieldクラス」ができるっていうのが自然な考え方でしょう?

まぁ、例えば、日本語クラスであれば、getStringLength()メソッドなどが
あったほうが良いでしょうか。
このgetStringLength()メソッドは、2バイト文字も1バイト文字も「1文字」
と数えてくれると言う点で、まさに、日本語クラス用のメソッドだと言えるでしょう。

例えば、Java的に記述すると、、、
class Japanese {
public int getStringLength() {
  ・・・
return strlength;
 }
 ・・・
}

class TextField {
・・・
}

class JTextField extends TextField, extends Japanese {
・・・・
}

C++ではそのように実装するでしょう。
しかし、Javaにはこのような高度な機能はありません。

そこで、生まれた苦肉の策が、「interfaceとimplements」です。

interface Japanese {
public int getStringLength(); // interfaceは実装を含まない!
                 // すなわち「実装の継承」ができるわけではない。
}

class TextField {
・・・
}

class JTextField extends TextField implements Japanese {
・・・・
public int getStringLength() {
  ・・・
return strlength; //implementsの実装を「各クラスで」実装してやる必要がある。
 }
}


結局のところ、Javaでは、複数のクラスを親クラスには持ち得ないため、継承できなかったクラスは「各クラスで実装してやる必要性」があるのです。


ではどのように使うのが効果的か?

なまえのままです。「代表的なインターフェイス」にたいしてinterfaceを使うのが良いと思います。

例えば、プレイヤー系であれば、ビデオ・コンポ・ウォークマン・などにかかわらず、
interface controlpanel {
public play();
public stop();
public next();
public back();
}
というような基本的インターフェイスを「持っているべき」です。

こうすることで、それぞれのクラス宣言の際に、これらの「インターフェイスを持っているべきであり、実装されるべきである」ということを「強く暗示」することができます。
class videoplayer extends player implements controlpanel {
public play() {・・・}
public stop() {・・・}
public next() {・・・}
public back() {・・・}
}

こうすることで、同様のクラスを作成するユーザーは、
「プレイヤー系は、4つ操作が出来るコントロールパネルをインターフェイスとして持つべきなのだな!?」という暗示を受け取り、自分のクラスでもそれを模倣するでしょう。

class mp3player extends player implements controlpanel {
public play() {・・・}
public stop() {・・・}
public next() {・・・}
public back() {・・・}
}

また、これらのクラスを使用するユーザーも、「implements controlpanel」という
表記を見て、「4つの基本操作は押さえられているのだな!」という基本中の基本動作を抑えることが出来ます。

まとめると、クラスに「こういう特徴もたしてください!」「こういう特徴持ってますよ!」という一種の暗示的警告や方向性を与えることができるわけですね。

バラバラに理解してもしょうがないッス。

まず、
(1)interface と implements
(2)class と extends

が対応しているわけっす。

JavaはC++と違って、比較的言語仕様を「簡単」にしたので「多重継承」という
概念がないです。
多重継承っていうのは、複数のクラスを親クラスにして継承するってことですね。

たとえば、 「TextFieldクラス」と「Japaneseクラス」を多重継承すると、
「JTextFieldクラス」ができるっていうのが自然な考え方でしょう?

まぁ、例えば、日本語クラスであれば...続きを読む

QLNK2019: 未解決の外部シンボルのエラーが出る

Microsoft Visual Studio 2008
Version 9.0.21022.8 RTM
Microsoft .NET Framework
Version 3.5 SP1
----------------------------------------------------------------
新しいプリジェクト→Win32 コンソール アプリケーション(ソリューションのディレクトリを作成 チェック外す)→Windows アプリケーション(空のプロジェクト チェック外す)
----------------------------------------------------------------
 プログラム

 mymain.cpp
#include "myhelper.h"
#include "mymain.h"

//自キャラのデータ
Point2D g_jikipos = {40, 400};//自キャラの座標

//画像ハンドル
int g_jikiimage[11];

//色々なファイルの読み込み
int LoadFiles(){
//画像ファイル読み込み
if(LoadDivGraph("media\\player01.bmp",
11,11,1,64,64,g_jikiimage) == -1) return -1;

return 1;
}


 mymain.h
//他から呼び出させるMyMainの関数
void MyMain();
int LoadFiles();


 myhelper.h(サンプルなので打ちミスはない)
#include "DxLib.h"
#include <limits.h>
#include <math.h>

//構造体宣言
//座標またはベクトルを記録する構造体
struct Vector{
float x,y;
};
typedef Vector Point2D;
//線を記録する構造体
struct Line2D{
Point2D startpos, endpos;
float katamuki;//傾きをラジアン値で記録
Vector speed;//移動している場合は速度をセット
};
//球体を記録する構造体
struct Ball2D{
Point2D position;
float hankei;//半径
};
//四角形を記録する構造体
struct Rect2D{
Point2D lefttop;
Point2D rightbottom;
float width;
float height;
};


//ライブラリ関数
Point2D PosInView(Point2D in);
int XInView(float inx);
int YInView(float iny);
void ScrollToLeft(float jikiposx);
void ScrollToRight(float jikiposx);
void ScrollToUp(float jikiposy);
void ScrollToDown(float jikiposy);
void DrawLineInView(float x1, float y1, float x2, float y2, int Color, int Thickness);
void DrawCircleInView(float x, float y, float r, int Color, int FillFlag);
void DrawAnimation(float x, float y, double ExtRate, double Angle,int TurnFlag,
int *imgarray, int allframe, float fps);
//ベクトル関数
Vector CreateVector(Vector in, float veclen);
Vector AddVector(Vector v1, Vector v2);
Vector SubVector(Vector v1, Vector v2);
Vector AddVectorInFrameTime(Vector pos, Vector speed);
Vector AddVectorInFrameTime2(Vector pos, Vector speed, Vector accel);
Vector Normalize(Vector in);
Vector RotateVector(Vector in, float radian);
float VectorLengthSquare(Vector in);
float DotProduct(Vector v1, Vector v2);
float CrossProduct(Vector v1, Vector v2);
void SetLine2DKatamuki(Line2D *in);
void DrawLine2D(Line2D in, int Color, int Thickness);
void DrawBall2D(Ball2D in, int Color, int Fill);
//当たり判定関数
bool HitTestLineAndBall(Line2D linein, Ball2D ballin);
bool IsPointAtLineFace(Line2D linein, Point2D ptin);
bool HitTestLineAndLine(Line2D line1, Line2D line2);
bool HitTestBallAndBall(Ball2D a, Ball2D b);
bool HitTestPointAndBox(Rect2D rect, Point2D pt);
//タイマー関数
void SetSimpleTimer(int idx, int time);
int GetPassedTime(int idx);


//グローバル変数
extern float g_frametime;
extern Rect2D g_framerect;//画面領域(当たり判定)
extern Point2D g_current_field_pos;//現在の左上座標
extern Rect2D g_stagesize;//ステージサイズ

//定数宣言
const float ZEROVALUE = 1e-10f;
const float PIE = 3.1415926f;
const int SCROLL_LIMIT = 200;
----------------------------------------------------------------
 エラー内容
1>myhelper.obj : error LNK2019: 未解決の外部シンボル "void __cdecl MyMain(void)" (?MyMain@@YAXXZ) が関数 _WinMain@16 で参照されました
1>C:\Documents and Settings\Owner\My Documents\Visual Studio 2008\Projects\my\Debug\my.exe : fatal error LNK1120: 外部参照 1 が未解決です
1>my - エラー 2、警告 0
ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ
----------------------------------------------------------------
画像を貼り付けときます
(見えにくい場合→http://www.dotup.org/uploda/www.dotup.org154142.jpg.html)
初心者なのでわかりやすくお願いします

Microsoft Visual Studio 2008
Version 9.0.21022.8 RTM
Microsoft .NET Framework
Version 3.5 SP1
----------------------------------------------------------------
新しいプリジェクト→Win32 コンソール アプリケーション(ソリューションのディレクトリを作成 チェック外す)→Windows アプリケーション(空のプロジェクト チェック外す)
----------------------------------------------------------------
 プログラム

 mymain.cpp
#include "myhelper.h"
#include "mymain.h"

//自...続きを読む

Aベストアンサー

ファイル構成から推測するに
mymain.cpp というファイルに
void MyMain(void) {
// ここに処理を書く
}
という関数が必要なようです。

QBSDライセンス利用時の表記について

こんにちは、オープンライセンスのソフトを初めて利用するものです。

今回、BSDライセンスで配布されたオープンソースをWebに組み込んで
利用しようとしています。

利用するWebサイトに著作権表示をするのか
する場合は、どういう風に記載するのがいいか

いろいろ調べているのでですが、提供する側の情報
にたどり着けるものの利用側の情報にうまくたどりつけません。

そこでみなさまのお力をお借りさせてください。

・利用するWebサイトに著作権表示を行う必要はありますでしょうか
・必要がある場合、どう記載すればいいのか

どなかたご教授していただけまでしょうか

Aベストアンサー

・利用するWebサイトに著作権表示を行う必要はありますでしょうか
 ありません。

・必要がある場合、どう記載すればいいのか
 仮に、あなたがそのオープンソースのソフトウェアを改造し、そのソースコード自体を公開する場合にのみ、オリジナルの著作権表示を提供する必要があります(その際、自分が改造した旨を添えても良いというか普通添える)。なので、コンポーネントを利用するだけの場合は一切必要ありません。

 まぁ、優れたコンポーネントを使わせてもらっているという感謝の意味を込めて「powerd by ○○」などとWebサイトのどこかに記載するのは悪いアイディアではありません。もちろん義務ではありません。

QMPL2.0ライセンスのライブラリを使った開発

MPL2.0ライセンスをうたったライブラリを使って開発し、製品として出荷したい考えています。

http://www.mozilla.org/MPL/2.0/FAQ.html
のQ11をみると、
MPL2.0ライセンスをうたっている該当のライブラリを変更せずに使うのであれば
製品のソースコードは開示しなくてもよいと読み取れるのですが
この解釈で正しいのでしょうか。

教えて頂けると大変助かります。

Aベストアンサー

いえーすざっつらいと。

MPL2.0のライセンスで公開されているライブラリ(より正確に言えばMPL2.0のライセンスで公開されているのはライブラリではなくてソースコード)をリンクして実行するプログラムにはソースコード公開義務はない。
それはQ12にまとめられている
MPL: The copyleft applies to any files containing MPLed code.
LGPL: The copyleft applies to any library based on LGPLed code.
GPL: The copyleft applies to all software based on GPLed code.
の方が理解しやすいかも知れない。

つまり、MPLなライブラリを使用して開発するにあたり、そのライブラリの一部を改変して再コンパイルした場合はその修正されたソースコードファイルについてはソースコードを公開し、かつそのソースコードはMPLでライセンスされる必要があるが、それの中に書かれてあるルーチンを呼び出すプログラムが書かれたファイルは何もしなくてOKだ。
・library.c ←MPL2.0
・mysource.c ←あなたが作った
の2ファイルを1つのEXEにして配布する場合でもmysource.cは公開義務はない。library.cを改変したとしても、公開義務があるのは改変されたlibrary.cのみであり、mysource.cには影響しない。

いえーすざっつらいと。

MPL2.0のライセンスで公開されているライブラリ(より正確に言えばMPL2.0のライセンスで公開されているのはライブラリではなくてソースコード)をリンクして実行するプログラムにはソースコード公開義務はない。
それはQ12にまとめられている
MPL: The copyleft applies to any files containing MPLed code.
LGPL: The copyleft applies to any library based on LGPLed code.
GPL: The copyleft applies to all software based on GPLed code.
の方が理解しやすいかも知れない。

つま...続きを読む

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ポートの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フルパスから最後のディレクトリ名を取得したい。

vb.netなのですが、例えば
c:\aaa\bbb\ccc\ddd\eee\fff.exe
というフルパスがあったとして、
eeeというディレクトリ名を取得したいのですが、
何か良い方法はないでしょうか。
それぞれのディレクトリ名の文字数や階層数は
決まっていないのですが、オススメの方法が
ありましたら、教えて頂けると助かります。

Aベストアンサー

MessageBox.Show(IO.Path.GetFileName(IO.Path.GetDirectoryName(myPath)))

IO.Path の GetDirectoryName でフォルダのフルパスを取得して、さらに IO.Path の GetFileName で最終フォルダ(またはファイル)の名前を取得。


人気Q&Aランキング