HTML5/CSS3/JavaScript 책 공개링크

저자분께서 자신의 블로그에 직접 올려두신 자료입니다.


공개자료로 올려두신거니 활용하시면 좋겠네요!

HTML5 CSS3 Javascript 책 공개링크.xlsx


Eclipse 유용한 플러그인

1.    ModelGoon

A.    경로 : http://www.modelgoon.org/update

B.     설명 : Class/Package Drag하면 Diagram 그려준다.

 


2.    Quick Search

A.    경로 : http://dist.springsource.com/release/TOOLS/update/e4.3/Core/Eclipse

B.     설명 : Ctrl + Shift + L 누르면 현재 소스에 필요한 함수들이 나온다.

 


3.    Insta Search

A.    경로 : http://marketplace.eclipse.org/content/more-clipboard

B.     설명 : 위의 Quick Search 비슷하지만 대소문자를 구분하지 않는다.

 


4.    CheckStylus

A.    경로 : http://checkstyle.sourceforge.net/

B.     설명 : Coding convention 검사해 준다.

 


5.    Code Analysis Plugin

A.    경로 : http://cap.xore.de

B.     설명 : Package, file들이 어떠한 구조로 구성된것인지 보여준다.

'SW > JAVA' 카테고리의 다른 글

백준알고리즘 8393번 java  (0) 2017.09.14
Eclipse 단축키 정리  (0) 2017.09.06
이클립스 설치된 플러그인 확인  (0) 2017.09.06
객체지향 프로그래밍 (Object-Orientd-Programming, OOP)  (0) 2017.09.05

Eclipse 단축키 정리


댓글 주시면 PDF 보내드릴게요!



이클립스 설치된 플러그인 확인



1. 아래의 quick access 텍스트박스에 'installation details' 를 입력한다.





2. 하나의 항목이 나오는데 그것을 누르면 아래와 같은 창이 나온다.

이 창에서 installation history 탭을 




3. 그러면 아래와 같은 화면이 나오는데 하단에 configuration contents 항목을 보면 설치된 플러그인 들을 확인할 수 있다.


'SW > JAVA' 카테고리의 다른 글

백준알고리즘 8393번 java  (0) 2017.09.14
Eclipse 유용한 플러그인  (0) 2017.09.06
Eclipse 단축키 정리  (0) 2017.09.06
객체지향 프로그래밍 (Object-Orientd-Programming, OOP)  (0) 2017.09.05

미분방정식 3가지 기법 비교

Modified Euler vs Runge Kutta vs Euler


소스코드

#include <stdio.h>
#include <math.h>

double f(double t, double y)
{
	return(y-(t*t)+1);
}
void meuler2()
{
	int i=1;
	float x, y, x1=0, y1=0.5, xf=2, y2, h=0.05;
	x = x1; 
	y = y1;
	printf("\nModified Euler\n");
	printf("%f\t%f\n", x, y);
	while (x<xf)
	{
		y2 = y + h *f(x, y);
		y1 = y2;
		y2 = y + (h / 2)*(f(x, y) + f(x + h, y2));
		y = y2;
		x = x + h;
		if((i%2)==0 && i<11)
		printf("%f\t%f\n", x, y);
		i++;
	}
}

float runge2()
{
	float x0 = 0, y0 = 0.5,	x = 2, h = 0.1;
	printf("\nRunge_Kutta\n");
	float n = (x - x0) / h;
	float k1, k2, k3, k4, k5;

	float y = y0;
	printf("%f\t%f\n", x0, y);
	for (int i = 1; i <= n; i++)
	{
		k1 = h*f(x0, y);
		k2 = h*f(x0 + 0.5*h, y + 0.5*k1);
		k3 = h*f(x0 + 0.5*h, y + 0.5*k2);
		k4 = h*f(x0 + h, y + k3);
		y = y + (1.0 / 6.0)*(k1 + 2 * k2 + 2 * k3 + k4);;
		x0 = x0 + h;
		if(x0<0.6)
			printf("%f\t%f\n", x0, y);
	}
	return y;
}

