object-oriented design : A software design method that models the characteristics of abstract or real objects using classes and objects.
Object : a software bundle of related variables and methods. (Software objects are often used to model real-world objects you find in everyday life.) A software object can represent real-world objects and abstract concepts like an event. > what the software object knows is 'state' and what it can do is 'behavior'.
variable : an item of data named by an identifier. Each variable has a type, such as int or Object, and a scope 컴퓨터 프로그래밍 언어에서의 변수의 의미는, 컴퓨터 기억 장소를 가리키는 추상적인 표현방법입니다. 즉, 기억 장소의 주소를 상징화한 것입니다. 변수에 대한 정의가 아직까지 정확하게 이해되지 않는 분들이 많으시리라 생각됩니다. 다른 예에 빗대자면 이렇습니다. '동경 135˚, 북위 37.5˚'가 메모리 주소라면, '한국(Korea)'은 이를 나타내는 변수(정확히 변수의 이름)가 되는 것입니다. 변수는 다음과 같은 속성을 가지고 있습니다.
이름(Name) 변수의 호칭입니다.
주소(Address) 변수와 연결되는 메모리의 위치를 말합니다. 이 때, 변수가 나타내는 메모리 위치는 항상 동일하지 않습니다. 즉, 동일한 이름을 가진 변수라도 이 변수가 각기 다른 용도로 쓰일 때에는 서로 독립적인 개체로 보고, 이들 변수가 가리키는 주소도 서로 다르게 됩니다. 변수의 주소를 가끔 'l-value'라고도 하는데, 이는 할당문에서 변수가 좌변에 위치한다는 사실에 기인한 것입니다.
값(Value) 변수의 값은 변수와 연결된 메모리 위치에 담겨 있는 내용을 말합니다. 'Apple'이라는 이름을 가진 변수의 메모리 주소가 '00DE'이고, 이 공간에 저장된 내용이 실수 '3.41'라고 하면, 이것이 바로 변수의 값이 되는 것입니다. 변수의 값을 가리켜 'r-value'라고도 합니다.
자료형(Type) 변수의 자료형은 변수가 가질 수 있는 값의 범위와 적용 가능한 연산자의 집합을 결정합니다. 예를 들어, C 언어에서 'int' 자료형은 -32768~32767 까지의 범위에 해당하는 값을 가질 수 있으며, 사칙연산 및 라이브러리 함수로 제공되는 연산자를 사용할 수 있습니다. scope : class variable : A data item associated with a particular class as a whole--not with particular instances of the class. Class variables are defined in class definitions. = static field instance variable : Any item of data that is associated with a particular object. Each instance of a class has its own copy of the instance variables defined in the class. field : A data member of a class. Unless specified otherwise, a field is not static.
- 수명에 따라 정적 변수(Static Variable) 스택 기반 동적 변수(Stack-Dynamic Variable) 명시적 힙 기반 동적 변수(Explicit Heap-Dynamic Variable) 묵시적 동적 변수(Implicit Dynamic Variable)
- 실효 범위(:변수의 값을 참조할 수 있는 범위, 즉 변수가 사용되는 문장의 범위)에 따라 local variable : A data item known within a block, but inaccessible to code outside the block. For example, any variable defined within a method is a local variable and can't be used outside the method. 지역 변수는 변수가 선언된 프로그램 단일체나 함수 혹은 블록 안에서만 사용할 수 있는 변수 cf. 스택 기반 동적 변수(Static Dynamic Variable)는 선언문이 실행될 때 저장 장소 바인딩이 이루어지고, 그에 대한 자료형은 정적으로 바인딩 됩니다. 다시 말해서, 변수가 프로그램 시작 시에 바인딩 되는 것이 아니라, 프로그램을 한 줄 한 줄 수행하고 있는 동안, 변수를 선언하는 코드 부분이 나오면 그제서야 변수에 대한 저장 장소가 할당되고, 바인딩이 이루어지는 것입니다. 이러한 함수에서 선언되는 변수들을 지역 변수(Local Variable)라고 하는데, 지역 변수들에 대한 기억 장소가 바로 이 때 할당되며 함수의 수행이 모두 끝나면 반환됩니다. non-local variable : 비지역 변수는 전체 프로그램에 걸쳐 사용 가능한 변수를 말합니다.
pointer variable : 포인터 변수는 저장 장소의 주소값과 그 저장 장소에 들어 있는 값을 모두 나타낼 수 있는 변수
method : a function (subroutine) associated with an object. A function defined in a class. Unless specified otherwise, a method is not static. instance method : Any method that is invoked with respect to an instance of a class. class method : A method that is invoked without reference to a particular object. Class methods affect the class as a whole, not a particular instance of the class. = static method
Message Software objects interact and communicate with each other using messages.
Class : a blueprint or prototype that defines the variables and the methods common to all objects of a certain kind.
Inheritance A class inherits state and behavior from its superclass. Inheritance provides a powerful and natural mechanism for organizing and structuring software programs. Interface : a contract in the form of a collection of method and constant declarations. When a class implements an interface, it promises to implement all of the methods declared in that interface.
Writing is the destruction of every voice, of every point of origin. : The voice loses its origin, the author enters into his own death, writings begins.
A fact is narrated with a view to acting intransitively on reality, finally outside of any function. > It is that I see. It is not that I see it. : 수렴적 탐색이 아닌 확산적 탐색 > 의도의 소멸
It is language which speaks, not the author; to write is, through a prerequisite impersonality, to reach that point where only language act, 'performs', and not 'me'.
The novel ends when writing at last becomes possible.
홍익대 시각디자인학과와 카이스트 산업디자인학과를 졸업했고, HCI2004 학회에서 우수논문상과 한국디자인학회에서 학술대상을 수상하였다. 홍익대 시각디자인학과, 영상대학원, 연세대 영상대학원에서 프로세싱과 인터페이스 디자인 수업을 강의해왔고, 번역과 저술을 하고 있다.
디자인의 패러다임이 변화함에 따라 시각 디자인의 역할이 정보를 알리고 전달하는 과거의 수동적인 기능에서 정보를 경험하고 선택하는 적극적인 기능으로 진화되고 있다. 이러한 네트워크 시대의 인터랙션 디자인은 오늘날 디자이너들에게 전통적 개념에서 탈피한 창조적인 사고와 논리적인 프로그래밍 능력, 그리고 인터페이스 디자인과 사용성 분석에 대한 지식을 절실히 요구하고 있다. 본 수업의 목적은 디지털 시대가 요구하는 창조성과 논리성을 개발하고 효과적인 인터랙션 디자인과 커뮤니케이션 능력을 훈련하는 데 있다. 이 수업에서는 전달하는 매체가 바뀜에 따라 그 컨텐츠에 미치는 영향과 변화를 개념적으로 공부하고, 그것을 직관적으로 경험하고 디자인하게 될 것이다. 이 수업을 통해 학생들은 전통적인 표현도구인 붓과 연필의 한계를 보완할 수 있는 뉴미디어를 디자이너의 표현도구로서 자유롭게 활용할 수 있을 것이다.
이론: 칸딘스키의 점선면, 추상예술, 그리고 한국성과 정체성 실기: 삼각함수를 이용한 기하학적인 인터랙션
Lo-Tech / Hi-Touch
> History
- 1999 xD_1 John Maeda : Design by Numbers
- 2003 0707-11 xD_5 Casey Reas (미대 기반) : Java 기반, open source, 교육용
: Next Design generation(?) 한국 SK본사 빌딩 12층에서 ICE 로이 해밀턴과 함께 강의 (삼성전자 제이 리? 미디어랩 졸업)
- 2003 1211-16 xD_6 Peter Cho # 아이디어는 그림으로 그려서 프리젠테이션하는 연습을 들여라.
- 2004 0305-0611 홍익대 시각디자인과, Computing Design
- 2004 0902-1209 홍익대 영상대학원 Interactive Graphics 1+2 :카이스트 남택진 교수, 연대 김영수 교수
- 2004 0911- 아트센터 나비 Interactivity & Practice
- 2004 1113 서울 홍익대 정보통신센터 Q동 9층
- 2004 1217 서울 아트센터 나비 21층 회의실 C2
- 2005 0811 대전 카이스트 산업디자인학과 3층 세미나실
(진로 모색? # 교수로서의 활로? # 양민하씨처럼 인터랙션 디자인 회사 창업? # 인터랙티브 광고 - 영화 마이너리티 리포트 # 인터랙티브 작가 - 상업적으로 판매 - bitform) bitform서울 - NYU 졸업 이훈송(?))
> computing | design
computation | aesthetic : 수 | 미 -> 디자인을 컴퓨터(이진법 수)로 표현한다.
# 명인이란? 자신이 도구를 만들어 쓰는 사람 : 주어진 (심지어 통일된) 인터페이스에 종속되면 개성이 없어진다. eg. 카일 크라우제? eg. 존 놀, 토마스 놀 - 포토샵 제작
numbers | beauty
design by numbers
# 목표 1. 코딩, 함수보다 내용, 철학이 중요하다. 2. 수학과 자연은 밀접하다. 3. 한국성의 구현: 라이프니츠가 동양의 음,양을 보고 영감을 얻어 2진법을 개발
이성 | 감성 : 수학 | 미분 : 양쪽 두뇌로 디자인하기 좌뇌 | 우뇌 : 분석 | 종합 : 논리적 생각 | 직관적 느낌
<기술복제시대의 예술작품> 발터 벤야민 : 인간이 상호간 대면 없이 기계를 매개로 소통한다. : '아우라'가 사라진 복제(모사)가 엉클어져 있는 원본보다 낫다. => 기계가 없어지면 관계가 사라지게 되었다.
<시뮬라시옹> 장 보드리야르 : '접속(Log-in)한다, 고로 나는 존재한다.'
<저자의 죽음> 롤랑 바르트 : 만든 사람보다 사용하는 사람들이 더 위대하다. : 사용자를 알지 않고서는 디자인이 불가하다.
<시지각 프로세스> 루돌프 아른하임 Rudolf Arnheim - Eyegaze HW/SW - Gestalt Theory 0: 보이는 것을 보는 것과 보고 싶은 것을 보는 것이 차이. 1: 단순성 2: connectivity Illusion : 착시 eg. 적절한 이미지맵을 통해 사용자가 자연스럽게 메뉴트리를 따르도록 리드할 수 있다.
자극(정보) -(확산적 및 수렴적 탐색)-> 응시 -(시지각 사고 visual thinking : Gestalt theory)-> 해석 -(인지적 사고)-> 평가 -(문제 분석)-> 판단 -(해결 제안)-> 계획->선택->실행
정보처리 과정> 평가의 과정: 외부상태 지각 > 지각된 것을 해석 > 해석된 것을 평가 > 목표 설정 실행의 과정: 목표 설정 > 의도 형성 > 실행 순서 계획 > 실행
- To consolidate data without loosing the details - To focus on the most important needs of the most important cusomers * Single data point doesn't mean much but patterns do.
> Unchanging reference point to guide design Avoid - Self-referneced design - 'elastic user' - edge cases
* The range is mmore useful than the average. (Real people are too idiosyncretic.)
A good persona description captures: Goals, Attitudes, Work or Activity Flow, Environment, Skill Level, Frustration
1. Segment based on a few essential behaviors (가정) 2. Prioritize the key personas (조사) 3. Make them human (적용) 4. Leave out extraneous details (사람화) 5. Make-up details (다듬기)
1. Revisit critical characteristics (eg. 빚에 대한 태도가 어떠한가?) 2. Identify major patterns 3. Rough out description & goals 4. Check for completeness 5. Check for redundancy 6. Expand & Refine details 7. Develop narrative 8. Designate type (primary, secondary, ...)
"User personas => 주고객층을 선정"
Forrester Research - Checklist
좋은 UI를 만들려면 제품 밖에서의 지원 또한 고려해야 한다. Adaptive Path Razorfish
cf. Contextual Design - Contextual Inquiry - flower/physical/circumstance model - affinity diary(?) 단점: 수치적 성과 검증 어렵다
ref. - 정신병원에서 뛰쳐나온 디자인 - The Inmates are running the Asylum (Why high-tech products drive us crazy and how to restore the sanity) by Alan Cooper - About Face 2.0 (The Essentials of Interaction Design) by Alan Cooper
자연은 수학으로 디자인 되었다는 말에 감탄하며 동의하기는 쉽지만, 막상 그러한 사실을 알고는 있더라도 직접 이를 응용해 무언가를 해보는 것은 그리 쉽지 않다. 게다가 이는 C, C , JAVA 등 프로그래밍 언어를 잘 알고 그 응용을 익숙하게 할 수 있다고 해서 바로 되는 일 역시 아니다. 컴퓨터 그래픽스나 인터랙티브 또는 미디어 아트에서 사용되는 기술의 상당 부분은 수학을 빼놓고서는 말할 수 없다. 때문에 상당수의 사람들이 벽에 부딪히게 되곤 한다. 그렇다고는 해도 컴퓨터 그래픽스에서 사용되는 수학은 쉽게 보여질 수 있다는 장점이 있고 게다가 Prcocessing은 이를 보여주는 게 무척 쉬워 탁월한 프로그램이다. '프로세싱으로 인쇄원고 만들기'에서 벡터 드로잉에 해당하는 내용이 다루어졌다고 한다면, 이 과정에서는 Texture를 수학적으로 짜는 방법을 Pixar의 Renderman에서 사용되는 Shading Language의 쉬운 응용을 통하여 경험해 볼 것이고, 자연선택(natural selection)이 아닌 미학적 선택(aesthetic selection)에 의해 펼쳐지는 세계를 볼 수 있게 될 것이다. 고대로부터 현대에 이르기까지 수많은 사람들이 수학의 아름다움에 매료된 이유를 직접 체험해 보기 바란다.
표본화 정리 sampling theorem : 표본화 주파수는 처리하고자 하는 신호의 주파수보다 최소 2배 이상이 되어야 한다. => 가청 주파수가 20kHz 이내임으로 44 ~ 48kHz가 자주 쓰임
양자화 quantizing
: 양자화는 종속변수(전압)을 불연속적으로 처리(관찰)하는 과정
* 몇 단계로 세밀히 관측하는가를 결정하는 변수 = 해상도 resolution
- 디지털 처리는 통상 2진법으로 처리 -> 해상도를 결정하는 것은 비트(bit)수 : 비트가 n인 경우 해상도는 2n
Dynamic Range 처리할 수 있는 신호의 범위 = 6.02 X n (+ a) dB
eg. 16bit --(X 6)--> 96dB : 오케스트라에서 가장 큰 소리와 작은 소리의 차이가 90bit 정도가 된다
Discrete Sampled Signal =(Quantizing)=> Digital Signal
디지털 신호의 품질
: 표본화 주파수와 비트 해상도가 기본적으로 결정짓는다.
표본화 주파수 - 얼마나 넓은 주파수 범위를 처리할 수 있는가를 결정 비트 해상도 - 얼마나 넓은 크기의 변화 (Dynamic Range)를 처리할 수 있는가를 결정
디지털 기술과 음향기술의 발전
(1 -1) 신서사이저는 디지털 방식으로 전환. 예외적으로 1990년대 들어 복고적 경향이 나타나면서 과거 아날로그 신서사이저가 재등장하기도 함.)
-2) 샘플러와 신서사이저의 개념 구분이 불확실해짐 eg. Kurzweil(한국 회사)의 K-2000 시리즈
-3) 하드디스크 레코더의 등장 : 저장 매체의 변화 -> 편집 방식을 비롯한 작업 방식의 변화 (순서를 따르지 않고)
(2 -1) MIDI 시퀀서와 오디오 레코더 (하드 디스크 레코더)가 컴퓨터 상에서 통합된 환경으로 형성됨
-2) 하드웨어 전자악기 및 음향장비는 통합된 환경의 플러그인 형태로 전환 : 전향 컴퓨터인 전자악기가 아닌 일반 PC에서 소프트웨어로 음향 제작이 가능해짐
-3) MIDI 시퀀싱, 오디오 레코딩, 전자악기 등이 컴퓨터 상에서 통합된 프로그램 또는 상호 연동이 가능한 형태로 존재
디지털 기술과 뉴미디어
New Media = 기존의 미디어 기술과 디지털-컴퓨터 기술이 결합한 기술적 배경을 바탕으로 만들어진 미디어
- 생산력의 발전이 생산양식을 규정
뉴미디어의 속성> - 수표 현성 - 수로 표현됨 - 모듈 방식 - (프로그래밍에서의 이야기였나?) - 자동화 - 생산물을 제작/유통하는 과정의 자동화 - 가변성 - 하나의 생산물이 여러 형태로 존재 가능 - 전이성 transcoding - 문화적 결과물을 관리/평가하는 태도가 컴퓨터 프로그래밍적인 관점에서 이루어짐
: 뉴미디어의 속성은 현재 음악 생산 환경에 영향을 주며, 이는 생산물의 성격에도 부분적으로 변화를 끼치고 있는 현재형.
The Myth of Interactivity or the Interactive Myth? : Interactive Film as an Imaginary Genre
Kristoffer Gansing kristoffer.gansing@k3.mah.se
Melbourne DAC 2003
> the relationship between narration and interaction design > to pinpoint different structures of control that form criteria for the supposedly liberating interactivity
dichotomy
fall in line;
rise to action
ergodic (adj) [수학/통계] 에르고드적인 (상당한 기간이 지난 후, 하나의 체례가 최초의 상태와 거의 비슷한 상태로 돌아가는 조건 하에 있는)
서울대학교 디자인학부 조교수이다. 국제 미디어아트 비엔날레 (미디어 시티, 서울), 아시아 디지털 어워드(후쿠오카, 일본), 서울 타이포그라피 비엔날레, 뉴욕 디지털 살롱 '97, 브루노 비엔날레(체코), 동경 타이프 디렉터스 클럽(TDC) 등 인터랙티브 미디어 분야의 국제적인 전시회에 초대받은 바 있다. 주요 연구분야는 컴퓨터 영상, 소프트웨어 아트, 그래픽 디자인이다.
그래픽 디자인을 처음 배우면서 시작한 것은 로트링(rotring) 제도용 펜과 자를 사용하여 선을 긋는 것이었다. 그래프 대지(화면 구성을 위해 사용하는 모눈 대지) 위에 0.1mm의 선을 일정한 간격으로 긋는 것은 펜과 자의 각도, 힘의 조절 등의 사용이 바로 되었을 때 가능한 일이다. 1mm 안에 오구(烏口: 가는 선을 그리기 위한 제도용 펜)를 사용하여 10개의 선을 그었다는 오래 전 그래픽 디자이너들의 이야기를 들은 적이 있다. 오늘날의 그래픽 디자이너들은 어도브(adobe)사의 그래픽소프트웨어인 일러스트레이터(illustrator)와 포스트스크립트(post script) 기술을 사용하여 1mm 안에 100 개의 선을 그을 수 있다. 일러스트레이터를 이용한 선 긋기에서 벗어나는 데 10년이 넘게 걸린 것 같다. 소프트웨어 묘법은 케이시 리아(Casey Reas)와 벤 프라이(Ben Fry)가 고안한 컴퓨터 언어인 프로세싱(http://processing.org)을 사용하여 만든 선화(線畵) 시리즈이다. 내가 하고 싶었던 것은 얼만큼 가는 선을 그을 수 있는가가 아니라 선의 본질, 즉 두 점을 연결하기 위한 위치 값과 선의 성격을 규정하기 위한 몇 개의 수치들을 사용하여 그림을 그려보는 것이었다. "소프트웨어 묘법"이라는 작업에서 나는 프로세싱이 비상업적이고 수평적인 네트워크를 강조하는 소프트웨어라는 점에 착안해 나의 소스코드들도 그림과 함께 실었다. 그다지 특별할 것이 없는 몇 줄의 코드들은 선 그리기가 아니라 선 쓰기의 미니멀한 논리를, 그리고 기술의 탈권위적 사용을 보여주기 위함이다. http://www.suzung.com
programming; the process of creating steps for a computer to perform a desired task.
The order of the instructions is just as important as the instructions themselves!
algorithm; a procedure or formula for solving a problem
data; the stuff that the program knows about and operates on
IMPORTANT ALGORITHM CONSTRUCTS:
Sequence:series of steps
Selection:choice between alternative paths
Iteration:repetition
Steps for developing your program
# Specify your idea / problem to solve.
# Design an algorithm (sequence of steps) for implementing the idea.
# Express the algorithm as a computer program in a programming language.
# Compile and run the program.
Processing
Processing is an open source programming language and environment
for people who want to program images, animation, and sound. It is used
by students, artists, designers, architects, researchers, and hobbyists
for learning, prototyping, and production. It is created to teach
fundamentals of computer programming within a visual context and to serve as a software sketchbook and professional production tool. Processing is developed by artists and designers as an alternative to proprietary software tools in the same domain.
* 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.
# index.html -- html source for viewing the applet page
롤랑 바르트의 text layering이 기존의 복합적인 형식의 텍스트들과 다른 점은 고유의 텍스트가 수미상관된 전체적 구조 속에 기능을 하고 있다면, 바르트의 텍스트들은 각기 개별적인 방향성을 가지고 서로 충돌하며 독립적으로 진행된다는 것이다.
: '바르트의 페티쉬' - text의 layers look
바르트: "지식의 역사는 상이한 언어들의 파동의 흐름이다."
현대의 대중음악 속의 layer
layers => context
Layer?
패션 - layered look 미술 - Adobe의 Photoshop의 layer 개념 eg. 뒤샹 - 모나리자 패러디 (다 빈치의 모나리자를 하나의 layer로 상정했다는 점이 기발) eg. Manray
Layer와 병치 Juxtaposition
eg. 콜라주, 다다이즘, automatisme 자동기술 (무의식의 본질을 재현) (병치는 시의 기본 방식)
1) 병치는 겹을 생성하지 않음 - 깊이의 결여
2) Layering은 심층이 있으며 Layer들간의 표층과 심층의 올라가고 내려가기, 교차들이 운동감을 생성
3) 현대적인 Layering의 특징은 고전적인 layers들간에 상정되어 있는 순서의 논리를 깬다.
4) 이러한 의미의 layering은 시인들이 기본적인 해 온 것들이기도 하다. T.S. 엘리엇 : 시는 "objective correlative" 객관적 상관물 피에르 뤼비지에르 : 이미지들 사이의 거리가 멀면 멀수록 에너지는 폭발한다 랭보: <모음들>
5) 존재와 비존재의 상징적 재현
그렇다면, 쓰는 사람/만드는 사람 입장이 아닌 독자의 입장에서 해석은 어떻게 되는가? 상정된 논리, 기존의 방법론을 깨는 것이라면 1. 열린 해석이 가능하다는 이야기? 2. 해석력의 문제 - 아는 사람만 알아들어라는 이야기 3. 의미론적 simentic 내용의 문제가 아니라, 새로운 형식/시도라는 의의 자체가 중요하다는 교훈?
Layer와 Track
layer :추상적 / track :구체적
track = 각각의 layer들이 달리는 시간적 자취 -> 한 track은 한 layer의 "반복"
음악은 문학이나 미술과는 달리 훨씬 더 형식을 필요로 하는 장르라고 생각한다. 그렇다면 정말로 각각의 track/layer 사이에 아무런 규칙/논리가 없다고 볼 수 있는가? 그런 식으로 음악이 만들어지는 것이 가능한가?
eg. Towa Tei [Technova]
6) 청자가 그 context 맥락의 하나의 요소 element 로 들어가는 것에서 브레히트 식으로 말하면 일종의 '거리두기'를 통해 스스로를 낯설게 보기를 가능하게 한다.
감각적인 만족감을 얻는 방법은 각자 다르다. 형식에 대한 도전을 거듭해 온 특히 포스트모던 이후의 지적 탐험은 그러한 시도에 대해 진정한 미적 쾌감을 얻는 사람들에 의해서(도) 가능하다. 이에 반해 내재적인 simentic한/순수한 authentic에 기준을 두고 또는 감가적인 끌림을 얻는 사람들은 형식적인 맥락은 논리적인 해석의 소재이지, 감동을 느끼는 데 고려되는 요소는 되지 않는다. 적어도 나는 그렇다.
7:00 ~ 7:20 몸풀기 이전 시간에 내준 숙제를 2명 정도 발표해본다. 동기부여는 충분히 되었습니까? 7:20 ~ 7:50 심화된 프로세싱 소개 processing.org 사이트 안에서, 그리고 그와 관련된 링크를 따라 함께 항해해본다. 어쩌면 슬쩍보고 지나쳤을 수 있는 것들에 대한 재발견. 필연적으로 혼자 공부해야 되는 시간이 올 때 의지가 되는 internet 상의 프로세싱과 관련한 많은 자료들. 7:50 ~ 8:00 쉬는 시간 8:00 ~ 8:20 프로세싱 설치. 안되는 사람은 정말 안되는, 프로세싱 설치하기와 관련한 꼭 피해가야 하는 pitfall들. FAQ & Discourse 활용하기. 8:20 ~ 9:00 프로세싱 시동. 가장 간단한 명령어들 소개와 노트북을 준비한 사람들은 직접 따라해 볼 수 있는 시간. 이상과 현실이 사정없이 충돌해 버리는 충격적인 경험. 연습~연습~연습의 중요성. ***준비물 : 여건이 되는 사람은 노트북.
wikipedia - computer graphics
<Texturing and Modeling: a procedual approach>
assembly.org
cfxweb
Ken Perlin - perlin noise
www.singlecell.org/singlecell.html
www.pcho.net
acg.media.mit.edu - John Maeda
<Design by Numbers> 책, 애플리케이션 <- 프로세싱의 전신 <Creative ...>
(에꼴 노르마;사범)고등사범대학 출신이 아님. '현장 비평가', 기호학자, 구조주의자 1960s '작가는 죽었다' 텍스트 레이어링 Text Layering - 다양한 성질을 지닌, 따라서 그 맥락이나 발화의 상황이 다른 여러 텍스트들을 엮는 방식 :이론가 바르트, 자료체를 조사하는 바르트, 내러티브를 따라가는 바르트
<모드의 체계>(동문선) : 패션의 현상들을 기호학적으로 해석 저자가 '자료체/채?' 안으로 들어가 버림.
<저자의 죽음> : 꼴레주드 파리에서의 강의록
<사랑의 단상> (외대 김희용 번역) : '의미의 유혹을 저지하기 위해' 절대적으로 무의미한 사전의 방식을 택했다고 함. : 잠언집, 소설 작품 인용 => 자료체 - 1인칭 주인공 시점의 연애 소설을 사전의 방식으로 이야기하고 있다는 느낌을 줌. - 사전 / 비평문 / 일기의 3층위의 레이어들 사이의 상호작용 - 현실은 텍스트(기호)이다.
- 유비쿼터스는 크게 유비쿼터스 컴퓨팅과 유비쿼터스 네트워크 개념으로 구분이 된다. 2가지 개념의 이슈적 차이를 알아보고 유비쿼터스 컴퓨팅에 대한 기본 개념과 최근 유비쿼터스 연구 및 비즈니스 동향을 살펴본다. 또한 이와 관련된 여러 기술적인 이슈 및 응용들을 알아본다.
- 그리고 유비쿼터스 컴퓨팅 개념에 기반한 디바이스는 어떤 구조 및 기능을 가져야 하는지 알아보고 사례들을 살펴본다. (유럽의 Disappearing computer, MIT 미디어랩 프로젝트 중심으로)
- 정보고속도로로 비유되는 인터넷의 가장 큰 통로 역할을 하고 있는 웹(WEB)은 이제 생활의 한 부분이라 할 만큼 우리 생활에 깊숙이 들어와 있다. 웹의 대중화에 따라 '보안'의 중요성이 강조되어 오고 있고 최근 중국해커에 의해 대표적인 국내의 웹 사이트들이 해킹 당하는 사례의 증가를 보면 앞으로의 보안 트랜드의 변화를 예측해 볼 수 있다.
- 이번 강연은 점차 그 중요성이 높아지고 있는 웹 해킹의 현황, 기법, 사례 그리고 대처방법에 대해 알아본다. 실제 웹 해킹이 얼마나 쉽게 일어날 수 있는가를 여러분들에게 보여주고 이를 해결하기 위한 방법도 모색해 본다.
- 지금 여러분이 웹 개발자, 사이트 운영자 또는 웹 비즈니스 관련자라면 이번 강좌는 '웹 보안'이 왜 필요하고 중요한 것인지를 말해주게 될 것이다.
☞ 강사소개1 : 정관진 (안철수연구소 시큐리티분석가)
- 아파치사용자그룹(http://www.apache-kr.org)의 운영자인 정관진씨는 1997년부터 아파치 웹 서버에 대한 정보 제공을 해오고 있으며 '재미있는 아파치 이야기'연재, 소프트엑스포 참가, 연합컨퍼런스 개최등 다양한 커뮤니티활동을 해 오고 있다.
- 현재는 안철수연구소에서 보안취약점 및 악성코드 분석을 하고 있으며 보안관련 컬럼 기고 및 강연을 해 오고 있다.
☞ 강사소개2 : 양수열( JCO 회장, 자바 챔피언)
- 현재 JCO 회장으로 국내 최초로 자바 챔피언으로 선정되었으며, 금융권 전자 상거래 시스템 운영 및개발 팀장으로 3년간 재직하면서 다양한 보안 문제점과 해결방안에 대해서 고민하고 있다.
- 마소 및 IT 관련 지 기고 및 강연등 다양한 활동을 해오고 있다. 관심 분야는 개발 품질 향상 방안과 개발측면에서 보안이다.
1 웹2.0이 변화시킨 비지니스 환경과 일상생활 - 왜 지금 세계는 웹2.0에 열광하는가? - 웹2.0이 거품이 아닌 이유 - 웹2.0 기업으로 갖추어야 할 조건
2. 웹2.0 기업의 수익모델 - 미국의 웹2.0 기업은 어떻게 성장했나? - 웹2.0 수익모델은 무엇인가? - 구글에 적용된 웹2.0 개념과 구글 전략 전술의 무서움
3. 이런 서비스를 만들어야 성공한다. - 개념의 변화에 따른 전략과 성공을 위한 법칙들 - 몰려오는 새로운 개념 변화와 대비책 - 이런 서비스를 만들면 시장을 장악한다.
☞ 강사소개 : 김중태(김중태 문화원 원장)
- 지은이 김중태 원장은 여러 권의 인터넷 관련 서적을 출간한 통신전문가로 국내 저자로는 처음으로 블로그 문화를 다룬 서적인 '나는 블로그가 좋다'를 출간하고 올바른 블로그문화 보급에 노력하고 있는 문화운동가다.
- 현재는 바른 인터넷문화를 이끌기 위해 차세대 웹 알리기와 웹표준 관련 운동에 참여하고 있으며, 국내 IT역사를 정리하는 IT실록 프로젝트를 진행 중이다.
- 차세대 웹을 알리기 위한 과정의 하나로 '웹2.0 시대의 기회, 시맨틱웹'이라는 책을 출간했고, 시맨틱웹과 웹2.0을 주제로 활발한 강연활동을 펴고 있다. 그외 여러 매체에 다양한 IT 관련 컬럼을 연재하고 있는 IT컬럼니스트로 활동 중이다. (http://www.dal.co.kr)
- 저서: '웹2.0 시대의 기회, 시맨틱웹' '나는 블로그가 좋다' '리눅스 줄게 웹호스팅 다오' '자바스크립트 이야기' '우리 아기 홈페이지 만들기' '누구나 할 수 있는 PC통신과 인터넷' '김중태의 통신이야기' '하드웨어 팔만대장경' 'C언어 이야기' 외 다수.
C 는벨연구소에서운영체제를디자인하는가운데탄생한언어로, 프로그래머지향적언어입니다. 프로그램설계가체계적이고이식성이좋으며강력함과유연성을갖춘언어입니다. C++ 는 C 언어를객체지향형프로그래밍(Object-Oriented Programming)에접목시킨언어로서기존 C가갖고있는특징을기반으로하고있습니다.
위의예에서보시는바와같이, 'REAL'이라는단어뒤에이름이오면, 'REAL'은실수형을의미하는키워드입니다. 그러나, 'REAL' 다음에연산자가오면변수로간주됩니다. 이경우특정단어가프로그램의문맥에따라서로다른용도로쓰이기때문에애매할수있고, 따라서 '읽기쉬움'에문제가있다고볼수있습니다.
컴퓨터프로그래밍언어에서의변수의의미는, 컴퓨터기억장소를가리키는추상적인표현방법입니다. 즉, 기억장소의주소를상징화한것입니다. 변수에대한정의가아직까지정확하게이해되지않는분들이많으시리라생각됩니다.
다른예에빗대자면이렇습니다. '동경 135˚, 북위 37.5˚'가메모리주소라면, '한국(Korea)'은이를나타내는변수(정확히변수의이름)가되는것입니다.
변수는다음과같은속성을가지고있습니다.
이름(Name)
변수의호칭입니다.
주소(Address)
변수와연결되는메모리의위치를말합니다. 이때, 변수가나타내는메모리위치는항상동일하지않습니다. 즉, 동일한이름을가진변수라도이변수가각기다른용도로쓰일때에는서로독립적인개체로보고, 이들변수가가리키는주소도서로다르게됩니다. 변수의주소를가끔 'l-value'라고도하는데, 이는할당문에서변수가좌변에위치한다는사실에기인한것입니다.
명시적힙기반동적변수는연결리스트(Linked List)나트리(Tree)처럼수행시간동안변수의크기가일정하지않고계속변화하는동적인구조를표현하는데편리하게사용될수있습니다. 그러나, 이러한변수를생성한후에는반드시반환을해주어야하는등세심한배려가필요하며, 포인터를통해값을참조하는데따르는부담들도단점으로지적됩니다.
(1) 에서 'type' 은사용자가직접특정자료형을정의하는것입니다. 따라서, (1)은 'constant'라는새로운자료형을선언해준것이고 constant는정수형이라는것을의미합니다. (2)와 (3)은변수선언문입니다. 여기서 'count_1'은정수형이고, 'count_2'는 'constant' 형입니다. 그러나, 이두변수는결국은모두정수형이기때문에형호환이일어나서서로값을주고받을수가있습니다.
문자형은컴퓨터에서숫자코딩방식에의해저장되는데, 가장많이사용되는코딩방식은 ASCII(American Standard Code for Information Interchange)로서각각의문자는그에해당하는숫자로변환되어저장됩니다. 예를들어문자 'a'는 65, '+'는 43입니다.
프로그래밍자료형으로쓰이는배열도배열자체의이름과그배열의원소의위치를나타내는첨자(Index)라는것이있어서위와같은배열의형태를얼마든지나타낼수있습니다. 이에관해서는다음절에서배우기로하겠습니다. 다만, 배열형에관한본격적인내용에들어가기전에여러분이기억하셔야할것은, 배열형은그배열을이루는자료형이모두같아야한다는것입니다.
Chris Anderson: Long Tail Economy 인터넷: 거래비용 절감 -> 틈새시장 (Niche Market) * Mass Customization
Information = In 진행 + tio 행위 + forma 형태 인포르마티오 : 일정한 형태가 이루어져 가는 과정
Thayer: "인간은 정보를 획득하는 과정 속에서 인간으로 형성되어 간다."
McLuhan: "미디어는 메시지다."
정보의 생산, 교환 - 소비 양식의 변화 => 주체성의 구성 자체에 변화를 초래
<커뮤니케이션과 자아의 형성>
George Harbert Mead [상징적 상호작용론] - 'Generalized Others' 일반화된 타자 - 준거집단 (표준 준거집단 / 비교 준거집단)
Erving Goffman [The Presentation of Self in Everyday Life] - 인상관리 Impression Management - front stage and back stage
인터넷의 문제 - 정보의 과잉, 다양성, 불확실성
Gergen [The Saturated Self] : 다양한 시각 -> 가치체계 불안정 - 정보접근성 용이성 확대 -> virtual space의 확대 : 실제-가상 경계 붕괴 - 매개된 경험 mediated experience -> the social(사회적인 것)의 축소
Baudrillard [시물라시옹] : "매체들은 사회적인 것을 없애 버린다."
Strate '완전한 통제감'
Sproull & Kiesler: "사회적으로 인정받는 것에 대한 두려움을 잊는다."
How to Reduce Uncertainty?
(1) 다시 권위로 (2) 하위 공동체 - 취향 공동체 eg. Serpentelli: 해커 문화 - 서로에 대한 관용과 급진적 개인주의에 대한 배려
program이라는 단어는 '미리 쓴다'라는 뜻을 지닌 라틴어에서 유래한 말이다. 프로그래밍은 작곡을 하거나 글을 쓰거나 그림을 그리는 것에 맥이 닿아 있다. 프로그래밍에서는 어떤 재현하고 싶은 현상이나 풀어 내야 할 문제가 제기되었을 때 이를 잘 헤아려서 자신이 다룰 수 있는 것들의 네트워크로 환원해 내는 능력이 중요하다. 하지만 그것만으론 충분치 않으며, 현상 또는 문제 자체를 직관적으로 이해하는 인간 고유의 지적인 능력이 가장 중요하다. 이런 의미에서 프로그래밍은 '유리알 유희'이며, 예술 그 자체, 마법과도 같은 힘을 가지고 있다고 생각한다. 이번 강의는 다양한 비유에서 프로그래밍을 바라보고, 환원주의와 전일주의적인 사고방식, 구상과 추상을 넘나들면서 참여자가 직접 글짓기라는 손쉬운 방법을 통하여 프로그래밍이 가지고 있는 다양한 매력을 경험해 볼 수 있는 기회가 될 것이다.
강사: 최승준 erucipe@hanmail.net 프리랜서 프로그래머로 활동 중이다. 아트센터나비에서 진행한 다수의 교육 프로그램 및 전시에 강사/테크니션으로 참여했다.
7:00 ~ 7:30 프로세싱 소개 및 시연 '프로세싱'이란 무엇인지 간략히 소개하고, 프로세싱을 이용한 프로그래밍 기법을 시연한다. 실제 말을 하는 내용이 즉시 code로 바꿔지는 과정을 통하여 숙련자에게는 스케치 하는 것과 프로그래밍을 하는 것이 닮아 있음을 들어낸다.
7:30 ~ 8:10 프로그래머의 생각 엿보기 그렇다면 어떤 식으로 생각해야 이러한 것이 가능한 것인가? 전일주의와 환원주의 / Divide & Conquer / Scale / 관찰 / 문답법 / 0 & 1 / 기호 / bit & atom / 공감각 등등 다양하고 재미난 이야기들의 네트워크를 통하여 프로그래밍의 얼개에 대한 윤곽을 잡아보는 동시에 이러한 모든 생각들이 가능한 자기자신 안으로 dive해 볼 준비를 한다.
8:10 ~ 8:20 쉬는 시간
8:20 ~ 9:00 언령(言靈)과 프로그래밍 프로그래밍은 언어유희이고, 말은 힘을 가진다. 이제 실제 무엇인가 해보는 시간이다. 참여자는 필기도구를 준비하고, 강사가 제시한 현상에 대하여 나름의 언어, 나름의 Pseudo code로 할 수 있는한 구체적으로 글과 화살표 또는 간략한 그림을 수단으로 기술한다. 완성된 문장을 옆사람과 바꾸어 보고, 몇 명의 문장을 발표도 해본다. 첫번째 수업은 이것으로 마치며, 작성한 내용은 제출한다. (유기명 또는 무기명) 숙제 : Processing을 가지고 자신이 구체화 하고 싶은 현상에 대하여 오늘 수업 내용과 같은 방식을 이용하여 기술해 본다. 자신을 가속시킬 동기찾기의 일환.
*** 준비물 : 필기도구, 종이, 노트북(아날로그 / 디지탈)
rapid prototype (programming) UX = user experience
Processing : an open source programming language and environment as a software sketchbook (http://www.processing.org)
.pde : processing development environment
> programming
더글러스 호프스태터 <Go:del, Escher, Bach> : 전일주의 & 환원주의 [인지과학] cp. 로저 펜로즈 <황제의 >
- Genesis: God said, let there be light; and there was light. - 신화, 환상문학 (북유럽 신화) > D&D (Dungeon and Dragon) 세계관 > spell 주문 -> code와 Library > magic, alchemy > Mantra (eg. Matrix, Ghost in the shell)
> Pseudo Code http://en.wikipedia.org/wiki/Pseudo_code : 프로그램밍 언어의 문법 자체를 몰라도 코딩을 할 수 있다. eg. flowcharts
> holistic (<-holism) eg. 한의학, 동양사상 - chaos - network: 'Locus 법칙' (ref. <링크>) - <Emergence> '개미 colony' - artificial life - swarm intelligence : 간단한 알고리즘을 통해 계 안에서 문제가 저절로 해결/태스크 최적화
> 빛과 그림자의 경계 속으로...
ref. 헤르만 헤세 <유리알 유희> Glass Bead Game Das Glaslen abstact game of all arts and ...
: it is a term that describes a new approach to using a
number of existing technologies together, including the following: HTML
or XHTML, Cascading Style Sheets, JavaScript, the Document Object
Model, XML, XSLT, and the XMLHttpRequest object. When these
technologies are combined in the Ajax model, Web applications are able
to make quick, incremental updates to the user interface without
reloading the entire browser page. [Source: mozilla developer center]
Ajax is also seen written in all capital letters (AJAX).
AJAX (Asynchronous JavaScript and XML) is a newly coined
term for two powerful browser features that have been around for years,
but were overlooked by many web developers until recently when
applications such as Gmail, Google suggest, and Google Maps hit the
streets.
The two features in question are that you can:
* Make requests to the server without reloading the page
: a specification developed by the W3C. XML is a
pared-down version of SGML, designed especially for Web documents. It
allows designers to create their own customized tags, enabling the
definition, transmission, validation, and interpretation of data
between applications and between organizations.
하이퍼텍스트생성언어(HTML)를대체할목적으로월드와이드웹컨소시엄(WWW Consorsium)이라는단체가표준화작업을진행하고있는페이지기술언어. 보통 XML이라는약어로불린다. HTML에서사용되는연결(link) 기능등을확장함과동시에표준범용문서생성언어(SGML)를인터넷용으로최적화한것으로 HTML과 SGML의장점을모두가지도록규정하였다. 마이크로소프트사는 XML을바탕으로한푸시형(push type) 소프트웨어용의정보배포형식(information distribution format)인채널정의형식(CDF)을규정하여, 인터넷익스플로러 4.0에서실현하고있다.