플래시 통신

WEB2.0/FLEX 2007. 3. 6. 03:02
http://blog.naver.com/yalleeya.do?Redirect=Log&logNo=110007231821
AND

DataBound Control








^|

ASP.NET
(웹용)







DataSource Control<-
Client

HTTP
->
->
WebService

DB


DataSet
(DataTable)

SOAP
(XML)
<-
DataSet
DataTable
WebMethod()
{

}
WebMethod(DataSet)
{

}
->
<-
fill()














->
HTTP
->
->



변경/삽입/삭제
<->

SOAP
(XML)





AND

3 Teir

DEVELOP/C# 2007. 3. 5. 15:56
웹서비스의 세션을 웹페이지에서 이용하기

1 tier|
2 tier

HTTP

3 tier

Web Browser
->
IIS
->
(SOAP)
->
IIS
session["변수"]
=저장개체

<-
ASP.NET Runtime
<-
(XML)
<-
ASP.NET Runtime클래스명 변수명
=(클래스)session["변수"]

|
~.aspx ->Session(웹서비스의 프록시개체)

|

ShopService
SesstionApplication

|
<-

|

WebMethod1()
WebMethod2()
save->Cart
load<-

application 도 동일
AND

웹서비스 개요

DEVELOP/C# 2007. 2. 27. 15:25
웹서비스의 클라이언트  
인터넷  
웹 서비스(WebServices) |  
 
 
응용프로그램에서 HTTP 프로그래밍이 가능한
 컴포넌트(java/.NET)
| Java App 서버
EJB서버/RMI서버
컴포넌트들  
SOAP/XML  
 
|  
 
 
OS/Language 무관하게  
 
 
 
| Windws
VB,VC++
서버
COM++/리모팅


웹서비스 작성후
Client엔 웹 참조로 추가
->(프록시클래스 추가됨)

AND

SQL 함수의 분류와 정리

  * 10g 기준, 총 259개
   (그룹함수와 분석함수를 각각 따로 계산, CORR_, STATS_T_TEST_로 시작하는 함수들을 각각 하나로
    계산할 경우)
  * 붉은색으로 표시된 함수의 이름을 클릭하면 함수에 대한 설명을 볼 수 있다.


  1. Single-Row Functions (단일행함수)

  단일행함수는 조회되는 table이나 view의 모든 행에 대해서 단일행만을 반환한다.
  select-list나, where절, start with절, connect by절,having절에 나올 수 있다.

    Numeric Functions (수치함수)

    수치함수는 수치값을 입력받고 수치값을 반환한다.
    number 타입의 수치값을 반환하는 대부분의 수치함수는 38자리의 정밀도(유효숫자)를 갖는다.
    초월함수인 COS, COSH, EXP, LN, LOG, SIN, SINH, SQRT, TAN, TANH는 36자리의 정밀도를 갖는다.
    ACOS, ASIN, ATAN, ATAN2는 30자리의 정밀도를 갖는다.

      ABS
      ACOS
      ASIN
      ATAN
      ATAN2
      BITAND
      CEIL
      COS
      COSH
      EXP
      FLOOR
      LN
      LOG
      MOD
      NANVL
      POWER
      REMAINDER
      ROUND (number)
      SIGN
      SIN
      SINH
      SQRT
      TAN
      TANH
      TRUNC (number)
      WIDTH_BUCKET

    Character Functions Returning Character Values (문자값을 반환하는 문자함수)

    입력되는 값이 char, varchar2 타입으로 주어질 경우, 반환되는 값은 varchar2 타입이다.
    입력되는 값이 nchar, nvarchar2 타입으로 주어질 경우, 반환되는 값은 nvarchar2 타입이다.

    함수에 의해 반환되는 값의 길이는 반환되는 값의 datatype의 최대길이를 넘지 못한다.
    반환되는 char, varchar2 타입의 값이, 허용되는 최대치를 초과할 경우, 초과되는 부분을
    잘라내고 값을 반환한다.

      CHR
      CONCAT
      INITCAP
      LOWER
      LPAD
      LTRIM
      NLS_INITCAP
      NLS_LOWER
      NLSSORT
      NLS_UPPER
      REGEXP_REPLACE
      REGEXP_SUBSTR
      REPLACE
      RPAD
      RTRIM
      SOUNDEX
      SUBSTR
      TRANSLATE
      TREAT
      TRIM
      UPPER

    NLS Character Functions (National Language Support 함수)

    character set에 관한 정보를 반환한다.

      NLS_CHARSET_DECL_LEN
      NLS_CHARSET_ID
      NLS_CHARSET_NAME

    Character Functions Returning Number Values (수치값을 반환하는 문자함수)

      ASCII
      INSTR
      LENGTH
      REGEXP_INSTR

    Datetime Functions (시간함수)

    시간함수는 다음과 같은 3가지 datatype을 가지고 계산을 한다.
    date (date)
    timestamp (timestamp, timestamp with time zone, timestamp with local time zone)
    interval (interval day to second, interval year to month)

      ADD_MONTHS
      CURRENT_DATE
      CURRENT_TIMESTAMP
      DBTIMEZONE
      EXTRACT (datetime)
      FROM_TZ
      LAST_DAY
      LOCALTIMESTAMP
      MONTHS_BETWEEN
      NEW_TIME
      NEXT_DAY
      NUMTODSINTERVAL
      NUMTOYMINTERVAL
      ROUND (date)
      SESSIONTIMEZONE
      SYS_EXTRACT_UTC
      SYSDATE
      SYSTIMESTAMP
      TO_CHAR (datetime)
      TO_TIMESTAMP
      TO_TIMESTAMP_TZ
      TO_DSINTERVAL
      TO_YMINTERVAL
      TRUNC (date)
      TZ_OFFSET

    General Comparison Functions (비교함수)

      GREATEST
      LEAST

    Conversion Functions (변환함수)

    변환함수의 이름은 datatypeTodatatype의 규칙을 따른다.
    앞의 datatype이 입력되는 datatype, 뒤의 datatype이 반환되는 datatype이다.

      ASCIISTR
      BIN_TO_NUM
      CAST
      CHARTOROWID
      COMPOSE
      CONVERT
      DECOMPOSE
      HEXTORAW
      NUMTODSINTERVAL
      NUMTOYMINTERVAL
      RAWTOHEX
      RAWTONHEX
      ROWIDTOCHAR
      ROWIDTONCHAR
      SCN_TO_TIMESTAMP
      TIMESTAMP_TO_SCN
      TO_BINARY_DOUBLE
      TO_BINARY_FLOAT
      TO_CHAR (character)
      TO_CHAR (datetime)
      TO_CHAR (number)
      TO_CLOB
      TO_DATE
      TO_DSINTERVAL
      TO_LOB
      TO_MULTI_BYTE
      TO_NCHAR (character)
      TO_NCHAR (datetime)
      TO_NCHAR (number)
      TO_NCLOB
      TO_NUMBER
      TO_DSINTERVAL
      TO_SINGLE_BYTE
      TO_TIMESTAMP
      TO_TIMESTAMP_TZ
      TO_YMINTERVAL
      TO_YMINTERVAL
      TRANSLATE ... USING
      UNISTR

    Large Object Functions (LOB 함수)

      BFILENAME
      EMPTY_BLOB, EMPTY_CLOB

    Collection Functions (Collection 함수)

    중첩테이블(nested table), varray를 가지고 계산을 한다.

      CARDINALITY
      COLLECT
      POWERMULTISET
      POWERMULTISET_BY_CARDINALITY
      SET

    Hierarchical Function (계층쿼리 함수)

      SYS_CONNECT_BY_PATH

    Data Mining Functions (데이터마이닝 함수)

      CLUSTER_ID
      CLUSTER_PROBABILITY
      CLUSTER_SET
      FEATURE_ID
      FEATURE_SET
      FEATURE_VALUE
      PREDICTION
      PREDICTION_COST
      PREDICTION_DETAILS
      PREDICTION_PROBABILITY
      PREDICTION_SET

    XML Functions (XML 함수)

      APPENDCHILDXML
      DELETEXML
      DEPTH
      EXTRACT (XML)
      EXISTSNODE
      EXTRACTVALUE
      INSERTCHILDXML
      INSERTXMLBEFORE
      PATH
      SYS_DBURIGEN
      SYS_XMLAGG
      SYS_XMLGEN
      UPDATEXML
      XMLAGG
      XMLCDATA
      XMLCOLATTVAL
      XMLCOMMENT
      XMLCONCAT
      XMLFOREST
      XMLPARSE
      XMLPI
      XMLQUERY
      XMLROOT
      XMLSEQUENCE
      XMLSERIALIZE
      XMLTABLE
      XMLTRANSFORM

    Encoding and Decoding Functions

      DECODE
      DUMP
      ORA_HASH
      VSIZE

    NULL-Related Functions (NULL 관련 함수)

      COALESCE
      LNNVL
      NULLIF
      NVL
      NVL2

    Environment and Identifier Functions (환경변수 관련 함수)

    instance, session에 관한 정보를 제공한다.

      SYS_CONTEXT
      SYS_GUID
      SYS_TYPEID
      UID
      USER
      USERENV

  2. Aggregate Functions (그룹함수)

  그룹함수는 select-list나, order by절, having절에 나올 수 있다.
  group by절을 포함하는 쿼리에서 select-list에는 그룹함수, group by절에 있는 표현식(expression),
  상수만이 올 수 있다. COUNT(*), GROUPING을 제외한 모든 그룹함수는 NULL값을 무시한다.

      AVG
      COLLECT
      CORR
      CORR_*
      COUNT
      COVAR_POP
      COVAR_SAMP
      CUME_DIST
      DENSE_RANK
      FIRST
      GROUP_ID
      GROUPING
      GROUPING_ID
      LAST
      MAX
      MEDIAN
      MIN
      PERCENTILE_CONT
      PERCENTILE_DISC
      PERCENT_RANK
      RANK
      REGR_ (Linear Regression) Functions
      STATS_BINOMIAL_TEST
      STATS_CROSSTAB
      STATS_F_TEST
      STATS_KS_TEST
      STATS_MODE
      STATS_MW_TEST
      STATS_ONE_WAY_ANOVA
      STATS_T_TEST_*
      STATS_WSR_TEST
      STDDEV
      STDDEV_POP
      STDDEV_SAMP
      SUM
      VAR_POP
      VAR_SAMP
      VARIANCE

  3. Analytic Functions (분석함수, 해석함수)

  분석함수는 그룹단위로 값을 계산한다는 점에서 그룹함수와 유사하지만, 그룹마다 1개이상의 행을 반환한다는
  점에서 그룹함수와 상당한 차이가 있다. 분석함수에서의 그룹을 윈도우(window)라고 부르며,
  analytic_clause에서 정의한다.

  * 분석함수와 analytic_clause의 자세한 설명은 아래 페이지를 참고한다.
  - http://www.soqool.com/servlet/board?cmd=view&cat=100&subcat=1030&seq=2


  조회되는 각 행마다, 분석함수 값을 계산하기 위한 윈도우를 정의한다. 윈도우의 크기는 행의 갯수나
  시간간격을 계산하여 정의할 수 있다. 분석함수는 order by절을 제외하고는 쿼리에서 가장 나중에
  실행된다. 따라서 select-list나 order by절에만 사용할 수 있다.

  분석함수는 데이타웨어하우징(DW) 분야에서 많이 사용된다. 아래 분석함수 중에서 별표(*)가 되어 있는
  함수들은 windowing_clause를 포함해서 모든 분석함수의 구문들을 사용할 수 있는 함수들이다.

  * 분석함수와 windowing_clause의 자세한 설명은 아래 페이지를 참고한다.
  - http://www.soqool.com/servlet/board?cmd=view&cat=100&subcat=1030&seq=2


      AVG *
      CORR *
      COVAR_POP *
      COVAR_SAMP *
      COUNT *
      CUME_DIST
      DENSE_RANK
      FIRST
      FIRST_VALUE *
      LAG
      LAST
      LAST_VALUE *
      LEAD
      MAX *
      MIN *
      NTILE
      PERCENT_RANK
      PERCENTILE_CONT
      PERCENTILE_DISC
      RANK
      RATIO_TO_REPORT
      REGR_ (Linear Regression) Functions *
      ROW_NUMBER
      STDDEV *
      STDDEV_POP *
      STDDEV_SAMP *
      SUM *
      VAR_POP *
      VAR_SAMP *
      VARIANCE *

  4. Object Reference Functions

      DEREF
      MAKE_REF
      REF
      REFTOHEX
      VALUE

  5. Model Functions (Model 함수)

      CV
      ITERATION_NUMBER
      PRESENTNNV
      PRESENTV
      PREVIOUS
  



  References

  1. Oracle(R) Database SQL Reference 10g Release 2 (10.2) - SQL Functions
  - http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14200/functions001.htm

  2. Oracle Database SQL Reference, 10g Release 2 (10.2) B14200-02, b14200.pdf
  - http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14200.pdf

  Document History

  최초등록: 2006-04-15
  1차 수정: 2006-04-19
  2차 수정: 2006-07-17, 함수 추가
  3차 수정: 2006-08-27, 함수 추가
  4차 수정: 2006-09-08, 함수 추가
  5차 수정: 2006-10-20, 함수 추가
  

  * 이 문서의 내용에 관해서 잘못된 부분이 있거나 질문이 있으신 분은 답글로 알려주시기 바랍니다.
  * 이 문서를 다른 곳에 게재하실 분은 출처를 꼭 밝혀주시기 바랍니다.

출처: http://www.soqool.com/servlet/board?cmd=view&cat=100&subcat=1030&seq=1

 
AND

http://blog.theple.com/starhunt/564.html

응용 프로그램을 위한 최상의 사용자 환경을 만드는 방법
| 닷넷
2007/01/27 01:01
AND

연결된 개체
    Connection/물리적 연결을 담당
    Command/DB로 퀘리와 저장프로시저를 전송하여 실행 요청하며, 결과를 리턴하는 역할
    Parameter/Command개체의 매개변수의 정보값으로 사용됨
    DataReader/쿼리 결과를 검토할 수 있게 해줌
    DataAdapter/연결되지않은 개체와의 다리역할을 한다.
    TransAction/여러 수정작업을 하나의 단위로 묶은것

연결되지 않은 개체
    DataTable/행과 열로구성된 데이터의 저장공간
    DataRow/DataTable의 행, DataColumn를 구성요소로 가짐
    DataColumn/DataRow의 열, 실데이터를 저장하는 개체
   Constraint/제약조건으로 DataTable의 제약조건 컬렉션에 저장됨
    DataSet/DataTable개체의 집합, 메모리에서 동작하는 DB같은 녀석
    DataRelation/DataTable간의 관계,PrimaryKey-ForeignKey 간
    DataView/DataTable로 가져온 데이터를 보기위해 사용됨