void euler()
{
	printf("\nEuler\n");
	float a=0, b=.5, x, y, h=0.025, t=0.5, k;
	int tmp=1, i=4;
	x = a;
	y = b;
	printf("%f\t%f\n", x, y);
	while (x <= t)
	{
		k = h*f(x, y);
		y = y + k;
		x = x + h;
		if (tmp == i)
		{
			printf("%f\t%f\n", x, y);
			i += 4;
		}
		tmp++;
	}
}
int main(void)
{
	euler();
	meuler2();
	runge2();
}


결과


'SW > Numerical analysis' 카테고리의 다른 글

Runge-Kutta vs Trapezoidal (Method)  (0) 2017.09.05

Singleton Pattern (싱글턴 패턴)

Singleton Pattern


정의


1.    Singleton Pattern은 해당 Classinstance가 하나만 만들어진다.


2.    어디서든 그 instance에 접근할 수 있게 한다.


3.    class에서 하나뿐인 instance를 관리하게 한다.


4.    Instance가 사용될 때 똑 같은 instance를 만드는 것이 아닌, 동일 instance를 사용하게끔 하는 것이다.

 

고전적인 Singleton Pattern

public class Singleton {
    private static Singleton uniqueInstance;
 
    private Singleton(){}
 
    public static Singleton getInstance() {
        if(uniqueInstance == null){
            uniqueInstance = new Singleton();
        }
        return uniqueInstance;
    }
}

전역변수로 instance를 생성하는데 private static 키워드를 사용한다.


Static이 붙은 class 변수는, 인스턴스화에 상관없이 사용할 수 있다.


하지만, private 접근 제어자로 인해

Singleton.uniqueInstance

와 같은 방법으로 접근할 수 없다


이 상태에서 private 키워드를 붙이는데 그러면 new 키워드를 사용할 수 없게 된다.


그 결과 외부 class가 위 classinstance를 가질 수 있는 방법은, getinstance() method를 사용하는 방법밖에 없다.


 하지만 위의 방법은 Multi-threading과 관련해서 문제가 생긴다


       그 이유는 thread getinstance() method를 호출하면 instance가 두 번 생길 수 있기 때문이다.


       이러한  문제를 방지하기 위해, getinstance() method를 동기화 시킨다.

public class Singleton {
    private static Singleton uniqueInstance;
    // 기타 인스턴스 변수
    private Singleton() {}
    //synchronized 키워드만 추가하면 
    // 두 스레드가 이 메소드를 동시에 실행시키는 일은 일어나지 않게 된다.
    public static synchronized Singleton getInstance() {
        if (uniqueInstance == null) {
            uniqueInstance = new Singleton();
        }
        return uniqueInstance;
    }
}


위와 같이 할 수 있는데 이 방법도 문제가 있다. 수 많은 thread들이 getinstance()

method를 호출하기 위해 동기화 하면 성능이 떨어진다.

이러한 문제를 방지하기 위해서 instance를 필요할 때 생성하는 것이 아니라, 처음부터 생성하는 방법이 있다.

public class Singleton {
    private static Singleton uniqueInstance = new Singleton();
 
    private Singleton() {}
 
    public static Singleton getInstance() {
        return uniqueInstance;
    }
}

위와 같이 하는 방법 외에도 DCL(Double-Checking Locking)을 사용하여 getinstance()에서 동기화되는 부분을 줄이는 방법이 있다.


DCL을 사용하면 instance가 생성되어 있는지 확인한 후, 생성이 되어있지 않을 때만 동기화를 할 수 있다


Volatile 키워드를 사용해서 multi-threading을 사용하더라도변수가 Singleton instance로 초기화 되는 과정이 올바르게 할 수 있다.

public class Singleton {
    private volatile static Singleton uniqueInstance;
 
    private Singleton() {}
 
    public static Singleton getInstance() {
        if (uniqueInstance == null) {
            //이렇게 하면 처음에만 동기화 된다
            synchronized (Singleton.class) {
                if (uniqueInstance == null) {
                    uniqueInstance = new Singleton();
                }
            }
        }
        return uniqueInstance;
    }
}


Runge-Kutta vs Trapezoidal (Method)

소스코드

