본문으로 건너뛰기

· 약 17분

Eloquent ORM을 사용해 데이터를 가져와보자. 이전 포스팅에서 이어진다. (Eloquent ORM 기능만 필요하다면 3.Model부터 보면 된다)

Migration

DBMS에 상관 없이 테이블을 똑같이 생성하기 위한 기능이다.

생성

artisan 명령어로 간단히 생성할 수 있다. 날짜_테이블 형식의 파일이 database/migrations 밑에 생성된다. 이 파일들의 자동 생성된 이름을 절대 변경하지 말자 내부적으로 언더스코어를 explode해 class를 호출하기 때문에 건들면 고생한다.

# 모델을 생성하면서 같이 생성
# m 옵션을 추가한다.
$ php artisan make:model -m 모델명

# 마이그레이션만 생성
$ php artisan make:migration 마이그레이션명

생성 후에 up 메소드 안에 테이블을 꾸며주고 down 메소드에 테이블을 지울 때 실행할 로직을 구현한다. 컬럼 타입을 지정하는 메소드는 여기를 참조하면 된다.

<?php
public function up() {
Schema::create('table_name', function (Blueprint $table) {
$table->increments('idx');
$table->string('id', 20)->unique();
$table->string('name', 30);
$table->string('email', 100)->unique();
$table->string('password', 250);
$table->tinyInteger('tiny')->nullable();
$table->timestamps();
});
}

// 테이블에 외래키 제약조건이 걸려있을 경우 migration으로 일괄 삭제시에
// 오류가 발생하므로, 외래키 체크 옵션을 비활성화 해줘야될 수 도 있다.
public function down() {
DB::statement('SET FOREIGN_KEY_CHECKS = 0');
Schema::dropIfExists('table_name');
DB::statement('SET FOREIGN_KEY_CHECKS = 1');
}

실행

php artisan migrate 명령어로 실행하면 된다.

  • migrate => 전체 실행
  • migrate:refresh => 다시 실행
  • migrate:rollback => 마지막 migrate 시점으로 돌림
  • migrate:reset => 제거

Tinker

이미 데이터가 들어간 테이블이 있어 migrate --path로 한 파일만을 실행해야 하는데, tinker를 사용하면 더 쉽게 해당 마이그레이션을 실행시킬 수 있다. Tinker는 커맨드로 라라벨 쉘(실행환경)으로 들어간다고 생각하면 된다.

# tinker
$ php artisan tinker

# shell로 접속된다.
Psy Shell v0.8.5 (PHP 7.0.7 ??cli) by Justin Hileman
New version is available (current: v0.8.5, latest: v0.8.8)
>>>
# blueprint 의존성을 추가해주고 (Blueprint는 up 메소드에 DI로 들어가 있기에 읽지 못한다.)
$ use Illuminate\Database\Schema\Blueprint;
# 새로 실행하려 했던 스키마를 실행시켜주기만 하면 된다.
$ Schema::create('new_table', function (Blueprint $table) {
$table->increments('idx');
$table->string('id', 20)->unique();
$table->timestamps();
});

DB에 해당 테이블이 생성된 걸 확인할 수 있다.

Seed

Seed는 테이블에 필수 데이터 또는 더미 데이터를 심어주는 과정이다. 테스트에 필요한 데이터를 넣어주는데 아주 효과적이다.

생성

$ php artisan make:seeder 시더명

database/seeds 아래에 파일이 생성된다. 파일을 열어보면 run() 메소드 하나가 있는데, 여기에 시드파일이 호출될 때 실행할 로직을 구현해주면 된다.

database/seeds/BoardSeed.php
<?php
public function run() {
// 모델로 생성하기
Board::create([
'title' => '공지',
'author' => '관리자',
'content' => '공지입니다'
]);
// DB 파사드로 생성하기
DB::table('board')->insert([
'title' => '공지',
'author' => '관리자',
'content' => '공지입니다'
]);
}

Faker

랜덤한 테스트용 데이터가 많이 필요하다면, 가짜(더미) 데이터를 생성해주는 라이브러리를 사용할 수 있다. 링크를 따라가보면 정말 엄청난 종류의 랜덤 데이터를 생성할 수 있음에 놀랄 것이다.

faker를 사용하려면 ModelFactory를 먼저 정의해야한다. 상품 모델을 가져와 가짜 데이터 타입을 정의해보자.

database/factories/ModelFactory.php
<?php
$factory->define(App\Models\Product::class, function(Faker\Generator $faker){
return [
// 메소드는 위의 라이브러리를 참고하자.
// 상품명을 중복되지 않게 city(도시명)으로 가져온다.
'name' => $faker->unique()->city,
// 색상 헥스코드를 가져온다.
'color' => $faker->safeColorName,
// 1000~50000원 사이의 가격을 가져온다.
'price' => $faker->numberBetween(1000, 50000),
// lorempixel의 랜덤 이미지를 가져온다.
'thumbnail' => $faker->imageUrl(200, 100),
'detail_image' => $faker->imageUrl(300, 600),
'qty' => $faker->numberBetween(1, 1000),
'status' => 1,
'owner' => $faker->name,
'sorting' => $faker->numberBetween(1, 9999)
];
});

실행

위에서 선언한 faker 모델을 seed에서 호출해보자.

database/seeds/ProductSeed.php
<?php
public function run() {
// 두번째 인자로 실행시킬 횟수를 넣어주면 된다.
factory(App\Models\Product::class, 100)->create();
}
$ php artisan db:seed

테이블에 상품 더미데이터가 100개 생성된 것을 확인할 수 있다.

Model

모델은 하나의 테이블의 타입을 정해 놓은 것이라 보면 된다. 데이터를 가져오거나 넣을 때 모델에 정의된 형태로 가져온다.

기본 구조

아래 구조 정도만 알아두면 된다. 더 자세한건 Eloquent Model Class를 확인해보자.

app/Models/Board.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;

class Board extends Model {
// 임의의 생성 필드가 있다면 설정해준다. (기본값 created_at)
const CREATED_AT = 'created_dt';
// 사용하지 않을 경우 Null로 초기화해주자. (기본값 updated_at)
const UPDATED_AT = null;
// 둘 다 사용하지 않을 경우 timestamps만 꺼주면 된다. (기본값 true)
public $timestamps = false;
// PK가 auto increment가 아닐경우 false로 바꿔준다. (기본값 true)
public $incrementing = false;

// PK 값을 변경한다. (기본값 id)
protected $primaryKey = 'idx';
// 테이블 명을 변경한다. (기본값 모델명의 복수형)
protected $table = 'board';

// dump insert 및 dump update가 안되는 필드를 설정한다.
protected $guarded = [
'idx'
];

// guarded와 fillable 중 하나만 있으면 된다. (써보니 guarded가 편하더라.)
// dump insert 및 dump update가 가능한 필드를 설정한다.
//protected $fillable = [
// 'title', 'content'
//];

// 노출시키지 않을 필드가 있을 경우
protected $hidden = [
'password'
];
}

Relationship

1:1

hasOne과 belongsTo로 연결한다.

1:n

hasMany와 belongsTo로 연결한다.

n:m

belongsToMany로 연결한다. 처음에 제일 감이 안왔던 Relationship이지만 코드를 보면 이해하기가 쉽다. 주문(Order) - 주문 상품(OrderProduct) - 상품(Product) 테이블이 있다고 가정한다. 각각 시작 - 링크(피벗) - 종료 테이블이다.

<?php App/Models/Order.php

public function product(){
// 마지막으로 연결될 모델명, 링크 테이블 명, 시작->링크를 연결시킬 인덱스, 링크->종료를 연결시킬 인덱스
return $this->belongsToMany('App\Models\Product', 'order_product', 'order_id', 'product_id')
// 링크 테이블의 컬럼을 가져와야할 때
->withPivot(['price', 'quantity']);
}

이렇게 정의하면 뷰에서 order->productforeach로 돌려 product->product_id처럼 접근할 수 있고 product->pivot->price로 pivot 테이블의 데이터도 가져올 수 있다.

1:1:1

이런 관계가 있을 경우에 라라벨에서 관계메소드를 직접 지원하지는 않는다. 억지로 사용하려면, hasOne을 두 번 사용해 연결해야하는데, Select Query를 두 번 날려야 된다는 소리다. (참을 수 없다)

BelongsToThrough trait 패키지를 통해 깔끔하게 해결할 수 있다. 메소드에서 belongsToMany처럼 커스텀 외래키를 사용해야할 경우엔 5번째 파라미터로 [ 클래스 => 키 ] 형식으로 넘겨주면 된다. (여기의 소스를 참고하자)

이슈

ORM의 Join 방식

한 방 쿼리가 불가능하다. 오직 PK를 통해 Select된 데이터들을 다시 PHP 단에서 합쳐서 보여준다. 한 방이 필요할 때는 Database에서 View를 이용하거나 DB 파사드를 써야한다.

Composite Key

라라벨 Eloquent Model에서 복합키를 사용할 수는 없다. 편법으로 trait를 추가할 수 있는데 find 메소드도 overriding 해야 된다.

Timestamps

created_at과 updated_at은 timestamps 형식이라 date_format과 같은 쿼리함수 대신 whereDate 메소드로 연산을 실행해야한다. 물론 DB에 데이터가 들어가기 전 datetime으로 해당 컬럼을 변경해주면 된다. (timestamps의 유효기간은 2035년까지므로.)

Group By

GroupBy를 이용한 쿼리 사용시에 Syntax error or access violation: 1055 'table.column' isn't in GROUP BY라는 오류 메세지가 보이며 실행이 안 되는 경우가 있다. 해당 컬럼으로 GroupBy를 하지 않았는데도 발생한다.

database config의 strict 모드 중 ONLY_FULL_GROUP_BY 모드가 활성화 되어있어서 그런데 이 모드만 제외를 시켜주면 된다.