AND

DBMS란
    모든 응용 프로그램들이 데이터베이스를 공유할 수 있도록 관리해주고, 데이터베이스를 유지하기 위한 일련의 소프트웨어 시스템

DB특징
    실시간접근성
    계속적 변화
    동시공용
    내용에 의한 참조

장점
    데이터의 독립성 및 중복의 최소화
    데이터를 공유
    데이터의 무결성과 보안을 보장
    표준화되고 일관된 데이터 관리
    테이터를 동시에 사용가능

단점
운영비 증가
고급프로그래밍 스킬필요, 자료처리의 복잡화
백업과 복구작업이 요구됨
고장시 통합시스템에 지장

DDL,DML,DCL(정의, 조작, 제어)

E-R Diagram
    개체, 속성, 관계의 3요소로 구성
    개체/Entity
    속성/Attribute
        기초속성/원래 갖고 있던 속성
        추출속성/기존속성을 가공하여 생성 유지되는 속성
        설계속성/시스템 효율을 위해 설계자가 임의부여
    관계/RelationShip/실체간 연관성 1:1, 1:n, n:n


AND

State Management

WEB/ASP.NET 2007. 1. 24. 17:41
상태 저장법

[Client]
Hidden Field/memory
쿠키/memory&file
View State/ASP.NET/memory
연결문자열/aspx?id=...
[Server]
Application/memory
Session/memory
Profile/ASP.NET/DB 이용/MSSQL종속

저장위치종류RamFile공유범위특징
Client
Hidden Field
O




Cookie
OO


View State
O*

Round Trip을 위해 hidden field를 사용

쿼리 문자열




Server
Application State
O
해당 어플리케이션내


Session
O
해당 클라이언트만

AND

PreviousPage란

WEB/ASP.NET 2007. 1. 23. 14:50
a.aspx -> b.aspx 로 이동시 (경우1)
a의 요소의 값에 접근하기 위해 사용

transfer된후(경우3)
이전페이지의 요소값에 접근하기 위해..


AND

a.aspx -> a.aspx  포스트백
          <-             라운트 트립

1) href 연결
a.aspx -> b.aspx 실행  Postback(x)/CrossPagePostBack(x)
b.aspx <-

2) 페이지간 게시(버튼) *PostBackUrl속성이용
a.aspx -> b.aspx   postback(x)/CrossPagePostBack(o)
b.aspx <-

3) 브라우저 리디렉션 Response.Redirection 메서드이용
a.aspx -> a.aspx  post back(o)
(버튼)  <-            post back(o)
(최종)   -> b.aspx (브라우저 리디렉션) post back(x)/CrossPagePostBack(x)
b.aspx <-

4) 서버 리디렉션 (Server.transfer메서드 이용)
a.aspx -> a.aspx -> b.aspx
a.aspx <- (내용은 a.aspx)

AND

By Will Wagers

"Prepare to be assimilated.... Resistance is futile."
- Borg, "Q, Who?", Startrek: The Next Generation

Why should a Java developer switch to C#? Here are the major reasons in alphabetical order:

1. "C Style" memory access

Rather than forcing developers to write code to access application programming interfaces (APIs) in other languages in order to access specific memory locations (e.g. hardware-mapped memory), C# allows developers to use "C style" memory management and pointers when necessary. Of course, one of the major design goals of the Java language and other object-oriented languages is specifically to outlaw such access. A fact which Microsoft acknowledges by forcing the C# programmer to label such accesses with the unsafe keyword.

2. Extensions for component-oriented development

Visual C# provides developers with a powerful component-oriented development language that includes support for properties, indexers, delegates, inheritance, versioning, and attributes, without the need for esoteric or rigid naming patterns and companion classes.

3. Familiarity

Java developers will immediately find Visual C# to be familiar and comfortable. C# is like Java on steroids. There are some extra keywords; and, Visual C# supports some extra constructs. But, a Java coder can learn the C# language in a day or two. Learning the APIs is a different matter.

4. Interactive XML Web services

Visual C# allows developers to deploy and consume rich, interactive XML Web services that reduce development time by enabling software aggregation from any platform. Microsoft is famous for hiding the details from the developer: This is both good and bad. New developers may not actually know or understand what is going on under the hood. On the other hand, it does increase productivity. Of course, Java developers have a variety of IDEs such as Eclipse to choose from. All of which provide some degree of support for Web services.

5. Leverage the .NET Framework

Visual C# provides developers with access to the Microsoft .NET Framework--a robust, thread-safe library of collection classes, data access classes, networking functions, etc. Recently, however, various bridge software offer .NET access from Java programs as well as access to the rich Java libraries from .NET languages.

6. Object-based type system

Visual C# provides developers an object-based type system that eliminates the need for complex, verbose data marshalling code commonly required by Java applications.

7. Standards-based language

Visual C# provides developers with a standards-based language (ECMA) with all its advantages. This is a significant advantage over the Java language.

8. Target any device

Visual C# lets developers target desktop computers or a variety of handheld and wireless devices using identical tools and skills. True, but all the devices must be Windows based.

9. Visual Studio .NET IDE

Visual C# provides developers with the Visual Studio .NET integrated development environment (IDE) which includes support for task lists, property editors, Microsoft IntelliSense®, Forms designers, etc. For development on Windows platform, Visual Studio is king. However, Visual Studio lags Eclipse and other IDEs except in Microsoft-specific features.

10. XML comments

Visual C# allows developers to use eXtensible Markup Language (XML) Comments to provide useful and customizable source code documentation. Of course, so does Java although Microsoft does add its own twists to it.

Conclusion

A form of this top 10 list originated with Microsoft. But, because both Java software and Visual C# evolve competitively, non-Microsoft oriented features tend to be matched by each competitor in turn. There is no real reason to use Visual C# instead of Java in general; because, each has its own advantages and disadvantages which may or may not be important in specific situations. Unless you work in a Microsoft-only shop, the requirements of the project should dictate both the language and other software employed.

"Ducunt volentem fata, nolentem trahunt." - Seneca
AND

DHCP 

み方          ディエイチシ

フルスペル   Dynamic Host Configuration Protocol

 インタネットに一時的に接するコンピュタに、IPアドレスなど必要な情報を自動的に割りてるプロトコル。DHCPバには、ゲトウェイサバやDNSバのIPアドレスや、サブネットマスク、クライアントに割り当ててもよいIPアドレスの範囲などが設定されており、ダイヤルアップなどの手段を使ってアクセスしてきたコンピュータにこれらの情報を提供する。クライアントが通信を終えると自動的にアドレスを回収し、他のコンピュータに割り当てる。DHCPを使うとネットワークの設定に詳しくないユーザでも簡単にインターネットに接続することができ、また、ネットワーク管理者は多くのクライアントを容易に一元管理することができる。

 

DNS 

読み方          ディーエヌエス

フルスペル   Domain Name System

 インターネット上のホスト名とIPアドレスを対応させるシステム。全世界のDNSサーバが協調して動作する分散型データベースである。IPアドレスをもとにホスト名を求めたり、その逆を求めたりすることができる。

 各DNSサーバは自分の管理するドメインについての情報を持っており、世界で約10台運用されているルートサーバにドメイン名と自分のアドレスを登録しておく。

 リゾルバと呼ばれるクライアントプログラムは、調べたいドメイン名(またはIPアドレス)をまずルートサーバに照会し、そのドメインを管理するDNSサーバを調べ、そのDNSサーバに情報を聞き出すことで変換を行なう。

 インターネット上で運用されているDNSサーバのほとんどは、カリフォルニア大学バークリー校(UCB)で開発されたBINDである。

 

HTTP 

読み方          エイチティーティーピー

フルスペル   HyperText Transfer Protocol

 Webサーバとクライアント(Webブラウザなど)がデータを送受信するのに使われるプロトコル。HTML文書や、文書に関連付けられている画像、音声、動画などのファイルを、表現形式などの情報を含めてやり取りできる。IETFによって、HTTP/1.0RFC 1945として、HTTP/1.1RFC 2616として規格化されている。

 

IP 

読み方          アイピー

フルスペル   Internet Protocol

 米国防総省のネットワークプロジェクトで開発されたプロトコル。

 OSI基本参照モデルの第3(ネットワーク層)に位置し、ネットワークに参加している機器の住所付け(アドレッシング)や、相互に接続された複数のネットワーク内での通信経路の選定(ルーティング)をするための方法を定義している。

 コネクションレス型のプロトコルであるため、確実にデータが届くことを保証するためには、上位層のTCPを併用する必要がある。

 UNIXの標準プロトコルとなったことから急速に普及が進み、現在世界でもっとも普及している。IPによって世界模で相互に接続された巨大なコンピュータネットワークをインターネットと呼ぶ。

 

IPv4 

読み方          アイピーブイヨン、アイピーブイフォー

フルスペル   Internet Protocol Version 4

 現在のインターネットで利用されているインターネットプロトコル(IP)。アドレス資源を32ビットで管理しているため、識別できるコンピュータの最大数は4294967296台である。しかし、近年のインターネットの急速な普及により、アドレス資源の枯渇が予想以上に早く生じるとの危惧が関係者の間に高まり、128ビットでアドレスを管理するIPv6が開発された。

 

IPv6 

読み方          アイピーブイロク、アイピーブイシックス

フルスペル   Internet Protocol Version 6

 アドレス資源の枯渇が心配される現行のインターネットプロトコル(IP)IPv4をベースに、管理できるアドレス空間の増大、セキュリティ機能の追加、優先度に応じたデータの送信などの改良を施した次世代インターネットプロトコル。

 

IPアドレス 【IP address

読み方          アイピーアドレス

フルスペル   Internet Protocol Address

 インターネットやイントラネットなどのIPネットワークに接続されたコンピュータや通信機器11台に割り振られた識別番号。インターネット上ではこの数値に重複があってはならないため、割り当てなどの管理は各国のNIC(ネットワークインフォメーションセンター)が行なっている。

 現在広く普及しているIPv4では、8ビットずつ4つに区切られた32ビットの数値が使われており、「211.9.36.148」などのように、0から255までの10進数の数字を4つ並べて表現する。

 単なる数値の羅列であるIPアドレスはこのままでは人間にとっては覚えにくいため、コンピュータに名前(ドメイン名)がつけられている場合もあり、DNSというシステムによってIPアドレスとの相互変換が可能となっている。

 現在のIPv4では約42億台までしかインターネットに接続することができず、アドレスが足りなくなることが懸念されており、IPv4に代わる次世代のIPv6の標準化が進行している。IPv6では128ビットのアドレスが使われるため、当分アドレスが足りなくなる心配はない。

 

IPマスカレード 【NAPT

読み方          アイピーマスカレード

別名              Network Address Port Translation, IP masquerade

  インターネットに接続された企業などで、一つのグローバルなIPアドレスを複数のコンピュータで共有する技術。組織内でのみ通用するIPアドレス(ローカルアドレス)と、インターネット上のアドレス(グローバルアドレス)を透過的に相互変換することにより実現される。

  NATと異なりTCP/UDPのポート番号まで動的に変換されるため、一つのグローバルアドレスで複数のマシンから同時に接続することが可能である。ただし、ポート番号の変換が行なわれるため、インターネット側から内部のマシンに接続を開始するような使い方はできず、ICMPも利用できないなどの制限がある。最近のブロードバンドルータなどではこうした制限を緩和するための独自の実装を行なっているものもある。

  もともと「NAPT」が技術の名称で、「IPマスカレード」はLinuxにおけるNAPTの実装のことだったが、現在では両者が混同されている例が多く見られる。また、ブロードバンドルータのスペック表などではNAPTの意味で「NAT機能搭載」と表記していることもある。

 

MACアドレス 

読み方          マックアドレス

フルスペル   Media Access Control address

別名              マックアドレス

 Ethernetカードに固有のID番号。全世界のEthernetカードには11枚固有の番号が割り当てられており、これを元にカード間のデータの送受信が行われる。IEEEが管理・割り当てをしている各メーカーごとに固有な番号と、メーカーが独自に各カードに割り当てる番号の組み合わせによって表される。

 

MTU 

読み方          エムティーユー

フルスペル   Maximum Transmission Unit

 通信ネットワークにおいて、1回の転送で送信できるデータの最大値を示す値。送信する側が接続ごとに値を設定できる。送信側ホストが受信側ホストより大きいMTUを持っていた場合は、送信側が受信側のMTUに従ってデータを再分割して送信する。エラーデータの再送信はMTUに指定されたサイズを単位として行われるため、劣悪な通信環境ではMTUを小さい値に設定した方が転送速度が速くなり、逆に安定した通信環境では制御信号が少なくなる分MTUの大きい方が転送速度が速くなる。MTUの単位はバイトで、Ethernetでは1500程度、電話回線によるダイヤルアップ接続では576程度が最適とされる。

 

NAT 

読み方          ナット

フルスペル   Network Address Translation

 インターネットに接続された企業などで、一つのグローバルなIPアドレスを複数のコンピュータで共有する技術。組織内でのみ通用するIPアドレス(ローカルアドレス)と、インターネット上のアドレス(グローバルアドレス)を透過的に相互変換することにより実現される。最近不足がちなグローバルIPアドレスを節約できるが、一部のアプリケーションソフトが正常に動作しなくなるなどの制約がある。

 

OSI参照モデル 【OSI reference model

読み方          オーエスアイさんしょうモデル

別名              OSI基本参照モデル, OSI階層モデル, OSI layer model, OSI basic reference model

 国際標準化機構(ISO)により制定された、異機種間のデータ通信を実現するためのネットワーク構造の設計方針「OSI(Open Systems Interconnection)」に基づき、コンピュータの持つべき通信機能を階層構造に分割したモデル。「OSI基本参照モデル」「OSI階層モデル」とも呼ばれる。通信機能を7階層に分け、各層ごとに標準的な機能モジュールを定義している。

 第1(物理層)は、データを通信回線に送出するための電気的な変換や機械的な作業を受け持つ。ピンの形状やケーブルの特性なども第1層で定められる。

 第2(データリンク層)は、通信相手との物理的な通信路を確保し、通信路を流れるデータのエラー検出などを行なう。

 第3(ネットワーク層)は、相手までデータを届けるための通信経路の選択や、通信経路内のアドレス(住所)の管理を行なう。

 第4(トランスポート層)は、相手まで確実に効率よくデータを届けるためのデータ圧縮や誤り訂正、再送制御などを行なう。

 第5(セッション層)は、通信プログラム同士がデータの送受信を行なうための仮想的な経路(コネクション)の確立や解放を行なう。

 第6(プレゼンテーション層)は、第5層から受け取ったデータをユーザが分かりやすい形式に変換したり、第7層から送られてくるデータを通信に適した形式に変換したりする。

 第7(アプリケーション層)は、データ通信を利用した様々なサービスを人間や他のプログラムに提供する。

 