#include<stdio.h>
#include<math.h>
#define TOL 0.0001
double f(double t, double w);
double y(double t);
double absol(double x);
void main()
{
	int i, k, N = 5, n = 0;
	double t, k1, k2, k3, k4, p1, p2, h = 0.2;
	double w[6], v[5];
	for (k = 1; k <= 2; k++)
	{
		w[0] = -1;
		v[0] = -1;
		p2 = -1;
		for (i = 0; i<N; i++) {
			t = h*i;
			k1 = h*f(t, w[i]);
			k2 = h*f(t + h / 2, w[i] + k1 / 2);
			k3 = h*f(t + h / 2, w[i] + k2 / 2);
			k4 = h*f(t + h, w[i] + k3);
			w[i + 1] = w[i] + (k1 + 2 * k2 + 2 * k3 + k4) / 6;
		}
		for (i = 0; i<N; i++) {
			t = h*i;
			p1 = 100;
			while (absol(p2 - p1) >= TOL)
			{
				p1 = p2;
				p2 = p1 - (p1 - v[i] - h / 2 * (f(t, v[i]) + f(t + h, p1))) /
					(1 - h / 2 * (5 * exp(5 * (t + h))*(2 * p1 - 2 * (t + h))));
			}
			v[i + 1] = p2;
		}
		if (k == 1) {
			printf(" \tRunge-Kutta Method \t\tTrapezoidal Method\n");
			printf(" \t\t h=0.2 \t\t\t\t h=0.2\n");
			printf("t \tw   \t\terror\t\t w\t\terror\n");
			for (i = 0; i <= 5; i++)
			{
				t = 0.2*i;
				printf("%.1f\t%f\t%e\t %f\t%e\n",t, w[i], absol(y(t) - w[i]), v[i], absol(y(t) - v[i]));
			}
		}
		h = 0.25;
		N = 4;
	}
	printf("\n\tRunge-Kutta Method \t\tTrapezoidal Method\n");
	printf(" \t\t h=0.2 \t\t\t\t h=0.2\n");
	printf("t \tw   \t\terror\t\t w\t\terror\n");
	for (i = 0; i <= 4; i++)
	{
		t = 0.25*i;
		if (w[i] == INFINITY) //OVERFLOW 체크
			printf("%.2f\t OVERFLOW\t OVERFLOW\t %f\t%e\n", t, v[i], absol(y(t) - v[i]));
		else	//w[i] = atof("stackoverflow");
			printf("%.2f\t%e\t%e\t %f\t%e\n",t, w[i], absol(y(t) - w[i]), v[i], absol(y(t) - v[i]));
	}
}
double f(double t, double w)
{
	return 5 * exp(5 * t)*(w - t)*(w - t) + 1;
}
double absol(double x)
{
	if (x >= 0)return x;
	else return (-1) * x;
}
double y(double t)
{
	return t - exp(-5 * t);
}
결과





'SW > Numerical analysis' 카테고리의 다른 글

미분방정식 3가지 기법 비교  (0) 2017.09.05

Server & Client

Server/Client

server 클라이언트의 요청 대기 -> 정보 및 서비스 제공

client 서버에서 제공되는 정보 및 서비스를 이용하는 호스트

서버에 정보 및 서비스의 제공을 요청하고 응답을 기다림

 

socket 네트워크로 입출력을 하기위해 사용자에게 필요한 수단을 제공하는 응용 프로토콜 인터페이스

입출력을 위한 요소

프로토콜, 소스,목적지의 IP, PORT


-Socket = 소켓 생성

-Bind = 소켓에 주소 정보 할당

 

네트워크 바이트 순서

Big-Endian 상위 바이트가 먼저, 네트워크 바이트 순서

Little-Endian 하위 바이트가 먼저, 호스트 바이트 순서

 

inet_addr = Dotted-Decimal Notation -> Big-Endian 32bit

listen = 서버가 클라이언트의 연결 요청 대기

connect = 클라이언트가 서버에 연결 요청

accept = 서버가 클라이언트에게 연결 요청 수락

recv(), send() =receive, send

close = 소켓 연결 종료

select

 

Select = 소켓의 I/O변화를 감지

 

Thread

프로세스의 문제점 : context switch overhead, 프로세스 생성 시간이 김, 동기화 오버헤드

프로세스는 여러 개의 쓰레드를 가질 수 있다.

함수호출 vs 멀티쓰레딩

비슷한 점 = 다른 함수나 쓰레드에서 선언된 변수를 접근할 수 없다.

전역 데이터와 힙영역은 모든 함수와 쓰레드가 공유

 