config/database.php
<?php
'connections' => [
'mysql' => [
// strict 속성을 false로 바꿔준다.
'strict' => false,
// modes 속성을 추가해 기본 strict 옵션을 다시 추가한다.
'modes' => [
'STRICT_TRANS_TABLES'
'NO_ZERO_IN_DATE'
'NO_ZERO_DATE'
'ERROR_FOR_DIVISION_BY_ZERO'
'NO_AUTO_CREATE_USER'
'NO_ENGINE_SUBSTITUTION'
]
],

변경 후 config:cache로 config 파일들을 다시 캐싱해주자.

연동

만든 모델을 선언만 하면 Eloquent Model 메소드Query Builder 메소드를 사용할 수 있다.

CRUD는 다음과 같다.

YourController.php
<?php

use App\Model;

public function test($id) {
// PK로 데이터 1개 반환
Model::find($id);
Model::where('idx', $id)->first();

// 전체 데이터 반환
Model::all();
// 조건 데이터 반환
Model::where()->get();

// Insert
$model = new Model;
$model->column = '추가 값';
$model->column2 = '추가 값2';
$model->save();

// Mass Insert
Model::create([
'column' => '추가 값',
'column2' => '추가 값2'
]);

// Bulk Insert
Model::insert([[
'column' => '추가 값',
'column2' => '추가 값2'
], [
'column' => '추가 값',
'column2' => '추가 값2'
]]);

// Update
$model = Model::find($id);
$model->column = '변경 값';
$model->column2 = '변경 값2';
$model->save();

// Mass Update
Model::where()->update([
'column' => '변경 값',
'column2' => '변경 값2'
]);

// Delete
Model::destory($id);
Model::find($id)->delete();
Model::where()->delete();
}

Collection과 Model의 차이

Model에서 쓸 수 있는 메소드와 Collection에서 쓸 수 있는 메소드가 다르다. Model Class에서 정의하는 관계 메소드들은 Model에서만 사용 가능하다.

  • Collection: Array<Model> 즉 모델의 집합이다.
  • Model: 테이블에서 하나의 행이라고 생각하자.

Paging

모델에서 paginate 메소드를 사용하면, querystring에 page 변수가 붙어 페이징이 된다. (예를들면 /boards?page=1) 라라벨의 기본 페이징은 Bootstrap의 Class를 사용한다.

<?php
// 이렇게 모델을 가지고 왔다면
Model::where()->get();

// get을 paginate로 바꿔주기만 하면 된다. (뿌려지는 list item의 기본값은 15이다.)
Model::where()->paginate(10);

// next와 prev 버튼이 없는 pagination을 구현하고 싶다면
Model::where()->simplePaginate(10);

페이징 뷰를 꾸미고 싶다면 아래 명령어를 실행해 resources/views/vendor/pagination에 view가 생기고 default.blade.php를 수정하면 된다.

$ php artisan vendor:publish --tag=laravel-pagination

ajax pagination

실무에선 Paging 호출을 GET보단 AJAX를 쓰는게 깔끔한데 List View와 ListItem View, Controller 세부분을 모두 변경해줘야한다. 아래 소스는 jQuery를 사용하고 있다고 가정한다. (Frontend Framework를 같이 사용하고 있다면 더 깔끔하게 처리 될 수 있을듯)

Controller

YourController.php
<?php
public function list(Request $request) {
// ajax 요청일 경우에 listitem 뷰 반환
if ($request->ajax()) {
return view('listitem', [
'data' => Model::where()->paginate(10);
]);
// get 요청일 경우에 list 뷰 반환
} else {
return view('list', [
'data' => Model::where()->paginate(10);
])
}
}

List view

list.blade.php
<div id="list">
@include('listitem')
</div>
<script>
var paging_listener = function () {
// 페이지 버튼에 click listener 등록
$('.pagination a').click(function (e) {
// a href 로 페이지가 이동하는걸 방지한다.
e.preventDefault();
get_list($(this).attr('href'));
});
};

var get_list = function (url) {
$.get(url)
.then(function(html) {
$('#list').html(html);
// 페이지가 다시 그려졌으므로 listener를 다시 등록한다.
paging_listener();
});
};

$(function () {
paging_listener();
});
</script>

ListItem view

listitem.blade.php
<ul>
@foreach($data as $item)
<li>{{ $item->name }}</li>
@endforeach
</ul>
// pagination html이 반환되어 자동으로 보여진다.
{{ $data->links() }}

multiple pagination

한 페이지에 여러 리스트가 있는 경우가 종종 있다. 먼저 paginate 메소드를 살펴보자.

<?php
/**
* Paginate the given query into a simple paginator.
*
* @param int $perPage
* @param array $columns
* @param string $pageName
* @param int|null $page
* @return \Illuminate\Contracts\Pagination\LengthAwarePaginator
*/
public function paginate($perPage = 15, $columns = ['*'], $pageName = 'page', $page = null)
  • perPage: 한 페이지에 표시될 Item 수
  • columns: 가져올 컬럼명의 배열
  • pageName: page 변수명 (예를들면 /boards?page=1 에서 page 변수명을 변경 가능)
  • page: 가져올 페이지

Controller

Controller에서 paginate 메소드를 활용해보자.

YourController.php
<?php
public function list(Request $request) {
if ($request->ajax()) {
// list1_page 값이 들어올 경우
if ($request->has('list1_page')) {
// list1_item 뷰에 바인딩해준다.
return view('list1_item', [
'data1' => $this->get_list1()
]);
} else if ($request->has('list2_page')) {
return view('list2_item', [
'data2' => $this->get_list2()
]);
}
}

// 메인 요청
$data1 = $this->get_list1();
$data2 = $this->get_list2();
return view('list', [
'data1' => $data1,
'data2' => $data2
]);
}

protected function get_list1() {
return Model::where()->orderBy()->paginate(5, ['*'], 'list1_page');
}

protected function get_list2() {
return Model::where()->paginate(10, ['*'], 'list2_page');
}

List view

위의 script에서 조금만 수정해주면 된다. (list item view는 위와 동일한 코드의 반복이므로 생략)

list.blade.php
<div id="list1">
@include('list1_item')
</div>
<div id="list2">
@include('list2_item')
</div>

<script>
var paging_listener = function () {
$('.pagination a').click(function (e) {
e.preventDefault();
var page = $(this).attr('href').split('?')[1];
// page.split('=')[0]은 페이지 변수명을 가져온다.
var paging_type = page.split('=')[0] === 'list1_page'
? 'list1'
: 'list2';
get_list($(this).attr('href'), paging_type);
});
};

var get_list = function (url, target) {
$.get(url)
.then(function(html) {
$(`#${target}`).html(html);
paging_listener();
});
};
</script>

여담

이제 DB에서 데이터를 가져오는 것까지 끝났다. 다음 포스팅에서는 User Login을 구현해보자.

· 약 3분

Bower의 시대가 끝났다. 홈페이지를 들어가보면 다음과 같은 문구가 보인다.

..psst! While Bower is maintained, we recommend yarn and webpack for new front-end projects!

Yarn을 사용해보자.

설치

2020년에는 npm 사용을 추천드립니다. 더 이상 느리지 않습니다.

NPM으로 설치할 수도 있는데 추천하는 방법은 Installer이니 다운받고 설치해주면 된다! NPM으로 설치시에는 환경변수 등록을 거쳐야한다.

설치 후 Bash에서 확인해보자.

$ yarn --version
0.24.5

사용법

npm 사용법과 아주 유사하다. 기존 NodeJS 패키지에서 yarn 명령어만을 입력하면 완벽히 호환이 되고, 새로운 프로젝트라면 yarn init 명령어를 실행하면 된다. package.json을 사용하기 때문에 그냥 명령어만 바뀌었다고 생각하면 된다. (패키지들도 npm의 것을 공유한다.)

명령어 비교

install이 add로, uninstall이 remove로, update가 upgrade로 바뀐게 사실상 끝이다. 자세한 옵션은 CLI Docs를 참조하자.

npmYarn
npm installyarn install
(N/A)yarn install --flat
(N/A)yarn install --har
(N/A)yarn install --no-lockfile
(N/A)yarn install --pure-lockfile
npm install [package](N/A)
npm install --save [package]yarn add [package]
npm install --save-dev [package]yarn add [package][--dev/-D]
(N/A)yarn add [package][--peer/-P]
npm install --save-optional [package]yarn add [package][--optional/-O]
npm install --save-exact [package]yarn add [package][--exact/-E]
(N/A)yarn add [package][--tilde/-T]
npm install --global [package]yarn global add [package]
npm update --globalyarn global upgrade
npm rebuildyarn install --force
npm uninstall [package](N/A)
npm uninstall --save [package]yarn remove [package]
npm uninstall --save-dev [package]yarn remove [package]
npm uninstall --save-optional [package]yarn remove [package]
npm cache cleanyarn cache clean
rm -rf node_modules && npm installyarn upgrade

Global 경로

  • Windows: %LOCALAPPDATA%/Yarn/config/global

환경 변수 설정

설정을 확인한 뒤 prefix 경로를 PATH에 추가해주면 된다.

$ yarn config list
{ prefix: 'C:\\Users\\{NAME}\\npm' }

결론

bower_components 안녕 이젠 node_modules만 있겠구나

· 약 4분

API 나 AJAX 응답시에 코드로 날려주는게 표준이기도하고, 편하기도 해서 정리했다. 매번 검색해 쓰는 것도 귀찮고 포스팅마다 의미도 다르고해서.

100

순수하게 정보 제공만을 위한 코드

  • 102 임의의 동작이 백그라운드에서 발생하고 완료까지 시간이 걸린다고 나타낼 때 사용

200

  • 200 Success, OK 성공
  • 201 Created 새로운 리소스 생성
  • 202 Accepted 요청은 성공했으나 처리되지 않음
  • 203 Non-authoritative information 요청이 변형 프록시를 통해 라우팅 되는 경우
  • 204 No Content 요청은 성공했으나 반환되는 내용이 없음
  • 206 Partial Content 페이징된 응답을 위해 사용된다. 헤더가 전송되고 클라이언트가 허용 가능한 범위가 지정되는데 응답이 범위보다 큰 경우, 서버는 처리해야 하는 더 많은 데이터가 있음을 나타내는 이 코드를 응답한다.

300

리다이렉션

  • 301 Moved Permanently 영구적으로 리다이렉트
  • 302 Found 리다이렉트하지만 나중에 바뀔 수 있음, 사용자가 임의의 이유로 일시적인 리다이렉션 수행을 요구하는 것
  • 304 Not Modified 클라이언트에 캐시된 리소스로 요청됨
  • 307 Temporary Redirect
  • 308 Permanent Redirect 자원에 대한 영구적인 리다이렉트를 지정, HTTP 메소드가 자원을 변경하는 것을 허용하지 않는다.

400

클라이언트 오류

  • 400 Bad Request 구문적으로 잘못된 요청
  • 401 Unauthorized 인증 필요 (실제로는 Unauthenticated 의 의미)
  • 403 Forbidden 권한 부족 (실제로는 Unauthorized 의 의미)
  • 404 Not Found
  • 405 Method Not Allowed 메소드가 일치하지 않음
  • 406 Not Acceptable 헤더 또는 내용이 서버에서 받아들일 수 없는 요청
  • 407 Proxy Authentication Required 프록시 인증 필요
  • 408 Request Timeout 요청시간 초과
  • 409 Conflict 기존 리소스와 충돌
  • 410 Gone 리소스가 영원히 사라짐
  • 411 Length Required Content-Length 없음
  • 413 Requested Entity Too Large 내용이 너무 큼 (첨부파일)
  • 414 Requested URL Too Long URL 이 너무 김
  • 422 Unprocessable Entity Validation 오류
  • 429 Too Many Requests 요청 횟수 제한

500

서버 오류

  • 500 Internal Server Error 서버 오류
  • 501 Not Implemented 클라이언트가 아직 구현되지 않은 엔드포인트에 접근하는 경우
  • 502 Bad Gateway 게이트웨이 오류
  • 503 Service Unavailable 일시적인 오류 (터지거나 점검 중)

· 약 3분

컴포저로 패키지를 다운 받은 후에 갑자기 오류가 나면서 다른 설치조차 안되는 경우가 있다. 오류 메세지는 아래 두 경우로 나타난다.

zlib_decode

json 파일 디코딩이 실패했다는 오류이다.

Failed to decode response: zlib_decode(): data error
Retrying with degraded mode, check https://getcomposer.org/doc/articles/troubleshooting.md#degraded-mode for more info

[ErrorException]
zlib_decode(): data error

위의 링크를 따라가 보면 해결책으로 다음과 같이 제시가 되는데 ESET antivirus는 아직 국내에서 쓰는 사람을 못 봤고, IPv6을 막아도 그대로일 것이다.

  • If you are using ESET antivirus, go in "Advanced Settings" and disable "HTTP-scanner" under "web access protection"
  • If you are using IPv6, try disabling it. If that solves your issues, get in touch with your ISP or server host, the problem is not at the Packagist level but in the routing rules between you and Packagist (i.e. the internet at large). The best way to get these fixed is raise awareness to the network engineers that have the power to fix it. Take a look at the next section for IPv6 workarounds.
  • If none of the above helped, please report the error.

content-length mismatch

composer의 패키지 list를 가지고 있는 json파일이 다 안받아졌다는 내용의 오류이다.

[Composer\Downloader\TransportException]
Content-Length mismatch

해결

구글링 해보면 clear-cache를 한 뒤에 composer -vvv 명령어를 사용해 디버깅 로그를 확인해보라는 내용이 주류인데 별 도움은 안 된다. http 연결이아닌 https로 packagist에 붙어보라는 것도 해결되지 않았다.

packagist repository 변경

packagist는 유럽에 있어서 한국에서 유럽까지 갔다가 다시 돌아오는 구조라, packagist 일본 미러를 이용하면 이 문제가 해결된다.

# 이 명령어로 global config에 repos.packagist 를 추가한다.
$ composer config -g repos.packagist composer https://packagist.jp

# 설정이 되었는지 확인한다..
$ composer config -gl|grep repo

# 아래 설정이 보이면 추가가 된 것이다.
[repositories.packagist.org.type] composer
[repositories.packagist.org.url] https://packagist.jp

캐시 제거

$ composer global clear-cache
$ composer clear-cache

이제 다시 패키지를 설치하면 설치가 될 것이다.

다운로드 속도 향상

병렬 다운로드를 가능하게 하는 hirak/prestissimo 패키지를 설치하자. 288s -> 26s 가 되는 마법이 일어난다고 한다.

$ composer global require hirak/prestissimo

· 약 11분

image from hexo

1등이 된지가 14년 7월이다. 이 글은 17년 글이다. 다른 장점이 궁금하다면 다른 포스트나 stackoverflow에서 해결해줄 것 같다.

이 글을 읽어주시는 분들은 Modern PHP에 대해 이해하고 있다고 생각했기 떄문에 문법적인 것들은 설명하지 않을 것이다. 더군다나 라라벨을 도입하면서 삽질한 내용을 정리하고 있기에, 입문용은 절대 아니다. 기본적으로 아래와 같은 PHP 개념을 알고 있어야한다.

  • PSR
  • Composer
  • Class
  • Namespace
  • Closure
  • Trait
  • PDO

추가적으로 이런 걸 사용해 봤다면 더 쉬울 듯하다.

  • Monolog
  • 다른 MVC 프레임워크
  • Lodash

설치

PHP

PHP 7 이상을 설치해주고, 아래 Extension은 웬만하면 열어주는 것들이니 크게 신경쓰지 말자.

  • PHP >= 7.0.0
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension

Composer

Composer 홈페이지에서 다운받고 전역설정만 해주면 된다.

Laravel Cli

Laravel 명령어를 사용할 수 있게 composer로 전역 설치하자.

$ composer global require "laravel/installer"

프로젝트 생성

초기 생성

$ laravel new 프로젝트명

위 명령어를 실행하면, 알아서 composer 패키지까지 설치된다.

clone 했을 때

환경 설정 파일과 프로젝트 키가 없으므로 적절하게 세팅해줘야한다.

# 패키지 의존성 설치
$ composer install

# .env 파일 복사 (설정파일 생성)
# post-root-package-install scripts로 들어가 있긴한데, 복사가 안 되는 경우
$ cp .env.example .env

# 프로젝트 키 생성
$ php artisan key:generate

실행

프로젝트를 실행해보자.

$ php artisan serve

이제 localhost:8000으로 라라벨 프로젝트에 접근이 가능하다.

php artisan 명령어는 laravel에서 사용하는 커맨드 쉘이다. php artisan로 명령어 리스트가 나오고 php artisan help 명령어 로 해당 명령어의 옵션을 볼 수 있다.

프로젝트 구조

라라벨 한글 메뉴얼이나 공식 메뉴얼을 보면 되는데 마치 사전을 펴놓았는데 어떤 단어를 찾는지 까먹은 느낌이 들 것이다.

모든 프레임워크는 Model, View, Controller, Routing만 알면 끝이라는 것을 잠시 기억 속에서 꺼내보고 딱 3가지 경로만 기억하자.

  • Route: routes/
  • Controller: app/Http/Controllers/
  • View : resources/views/

모델은 어딨어? 라고 생각할 것 같은데 Model을 완벽하게 사용하려면 ORM을 써야하고 DB를 ORM에 맞게 정규화해야하며 이 작업은 처음 진행하기에 고통스럽다. 다음 포스트에 진행해보자.

Route

모든 웹 프레임워크의 기본은 Routing이다. routes 폴더에 기본으로 api, channels, console, web 파일이 보이는데 그 중 2가지만 알면 된다.

  • api.php: Token 인증이 필요한 라우터로 /api/{route} 로 접근이 가능하다.
  • web.php: 기본적인 Route이다. GET이 아닌 다른 메소드는 CSRF Token이 있어야만 호출이 가능하다.

Controller

Routing 요청을 처리하는 로직이 들어있는 부분이다.

View

Controller에서 처리된 데이터를 플랫폼에 보여주는 부분이다.

프로젝트 세팅

App 설정

env 파일

.env 파일에서 APP_NAME과 DB로 시작하는 설정을 바꿔준다.

app 파일

config/app.php
<?php
return [
// 시간대 세팅을 한다.
'timezone' => 'Asia/Seoul',
// 언어 설정을 한다.
// fallback_locale은 언어팩이있어야 하므로 아래에서 진행할 laravel-lang 설치 후 바꿔주자.
'locale' => 'ko',
]

database 파일

config/database.php
<?php
return [
'connections' => [
'mysql' => [
// mysql일 경우 utf8로 설정해준다 (maria는 utf8mb4)
// DB 설정과 다르게 Model 이용시 charset 및 collation이 지정되어 들어가기에 꼭 설정해줘야한다.
'charset' => 'utf8',
'collation' => 'utf8_general_ci',
// 내 테이블의 접두사가 필요하다면 여기서 설정한다.
// 예를들어 test_member, test_product 이런식의 테이블 명명규칙이라면 아래처럼 주면된다.
'prefix' => 'test_',
// engine 옵션은 my.ini에서 만져주자..
'engine' => null,
],
];

config 내의 파일과 .env파일을 건드릴 경우 laravel 환경을 다시 캐싱해주거나 아예 삭제해야 적용이 된다. php artisan config:cache 명령어 또는 php artisan config:clear 명령어를 실행해주자.

Debug Bar

정말 멋진 디버깅 툴이다. 간단히 설치 후에 .env 파일의 APP_DEBUG 옵션이 true이면 자동으로 View 하단에 생성된다. 아래와 같은 데이터를 확인할 수 있다.

  • 로그 내역
  • 뷰 데이터 바인딩 확인
  • 오류
  • 라우팅
  • 쿼리 실행
  • 메일 발송 데이터
  • 실행 시간
  • Request

설치

$ composer require barryvdh/laravel-debugbar

laravel-lang

기본 오류 메세지들의 localization 패키지이다.

설치

$ composer require caouecs/laravel-lang:~3.0

적용

vendor/caouecs/laravel-lang/src/{국가} 폴더를 resources/lang/{국가} 로 복사하고 config/app.phpfallback_locale을 {국가}로 바꿔주면 된다.

# 귀찮으니 git bash에서 날려봅시다.
$ cp -r ./vendor/caouecs/laravel-lang/src/ko ./resources/lang/ko

라우팅

routes/web.php
<?php
// url 변수
Route::get('/your_url/{id}', function($id) {
return $id;
});

Route::get('/your_url/{id?}', function($id = null) {
return $id;
});

컨트롤러

생성

artisan 명령어로 간단히 생성할 수 있다.

# make:controller 폴더명/컨트롤러명
$ php artisan make:controller TestController

# 리소스 메소드를 같이 생성
$ php artisan make:controller TestController --resource

연결

routes/web.php
<?php
// 컨트롤러명@메소드명 으로 바로 연결시킬 수 있다.
Route::get('/url/{id}', 'TestController@get');
Route::post('/url', 'TestContoller@post');

// CRUD가 명확한 컨트롤러인 경우 Resource를 사용하는 게 편할 수 있다.
Route::resource('tests', 'TestController');
// only 또는 except로 원하는 resource만 가져갈 수 있다.
Route::resource('tests', 'TestController', [
'only' => [
'index', 'show'
]
]);
app/Http/Controllers/TestController.php
<?php
use Illuminate\Http\Request;

class TestController extends Controller{

public function get($id){

// 뷰를 호출
return view('test.detail', [
'data' => $data
]);
}

public function post(Request $request, $id){
// Request 데이터를 제어할 수 있다.
$input = $request->all();
$name = $request->input('name');

$data = [];

// json body와 201 http code를 반환
return response()->json([
'data' => $data
], 201);
}
}

Resource

리소스 사용시라면 아래와 같은 메소드로 구성되어야한다. 게시판 컨트롤러라면 아래와 같은 구성일 것이다.

메소드경로액션라우트.메소드
GET/boards게시판 메인boards.index
GET/boards/create게시글 생성페이지boards.create
POST/boards게시글 저장boards.store
GET/boards/{id}게시글 상세페이지boards.show
GET/boards/{id}/edit게시글 수정페이지boards.edit
PUT/PATCH/boards/{id}게시글 수정로직boards.update
DELETE/boards/{id}게시글 삭제boards.destroy

블레이드 템플릿을 사용하며 홈페이지 설명이 꽤나 자세하다. 당장 알아야 할건 아래 두 개 정도 뿐이다. 나머지는 그때 그때 문서를 참조하자.

resources/views/test/detail.blade.php
// 바인딩한 데이터를 {{ }} 구문으로 바로 접근할 수 있다.
{{ $data->name }}님의 정보입니다.
resources/views/test/create.blade.php
// post로 전송시
<form method="post" url="/url">
// post로 데이터를 전송시 csrf 토큰이 필요하다.
// 이 헬퍼함수를 호출하면 자동으로 토큰 값이 들어간 input hidden 필드가 생성된다.
{{ csrf_field() }}
이름: <input type="text" name="name" vavlue="">
</form>

// 기타 메소드로 전송시
<form method="post" url="/url">
{{ crsf_field() }}
// PUT, PATCH, DELETE 와 같은 메소드로 전송시 form 태그에서는 지원을 해주지 않으므로 method spoofing이 필요하다.
// 이 헬퍼함수를 호출하면 해결된다.
{{ method_field('PUT')}}
</form>

여담

이제 라라벨을 이용해 데이터를 서버에 보내고 뷰를 구성할 수 있게 되었다. 다음 포스팅에서는 DB 연동과 ORM 모델을 사용해 데이터를 가져오고 페이징 처리를 해보자.

· 약 12분

객체지향 기법

  • 현실 세계의 개체를 기계의 부품처럼 하나의 객체로 만들어 기계적인 부품들을 조립하여 제품을 만들 듯 소프트웨어를 개발할 때도 객체들을 조립해 작성할 수 있도록 하는 기법

객체

  • 데이터와 데이터를 처리하는 함수를 묶어 놓은 하나의 소프트웨어 모듈
  • 데이터: 객체가 가지고 있는 정보
  • 함수: 객체가 수행하는 기능, 객체가 갖는 데이터를 처리하는 알고리즘

클래스

  • 공통된 속성과 연산을 갖는 객체의 집합
  • 객체의 일반적인 타입
  • 각각의 객체들이 갖는 속성과 연산을 정의하고 있는 틀
  • 인스턴스: 클래스에 속한 각각의 객체

메세지

  • 객체들 간에 상호작용을 하는 데 사용되는 수단
  • 객체에게 어떤 행위를 하도록 지시하는 명령 또는 요구사항

객체지향 기본 원칙

캡슐화

  • Encapsulation
  • 데이터와 데이터를 처리하는 함수를 하나로 묶는 것
  • 연관된 데이터와 함수를 함께 묶어 외부와의 경계를 만들고 필요한 인터페이스만을 밖으로 드러내는 과정

정보 은닉

  • Information Hiding
  • 다른 객체에게 자신의 정보를 숨기고 자신의 연산만을 통하여 접근을 허용하는 것
  • 캡슐화에서 가장 중요한 개념

추상화

  • Abstraction
  • 불필요한 부분을 생략하고 객체의 속성 중 가장 중요한 것에만 중점을 두어 개략하는 것
  • 모델화

상속성

  • Inheritance
  • 이미 정의된 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받는 것

다형성

  • Polymorphism
  • 메세지에 의해 객체가 연산을 수행하게 될 때 하나의 메세지에 대해 각 객체가 가지고 있는 고유한 방법으로 응답하는 것

객체지향 생명 주기

계획 및 분석 => 설계 => 구현 => 테스트 및 검증

객체지향 분석

  • OOA = Object Oriented Analysis
  • 사용자의 요구사항을 분석하여 요구된 문제와 관련된 모든 클래스, 이와 연관된 속성과 연산, 그들간의 관계 등을 정의하여 모델링하는 작업

객체지향 설계

  • OOD = Object Oriented Design
  • 객체지향 분석을 사용해 생성한 여러 가지 분석 모델을 설계 모델로 변환하는 작업
  • 시스템 설계와 객체 설계를 수행

문제 정의 => 요구 명세화 => 객체 연산자 정의 => 객체 인터페이스 결정 => 객체 구현

객체지향 구현

  • 설계 단계에서 생성된 설계 모델과 명세서를 근거로 하여 코딩하는 단계
  • 객체 기반 언어: Ada, Actor와 같이 객체의 개념만을 지원
  • 클래스 기반 언어: Clu와 같이 객체와 클래스의 개념을 지원
  • 객체 지향성 언어: 객체, 클래스, 상속의 개념을 모두 지원, Simula, Smalltalk, C++, Objective C, Java

객체지향 프로그래밍

  • OOP = Object Oriented Programming
  • 새로운 개념의 모듈 단위, 즉 객체를 중심으로 하여 프로그램을 개발하는 기법

객체지향 테스트

클래스 테스트

  • 구조적 기법에서의 단위 테스트와 같은 개념
  • 캡슐화된 클래스나 객체를 검사하는 것

통합 테스트

  • 객체 몇 개를 결합하여 하나의 시스템으로 완성시키는 과정에서의 검사
  • 스레드 기반 테스트: 시스템에 대한 하나의 입력이나 이벤트에 응답하는 데 요구되는 클래스들을 통합하는 것
  • 사용 기반 테스트: 독립 클래스를 테스트한 후 독립 클래스를 사용하는 다음 계층의 종속 클래스를 테스트

확인 테스트

  • 사용자 요구사항에 대한 만족 여부를 검사

시스템 테스트

  • 모든 요소들이 적합하게 통합되고 올바른 기능을 수행하는지 검사

아키텍처

IEEE 1471

  • ANSI / IEEE 1471-2000
  • 소프트웨어 집약적인 시스템에서 아키텍처가 표현해야 하는 요소와 내용들, 이들 간의 관계를 규정하고 있는 국제 표준
  • 표준화, 중립성, 유연성, 의사소통

저장소 구조

  • 중앙자료구조와 독립된 컴포넌트로 구성된 아키텍처
  • 큰 데이터의 이동 및 공유에 적합하며 컴포넌트 간 통신은 이뤄지지 않는다.
  • 대량의 데이터를 저장하는데 효과적이다.
  • 컴포넌트의 추가 삭제가 편리하다.
  • 중앙 집중화를 통해 데이터 관리가 용이하고 보안이 뛰어나다.

MVC 구조

  • 애플리케이션을 모델, 뷰, 컨트롤러의 세 개의 컴포넌트로 구분하는 아키텍처
  • 유저 인터페이스와 비지니스 로직들을 서로 분리하여 개발하는 방법
  • 장점
    • 동일한 모델에 대해 다양한 뷰 제공
    • 효율적인 모듈화 가능
    • 모델과 뷰의 구분으로 사용자 인터페이스에 대한 요구 사항을 적용시키는데 용이

모델

  • 애플리케이션의 핵심 기능을 포함
  • 상태 변화시 컨트롤러와 뷰에 전달

  • 정보 표시를 관리
  • 결과물 생성을 위해 모델로부터 정보를 수신

컨트롤러

  • 사용자로부터 입력을 받아 모델과 뷰에 명령을 전달
  • 모델에 명령을 전달해 상태를 변경하고 뷰에 명령을 보내 표시 방법을 변경

클라이언트/서버 구조

  • 클라이언트와 서버로 나뉘는 아키텍처
  • 클라이언트: 사용자로부터 입력을 받아 서버에 요청을 전달
  • 서버: 수신된 요청을 수행하고 데이터의 일관성을 유지
  • 새로운 서버의 추가 및 업그레이드가 용이
  • 데이터가 서버에 집중되어 데이터 관리 용이
  • 서버에 네트워크 트래픽과 데이터가 집중되 처리 비용이 급증할 수 있다.

계층 구조

  • 계층적으로 조직화가 가능한 애플리케이션에 적합한 아키텍처
  • 인접 계층 사이에서만 요청과 응답이 이뤄지며 변경 사항을 적용할 때에도 두 개의 인접 계층에만 영향을 미쳐 원활한 변경이 가능
  • OSI 7 Layer

파이프 필터 구조

  • 데이터의 흐름을 점진적으로 처리하는 시스템을 위한 아키텍처
  • 프로세싱을 위한 시스템이 각 필터에 캡슐화되어 있으며 데이터는 인접 필터 사이의 파이프를 통해 전달되는 형태

서식 문자열

  • %d: 정수형 10진수 입출력
  • %c: 문자 입출력
  • %s: 문자열 입출력
    • %-8.3s: 8칸 확보 후 문자열 왼쪽부터 문자열 3개 출력
  • %f: 소숫점을 포함하는 실수로 입출력
    • 자릿수 없으면 6자리까지 표기
    • %8.3f: 8칸 확보 후 오른쪽부터 정수 표기 후 소숫점은 3자리까지 출력

패딩 비트

  • 양수: Left, Right 모두 0
  • 음수: Left 0, Right 1

연산자 우선순위

  1. 단항
  2. 산술
  3. 시프트
  4. 관계: < <=가 == !=보다 우선
  5. 비트: &(and), ^(xor), |(or) 순서
  6. 논리: &&, || 순서
  7. 삼항연산

xor, 다른면 1 같으면 0

소수 판별

  • N을 2~(N-1)까지 차례대로 나눠 떨어지는지 확인
  • N을 2부터 차례대로 나눠 처음으로 나눠떨어질 때의 나눈 수와 N이 같으면 소수
  • N를 2부터 루트N 까지 숫자로 나눠 떨어지는지 확인

소수의 개수

  • 처음 나온 소수의 배수들은 소수가 아니다

최대공약수, 최소공배수

  • 유클리드 호제법 사용
  • 두 수 중 큰 수와 작은 수를 정한 뒤 큰 수를 작은 수로 나눠 나머지를 구한다.
  • 나머지가 0이면 그 때의 작은 수가 최대공약수
  • 두 수를 곱한 값을 최대공약수로 나눈 값이 최소공배수
  • 나머지가 0이 아니면 작은 수를 큰 수로, 나머지를 작은 수로

약수

  • N을 1부터 N까지 나눠 나머지가 0이 되는 수

소인수 분해

  • N을 2에서 루트N까지 나눠 떨어지는지 확인
  • 나눠 떨어졌다면 그 수는 소인수
  • 나눌때의 몫을 다시 N으로 놓고 2에서 루트 N까지 나눠떨어지는지 확인

10진법에서 2진법

  • 10진수를 2로 나눠 나머지를 구한 후 저장

10진법에서 N진법

  • 10진수를 N진법의 가장 가까운 누승부터 1까지 차례대로 나누는 방법

· 약 3분

170323에 Angular2의 stable 버전이라고 할 수 있는 Angular4가 나왔다. Angular2하고 있었는데 나도 모르는 사이에 버전이 4가 되었나, 1에서 2가 그렇게 많이 바뀌었는데 Angular4는 얼마나 바뀐걸까?

Angular2부터는 npm으로 관리되기에 소스의 버전을 따라서 명명을 해 비롯된 것으로 큰 변경점이 없으니 안심해도 된다.

버전별로 보면 이렇다.

  • Angular1 : 기존 javascript로 코딩하던 \$scope를 사용했던 버전
  • Angular1.x : Component가 도입된 버전
  • Angular2 : 처음으로 ts가 사용되고 새로운 앵귤러가 된 버전
  • Angular3 : 아무도 모르게 사용을 했었다. package.json에서 @angular/router를 보자 3버전대일 것이다.
  • Angular4 : 성능이 개선되었고 모든 Angular 모듈이 4버전

변경점

모든 변경점은 앵귤러 블로그에서 확인할 수 있다.

  • 컴파일시 가벼워졌다.
  • 애니메이션 패키지가 angular/core에서 angular/animation으로 분리되었다.
  • ngIf에서 else 구문을 쓸 수 있다.
  • angular universial의 기능이 angular/platform-server로 통합되었다.
  • typescript 2.1, 2.2버전 호환이 되었다.
  • angular-cli가 1버전으로 업그레이드 되어 1버전의 cli로 프로젝트 생성시 angular4 버전으로 생성이 된다.

업그레이드

# angular 및 typescript
$ npm install @angular/common@latest @angular/compiler@latest @angular/compiler-cli@latest @angular/core@latest @angular/forms@latest @angular/http@latest @angular/platform-browser@latest @angular/platform-browser-dynamic@latest @angular/platform-server@latest @angular/router@latest @angular/animations@latest typescript@latest --save

# zone.js
$ npm install [email protected] --save

# angular-cli
$ npm install @angular/[email protected] --save-dev

충돌

  • angular animation 기능을 사용한다면 platform-browser/animation의 BrowserAnimationsModule을 추가적으로 넣어줘야할 수도 있다.
  • typescript가 업그레이드 되면서 사용하지 않는 메소드나, 오류가 발생할 수 있는 스코프에 대해 linting이 더 강력해진 느낌이었다.

· 약 2분

Single line

var i,
sum = 0;
for (i = 0; i < 10; ++i, sum += i);

console.log(`${i} ${sum}`);

일반적인 형태

var j,
sum2 = 0;
for (j = 0; j < 10; ++j) {
sum2 += j;
}

console.log(`${j} ${sum2}`);

두 예제의 결과는 어떻게 나올까. 첫번째는 10 55, 두번째는 10 45가 나온다.

설명

i 와 j 의 전위 후위 연산은 별로 중요하지 않다. (++i 나 i++이나 결과는 같게 나온다)

Single line

var i,
sum = 0;
// 1 2 3 4
for (i = 0; i < 10; ++i, sum += i);

console.log(`${i} ${sum}`);

일반적인 형태

var j,
sum2 = 0;
// 1 2 4
for (j = 0; j < 10; ++j) {
// 3
sum2 += j;
}

console.log(`${j} ${sum2}`);

안티패턴의 끝

var k,
sum3 = 0;
// 1 2 4 5
for (k = 0; k < 10; ++k, sum3 += k)
// 3
console.log(`${k} ${sum3}`);

연산의 실행 순서가 다르다고 이해하면 되겠다.

· 약 107분

기밀성

  • Confidentiality = 비밀성
  • 시스템 내의 정보와 자원은 인가된 사용자에게만 접근이 허용
  • 정보가 전송 중에 노출되더라도 데이터를 읽을 수 없음

무결성

  • Integrity
  • 정보의 내용이 전송 중에 수정되지 않고 전달되는 것

가용성

  • Availability
  • 인가된 사용자는 언제라도 사용 가능

인증

  • Authentication
  • 정보를 보내오는 사람의 신원을 확인
  • 다중 사용자 컴퓨터 시스템 또는 망 운용 시스템에서 시스템이 단말 작동 개시 정보를 확인하는 보안 절차이다.
  • 인증에는 망을 경유해서 컴퓨터에 접속해 오는 사용자가 등록된 사용자인지 확인하는 것과 전송된 메세지가 변조되거나 의미가 그릇되지 않고 송신자가 보낸 그대로의 것인지를 확인하는 것이 있다.

부인 방지

  • Non Repudiation
  • 데이터를 송수신한 자가 송수신 사실을 부인할 수 없도록 송수신 증거를 제공

접근 통제

  • Access Control
  • 시스템의 자원 이용에 대한 불법적인 접근을 방지하는 과정

보안 위협 유형

가로막기

  • Interruption
  • 데이터의 정상적인 전달을 가로막아서 흐름을 방해하는 행위

가로채기

  • Interception
  • 송신된 데이터가 수신지까지 가는 도중에 몰래 보거나 도청하여 정보를 유출하는 행위

수정

  • Modification
  • 전송된 데이터를 원래의 데이터가 아닌 다른 내용으로 바꾸는 행위

위조

  • Fabrication
  • 마치 다른 송신자로부터 데이터가 송신된 것처럼 꾸미는 행위

개인키 압호화 기법

  • Private Key Encryption = 대칭 암호 기법 = 단일키 암호화 기법
  • DES(Data Encryption Standard)

DES

  • 데이터 암호 표준
  • 대푲거인 비밀키 암호화 기법
  • 56비트의 암복호 키를 사용하여 64비트의 평문을 암복호화
  • IBM에서 개발, 미국방성에 의해 채택
  • Triple DES가 많이 사용됨

공개키 암호화 기법

  • Public Key Encryption = 비대칭 암호 기법
  • RSA(Rivest Shamir Adleman)

순차적 암호화

  • OPE = Order Preserving Encryption
  • DB에서 암호화된 수치 데이터들이 원본 수치 데이터와 동일한 순서로 정렬될 수 있도록 해주는 암호화 기술

공개키 기반 구조

  • PKI = Public Key Infrastructure
  • 공개키 암호 시스템을 안전하게 사용하고 관리하기 위한 정보 보호 표준 방식
  • ITU-T의 X.509 방식과 비X.509 방식으로 구분

프라이버시 강화 기술

  • PET = Privacy Enhancing Technology
  • 개인정보 위험 관리 기술
  • 개인정보를 보호하는 기술에서 사용자가 직접 개인정보를 통제하기 위한 기술까지 다양한 사용자 프라이버시 보호기술을 통칭

Digital Forensics

  • 범죄의 증거로 사용될 수 있는 컴퓨터, 휴대전화, 인터넷 등의 디지털 저장매체에 존재하는 디지털 정보를 수집하는 디지털 수사 과정

DRM

  • Digital Rights Management = 디지털 저작권 관리
  • 데이터의 안전한 배포를 활성화하거나 불법 배포를 방지하여 인터넷이나 기타 디지털 매체를 통해 유통되는 데이터의 저작권을 보호하기 위한 시스템

ONS

  • Object Naming Service
  • 사물에 관한 구체적인 정보가 저장되어 있는 서버의 위치를 알려주는 서비스
  • RFID 태그가 부착된 제품을 리더로 읽으면 제품 초기 제작 정보는 물론 유통 과정에서 저장된 다양한 정보를 파악할 수 있다.

침입 탐지 시스템

  • IDS = Intrusion Detection System
  • 컴퓨터 시스템의 비정상적인 사용, 오용, 남용 등을 실시간으로 탐지하는 시스템

RFID

  • Radio Frequency IDentification = 전파 식별
  • 라디오 주파수 인식 기술
  • IC칩과 무선을 통해 다양한 개체의 정보를 관리할 수 있는 차세대 인식 기술
  • 판독 및 해독 기능을 하는 판독기(Reader)와 정보를 제공하는 태그(Tag)로 구성

저작권

  • Copyright
  • 원저작물의 창작자가 저작물의 사용과 배포에 있어 일반적으로 제한된 시간 동안 배타적 권리를 인정하는 법적인 권리

데이터 유출 방지

  • DLP = Data Leakage/Loss Prevention
  • 내부정보 유출 방지 솔루션
  • 사내 직원이 사용하는 PC와 네트워크상의 모든 정보를 검색하고 사용자의 행위를 탐지, 통제해 외부로의 유출을 사전에 막는다.

CC

  • Common Criteria = 공통 평가 기준
  • 1999년 6월 8일 ISO 15408 표준으로 채택된 정보 보호 제품 평가 기준
  • 정보화 순기능 역할을 보장하기 위해 정보화 제품의 정보보호 기능과 이에 대한 사용 환경 등급을 정한 기준

SSL

  • Secure Sockets Layer
  • 데이터를 송수신하는 두 컴퓨터 사이, 종단 간 즉 TCP/IP 계층과 애플리케이션 계층 사이에 위치하여 인증, 암호화, 무결성을 보장하는 업계 표준 프로토콜

프록시 서버

  • Proxy Server
  • PC 사용자와 인터넷 사이에서 중개자 역할을 하는 서버
  • 방화벽 기능과 캐시 기능을 수행

HDCP

  • High-bandwidth Digital Content Protection = 고대역폭 디지털 콘텐츠 전송 보호
  • 디지털 비주얼 인터페이스(DVI) 송수신간 고대역폭의 비디오 암호화 전송을 보호하기 위한 규격
  • 송신측은 컴퓨터, 세톱, DVD 플레이어 등을 수신측은 LCD, TV, 프로젝터 등을 사용하며 모든 장비는 컨텐츠 보호 기관으로부터 고유의 비밀 장비 키를 부여받는다.

빅 데이터

  • 기존의 관리 방법이나 분석 체계로는 처리하기 어려운 막대한 양의 정형 또는 비정형 데이터 집합

CCL

  • Create Commons License = 저작물 이용 약관
  • 저작원자가 자신의 저작물에 대한 이용방법 및 조건을 표기하는 저작물 이용약관
  • 저작자 표시(BY), 비영리(\$), 변경금지(=), 동일조건변경허락(⊃)의 4가지로 분류

개인정보 영향평가 제도

  • PIA = Privacy Impact Assessment
  • 개인 정보를 활용하는 새로운 정보시스템의 도입 및 기존 정보시스템의 중요한 변경 시 시스템의 구축 운영이 기업의 고객은 물론 국민의 사생활에 미칠 영향에 대해 미리 조사, 분석, 평가하는 제도

목표 복구 시점

  • RPO = Recovery Point Objective
  • 조직에서 발생한 여러 가지 재난 상황
  • IT 시스템이 마비되었을 때 각 업무에 필요한 데이터를 여러 백업 수단을 활용하여 복구할 수 있는 기준점

인터넷 제어 메세지 프로토콜

  • ICMP = Internet Control Message Protocol
  • TCP/IP 기반의 인터넷 통신 서비스에서 인터넷 프로토콜과 조합하여 통신 중에 발생하는 오류의 처리와 전송 경로의 변경 등을 위한 제어 메세지를 취급하는 프로토콜

WEP

  • Wired Equivalent Privacy = 유선급 프라이버시
  • 유선 랜에서 기대할 수 있는 것과 같은 보안과 프라이버시 수준이 제공되는 무선 랜의 보안 프로토콜
  • IEEE WI-FI 표준 802.11b에 기술

WPA

  • WI-FI Protected Access
  • WI-FI에서 제정한 무선랜 인증 및 암호화 관련 표준
  • 암호화는 웹 방식을 보완한 IEEE 802.11i 표준의 임시 키 무결성 프로토콜(TKIP)를 기반으로 하며 인증 부분에서도 802.1x 및 확장 가능 인증 프로토콜(EAP)을 기반으로 상호 인증을 도입해 성능을 높임

IP 보안 프로토콜

  • IPSec = IP security protocol
  • 안전에 취약한 인터넷에서 안전한 통신을 실현하기 위한 통신 규약
  • 인터넷상에 전용 회선과 같이 이용 가능한 가상적인 전용 회선을 구축하여 데이터가 도청당하는 등의 행위를 방지하기 위한 통신 규약

OTP

  • One-Time Password = 일회용 패스워드
  • 로그인 할 때마다 그 세션에서만 사용할 수 있는 1회성 패스워드를 생성하는 보안 시스템
  • 동일한 패스워드가 반복해서 재사용됨으로써 발생할 수 있는 패스워드 도난 문제를 예방하는 것이 목적
  • 일반 패스워드와 달리 단방향 암호 기반의 Hash를 사용

공인인증서

  • Certificate
  • 전자 서명법에 의한 공인 인증 기관이 발행한 인증서

생체 인식

  • Biometrics
  • 사람의 신체적, 행동적 특징을 자동화된 장치로 추출하고 분석하여 정확하게 개인의 신원을 확인하는 기술

I-PIN

  • 인터넷에서 주민등록번호 대신 쓸 수 있도록 만든 사이버 주민등록번호

BCP

  • Business Continuity Planning = 업무 연속성 계획
  • 재난 발생시 비즈니스의 연속성을 유지하기 위한 계획
  • 재해 재난으로 인해 정상적인 운용이 어려운 상황에 처했을 때 데이터 백업과 같은 단순 복구뿐 아니라 고객 서비스의 지속성 보장, 핵심 업무 기능을 지속하는 환경을 조성해 기업 가치를 극대화하는 것

CRL

  • Certificate Revocation List = 인증서 폐기 목록
  • 폐기된 인증서를 이용자들이 확인할 수 있도록 그 목록을 배포, 공표하기 위한 메커니즘
  • 주로 인증기관에서 관리하며 메세지를 전달할 때 인증서와 함께 전달

EPC 클래스

  • Electronic Product Code Class
  • EPCglobal에서 정의하는 RFID 태그의 종류

인증기관

  • Certification Authority
  • 인증 업무를 수행하는 제3자의 신뢰 기관
  • 온라인상에서 사용자 인증, 전자문서 위변조 방지, 부인방지 등의 보안기능을 제공하는 인증서에 대한 발급 갱신 폐지 유효성 등의 검증 업무를 수행

SAM

  • Secure Application Module
  • 카드 판독기 내부에 장착되어 카드와 단말기의 유효성을 인증하고 통신 데이터를 암호화하여 정보의 노출 방지 및 통신 메세지의 인증 및 검증을 하며 또한 카드에서 이전된 전자적인 가치를 저장하기도 한다.

CLMS

  • Copyright License Management System = 저작권라이선스 통합관리시스템
  • 정부가 디지털 저작물에 대한 체계적인 관리를 위해 추진하고 있는 시스템

정부 개인식별 번호

  • Government-Personal IDentification Number
  • 정부가 추진하고 있는 주민등록번호 대체 수단
  • G-PIN

키 페어

  • Key Pair
  • 공개키 암호 알고리즘에 사용되는 개인키와 공개키 쌍을 말한다.

방화벽

  • Firewall
  • 기업이나 조직 내부의 네트워크와 인터넷 간에 전송되는 정보를 선별하여 수용, 거부, 수정하는 능력을 가진 보안 시스템

소프트웨어 에스크로

  • Softwawre Escrow
  • 소프트웨어 개발자의 지식재산권을 보호하고 사용자에게는 저렴한 비용으로 소프트웨어를 안정적으로 사용하고 유지 보수를 받을 수 있도록 하기 위해서 소스 프로그램과 기술 정보 등을 제 3기관에 보관하는 것

마이핀

  • 법적 근거 없는 주민등록번호 수집이 금지되면서 도입된 13자리 무작위 번호
  • 오프라인 상에서 주민번호를 대신한다.

CAPTCHA

  • 자동 계정 생성 방지 기술 = Completely Automated Public Turing test to tell Computers and Humans Apart
  • 웹페이지에서 악의적으로 회원강비을 하거나 스팸 메세지를 보내기 위해 사용되는 프로그램인 봇을 차단하기 위해 만들어졌다.
  • 사람과 컴퓨터를 구분하기 위한 자동화된 시험

지능형 사이버 위협 대응

  • CTI = Cyber Threat Intelligence
  • 조직의 인프라와 지적 재산을 보호하기 위해 과거 조직 내부뿐만 아니라 외부의 다양한 정보들에 기초하여 각종 위협에 대응하는 방법

백업방식

전체 백업

  • 데이터 전체를 대상으로 백업을 수행하는 방식

증분 백업

  • Incremental Backup
  • 백업 대상 데이터 중 변경되거나 증가된 데이터만을 대상으로 백업을 수행하는 방식

Cyber Bullying

  • 사이버 협박
  • 개인이나 집단이 인터넷에서 상대에게 나타내는 적대 행위

DDoS

  • Distributed Denial of Service = 분산 서비스 거부 공격
  • 분산 서비스 거부 공격은 여러 대의 장비를 이용하여 대량의 데이터를 한 곳의 서버에 집중적으로 전송함으로써 특정 서버의 정상적인 기능을 방해하는 것

VoIP 보안 위협

  • VoIP Security Threat
  • 음성 패킷을 불법으로 수집 및 조합해 통화 내용을 재생하고 도청하는 위협

Ransomware

  • 랜섬웨어
  • 인터넷 사용자의 컴퓨터에 잠입해 내부 문서나 파일 등을 임의로 암호화해 사용자가 열지 못하도록 한 후 암호 해독용 프로그램의 전달을 조건으로 사용자에게 돈을 요구

디지털 발자국

  • Digital Footprint
  • 사람들이 온라인 활동을 하면서 남긴 로그인 정보, 결제 정보, 결제 방법, 구매 이력, SNS, Email 등의 다양한 디지털 기록 또는 흔적

워터링 홀

  • Watering Hole
  • 포식자가 사냥을 위해 물 웅덩이에서 매복하고 있는 것을 빗댄 용어
  • 표적으로 삼은 집단이 주로 방문하는 웹 사이트를 감염시켜 피해 대상이 해당 사이트를 방문하는 것을 기다린다.

백도어

  • Back Door = Trap Door
  • 시스템 보안이 제거된 비밀 통로
  • 서비스 기술자나 유지 보수 프로그램 작성자의 액세스 편의를 위해 시스템 설계자가 고의로 만들어 놓은 것

Zero Day Attack

  • 제로 데이 공격
  • 보안 취약점이 발견되었을 때 그 문제가 공표되기 전에 해당 취약점을 악용하여 이루어지는 보안 공격
  • 공격의 신속성을 의미

Smurfing

  • 스머핑
  • IP나 ICMP의 특성을 악용하여 엄청난 양의 데이터를 한 사이트에 집중적으로 보냄으로써 네트워크의 일부를 불능상태로 만드는 공격 방법

Typosquatting

  • 타이포스쿼팅 = URL 하이재킹
  • 네티즌들이 사이트에 접속할 때 주소를 잘못 입력하거나 철자를 빠뜨리는 실수를 이용하기 위해 이와 유사한 유명 도메인을 미리 등록하는 것

핵티비즘

  • Hacktivism
  • 해커와 행동주의(Activism)의 합성어
  • 자신들의 정치적 목적을 달성하기 위한 수단으로 정부나 기업 단체등의 인터넷 웹사이트를 해킹하는 일체 활동

티비싱

  • Tvishing
  • 스마트 TV에 악성 소프트웨어를 설치해 스마트 TV에 대한 최고 접근 권한을 획득하는 해킹 기법

APT

  • Advanced Persistent Threats = 지능형 지속 위협
  • 다양한 IT 기술과 방식들을 이용해 조직적으로 특정 기업이나 조직 네트워크에 침투해 활동 거점을 마련한 뒤 때를 기다리면서 보안을 무력화시키고 정보를 수집한 다음 외부로 빼돌리는 형태의 공격

Pharming

  • 파밍
  • 합법적으로 소유하고 있던 사용자의 도메인을 탈취하거나 DNS 이름을 속여 사용자들이 진짜 사이트로 오인하도록 유도하여 개인 정보를 훔치는 신종 인터넷 사기 수법
  • 아예 해당 사이트가 공식적으로 운영하고 있는 도메인 자체를 탈취

Social Engineering

  • 사회 공학
  • 컴퓨터 보안에 있어 인간 상호작용의 깊은 신뢰를 바탕으로 사람들을 속여 정상 보안 절차를 깨트리기 위한 비기술적 시스템 침입 수단
  • 우선 통신망 보안 정보에 접근 권한이 있는 담당자와 신뢰를 쌓고 전화나 이메일을 통해 그들의 약점과 도움을 이용하는 것

Zeus

  • 사용자의 온라인 뱅킹 계정 정보를 탈취하기 위해 개발된 상용 멀웨어
  • 2007년 러시아에서 개발된 것으로 추정

Botnet

  • 봇넷
  • 악성 프로그램에 감염되어 향후에 악의적인 의도로 사용될 수 있는 다수의 컴퓨터들이 네트워크로 연결된 형태

Zombie

  • 다른 프로그램이나 다른 사용자를 조종하도록 악성코드에 감염된 컴퓨터

Patent Troll

  • 특허 괴물
  • 특허권을 비롯한 지적 재산권을 통해 로열티 수입만으로 이익을 창출하는 특허 관리 전문 기업

악성 소프트웨어

  • Malware = Malicious Software
  • 악의적인 목적을 위해 작성된 것으로 악성 코드 또는 악성 프로그램으로 불린다.

스턱스넷

  • Stuxnet
  • 독일 지멘스사의 원격 감시 제어 시스템의 제어 소프트웨어에 침투하여 시스템을 마비하게 할 목표로 제작된 악성코드
  • 원자력 발전소 제어 시스템에 침투하여 오작동을 유도하는 명령 코드를 입력해 시스템을 마비시킨다.

공격용 툴킷

  • Attack Toolkit
  • 네트워크에 연결된 컴퓨터를 공격하기 위해 악성 코드 프로그램을 모아 놓은 것
  • 대표적인 공격용 툴킷으로는 Zeus와 Sypeye 등이 있다.

Ping of Death

  • 죽음의 핑
  • 인터넷 프로토콜 허용 범위(65536 바이트) 이상의 큰 패킷을 고의로 전송하여 발생한 서비스 거부 공격

Splogger

  • 스플로거
  • 스팸과 블로거의 합성어
  • 다른 사람의 콘텐츠를 무단으로 복사해 자신의 블로그에 게재하는 볼로거

IP 스푸핑

  • IP Spoofing
  • 다른 시스템과의 신뢰관계를 속여 침입하는 크래킹 기술
  • 속이기라는 의미의 스푸핑은 기술적인 요소가 많이 필요한 크래킹 기술

스니핑

  • Sniffing
  • 네트워크의 중간에서 남의 패캣 정보를 도청하는 해킹 유형의 하나로 수동적인 공격에 해당한다.

스위치 재밍

  • Switch Jamming
  • 위조된 MAC 주소를 네트워크 상으로 지속적으로 흘려보내 스위칭 허브와 주소 테이블 기능을 마비시키는 것

스팸

  • 인터넷 상에서 다수의 수신인에게 무작위로 송신된 이메일 메세지를 의미

사이버 스토킹

  • Cyber Stalking
  • 정보통신망을 이용해 악의적인 의도로 지속적으로 공포감이나 불안감 등을 유발하는 행위

피싱

  • Phishing
  • 허위 웹 사이트를 내새워 사용자의 개인 신용 정보를 빼내는 수법

반달리즘

  • Vandalism
  • 다수가 참여할 수 있도록 공개된 문서의 내용을 훼손하거나 엉뚱한 제목으로 변경하고 낙서하는 것

스누핑

  • Snooping
  • 네트워크 상에서 남의 점보를 염탐하여 불법으로 가로채는 행위

다이어 악성코드

  • Dyre Malware
  • 인터넷 뱅킹 정보를 탈취하는 악성코드로 트로이목마의 한 종류

드롭퍼

  • Dropper
  • 정상적인 파일등에 트로이 목마나 웜, 바이러스가 숨겨진 형태를 일컫는다.

메모리 해킹

  • Memory Hacking
  • 컴퓨터 메모리에 있는 데이터를 위변조하는 해킹 방법
  • 정상적인 인터넷 뱅킹 사이트를 이용했음에도 이체거래 과정에서 수취인의 계좌번호를 변조하거나 보안카드의 비밀번호를 빼내어 돈을 빼돌린다.

스미싱

  • Smishing
  • SMS와 Phishing의 합성어

스파이웨어

  • 적절한 사용자 동의 없이 사용자 정보를 수집하는 프로그램 또는 적절한 사용자 동의 없이 설치되어 불편을 야기하거나 사생활을 침해할 수 있는 프로그램

  • Worm
  • 네트워크를 통해 연속적으로 자신을 복제하여 시스템의 부하를 높임으로써 다운시키는 바이러스의 일종

크래킹

  • 어떤 목적을 가지고 타인의 시스템에 불법으로 침입하여 정보를 파괴하거나 정보의 내용을 자신의 이익에 맞게 변경하는 행위

트로이 목마

  • Trojan Horse
  • 정상적인 기능을 하는 프로그램으로 가장하여 프로그램 내에 숨어 있다가 해당 프로그램이 동작할 때 활성화되어 부작용을 일으키는 것
  • 자기 복제 능력은 없다.

해킹

  • Hacking
  • 컴퓨터 시스템에 불법적으로 접근, 침투하여 시스템과 데이터를 파괴하는 행위

혹스

  • Hoax
  • 실제로는 악성코드로 행동하지 않으면서 겉으로는 악성코드인 것처럼 가장하여 행동하는 소프트웨어

VPN

  • Virtual Private Network = 가상 사설 통신망
  • 가상 사설 네트워크로 인터넷 등 통신 사업자의 공중 네트워크를 사용자가 마치 자신의 전용 회선처럼 사용할 수 있게 하는 서비스

무선랜

  • WLAN = Wireless LAN
  • 무선 접속 장치(Access Point)가 설치된 곳을 중심으로 무선 주파수(RF) 기술을 이용해 근거리에서 WLAN 카드가 장착된 개인 휴대 정보 다남ㄹ기를 이용해 인터넷에 연결하는 네트워크

직교 주파수 분할 다중

  • OFDM = Orthogonal Frequency Division Multiplexing
  • 고속의 데이터를 각 반송파가 직교 관계에 잇는 다수의 부반송파에 나눠 실어 다중 전송하는 디지털 변조 방식

FTP

  • File Transfer Protocol = 파일 전송 프로토콜
  • 컴퓨터와 컴퓨터 또는 컴퓨터와 인터넷 사이에서 파일을 주고받을 수 있도록 하는 원격 파일 전송 프로토콜

다중 경로 페이딩

  • Multipath Fading
  • 신호를 전달하는 전파가 통로상의 여러 가지 장애물에 의해 두 개 이상의 경로를 통하여 수신 측에 도달하는 경우, 그 합성 신호가 시공간적으로 강도가 변하는 현상
  • 전자파가 진행되는 경로에 여러 가지 장애물이 있을 경우 반사가 일어나고 반사파는 반사되는 경로에 따라 진폭과 위상이 달라진다.

NDN

  • Named Data Networking
  • 인터넷에서 데이터 전송을 콘텐츠 자체의 정보와 라우터 기능만으로 수행하는 기술
  • 클라이언트와 서버가 패킷의 헤더에 내장되어 있는 주소 정보를 이용하여 연결되던 기존의 IP 망을 대체할 새로운 인터넷 아키텍처로 떠오르고 있다.

원격 검침

  • AMR = Automatic Meter Reading, Remote Meter Reading Service
  • 전기, 가스, 수도 계량기 등을 검침원이 일일이 방문하지 않고 원격에서 단말기를 이용해 검침 데이터를 읽을 수 있는 시스템

NGN

  • Next Generation Network = 차세대 통신망
  • ITU-T에서 개발하고 있는 유선망 기반의 차세대 통신망
  • 유선 접속망 뿐만아니라 이동 사용자 지원까지를 목표로 하며 이동통신에서 제공하는 완전한 이동성 제공을 목표로 개발되고 있다.

GLONASS

  • 미국의 GPS, 유럽의 갈릴레오 위치결정시스템과 유사한 러시아의 전파 위성 항법 시스템
  • FDMA 방식을 사용한다.

MICS

  • Medical Implant Communication Service
  • WBAN의 의료분야에서 임플란트 장치 간의 통신 서비스를 부르는 명칭
  • 인체내 통신으로 감쇄가 적은 주파수 사용이 필요하여 402 ~ 405MHZ를 사용하고 대역폭은 300KHZ로 적어 가용 비트레이트도 적다.

SDN

  • Software Defined Networking = 소프트웨어 정의 네트워킹
  • 네트워크를 컴퓨터처럼 모델링하여 여러 사용자가 각각의 소프트웨어 프로그램들로 네트워킹을 가상화하여 제어하고 관리하는 네트워크

근거리 무선 통신

  • NFC = Near Field Communication
  • 고주파를 이용한 근거리 무선통신 기술
  • Ecma 340, ISO/IEC 18092 표준으로 아주 가까운 거리에서 양방향 통신을 지원하는 RFID 기술의 일종
  • 13.56MHz 주파수를 이용해 10cm 안에서 최고 424Kbps의 속도로 데이터 전송을 지원한다.

SSID

  • Service Set IDentifier = 서비스 세트 식별자
  • 무선랜을 통해 전송되는 모든 패킷의 헤더에 존재하는 고유 식별자
  • 무선랜 클라이언트가 BSS에 접속할 때 각 무선랜을 다른 무선랜과 구분하기 위해 사용한다.

BSS

  • Base Station System
  • 이동 통신에서 기지국을 구성하는 시스템
  • 기지국 제어기와 기지국 트랜시버로 구분됨

QoS

  • Quality of Service = 서비스 품질
  • 네트워크에서 일정 기준 이하의 지연시간이나 데이터 손실률 등을 보증하기 위한 서비스 규격

MODEM

  • 디지털 신호를 아날로그 신호로 변환하는 변조 과정과 아날로그 신호를 디지털 신호로 변환하는 복조 과정을 수행하는 신호 변환 장치

TEIN

  • Trans-Eurasia Information Network = 트랜스 유라시아 네트워크
  • 아시아와 유럽을 연결하는 초고속 정보 통신망

Telepresence

  • 원격 현장감
  • 공간적으로 떨어져 있는 장소 또는 가상의 장소를 신체적으로 경험하는 것
  • 통신 회선으로 컴퓨터를 원격지와 연결하여 구성한 가상현실 공간을 통해 신쳊거으로 가 있지 않은 다른 장소에 존재할 수 있게 하는 것

Carrier Aggregation

  • 반송파 묶음
  • 복수의 주파수 대역을 동시에 사용할 수 있는 대역폭의 확장 기술로 LTEAdvanced의 핵심 기술이다.

네트워크 준비 지수

  • NRI = Networked Readiness Index
  • 세계 경졔 포럼(WEF)이 국제적인 경영대학인 인시아드와 공동으로 개인과 정부, 기업의 정보 통신기술(ICT) 발전도와 경쟁력을 국가별로 평가한 지수

MAN

  • Metropolitan Area Network = 도시권 통신망
  • LAN과 WAN의 중간 형태로 LAN의 기능을 충분히 수용하면서 도시전역 또는 도시와 도시 등 넓은 지역을 연결하는 통신망

VOD

  • Video On Demand = 주문형 비디오
  • 다양한 정보의 데이터베이스를 구축하여 연결된 컴퓨터 또는 텔레비전을 통해 사용자가 요구하는 정보를 원하는 시간에 볼 수 있도록 전송하는 멀티미디어 서비스
  • 프로그램 시청 도중에 일시 정지시키거나 느린 속도로 혹은 반복해서 볼 수도 있는 서비스

SYN

  • SYNchronous idle = 동기 상태 부호
  • 동기 신호방식에서 다른 문자를 보내지 않는 유휴 상태에서 데이터 단말 상호간의 동기를 취하거나, 동기를 유지하기 위한 신호로 사용되는 전송 제어 문자

TCP/IP

  • Transfer Control Protocol/Internet Protocol
  • 인터넷에 연결된 서로 다른 기종의 컴퓨터들 간에 데이터를 주고 받을 수 있도록 하는 표준프로토콜
  • 인트라넷이나 엑스트라넷과 같은 사설망에서도 사용된다.

프로토콜

  • Protocol
  • 네트워크에서 서로 다른 컴퓨터들 간에 정보를 교환할 수 있게 해주는 표준화된 통신 규약
  • 네트워크 기능을 효율적으로 발휘하도록 하기 위한 협정으로 TCP/IP가 대표적이며 통신 연결시 다양한 레벨을 갖는다.

UWB

  • Ultra WideBand = 초광대역
  • 짧은 거리에서 많은 양의 디지털 데이터를 낮은 전력으로 전송하기 위한 무선 기술로 무선 디지털 펄스라고 하며, 블루투스와 비교되는 기술

피코넷

  • PICONET
  • 여러 개의 독립된 통신장치가 블루투스 기술이나 UWB 통신 기술을 사용하여 통신망을 형성하는 무선 네트워크 기술
  • 네트워크를 구성하는 장비 간에 사전에 네트워크의 정의와 계획 없이 상황에 따라 조정 프로토콜에 의하여 마스터와 슬레이브의 역할을 하면서 네트워크를 형성

디지털 우편 소인

  • DPM = Digital PostMark
  • 만국우편연합(UPU)에서 표준화한 온라인 자료에 대한 전자적인 우편배달 서비스
  • 최근에는 EPCM(Electronic Postal Certification Mark)라고 부룬다.

고속 하향 패킷 접속

  • HSDPA = High Speed Downlink Packet Access
  • 비동기식 3세대 이동 통신의 하향 링크에서 10Mbps 수준의 고속 패킷 데이터 서비스를 제공하는 전송 규격
  • 인터넷 통신은 주로 다운로드가 많아 하향 링크의 고속화가 서비스의 필수 요소이며 고속 데이터는 주로 정지 상태에서 사용되므로 이러한 조건을 최대한 수용하도록 하향 링크의 전송 규격을 개선한 것으로 WCDMA R5에 적용되었다.

u-Health

  • ubiquitous-Health = 유헬스
  • 물리적 공간과 네트워크로 연결된 첨단 보건의료 기술의 전자적 공간을 연결하여 보건 의료 대상자의 삶과 진료가 중심이 되도록 하는 것

디저라티

  • Digerati
  • 디지털과 리터라티의 합성어
  • 컴퓨터, 정보 통신 등 디지털 분야의 지식이 많은 사람을 지칭하는 용어

WBAN

  • Wireless Body Area Network
  • 웨어러블 또는 몸에 심는 형태의 센서나 기기를 무선으로 연결하는 개인 영역 네트워킹 기술
  • 무선 센서나 기기로부터 수집한 정보를 휴대폰 또는 간이형 기지국을 통해 병원이나 기타 필요한 곳에 실시간으로 전송함으로써 uHealth 등의 서비스를 받는데 응용할 수 있다.

CTTH

  • Coax To The Home
  • 기존 케이블방송망으로 초고속/대용량 서비스를 제공하는 새로운 전송방식이다.
  • 총 1Gbps 용량을 여러 가입자가 공유하는 구조로 일반 가정에 130Mbps의 빠른 인터넷 속도를 제공한다.

포스트넷

  • PostNet
  • IT 기반 우편물류 통합 정보시스템
  • 우체국 택배와 국제 특송을 강화하기 위해 우편물에 RFID 칩을 달아 언제 어디서나 실시간으로 우편물의 위치를 체크할 수 있는 서비스

지그비

  • ZigBee
  • 저속 전송 속도를 갖는 홈오토메이션 및 데이터 네트워크를 위한 표준 기술
  • 버튼 하나로 하나의 동작을 잡아 집안 어느 곳에서나 전등 제어 및 홈보안 시스템 VCR on/off 등을 할 수 있고 인터넷을 통한 전화 접속으로 홈 오토메이션을 더욱 편리하게 이용하려는 것에서부터 출발한 기술이다.

디지털 접근 지수

  • Digital Access Index
  • 정보통신기술의 접근성과 서비스 이용에 관한 전 세계적 비교 지수

차량 멀티홉 통신

  • VMC = Vehicle Multihop Communication
  • 자동차에 IT기술을 접목해 차량 충돌을 예방하는 기술
  • 자동차와 노면 간 RF(라디오 주파수) 통신을 주고 받아 제한 속도를 넘어서면 자동으로 차량 속도가 감속되는 것은 물룐, 차량 간 통신으로 충돌을 예방하는 기술

LAN

  • Local Area Network = 근거리 통신망
  • 자원 공유를 목적으로 회사, 학교, 연구소 등의 구내에서 사용하는 통신망으로서 직원들이 가장 효과적으로 공동 사용할 수 있도록 연결된 통신망
  • 전송 거리가 짧아 고속 전송이 가능하며 에러 발생률이 낮다.

망중립성

  • Network Neutrality
  • 모든 네트워크 사업자는 모든 콘텐츠를 동등하게 취급하고 어떠한 차별도 하지 않아야 한다는 원칙
  • 망운영의 근본적인 원칙으로 중립성을 보장하기 위해 비차별, 상호 접속, 접근성 등 3가지 원칙이 모든 통신망에 동이랗게 적용되어야한다는 것

GIS

  • Geographic Information System = 지리 정보 시스템
  • 지리적으로 자료를 수집, 저장, 분석, 출력할 수 있는 컴퓨터 응용 시스템
  • 위성을 이용해 모든 사물의 위치 정보를 제공해 주는 것

IT389 전략

  • u-IT839
  • 미래의 정보 기술 시장을 선도하기 위해 정보통신부가 2004년 2월 수립한 IT 성장 전략을 말한다.
  • 유비쿼터스 코리아를 추진하기 위한 운동이다.

USN

  • Ubiquitous Sensor Network = 유비쿼터스 센서 네트워크
  • 각종 센서로 수집한 정보를 무선으로 수집할 수 있도록 구성한 네트워크
  • 필요한 모든 곳에 RFID 태그를 부착하고 이를 통해 사물의 인식 정보는 물론 주변의 환경 정보까지 탐지하여 이를 네트워크에 연결하여 정보를 관리하는 것

ANT+ Protocol

  • Advanced and Network Technology plus protocol
  • 2457MHz 대역에서 동작하는 초저전력 무선 센서 네트워크 프로토콜로 상호 운용성을 보장
  • 매우 적은 전력 소비로 인해 소형 코인 셀 배터리 하나면 몇 년간 동작이 가능하다.
  • 주로 소형 스마트 기기에 사용하여 건강관리나 소형기기 제어에 사용된다.

래드섹 프로토콜

  • RadSec
  • RADIUS(Remote Authentication Dial In User Service) 데이터를 전송 제어 프로토콜이나 전송계층 보안(TLS)을 이용하여 전송하기 위한 프로토콜

위성 기반 보정 시스템

  • SBAS = Satellite-Based Augmentation System
  • 국제 민간항공기구(ICAO)에서 글로벌 항법 위성 시스템(GNSS)의 정확성, 신뢰성, 이용 가능성을 향상시키기 위한 국제 표준 중 하나이다.
  • 정보를 위성으로 보내 사용자들에게 정확한 정보를 보내기 위한 보정 자료로 활용한다.

지상 기반 보정 시스템

  • GBAS = Ground-Based Augmentation System
  • 국제민간항공기구(ICAO)에서 글로벌 항법 위성 시스템(GNSS의 정확성, 신뢰성, 이용 가능성을 향상시키기 위한 국제 표준 중 하나이다.
  • 주로 이착륙하는 항공기에 사용된다.

WebKit

  • 웹키트
  • 웹 브라우저를 만드는 데 기반을 제공하는 레이아웃 엔진
  • Mas OS X의 사파리 웹 브라우저 엔진으로 사용하기 위해 컨커러 브라우저의 KHTML 소프트웨어 라이브러리에서 가져온 것이었으나 최근에는 애플 사파리와 구글 크롬은 물론 블랙베리에서도 브라우저의 엔진으로 사용되고 있다.

Mashup

  • 매시업
  • 웹에서 제공하는 정보 및 서비스를 이용하여 새로운 소프트웨어나 서비스, 데이터베이스 등을 만드는 기술
  • 다수의 정보원이 제공하는 콘텐츠를 조합하여 하나의 서비스로 제공하는 웹 사이트 또는 어플리케이션을 말한다.

VoIP

  • Voice over Internet Protocol
  • 인터넷 프로토콜 상의 음성 전송이란 의미로 인터넷을 통하여 통화할 수 있는 기술
  • 기존에 사용되고 있던 데이터 통신용 패킷망을 인터넷 폰에 이용하는 것
  • 음성 데이터를 인터넷 프로토콜 데이터 패킷으로 변화하여 일반 전화망에서의 통화를 가능하게 해주는 통신 서비스 기술

URL

  • Uniform Resource Locator
  • 인터넷 상에 존재하는 각종 자원이 있는 위치를 나타내는 표준 주소 체계

쿠키

  • Cookie
  • 웹 사이트에서 사용자의 하드디스크에 저장하는 특별한 텍스트 파일
  • 인터넷 사용자에 대한 특정 웹 사이트의 접속 정보를 저장하기 위한 것

IMS

  • IP Multimedia Subsystem
  • 인터넷 프로토콜을 기반으로 음성, 오디오, 비디오 및 데이터 등의 멀티미디어 서비스를 제공하는 규격
  • 기본적으로 범용의 인터넷 기반 기술과 표준화된 네트워크 기능들을 사용함으로써 서비스의 가격 경쟁력 향상과 신속한 서비스 개발 및 변경을 추구한다.

멀티캐스트

  • Multicast
  • 구내 정보 통신망(LAN)이나 인터넷에 접속되어 있는 일부 사용자 내에서 한 사람이 몇 사람에게 정보를 송신하고 그것을 수신한 몇 사람이 같은 내용을 버킷 릴레이식으로 복수의 사람에게 송신함으로써 정보를 전파하는 특정 다수인에 대한 전송

비트코인

  • Bitcoin
  • 온라인에서 사용되는 가상의 디지털 화폐로 2009년에 만들어졌으나 개발자는 분명치 않다.

RIA

  • Rich Internet Application = 리치 인터넷 어플리케이션
  • 플래시 애니메이션 기술과 웹 서버 애플리케이션 기술을 통합하여 기존 HTML보다 역동적이고 인터랙티브한 웹페이지를 제공하는 신개념의 플래시 웹페이지 제작 기술

ISP

  • Internet Service Provider = 인터넷 서비스 제공자
  • 개인이나 회사들에게 인터넷 접속 서비스, 웹 사이트 구축 및 웹 호스팅 서비스 등을 제공하는 회사들을 말한다.

해시태그

  • Hashtag
  • 샵 기호와 특정 단어를 붙여 쓴 것으로 트위터, 페이스북 등 소셜 미디어에서 특정 핵심어를 편리하게 검색할 수 있도록 하는 메타데이터의 한 형태

증강현실

  • Augmented Reality = 혼합현실
  • 실제 촬영한 화면에 가상의 정보를 부가하여 보여주는 기술

CNAME

  • Canonical NAME
  • 호스트 컴퓨터는 웹 접속을 위해 하나의 IP 주소를 가져야 하는데, 이 IP 주소는 DNS가 호스트 컴퓨터의 도메인 이름을 변환하여 생성한다. 그러나 종종 여러 개의 도메인 이름을 동일한 하나의 IP 주소로 변환하여 사용하기도 하는데 이를 CNAME이라고 한다.

HVC (HEVC)

  • High performance Video Coding = 고성능 영상 코딩 = High Efficiency Video Coding
  • ISO/IEC JTC1 MPEG에서 AVC 이후의 표준으로 추진 중인 차세대 비디호 부호화 표준
  • HD 이상의 해상도를 주 대상으로 하는 차세대 비디오 부호화 표준으로 고성능의 압축 효율은 물론 이동성을 보장한다.

Trackback

  • 트랙백
  • 다른 사람의 글을 읽고 그 글에 직접 댓글을 올리는 대신에 내 블로그에 글을 올리고 내 글의 일정 부분이 다른 사람의 댓글로 보이도록 트랙백 핑을 보내는 것을 말한다.

Webaholism

  • 웨바홀리즘 = 인터넷 중독증 = 인터넷 의존증
  • Web과 Alcoholism의 합성어로서 일상생활에 지장을 느낄 정도로 지나치게 인터넷에 몰두하고 인터넷에 접속하지 않으면 불안감을 느끼는 것

IoT

  • Internet of Things = 사물 인터넷
  • 정보 통신 기술을 기반으로 실세계와 가상 세계의 다양한 사물들을 연결하여 진보된 서비스를 제공하기 위한 서비스 기반 시설

RSS

  • Really Simple Syndication = 맞춤형 정보 배달
  • 매우 간편한 정보 배달이라는 의미를 가지며 업데이트가 잦은 사이트의 최신 정보를 쉽게 확인할 수 있게 해주는 기술

M2M

  • Machine to Machine = 사물 통신
  • 무선 통신을 이용한 기계와 기계 사이의 통신
  • 변압기 원격 감시, 전기, 가스 드으이 원격 검침, 무선 신용 카드 조회기, 무선 보안 단말기, 버스 운행 시스템, 위치 추적 시스템, 시설물 관리 등 무선으로 통합하여 상호 작용하는 통신
  • 부호 분할 다중 접속(CDMA), GSM, 무선 데이터 통신 등 다양항 무선 통신망을 사용한다.

도메인 네임

  • Domain Name
  • 숫자로 된 IP 주소를 사람이 이해하기 쉬운 문자 형태로 표현한 것으로 호스트 컴퓨터 이름, 소속 기관 이름, 소속 기관의 종류, 소속 국가명 순으로 구성되며 왼쪽에서 오른쪽으로 갈수록 상위 도메인을 의미한다.

IP

  • Internet Protocol
  • 인터넷 상에서 한 컴퓨터에서 다른 컴퓨터로 데이터를 보내는 방식이나 규약을 말한다.
  • 인터넷 상에서 호스트로 아렬진 각 컴퓨터는 적어도 하나의 IP 주소를 가지고 있다.

SEO

  • Search Engine Optimization = 검색 엔진 최적화
  • 검색 엔진에서 검색했을 때 상위에 나타나도록 관리하는 것

위키피디아

  • Wikipedia
  • 전세계 사람들 누구나 자유롭게 쓸 수 있고 함께 만들어가는 웹 기반의 백과사전
  • 2001년 1월 15일에 지미 웨일스와 래리 생어가 공동으로 세운 비영리 단체인 위키미디어 재단에서 운영

프로튜어

  • Pro-ture; Professional Amateur
  • 프로페셔널과 아마추어의 합성어로 전문가 같은 아마추어를 말한다.
  • 일반 네티즌이 정보 수요자가 아닌 공급 주체로 떠오르면서 적극적으로 자신의 의견을 개진하고 전문가 못지 않은 식견을 가진 사람을 말한다.

IPv6

  • Internet Protocol Version 6
  • 현재 사용하고 있는 IP 주소체계인 IPv4의 주소 부족 문제를 해결하기 위해 개발된 IP 주소 체계의 차세대 버전

애니캐스트

  • Anycast
  • 한 송신자와 인근에 있는 소수 수신자 간의 통신
  • 애니캐스트는 수신자들을 묶어 하나의 그룹으로 나타낸 주소를 사용하여 그룹 내에서 가장 가까운 호스트에게만 전송하는 것
  • 특정 다수에게 전송하는 멀티캐스트나 특정 인에게 전송하는 유니캐스트와 구분된다.

유니캐스트

  • Unicast
  • 메세지 수신 주소를 1개만 지정하는 1:1 통신 형태
  • 네트워크 내의 모든 주소에 동일한 메세지를 보내는 것을 '브로드캐스트', 지정한 복수의 수신 주소에 동일 메세지를 보내는 것을 '멀티캐스트'라 한다.

Semantic Web

  • 시멘틱 웹
  • 컴퓨터가 사람을 대신하여 정보를 읽고 이해하고 가공하여 새로운 정보를 만들어 낼 수 있도록, 이해하기 쉬운 의미를 가진 차세대 지능형 웹
  • 핵심기술로는 웹 자원을 서수랗기 위한 자원 서술 기술, 온톨로지를 통한 지식 서술 기술, 통합적으로 운영하기 위한 에이전트 기술들을 들 수 있다.

메타 데이터

  • Meta Data
  • 일련의 데이터를 정의하고 설명해 주는 데이터이다.
  • 컴퓨터에서는 데이터 사전의 내용, 스키마 등을 의미하고, 하이퍼텍스트 생성언어 문서에서는 메타 태그

집단지성

  • Collective Intelligence
  • 다수의 개체가 서로 협력하거나 경쟁하여 얻게 되는 지적 능력의 결과로 얻어진 집단적 능력
  • 자발적으로 참여하고 다양한 의견을 가진 개인의 지식이 모이면 개별적으로는 미미하게 보이나 집단적으로는 능력 범위를 넘어선 힘을 발휘해 특정 전문가나 기업의 전문 지식보다 더 우수하게 된다는 대중의 지혜를 나타낸 개념

XML

  • eXtensible Markup Language = 확장성 마크업 언어
  • W3C가 채택한 차세대 인터넷 표준 언어로, HTML의 문법이 각 웹브라우저에서 상호 호환적이지 못하다는 문제와 SGML의 복잡함을 해결하기 위하여 개발되었다.

Alt-Text

  • 대체 텍스트
  • 시각 장애인이 웹 사이트에 게시된 이미지를 이해할 수 있도록 설명해 주는 글이나 문구
  • 장애인의 웹 접근성 향상을 위한 대표적인 방법

MMS

  • Multimedia Messaging System = 멀티미디어 메세징 시스템
  • 3세대 이동 통신 서비스의 기본 요소로서 정지영상, 음악, 음성 및 동영상 등의 다양한 형식의 데이터를 주고받을 수 있는 메세징 시스템

블로그

  • 웹과 로그의 합성어로 개인이 관심사에 따라 자유롭게 글을 올릴 수 있는 웹사이트
  • 다양한 형태를 취하는 1인 미디어

IP TV

  • Internet Protocol TV
  • 초고속 인터넷을 이용하여 정보 서비스, 동영상 콘텐츠 및 방송 등을 TV로 제공하는 양방향 서비스
  • 인터넷과 TV의 융합으로 기존의 인터넷 TV와 다른 점이라면 컴퓨터 모니터 대신 TV수상기를 이용하고 마우스 대신 리모컨을 사용한다는 점이다.

WWW

  • World Wide Web = 월드 와이드 웹
  • 텍스트, 그림, 동영상, 음성 등 인터넷에 존재하는 다양한 정보를 거미줄처럼 연결해 놓은 종합정보 서비스

디지털 원주민

  • Digital Native
  • 컴퓨터, 인터넷, 휴대폰 등의 디지털 기술을 어려서부터 사용하면서 성장한 세대

UCC 가이드라인

  • 정부가 제정한 건전한 UCC 생산과 유통 및 이용에 관한 지침서
  • UCC 이용자들을 위한 실천적 가이드라인으로 UCC 이용자의 자율적인 윤리의식을 촉구하는 체크리스트로 이뤄져 있다.

관계기술

  • Relation Technology
  • 상호관계를 이해하는 관계성을 기반으로 하는 새로운 기술 패러다임
  • 기술위주로 발전하는 정보기술에 나와 너, 사람과 사람 등 문화 인문학 등의 논리위주의 관계기술이 접목되어야 한다는 점을 강조하며 이어령 이화여대 명예교수가 만들어 낸 신조어

사용자 제작 콘텐츠

  • UCC = User Created Contents
  • 인터넷 사업자나 콘텐츠 공급자가 아닌 일반 사용자들이 직접 만들어 유통되는 콘텐츠

웹 2.0

  • 제공된 데이터를 활용하여 사용자가 정보 생성에 참여하고 가치를 부여함으로써 누구나 다양한 신규 서비스를 생산해 낼 수 있는 플랫폼으로서의 웹 환경

태그달기

  • 꼬리표 달기 = Tagging
  • 콘텐츠의 내용을 대표할 수 있는 검색용 꼬리표인 키워드, 또는 태그를 다는 것
  • 글을 올린 사람이나 사이트 관리자가 글이나 이미지를 관련된 주제나 카테고리의 형태로 분류될 수 있도록 키워드 처리를 해주는 것

퀵돔

  • Quickdom
  • 영어의 Quick과 Domain이 결합된 합성어로 2단계 영문 kr도메인의 브랜드명
  • 짧은 형태의 도메인으로 기억하기 쉽고 주소창에 입력하기도 간편하다.

표면 웹

  • Suface Web
  • 네이버, 구글, 다음과 같이 일반적인 검색엔진으로 검색이 가능한 콘텐츠의 인터넷 환경
  • 반대는 Deep web

인터넷 연동

  • Internet eXchange
  • 인터넷 서비스 제공자 상호간에 트래픽을 원활하게 소통시키기 위해 구축한 네트워크간 연동 서비스
  • 네트워크 서비스에 대한 수요가 큰 콘텐츠 전송망(CDN) 서버와 네이버, 다음카카오 등과 같은 포털 서버의 회선에 직접 연결되어 개별 ISP 들의 경제적 부담을 완화해 서비스 품질의 향상을 기대할 수 있다.

협대역 사물 인터넷

  • NB-IoT = NarrowBand-Internet of Things
  • 사물인터넷을 위해 설꼐된 협대역 무선 기술을 의미
  • 200KHz 미만의 협대역 주파수를 사용하며 기존의 이동통시남ㅇ인 GSM과 LTE망을 사용하므로 초기 비용이 적다는 것과 저전력, 긴 수명, 많은 수의 기기들을 커버할 수 있다는 것이 특징

VHT

  • Very High Throughput
  • IEEE에서 802.11n 후속으로 진행하고 있는 표준안
  • 2배 이상의 전송속도인 1Gbps 이상을 지원하여 압축되지 않은 HD 동영상의 전송을 가능하게 하며 802.11n과 비교할 때 개선된 커버리지와 전력 소모 기능을 갖고, 기존 무선랜 사양들에 대한 하위 호환성을 지원할 수 있다.

시공간 송신 다이버시티

  • STTD = Space Time Transmit Diversity
  • WCDMA 시스템에 적용하는 송신 다이버시티 방식
  • 송신 안테나 두 개, 수신 안테나 한 개를 사용하며 송신 심벌들을 일정 블록 단위로 순서를 뒤집어서 양쪽으로 송신하여 공간 다이버시티와 시간 다이버시티 이점을 동시에 얻는다.

기가 파이

  • Giga Fi
  • 60GHz 대역을 이용해 데이터를 기가급으로 전송할 수 있는 기술
  • 전 세계적으로 비 허가 대역인 57~64GHz 범위의 주파스를 이용하여 넓은 대역폭의 높은 데이터 전송률(3Gbps)을 얻을 수 있다.
  • 전파 거리가 짧고 직진성이 강해 주변 간섭에 매우 강하고 보안성이 뛰어나며 주파수 재사용도 용이하다.

클라우드 컴퓨팅

  • Cloud Computing
  • 각종 컴퓨팅 자원을 중앙 컴퓨터에 두고 인터넷 기능을 갖는 모든 단말로 언제 어디서나 인터넷을 통해 컴퓨터 작업을 수행할 수 있는 환경을 의미

마그네틱 안전 전송

  • MST = Magnetic Secure Tansmission
  • 2015년 2월 삼성전자가 인수한 미국기업 LoopPay사가 개발한 기술로 안테나가 내장된 휴대폰을 마그네틱 결제 단말기에 근접시켜 신용카드 정보를 전송하는 기술

WiFi

  • Wireless-Fidelity = 와이파이
  • 2.4GHz대를 사용하는 무선랜 규격(IEEE 802.11b)에서 정한 제반 규정에 적합한 제품에 주어지는 인증 마크

N-Screen

  • 앤스크린
  • N개의 서로 다른 단말기에서 동일한 콘텐츠를 자유롭게 이용할 수 있는 것
  • PC, TV, 휴대폰에서 동일한 콘텐츠를 끊김 없이 이용할 수 있는 것은 물론 사용자가 가지고 있는 여러 대의 단말기에서도 동일한 콘텐츠를 끊김 없이 이용하는 것을 말한다.

신 클라이언트

  • Thin Client PC
  • 하드디스크나 주변 장치 없이 기본적인 메모리만 갖추고 서버와 네트워크로 운용되는 개인용 컴퓨터를 의미
  • 서버 기반 컴퓨팅과 관계가 깊다.
  • 클라이언트는 프로그램이 필요할 때마다 서버에 접속하여 소프트웨어를 내려받기만 하면 되며, 기억장치 없이 서버 측에서 데이터를 한꺼번에 관리한다.

Phablet

  • 패블릿
  • 폰과 태블릿의 합성어
  • 태블릿 기능을 포함한 5인치 이상의 대화면 스마트폰

ACN

  • AP Centric Network
  • AP가 내장된 단말기로 구성된 네트워크
  • 스마트폰 같은 모방리 단말의 확산으로 트래픽이 빠르게 증가하고 있지만 모바일용 인프라는 이에 대응하지 못하고 있어 4G 네트워크가 구축되기 이전에 와이파이 공유 모델을 기반으로 하는 ACN 기술 실용화를 추진하고 있다.

BYOD

  • Bring Your Own Device = 브링 유어 오운 디바이스
  • 개인 소유 단말기를 업무에 사용하는 환경
  • 모바일 단말을 이용하기 때문에 보안에 취약하다.

LTE

  • Long Term Evolution = 미래 장기 진화
  • 3GPP 진영에서 추진하고 있는 3세대 이동 통신(3G) 방식인 광대역 부호분할다중접속(W-CDMA)이 진화한 기술로 유력한 4세대 이동 통신(4G) 후보 기술이다.
  • 데이터 전송 효율 향상, 효율적인 주파수 자원 이용, 이동성, 낮은 지연 시간, 패킷 데이터 전송에 최적화 된 기술과 서비스 품질 보장 등을 제공하는 차세대 이동 통신 기술

스마트폰

  • Smart Phone
  • 피처폰에 비해 진보한 연산능력과 접속성을 겸비한 모바일 운영체제를 기반으로 하는 이동 전화

펨토셀 기지국

  • Femtocell Bas Station
  • 사무실이나 집에 설치하는 초소형 이동 통신 기지국
  • 건물이나 지하의 작은 지역(30~50m)에 서비스하려고 설치하는 소출력 초소형 이동 통신 기지국

개인환경서비스

  • PES = Personal Environment Service
  • 사용자에게 최적화된 생활 환경을 제공하는 서비스
  • 사용자가 휴대전화를 가지고 가정과 사무실, 차량, 공공장소를 이동하면, 휴대전화가 주변의 각종 생활 기기들을 자동으로 인식하고 제어하여 사용자 개인에게 최적화된 생활 환경을 제공

모바일 컴퓨팅

  • Mobile Computing
  • 휴대형 기기로 이동하면서 자유로이 네트워크에 접속하여 업무를 처리할 수 있는 환경
  • 모바일 컴퓨팅의 진화는 휴대 기기와 네트워크 기술의 진화로도 가능하다.
  • 휴대기기는 소형 대용량화와 저전력화가 진행중이고 네트워크 기술도 무선으로 고속/대용량의 정보를 처리할 수 있는 기술이 사용화되고 있다.

넷북

  • Netbook
  • 휴대형 미니 노트북 컴퓨터로서 인터넷, 문서작업, 이메일 등 컴퓨터의 기본적인 기능을 수행하면서 이동성을 갖도록 제작된 것

SCO

  • Synchronous Connection Oriented link = 동기식 접속 지향 링크
  • 블루투스 데이터 링크의 하나로 두 장비 간에 음성과 같이 지정된 대역폭 통신을 위한 전용 회선의 동기식 접속 방법
  • 음성 데이터인 SCO 패킷 전송에 사용된다.
  • CRC도 재전송도 하지 않는다.

App Store

  • 애플사가 개발한 모바일용 온라인 소프트웨어 장터

AP

  • Access Point = 무선 접속장치
  • 무선 랜과 유선 랜을 연결시켜주는 장비
  • 전파 도달 거리 내의 무선 랜 카드를 사용하는 컴퓨터나 무선 기기들이 자유롭게 통신할 수 있도록 한다.

범용 가입자 식별 모듈

  • USIM = Universal Subscriber Identity Module
  • 사용자의 인증을 목적으로 휴대전화 사용자의 개인 정보를 저장하는 모듈로서 스마트 카드(USIM) 카드로 제작된다.

m-커머스

  • mobile Commerce = 모바일 상거래
  • m-커머스는 전자상거래의 일종으로 가정이나 사무실에서 유선으로 인터넷에 연결하여 물건을 사고 파는 것과 달리 이동중에 이동 전화기나 무선 인터넷 정보 단말기 등을 이용해 은행 업부, 지물 업무, 티켓 업무와 같은 서비스를 하는 것

유비쿼터스

  • Ubiquitous
  • 컴퓨터가 특정한 장소에 설치되어 있어야 하는 것이 아니라 우리 생활에서 사용되는 모든 사물에 컴퓨터 기능을 내장하고 이들을 무선 네트워크로 연결하여 인간이 필요로 하는 정보를 제공받을 수 있는 환경을 의미

촉각 기술

  • Haptic Technology
  • 진동의 장단과 고저를 이용하여 다양한 종류의 진동 기호를 만드는 기술
  • 휴대폰에 적용할 경우 간단한 메세지는 휴대폰에서 느껴지는 진동 기호로 충분히 표현 가능하다.

WCDMA

  • Wide-band CDMA = 광대역 부호 분할 다중 접속
  • 가장 많은 국가들이 채택하고 있는 제 3세대 이동통신 시스템
  • 멀티미디어 전송을 목적으로 개발되었으며 동영상 파일을 다운로드하면서 실시간으로 재생까지 할 수 있는 VOD 스트리밍, 휴대폰으로 동영상 멀티미디어 메세지를 주고받을 수 있는 MMS가 가능하다.

WiBrO

  • Wireless Broadband = 와이브로
  • 무선 광대역을 의미하는 것으로 휴대폰 노트북, PDA 등의 휴대 인터넷 단말장치를 이용하여 언제 어디서나 이동하면서 고속으로 무선 인터넷 접속이 가능한 서비스

펨토셀

  • Femto Cell
  • 1000조분의 1을 뜻하는 펨토와 이동통신에서 1개 기지국이 담당하는 서비스 구역 단위를 뜻하는 셀을 합친 이름으로 기존 이동통신 서비스 반경보다 훨씬 작은 지역을 커버하는 시스템
  • DSL 모뎀처럼 생긴 초소형 기지국을 가정 내 유선 IP망에 연결해 휴대폰으로 유무선 통신을 자유롭게 사용할 수 있게 해준다.

WIPI

  • Wireless Internet Platform for Interoperability = 위피
  • 한국형 무선 인터넷 플랫폼 표준 규격
  • 이동통신 업체들이 같은 플랫폼을 사용하도록 함으로써 국가적 낭비를 줄이자는 취지로 2001년부터 국책사업으로 추진되기 시작하였다.

GPS

  • Global Positioning System = 위성 위치 확인 시스템
  • 지구상의 위치 선정 시스템이란 의미
  • 지구를 도는 인공위성이 현재의 위치를 시시각각 알려주는 시스템

텔레매틱스

  • Telematics
  • 통신(telecommuncation)과 정보(Informatics)의 합성어
  • 자동차와 무선통신을 결합한 새로운 개념의 차량 무선 인터넷 서비스

IMT-2000

  • International Mobile Telecommunication-2000
  • 이동통신의 문제점인 지역적 한계와 고속 전송에 대한 기술적 한계를 극복하고 나라마다 다른 이동통신 방식을 통일하여 한 대의 휴대용 전화기로 전 세계 어디서나 통화할 수 있도록 만들려는 규격

스마트 플러그

  • Smart Plug
  • 와이파이나 스마트폰 등의 스마트 기능을 추가한 플러그
  • 스마트 프럴그를 설치하여 원격에서 전기를 켜거나 끄는 것은 물론 전기 사용량을 감시할 수 있어 가정이나 사무실의 전기 과열이나 불필요한 전기의 사용을 억제할 수 있다.

앱북

  • 스마트폰, 태플릿, 개인용 컴퓨터 등 단말 기기에서 별도의 애플리케이션으로 실행되는 전자책

모바일 광개토 플랜

  • 방통위가 2011년 국내 모바일 광대역을 위해 2020년까지 이동통신용으로 600MHz 대역폭을 추가로 확보하기 위해 내놓은 계획

범용 통합 플랫폼

  • Universal Integration Platform
  • 다양해진 웹 브라우저와 스마트폰 및 모바일 기기로 인해 기업용 애플리케이션의 개발, 운영에 많은 비용과 시간이 소모되기 시작하자 자원의 소비를 완화하고 개발자에게 다양한 플랫폼을 제공하기 위해 만들어진 서비스

서비스형 백엔드

  • BaaS = Backend As A Service
  • 웹 및 앱 개발자들을 위한 클라우드 서비스
  • 웹 앱 개발을 위한 응용 프로그램 인터페이스를 제공한다.

와이파이 오프로딩

  • Wi-Fi Offloading
  • 이동 통신의 급증하는 데이터 트래픽을 와이파이 망으로 분산시키는 방법

지오로케이션

  • Geolocation
  • 인터넷에 연결된 모바일 또는 컴퓨터 등의 지리적 위치 정보를 말한다.
  • 웹 애플리케이션에서는 HTML5에서 지원하는 지오로케이션 응용 프로그래밍 인터페이스를 이용하여 사용자의 위치 정보를 파악, 이를 기반으로 길 안내, 주변 편의 시설, 맛집, 병원 등의 유용한 정보를 제공해준다.

피에스-엘티이

  • PS-LTE = Public Safety-LTE
  • 영상, 고해상도 사진 등 멀티미디어 정보를 이용하여 공공 안전 통신망을 구축하는 전국 규모의 광대역 LTE 기술

앱 중립성

  • App Neutrality
  • 스마트폰과 같은 모바일 기기에서 사용되는 앱이 모바일 운영체제의 종류에 구애받지 않고 실행할 수 있는 성질로 앱 융통성이라고도 한다.
  • 모방리 OS 종류에 상관없이 어떠한 모바일에서도 앱 콘텐츠를 사용할 수 있어야 됨을 의미한다.

인터클라우드 컴퓨팅

  • Inter-cloud Computing
  • 각기 다른 클라우드 서비스를 연동 및 컴퓨팅 자원의 동적 할당을 가능하게 하기위해 여러 클라우드 서비스 제공자들이 제공하는 클라우드 서비스나 자원을 연결하는 기술

케듀롬

  • Keduroam
  • 2013년 3월부터 국공립 대학 정보기관 협의회에서 운영하는 무선랜 공동 사용 서비스
  • 국제적인 연구 및 교육 커뮤니티를 위해 개발된 무선랜 로밍 서비스인 에듀롬을 본떠 만들었다.

호스트 카드 에뮬레이션

  • HCE = Host Card Emulation
  • 스마트폰 등의 모바일 기기에서 유심 칩과 같은 물리적 보안 요소를 사용하지 않고, 앱을 이용해 NFC 결제 단말과 연결하여 모바일 결제 서비스를 제공하는 근거리 무선통신(NFC) 기술

Wearable Technology

  • 착용 기술
  • 사용자가 IT 기기를 몸에 착용할 수 있도록 하는 기술
  • 일상적으로 사용되는 용품이나 사용자의 피부에 IT 기술을 접목시켜 사용자가 언제 어디선든 컴퓨팅 환경을 제공받을 수 있도록 한다.

디지털 메시

  • 시장조사 전문기관인 가트너가 2016년에 주목받을 전략기술 중 하나로 언급하면서 탄생한 것
  • 서로 다른 성격의 기기들을 연결하여 그물같은 형태를 이루는 것

올조인

  • AllJoyn
  • 표준화된 오픈소스 기반의 사물인터넷 플랫폼
  • 리눅스 재단이 사물인터넷 확산을 위해 설립한 컨소시엄인 올신얼라이선스에 의해 제공된다.
  • 서로 다른 운영체제나 하드웨어를 사용하는 기기들이 표준화된 프랤폼인 올조인을 이용함으로서 서로 통신 및 제어가 가능하게 된다.

와이파이 헤일로

  • Wi-Fi HaLow
  • 1GHz 이하의 저주파 대역을 사용하는 와이파이 규격
  • 2.4GHz 혹은 5GHz 주파수 대역을 사용하는 일반 와이파이에 비해 전송 거리가 약 1Km 정도로 장거리 전송이 가능하다.

용도 자유 대역

  • K-ICT Free Band
  • 향후 출현 가능한 다양한 정보통신기술과 사물인터넷 서비스 등의 수요에 유연하게 대응하기 위해 추진한 주파수 정책
  • 2015년 11월 11일 고시
  • 262~264MHz는 원격검침, 스마트홈 등의 IoT 서비스
  • 24~27GHz는 소출력 레이더, 5G 이동통신용 등
  • 64~66GHz는 대용량 전송, 고해상도 레이더 등
  • 122~123GHz, 244~246GHz는 향후 기술발전에 따른 소출력 기기를 위한 용도

서비스 수준 협약

  • Service Level Agreement
  • 서비스 사업자와 서비스 사용자가 제공될 정보 서비스 및 그와 연관된 여러 조건들에 대한 서로의 책임과 의무 사항을 기술해 놓은 협약서
  • 서비스 산업자와 서비스 사용자 간의 합의를 통하여 서비스 시간, 서비스 가용성, 성능, 복구 등 다양한 항목에 대해 최소한의 서비스를 제공하기로 사전에 협약을 맺는다.

PAD

  • Program Associated Data = 프로그램 연동 정보
  • 전송되고 있는 프로그램의 내용과 부가적인 정보를 설명하기 위해 관련 정보를 제공하는 것
  • 방송에 관련된 개념

LBS

  • Location-Based Services = 위치 중심 서비스
  • 이동통신망을 기반으로 사람이나 사물의 위치를 정확하게 파악하고 이를 활용하는 응용 시스템 및 서비스를 말한다.
  • 휴대폰이나 PDA 등의 장치를 통해 활용되며 이동통신망과 IT 기술이 종합적으로 활용된다.

디지털 프로슈머

  • Digital Prosumer
  • 인터넷 커뮤니티에 참여해 콘텐츠를 즐기고 정보와 자료를 얻는 소비자이면서 동시에 의견을 적극 개진해 생산에도 영향을 미치는 사람

위치 기반 소셜 네트워크 서비스

  • LBSNS = Location Based Social Network Service
  • 위치 기반 서비스(LBS)에 소셜 네트워크 서비스(SNS)를 결합한 서비스를 뜻한다.
  • 위치 기반 서비스는 이동 중인 사용자에게 무선이나 유선통신으로 쉽고 빠르게 사용자 위치와 고나련된 여러 정보를 제공하는 서비스인데 이를 소셜네트워크 서비스와 결합한 서비스이다.

하둡

  • Hadoop
  • 오픈 소스를 기반으로 한 분산 컴퓨팅 플랫폼
  • 일반 PC급 컴퓨터들로 가상화된 대형 스토리지를 형성하고 그 안에 보관된 거대한 데이터 세트를 병렬로 처리할 수 있도록 개발된 자바 소프트웨어 프레임워크

4K 해상도

  • 차세대 고화질 모니터 해상도를 지칭하는 용어
  • 4K 해상도는 가로 픽셀 수가 3840이고 세로 픽셀 수가 2160인 영상의 해상도를 말하는데 이는 Full HDTV(1920X1080)의 가로 2배, 세로 2배 총 4배에 해당하는 초고화질 영상

Nomophobia

  • 노모포비아
  • 스마트폰이 곁에 없을 때 불안감과 두려움을 느끼는 증상

Social Dining

  • SNS를 통해 관심사가 비슷한 사람끼리 모여서 식사하며 관계를 형성하는 모임

금융기술

  • FinTech
  • Financial과 Technique의 합성어로 이동 통신과 인터넷 기술을 금융 산업과 접목시킨 서비스

코드커터족

  • Cordcutters
  • 지상파와 케이블 등 기존 텔레비전 방송 서비스를 해지하고 인터넷 방송 서비스를 선택하는 소비자군
  • 어릴 때 부터 인터넷으로 동영상을 보는 데 익숙하고 방송 프로그램을 수동적으로 시청하는 데 싫증을 느낀 20~30대가 주류를 이룬다.

포직스

  • Posix = Portable Operating System Interface for Computer Environment
  • 유닉스를 기반으로 한 표준 운영체제 인터페이스
  • IEEE 산하 P1003 기술 위원회에서 작성한 표준 규격
  • 유닉스 사용자 그룹이 유닉스를 기반으로 표준화 작업을 시작하였으나 IEEE가 ANSI 표준으로 제정하기 위해 인계하여 추진하게 되었다.

Foursqure

  • 포스퀘어
  • 모바일 기기에 특화된 위치 기반 소셜 네트워크 서비스
  • 사용자가 자신이 방문한 장소를 체크인한 후 그곳에 대한 평가나 추천 내용을 공유하면 이에 대한 보상으로 배지를 받게 되는데 체크인 횟수가 높아질수록 높은 지위의 배지를 받게 된다.

Infodemics

  • 인포데믹스
  • 정보(Information)와 전염병(Epidemics)의 합성어로 정보 확산으로 인한 각종 부작용
  • 추측이나 루머가 결합된 부정확한 정보가 인터넷이나 휴대전화를 통해 전염병과 같이 빠르게 전파됨으로써 개인의 사생활 침해는 물론 경제, 정치, 안보 등에 치명적인 영향을 미치는 것

O2O

  • Online-toOffline business = 온-오프라인 연결 비즈니스
  • 인터넷과 스마트폰 등의 온라인 매장에서 오프라인 매장을 고객을 유치하는 마케팅 방법

데이터 다이어트

  • Data Diet
  • 데이터를 삭제하는 것이 아니라 압축하고, 겹친 정보는 중복을 배제하고, 새로운 기준에 따라 나누어 저장하는 작업

비콘

  • Beacon
  • 전파를 이용하여 주기적으로 프레임 신호 동기를 맞추고, 송수신 관련 시스템 정보를 전송하며, 수신 데이터 정보를 전달하는 무선 통신 신호 기술

증발품

  • Vaporware
  • 판매 계획 또는 배포 계획은 발표되었으나 실제로 고객에게 판매되거나 배포되지 않고 있는 소프트웨어

Subscription Commerce

  • Subscription과 Commerce의 합성어로 정기적인 비용을 지불하고 전문가의 큐레이션을 통해 선정된 제품들을 주기적으로 배송 받는 상거래

Zapping Effect

  • 재핑 효과
  • 채널을 돌리다가 중간에 있는 채널의 시청률이 높아지는 현상
  • 재핑이란 방송 프로그램 시작 전후로 노출되는 광고를 피하기 위해 채널을 돌리는 행위

생명정보학

  • Bioinformatics
  • 컴퓨터를 이용해 각종 생명정보를 처리하는 학문으로 방대한 생물의 유전자 정보를 분석하기 위한 학문
  • 유전자 예측 프로그램 개발, 생명정보 데이터베이스 구축 등 정보기술의 개발과 바이오 칩이라 불리는 첨단 반도체의 개발 등이 해당된다.

스마트 그리드

  • Smart Grid
  • 정보 기술을 전력에 접목해 효율성을 제고한 시스템
  • 전력선을 기반으로 모든 통신, 정보, 고나련 애플리케이션 인프라르 하나의 시스템으로 통합한 것

Meformer

  • 미포머
  • 나를 뜻하는 미와 정보를 제공자를 뜻하는 인포머의 합성어로 나를 알리는 데에만 열중하는 사람

Tajo

  • 타조
  • 오픈 소스 기반 분산 컴퓨팅 플랫폼인 아파치 하둡 기반의 분산 데이터 웨어하우스 프로젝트

3D printing

  • 대상을 평면에 출력하는 것이 아니라 손으로 만질 수 있는 실제 물체로 만들어 내는 것

Cresumer

  • 크리슈머
  • 단순히 제품을 사용하는데 그치지 않고 제품의 기능이나 가치에 스토리를 담아 기존의 콘텐츠를 발전시켜 새로운 문화와 소비유행을 만들어 가는 사람들을 말한다.

Social Curation

  • 소셜 큐레이션
  • 인터넷에서 다수 사용자가 자신의 취향대로 정보를 가공해 다른 사람과 공유하는 것

Variable BitRate

  • VBR = 가변 레이트
  • 부호화할 때 상황에 따라 압축률을 다르게 하는 압축방법

스테레오 스코프

  • Stereoscope
  • 하나의 물체를 다른 각도에서 찍은 두 장의 사진을 동시에 보게 하여 물체를 입체적으로 보이게 하는 기기

오픈 그리드 서비스 아키텍처

  • OGSA = Open Grid Service Architecture
  • 애플리케이션 공유를 위한 웹 서비스를 그리드 상에서 제공하기 위해 만든 개방형 표준

AJAX

  • Asynchronous Javascript and XML
  • 웹 페이지 내에서 자바스크립트와 CSS, XHTML 등을 이용하여 XML로 데이터를 교환하고 제어함으로써 사용자들이 웹 페이지를 새로고침 하지 않아도 대화형의 웹페이지 기능을 이용할 수 있게 하는 기술

EDI

  • Electronic Data Interchange = 전자 자료 교환
  • 기업 간 거래에 관한 데이터와 문서를 표준화하여 컴퓨터 통신망으로 거래 당사자가 직접 전송, 수신하는 정보 전달 시스템

건물 에너지 관리 시스템

  • BEMS = Building Energy Management System
  • 건물에 IT 기술을 활용하여 전기, 공조, 방법, 방재 같은 여러 건축 설비를 관리하는 시스템

TPS

  • Transaction Processing System
  • 거래 처리 시스템
  • 기업에서 업무 처리를 할 때 다양하게 발생하는 거래 자료를 전산화해서 신속하고 정확하게 처리하는 정보화 시스템

스마트 정보격차

  • Smart Divide
  • SNS나 스마트 미디어를 활용하는 사람과 그렇지 못한 사람 사이의 정보 격차를 뜻한다.

CPM

  • Corporate Performance Management = 기업 성과 관리
  • 기업 경영 환경에 효과적으로 대처하기 위해 예측 경영을 통한 최적의 의사 결정을 내릴 수 있게 해주는 시스템

디지털 아카이빙

  • Digital Archiving
  • 디지털 정보 자원을 장기적으로 보존하기 위한 작업
  • 아날로그 콘텐츠는 디지털로 변환한 후 압축해서 저장하고, 디지털 콘텐츠도 체계적으로 분류하고 메타데이터를 만들어 DB화하는 작업

미디어 빅뱅

  • Media Big Bang
  • 정보 통신의 발달, 이용자 소비 환경의 변화로 새로운 미디어가 등장하여 기존의 미디어 질서가 해체되는 미디어 환경 변화를 빅뱅에 비유한 표현

SIS

  • Strategic Information System = 전략 정보 시스템
  • 기업이 경쟁 우위를 확보하기 위해 구축, 이용하는 정보 시스템
  • 1985년 경에 출현하엿는데 종래의 정보 시스템이 기업 내 업무의 합리화나 효율화에 역점을 두었던 것에 반하여, 기업이 경쟁에서 승리하여 살아남기 위한 필수적인 시스템이라는 뜻에서 전략 정보 시스템이라고 불린다.

복잡 이벤트 처리

  • CEP = Complex Event Processing
  • 실시간으로 발생하는 많은 사건들 중 의미가 있는 것만을 추출할 수 있도록 사건 발생 조건을 정의하는 데이터 처리 방법

그린 IT

  • Green Information Technology
  • 정보기술 전 분야에서 유해 물질을 자제하고 에너지 절감을 통해 친환경 제품과 서비스를 제공하는 것

녹색 기술

  • Green Technology
  • 환경 친화적인 기술
  • 지구 오난화와 에너지 자원 고갈 문제를 대처하기 위해 EU 등 선진국에서 시작된 친환경 열풍이 세계적으로 확산되고 있다.

데이지

  • DAISY = Digital Accessible Information SYstem
  • 시각 장애인이나 독서 장애인을 위한 국제 디지털 문서 포맷
  • 디지털 시대에 정보 접근에 장애를 갖고 있는 노인이나 시각 장애인을 위해 개발되어 점자도서관에서 토킹 북을 제작하는 데 사용되고 있다.

서비스 지향 아키텍처

  • SOA = Service Oriented Architecture
  • 기업의 소프트웨어 인프라인 정보 시스템을 공유와 재사용이 가능한 서비스 단위나 컴포넌트 중심으로 구축하는 정보기술 아키텍처

오픈케이블 응용 플랫폼

  • OCAP = Open Cable Application Platform
  • 모든 종합 유선방송에서 운용될 수 있도록 대화형 TV 서비스나 응용 프로그램을 설계할 수 있는 미들웨어 소프트웨어 계층

원 세그

  • One Seg
  • 일본의 디지털 휴대 이동방송 서비스의 명칭

소셜 서치

  • Social Search
  • 불특정 다수의 인터넷 사용자들을 대상으로 특정 질문에 답변을 제시하거나 또는 공통적 관심사가 포함된 웹사이트나 여타 자료원으로의 링크를 제공하는 웹사이트 또는 서비스
  • 누구나 질문을 올릴 수 있고 전문가나 일반 사용자들로부터 이에 대한 답변을 받을 수 있는 질의응답 또는 지식검색 사이트를 의미한다.

디지로그

  • DigiLog
  • Digital과 Analog의 합성어로 디지털 기술과 아날로그적 정서가 결합한 제품과 서비스, 또는 아날로그 시대에서 디지털 시대로 넘어가는 변혁기에 위치한 세대를 의미한다.

체감 품질

  • QoE = Quality of Experience
  • 서비스 이용자가 각자의 기대치에 근거하여 주관적으로 인지하는 어플리케이션 혹은 서비스의 총체적인 허용도를 말한다.
  • 사용자가 요금을 지불한 서비스에 대해 기대하는 기대치를 근거로 규정하는 품질 척도

ITS

  • Intelligent Transportation System = 지능형 교통 시스템
  • 도로, 자동차, 화물 등 기존의 교통 시스템에 전자, 통신, 제어 등 첨단기술을 접목시켜 실시간 교통정보를 수집, 관리 제공함으로써 교통시설의 이용효율을 극대화하고 교통편의와 교통안전을 제고하며 에너지 절감 등 환경 친화적 교통시스메으로 정의되고 있다.

EIS

  • Executive Information System = 경영진 정보 시스템
  • 중역 혹은 최고경영자들이 조직의 성공적인 경영을 위하여 피룡로 하는 조직 내부 혹은 조직 외부의 정보를 효과적으로 제공할 수 있는 컴퓨터 기반의 정보 시스템

DMB

  • Digital Multimedia Broadcasting = 디지털 멀티미디어 방송
  • 디지털 멀티미디어 방송을 의미
  • 음성 영상 등 다양한 멀티미디어 신호를 디지털 방식으로 변조하여 고정 또는 휴대용 수신기에 제공하는 방송 서비스

딥 러닝

  • Deep Learning
  • 인간의 두뇌를 모델로 만들어진 인공 신경망(ANN)을 기반으로 하는 기계 학습 기술

누름힘 접촉

  • Force Touch
  • 애플에서 개발한 트랙패드와 터치스크린에 적용되는 기술
  • 패널에 가해지는 힘의 강도를 감지

막대형 컴퓨터

  • PC-on-a-stick = Stick PC
  • 작고 긴 막대모양 형태의 케이스를 갖는 단일 보드 컴퓨터
  • USB 드라이브와 유사한 형태를 가지며 내부의 CPU와 램, 저장장치 등 컴퓨터의 필수 요소들이 모두 내장되어 있고, HDMI 비디오 포트를 갖고 있어 모니터만 연결하면 일반 PC처럼 이용이 가능하다.

먹거리 테크

  • Food Tech
  • 식품과 기술이 결합된 용어로 기존의 식품 관련 서비스업을 빅데이터, O2O 서비스, 블루투스, 비콘 등의 정보통신기술과 결합한 것을 의미

에스엔지

  • SNG = Satellite News Gathering
  • 현장에서 촬영한 영상을 위성을 통해 방송사로 전송하는 방식

엠엔지

  • MNG = Mobile News Gathering
  • 야외에서 촬영한 영상을 3G, LTE, WiBro, Wi-Fi 등 다양한 무선망 접속장비를 이용해 전송하는 방식

UASP

  • USB attached SCSI Protcol = 유에스비-스카시 프로토콜
  • USB 저장장치로 데이터를 송수신할 때 사용되는 컴퓨터 프로토콜
  • 스카시 프로토콜이 탑재되어 기존의 방식보다 더 빠른 전송속도를 보장

EFP

  • Electronic Field Production
  • 장비가 설치되어 있는 스튜디오가 아닌 야외에서 촬영할 때 사용되는 카메라 시스템

ENG

  • Eletronic News Gathering
  • 카메라와 녹화부가 탑재된 일체형 카메라 시스템

지능형 가상 비서

  • IPA = Intelligent Personal Assistant
  • 개인에게 맞춘 서비스나 업무를 수행하는 소프트웨어 에이전트
  • 일정관리, 영화예약, 인터넷 검색, 길찾기 등의 여러가지 업무를 처리하는 것이 가능
  • 음석인식으로 지시받아 인공지능 엔진을 통해 사용자가 기존에 입력한 데이터나 위치 데이터, 다양한 온라인 데이터를 기반으로 수행

텐서플로

  • TensorFlow
  • 구글 브레인 팀이 만든 기계학습을 위한 오픈소스 소프트웨어 라이브러리
  • C++언어로 제작되었고 Python API를 제공한다.

평면 디자인

  • Flat Design
  • 그림자나 기울기 등의 3차원 입체감을 주는 화려한 요소들의 사용을 최소화하는 디자인 장르

· 약 23분
  • Information Strategy Planning
  • 기업이 수립한 장기적인 목표와 방향을 효과적으로 지원하기 위해 전사적 관점(Total)에서 정보 시스템이나 정보 관리 등의 전략을 수립하는 활동

CSF

  • Critical Success Factor = 핵심 성공 요소
  • 성공에 불가결한 요인을 찾아내어 경영상 중요한 정보를 결정하는 방법

3C 분석

  • 고객(Customer)
  • 경쟁사(Competitor)
  • 자사(Company)
  • 4C: 유통(Channel)

SWOT 분석

  • 강점(Strength)은 부각
  • 약점(Weekness)은 보완
  • 기회(Opportunity)는 활용
  • 위협(Threat)은 억제
  • 각 요인을 결합해 전략을 세운다(SO, WO, ST, WT)

5-FORCE 분석

  • 기업에 영향을 미치는 외부의 5가지 요인을 분석하여 기업의 경쟁 환경을 분석하기 위한 도구
  • 미국 경제학자 마이클 포터가 제안
  • 5가지 요인
    • 신규 진입자의 위협
    • 기존 업계 경쟁
    • 공급자의 교섭력
    • 구매자의 교섭력
    • 대체품의 위협

7S 분석

  • 조직 내부의 역량, 체계 등을 분석하는 기법으로 전략 경영체제에 적합한 내부 역량의 판단 방법론으로 사용된다.
  • 맥킨지사에서 개발
  • 7가지 요소
    • 전략(Strategy)
    • 시스템(System)
    • 구조(Structure)
    • 공유된 가치(Shared value)
    • 기술/역량(Skill)
    • 사람(Staff)
    • 스타일(Style)

BPR

  • Business Process Reengineering = 업무 프로세스 재설계
  • 경쟁에서 우위를 확보하기 위해 기업의 핵심 부문인 비용, 품질, 서비스, 스피드와 같은 요인들이 획기적인 향상을 이룰 수 있도록, 프로세스를 기반으로 비즈니스 시스템을 근본적으로 재설계하여 혁신적인 성과를 추구하는 것

BPR의 실행 4단계

  1. 현행 업무 프로세스(AS-IS) 모형 분석
  2. 개선 사항 분석
  3. 향후 업무 프로세스(TO-BE) 모형 수립
  4. 이행 계획(Transition Plan)

BPM

  • Business Process Management = 업무 프로세스 관리
  • 미리 정의된 사람 및 정보 자원과 업무의 흐름을 통합적으로 관리, 지원해주는 업무처리 자동화 기법
  • 기업의 프로세스를 통합적으로 관리하고 개선할 수 있도록 도와주는 도구이자 방법론
  • 기업 내외의 업무 프로세스를 가시화하고 업무 수행과 관련된 사람 및 시스템을 통제하며 전체 업무 프로세스를 효율적으로 관리하고 최적화할 수 있는 변화 관리 및 시스템 구현 기법

BPM 프로세스 관리 사이클

  1. 프로세스 정의(Process Definition)
  2. 프로세스의 실행(Enactment)
  3. 프로세스의 측정(Measure)
  4. 프로세스의 분석과 개선
  5. 프로세스 통제와 모니터링, 예측(Control)

KPI

  • Key Perpormance Indicator = 핵심 성과 지표
  • 미래 성과에 영향을 주는 여러 핵심지표를 묶은 평가 기준

RTE

  • RealTime Enterprise = 실시간 기업
  • 기업 내외부에 걸친 지속적인 프로세스의 개선과 실시간 정보제공을 통해 업무지연을 최소화하고 의사결정 스피드를 높여 경쟁력을 극대화하는 기업
  • 프로세스에 대한 실시간 가시성을 확보

PI

  • Process Innovation
  • 기존의 업무처리 방식을 정형화하고, 최적의 프로세스를 재구축하여 업무의 효율성을 높이려는 비즈니스 프로젝트
  • 미국의 경제학자 Davenport는 PI를 "정보 기술을 활용하여 비즈니스 프로세스를 혁신함으로써 사업 성과를 높이는 것"이라고 정의

ERP

  • Enterprise Resource Planning = 전사적 자원관리
  • 생산, 판매, 자재, 인사, 회계 등 기업의 전반적인 업무 프로세스를 하나의 체계로 통합 및 재구축하여 관련 정보를 서로 공유하고 이를 통해 신속한 의사결정 및 업무 수행이 가능하도록 도와주는 전사적 자원 관리 패키지 시스템

APICS

  • American Production & Inventory Control Society
  • 수주, 생산, 출하에 이르기까지의 일련의 작업 공정을 진행하기 위해 필요한 기업 경영 자원을 점검, 계획하기 위한 종합 정보 시스템

가트너 그룹

  • 제조 업무 시스템을 핵심으로 재무회계와 판매, 그리고 물류 시스템 등을 통합한 것으로 가상 기업을 지향하는 시스템

MRP

  • Material Requirements Planning = 자재 소요 계획
  • 재고 품목에 대한 수요가 파생 수요일 보다 적을 경우 보다 복잡한 재고 계산이 필요하여 고안된 기법
  • 재고 계획과 통제 시스템으로 구성
  • 원자재에서 최종 완제품에 이르기까지 자재의 흐름을 관리하는 기법

SEM

  • Strategic Enterprise Management = 전략적 기업 경영
  • 경영자 및 관리자들이 기업의 수익 창출을 위한 합리적인 의사 결정을 할 수 있도록 신뢰할 수 있는 정보를 제공해 주는 전략적 의사결정 지원 시스템
  • VBM, ABM/ABC, BSC 등으로 구성되어있다.

VBM

  • Value Based Management = 가치기준경영
  • 기업 가치의 극대화를 기업의 궁극적 목표로 함

ABM/ABC

  • Activity Based Management / Activity Based Costing
  • 활동기준관리 / 활동기준 원가계산
  • ABM은 복잡해지는 원가관리체계를 실제 활동에 근거하여 정확한 원가를 계산하고 관련 활동과 원가대상에 대한 성과를 측정하는 일련의 관리체계로 ABC를 이용하여 전략적 의사결정을 지원
  • ABC는 원가의 발생 원인을 체계적으로 분석하여 정확한 제품의 원가를 계산하는 원가 계산 방법

BSC

  • Balanced Score Card = 균형성과관리
  • 매출액, 순이익 등 과거 성과인 재무지표에만 의존했던 기업 성과 측정에 비재무적인 측정을 추가하여 기업의 성과를 균형 있게 평가하는 무형 자산 평가 모델

BSC의 관점

  • 재무적 관점: 기업 주요 이해 관계자들에게 매출액, 순이익, 원가절감 등의 재무적인 지표를 통해 조직의 성과를 보여주기 위한 관점
  • 고객 관점: 고객의 만족도, 충성도 등 고객 관계를 평가하는 관점
  • 내부 비즈니스 프로세스 관점: 경쟁사와 비교하여 해당 기업이 어떤 장점과 핵심역량을 갖고 있는지를 평가하는 관점
  • 학습과 성장 관점: 기업의 비전을 달성하기 위해 필요한 학습 및 개선사항을 측정하는 관점

IRM

  • Information Resource Management = 정보 자원 관리
  • 기업의 정보 자원을 조직 전체가 공유할 수 있도록 자원관리 원칙에 따라 관리하는 정보 관리 접근방법
  • 정보 활용의 효율성을 최대화하는 것을 목적으로 한다.
  • 정보 자원은 정보와 그 정보를 다루는 기술 모두를 포함한다 따라서 정보 자원 관리는 정보 자체만이 아니라 정보의 처리와 관리를 위한 기술, 장비, 인력, 자금 등의 자원 관리까지 모두 포괄하는 개념이다.

IRM의 구성요소

  • 정보
  • 정보 기술
  • 정보 시스템

ERM

  • Enterprise Risk Management = 전사적 위험 관리
  • 기업의 궁극적인 목표 달성을 위해 기업이 직면하고 있는 주요 리스크들을 식별하고 관리하기 위한 리스크 관리 방식
  • IMF를 겪으며 그 중요성이 강조되었다.
  • 전사적인 수준의 정보와 커뮤니케이션을 동원하여 여러 가지 대내외적인 리스크 요인들을 인식하고 일정한 허용 범위 내에서 효과적인 대응 방안을 수립 및 수행하고 모니터링 하는 지속적인 프로세스이다.

SCM

  • Supply Chain Management = 공급망 관리
  • 기업 간 또는 기업 내부에서 제품이나 부품의 최초 생산자부터 최종 소비자에 이르는 공급망을 효율적으로 관리해 불필요한 시간과 비용, 재고 등을 줄이려는 관리 기법
  • e-SCM: 디지털 기술을 활용하여 기존의 SCM 관련 기술들을 웹상에서도 수행할 수 있도록 한 것

SCM 구성요소

  • 공급망 계획 시스템
    • SCP(Supply Chain Planning)
    • 기업이 제품 수요를 예측하고 그 제품에 대한 조달 및 생산 계획을 수립하는 시스템
  • 공급망 실행 시스템
    • SCE(Supply Chain Execution)
    • 제품이 올바르게 전달될 수 있도록 제품의 흐름을 관리하는 시스템

PLM

  • Product Lifecycle Management = 제품 수명주기 관리
  • 기업이 제품의 원가를 낮추고 부가가치를 높일 수 있도록 기획부터 설계, 생산, 서비스, 폐기에 이르는 수명주기를 관리하는 것
  • 제품 개발의 전체 과정에 관한 정보를 통합적으로 관리함으로써 기업 내 담당자나 고객, 협력업체들과 제품 정보를 공유하거나 협업을 진행할 수 있어 제품 개발 과정의 효율성을 높여준다.

CRM

  • Customer Relationship Management = 고객 관계 관리
  • 고객의 요구나 의견을 분석하여 고객의 성향과 욕구를 충족시키는 마케팅을 실시하므로 고객 관리 비용을 최소화하고 지속적인 기업의 가치 창출을 위해 등장
  • 고객 정보를 세부적으로 분류하여 고객의 구매 관련 행동을 지수화하고 신규 고객 유치, 장기 고객 관리, 잠재 고객 발굴 등과 같은 사이클을 통해 고객과의 관계를 관리한다.

SRM

  • Supplier Relationship Management = 공급업체 관계 관리
  • 제품을 공급하는 공급업체와의 관계를 관리하고 평가하여 기업의 수익성을 높일 수 있도록 해주는 경영 기법
  • 기업이 최적의 공급망을 유지할 수 있도록 프로세스 전반에 걸쳐 공급업체를 관리, 평가한다.

MDM

  • Master Data Management = 기준 정보 관리
  • 기업 내외부에 산재해 있는 마스터 데이터의 단일화를 통해 활용도를 높이고 오류를 줄이기 위한 모든 활동의 집합
  • 데이터 품질이 중요하다.

VRM

  • Vendor Relationship Management = 벤더 관계 관리
  • 개인이 기업에게 제공할 개인 정보, 선호도, 패턴 등을 관리하는 기술
  • 기업이 고객의 정보를 분석 및 통합하여 관리하는 CRM에 반대되는 개념

EAI

  • Enterprise Application Integration = 전사적 응용 통합
  • 기업 내의 운영되는 여러 종류의 플랫폼 및 애플리케이션 등을 통합하고 유기적으로 처리할 수 있는 기반 기술을 통칭
  • 기존 방식은 각 시스템 간의 인터페이스 요구를 Point-to-Point 방식으로 연결했기 때문에 통합 관리가 불가능하고 유지보수가 어려웠으나 EAI는 기업 내 애플리케이션을 유기적으로 연결시켜 업무 프로세스들을 최대한 단순화, 자동화하고 여러 시스템 간의 실시간 정보 조회가 가능하도록 한다.

EIP

  • Enterprise Information Portal = 기업 정보 포털
  • EAI를 통해 기업 내부의 그룹웨어, 인트라넷 등을 통합해 하나의 웹 화면으로 제공하는 통합 정보 시스템
  • e-Portal이라고도 한다.

KMS

  • Knowledge Management System = 지식 관리 시스템
  • 기업 내의 지식을 관리하기 위한 분산 하이퍼미디어 시스템
  • 기업환경이 지적 재산의 중요도가 부각되는 지식 기반 사회로 급격히 이동함에 따라 기업 경영을 지식이라는 관점에서 새롭게 조명하는 접근방식

EA

  • Enterprise Architecture = 전사적 아키텍처
  • 기업의 목표와 요구사항을 효과적으로 지원하기 위해 IT 인프라 각 부분의 구성과 구현 기술을 체계적으로 기술하는 작업
  • 기업의 최고 정보 책임자(CIO)가 효율적인 IT 인프라와 전략 확보 차원에서 조직의 업무 활동과 IT간의 고나계를 현재와 미래에 추구할 모습으로 체계화한 청사진

BI

  • Business Intelligence = 비즈니스 인텔리전스
  • 기업 내부에 축적된 대량의 정보를 기업의 경영활동 전반에 활용될 수 있도록 정리, 분석하여 제공하는 애플리케이션과 기술을 총칭
  • 데이터 웨어하우스에 축적된 대량의 정보는 데이터 마트, 데이터 마이닝, OLAP 등의 기법을 이용해 분석되어 기업이 더 나은 의사 결정을 하는데 활용

BRMS

  • Business Rule Management System = 비즈니스 규칙 관리 시스템
  • 기업 정책, 가격 정책, 마케팅 전략, 이벤트 등 기업 운영에 사용되는 비구조적이고 복잡한 업무 프로세스를 자동으로 정의 및 제어함으로써 경험이 부족한 비전문가도 효과적인 업무 처리 및 상품 판매 등이 가능하도록 지원하는 시스템

BPO

  • Business Process Outsourcing = 업무 프로세스 아웃소싱
  • 기업의 경쟁력 강화를 위해 핵심 업무를 제외한 모든 업무를 외부 전문 업체에 위탁하여 자사 핵심 업무에 모든 역량을 집중하는 경영 기법
  • 제품 개발의 기획 단계부터 운영, 모니터링 등 모든 단계를 외부 업체에 맡겨 운영하는 것으로 비용 절감을 위해 단순 업무만을 위탁하던 기존의 아웃소싱 방식과는 구분된다.

ITO

  • Information Technology Outsourcing = 정보 기술 아웃소싱
  • 프로그래밍이나 인터넷 등의 IT 관련 업무들을 외부 전문 업체에 위탁하는 경영 기법
  • BPO의 하위 개념

SLA

  • Service Level Agreement = 서비스 수준 계약
  • 서비스 시간, 가용성, 성능, 복구 등 일정한 서비스 수준을 보장하기 위해 IT 서비스 사업자와 사용자 간에 맺는 계약
  • SLA가 맺어지면 IT 서비스 사업자는 SLM을 통해 지속적인 품질관리와 보고 업무를 수행한다.

SLM

  • Service Level Management = 서비스 수준 관리
  • IT 서비스 사업자와 사용자 간에 맺은 SLA에서 정의한 서비스에 대해 성과와 문제점을 정확히 측정,평가하고 개선해 나아가는 과정

ITSM

  • IT Service Management = IT 서비스 관리
  • 서비스 사용자에게 제공되는 IT 서비스의 계획, 설계, 제공, 운영 및 관리를 위해 서비스 제공자가 수행하는 프로세스 및 지원 절차 등을 의미

ITSM의 구성요소

  • 프로세스(Process)
  • 인력(People)
  • 조직(Organization)
  • 기술(Technology)

ITIL

  • IT Infrastructure Library = 정보기술 인프라 라이브러리
  • IT 서비스의 운영 및 관리를 돕기 위한 문서들의 집합
  • IT 조직이 기존의 기술 중심적인 운영에서 사용자들의 요구에 초점을 맞춘 고객 지향적인 운영방식을 채택함에 따라 각자 개별적인 IT 관리 관행을 만드는 것을 방지하기 위해 영국 정부가 다양한 IT 서비스들의 관리 방법들을 모아 만든 표준적인 참고문헌

ISO/IEC 20000

  • IT 서비스 관리에 대한 최초의 국제 표준
  • IT 서비스 관리 시스템의 필요한 사항들을 구체적으로 명시

전자상거래

B2C

  • Business to Customer = 기업과 소비자 간의 전자상거래
  • 소배자를 대상으로 하는 서비스업으로 소비자에게 유무형의 재화를 제공, 판매 및 중개를 한다.

B2B

  • Business to Business = 기업 간의 전자상거래
  • 특정 기업 간의 CALS 및 EDI를 통한 수주, 구매, 조달 및 납품 등과 관련된 기업 간의 전자상거래이다.

CALS

  • Commerce At Light Speed = 광속 상거래
  • 1985년 미국 국방부에서 컴퓨터를 이용해 군수 물자와 기술 흐름을 합리적으로 통제하여 군수품 납품 체계를 개선할 목적으로 처음 도입되었다.
  • 모든 기술 정보 등을 통합 데이터베이스로 관리

B2G

  • Business to Government = 기업과 정부 간의 전자상거래
  • 조달, 행정, 인증 등과 관련된 기업과 정부 간의 전자상거래

C2C

  • Customer to Customer = 소비자 간의 전자상거래
  • 소비자가 상품 구매자와 공급자가 되는 것

e-마켓플레이스

  • 인터넷 상에서 다수의 기업 간 공급과 수요 간에 유발되는 비즈니스 거래르 총칭하는 가상시장

Escrow 서비스

  • 조건부 양도증서 서비스
  • 전자상거래시 판매자와 구매자의 거래가 문제없이 이뤄질 수 있도록 제 3자가 도와주는 매매 보호서비스