POP 【POP3

読み方          ポップ

フルスペル   Post Office Protocol

 インターネットやイントラネット上で、電子メールを保存しているサーバからメールを受信するためのプロトコル。現在最も広く普及している。電子メールの送信に使われるSMTPとセットで利用される。ユーザがタイトルや発信者を確認する前に、クライアントが全メールを受信してしまうため、発信者やタイトルの一覧を見てから受信するかどうか決められるIMAPPOPの代わりに利用する場合もある。POPを使うとパスワードがネットワーク上をそのまま流れるため、通信途中で盗まれるかもしれないという危険性がある。この弱点を改善し、パスワードのやり取りを暗号化したものをAPOPという。

 

SMTP 

読み方          エスエムティーピー

フルスペル   Simple Mail Transfer Protocol

 インターネットやイントラネットで電子メールを送信するためのプロトコル。サーバ間でメールのやり取りをしたり、クライアントがサーバにメールを送信する際に用いられる。

 

SSL 

読み方          エスエスエル

フルスペル   Secure Socket Layer

 Netscape Communications社が開発した、インターネット上で情報を暗号化して送受信するプロトコル。現在インターネットで広く使われているWWWFTPなどのデータを暗号化し、プライバシーに関わる情報やクレジットカード番号、企業秘密などを安全に送受信することができる。

 SSLは公開鍵暗号や秘密鍵暗号、デジタル証明書、ハッシュ関数などのセキュリティ技術を組み合わせ、データの盗聴や改ざん、なりすましを防ぐことができる。OSI参照モデルではセッション層(5)とトランスポート層(4)の境界で動作し、HTTPFTPなどの上位のプロトコルを利用するアプリケーションソフトからは、特に意識することなく透過的に利用することができる。SSL 3.0をもとに若干の改良が加えられたTLS 1.0RFC 2246としてIETFで標準化されている。

 

TCP/IP 

読み方          ティーシーピーアイピー

フルスペル   Transmission Control Protocol/Internet Protocol

 インターネットやイントラネットで標準的に使われるプロトコル。米国防総省が、核攻撃で部分的に破壊されても全体が停止することのないコンピュータネットワークを開発する過程で生まれた。

 UNIXに標準で実装されたため急速に普及し、現在世界で最も普及している。OSI参照モデルではIPが第3(ネットワーク層)TCPが第4(トランスポート層)にあたり、HTTPFTPなどの基盤となるプロトコルである。

 

TTL 

読み方          ティーティーエル

フルスペル   Transistor-Transistor Logic

 バイポーラトランジスタのみで構成された論理集積回路(ロジックIC)のこと。TTL登場前に使われていたDTL(Diode-Transistor Logic)と区別するため、このような名称になった。

 1964年にTexas Instruments(TI)が開発した7400シリーズがTTLの始まりで、その後多くの派生製品を産んだ。現在では多くの企業がTIと同仕様の製品を同様の型番で販売している。

 TTLCMOSと並んでデジタルICの構成回路としてはもっともポピュラーなものの一つである。

 

UDP 

読み方          ユーディーピー

フルスペル   User Datagram Protocol

 インターネットで利用される標準プロトコルで、OSI参照モデルのトランスポート層にあたる。ネットワーク層のIPと、セション層以上のプロトコルの橋渡しをする。

 インターネットでは、トランスポート層のプロトコルとしてTCPも使われるが、UDPは転送速度は高いが信頼性が低く、TCPは信頼性は高いが転送速度が低い。

 

VoIP 

読み方          ブイオーアイピー

フルスペル   Voice over Internet Protocol

 インターネットやイントラネットなどのTCP/IPネットワークを使って音声データを送受信する技術。社内LANを使った内線電話や、インターネット電話などに応用されている

 

WiBro 

読み方          ワイブロ

フルスペル   Wireless Broadband

 韓国で開発された高速無線通信技術。200512月にIEEE(国際電気電子学会)によって「Mobile WiMAX(IEEE802.16e)規格の一部として標準化された。

 2.3GHz帯の無線を使い、最大で下り20Mbps、上り6Mbpsで通信できる。固定無線技術のWiMAXを基盤に開発されたが、WiBroは移動時にも通信可能で、高速移動中でも下り数百kbpsの通信速度を確保できるとされている。このため、第4世代携帯電話(4G)が導入されるまでの「つなぎ」の高速移動通信技術として期待されている。

 

アップストリーム 【upstream

読み方          アップストリーム

 通信回線を流れるデータのうち、下流の通信機器から上流の機器へ流れていくもの。サーバとクライアントの接続ではサーバ側が上流になるため、アップストリームはクライアント側が送信するデータになる。

 インターネットのほとんどの用途では、アップストリームが使われるのは、サーバへのリクエスト送信などのごく少量のデータを送る場合である。このため、ADSL回線などはアップストリーム回線の通信速度を抑えてダウンストリーム(サーバ側が送信するデータ)回線の通信速度を確保している。ただし、テレビ電話などではクライアントからも大量のデータを送信するため、アップストリーム回線もそれなりの速度が必要になる。

 

ダウンストリーム 【downstream

読み方          ダウンストリーム

 通信回線を流れるデータのうち、上流の通信機器から下流の機器へ流れていくもの。

 例えば、プロバイダ経由でインターネットに接続している環境では、プロバイダ側(つまりインターネット)からパソコンに流れてくるデータがダウンストリームになる。

 LAN環境ではネットワークサーバを上流、クライアントマシンを下流として扱い、サーバからクライアントに送られるデータがダウンストリームになる。

 Webページの閲覧やストリーミング配信といった、インターネットのほとんどの用途では、サーバ側が送るデータがクライアント(パソコンなど)が送るデータに比べて非常に多くなる。

 このような状況を踏まえて、56kbpsアナログモデムやADSL回線では、ダウンストリームの通信速度をアップストリーム(ダウンストリームとは逆に、クライアントからサーバに流すデータ)の通信速度より速くしている。

 コンピュータ同士を接続する回線以外でもダウンストリームという言葉は使われることがある。その一例がUSBで、パソコンのインターフェースを最上流とし、パソコンから送信するデータがダウンストリームに、パソコンが受信するデータがアップストリームになる。

 

ゲートウェイ 【gateway

読み方          ゲートウェイ

 ネットワーク上で、媒体やプロトコルが異なるデータを相互に変換して通信を可能にする機器。OSI参照モデルの全階層を認識し、通信媒体や伝送方式の違いを吸収して異機種間の接続を可能とする。

 

ソケット 【socket

読み方          ソケット

 TCP/IPで通信を行なうコンピュータが持つネットワーク内での住所にあたるIPアドレスと、IPアドレスのサブ(補助)アドレスであるポート番号を組み合わせたネットワークアドレスのこと。

 通常、TCP/IP通信においては、1つのIPアドレスは複数(通常は65536)の「ポート」から構成され、他のIPアドレス上のポートと結合して、複数のアドレスと同時に通信できるようになっている。接続を行なう場合は必ずIPアドレスとポート番号の組を指定し、この組のことをソケットという。

 1つのビル(IPアドレス)に複数の階(ポート)があり、どのビルのどの階かを指定して通信を行なうのがソケットであると言える。

 ソケットには、通信を行なうアプリケーションソフトがTCP/IPを扱うための仮想的なインターフェースという意味もある。

 アプリケーションソフトはアドレスとポートの組であるソケットを指定して回線を開くだけで、通信手順の詳細を気にすることなくデータの送受信を行なうことができる。

 実際の通信はTCP/IPプロトコルスタックと呼ばれる共有ライブラリ(ソフトウェア部品)が担当する。

 4.2BSDTCP/IPが実装された時に用意された仕組みで、ネットワークを利用したプログラミングが格段に容易になった。この仕組みをWindowsに移植したものをWinsockという。

 

ノード 【node

読み方          ノード

 ネットワークを構成する一つ一つの要素のこと。通信ネットワークではコンピュータやハブ、ルータなど一台一台の通信機器がノードに当たる。ノードとノードを結ぶ線はリンクという。

 

パケット 【packet

読み方          パケット

 コンピュータ通信において、送信先のアドレスなどの制御情報を付加されたデータの小さなまとまりのこと。データをパケットに分割して送受信する通信方式をパケット通信と呼ぶ。データを多数のパケットに分割して送受信することにより、ある2地点間の通信に途中の回線が占有されることがなくなり、通信回線を効率良く利用することができる。また、柔軟に経路選択が行なえるため、一部に障害が出ても他の回線で代替できるという利点もある

 

パケット通信 【packet communication

読み方          パケットつうしん

分野              ネットワーク技術 > ネットワーク制御

 コンピュータ通信において、データを小さなまとまりに分割して一つ一つ送受信する通信方式。分割されたデータはパケットと呼ばれ、データのほかに送信先のアドレスや、自分がデータ全体のどの部分なのかを示す位置情報、誤り訂正符号などの制御情報が付加されている。

 パケット通信を使うと、ある2地点間の通信に途中の回線が占有されることがなくなり、通信回線を効率良く利用することができる。また、柔軟に経路選択が行なえるため、一部に障害が出ても他の回線で代替できるという利点もある。

 一定の範囲でパケット当たりのデータ量が変化する可変長パケットが主流だが、ATM53バイトの固定長パケット(「セル」と呼ばれる)で通信を行なう。

 パケット通信はアメリカ国防省の研究プロジェクトであるARPAnetで採用されたのが最初で、ARPAnetから誕生したインターネットもパケット通信網である

 

バッファ 【buffer

読み方          バッファ

 複数の機器やソフトウェアの間でデータをやり取りするときに、処理速度や転送速度の差を補うためにデータを一時的に保存しておく記憶装置や記憶領域のこと。

 例えば、コンピュータがプリンタにデータを送る場合、プリンタが受信したデータを紙に印刷する速度は、コンピュータとプリンタの間の通信速度よりも遥かに遅い。何も考えずにプリンタに次々データを送ってしまうと、印刷が追いつかずに途切れ途切れに印刷されてしまう。このため、プリンタの内部には半導体メモリが内蔵されており、受信したデータを一時的に蓄えておき、印刷速度にあわせて順次データを読み出して印刷を行なうようにできている。

 

パリティチェック 【parity check

読み方          パリティチェック

別名              奇偶検査

 データ通信において、データの誤り(エラー)を検出する手法の一つ。コンピュータはすべてのデータを2進数、すなわち01の値の列で表現している。データを送信する側は、この値の列を一定の個数(通常は7個か8)に区切り、その中に含まれる1(または0)の個数の偶奇(パリティビットと呼ばれる)を添付してデータを転送する。受け取った側は添付されたパリティビットと、データ中に含まれる1(または0)の個数を比較して、偶奇が合わなければデータに誤りがあると判断し、再送を要求する。1ビットのパリティビットを付加すると、奇数個の誤りが生じているかどうかが判定できる。誤り検出としてはもっともポピュラーな方法で、コンピュータ内部の回路間のデータ転送や、通信回線を使ったコンピュータ同士の通信に幅広く利用されている。

 

非同期 【asynchronous

読み方          ひどうき

 クロック信号のタイミングに合わせず、任意のタイミングでデータを送信する通信方式。

 クロック信号からはデータ転送のタイミングが分からないため、「スタートビット」「ストップビット」という信号をデータの両端に挿入して通信する。同期通信と比べてデータの遅延は少なくなるが、スタートビットなどの信号が必要となるため、同じ通信環境では同期通信より転送速度は若干落ちる。

 

プロトコル 【protocol

読み方          プロトコル

別名              ネットワークプロトコル, 通信プロトコル, 通信規約, 通信手順

 ネットワークを介してコンピュータ同士が通信を行なう上で、相互に決められた約束事の集合。通信手順、通信規約などと呼ばれることもある。

 英語しか使えない人と日本語しか使えない人では会話ができないように、対応しているプロトコルが異なると通信することができない。

 人間同士が意思疎通を行なう場合に、どの言語を使うか(日本語か英語か)、どんな媒体を使って伝達するか(電話か手紙か)、というように2つの階層に分けて考えることができるが、コンピュータ通信においても、プロトコルの役割を複数の階層に分けて考える。

 階層化することによって、上位のプロトコル(を実装したソフトウェア)は自分のすぐ下のプロトコルの使い方(インターフェース)さえ知っていれば、それより下で何が起きているかをまったく気にすることなく通信を行なうことができる。電話機の操作法さえ知っていれば、電話会社の交換局で何が起きているか知らなくても電話が使えるのと同じである。

 プロトコルの階層化のモデルは国際標準化機構(ISO)や国際電気通信連合(ITU)などによって7階層のOSI参照モデルとして標準化されており、これに従ってプロトコルを分類することができる。

 現在インターネットで標準となっているIPは第3(ネットワーク層)の、TCPUDPは第4(トランスポート層)のプロトコルであり、HTTPFTPSMTPPOPなどは第5(セッション層)以上のプロトコルである。

 

ポートフォワーディング 【port forwarding

読み方          ポートフォワーディング

 ローカルコンピュータの特定のポートに送られてきたデータを、別に用意した通信経路を用いてリモートコンピュータの特定ポートに送信すること。通信経路を暗号化してセキュリティを高める用途に用いられることが多いため、ほとんどの場合はssh等の暗号化技術が併用される。ポートフォワーディングが行われている最中は逆方向の通信も可能。ローカルネットワークからの接続しか許可していないサーバに対して、いったん目的のサーバと同じネットワークにあるコンピュータにログインし、内部ネットワークからの通信としてサーバに接続を要求するという形を取っている。目的のサーバが外部ネットワークからの接続を認めている場合も、相手ネットワークまでの通信経路を暗号化することで安全性の高い通信が可能になる。

 

マルチキャスト 【multicast

読み方          マルチキャスト

 ネットワーク内で、複数の相手を指定して同じデータを送信すること。これに対し、不特定多数の相手に向かってデータを送信することを「ブロードキャスト」、単一のアドレスを指定して特定の相手にデータを送信することを「ユニキャスト」という。TCP/IPネットワークでは、複数のあて先を指定して一回データを送信すれば、通信経路上のルータがあて先に応じて自動的にデータを複製してくれるので、回線を圧迫することなく効率よく配信することができる。インターネットで映像配信を行なう場合などに使われる。

 

ルーティング 【routing