쓰레드는 쓰레드는 해당하는 스택이 하나씩 있고, 동시에 함수의 수행이 가능하다.

코드, 데이터, 파일은 공유하지만 레지스터와 스택은 개별

 

프로세스는 두 개의 컴포넌트로 나뉘어지는 복잡한 개체

쓰레드의 집합과 자원의 집합

수행 유닛은 쓰레드이며 수행환경을 제공해주고 쓰레드 id가 있다

pthread_self, create, exit, join, cancel(다른 쓰레드 제거), cleanup_push,pop 스택!

쓰레드 동기화

임계영역(critical section) = 둘 이상의 쓰레드가 공유하는 메모리 공간에 접근하는 코드영역

동기화 = 공유된 메모리에 둘 이상의 쓰레드가 동시 접근 막음, 실행순서 컨트롤

자체 동기화(pthread)

-mutex, lock and unlock

-mutex = 임계영역에 들어갈 때 잠그고 나올 때 풀고나옴(init, destroy, lock, unlock)

semaphore

하나 이상의 플레스가 동기화 또는 배제를 위한 목적으로 획득하거나 놓아주는 커널

(프로세스, 쓰레디 모두 적용)

wait, signal 함수로 접근 wait으로 세마포어를 획득하면 토큰이 감소, signal로 세마포어를 놓아주면 토큰의 수가 증가

세마포어가 생성될 때, 토큰도 생성됨

 

binary semaphore = 하나의 공유 자원에 직렬로 접근


세마포어 생성 -> 세마포어 연산 -> 세마포어 제어 -> 공유 자원 사용

semget = 세마포어 생성, 세마포어 설정을 확인

semop = 세마포어 조작, 세마포어 아디를 갖는 세마포어에 대해 연산을 수행

semctl = 세마포어 원소들은 사용되기 전에 semctl로 초기화

'SW > LINUX' 카테고리의 다른 글

IPC (Inter Process Communication)  (0) 2017.09.05
NETWORK (네트워크)  (0) 2017.09.05
GDB  (0) 2017.09.05
버전관리, SVN  (0) 2017.09.05
GCC compiler (내부 매크로, Makefile)  (0) 2017.09.05

IPC (Inter Process Communication)

IPC의 종류

Same host

pipes, FIFOs, semaphores, shared memory

Different host

sockets

 

Communication

process1 -> channel(Same host) -> process3

 

pipe = 하나의 프로세스로부터 데이터 흐름을 다른 프로세스로 연결

한프로세스의 출력을 다른 프로세스의 입력으로 붙이거나 파이프로 연결

파이프 함수는 호출자가 순차적으로 생성된 파일 디스크립터를 통해 접근할수 있는 통신 버퍼 생성

 

Shared memory = 여러 프로세스들이 동일 메모리영역에서 읽고 쓸 수 있도록 제공

연관이 없는 프로세스들이 동일 물리적 메모리에 액세스

동기화 기능이 없어서 공유메모리에 대한 액세스를 동기화 해야함

 

Message Queue = 다른 프로세스들 간에 메시지를 주고받을 수 있는 IPC 메커니즘

파이프를 열고 닫을 필요가 없고, 송신프로세스, 수신프로세스에 대해 독립적으로 존재

 

부모-자식간은 Pipe 다른 부모-자식은 나머지것들

dup = copy fdp dup2 = change fdp

 

FIFO = open을 통해서 연 뒤 READ, WRITEFIFO에 액세스, 권한이 있음

mkfifo = Make FIFO file

unlink = REMOVE FIFO

 

Shared Memory

연관이 없는 두 프로세스가 동일 메모리에 액세스

read/write로 프로세스간 데이터를 주고받음

get key(ftok) -> get SM id(shmget) -> get start address(shmat) -> read/write -> free(remove)(shmdt) -> ipcrm(remove SM)(shmctl)

 

'SW > LINUX' 카테고리의 다른 글

Server & Client  (0) 2017.09.05
NETWORK (네트워크)  (0) 2017.09.05
GDB  (0) 2017.09.05
버전관리, SVN  (0) 2017.09.05
GCC compiler (내부 매크로, Makefile)  (0) 2017.09.05

Computer architecture (용어, 상식) 3

ch 9

정보 보안의 개요

1.1정보 보안의 목표

