Catmull-Rom Splines
P3D
OpenGL
OpenSoundControl
API = Application Program Interface
: a set of routines, protocols, and tools for building software applications.
A good API makes it easier to develop a program by providing all the building blocks. A programmer puts the blocks together. (more: 대부분의 운영환경(operating environment)
이 API를 제공하는데, 동일한 API를 사용하여 만들어진 프로그램들은 비슷한 interface를 가지기 때문에 사용자가 새 프로그램을 배우기 쉽게 한다.)
예를 들어 Cocoa는 MacOS X의 객체지향 API이다. (ref: http://www.osxdev.org/cocoa/)
software는 두 부류로 나뉜다. systems software와 applications software.
시스템 소프트웨어는 컴퓨터(하드웨어)와 직접 상호작용하는 가장 기본적인 낮은 단계의 프로그램으로 OS를 포함한다. 어플리케이션 소프트웨어는 최종사용자(end-user)가 사용하는 워드 프로세서, 그래픽 툴 등이다. 어플리케이션 소프트웨어는 OS와 system utilities 없이는 돌아가지 않기 때문에 당연히 시스템 소프트 위에 얹혀 있는 것이다.
Open Source
:a program in which the source code is available to the
general public for use and/or modification from its original design
free of charge, i.e., open.
The distribution terms of open-source software must comply with the following criteria: (ref. OSI @ http://www.opensource.org/)
1. The license shall not require a royalty or other fee for sale.
2. The program must include source code, and must allow distribution in source code as well as compiled form.
3. The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.
4. The license must explicitly permit distribution of software built from modified source code.
5. The license must not discriminate against any person or group of persons.
6. The license must not restrict anyone from making use of the program in a specific field of endeavor.
7. The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties.
8. The rights attached to the program must not depend on the program's being part of a particular software distribution.
9. The license must not insist that all other programs distributed on the same medium must be open-source software.
10. No provision of the license may be predicated on any individual technology or style of interface.
source code 원시부호 原始符號
: program instructions in their original form
program을 짜는 programming language의 형식을 source program이라 하는데 이것이 source code이다. C나 FORTRAN과 같은 언어로 쓰여진 instructions으로 구성된다.
: 인간이 판독 가능한 언어, 즉 고급 언어나 어셈블러로 작성된 프로그램의 명령문.
(object code 목적 부호와 대칭되는 용어이다. 목적 부호는 컴파일러, 어셈블러, 해석 프로그램에 의해 번역되어 기계가 판독 가능한 형의 명령문이다.)
cf. program을 컴퓨터가 이해할 수 있는 machine language로 번역해 주는 첫단계가 source code를 object code로 번역하는 것인데, 보통 이 일을 compiler라 하는 utility가 한다. 이 object code가 machine code와 같을 때도 있지만, assembler라는 utility가 machine language로 번역해 주어야 할 때도 있다.
instruction (;INST) 명령어 命令語
: A basic command. The term instruction is often used to describe the most rudimentary programming commands.
: 프로그램 작성 언어에서 컴퓨터에 대한 하나의 동작 스테이트먼트(action statement)를 가리키는 용어. 명령어는 컴퓨터가 직접 실행 가능한 프로그램의 최소 단위이다.
보통 명령어는 프로그래머가 어셈블리 언어나 고수준 언어로 프로그램을 작성할 때에 스테이트먼트(statement) 형식으로 기술한 것을 나중에 컴파일러나 어셈블러에 의해 컴퓨터가 실행할 수 있는 기계어의 명령으로 번역한 것이다. 명령어는 일반적으로 ㉠하나의 연산 부호(operation code), ㉡하나의 연산 대상(operand), ㉢하나 또는 2개의 주소(address:기억 장소)라는 3가지 요소로 구성된다. 즉 ‘연산 대상인 ㉡에 지시된 ㉠의 연산을 수행하여 그 결과를 주소인 ㉢에 기억시켜라’라는 형식으로 되어 있다.
object code 목적 부호 目的符號
: The code produced by a compiler. 컴파일러 또는 어셈블러에 의해 생성되는 부호.
어떤 프로그램의 원시 부호(source code)로부터 컴퓨터의 중앙 처리 장치(CPU)가 직접 실행 가능한 기계어 부호(machine code)로 번역되어 있거나 실행 가능한 기계어 부호로 만드는 데 적합한 형태로 되어 있는 것. 오브젝트(object)라고도 한다.
cf. object code를 machine language로 바꾸는 일은 assemblers, binders, linkers, loaders 등의 여러 종류의 프로그램이 한다.
compile
: to transform a program written in a high-level programming language from source code into object code.
Programmers write programs in a form called source code.
Source code must go through several steps before it becomes an
executable program. The first step is to pass the source code through a
compiler, which translates the high-level language instructions into
object code. The final step in preducing an executable program -- after
the compiler has produced object code -- is to pass the object code
through a linker. The linker combines modules and gives real values to
all symbolic addresses, thereby producing machine code.
1) 넓은 뜻으로는 원시 언어로 된 프로그램으로부터 그와 동등한 일을 하는 목적 언어로 된 프로그램을 생성하는 작업. 프리프로세싱, 매크로 처리, 어셈블, 좁은 뜻에서의 컴파일 등 모든 종류의 언어 처리 작업을 총칭한다.
2) 좁은 뜻으로는 포트란이나 파스칼과 같은 고수준 언어로 작성된 원시 프로그램을 어셈블리 언어나 기계어 등의 저수준 언어로 된 목적 프로그램으로 번역하는 일.
: 컴파일이란, 한 언어를 동등한 의미를 갖는 다른 언어로 바꾸는 것을 의미합니다. 컴파일러에 의해 고급 언어를 저급 언어인 기계어로 번역하여 객체 모듈(Object Module)을 만들고, 이 모듈을 링크, 로드하여 실행시키는 것입니다. 컴파일러 언어에는 FORTRAN, PASCAL, C/C++등이 있습니다.
: 컴파일러 언어는 다단계의 구문 분석 및 코드 생성기를 이용하여 원시 프로그램을 기계어로 번역하는 반면, 인터프리터는 이러한 중간 과정 없이 코드를 한 줄 한 줄 읽어 내려가면서 곧바로 기계어로 번역합니다.
cf. interpreter
: 인터프리터는 컴파일과는 다르게 중간과정 없이 원시 프로그램을 직접 저급 언어로 바꾸면서 동시에 실행하는 것입니다. 번역 과정에 있어, 고급 언어를 중간 코드까지만 번역해 그것을 소프트웨어 인터프리터로 실행하는 것입니다. 이 때, 기계어 프로그램이 만들어지는 것이 아니라, 각 중간 코드의 기능에 해당되는 서브루틴을 호출하면서 수행이 이루어지는 것입니다. 인터프리터 언어에는 LISP, PROLOG등이 있습니다. 다음 그림은 인터프리트 과정을 나타낸 것입니다. 컴파일러 수행과정과 비교해 볼 때, 무척 간단한 것을 보실 수 있을 것입니다.
인터프리터 언어의 장점
- 실행을 위해 완전한 기계어 번역을 기다리지 않고 필요시 그 때 그 때 실행되므로 대화식 프로그램에 좋습니다.
- 프로그램이 실행될 때까지 원시 원어 형태를 유지하므로 기억 장소가 많이 필요하지 않습니다.
인터프리터 언어의 단점
- 재실행 시 매번 원시 프로그램을 디코딩(Decoding)하고 처리해야 하므로 시간이 많이 걸립니다.
Java
: A high-level programming language developed by Sun Microsystems. Java
is an object-oriented language similar to C++, but simplified to
eliminate language features that cause common programming errors.
자바는 기종이나 운영 체계와 무관한 응용 프로그램의 개발 도구로 각광받고 있다.
Java applet
: An applet
is a small Internet-based program written in Java, a programming
language for the Web, which can be downloaded by any computer
애플릿은 응용 프로그램(application)과 작다는 의미의 접미사(let)를 조합한 합성어이다.
JavaScript
: A scripting language developed by Netscape to enable Web authors to design interactive sites.
Although it shares many of the features and structures of the full Java language, it was developed independently. Javascript can interact with HTML source code, enabling Web authors to spice up their sites with dynamic content. JavaScript is endorsed by a number of software companies and is an open language that anyone can use without purchasing a license. It is supported by recent browsers from Netscape and Microsoft, though Internet Explorer supports only a subset, which Microsoft calls Jscript.
미국의 넷스케이프 커뮤니케이션즈사(Netscape Communications)가 개발한 스크립트 언어. 1996년 2월에 발매한 월드 와이드 웹(WWW) 브라우저인 넷스케이프 내비게이터(Netscape Navigator) 2.0에 실장하였다. 웹 브라우저에서 실행하는 스크립트 언어를 기술한다. 언어 규격은 자바의 부분 집합(subset)으로 되어 있다. 하이퍼텍스트 생성 언어(HTML) 문서를 작성하는 수준의 사용자가 사용하는 것을 주안점으로 하여 자바의 언어 규격으로부터 변수의 형(정수형이나 문자열형 등)을 생략하거나 새로운 클래스 정의를 할 수 없도록 하였다. 스크립트는 HTML 문서 속에 직접 기술하며, ‘script’라는 꼬리표를 사용한다. 자바 스크립트와 같은 기능을 갖는 것으로서 마이크로소프트사에서는 ‘Virtual Basic Scripting Edition’을 개발하였다.
applet
: A program designed to be executed from within another application
cf. With the growing popularity of OLE (object linking and embedding), applets are becoming more prevalent. A well-designed applet can be invoked from many different applications.
script
1) 소프트웨어에 실행시키는 처리 절차를 문자(텍스트)로 기술한 것. 일종의 프로그램이라고 할 수 있다. 일반적으로 응용 프로그램이나 유틸리티의 규칙과 구문(syntax)을 써서 표현된 명령어들과 루프(loop), 이프 덴(if/then) 등의 단순한 제어 구조의 조합으로 구성된다. 응용 프로그램이나 운영 체계(OS)상에서 최종 사용자(end user)가 제어할 수 있는 절차를 조합한 일련의 처리를 자동화하기 위하여 이용한다.
2) R.C. 섕크(R.C. Shank) 등이 개발한 개념 의존 관계 표현(conceptual dependancy expression)을 기초로 하는 일종의 기억 구조. 인간이 일상적으로 행하고 있는 정형화된 행동을 사상(事象)의 연쇄라는 형식으로 프레임(frame)과 비슷하게 표현한 것이다. 프레임이 어떤 개념의 속성을 정적으로 기술하는 데이터 구조인 데 비해, 스크립트는 시간의 흐름에 따른 사상 예로서 기술하는 점이 다르다. 실제로 인간은 많은 스크립트를 알고 있으며, 상황에 따라서 적절한 스크립트를 상기하여 사상 예의 문맥을 이해하고 있다고 생각할 수 있다. 쇼핑의 스크립트 예를 들면 다음과 같은 것을 생각할 수 있다. ㉠어떤 사람이 상점에 들어간다. ㉡물품을 손으로 잡는다. ㉢물품의 소유권이 상점에서 그에게 이전된다. ㉣돈의 소유권이 그로부터 상점으로 이전된다. ㉤그가 상점을 떠난다.
C++, C plus plus
Smalltalk
Perl = Practical Extraction and Report Language
Perl is a programming language developed by Larry Wall,
especially designed for processing text. Because of its strong text
processing abilities, Perl has become one of the most popular languages
for writing CGI scripts. Perl is an interpretive language, which makes
it easy to build and test simple programs.
object-oriented programming; OOP 객체 지향(客體指向) 프로그래밍
: A type of programming in which programmers define not
only the data type of a data structure, but also the types of
operations (functions) that can be applied to the data structure.
In this way, the data structure becomes an object that
includes both data and functions. In addition, programmers can create
relationships between one object and another. For example, objects can
inherit characteristics from other objects.
To perform object-oriented programming, one needs an object-oriented programming language(OOPL). Java, C++ and Smalltalk are three of the more popular languages, and there are also object-oriented versions of Pascal.
객체 지향 프로그램에서는 실체(데이터)와 동작(절차)을 객체로서 정의하고 객체 간의 메시지 교환에 주안점을 둔 정보 처리를 한다. 즉 객체 지향은 과정을 중시하는 절차 중심 설계가 아니고, 실체(데이터)를 중시하는 설계이다.
공통의 성질을 갖는 객체는 객체 등급으로 정의하는데 같은 등급에 속하는 객체들은 그들이 받는 메시지에 대하여 비슷하게 반응한다. 객체 등급을 계층화할 수 있는데 하위 계층의 객체 등급은 상위 등급의 성질과 기능을 계승한다. 따라서 객체 지향은 시스템의 모듈화 및 캡슐화를 촉진하여 복잡화·거대화되는 소프트웨어를 사용하기 쉽고, 작성하기 쉬우며 유지 보수하기 쉬운 방향으로 재구축하는 새로운 기법으로 각광을 받고 있다.
http://en.wikipedia.org/wiki/Object-oriented_programming
syntax 구문 構文 ([논리]=syntactics)
: the spelling and grammar of a programming language.
1) 문자들의 의미 해석을 하고 사용하는 방법과는 무관한 문자들 또는 문자 집합들 사이의 문제(ISO)
2) 언어에서의 식의 구조(ANSI)
3) 언어의 구조를 지배하는 규칙들(ANSI)
Computers are inflexible machines that understand what you type only if you type it in the exact form that the computer expects. The expected form is called the syntax.
Each program defines its own syntactical rules that control which words the computer understands, which combinations of words are meaningful, and what punctuation is necessary.
: 문법에는 프로그래밍 언어의 수식(Expressions), 문(Statement), 그리고 프로그램 단일체(unit)의 형태 등이 포함됩니다.
semantics 의미
# 프로그래밍 언어는 매우 고집스러워서, 자신이 정의한 문법이 아니면 절대 받아들이지 않을 뿐더러, 컴퓨터는 어린 아이와 같아서 사용자가 문법 하나하나를 일일이 지적해주지 않으면 우왕좌왕 하게 됩니다
server-side
Occurring on the server side of a client-server system.
For example, on the World Wide Web, CGI scripts are server-side
applications because they run on the Web server. In contrast,
JavaScript scripts are client-side because they are executed by your
browser (the client). Java applets can be either server-side or
client-side depending on which computer (the server or the client)
executes them.
HTML
XML
MP3
Unicode
HTTP
FTP = File Transfer Protocol
Internet의 TCP/IP protocols을 사용해서 데이터를 전송한다는 점에서 HTTP나 SMTP와 같다.
TCP/IP = Transmission Control Protocol/Internet Protocol
: the suite of communication protocols used to connect hosts on the internet.
CGI = Common Gateway Interface
servlet
A small program that runs on a server.
The term usually refers to a Java applet that runs within
a Web server environment. This is analogous to a Java applet that runs
within a Web browser environment.
Java servlets are becoming increasingly popular as an alternative to CGI programs. The biggest difference between the two is that a Java applet is persistent. This means that once it is started, it stays in memory and can fulfill multiple requests. In contrast, a CGI program disappears once it has fulfilled a request. The persistence of Java applets makes them faster because there's no wasted time in setting up and tearing down the process.
debug
(v.) To find and remove errors (bugs) from a software
program. Bugs occur in programs when a line of code or an instruction
conflicts with other elements of the code.
ASP = Active Server Pages
: a specification for a dynamically created Web page with a .ASP extension that utilizes ActiveX scripting -- usually VB Script or Jscript code. When a browser requests an ASP, the Web server generates a page with HTML code and sends it back to the browser. So ASPs are similar to CGI scripts, but they enable Visual Basic programmers to work with familiar tools.
미국 마이크로소프트사가 월드 와이드 웹(WWW) 애플리케이션을 실현하는 방법으로 추진하고 있는 기술. 서버상에서 VBScript(WWW 서버의 인터넷 정보 서버에서 실행 가능한 간이 언어)·자바 스크립트 등의 스크립트 언어나 ActiveX Control(ActiveX를 기초로 한 소프트웨어 부품)을 실행시켜 그 결과를 하이퍼텍스트 생성 언어(HTML)로 동적(動的)으로 생성한다. 마이크로소프트사의 WWW 서버 소프트웨어 IIS 3.0에 탑재되어 있는데, 컴파일이 필요 없으며 범용성이 높다는 등의 특징이 있다.
ASP = Application Service Provider
index.html -- html source for viewing the applet page
filename.jar -- compiled applet classes
filename.pde -- source code
pde = processing development environment(?)
JAR = Java Archive
: a file format used to bundle all components required by
a Java applet. JAR files simplify the downloading of applets since all
the components (.class files, images, sounds, etc) can be packaged into
a single file. In addition, JAR supports data compression, which
further decreased download times. By convention, JAR files end with a
.jar extension.
wiki
: a collaborative Web site comprises the perpetual collective work of many authors.
Similar to a blog in structure and logic, a wiki allows
anyone to edit, delete or modify content that has been placed on the
Web site using browser interface, including the work of previous
authors. In contrast, a blog, typically authored by an individual, does
not allow visitors to change the original posted material, only add
comments to the original content.
The term wiki refers to either the Web site or the software used to create the site.
Wiki wiki means "quick" in Hawaiian. The first wiki was created by Ward Cunnigham in 1995.
Cocoa
http://en.wikipedia.org/wiki/Cocoa_programming
ASX
Short for ASF
Streaming Redirector file, a Windows Media container file. ASX is an
XML redirector file for ASF. ASX files are metafiles, i.e., they
provide information about ASF media files, including descriptions of
multimedia content. When a browser links to an ASX file, the ASX file
in turn links to an ASF file on a server.
Phython
: An interpreted, object-oriented programming language
developed by Guido van Rossum. The name comes from one of van Rossum's
favorite television shows, Monty Python's Flying Circus. Python is very
portable since Python interpreters are available for most operating
system platforms. Although Python is copyrighted, the source code is
open source, and unlike GNU software, it can be commercially re-sold.
runtime 실행시간
Occurring
while a program is executing. For example, a runtime error is an error
that occurs during program execution and a runtime library is a library
of routines that are bound to the program during execution. In
contrast, compile-time refers to events that occur while a program is
being compiled.
EJB = Enterprise JavaBeans
Enterprise
JavaBeans (EJB) is a Java API developed by Sun Microsystems that
defines a component architecture for multi-tier client/server systems.
EJB systems allow developers to focus on the actual
business architecture of the model, rather than worry about endless
amounts of programming and coding needed to connect all the working
parts. This task is left to EJB server vendors. Developers just design
(or purchase) the needed EJB components and arrange them on the server.
Because EJB systems are written in Java, they are
platform independent. Being object oriented, they can be implemented
into existed systems with little or no recompiling and configuring.
SCBCD = The Sun Certified Business Component Developer for the Java 2 Platform
http://www.sun.com/training/certification/java/java_busj23e.html
'Computation' 카테고리의 다른 글
Name Server 변경 (0) | 2007.05.18 |
---|---|
physics engine (0) | 2007.05.03 |
shiffman's ICM @NYU (0) | 2006.04.11 |
Ajax and Web 2.0 (0) | 2006.03.27 |
code search engine (0) | 2006.02.18 |