読み方          ルーティング

 TCP/IPネットワークにおいて、目的のホストまでパケットを送信するとき、最適な経路を選択して送信すること。ネットワークの境界で、外部からのパケットを自分のネットワークにあるホストへ転送したり、自分のネットワークからのパケットを別のネットワークへ転送したりすることもルーティングと言う。ルータと呼ばれる機器がこの役目を担っている場合が多い。ルーティングは経路の情報をあらかじめネットワーク機器に設定しておくスタティックルーティングと、経路情報を動的に更新するダイナミックルーティングとにわかれる。

 

レイヤ 【layer

読み方          レイヤ

 「層」を意味する単語で、グラフィックスソフトで扱われる「描画用の透明なシート」や、OSI参照モデルで規定された個々のネットワーク階層などを指す用語として用いられる。

 前者は、グラフィックスソフトが扱う画像を載せる仮想的なシートで、これを何枚も重ねたり取り替えたりして、画像に要素を追加したり変化を加えたりすることができる。アニメ製作で用いられるセル画を、コンピュータ上で再現したものと考えればわかりやすい。

 ソフトによっては100枚以上のレイヤーを扱えるものもあるが、扱う数に応じて必要とされるメモリも増えていく。グラフィックスソフトのユーザがメモリを大量に必要とする由縁である。

 なお、バージョン4以後のNetscapeにも同様の「Webブラウザに複数の画面を重ねて表示する」機能があり、こちらもレイヤと呼ばれている。

 後者は、ネットワーク対応機器の機能を7階層に分割したもので、個々の機器やソフトウェアの役割を規定している。レイヤが低いほど、電気信号の形式やケーブルなど物理的実体に近い仕様を規定しており、上位のレイヤは、データ形式や表示方式などソフトウェアや人間に近い仕様を規定する。

AND

Ajax 

み方          エイジャックス

フルスペル   Asynchronous JavaScript + XML

Webブラウザに装されているJavaScriptHTTP通信機能を使って、Webジのリロドを伴わずにサバとXML形式のデタのやり取りを行なって理を進めていく話型Webアプリケションの装形態。

 

従来Webブラウザを使ったWebアプリケーションでは、データをサーバに通知して理結果を得るにはページ全体をロードしなおさなければならず、ネイティブアプリケーションのような操作性を得ることは難しかった。Ajaxでは、指定したURLからXMLドキュメントをむ機能を使い、ユーザの操作や面描などと並行してサーバと非同期に通信を行なうことで、サーバの存在を感じさせないシームレスなWebアプリケーションを現することができる。

 

ちなみに、JavaScriptHTTP通信機能自体は同期通信にも非同期通信にも対応しており、受信するデータ形式もXMLとプレーンテキストの方を選べるため、プレーンテキストを同期通信する従来型のWebアプリケーションをページ遷移を伴わずに現するといった使い方もできる。

 

Apache 【アパッチ】

み方          アパッチ

 NCSA httpd 1.3をベースに、1995年に開が始まったWebサーバ。ApacheUNIXOSWindowsで動作する。Apacheはフリーソフトウェアとして無償で公開され、世界中のボランティアのプログラマたちの手によって開された。誰でも修正・再配布することができる。Apacheはもともと、NCSA httpdの細かいバグを修正したり新しい機能を追加するためのパッチ(patch)の寄せ集めとして開されていたため、この名がついた。現在のApache単独で動作するWebサーバとなっており、世界で最も使われているWebサーバとなっている。

 

ASPサービス 

み方          エーエスピーサービス

フルスペル   Application Service Provider Service

インターネットを通じて顧客にビジネス用アプリケーションをレンタルするサービス。提供者はアプリケーションサービスプロバイダー(ASPApplication Service Provider)と呼ばれる。顧客は、主にWebブラウザーからASP事業者のサーバにインストールされたアプリケーションを利用する。主に企業を象としたサービスをASPサービスと呼ぶことが多い。

ASPサービスにおいて利用できるアプリケーションには、予定表やプロジェクト管理、示板、電子議室、Webメールの配信などにより社の情報共有を行うグループウェアと呼ばれるものや、財務・計を行うものや、オンラインストレージによってデータ共有を行うものなどがある。最近では、業管理や財務管理などの有名なパッケージソフトウェアのASP化が進んでいる。

ASPサービスを利用することにより、インターネットにアクセスできる環境さえあればどこからでもすぐに各種のアプリケーションを利用することができる。社のコンピュータに一台ずつアプリケーションをインストールする必要がなく、アプリケーションのバージョンアップなどの運用管理作業を行う必要がないのも大きな利点である。

  ただし、インターネットを介してアプリケーションを利用するために、回線速度によってはアプリケーションの動作がくなったり、ASP事業者のサーバに障害が生した場合などにアプリケーションが一切利用できなくなる。また、データを社外にもつことになるため、利用の際はこれらを考慮にいれる必要がある。

 

HTTPS 

み方          エイチティーティーピーエス

フルスペル   Hypertext Transfer Protocol Security

Webサーバとクライアント(Webブラウザなど)がデータを送受信するのに使われるプロトコルであるHTTPに、SSLによるデータの暗化機能を付加したプロトコル。サーバとブラウザの間の通信を暗化し、プライバシーにわる情報やクレジットカード番などを安全にやり取りすることができる。Netscape NavigatorInternet Explorerなど主要なWebブラウザが対応していることから、WWWにおける暗化の事上の標準となっている。SSLNetscape Communications社が提唱した暗化プロトコルで、HTTP以外にFTPTelnetなどのプロトコルの暗化にも使われる。

 

Javaサーブレット 【Java servlet

み方 :ジャバサーブレット    別名 servlet, サーブレット

 Webサーバ上で行されるモジュール(部品)化されたJavaプログラム。サーブレットを追加することにより、Webサーバの機能を張することができる。

 サーブレットはJava言語で記述されているため、特定のOSやハードウェアに依存することがなく、サーブレットAPI装したあらゆるWebサーバで稼動させることができる。

 CGIなどの他のサーバサイドプログラムと異なり、一度呼び出されるとそのままメモリに常駐するため、高速な理が可能である。また、データを永的に扱うことができるため、複のユーザ間で情報を共有することもできる。

 初はSun Microsystems社のJava Web Serverの機能の一つとして提供されていたが、仕Java Servlet APIとして立し、現在では々なWebサーバ向けにサーブレットの行環境が用意されている。

 

JSP 

み方          ジェーエスピー

フルスペル   JavaServer Pages

 

Java言語を利用してWebサーバで動的にWebページを生成し、クライアントに送信する技術。HTMLファイルの中にJavaプログラムを埋めんでおき、クライアントの要求にじてプログラムを行、理結果のみをクライアントに送信する。結果は通常のHTML形式になるため、Webブラウザに特殊な機能を組みこむことなくWebアプリケーションを構築できる。Microsoft社のIIS張機能ASPに似た技術だが、ASP(ほぼ)IIS用なのにして、JSP々なWebサーバ用の行環境が用意されており、また、特殊なスクリプト言語をえることなく、Java言語をそのまま使えるという利点がある。

 

RSS

み方          アールエスエス

フルスペル   Rich Site Summary

別名              Really Simple Syndication, RDF Site Summary

Webサイトの見出しや要約などのメタデータを構造化して記述するXMLベースのフォーマット。主にサイトの更新情報を公開するのに使われている。

 RSSで記述された文書には、Webサイトの各ページのタイトル、アドレス、見出し、要約、更新時刻などを記述することができる。RSS文書を用いることで、多Webサイトの更新情報を統一的な方法で率的に把握することができる。

 指定したサイトのRSS情報を取りんで更新況をまとめたWebページを生成するアンテナ(巡回)ソフトや、デスクトップに指定したサイトの更新情報を表示するティッカーソフトなどが開されている。また、ニュースサイトや著名なウェブログなどでは、更新情報をRSSで公開するところがえている。

 RSSにはいくつかのバージョンがあるが、字の大きいものが上位互換性を持った後規格というわけではなく、いくつかはそれぞれ別物になっているため注意が必要である。最初のバージョンはNetscape Communications社が「My Netscape」サービスのために1999年に開したバージョン0.9である。これはコンテンツのメタデータを記述する包括的な仕RDF」をベースにしたものだったため、RSSバージョン0.91では、サイトの更新情報の配信に特化した仕に改められた。

 その後、RSS連の技術から手を引いたNetscape社に代わり、RSS-DEVワーキンググループという開者集が再びRDFベースの仕RSS 1.0( 1.0)を提案した。高度な機能をモジュール化して追加できるなど本格的な仕だったが、0.9x系列の方を好むユーザも依然として多く、こうした人々の手によって0.9xの後となる「RSS 2.0( 2.0)が提案された。こうした緯のため、RSSの仕は大きく「0.9-2.0系列」(Really Simple Syndication)と「1.0系列」(Rich Site Summary)2系統に分裂している。

 

SOAP 

み方          ソープ

フルスペル   Simple Object Access Protocol

XMLHTTPなどをベースとした、他のコンピュータにあるデータやサービスを呼び出すためのプロトコル(通信規約)Microsoft社やUserLand Software社、Developmentor社が中心となって開された。

SOAPによる通信では、XML文書にエンベロープ(封筒)と呼ばれる付情報が付いたメッセージを、HTTPなどのプロトコルで交換する。サービスを利用するクライアントと、サービスを提供するサーバの方がSOAPの生成・解エンジンを持つことで、異なる環境間でのオブジェクト呼び出しを可能にしている。

 SOAP 1.1では、際にデータの送受信に使う下位プロトコルは、すでにく普及しているHTTPSMTPFTPなどから選できるようになっており、企業間で利用する場合でもファイアウォールなどを安全に通過することができる(SOAP 1.0ではHTTPのみ)

 現在、WWW連技術の標準化を行なうW3Cによって標準の策定が行なわれており、IBM社やLotus社など、大手ソフトウェアメーカーも自社製品での対応を表明している。

 なお、SOAPメッセージの生成エンジンは「SOAPプロキシ」、解エンジンは「SOAPリスナ」と呼ばれることもある。

 SOAPによって外部から利用可能な、部品化されたWebベースのアプリケーションソフトは「Webサービス」と呼ばれる。インターネット上で各社が提供しているWebサービスを集め、誰でも索・照できるようにするWebサービスを「UDDI」という。

 

Web 2.0 【ウェブ2.0

み方          ウェブにーてんぜろ

 2004年頃から登場し始めた新しい想に基づくWeb連の技術や、Webサイト・サービスなどの総称。「2.0」という表現はソフトウェアの大幅なバージョンアップをなぞらえたもので、1990年代半ば頃から普及・展してきた従来WWWの延長ではない、質的な化が起きているという認識をめたもの。

 特定の技術やコンセプトがWeb 2.0ではなく「次世代のWeb」を漠然と総称する言葉であるため、明確な定義は無く使う人によって認識も異なるが、多くの人が合意するいくつかの有力な念が含まれている。その最も大きな特の一つは、Web 2.0ではコンピュータにおけるOSのようにWebが一種のプラットフォーム(基盤)として振舞うようになり、その上で情報や機能が製作者の手を離れて組み合わされたり加工されたりするという点である。

従来Webは製作者が作った態で完結しており、利用者はにそれを利用するだけの係であったが、Web 2.0ではWebサイトの持つ情報や機能を外部のサイトやソフトウェアなどから照したり呼び出したりすることができ、利用者や他の事業者がソフトウェアやWebサービスを組み合わせて新たなコンテンツやツールを作成できるようになる。

また、多くのユーザが加して情報を出し合うことで、その蓄積が全体として巨大な「集合知」を形成するという点も重要である。例えば、ブログは多くの執筆者が議論を重ねていく過程が全体としてがりと深みのある情報の集積となっていくし、ソーシャルブックマークは加者がURLに特や分野を表す短いフレーズであるタグを自由に付けていき、それを合成することによって万人にとって有用な分類を行なうことを試みる。

他にも、開途上のベータ版の態でサービスを公開し、ユーザの意見を聞きながら洗練させてゆく開手法や、SNS(ソーシャルネットワークサイト)などに見られるようなユーザえると急速に値が高まっていく「ネットワーク果」の念、ブログの更新情報の配布などに使われるRSSのような「データについてのデータ」であるメタデータの整備や普及、Ajaxのようなページ遷移を伴わないWebアプリケーションのインターフェースなど、多くの「Web 2.0的」なアイデアが提出されている。

 

Wiki 【ウィキ】

み方          ウィキ

 Webブラウザから簡Webページの行・編集などが行なえる、Webコンテンツ管理システム。WebサーバにインストールしてWebブラウザから利用する。

人が共同でWebサイトを構築していく利用法を想定しており、閲覧者が簡にページを修正したり、新しいページを追加したりできるようになっている。編集者をパスワードなどで制限したり、編集できないよう凍結したりすることもできる。HTMLの知識がなくてもリストやリンクを簡に作成できるように、自の「整形ルール」が定められている。

電子示板(BBS)に近いシステムだが、BBSが時系列に「言」を積み重ねるコミュニケーションツールであるのにし、Wikiは、容の編集・削除が自由なこと、基本的に時系列の整理を行なわないことから、誰もが自由に「記事」を書き加えていくコラボレーションツール、もしくはグループウェアと言える。柔軟性が高く、手に始められて操作が簡なことから、メモ帳代わりに使ったり、簡易なコンテンツ管理システムに利用したりする人も多い。

 Wikiは、Ward Cunningham氏が「WikiWikiWeb」というWebサイトで使っていたプログラムが原型となっている。同氏がこれを公開したことから、多くのWikiクローンプログラムが作成され、々な環境に移植された。そのほとんどはフリーソフトウェアとして配布されており、簡に入手して導入することができる。ちなみ、「Wiki」はハワイ語の「Wikiwiki」が語源で、「速い」「急ぐ」「形式張らない」といった意味がある。

 

ZOPE 

み方          ゾープ

フルスペル   Z Object Publishing Environment

Pythonで書かれている、オープンソースの高機能アプリケーションサーバソフト。ZOPE単独Webサーバとして動作し、Pythonプログラムを使用して動的にWebページを生成することができるほか、データベースソフトと連携した動作にも対応している。また、ZOPEはサーバ上のコンテンツをWebブラウザ由で管理する機能を備えており、コンピュータの操作に慣れていない人が容易にWebサイトを管理できるよう配慮されている。ZOPEはソースコードが公開されているため、自力でZOPEを改造して機能を追加することもできるが、プラグインを導入して機能を追加する方法も用意されている。

 

アクセシビリティ 【accessibility

み方          アクセシビリティ

分野              ITと社