1 기밀성 : 허가되지 않은 사용자에게 비밀 (접근통제, 암호화)

2 무결성 : 허가되지 않은 사용자가 수정 불가 정보가 수정되지 않음을 확인

3 가용성 : 허가됬으면 언제든지 사용 (백업, 중복성 유지)

1.2보안위협의 공격형태

정상통신 : 전송 요청 -> 전송 수락 -> 전송

1. 정보 가로막기 정보 전송 수락전에 불가능하다고 응답 (고의적으로 흐름 차단)

2. 정보 가로채기 정보를 도청 또는 유출

3. 정보 수정 전송 중인 정보를 수정하여 수신자에게 보내는 행위

4. 정보 위조 1. 수락응답이 공격자에게 보내져 정보를보냄

2. 보내지 않았는데, 송신자인것처럼 위장하여 정보를 보냄

1.3정보 보안을 위한 서비스

1. 인증 : 송수신자의 신분을 확인

2. 접근 제어 : 허가없이 정보접근 불가

3. 부인방지 : 송수신후 그 사실에 대한 부인 막음

 

2. 악성코드

2.1 바이러스의 분류

1세대 원시형->2세대 암호화->3세대 은폐형->4세대 갑옷형->5세대 매크로->6세대 차세대

원시형 : 도스 초기버전

암호화 : 백신등장함으로 진단할 수 없도록 함

은폐형 : 먼저 컴퓨터를 감영시켜 메모리 손실이 없는것처럼 함

갑옷형 : 백신을 감염시켜 자기변형함

매크로 : 오피스 매크로

차세대 : 도용

2.2 : 이메일로 보냄 자기복제하여 실행

2.3 트로이목마 :정상적인 프로그램에 있다가, 실행될 때 활성화, 전염은 없다.

2.4 기타

스파이웨어 : 본래 정보 수집 기술이지만 보안측면에서는 동의 없이 하는 것

키로거 : 키보드로 정보수집, 저장

조크 : 이메일에 개소리하는 것, 포맷영삼만 보여주거나 롬이 저절로 열리고 화면거꾸로보임

 

3. 해킹

3.1 DoS 서비스 거부 공격

3.2 DDoS 분산 서비스 거부공격

좀비 컴퓨터를 분산 배치하여 동시에 공격 컴퓨터나 네트워크를 공격

3.3 스푸핑 : 전자메일 주소등을 위장하여 가짜 사이트를 방문하도록 유도

3.4 스니핑 : 네트워크에서 주고받는 데이터를 도청하여 내용을 가로챔 쿠키정보를 이용하면 바로 로그인되는데 이것을 해킹

3.5 XSS : 악성스크립트가 포함된 글을 등록하여 열면 정보가 털림

3.6 피싱

 

4. 정보 보안 기술

암호화 : 평문을 암호문으로 복호화는 그 반대

4.1 암호화기술

동작형태에 따라 대체 암호, 전치 암호로 나뉘고 키의 방식에 따라 키 암호화 공개 키 암호화

1. 대체암호 : 일정 규칙으로 각 글자를 다른 글자로 대체

2. 전치암호 : 순서를 바꿈

3. 비밀 키 암호화 : 복호화 암호화의 키가 동일 쉽게 털림 (대칭 암호화)

4. 공개 키 암호화 : 복호화와 암호화의 키가 달라 비공개 키로 사용자가 씀 (비대칭암호화) -> 처리속도가 느림

4.2 인증 기술

1 전자 서명 : 송수신이 제대로 됬음을 증명

2 디지털 서명 : 정보가 변경되지 않음, 사용자가 제대로 됬음을 증명

3 공인인증서

4.3 네트워크 보안 기술

1 방화벽 : 외부의 공격으로부터 시스템을 보호

모든 정보가 방화벽을 통하므로 속도가 느려진다

패킷 필터링 : TCP/IP 프로토콜(3계층), 전송계층(4계층) 패킷을 분 석하여 수신이나 발신을 막음

응용 게이트웨이 : 3계층에서 허가되지 않은 트래픽의 출입을 통제

프록시서버를 사용하므로, 외부 공격에 강함()

2 침입 탐지 시스템 : 공격을 탐지, 해킹규칙을 자체적으로 내장

IDS(cctv)

