블로그 이미지
Leeway is... the freedom that someone has to take the action they want to or to change their plans.
maetel

Notice

Recent Post

Recent Comment

Recent Trackback

Archive

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
  • total
  • today
  • yesterday

Category

2006. 2. 17. 22:39 Computation
applet graphics

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 등의 여러 종류의 프로그램이 한다.


program language > source code -(compiler)-> object code -(assembler)-> machine language



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.

자바는 기종이나 운영 체계와 무관한 응용 프로그램의 개발 도구로 각광받고 있다.

C++ > Java > Java source code(.java) -(Java compiler)-> byte code(.class) -(Java Virtual Machines: Java interpreter > just-in-time compiler; JIT > Java chip(micro processor)-> machine language 


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


* Processing is an extension of Java and supports many of the existing Java structures, but with a simplified syntax. The application runs locally and exports programs to Java applets, which may be viewed over the Internet.


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
posted by maetel