情報やサービス、ソフトウェアなどが、どの程度汎な人に利用可能であるかをあらわす語。特に、高者や障害者などハンディを持つ人にとって、どの程度利用しやすいかという意味で使われることが多い。"accessibility" とは「近づきやすさ」「接近容易性」といった意味の英語である。

例えば、手や腕の障害のためにマウスを使えない場合、ソフトウェアはキーボードだけで利用可能である必要がある。弱視や老眼の人にとってはフォントサイズや配色は容易にカスタマイズ可能でなくては見にくい。視障害の人はみ上げソフトを使うので、それに適したレイアウトや記述方法が求められる。

特に、Webページについての「利用のしやすさ」を「Webアクセシビリティ」という。これについては「WCAG(Web Content Accessibility Guidelines)という指針がW3Cによって提唱されている。像や音などには代替テキストによる注をつける、すべての要素をキーボードで指定できるようにする、情報容と構造、および表現を分離できるようにするなどの方針が定められている。

 

アンカーテキスト 【anchor text

み方          アンカーテキスト

別名              リンクテキスト, link text

HTML文書の中で、リンクが設定された文字列のこと。HTMLでは他の文書や像などへのリンクを設定するのに<a>タグを利用するが、<a href="..."></a>まれた部分をアンカーテキストあるいはリンクテキストという。通常、アンカーテキストはい色で表示され、下線(アンダーライン)が引いてある。マウスカーソルを重ねるとリンクされているURLがブラウザウィンドウ下部のステータスバーに表示される。一度クリックしたリンクは紫色で表示される。これらの色や果はスタイルシートで設定することが可能。

 

クロスサイトスクリプティング 【XSS

み方          クロスサイトスクリプティング

別名              Cross Site Scripting

 ソフトウェアのセキュリティホールの一つで、Webサイトの訪問者の入力をそのまま面に表示する示板などのプログラムが、意のあるコードを訪問者のブラウザに送ってしまう脆弱性のこと。

 意を持ったユーザがフォームなどを通してJavaScriptなどのスクリプトコードを入力した時に、プログラム側に適切なチェック機構がないと、そのスクリプト容がそのままHTMLに埋めまれ、ページを閲覧したコンピュータでスクリプトが行されてしまうことがある。

 このような形でページに埋めまれてしまったスクリプトは、Webブラウザではページ作成者以外が埋めんだものであると認識できないため、ブラウザ側でこの問題を防止するには、スクリプトを使用しない設定にするほかなく、スクリプトを使用する場合は常にこの問題が生しうる。

 意のあるコードを直接埋めんで行させるほかに、ユーザに認識のないまま他所のスクリプトを呼び出して行するよう仕向けることが可能なため、「クロスサイト」の名がついている。

 スクリプトの容によってはCookieデータの盗聴や改竄などが可能なため、商取引に使ったCookie取りして、本人になりすまして物品の購入を行なったり、Cookieを認証やセッション管理に使っているサイトに侵入したり、より範かつ深刻な損害をえる可能性がある。

 策としては、訪問者からの入力容をそのまま表示せずに、スクリプトなどのコードを識別して無化する理を施すことが必要である。

 

スタイルシート 【style sheet

み方          スタイルシート

 ワープロソフトなどで、フォントの種類や文字の大きさ、色、行間の幅、修飾など、文書の見えにする情報をひとまとめにした、文書の雛形のこと。

 あらかじめ複のスタイルシートを作成しておくことにより、文書作成の度にいちいちレイアウトを編集しなくても、本文にスタイルシートを適用するだけで文書を作成することができる。

 また、票などの定型文書を作成する際に、同じスタイルシートを使うことで見えを統一することができる。

 最近はWebページでもスタイルシートの機能を使用することが可能で、インターネット上での「スタイルシート」の意味はむしろこちらが主流となっている。

 インターネット上でのスタイルシートの利用は主にHTML文書にして行われている。HTML文書にスタイルシートを適用する際にはCSSという言語を使用し、複のページから同じCSSファイルを照することで、複のページの見えを統一することができる。

 HTML文書にスタイルシートを適用すると、HTML文書からレイアウト情報などを分離し、文書の構造だけをHTML文書本体に記述することが可能になる。

 これによって、HTML文書の論理的な構造が把握しやすくなるほか、主に手書きでHTML文書を記述する際に、見えにするデータを全部のページにいちいち記述する必要がなくなるというメリットがある。

 なお、インターネット上では「スタイルシート」をCSSとまったく同じものとして取り扱っている例が多いが、密には「CSSはスタイルシート機能を現するための言語のひとつ」という係になっている。

 例えば、HTML文書で使えるスタイルシートの言語はCSSのみだが、XMLではCSSのほかに、スタイルシート機能を現する言語としてXSLが用意されている。

 

ストリーミングサーバ 【streaming server

み方          ストリーミングサーバ

 映像や音のストリーミング配信を行なうサーバ。多のクライアントにして、同時にストリーミング方式のマルチメディアデータを配信する。

 ストリーミング方式のデータは通常のWebサーバから配信することも可能だが、サーバや回線への負担が大きいため、ストリーミングサーバを利用するのが一般的である。また、録画した映像をリアルタイムにストリーミング配信(ライブストリーミング)するような作業は、用のストリーミングサーバでなければ行えない。

 以前は用のソフトウェアと高性能なハードウェアが必要とされていたが、パソコンの高性能化やADSLCATVインターネットなどの高速回線の普及によって、小規模なストリーミングサーバは個人でも構築できるようになった。

 RealNetworks社のReal System ServerApple社のQuickTime Streaming Serverなどが、手に入手できるストリーミングサーバ用ソフトウェアとして知られている。

 

スレッド 【thread

み方          スレッド

 電子示板やニュースグループ、メーリングリストなどで、1つの話題にする複の記事をまとめたもの。語的に「スレ」と略して呼んだりすることもある。同一スレッドにする記事はひとまとめにして扱われるため、利用者は興味のある話題だけを簡に抽出して利用できる。

 スレッドでの言はスレッドの主旨にったものに限られる。スレッドに沿った話題から派生して話が主旨からずれた場合は、適宜派生した部分を新しいスレッドとして立ち上げ、元スレッドでの話題の一貫性を保つようにする慣習がある。

 

 マルチスレッドに対応したOS上での、ソフトウェアの位。1つのプログラムは最低1つのスレッドを持つ。同じプログラムにするスレッドはメモリなどのリソースを共有する。複のスレッドはCPUを交互に占有することによって見かけ上同時行が可能。

 高度な理を行なうアプリケーションソフトなどでは、スレッドを複走らせることにより、同時に複理を行できる。時間のかかる演算理中にユーザからの入力を受け付けるといった工夫が可能になる。

 複プログラム(マルチプロセス)の同時行も基本的な構造は同じだが、メモリアドレスの換などの作業が必要になるため、スレッドの切り替えと比べて負荷は大きくなる。このため、マルチスレッドには対応するがマルチタスクに対応していないOSも、リアルタイムOSなどで在する。マルチプロセスに対応したOSはすべてマルチスレッド対応している。

 

セッション 【session

み方          セッション

 WWWにおけるアクセス位の一つ。「ビジット」とも呼ばれる。Webサイトを訪れたユーザがサイトで行なう一連の行動をまとめて1セッションという。同一のユーザが短時間の間に何ページもうと、セッションは1である。同一のユーザでも、ある程度間隔が開いた場合は、新しいセッションとしてカウントする。どのくらい開いたら新しい訪問とみなすかについてはいろいろな基準があるが、Web測定の代表的な企業であるInternet Profiles社が採用している30分が、事上の業界標準となっている。

 

トラックバック 【track back

み方          トラックバック

 ウェブログ(ブログ)の機能の一つで、別のウェブログへリンクを張った際に、リンク先の相手にしてリンクを張ったことを通知する仕組みのこと。

 ウェブログ作者が別のウェブログの記事を照して自身のサイトにコメントを載するような場合、元の記事へのリンクを張るのが一般的だが、にリンクしただけでは元の記事の作者はどこからどうリンクされているのか容易に知ることはできない。トラックバックはリンク元サイトに「このような記事からリンクを張った」という情報を通知する仕組みで、リンク元記事のURLやタイトル、容の要約などが送信される。トラックバックされたサイトはこの情報を元に「この記事を照している記事一」を自動的に生成することができる。

 相手に送信されるトラックバック通知のことを「トラックバック・ピング」(trackback ping)と呼び、通知の送信先を「トラックバックURL(trackback URL)という。多くのウェブログの記事には隅に「この記事へのトラックバックURL」が記載されている。

 

ブログ 【Blog

み方  ブログ    別名  Weblog, ウェブログ

 個人や人のグループで運され、日々更新される日記的なWebサイトの総称容としては時事ニュースや門的トピックスにして自らの門や立場に根ざした分析や意見を表明したり、他のサイトの著者と議論したりする形式が多く、従来からあるなる日記サイト(著者の行動記や身辺雑)とは別されることが多い。

 また、CMS(コンテンツマネジメントシステム)としての側面を重視し、時系列にページの自動生成する機能や他のサイトの記事との連携機能(トラックバック)、コメント機能などを備えたブログシステムで運されているものはすべてブログだとする立場もある。

 インターネットの普及につれて、多くの人が個人のWebサイトで日記をつけ始めたが、Web日記は紙の日記と異なり、その容がく一般に公開されており、ほかのサイトからリンクされたり論評されたりする。また、電子メールなどを通じて著者と者がコミュニケーションをはかったり、特定のトピックスについて電子示板で多人で論議することも容易である。

 そうした環境の中で、Web日記は自の進化を遂げ、それまでの個人サイトでもない、紙の日記でもない新しいメディアとして台頭した。そうした新しい形式の日記風サイトを指す言葉として「Web」と「Log(日誌)を一語に綴った「weblog(ウェブログ)という言葉が誕生した。現在では略して「blog(ブログ)と呼ばれることが多い。

 ブログでは個人の行動の記は重視されず(一切載せないわけではない)、世相や時事問題、門的話題にしての自の情報や見解を載するという形式が主流となっている。また、ネット上で自に見つけた面白いもの、なもの、スクープなどを紹介し、そこにリンクを張って論評したり、街で見つけた話題(ネタ)を紹介するという記事も多い。大きな事件や事故が起こった際に、地元の人や係者、目者などが自分のブログに知っている情報を載することで、メディアを介さずに「生の」情報が流通するという事例(イラク戦争時にイラク人の男性が公開していた「バグダッド日記」など)も見られる。

 多くのブログには者が記事にコメントを投稿して載できる示板的な機能が用意されている。また、別のブログの連記事へリンクして相手の記事に自分の記事への逆リンクを載する「トラックバック」という機能もあり、興味や話題ごとに著者同士や著者と者によるコミュニティが形成されている。最近では、ブログによる「口コミ」で情報ががり、マスメディアが後追いでそのトピックを取り上げるという現象も起こっており、そういった面からもブログは新しいメディアとして注目されている。

 アメリカでは「Blogger」や「Movable Type」といったブログ運支援サービス・ツールが普及しており、ブログを簡に開設し、記事を追加・更新できる環境が整っている。日本にも似たような形式のサイトが多くあり、「個人ニュースサイト」またはに「日記サイト」などと呼ばれているが、これはアメリカで産まれたブログを導入したものではなく、自に生・進化してきたものである。日本の一部のネットコミュニティでは、アメリカでブログが注目される以前から個人ニュースサイト文化が定着していたこともあり、「ブログ」と呼ばれることを嫌うサイトオーナーもいる。

 

ActiveX 【アクティブX

み方          アクティブエックス

 Microsoft社が開したインターネット連技術群の総称ActiveXは特定の技術や製品を指す名ではない。

 ActiveXは同社のWebブラウザのInternet Explorer(IE)と、WebサーバのInternet Information Server(IIS)で利用可能な各種の技術で構成される。

 ActiveXWebブラウザ側の技術としては、OLEをインターネット対応張したソフトウェアの部品化技術であるActiveXコントロールをはじめ、ExcelWordなど、同社のOfficeアプリケーションソフトで作成された文書をインターネット通じて送受信し、Webブラウザに埋めんで表示するActiveXドキュメント、VBScriptJavaScriptなどのスクリプト言語を使ってWebページに動きをえるActiveXスクリプトなどの技術がある。

 ActiveXWebサーバ側の技術としては、VBScriptJavaScriptなどのスクリプト言語をサーバ上で行して、理結果だけをブラウザに送信するActive Server Pages(ASP)や、Webサーバから他のアプリケーションソフトを呼び出して理を行なうInternet Server API(ISAPI)などの技術がある。

 

COM 

み方          コム

フルスペル   Component Object Model

 Microsoft社が提唱する、部品化されたプログラムを作成・利用するための基盤となる技術仕。特定の機能のみを持つプログラム部品を組み合わせることでアプリケーションソフトの開が容易になる。この仕に基づいてデータのやりとりができるプログラム部品のことをCOMコンポーネントと呼ぶ。COMコンポーネントは開に使った言語やコンポーネントのある場所などにらず、どの言語からでも、どこからでも利用することができる。ネットワークを通じて別のコンピュータ上にあるCOMコンポーネントを利用する技術をDCOMと言う。これらの技術はWindowsだけでなく、UNIXMac OSにも移植されている。コンポーネント開にできるよう改良された次世代のCOM+の開が進んでおり、Windows DNAの中核技術として期待されている。

 

COM+ 

み方          コムプラス

フルスペル   Component Object Model plus

 Microsoft社が提唱する、部品化されたプログラムを作成・利用するための基盤となる技術仕COMをより展させたもの。これまで個々のCOMコンポーネントが装していた機能のうち、メモリ管理など共通化が可能なものをCOMランタイムとしてOSに統合し、コンポーネント開をより容易にする。同社の提唱するWindows DNAの中核技術として、Windows 2000で提供される予定である。

 

CVS 

み方          シーブイエス

フルスペル   Concurrent Versions System

 ファイルのバージョンを管理するアプリケーションソフト。主にプログラムの開作業などで使用されるが、CVS自体はどんなファイルでも管理できる。

 複人が同時に同じファイルを編集することができ、編集した容が競合していなければ方の更を自動的に統合できる。また、1つのバージョンにして別々の更を加えるためにバージョンを分岐させることも可能など、多な開ニーズに対応できる機能を備える。

 CVSはそれ自体がオープンソースで開され、CVSで管理されているほか、多くのオープンソースソフトウェアでも採用されている。

 

C++言語 