호스트기반(HIDS) 호스트의 동작 상태 분석

네트워크(NIDS) 네트워크 트래픽 흐름 분석

하이브리드(HIDS) 두 방식 결합

3 허니팟 : 컴퓨터의 침입자를 속임, 공격당하는 척하다가 해커 추적

ch 10

멀티미디어의 개요

멀티와 미디어의 합성어로 미디어라는 정보를 전달하는 매체

미디어를 2개 이상 사용하여 통신매체를 통해 제3자에게 표현

1.1 멀티미디어의 특징

디지털화 : 문자, 소리, 이미지 등이 디지털 데이터로 처리

쌍방향성 : 정보를 쌍방향으로 받음

통합성 : 단일 미디어 기반이 아니라 여러 종류의 미디어로 통합 전달

비선형성 :선형적이 아니라 사용자의 선택에 따라 자유롭게 전달

1.2 멀티미디어 시스템

하드웨어 : 입력장치, 출력장치, 저장장치, 네트워크장치, 기타장치

 

2. 멀티미디어의 구성 요소

2.1 문자 : 가장 많이 사용하며 주로 키보드로 입력하며 용량이 적음

문자코드 : ASCII, EBCDIC, 유니코드

ASCII : 7비트로 개의 문자 및 숫자를 나타냄 8비트로 확장함

EBCDIC : 개 중에서 150개만 사용 ASCII에 밀림

유니코드 : 국가마다 달라서 정보 공유가 어려워서 나타남 16비트 사용

폰트

비트맵 폰트 : 문자의 모양과 크기를 정의한 폰트로 도트의 패턴인 비트맵으 로 문자를 나타냄 연산이 필요 없다는 장점 확대하면 ㅈㅈ

벡터 폰트 : 외곽선의 벡터를 이용 수학적으로 계산 깨끗하고 좌표값만 저장 하므로 데이터의 양이 적음

문자 기반 문서 파일형식

RTF : 문서 파일 형식 문자뿐 아니라 폰트의 종류 크기 그림 도표 제어 크 기가 크고 처리시간 소요

2.2 사운드 : 공기압의 변화를 파형의 형태로 표현 (가청주파수)

구성요소 : 주파수, 진폭, 음색

주파수 : 1초당 주기의 반복 횟수 Hz 사용 (1Hz = 1초에 1개 파형)

높을수록 고음

진폭 : 파형의 기준선에서 최고점까지의 폭 진폭이 크면 소리도 큼(상쇄)

db(데시벨) 로 읍압의 변화율로 측정

음색 : 파형의 고유 특징 복합음의 형태

 

파일 형식 : WAV, MIDI, MP3, WMA

WAV : 압축 않한 PCM 압축한 ADPCM 모두 지원 PCM은 용량이 커서 효과음이나 짧은 음악에 사용

MIDI : 컴퓨터를 이용하여 악기 연주에 사용, MIDMIDI에서 사용하는
사운드 파일 형식, WAV에 용량이 작고 자연음이나 사람목소리는 재생 불가

MP3 : WAV에 비해 압축 기술이 우수, 음질이 좋음 40MB->3MB

WMA : MP3와 음질은 같지만 용량이 절반 보급률이 늘어나

 

2.3 이미지

표현방식 : 비트맵, 벡터

비트맵 : 픽셀이라 하는 여러 점들이 모여 완성시킴

1개의 픽셀에는 RGB값 저장 이미지 확대 ww

벡터방식 : 점 직선 도형으로 이미지 표현 좋음

 

비교!

 

비트맵은 확대하면 구리지만, 벡터는 아님

비트맵은 해상도 커지면 용량이 커지지만 벡터는 아님

속도는 비트맵이 좋음

 

파일 형식 : BMP, GIF, JPEG, PNG

BMP : 비트맵임

GIF : 256개 컬러만 지원해서 단순색의 그림이 좋아

JPEG :압축 잘됨

손실 압축, 무 손실 압축방식 JPEG2000은 무 손실 압축방식 사용

PNG : JPEG, GIF 장점을 갖고 BMP수준의 해상도 압축 갑, 투명화, 24비트

웹브라우저에서 사용되며 용량이 JPEG, GIF보다 큼

2.4 애니메이션 : 생명을 불어넣는 일

종류 : 플립 북 애니, 셀 애니, 컴퓨터 애니

플립 북 : 책에다 그림 한 장 한 장 그려서 넘김

셀 애니 : 여러 장의 투명용지로 만든 쉘을 겹쳐서 하나의 프레임으로 구성

컴퓨터 애니 : 컴퓨터로 하는 것

 

파일 형식 : GIF, FLA, SWF, DIR, DCR

애니메이티드 GIF : 여러 개의 이미지가 정해진 순서대로 나타남 쉬움

FLA, SWF : FLA는 편집이 가능한 압축안한 플래시 웹에서 보려면 SWF

DIR, DCR : 디렉터를 사용한 것으로 디렉터 플레이어에서만 사용

DCR은 제작된 파일을 쇼크웨이브를 사용하여 볼수 있게함

 

2.5 비디오 : 프레임 단위의 이미지를 초당 24~30장 정도를 연속적으로 보여줌 방대한양

중요한건 시간당 데이터 처리능력(대역폭)

대역폭 : 해상도(가로pixel x 세로pixel) x bit x frame

 

MPEG 표준(압축표준)

MPEG-1 :1.5Mbps로 압축 저장, 비디오 CD, MP3 오디오 압축

MPEG-2 :1을 개선한 것으로 HDTV, DVD, 위선, 유선, 영화 광고

MPEG-3 :고선명도 화질을 얻기 위해서 개발 MPEG-2 흡수 통합됨

MPEG-4 :음성 및 비디오 데이터를 전송, 저장 인코딩과 복원 표준

실제로는 디코딩 과정만 기술

MPEG-7 : 멀티미디어를 빠르고 효율적으로 검색 데이터검색, 전자상거래

MPEG-21 : 모든 규격 환경 포함, 휴대폰, PDA, Tv 유무선 네트워크기기와 멀티미디어 콘텐츠에 적용 가능

 

비디오 파일 형식 : AVI, ASF, MOV, DivX

AVI : 오디오와 비디오를 번갈아가며 저장(윈도우만됨)스트리밍 X

ASF : 윈도우 미디어 도구를 이용 제작 넷쇼에서 사용

MOV : 애플 하드웨어 없이 시청 스트리밍도됨, 플러그인 필요

DivX : DVD 재생 전용 파일 형식

 

3. 멀티미디어의 활용 분야

3.1 디지털 콘텐츠 분야

온라인교육 OCW(open course ware)

영화, 게임, 뮤직비디오

3.2 인터넷 기술 응용 분야 : VOD, 원격진료 서비스

 

4. 멀티미디어 콘텐츠의 관리와 보호기법

4.1 디지털 저작권 관리(DRM Digital Right Management)

복제를 막는 것이 아니라 복제해도 돈

4.2 보호기법 : 암호기법, 워터마킹, 핑거프린팅

암호기법 : 평문을 제3자가 알 수 없도록 암호문으로 변환 전송 (키를 통해 해독)

워터마킹 : 콘텐츠에 저작권 정보와 같은 비밀 정보를 삽입

가시성 워터마킹 : 보임

비가시성 워터마킹 : 안보임 (유행)

핑거프린팅 : 불법복제를 전적으로 막는것이 아니라 재배포 방지

비밀 정보를 콘텐츠에 삽입한다는 점에서는 워터마킹과 같지만, 작권자의 정보가 아닌 사용자의 정보를 담음

ch 11

유비쿼터스 컴퓨팅의 개요

사람, 정보, 공간을 하나로 통합

1.1 유비쿼터스 컴퓨팅의 개념 : 보이지 않는 컴퓨터, 조용한 컴퓨터

보이지 않는 컴퓨터 : 자연스럽게 의식하지 않고 사용

조용한 컴퓨터 : 3의 물결, 센서, 디스플레이, 부품 등을 사물에 내장시켜 연결

1.2 유비쿼터스 컴퓨팅의 특징 : 5C, 5Any

5C : 조용하게(Calm) 협동(Connectivity), 어디서나 컴퓨팅(Computing), 맞춤제공 (Contents), 사람-사물 간 통신(Communication)

5Any : 언제(Any time), 어디서나(Anywhere), 네트워크에 관게없이(Any network),

어떤 단말기도(Any device), 다양한 서비스(Any service)