み方          シープラスプラスげんご

 く普及しているプログラミング言語であるC言語に、オブジェクト指向的な張を施したプログラミング言語。1992年にAT&T社によって仕が策定された。C++の言語仕Cの上位互換になっており、C++理系を用いて従来Cで記述されたソフトウェアの開を行なうことも可能である。オブジェクト指向プログラミングにより、プログラムの再利用が可能となり、大規模・複なソフトウェアの開が容易になった。

 

DCOM 【分散COM

み方          ディーコム

フルスペル   Distributed Component Object Model

 Microsoft社が定めた分散オブジェクト技術の仕。同社のCOMにしたがって作成されたソフトウェア部品(COMオブジェクト」と呼ばれる)同士がネットワークを通じて通信を行い、データの交換や理依のやり取りなどを行なうことができる。COMと共にWindows以外のプラットフォームにも移植されており、同社はこれをインターネット標準として普及させるため、IETFに仕案を提出している。

 

Delphi 【デルファイ】

み方          デルファイ

 Borland Software社から発売されているソフトウェア開環境。プログラミング言語には、育用として使われることの多いPascalに、オブジェクト指向的な張を施したObject Pascalという言語が用いられる。データベースアプリケーションソフトの構築に使われることが多いと言われている。

 

Eclipse 【エクリプス】

み方          エクリプス

 オープンソースの統合ソフトウェア開環境(IDE)の一つ。Java者を中心に急速に普及しており、ソフトウェア開の共通プラットフォームの標準になると予想されている。

 IBM社が1999年から進めていた開ツール究プロジェクトの究成果をソフトウェアの形にしたもので、200111月にオープンソース化され、誰でも無償で入手・改・再配布できるようになった。

 Eclipseなる開ツールではなく、開ツールの「共通プラットフォーム」と呼ばれる。これは、機能をプラグインの形であとから自由に追加できるためで、UML連ツールやテストツール、各種のプログラミング言語などが用意されている。その百種類に及ぶ。

 大手ソフトウェアベンダーの中には、自社の開ツール製品にEclipseを組みみ、Eclipseに追加する形で自社自部分を提供するという形の製品をリリースするところも現れている。

 

IronPython 【アイアンパイソン】

み方          アイアンパイソン

 Microsoft .NET環境に移植された、スクリプト言語Python行環境。通常のPythonの機能のほかに、.NET Frameworkの提供する機能を利用することができる。20069月にMicrosoft社が最初の正式版(バージョン1.0)をリリースした。

 

J2EE 

み方          ジェーツーイーイー

フルスペル   Java 2 Enterprise Edition

 Sun Microsystems社のプログラミング言語「Java 2」の機能セットの一つで、企業の業務システムや電子商取引などで使われるサーバに必要な機能をまとめたもの。

 標準機能セットのJava 2 Standard Edition(J2SE)に、サーバ用のAPIや諸機能を付加したものと言える。

 APIセットをまとめた「Platform Specification」、Sunによる装、互換性テストスイート、ガイドライン「Blue Prints」といった要素から成り、Javaプログラムを部品化して組み合わせることができるようにする「Enterprise JavaBeans」や、WebページにJavaプログラムを埋めんで容を動的に生成する「Java Server Pages(JSP)などの技術を含む。

 また、XMLを操作するためのAPIも用意され、サーバ上で々なソフトウェアを組み立てられるようになっている。

 J2EEの動作環境はSunを含む各社のアプリケーションサーバ製品に装されており、データベースシステムやWebサーバと組み合わせて使う。

 

Java 2 

み方          ジャバツー

 Sun Microsystems社のプログラミング言語「Java」の第2版。Java 2JDK 1.2と呼ばれていたものの正式名で、SunによるJava 2プラットフォーム対応のプログラミング環境や行環境も含む。

 従来Java環境に比べ、HotSpotと呼ばれる高速化技術を搭載した新しいJava仮想マシンや、柔軟性の高い新しいセキュリティモデル、高い安定性、JFCの正式なサポート、CORBAを利用した分散オブジェクト環境への対応などの改良が加えられている。

 2次元グラフィックスAPIJava 2D3次元グラフィックスAPIJava 3D従来AWTに代わるGUI環境のSwingなど、グラフィックス係の新機能も豊富に搭載されている。

 また、Java 2では際化がさらにすすみ、Java 2Dを利用した各語の高品質な表示や、IMFによる日本語入力方式の標準化など、プラットフォームに依存しない日本語環境の構築に必要な基本機能を備えた。

 SunCSLというライセンスに基づいてJava 2のソースコードの一部を無償で公開しており、利益を得なければ誰でもJava 2の改や機能の追加が行なえるようになっている。

 ちなみに、JDKのバージョンは現在1.4まで上がっているが、ブランド名は「Java 2」のままである。

 

Javaアプレット 【Java applet

み方 ジャバアプレット  別名 applet, アプレット

 ネットワークを通じてWebブラウザにダウンロードされ、ブラウザのウィンドウに埋めまれて行されるJavaプログラムのこと。

 Javaアプレットを用してユーザのコンピュータに被害をえることのないように、ユーザのハードディスクの容をみ書きしたり、自分が呼び出されたWebサーバ以外のコンピュータに接したり、他のアプリケーションソフトを起動したりすることはできないようになっている。

 Javaアプレットを使うことにより、HTMLで記述された的なWebページでは現できない動的な表現が可能となる。また、Webブラウザのみで利用することができるネットワークゲームやチャットを開することもできる。

 企業のクライアントサーバシステムでJavaアプレットを利用すれば、社員のコンピュータにはWebブラウザを入れるだけでシステムを利用できるようになり、アプリケーションソフトの配備や管理にかかるコストを節減することができる。

 

Javaサーブレット 【Java servlet

み方 ジャバサーブレット  別名 servlet, サーブレット

 Webサーバ上で行されるモジュール(部品)化されたJavaプログラム。サーブレットを追加することにより、Webサーバの機能を張することができる。

 サーブレットはJava言語で記述されているため、特定のOSやハードウェアに依存することがなく、サーブレットAPI装したあらゆるWebサーバで稼動させることができる。

 CGIなどの他のサーバサイドプログラムと異なり、一度呼び出されるとそのままメモリに常駐するため、高速な理が可能である。また、データを永的に扱うことができるため、複のユーザ間で情報を共有することもできる。

 初はSun Microsystems社のJava Web Serverの機能の一つとして提供されていたが、仕Java Servlet APIとして立し、現在では々なWebサーバ向けにサーブレットの行環境が用意されている。

 

Java仮想マシン 【JVM

み方          ジャバかそうマシン

別名              Java Virtual Machine, Java VM

 Javaバイトコードをそのプラットフォームのネイティブコードに換して行するソフトウェア。Java言語で開されたソフトウェアは、配布時にはプラットフォームから立した自の形式(Javaバイトコード)になっており、そのままでは行することができない。このため、そのプラットフォーム固有の形式(ネイティブコード)換するソフトウェアを用意して、換しながら行する。この換と行を行なうのがJVMである。行前にまとめて換することで行時のオーバーヘッドをなくし、行速度を向上させたものをJITコンパイラという。

 

JDBC 

み方          ジェーディービーシー

フルスペル   Java DataBase Connectivity

 JavaプログラムからリレーショナルデータベースにアクセスするためのAPISQL言語による命令を行してデータベースの操作を行なうことができる。データベースの種類によらない汎用性の高いプログラムを開することが可能だが、際に稼動させるためには個々のデータベースに対応したドライバ(JDBCドライバ)を導入する必要がある。

 

JScript 

み方          ジェースクリプト

 Microsoft社が開したスクリプト言語(簡易プログラミング言語)の一つ。Netscape Communications社とSun Microsystems社が共同開したスクリプト言語であるJavaScriptに、Microsoft社が自社技術を追加して張したもの。JavaScriptが持つ機能の他に、COMオブジェクトを呼び出して利用するための仕や、ファイルを操作する機能などが追加されている。JScriptで記述されたスクリプトは、HTMLファイルに埋めんで同社のWebブラウザ「Internet Explorer」で行できるほか、「WSH(Windows Scripting Host)と呼ばれる行環境を用いてWindows上で直接行したり、同社のWebサーバであるInternet Information Server上で動的にWebページを生成するために利用することができる。

 

JSP 

み方          ジェーエスピー

フルスペル   JavaServer Pages

 Java言語を利用してWebサーバで動的にWebページを生成し、クライアントに送信する技術。HTMLファイルの中にJavaプログラムを埋めんでおき、クライアントの要求にじてプログラムを行、理結果のみをクライアントに送信する。結果は通常のHTML形式になるため、Webブラウザに特殊な機能を組みこむことなくWebアプリケーションを構築できる。Microsoft社のIIS張機能ASPに似た技術だが、ASP(ほぼ)IIS用なのにして、JSP々なWebサーバ用の行環境が用意されており、また、特殊なスクリプト言語をえることなく、Java言語をそのまま使えるという利点がある。

 

OLE 

み方          オーエルイー、オーレ

フルスペル   Object Linking and Embedding

分野              Windows > 行環境

プログラミング > オブジェクト指向

 Windowsにおいて、アプリケーションソフト間でデータを送・共有するための仕組み。

 OLEを使うことによって、あるアプリケーションソフトで作成している文書の中に、別のアプリケーションソフトで作成した情報を埋めんだり、別のアプリケーションソフトの機能をあたかも自分の機能であるかのように提供することができるようになる。

 1991年に登場したOLE 1.0Windows 3.1に搭載された。大幅に機能を張したOLE21993年に登場し、Windows 95に搭載された。1996年にはインターネットに対応するための機能を追加したものが登場し、名も「ActiveX」に改められた。

 OLEを利用することにより、単独では行できないが、特定の機能のみを持つ部品化された小さなソフトウェアを作成することができ、これをOLEコントロールと呼ぶ。

 OLEコントロールはアプリケーションソフトに機能を追加するのに利用される。企業が自社特有の理をOLEコントロールとして作成し、市販のアプリケーションソフトに組みこんで使うことにより、0から用のアプリケーションソフトを開するよりも低コストにカスタムアプリケーションソフトを作成することができる。

 

Python 

み方          パイソン

 プログラミング言語のひとつで、Perlなどと同じくコンパイルを必要としないスクリプト言語にする。文法が簡易で可性に優れる一方、張モジュールが豊富に用意されており(C/C++で自作することも可能)、テキスト理に限らず多なアプリケーションの開に利用できる。Pythonを利用してPerlと同じようにCGIスクリプトを作成することもできる。米ではPerlに次いで人のあるスクリプト言語。

 

Ruby 【ルビー】

み方          ルビー

 まつもとゆきひろ氏が開したスクリプト言語とその理系。オブジェクト指向的な言語構造になっているが、通常の手き型のプログラミングも可能。C++言語などの本格的なオブジェクト指向言語では大げさと思われるプログラミングを支援することを目的としている。作者が個人で開しているフリーソフトウェアである。Rubyは、Perlと同じくらい力なテキスト理能力、シンプルな文法などの特長をもっている。インタプリタ型言語であるため、プログラムを作成したら、コンパイルなどの理を行なうことなく、すぐに行することができる。UNIX上だけでなく、MS-DOSWindowsMac OSBeOSの各プラットフォームにも移植されている。

 

Ruby on Rails 

み方          ルビーオンレイルズ

 スクリプト言語のRubyにより構築された、Webアプリケーション開のためのフレームワーク。に「Rails」と呼ばれることもある。デンマークのDavid Heinemeier Hansson氏によって開され、オープンソースとして公開されている。特にデータベースを利用したWebアプリケーション開において、新たに書く必要のあるコードを大幅に減らし開期間を短縮できる。

 Ruby on Railsは、MVCModel-View-Controller)アーキテクチャをサポートしており、データベースにする理を担うモデル、データの表示を行うビュー、それらを制御するコントローラの雛形を自動生成する機能を持っている。データの作成・み・更新・削除(CRUD) のみを行うような純なWebアプリケーションであれば、データテーブルの作成と雛形の自動生成を行うのみでほとんどの部分が開できてしまう。Webアプリケーションの多くはCRUD理を中核としているので、Ruby on Railsを使うことによって多くのコードの作成を自動化することができ、開期間を短縮できる。

 Ruby on Railsには、他にもWebアプリケーションの動作テストを行うためのWebサーバや、テストのためのコードを自動生成する機能、Webアプリケーションの配置を自動化するツールなどのツールキットも同時に提供している。

 

Smalltalk 

み方          スモールトーク

 1970年代後半にXerox社のパロアルト究所(PARC)Alan Kay氏らによって開されたプログラミング言語。Xerox社から立したParcPlace System社によって、1980年にSmalltalk-80として商品化され、その後も機能の張と改良が加えられている。話型のインタプリタ言語で、世界で初めてオブジェクト指向を採用した言語として知られている。Smalltalk理系は他の言語のものとは異なり、なるプログラミング言語の理系ではなく、プログラミングを支援する開環境全体を表している。プログラミング言語のに留まらず、ユーザインターフェースなどOSの機能に近いものまでクラスとして提供していたため、「Smalltalkプログラミング環境」という呼ばれ方をすることもある。

 

Swing 

み方          スイング

 Sun Microsystems社のプログラミング言語Javaに標準で付するグラフィック連のクラスライブラリ(再利用可能なプログラム部品群)Java 2(JDK 1.2)から標準搭載されたJFCの一部である。Javaで開されたアプリケーションソフトに、行環境によらない統一されたグラフィカルユーザインターフェースを提供する。従来から提供されているAWTに比べ、環境による振る舞いの差をなくし、行速度を高め、多くのバグを取り除き、HTML対応するなどの改良が施されている。

 

アスペクト指向プログラミング 【AOP

み方          アスペクトしこうプログラミング

別名              Aspect Oriented Programming

 ソフトウェアの特定の振る舞いを「アスペクト」として分離し、モジュール化するプログラミング技法。オブジェクト指向プログラミングの問題点を補うために考え出された手法。

 オブジェクト指向プログラミングでは、(データ)と操作(メソッド)の集合であるオブジェクトをソフトウェアの分解位として扱うが、オブジェクトとしてうまく分解ができないソフトウェアの「相」や「側面」といったものが存在し、このような相や側面は、複のオブジェクト間にまたがる操作となる。これを「横断要素」と呼ぶ。横断要素の代表例としては、プログラムの行の子を記するロギング操作がげられる。横断要素はプログラムコード中に散在するためにすべてを把握し管理することが難しく、また横断要素にして更を加える場合にはコード中のあらゆる場所から該部分を探し出して書き換える必要が生じる。こうした要素を「アスペクト」としてモジュール化し分離することで、把握・管理・更を容易にするのがアスペクト指向プログラミングである。アスペクト指向プログラミング言語としては、Java張したAspectJなどがある。

 

値渡し 【call by value

み方          あたいわたし