4가지로 요약 : 네트워크는 항상연결(connectivity)

친화력 인터페이스 보이지않음(invisible)

어디서나 사용(accessibility)

사용자의 상황에 따라 서비스 변함(context)

 

2. 유비쿼터스 컴퓨팅의 종류 : 웨어러블, 노매딕, 퍼베이시브, 감지 컴퓨팅!

2.1 웨어러블 : 악세사리나 의류등에 장착

2.2 노매딕 : 노트북이나 스마트폰처럼 언제 어디서나 외부와 접속할수 있는거 (always connected)

2.3 퍼베이시브 : 모든 사물에 컴퓨터를 심어서 도처에 컴퓨터가 퍼져있음

2.4 감지 컴퓨팅 : 감각기관같은 센서장치를 이용해 정보를 획득하고 처리

탁자에 커피잔 감시하기(인간 중심적)

3.유비쿼터스 컴퓨팅 기반 기술 : RFID, USN

3.1 RFID : 태그가 장착된 상품을 RFID리더가 자동으로 인식하여 재고 현황을 실시간으로 앎

시스템의 구성 : 태그와 리더가 필요

태그에는 안테나와 집적회로(고유 인식정보 기록) 안테나로 송신

리더는 주파수로 원거리도 가능하고 인식률도 높다. 태그정보 변경

동작 원리 : 태그의 칩에 저장된 정보를 리더에 전송, 리더는 해독하여서 GUI방식으 로 상품관리자에게 제공

 

RFID vs BARCODE

바코드는 빛으로 물체를 인식 인식거리가 짧고 주변환경에 영향을 많이받으며 양도 제한되어있고, 정보 수정 재입력 불가능, 오염물질이 없다

 

RFID 시스템의 분류 : 수동형 능동형 반능동(하이브리드)

수동형 : 태그에 전원공급장치가 업어서 리더로부터 전력을 받음

반영구적이며 저렴하고, 인식거리가 짧고 회로가필요(전력)

능동형 : 태그에 배터리가 있어 인식 거리가 길고 기능이 우수

고가고 유지보수가 필요(배터리)

반능동형 : 정보를읽을땐 배터리 통신에는 리더의 전원사용

통신에 사용하는 전파의 주파수에 따른 분류 : 저주파, 고주파, 극초단파, 마이크로파

저주파 : 비금속에 대한 투과성이 높아 주변 환경 영향 덜받음 비싸 속도느려 커

고주파 : 교통카드 시스템 작고 싸고 인식거리 짧고 속도느려

극초단파 : 1m 이상의 중작거리 인식과 고속 전송가능 물류관리

마이크로파 : RIFD 초소형 태그 구성 주파수대역이 블루투스, WIFI 등과 겹쳐 간섭 많아

 

3.2 유비쿼터스 센서 네트워크 USN

구조 : 센서노드가 센서 네트워크에 연결되고 USN라우터로 IP기반 네트워크에 연결

응용서비스는 USN 미들웨어로 BcN IP 기반 접속 네트워크에 연결되어

각각 센서노드의 데이터를 이용, 센서 노드의 데이터는 리더, 싱크노드를

통해 라우터에 전달

요약 : 응용서비스는 센서노드의 데이터를 라우터에서 IP, BcN 거쳐 USN 미들웨어를 통해 수신한 후 사용자에게 USN 응용 서비스를 제공

 

구성요소 : 센서 네트워크, USN 라우터, USN 미들웨어

센서 네트워크 : 센서노드와 싱크노드를 수천개 뿌림

센서노드 : 외부 변화 감지, ADC(아날로그->디지털), 송수신기구성

싱크노드 : 센서노드에서 감지된 데이터를 외부 네트워크로 전달

USN 라우터 : USN 응용 서비스에 제공할 수 있도록 센서네트워크와 외부 네트워크를 연동

USN 미들웨어 : 센서 네트워크의 데이터를 외부네트워크를 통해 수신

추출, 저장, 관리, 검색하여 응용 서비스에 제공

'SW > Computer Architecture' 카테고리의 다른 글

Computer architecture (용어, 상식) 2  (0) 2017.09.05
Computer architecture (용어, 상식)  (0) 2017.09.05

'SW'에 해당되는 글 120건

1 ··· 4 5 6 7 8 9 10 ··· 12 →