別名              値呼び出し, CBV

 プログラム中で関数やサブルーチンなどに引を渡す時に、その値のみを渡す方式。渡された関数などの中で値を更しても、呼び出し元の変数容はわらない。これにし、変数への(メモリ中のアドレスなど)を渡し、関数などの中で値を更すると元の変数も同じように更される方式を「照渡し」(call by reference)という。

 

照渡し 【call by reference

み方          さんしょうわたし

別名              照呼び出し, CBR

 プログラム中で関数やサブルーチンなどに引を渡す時に、変数への(メモリ中のアドレスなど)を渡す方式。関数などの中で値を更すると元の変数も同じように更される。これにし、変数の値のみを渡し、渡された関数などの中で値を更しても呼び出し元の変数容がわらない方式を「値渡し」(call by value)という。

 

インスタンス 【instance

み方          インスタンス

 オブジェクト指向プログラミングで、クラスを基にした際の値としてのデータのこと。クラスと比して用いられることが多く、クラスを「型」、インスタンスを「体」として明されることもある。

 「オブジェクト」とほぼ同義語のように用いられることが多いが、際にメモリ上に配置されたデータの集合という意味合いがく、データの体をより具体的・直接的に捕らえた用語である。

 例えば「名前、身長、体重」というクラスがあるとすれば、そのインスタンスは「田中、17565」というように作られる。一つのクラスから複のインスタンスを作ることができ、それぞれのインスタンスは違った値を持ちうる。プログラムの中で際に扱われるのはクラスではなく、こうして作られたインスタンスの方である。

 なお、ひな形となったクラスを表す際には「○○クラスにするインスタンス」「○○クラスのインスタンス」という表現が用いられる。

 

インタプリタ 【interpreter

み方          インタプリタ

 人間がプログラミング言語で記述したソフトウェアの設計(ソースコード)を、コンピュータが行できる形式(オブジェクトコード)換しながら、そのプログラムを行するソフトウェア。インタプリタ型の言語はプログラムの行時に換を行なうため、その分だけコンパイラ型言語よりもい。

 

インプリメント 【implement

み方          インプリメント

別名              インプリメンテーション, implementation,

 ハードウエアやソフトウェアに新しい機能や仕、部品などを組みむこと。また、際にその機能を組みむ際の手法も意味する。日本語でいうと「装」。

 例えば、ソフトウェア開においてプログラム中に新しい関数を作成することを「新しい関数をインプリメントする」と言い、基板に新しいチップを載せることを「新しいチップをインプリメントする」と言う。

 「インプリメント」は装する作業を、「インプリメンテーション」は装された機能や部品を指す場合が多いが、この逆の用例も頻繁に見かけるので、ほぼ同義と言える。

 インプリメンテーションはシステム構築を設計と開2つに分けた場合の後半の段階に相し、基本的には設計段階で決定された仕を元に機能を組みんでいく作業となる。しかし、仕書があいまいだったりする場合には現場の解際の動作が決められてしまう場合もあり、この結果、同じ仕書から作成されたプログラム同士の間に相互運用性がない、といった事態が生することがある。

 このように、同じ仕に基づいていながら際の動作が製品ごとに微妙に異なっている態がインプリメンテーションの違いであり、特定の製品が採用した自のインプリメンテーションと組み合わせないと動作しない製品やサービスを「インプリメンテーションに依存した製品」などと呼ぶ。

 

エンティティ 【entity

み方          エンティティ

別名             

 一位として扱われるデータのまとまり。なんらかの標識にし、その体であるデータの集合を指す。XMLJava、データベース等で用いられる用語である。

 プログラミングの分野では、オブジェクト指向の「オブジェクト」や「インスタンス」とほぼ同義の意味で使われることが多い。具体的にどういったデータがエンティティとして扱われるかは分野によって異なるため、注意が必要である。「体」とされることもある。

 

オーバーフロー 【overflow

み方          オーバーフロー

別名              桁あふれ

 コンピュータが値演算を行なった結果が、扱える値の最大値を超えること。桁あふれともいう。一つの値を表現するために割りてられた記憶容量は決まっているため、扱える値には上限がある。演算結果がこの上限を超えるのがオーバーフローである。例えば、8ビットの符なし整は、0から255までの整を扱うことができるが、ある演算を行なった結果が500になったら、8ビット符なし整枠内では扱うことができないため、オーバーフローとなる。

 

オーバーロード 【overload

み方          オーバーロード

 プログラミングにおいて、り値や引やデータ型(シグネチャ)が異なる同名の関数やメソッドを多重定義すること。

 オーバーロードにより、引の型が異なる関数を複定義することができ、多重定義された関数が呼び出される際には呼び出し側の引の型にじて適切な関数が呼び出すことができる。

 これは、関数を呼び出す立場から見ると関数えるデータ型をえることで関数動が化するように見える。例えば、関数の引10個定義してあるものの、最低限必要なものは4個であり、それ以外の変数は必要にじて用いる、といった況に対応できる。

 

オブジェクト 【object

み方          オブジェクト

 物、目標物、象という意味の英語。

 ソフトウェアのユーザインターフェースなどでは、ユーザの操作象として列されたアイテム(指定されたフォルダに含まれるファイルなど)のことを指すことが多い。

 オブジェクト指向プログラミングにおいては、ソフトウェアが扱おうとしている現世界に存在する物理的あるいは抽象的な体を、(データ)と操作(メソッド)の集合としてモデル化し、コンピュータ上に再現したもの。オブジェクトを定義するモデルはクラスと呼ばれる。クラスに基づいて際にコンピュータのメモリ上に展開されたオブジェクトのことをインスタンス()と言うが、このインスタンスの意味でオブジェクトと呼ぶ場合も多い。

 

オブジェクト指向 【object oriented

み方          オブジェクトしこう

 ソフトウェアの設計や開において、操作手順よりも操作象に重点を置く考え方。

 連するデータの集合と、それにする手(メソッド)を「オブジェクト」と呼ばれる一つのまとまりとして管理し、その組み合わせによってソフトウェアを構築する。

 すでに存在するオブジェクトについては、利用に際してその部構造や動作原理の詳細を知る必要はなく、外部からメッセージを送れば機能するため、特に大規模なソフトウェア開において有な考え方であるとされている。

 データやその集合を現世界の「モノ」になぞらえた考え方であることから、「オブジェクト」指向と呼ばれる。

 例えば、我々がテレビを操作する際には、テレビ部でどのような回路がいているかを理解する必要はない。ただテレビの操作方法だけを知っていれば、それでテレビを使うことができる。

 すなわち、「テレビ」というオブジェクトは、自身(部を構成する電子回路)を動作させる手きを知っており、それを利用するためには、(例えばリモコンで)適切なメッセージをえるだけでよい。

 このように、何らかの「データ」と、それを操作するための「メソッド」の組み合わせが「オブジェクト」である。

 個々の操作象にして固有の操作方法を設定することで、その部動作の詳細を覆いし、利用しやすくしようとする考え方と言える。この考え方を用したプログラミング技法が、オブジェクト指向プログラミング(OOP)である。

 

オプティマイズ 【optimize

み方          オプティマイズ

別名              コード最適化, オプティマイゼーション, optimization

 ハードウェア・ソフトウェアがより率よく動作するよう、製品の設計などを調整すること。日本語でいうと「最適化」。「オプティマイゼーション」(optimization)とも呼ばれる。

 プログラムの場合、同じ機能を持つプログラムであれば「より高速に」「より小さいメモリ使用量で」動作する方が望ましい。

 このような率のよいプログラムを作成するために、一通りの機能が装された後に、仕えずに細かな見直しを行なうのがオプティマイズである。

 人間の書いたソースコードを解し、コンピュータの理解できる機械語に翻するコンパイラやインタプリタなどのソフトウェアは、より率的なコードを生成するために、自動的にオプティマイズを行なう機能を内蔵していることが多い。

 ただし、過なオプティマイズはプログラマの意しない動作を引き起こしてバグの原因となることもあるため、どういった理を行なうか指定できるようになっている。

 ハードディスクなどのデフラグも「最適化」と呼ばれるが、デフラグはディスクの中を整理し、より高速に(つまり率よく)ファイルにアクセスできるようにするために行われているため、これもオプティマイズの一種ということができる。

 また、理やデータベースなどの分野でも、何らかの態を、質的な容を保持したまま最適な態にすることを、くオプティマイズと呼んでいる。何をどのように最適化するかは象や目的によって異なる。

 オプティマイズを行なうソフトウェア(やソフトウェアの持つ機能)をオプティマイザと呼ぶ。

 

カプセル化 【encapsulation

み方          カプセルか

 オブジェクト指向プログラミングが持つ特の一つ。データとそれを操作する手きを一体化して「オブジェクト」として定義し、オブジェクトの細かい仕や構造を外部から蔽すること。外部からは公開された手きを利用することでしかデータを操作できないようにすることで、個々のオブジェクトの立性が高まる。カプセル化を進めることによりオブジェクト部の仕様変更が外部に影響しなくなり、ソフトウェアの保守性や開発効率が高まり、プログラムの部分的な再利用が容易になる。

 

キュー 【queue

み方          キュー

別名              待ち行列

 先に入力したデータが先に出力されるという特をもつ、データ構造の一種。

 ちょうど遊園地のり物待ちのような構造になっており、データを入れるときは新しいデータが最後尾につき、データを出すときは一番古いデータが優先して出てくる。

 このように、「最初に入った物が最初に出てくる」というデータの入出力方式は「First In First Out」を略して「FIFO」と呼ばれる。

 キューは何かの理を待たせる際によく使われる構造で、たとえば共有プリンタの印刷待ち、CPUの計算待ちなどがキュー構造で理されている。

 なお、キューとは逆に、最後に入力したデータが先に出力されるというデータ構造は、スタックと呼ばれている。

 

スタック 【stack

み方          スタック

 最後に入力したデータが先に出力されるという特をもつ、データ構造の一種。

 本を机の上に積み上げるような構造になっており、データを入れるときは新しいデータが一番上に追加され、データを出すときは一番上にある新しいデータが優先して出てくる。

 このように、「最後に入った物が最初に出てくる」というデータの入出力方式は「Last In, First Out」あるいは「First In, Last Out」、略して「LIFO」「FILO」と呼ばれる。アセンブリ言語のプログラミングではもっとも頻繁に利用されるデータ構造の一つで、多くのCPUはスタックにデータを出し入れするための用の命令を用意しており、簡に利用することができる。サブルーチンや関数を呼び出す際に、理中のデータやりアドレスなどを一時的に退避する場合に使うことが多い。

 なお、スタックとは逆に、先に入力したデータが先に出力されるデータ構造は、キュー(待ち行列)と呼ばれている。

 

クラス 【class

み方          クラス

 オブジェクト指向プログラミングにおいて、データとその操作手順であるメソッドをまとめたオブジェクトの雛型を定義したもの。これを定義することで、同種のオブジェクトをまとめて扱うことができるようになる。クラスにして、具体的なデータを持つ個々のオブジェクトは「インスタンス」と呼ばれる。なお、クラスの定義を他のクラスに受けがせることを「承」と言う。その際、元になるクラスを「スーパークラス」(super class)、あるいは「基底クラス」「基本クラス」(base class)などと呼び、新たに定義されたクラスを「サブクラス」(subclass)、あるいは「派生クラス」(derived class)と呼ぶ。

 

コメントアウト 【comment out

み方          コメントアウト

 プログラムのソースコードやソフトウェアの設定ファイルなどを部分的に修正する時に、消したい容を際に消してしまうのではなく、コメント化することで一時的に機能しないようにすること。

 ソースコードや設定ファイルを理するコンパイラなどのプログラムは、特殊な記法で指定した部分を解しないようにできており、利用方法や注をファイルに含めることができる。この機能を利用して、試しに消して動作させたい部分をコメント化することにより、消してしまうことなく無化することをコメントアウトという。消してみた結果元にしたい場合は、コメント記法の部分を解除すればすぐに元の態にせる。

 

コンストラクタ 【constructor

み方 コンストラクタ  別名 構築子

 C++言語やJava言語などのオブジェクト指向言語で作成したプログラムにおいて、データとそれを操作するための手きを一体化した「オブジェクト」の生成時に呼び出される特殊な関数。オブジェクトが扱うデータの初期化などをここで行なう。

 

コンパイラ 【compiler

み方          コンパイラ

 人間がプログラミング言語で記述したソフトウェアの設計(ソースコード)を、コンピュータが行できる形式(オブジェクトコード)換するソフトウェア。コンパイラ型言語ではソースコードは開時にまとめて換され、行時にはオブジェクトコードを直接行するため、インタプリタ型言語に比べて行速度が速い。

 

コンポーネント 【component

み方          コンポーネント

 何らかの機能を持った、プログラムの部品。プログラムだけでなく、ハードウェアや組織の一部を指して用いられることもある。プログラム以外の分野で使われる例としては、機械のオプションパーツなどがある。

 ソフトウェアコンポーネントは、それぞれ特定の機能を持っているが、基本的に体では使用できず、他のプログラムと組み合わせて機能を現、ないし追加するために用いられる。また、オブジェクトの一種として、特定の機能を持つが単独では意味を持たないようなオブジェクト、と言うこともできる。

 Javaなどのオブジェクト指向言語の普及が進んだことにより、コンポーネントを組み合わせることでかなりの程度ソフトウェア開が進む況ができつつある。コンポーネントの開者とソフトウェアの開者の分業も進んでいる。こういったコンポーネントを集めてソフトウェアを開することを「コンポーネントベースプログラミング」などと呼ぶ。

 

サブクラス化 【sub-class

み方          サブクラスか

 オブジェクト指向プログラミングにおいて、あるクラスの仕承して新しいクラスを作ること。

 完全に同じ定義を承して別の名前をつけるだけでは意味がないので、普通は何らかの追加や改が行われる。

 サブクラス化でクラスを定義すれば、元になったクラスと違う部分だけを定義すればよく、それ以外のデータやメソッドは流用できるので、うまく利用すれば開発効率を向上させることができる。

 なお、元になったクラスを「スーパークラス」(super-class)あるいは「基底クラス」(base class)、新しいクラスを「サブクラス」(sub-class)あるいは「派生クラス」(derived class)と呼ぶ。その定義の通り、一般的にはスーパークラスほどシンプルで機能が少なく、派生すればするほど機能が豊富で「重たい」仕となる。

 

件付きコンパイル 【conditional compilation

み方          じょうけんつきコンパイル

 ソースコードをコンパイルするときに件をつけて、コンパイルする部分を指定する機能。また、そのようなコンパイルの方法。

 代表的な例としては、デバッグコードの入と削除がある。プログラムを開するときに、「あるループを通過しているか?」「ある分岐をどちらに進んでいるか?」といったことを確認するために特別なコード(デバッグ用コード)入することがある。これらは完成したプログラムには必要ないので、件付きコンパイルの機能を使って、あるコンパイルオプションが指定されたときのみそれらのデバッグ用コードが有になるように記述しておく。動作確認が終わり完成したときにはオプションを指定せずにコンパイルすれば、デバッグ用コードはコンパイルされない。

 

シリアライズ 【serialize

み方          シリアライズ

別名              シリアライゼーション, serialization

 ソフトウェア内部で扱っているデータを丸ごと、ファイルで保存したりネットワークで送受信することができるように変換すること。

 これとは逆に、ファイルに保存されているシリアライズされたデータや、ネットワークを通じて送られてきたシリアライズされたデータを、ソフトウェアで扱うことのできる元のデータ形式に復元することを「デシリアライズ」(deserialize)「デシリアライゼーション」(deserialization)という。

 

デシリアライズ 【deserialize

読み方          デシリアライズ

別名              デシリアライゼーション, deserialization

 「シリアライズ」操作により独自の形式に変換され、ファイルに保存されたりネットワークを通じて送信したデータを、ソフトウェアの扱うことのできる元のデータ形式に復元すること。

 ソフトウェア内部で扱っているデータを丸ごと、ファイルで保存したりネットワークで送受信することができるように変換するのを「シリアライズ」(serialize)「シリアライゼーション」(serialization)と呼ぶが、これを再びソフトウェアで扱うためにはデシリアライズ操作で元の形式に復元する必要がある。

 

スクリプト言語 【script language

読み方          スクリプトげんご

 機械語への変換作業を省略して簡単に実行できるようにした簡易プログラムを記述するためのプログラミング言語。スクリプト言語で作られたプログラムはスクリプトと呼ばれる。「簡易プログラミング言語」と呼ばれることもある。

 通常のプログラミング言語と同様、英単語や記号・数字の組み合わせによってプログラムの設計図にあたるソースコードを記述するが、コンピュータが実行できる形式への変換は自動的に行われるため、手間をかけずに実行することができる。

 小規模なプログラムをすばやく作成することが主な目的であるため、一般のプログラミング言語に比べて機能は少ないが、習得が容易で記法も簡便であることが多い。

 代表的なものにはPerlVBScriptJavaScriptなどがある。これらの言語はWebページに動きを加えたり、Webサーバ上で動的にページを生成するのに用いられる。

 ワープロソフトや表計算ソフトなどのマクロ言語もスクリプト言語の一種である。

 

スパゲッティプログラム 【spaghetti program

読み方          スパゲッティプログラム

別名              スパゲッティコード, spaghetti code

 処理の流れや構造を把握しにくく、修正や機能の追加が困難なプログラム。

 むやみに制御を(GOTO文などで)他の部分に飛ばしたり、変数の有効範囲を必要以上に広げたりすると、後からプログラムのごく一部を修正したい場合でも、プログラム全体を読み直さないと構造が理解できないという事態に陥る。この様子を、麺が複雑に絡み合い、たった数本の麺を引っ張り出そうとしても全体がついてくる、スパゲッティに例えたのがこの言葉である。

 スパゲッティプログラムができる原因はいろいろあるが、設計段階で一貫した制御の流れを用意しなかったり、一度プログラムが完成した後にいろいろな機能を後付けしたり、といった理由によるものが多い。いずれにせよ、プログラムの本線となる流れをはっきりさせておき、メリハリのある処理を行うことが、スパゲッティプログラムの防止につながる。

 スパゲッティプログラムはメンテナンス性に欠けるため、バグの温床になりやすく、低品質なプログラムができやすい。スパゲッティプログラムを改造する必要に迫られた場合は、一からプログラムを書き直した方が品質が高く、しかも短時間で仕上がる場合も多い。

 

正規表現 【regular expression

読み方          せいきひょうげん

 文字列のパターンを表現する表記法。文字列の検索・置換を行なうときに利用される。

 通常の文字と、メタキャラクタと呼ばれる特別な意味を持った記号を組み合わせて表記される。例えば「^」という文字は「行頭」、「.」は「任意の1文字」、「+」という文字は「直前の要素の1回以上の繰り返し」を意味する。

 正規表現を使えば、文字列を直接指定せず、「特徴」(パターン)を指定することができるため、表記の揺れを吸収して検索を行なったり、複数の異なる文字列を一括して置換したりすることができる。

 もともと、UNIXOSのスクリプト言語処理系などに使われていた表記法だが、現在では広く様々なソフトウェアに実装されており、テキストエディタの検索・置換機能などで利用することもできるようになっている。ただし、ソフトウェアによって「方言」や利用できない機能があるため、注意が必要である。

 

タイムアウト 【time out

読み方          タイムアウト

 処理やデータ転送に時間がかかりすぎる時に、途中で打ち切って終了すること。時間切れ。

 プログラムに処理させるデータ量が多すぎたり、通信速度の遅い回線で大量のデータを送ったりすると、作業が終了するまでにとてつもない長い時間がかかってしまい、その間CPU時間や回線などの資源が占有されて他の処理に支障をきたしてしまうことがある。また、通信の場合は相手が何らかの不具合で応答できないとき、延々と相手からの返事を待ち続けてしまいそこで処理が止まってしまうことがある。このため、データ転送などを行なうプログラムには一定の時間が経過して処理が終わらなかったり相手から返事が無ければ処理を打ち切って終了し、次の手順に進むような仕組みが組み込まれていることが多い。こうした仕組みをタイムアウト処理という。

 

ヌルポインタ 【null pointer

読み方          ヌルポインタ

 変数や関数のアドレスを格納するポインタ変数のうち、どのアドレスも指していない状態の変数のこと。実際の値は言語や処理系によって異なるが、0やランダムな値などが取られることが多い。宣言だけして領域の確保などを行なっていない場合などがこれにあたり、ヌルポインタの指し示す領域に値を代入したり読み取ったりするとエラーや例外、あるいは予期しない動作を起こす。

 

配列 【array

読み方          はいれつ

 同じ型のデータを連続的に並べたデータ形式。各データをその配列の要素といい、それらは添字(インデックス)で識別される。

 配列はほとんどのプログラミング言語に存在するもっとも基本的なデータ形式の一つである。同じ型の変数を、添字によって指定された数の分だけメモリに取り、データの読み書きをする。添字に変数を指定することにより、ループを使って一括処理することもできる。

 言語によっては、配列の要素の中に配列を格納する「多次元配列」を使うことができるものもある。

 

ハッシュ法 【hashing

読み方          ハッシュほう

 データ検索アルゴリズムの一種で、もっともポピュラーなものの一つ。検索対象のデータを一定の規則にしたがってハッシュ値と呼ばれる整数に変換し、ハッシュ値を比較して検索を行なう方式。

 文字列検索のように個々のデータが大きい場合、データ全体を比較しながら検索するよりも比較にかかるコストが節約でき、高速に検索できる。ただし、検索するデータの大きさが小さければ、ハッシュ値に変換する手間が増えるためにかえって効率が悪くなることもある。

 元のデータをハッシュ値に変換する関数をハッシュ関数と呼ぶが、すべてのデータが異なるハッシュ値を持つように変換できれば、探したいデータのハッシュ値と同じハッシュ値を持つデータを探すことで、探したいデータと同じデータを見つけることが可能になる。しかし現実にはそのようなハッシュ関数を用意することは難しいため、ハッシュ値が重複した場合(1つのハッシュ値に複数のデータがエントリーされる場合)を処理する方法を用意しておく必要がある。

 ハッシュ値の重複を処理する代表的な方法としては、重複した場合に空いているハッシュ値にデータを振り分ける「オープンアドレス法」や、同じハッシュ値を持つデータを線形リストとして保存する「直接連鎖法」などがある。

 

パラメータ 【parameter

読み方          パラメータ

 ソフトウェアを実行したりプログラム内で関数を呼び出したりするときに、その動作を指定するために外部から与える設定値。

 

ビルド 【build

読み方          ビルド

分野              プログラミング > 開発環境

 ソースコードのコンパイルやライブラリのリンクなどを行ない、最終的な実行可能ファイルを作成すること。また、そのような作業によって生成されたソフトウェアの版。

 ソフトウェア開発では節目となるタイミングでビルドを作成し、全体的な動作確認を行なって不具合を探し、修正作業や機能の拡張を行なっていく。最終的な公開・発売バージョンができるまでに何度も繰り返しビルドすることが多いため、ビルドを行なう際は前回の版から更新・修正されたソースファイルやライブラリファイルのみをコンパイル、リンクしなおすことが多い。これを特に部分ビルドと呼ぶ場合もある。更新の有無に関係なくすべてのファイルをコンパイル、リンクして最新の版を作成することを完全ビルドあるいはリビルドという。

 

ブーリアン 【boolean

読み方 ブーリアン  別名 ブール型, 論理型

 プログラミング言語で扱う変数や定数の型の一つで、真(true)と偽(false)2種類の値だけを扱う最も単純な構造の型。

 結果が真か偽で表される式を「AND」や「OR」などの演算子(論理演算子)で組み合わせて、複雑な式が真になるか偽になるか判断することをブーリアン演算(論理演算)と呼ぶ。コンピュータの扱う処理や計算の多くは、最終的に論理演算に変換されて実行される。

 

プロシージャ 【procedure

読み方          プロシージャ

 プログラム内で繰り返し出現する処理を行なうために、一連の命令を一つの手順としてまとめたもの。「手続き」とも呼ばれ、プログラム内部での処理単位の一つとして扱われる。プロシージャを実行することを「プロシージャを呼び出す」と言う。プログラムの中で何度も同じような処理を行なう場合、それをプロシージャとしてまとめておけば何度も同じ処理を記述する必要がなくなるので、手間が軽減され、後の修正も容易になる。

 

プロパティ 【property

読み方          プロパティ

 オブジェクト指向プログラミングで使用されるオブジェクトが保持している、そのオブジェクトの性質を表すデータ。例えば、画像データのオブジェクトならば、高さや幅などのデータをプロパティとして持っている。

 具体的にどういったプロパティを持っているかはオブジェクトによって異なり、オブジェクトの開発者がオブジェクトの性質に応じて設定する。プロパティの値には変更できないものと変更できるものがあり、変更可能なプロパティは同じオブジェクトに含まれるメソッドを使用して変更できる。

 

マシン語 【machine language

読み方 マシンご   別名 機械語

 マイクロプロセッサが直接解釈・実行できる言語。数字の列で表現され、人間が簡単に理解できるような形式にはなっていない。

 マシン語を直接入力してプログラミングを行なうこともできるが、通常、マシン語のプログラムを作成する場合はマシン語の命令と一対一に対応したアセンブリ言語(ニーモニック)を使う。ニーモニックは、例えば、値のコピーに「mov」という単語を用いるなど、意味を類推しやすいアルファベットの並びになっている。

 プログラミング言語は、より機械が解釈しやすい言語を低水準(低レベル)、人間が解釈しやすい言語を高水準(高レベル)というが、マシン語はもっとも低水準の言語である。

 マシン語は直接プロセッサが実行するコードであるため、コンピュータのあらゆる機能を利用することができ、また、実行速度を向上させやすい。このため、ハードウェアを制御するデバイスドライバや、OSの基盤となる部分などではアセンブリ言語による開発が行なわれることが多い。

 その反面、マシン語は複雑な、あるいは大規模なプログラムの開発には向かないため、アプリケーションソフトの多くは高水準言語によって開発され、コンパイラやインタプリタなどを使ってコンピュータが自動的にマシン語に変換して実行するようになっている。

 

予約語 【reserved words

読み方          よやくご

 プログラミング言語の仕様で定められた、変数名や関数名として定義できない単語のこと。

 言語の一部として定義されている命令語などは、同名のユーザ定義変数が存在するとソースコードを正しく解釈できなくなるため、あらかじめ「予約」されていてプログラマが自由に使えないようになっている。

 どの単語が予約語になるかは言語ごとに違うが、最近はC言語風の表記をするプログラミング言語が多いため、「if」「for」「while」「return」「true」などは多くの言語で予約語となっている

 

メソッド 【method

読み方          メソッド

 オブジェクト指向プログラミングにおいて、各オブジェクトが持っている自身に対する操作。オブジェクトは「データ」と「手続き」から成っているが、その「手続き」の部分に当たる。プログラミング言語によっては「メンバ関数」と呼ばれることもある。

 オブジェクト指向では、オブジェクトの持つデータを操作する方法はオブジェクト自身がメソッドとして内蔵しており、これを外部から呼び出すことによって操作を行なう。こうすることにより、操作の詳細をオブジェクト内部に隠蔽することができ、プログラムの再利用性や生産性を高めやすくなると言われている。

 例えば、「テレビ」をオブジェクトとすれば、「画面を映す」「チャンネルを変える」といった操作がメソッドとなる。テレビのユーザはその内部の挙動の詳細を知らなくても、リモコンからメッセージを送って希望するメソッドを呼び出すだけで、テレビを操作することができる。

 

戻り値 【return value

読み方          もどりち

別名              リターン値

 プログラム中の関数やサブルーチンが処理を終了し、呼び出し元に処理の結果として返す値。戻り値には単なる計算結果の他、処理が正しく終了したかどうかを示す場合もある。言語や処理系によっては、戻り値を返さない関数を作成することもできる。

 

ActionScript 【アクションスクリプト】

読み方          アクションスクリプト

 Macromedia社のWeb向けアニメーションツール「Macromedia Flash」に内蔵されている、コンテンツの再生制御などを行なうためのスクリプト言語。JavaScriptの標準規格であるECMAScriptをベースに独自の拡張を施した仕様になっている。

 Flashでは、音声やベクターグラフィックスのアニメーションを組み合わせてコンテンツを作成するが、各々のオブジェクトをいつどのように再生するかを細かく制御することができる。また、ユーザのマウス操作などの入力を受けてそれに応じた動きをするなど、コンテンツに双方向性を持たせることができる。こうした仕掛けを記述するのに使われるのがActionScriptである。

 ActionScript20008月に登場した「Flash 5」に初めて組み込まれ、後継の「Flash MX 2004」ではAction Script 2.0にバージョンアップしている。

 

ECMAScript 

読み方          エクマスクリプト

 JavaScriptの標準規格。Netscape Communications社とMicrosoft社でJavaScriptの仕様が微妙に異なっていたため、両社が参加の上、ECMAが標準化したものがECMAScriptである。

AND

9550

ETC/신변잡기 2007. 1. 9. 04:02
AND