728x90
๋ฐ˜์‘ํ˜•
728x90

โ˜๏ธ good feature ๋ž€ ๋ฌด์—‡์ธ๊ฐ€? 

- ์กฐ๋ช…์˜ ์ƒํ™ฉ์— ์ƒ๊ด€ ์—†์ด ๋™์ผํ•œ feature๋ฅผ ์ถ”์ถœํ•ด์•ผ ํ•œ๋‹ค.

- ์œ„์น˜์— ์ƒ๊ด€ ์—†์ด ๋™์ผํ•œ feature๋ฅผ ์ถ”์ถœํ•ด์•ผ ํ•œ๋‹ค.

- ํฌ๊ธฐ์— ์ƒ๊ด€ ์—†์ด ๋™์ผํ•œ feature๋ฅผ ์ถ”์ถœํ•ด์•ผ ํ•œ๋‹ค. 

- ํšŒ์ „ ์ƒํ™ฉ์— ์ƒ๊ด€ ์—†์ด ๋™์ผํ•œ feature๋ฅผ ์ถ”์ถœํ•ด์•ผ ํ•œ๋‹ค. 

- Perspective transform์— ์ƒ๊ด€ ์—†์ด ๋™์ผํ•œ feature๋ฅผ ์ถ”์ถœํ•ด์•ผ ํ•œ๋‹ค. 

 

- ๊ณ„์‚ฐ๋Ÿ‰์ด ๋„ˆ๋ฌด ๋งŽ์œผ๋ฉด ์•ˆ๋œ๋‹ค.

- ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋ชจ๊ฐ€ ํšจ์œจ์ ์ด์–ด์•ผ ํ•œ๋‹ค.

 

 

 

 

โ˜๏ธ ORB

oFast detector + r-BRIEF descriptor ์ด ๋‘ ๊ฐ€์ง€๊ฐ€ ํ˜‘์ณ ์žˆ๋Š” ํ˜•ํƒœ์ด๋‹ค.

FAST : radius๊ฐ€ 3์ธ ๊ฒฝ์šฐ, 9๊ฒŒ์˜ ์—ฐ์†๋˜๋Š” ํ”ฝ์…€ ํฌ๊ธฐ๋ฅผ ๊ณ ๋ คํ•œ๋‹ค.

BRIEF : ํ•œ ํ”ฝ์…€์ด feature๋กœ ํŒ๋ช…์ด ๋‚ฌ์„ ๋•Œ ์ด ํ”ฝ์…€์„ ๋ฌ˜์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

 

 

 

โ˜๏ธ Image matching

๋‘ ๊ฐœ์˜ ์˜์ƒ์ด ์œ ์‚ฌํ•œ์ง€ ์•„๋‹Œ์ง€, ๋งŒ์•ฝ ์œ ์‚ฌํ•˜๋‹ค๋ฉด ์–ด๋–ค ์œ„์น˜ ๊ด€๊ณ„๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”์ง€ ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ.

1. ๋จผ์ € ๋‘ ์˜์ƒ์˜ feature๋ฅผ ์ถ”์ถœํ•œ๋‹ค.

2. ์ถ”์ถœํ•œ feature๋ฅผ ์ ์ ˆํ•œ descriptor๋ฅผ ํ†ตํ•ด ๋ฌ˜์‚ฌํ•œ๋‹ค.

3. descriptor๋ฅผ ํ†ตํ•œ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‘ featurer๋ฅผ ๋น„๊ตํ•œ๋‹ค.

4. ๋น„๊ตํ•œ Feature๋“ค์ด ์–ผ๋งˆ๋‚˜ good ํ•œ์ง€ image matching์œผ๋กœ ํŒ๋ณ„ํ•œ๋‹ค.

* ์ด ๋•Œ good image matching์€ NNDR๋กœ ์•Œ ์ˆ˜ ์žˆ๋‹ค. NNDR๊ฐ’์ด ์ž‘์„์ˆ˜๋ก good matching์— ๊ฐ€๊น๋‹ค.

** NNDR : ๊ฐ€์žฅ ์ž˜ ๋งž๋Š” ์ƒํƒœ์ธ ๋‘ feature๊ฐ„์˜ ๊ฑฐ๋ฆฌ / ๋‘ ๋ฒˆ์งธ๋กœ ์ž˜ ๋งž๋Š” ์ƒํƒœ์ธ ๋‘ featurer๊ฐ„์˜ ๊ฑฐ๋ฆฌ.

 

 

โ˜๏ธ Convolutional Neural Network

Convolution

- stride๊ฐ€ 1์ธ ๊ฒฝ์šฐ๋Š” 1์นธ์”ฉ ๋งˆ์Šคํฌ๋ฅผ ์ด๋™์‹œํ‚ค๊ฒ ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

Relu

- non-linear function์˜ ์ข…๋ฅ˜์ด๋‹ค.

- value๊ฐ€ 0๋ณด๋‹ค ์ž‘์€ ๊ฒฝ์šฐ result๋Š” 0์ด ๋˜๊ณ , 0๋ณด๋‹ค ํฌ๋ฉด ์›๋ž˜ ๊ฐ’์„ ์œ ์ง€ํ•œ๋‹ค.

 

Pooling

- max value๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

 

 

 

 

728x90
๋ฐ˜์‘ํ˜•

'๐ŸŒƒ computer vision' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Histogram Equalization  (0) 2022.10.08
Spatial Filtering  (0) 2022.10.08
Intensity transformation  (2) 2022.10.08
Line detection  (0) 2022.09.29
Edge Detection  (0) 2022.09.27
728x90
๋ฐ˜์‘ํ˜•
728x90

Histogram Equalization ๋ž€?

โžก๏ธ ์šฐ๋ฆฌ ๋ง๋กœ๋Š” histogram์„ ์ •๊ทœํ™” ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

โžก๏ธ ๊ฐ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์˜์ƒ์„ ๊ตฌ์„ฑํ•˜๋Š” ํ”ฝ์…€์˜ ์ „์ฒด ๊ฐœ์ˆ˜๋กœ ๋‚˜๋ˆˆ๋‹ค.

โžก๏ธ bin์˜ ๊ฐœ์ˆ˜๋ฅผ ์ž˜ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

โžก๏ธ ๋ฐ๊ธฐ ๋˜๋Š” color ๊ฐ’์˜ ์ฐจ์ด๋ฅผ ์ด๋ฏธ์ง€์— ์ ์šฉํ•œ ๊ฒƒ์ด๋‹ค.

 

* histogram์ด ํŠน์ • ์˜์—ญ์— ๋„ˆ๋ฌด ์ง‘์ค‘๋˜์–ด ์žˆ์œผ๋ฉด contrast๊ฐ€ ๋‚ฎ์€ ๊ฒƒ์ด๋‹ค. 

** histogram์ด ๊ณจ๊ณ ๋ฃจ ๋ถ„ํฌ๋˜์–ด ์žˆ์„์ˆ˜๋ก high contrast๋ผ๊ณ  ํ•˜๋Š”๋ฐ, high contrast๋ฅผ ์ข‹์€ ์ด๋ฏธ์ง€๋ผ๊ณ  ํ•œ๋‹ค.

low contrast          vs.       high contrast

 

 

 

Histogram ๊ณผ bin

[๋ฌธ์ œ]

๋งŒ์•ฝ, ๋‹ค์Œ ํ‘œ์™€ ๊ฐ™์€ ์ด๋ฏธ์ง€๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž. ์ด ๋•Œ intensity level์€ 16[0,15], bin์˜ ๊ฐœ์ˆ˜๊ฐ€ 4๋ผ๋ฉด, ๊ฐ bin์€ ?

[๋ฌธ์ œ]๋ฅผ ์œ„ํ•œ ํ‘œ

[ํ•ด์„ค]

์ด ๋•Œ ํ•ด๋‹น ์ด๋ฏธ์ง€๋Š” 5 x 6์œผ๋กœ ์ด 30๊ฐœ์˜ ํ”ฝ์…€์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

์ „์ฒด์ ์ธ ๋กœ์ง์€ ๊ฐ bin์— ํ•ด๋‹นํ•˜๋Š” ํ”ฝ์…€์˜ ์ˆ˜๋ฅผ ์ „์ฒด ํ”ฝ์…€์˜ ์ˆ˜๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์ด๋‹ค.

๋˜ํ•œ ๊ฐ bin์€ intensity level์˜ ๋ฒ”์œ„ ๋‚ด์—์„œ ์ฃผ์–ด์ง„ bin์˜ ๊ฐœ์ˆ˜์ธ 4๊ฐœ๋กœ ๋‚˜๋ˆ„๋ฉด ๋œ๋‹ค. 

 

bin์˜ ๊ฐœ์ˆ˜๊ฐ€ 4๊ฐœ ์ด๋ฏ€๋กœ, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

  โžก๏ธ ์ฒซ ๋ฒˆ์งธ bin[0-3] = 28 / 30

  โžก๏ธ ๋‘ ๋ฒˆ์งธ bin[4-7] = 1 / 30

  โžก๏ธ ์„ธ ๋ฒˆ์งธ bin[8-11] = 1 / 30

  โžก๏ธ ๋„ค ๋ฒˆ์งธ bin[12-15] = 0 / 30

 

์œ„ ํ‘œ์—์„œ ๋ณด์ด๋“ฏ,

0-3์— ํ•ด๋‹นํ•˜๋Š” ํ”ฝ์…€์ด 28๊ฐœ,

4-7์— ํ•ด๋‹นํ•˜๋Š” ํ”ฝ์…€์ด 1๊ฐœ,

8-11์— ํ•ด๋‹นํ•˜๋Š” ํ”ฝ์…€์ด 1๊ฐœ,

12-15์— ํ•ด๋‹นํ•˜๋Š” ํ”ฝ์…€์ด 0๊ฐœ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

 

 

 

Histogram Equalization ์ ์šฉ

1. histogram์„ ๊ณ„์‚ฐํ•œ๋‹ค.

2. ํžˆ์Šคํ† ๊ทธ๋žจ์„ ์ตœ๋Œ€ํ•œ ํ‰ํ‰ํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜๋ฅผ ์ฐพ๋Š”๋‹ค. (mapping function)

3. ์ด๋ฏธ์ง€์— mapping function์„ ์ ์šฉํ•œ๋‹ค.

 

[์‚ฌ์šฉ ์˜ˆ]

equalizeHist( image, hist_image ); // ์ด๋ ‡๊ฒŒ input๊ณผ output๋งŒ ์ ์œผ๋ฉด ๋œ๋‹ค.
imshow ("hist equalized image", hist_image);

 

 

* histogram equalization์€ ํ•ญ์ƒ ์ด๋ฏธ์ง€๋ฅผ ๋” ์„ ๋ช…ํ•˜๊ฒŒ ํ•˜์ง€๋งŒ์€ ์•Š๋Š”๋‹ค. ํŠนํžˆ ํŠน์ • ๋ฒ”์œ„์˜ data๊ฐ€ dominantํ•  ๋•Œ๋Š” ์˜คํžˆ๋ ค ์ž˜ ๋ณด์ด์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

728x90
๋ฐ˜์‘ํ˜•

'๐ŸŒƒ computer vision' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Image feature matching  (0) 2022.10.30
Spatial Filtering  (0) 2022.10.08
Intensity transformation  (2) 2022.10.08
Line detection  (0) 2022.09.29
Edge Detection  (0) 2022.09.27
728x90
๋ฐ˜์‘ํ˜•
728x90

spatial filtering ์ด๋ž€?

-> spatial filter๋ฅผ ํ™œ์šฉํ•ด์„œ ์ „์ฒ˜๋ฆฌ ํ•˜๋Š” ๊ฒƒ.

 

spatial filtering์˜ ์ข…๋ฅ˜

1. Averaging filter

- ์ฃผ๋ณ€ ๊ฐ’์˜ ํ‰๊ท ์œผ๋กœ ๋Œ€์ฒด ์‹œํ‚จ๋‹ค.

- random noise๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.

- image๊ฐ€ ํ๋ฆฟํ•ด์ง„๋‹ค. (blurs an image)

 

[์‚ฌ์šฉ ์˜ˆ]

ํ˜•์‹ : blur( input image, output image, size of kernel);

blur( image, result, Size(5,5) );

 

 

2. Gaussian filter

- ๊ฐ€์ค‘์น˜ ํ‰๊ท ์„ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ, ๊ฐ€์ค‘์น˜๋ฅผ gaussian filter๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ•œ๋‹ค.

 

[์‚ฌ์šฉ ์˜ˆ]

GaussianBlur( image, image, size of kernel, 0, 0, BORDER_DEFAULT);

 

 

* averaging filter๊ณผ gaussian filter๋Š” ์„œ๋กœ ๋น„์Šทํ•˜๋‹ค.

- mask ํฌ๊ธฐ๊ฐ€ ์ž‘์„์ˆ˜๋ก ์ž‘์€ ์žก์Œ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

- ํฐ ์žก์Œ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํฐ mask๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”๋ฐ, ๊ณ„์‚ฐ๋Ÿ‰์ด ๋งŽ์•„์ง„๋‹ค.

 

 

3. Sharpening

- ๋ฐ๊ธฐ๊ฐ’ ์ฐจ์ด๊ฐ€ ๋‚˜๋Š” ๋ถ€๋ถ„์„ ๋” ๊ฐ–์˜ค์‹œํ‚ด์œผ๋กœ์จ ๋ณด๋‹ค edge์žˆ๊ฒŒ ๋งŒ๋“ ๋‹ค.

- ๊ณต๊ฐ„ domain์—์„œ์˜ ๋ฏธ๋ถ„์„ ์ˆ˜ํ–‰ํ•จ์œผ๋กœ์จ sharpening์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

- ๊ฐ’์˜ ๋ณ€ํ™”๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๋ถ€๋ถ„์„ sharpening ํ•œ๋‹ค.

   - sharpening ํ•œ๋‹ค๋Š” ๊ฒƒ : ๊ฐ’์˜ ์ฐจ์ด๊ฐ€ ํฐ ๋ถ€๋ถ„์˜ ๊ฐ„๊ฒฉ์„ ๋” ํฌ๊ฒŒ ๋งŒ๋“ ๋‹ค. 

- ๋ณดํ†ต 2์ฐจ ๋ฏธ๋ถ„์œผ๋กœ ์ˆ˜ํ–‰ํ•œ๋‹ค.

  1) 2์ฐจ ๋ฏธ๋ถ„์„ ๋จผ์ € ์ˆ˜ํ–‰ํ•œ๋‹ค.

  2) ์›๋ณธ ์ด๋ฏธ์ง€์™€ ๋ฏธ๋ถ„ํ•œ ์ด๋ฏธ์ง€๋ฅผ ๋”ํ•œ๋‹ค.

- unsharp mask : ์ด mask๋ฅผ ์“ฐ๋ฉด ๊ฐ’์˜ ๋ณ€ํ™”๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๋ถ€๋ถ„์ด ๋” ๊ฐ•์กฐ๋œ๋‹ค.

 

[์‚ฌ์šฉ ์˜ˆ]

Laplacian( image, laplacian, CV_16S, 1, 1, 0 ); // 2์ฐจ ๋ฏธ๋ถ„์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
convertScaleAbs( laplacian, abs_laplacian ); // 8๋น„ํŠธ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.
sharpening = abs_laplacian + image; //2์ฐจ ๋ฏธ๋ถ„ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์›๋ณธ ์ด๋ฏธ์ง€์— ๋”ํ•œ๋‹ค.

3-1. unsharp masking

[์‚ฌ์šฉ ์˜ˆ]

cvtColor( input, gray, COLOR_BGR2GRAY ); // ์ƒ‰์ƒ ๋ณ€ํ™˜
GaussianBlur( gray, blur, Size(5,5), 3 );
addWeighted( gray, 1.5, blur, -0.5, 0, sharp ); // ๊ฐ๊ฐ ๊ฐ€์ค‘์น˜ ์ง€์ •.

 

 

 

4. Median filter

- ์ค‘๊ฐ„๊ฐ’์„ ์‚ฌ์šฉํ•œ๋‹ค. (ํ‰๊ท ๊ฐ’์ด๋ž‘ ๋‹ค๋ฅด๋‹ค!)

- m x m ํฌ๊ธฐ์˜ Filter๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด m^2/2 ๋งŒํผ์˜ ์žก์Œ์„ ์—†์•จ ์ˆ˜ ์žˆ๋‹ค.

   ์ฆ‰, salt-and-pepper nosie(ํฐ์ƒ‰๊ณผ ๊ฒ€์€์ƒ‰ noise), random noise๋ฅผ ์—†์• ๋Š”๋ฐ ํšจ๊ณผ์ ์ด๋‹ค.

- blur ์—†์ด ์žก์Œ์„ ์—†์•จ ์ˆ˜ ์žˆ์œผ๋‚˜, ์—ฐ์‚ฐ๋Ÿ‰์ด ๋” ๋งŽ๊ณ , ํŠน์ • noise์—์„œ ํšจ๊ณผ์ ์ด๋‹ค.

 

[์‚ฌ์šฉ ์˜ˆ]

medianBlur( image, mf1, 3 ); // medianblur ์ ์šฉ
imshow( "MedianFiltered", mf1 ); // ๊ฒฐ๊ณผ ์ถœ๋ ฅ
728x90
๋ฐ˜์‘ํ˜•

'๐ŸŒƒ computer vision' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Image feature matching  (0) 2022.10.30
Histogram Equalization  (0) 2022.10.08
Intensity transformation  (2) 2022.10.08
Line detection  (0) 2022.09.29
Edge Detection  (0) 2022.09.27
728x90
๋ฐ˜์‘ํ˜•
728x90

intensity transformation๋ž€? 

 โžก๏ธ ์ด๋ฏธ์ง€์˜ ๋ฐ๊ธฐ๋ฅผ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ.

 

 

 

intensity transformation์˜ ์ข…๋ฅ˜

intensity transformation์—๋Š” ํฌ๊ฒŒ 3๊ฐ€์ง€ ์ข…๋ฅ˜๊ฐ€ ์žˆ๋‹ค.

 

1. negative 

 

- ์ด๋ฏธ์ง€์˜ ์–ด๋‘์šด ์˜์—ญ์„ ๋ฐ์€ ์˜์—ญ์œผ๋กœ, ์ด๋ฏธ์ง€์˜ ๋ฐ์€ ์˜์—ญ์„ ์–ด๋‘์šด ์˜์—ญ์œผ๋กœ ๋ฐ˜์ „ ์‹œํ‚ค๋Š” ๊ฒƒ.

 

[๊ณต์‹] 

โžก๏ธ L - 1 - r

r : input, ์˜์ƒ์˜ intensity level์ด [0, L-1] ์‚ฌ์ด์ธ ๊ฒฝ์šฐ

 

 

 

2. log transformation

- ์–ด๋‘์šด ์˜์—ญ์— ์ˆจ์–ด ์žˆ๋Š” detail์„ ๋” ์„ ๋ช…ํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ์— ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค.

- ๋‹จ์ˆœํžˆ ์˜์ƒ์„ ๋ฐ๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค.

- ๋ฐ์€ ๋ถ€๋ถ„์˜ detail์€ ์ค„์–ด๋“ค๊ณ , ์–ด๋‘์šด ์˜์—ญ์˜ detail์€ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค.

- ์–ด๋‘์šด ๋ถ€๋ถ„์˜ contrast๋ฅผ ๋†’์—ฌ์„œ ๋” ์„ ๋ช…ํ•˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

 

[๊ณต์‹] 

โžก๏ธ C log (1+r)

c: ์ž„์˜์˜ ์ƒ์ˆ˜, r : input

 

 

3. gamma transforamtion

- Γ(gamma) ์˜ ๊ฐ’์— ๋”ฐ๋ผ ๋ฐ์€ ๋ถ€๋ถ„์˜ detail์„ ์˜ฌ๋ฆด ์ˆ˜๋„ ์žˆ๊ณ , ์–ด๋‘์šด ๋ถ€๋ถ„์˜ detail์„ ์˜ฌ๋ฆฌ ์ˆ˜ ์žˆ๋‹ค.

- Γ > 1์ธ ๊ฒฝ์šฐ : ๋ฐ์€ ๋ถ€๋ถ„์˜ detail์„ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋‹ค.

- Γ < 1์ธ ๊ฒฝ์šฐ : ์–ด๋‘์šด ๋ถ€๋ถ„์˜ detail์„ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋‹ค.

- Γ = 1์ธ ๊ฒฝ์šฐ : input ์ด๋ฏธ์ง€์™€ output ์ด๋ฏธ์ง€๊ฐ€ ๋™์ผํ•˜๋‹ค.

 

[๊ณต์‹] 

โžก๏ธ Cr^ Γ

c: ์ž„์˜์˜ ์ƒ์ˆ˜, r : input,  Γ: gamma ๊ฐ’.

 

 

 

[์ ์šฉ ๊ฒฐ๊ณผ]

 

728x90
๋ฐ˜์‘ํ˜•

'๐ŸŒƒ computer vision' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Image feature matching  (0) 2022.10.30
Histogram Equalization  (0) 2022.10.08
Spatial Filtering  (0) 2022.10.08
Line detection  (0) 2022.09.29
Edge Detection  (0) 2022.09.27
728x90
๋ฐ˜์‘ํ˜•

๐Ÿšจ error

์˜ค๋žœ๋งŒ์— ์ฝ”๋“œ๋ฅผ github์— ์˜ฌ๋ฆฌ๋ ค๊ณ  ์ปค๋ฐ‹์„ ํ–ˆ๋”๋‹ˆ ์ด๋Ÿฐ ์˜ค๋ฅ˜๊ฐ€ ๋–ด๋‹ค.

 ! [remote rejected] master -> master (pre-receive hook declined)
remote: error: GH001: Large files detected. 
You may want to try Git Large File Storage - https://git-lfs.github.com.

 

๋‚ด๊ฒŒ ์žˆ์–ด ๊ฝค๋‚˜ ์ค‘์š”ํ•œ ์ž‘์—…์ด์—ˆ๋Š”๋ฐ, ๋ช‡ ๋ฒˆ์„ ์‹œ๋„ํ•ด๋„ ์—๋Ÿฌ๋Š” ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•˜๋‹ค.

 

๐Ÿšจ ๊ฐ€์žฅ ํฐ ์ด์œ ๋Š” assetsํŒŒ์ผ์— ๋น„๋””์˜ค๊ฐ€ ํ•˜๋‚˜ ์žˆ์–ด ์šฉ๋Ÿ‰์ด ๋„ˆ๋ฌด ์ปธ๊ธฐ ๋•Œ๋ฌธ์— ์˜ฌ๋ผ๊ฐ€์ง€ ์•Š์•˜๋‹ค. 

 

๊ทธ๋ž˜์„œ, lib ํด๋”๋งŒ ์ปค๋ฐ‹ํ•˜๊ณ ์ž ํ–ˆ์œผ๋‚˜, ์ด๊ฒƒ ๋˜ํ•œ ๋˜์ง€ ์•Š์•˜๋‹ค. 

์ด์ „ ์ปค๋ฐ‹ ๊ธฐ๋ก์ด ๋‚จ์•„์žˆ์–ด์„œ ๊ณ„์† ๊ฐ™์€ ์ด์œ ๋กœ push๊ฐ€ ์‹คํŒจํ–ˆ๋˜ ๊ฒƒ์ด๋‹ค.

 

 

๐Ÿ—  SOLUSION

 

์ด๋•Œ ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.

๐Ÿ’ป  ์ฒซ ๋ฒˆ์งธ๋Š” ๊ฐ•์ œ๋กœ push๋ฅผ ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

$ git push origin master -f

ํ•˜์ง€๋งŒ ๋‚˜๊ฐ™์€ ๊ฒฝ์šฐ ๊ฐ•์ œ push๋„ ๋˜์ง€ ์•Š์•˜๋‹ค...๐Ÿฅน

 

 

 

๐Ÿ’ป  ๋งŒ์•ฝ ๊ฐ•์ œ push๋„ ์•ˆ๋˜๋Š” ๊ฒฝ์šฐ, history๋ฅผ ์‚ญ์ œํ•˜๊ณ  ๋‹ค์‹œ ํ•˜๋ฉด ๋œ๋‹ค.

$ rm -rf .git

ํ„ฐ๋ฏธ๋„์— ์œ„ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์ด์ „ ์ปค๋ฐ‹ history๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋ ‡๊ฒŒ history๋ฅผ ์‚ญ์ œํ•˜๊ณ  ๋‹ค์‹œ git์„ ์ดˆ๊ธฐํ™”ํ•˜๋‹ˆ ๋ฌธ์ œ ์—†์ด commit, push๊ฐ€ ์ด๋ฃจ์–ด์ง์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค !!

728x90

 

728x90
๋ฐ˜์‘ํ˜•

'๐Ÿˆโ€โฌ› git' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Git] ๋ธŒ๋žœ์น˜ ์ „๋žต (Git, GitHub, GitLab)  (0) 2024.07.27
git merge ์—๋Ÿฌ  (0) 2022.07.06
728x90
๋ฐ˜์‘ํ˜•
728x90

ํ•œ ์  (x1, y1)์ด ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ์ง์„ ์€ y1 = a*x1 + b ์ด๋‹ค.

์ด ์‹์€ b = -a*x1 + y1 ์œผ๋กœ๋„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ฒฐ๊ตญ, ํ•œ ์ ์ด ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์ง์„ ์„ b์™€ m์— ๋Œ€ํ•œ ํ‰๋ฉด์—์„œ ํ•˜๋‚˜์˜ ์ง์„ ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

y1 = a*x1 + b  โžก๏ธ  b = -a*x1 + y1 

์‹์„ ์ด๋ ‡๊ฒŒ ๋ฐ”๊พธ๋ฉด, a, b ํ‰๋ฉด์—์„œ ์ง์„ ์ด ๋‘ ๊ฐœ ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค. ์ด๋•Œ ๋‘ ์ง์„ ์˜ ๊ต์ ์€ ๋‘ ์ ์„ ์ง€๋‚˜๋Š” ์ง์„ ์„ ์˜๋ฏธํ•˜๊ฒŒ ๋œ๋‹ค. 

 

์ฐธ๊ณ  ์‚ฌ์ดํŠธ

https://wkdtjsgur100.github.io/Hough-Transform/

728x90
๋ฐ˜์‘ํ˜•

'๐ŸŒƒ computer vision' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Image feature matching  (0) 2022.10.30
Histogram Equalization  (0) 2022.10.08
Spatial Filtering  (0) 2022.10.08
Intensity transformation  (2) 2022.10.08
Edge Detection  (0) 2022.09.27
728x90
๋ฐ˜์‘ํ˜•
728x90

Edge pixels : ๋ฐ๊ธฐ๊ฐ€ ๊ธ‰๊ฒฉํ•˜๊ฒŒ ๋ณ€ํ•˜๋Š” ๊ฒƒ

 

โœ…  ์–ด๋–ป๊ฒŒ detect edges๋ฅผ ํ•˜๋Š”๊ฐ€?

[1์ฐจ์›]

1์ฐจ ๋ฏธ๋ถ„์„ ํ•œ๋‹ค. 

์ฆ‰, ๋ฏธ๋ถ„ ํ–ˆ์„ ๋•Œ 0์ด ์•„๋‹Œ ํŠน์ •ํ•œ ๋ถ€๋ถ„์„ ์ฐพ์•„์„œ ๊ฒ€์ถœํ•˜๋Š” ๊ฒƒ.

 

[2์ฐจ์›]

image gradient๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

grad(f) = x์ถ• ๋ฐฉํ–ฅ์œผ๋กœ์˜ ๋ฏธ๋ถ„๊ฐ’๊ณผ y์ถ• ๋ฐฉํ–ฅ์œผ๋กœ์˜ ๋ฏธ๋ถ„ ๊ฐ’์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค.

* gradient vector์™€ edge direction์€ 90๋„ ์ฐจ์ด.

* gradient vector๋Š” ํ•ด๋‹น ์œ„์น˜์—์„œ ๋ณ€ํ™”๋Ÿ‰์ด ๊ฐ€์žฅ ๊ธ‰๊ฒฉํ•œ ๋ฐฉํ–ฅ.

 

[noise๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ]

noise๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ, edge detection์ด ํž˜๋“ค๊ธฐ ๋•Œ๋ฌธ์— filtering์„ ์‚ฌ์šฉํ•ด์„œ noise๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค.

 

 

โœ…  Edge detection ๋ฐฉ๋ฒ•

1. Sobel operators

์ž๊ธฐ ์ž์‹ ๊ณผ ์ฃผ๋ณ€์˜ ์ฐจ์ด.

gradient๋ฅผ ๊ณ„์‚ฐํ•˜๋ฉฐ, ์—ฐ์‚ฐ์„ ์œ„ํ•ด์„œ๋Š” spatial filter๊ฐ€ ํ•„์š”ํ•˜๋‹ค. 

filtering์„ ๋จผ์ € ํ•˜๊ณ  sobel operator๋ฅผ ์ ์šฉํ•˜๋ฉด filter๋ฅผ ์ ์šฉํ•˜์ง€ ์•Š์€ ๊ฒƒ์— ๋น„ํ•ด ์œค๊ณฝ์„ ์ด ๋šœ๋ ทํ•˜๊ฒŒ ๋ณด์ธ๋‹ค.

๋จผ์ €, gx(gradient x)์™€ gy(gradient y)๋ฅผ ๊ตฌํ•˜๊ณ , ๊ฐ๊ฐ์˜ ์ ˆ๋Œ€๊ฐ’์„ ๋”ํ•˜๋ฉด M(x,y) ์ฆ‰, Magnitude๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

2. Canny Edge Detector

Sobel๋ณด๋‹ค ๋” ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค.

 

Algorithm

1. ๊ฐ€์šฐ์‹œ์•ˆ ํ•„ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜์ƒ ๋‚ด ์žก์Œ์„ ์—†์•ค๋‹ค.

2. Sobel dedge mask๋ฅผ ์‚ฌ์šฉํ•ด์„œ gradient์˜ ํฌ๊ธฐ์™€ ๊ฐ๋„๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค.

3. gradient ๋ฐฉํ–ฅ์œผ๋กœ ์ธ์ ‘ํ•œ ํ”ฝ์…€์„ ๋จผ์ € ์ฐพ๊ณ , nonmaxima suppression์„ ์ ์šฉํ•œ๋‹ค.

 

(nonmaxima suppression์ด๋ž€?)

๋‹ค์Œ ์˜ˆ์‹œ์˜ ๊ฒฝ์šฐ, p5๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋งŒ์•ฝ p2์™€ p8์˜ gradient magnitude๋ณด๋‹ค ์ž‘๋‹ค๋ฉด, p5๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค. ์ฆ‰, 0์œผ๋กœ ๋งŒ๋“ ๋‹ค.

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด p5๋Š” edge๊ฐ€ ๋  ๊ฐ€๋Šฅ์„ฑ์ด ์ ์–ด์ง„๋‹ค.

๋งŒ์•ฝ P5๊ฐ€ p2, p8๋ณด๋‹ค gradient magnitude ๊ฐ’์ด ํฌ๋‹ค๋ฉด ๊ทธ๋ƒฅ ๋„˜์–ด๊ฐ€๊ฒŒ ๋œ๋‹ค.

์ด๋Ÿฐ์‹์œผ๋กœ max๋งŒ ๋‚จ๊ธฐ๋Š” ๊ฒƒ์ด nonmaxima suppressiondlek. 

 

4. double thresholding๊ณผ connectivity analysis๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

๋จผ์ €, ์‚ฌ์šฉ์ž ์ง€์ •์œผ๋กœ Th์™€ Tl์„ ์ •ํ•œ๋‹ค.

โžก๏ธ M(x,y) >= Th ์ธ ๊ฒฝ์šฐ, edge

โžก๏ธ M(x,y) < Tl ์ธ ๊ฒฝ์šฐ, non-edge

โžก๏ธ otherwise, ์ฆ‰, Th์™€ Tl ์‚ฌ์ด์˜ ๊ฐ’๋“ค

    ์ด ๊ฒฝ์šฐ, ๋งŒ์•ฝ edge๋ผ๊ณ  ํŒ์ •ํ•œ ๋ถ€๋ถ„๊ณผ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์œผ๋ฉด edge๋กœ, ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด non-edge๋กœ ๊ฐ„์ฃผํ•œ๋‹ค. 

 

 

Sobel edge์™€ Canny์˜ ์ฐจ์ด

โžก๏ธ  canny๋Š” Sobel์— ๋น„ํ•ด ์ ์€ ์ˆ˜์˜ ๋ถ€๋ถ„๋งŒ์„ edge๋กœ ํŒ๋ณ„ํ•  ์ˆ˜ ์žˆ๋‹ค.

728x90
๋ฐ˜์‘ํ˜•

'๐ŸŒƒ computer vision' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Image feature matching  (0) 2022.10.30
Histogram Equalization  (0) 2022.10.08
Spatial Filtering  (0) 2022.10.08
Intensity transformation  (2) 2022.10.08
Line detection  (0) 2022.09.29
728x90
๋ฐ˜์‘ํ˜•

https://www.acmicpc.net/problem/10718

 

10718๋ฒˆ: We love kriii

ACM-ICPC ์ธํ„ฐ๋„ท ์˜ˆ์„ , Regional, ๊ทธ๋ฆฌ๊ณ  World Finals๊นŒ์ง€ ์ด๋ฏธ 2ํšŒ์”ฉ ์ง„์ถœํ•ด๋ฒ„๋ฆฐ kriii๋Š” ๋ฏธ๋ จ์„ ๋ฒ„๋ฆฌ์ง€ ๋ชปํ•˜๊ณ  ์™ ์ง€ ๋ชจ๋ฅด๊ฒŒ ์˜ฌํ•ด์—๋„ ํŒŒ์ฃผ World Finals ์ค€๋น„ ์บ ํ”„์— ์ฐธ์—ฌํ–ˆ๋‹ค. ๋Œ€ํšŒ๋ฅผ ๋œฐ ์ค„ ๋ชจ๋ฅด๋Š” ์ง€๋ฐ•

www.acmicpc.net

 

๐Ÿ’ป ๋ฌธ์ œ)

๋‘ ์ค„์— ๊ฑธ์ณ "๊ฐ•ํ•œ์นœ๊ตฌ ๋Œ€ํ•œ์œก๊ตฐ"์„ ํ•œ ์ค„์— ํ•œ ๋ฒˆ์”ฉ ์ถœ๋ ฅํ•œ๋‹ค.

โ€‹

2557๋ฒˆ ๋ฌธ์ œ์™€ ๊ฐ™์ด ์ž…๋ ฅ ์—†์ด ์ œ์‹œ๋œ ๋ฌธ์žฅ์ด ์ถœ๋ ฅ ๋˜๋„๋ก ์ฝ”๋“œ๋ฅผ ์งœ๋Š” ๋ฌธ์ œ์ด๋‹ค.

โ€‹

--์†Œ์Šค์ฝ”๋“œ1--

#include <stdio.h>
โ€‹
int main(void)
{
printf("๊ฐ•ํ•œ์นœ๊ตฌ ๋Œ€ํ•œ์œก๊ตฐ\n");
printf("๊ฐ•ํ•œ์นœ๊ตฌ ๋Œ€ํ•œ์œก๊ตฐ");
return 0;
}

โ€‹

โ€‹

์ฝ”๋“œ์„ค๋ช…1. printfํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด ""์•ˆ์— ์ถœ๋ ฅํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฌธ์ž๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.

์ฝ”๋“œ์„ค๋ช…2. \n์€ ์ค„ ๋ฐ”๊ฟˆ์„ ์˜๋ฏธํ•œ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์ถœ๋ ฅํ•ด์•ผ ํ•˜๋Š” ๊ฒฐ๊ณผ๋Š”

โ€‹

๊ฐ•ํ•œ์นœ๊ตฌ ๋Œ€ํ•œ์œก๊ตฐ

๊ฐ•ํ•œ์นœ๊ตฌ ๋Œ€ํ•œ์œก๊ตฐ

โ€‹

์ด๋Ÿฌํ•œ ๊ฒฐ๊ณผ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ฒ˜์Œ printfํ•จ์ˆ˜์—์„œ ์ค„๋ฐ”๊ฟˆ์„ ์ด์šฉํ•ด ๋‹ค์Œ ์ค„์—์„œ ๋‘๋ฒˆ์งธ printf๊ฐ€ ์‹œ์ž‘๋˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

โ€‹

--์†Œ์Šค์ฝ”๋“œ2--

#include <stdio.h>
โ€‹
int main(void)
{
printf("๊ฐ•ํ•œ์นœ๊ตฌ ๋Œ€ํ•œ์œก๊ตฐ\n๊ฐ•ํ•œ์นœ๊ตฌ ๋Œ€ํ•œ์œก๊ตฐ");
return 0;
}

โ€‹

์ด๋ ‡๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•ด๋„ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

โ€‹

์ฝ”๋“œ์„ค๋ช…1. ์•ž์„œ ์„ค๋ช…ํ–ˆ๋“ฏ์ด \n์€ ์ค„๋ฐ”๊ฟˆ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ฝ”๋”ฉ์€ ์ˆœ์„œ๋Œ€๋กœ ์ด๋ฃจ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ๋จผ์ € ๊ฐ•ํ•œ์นœ๊ตฌ ๋Œ€ํ•œ์œก๊ตฐ์„ ์ถœ๋ ฅํ•˜๊ณ , \n์ด ์ด๋ฃจ์–ด์ ธ ์ค„์„ ๋ฐ”๊พผ ๋’ค ๊ฐ•ํ•œ์นœ๊ตฌ ๋Œ€ํ•œ์œก๊ตฐ์ด ์ถœ๋ ฅ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

โ€‹

์ œ์‹œ๋œ ๋‘ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์ด๋ ‡๊ฒŒ ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

โ€‹

๋‘ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๋ชจ๋‘ ์‹คํ–‰ํ•œ ๊ฒฐ๊ณผ์ด๋‹ค.

โ€‹

์ด ๋ฌธ์ œ๋Š” printfํ•จ์ˆ˜๋ฅผ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ , \n์˜ ์˜๋ฏธ์™€ ์‚ฌ์šฉ ์œ„์น˜๋ฅผ ์ž˜ ํŒŒ์•…ํ•˜๊ณ  ์žˆ๋‹ค๋ฉด ์‰ฝ๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์˜€๋˜ ๊ฒƒ ๊ฐ™๋‹ค.

728x90
๋ฐ˜์‘ํ˜•

'๐Ÿ“š ๋ฐฑ์ค€' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๋ฐฑ์ค€_2557. Hello World  (0) 2022.08.25
728x90
๋ฐ˜์‘ํ˜•
 

๋ฌธ์ œ)

Hello World!๋ฅผ ์ถœ๋ ฅํ•˜์‹œ์˜ค.

โ€‹

โ€‹

์ฃผ์–ด์ง„ ๋ฌธ์ œ๋Š” ์ž…๋ ฅ ์—†์ด Hello World!๊ฐ€ ์ถœ๋ ฅ ๋˜๋„๋ก ์ฝ”๋“œ๋ฅผ ์งœ๋Š” ๋ฌธ์ œ์ด๋‹ค.

โ€‹

--์†Œ์Šค์ฝ”๋“œ--

#include <stdio.h>
โ€‹
int main(void)
{
printf("Hello World!");
return 0;
}

โ€‹

โ€‹

โ€‹

๋‹จ๊ณ„๋ณ„ ๋ฌธ์ œ์—์„œ ์ฒซ ๋ฌธ์ œ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ฝ”๋“œ๊ฐ€ ๊ฐ„๋‹จํ•˜๊ณ , ์–ด๋ ค์›€ ์—†์ด ํ’€ ์ˆ˜ ์žˆ๋‹ค.

โ€‹

์ฝ”๋“œ ์„ค๋ช…1. printf ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ ""์•ˆ์— ์ถœ๋ ฅํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฌธ์ž๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.

์ฝ”๋“œ ์„ค๋ช…2. ๋ฐ˜ํ™˜๊ฐ’์„ 0์œผ๋กœ ๋‘๊ณ  ์‹คํ–‰ํ•˜๋ฉด ์›ํ•˜๋Š” ์ถœ๋ ฅ๊ฐ’์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

โ€‹

์ด๋ ‡๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด, ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” Hello World! ๊ฐ€ ์ถœ๋ ฅ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

โ€‹

printf ํ•จ์ˆ˜๋ฅผ ์ œ๋Œ€๋กœ ์ดํ•ดํ–ˆ๋‹ค๋ฉด ์ถฉ๋ถ„ํžˆ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์˜€๋˜ ๊ฒƒ ๊ฐ™๋‹ค.

โ€‹

โ€‹

728x90
๋ฐ˜์‘ํ˜•

'๐Ÿ“š ๋ฐฑ์ค€' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๋ฐฑ์ค€_10718. We love kriii  (0) 2022.08.25
728x90
๋ฐ˜์‘ํ˜•
728x90

server, client

  • server
    ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ •๋ณด๋‚˜ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์œผ๋กœ ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋žจ ๋˜๋Š” ์žฅ์น˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค.
  • client
    ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„๋ผ๋Š” ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ ์ƒ์˜ ์›๊ฒฉ ์„œ๋น„์Šค์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ ์„œ๋น„์Šค

protocol

  • ์ปดํ“จํ„ฐ์™€ ์ปดํ“จํ„ฐ ์‚ฌ์ด, ๋˜๋Š” ํ•œ ์žฅ์น˜์™€ ๋‹ค๋ฅธ ์žฅ์น˜ ์‚ฌ์ด์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์›ํ™œํžˆ ์ฃผ๊ณ ๋ฐ›๊ธฐ ์œ„ํ•˜์—ฌ ์•ฝ์†ํ•œ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๊ทœ์•ฝ.
    -> ์ด ๊ทœ์•ฝ์—๋Š” ์‹ ํ˜ธ ์†ก์‹ ์˜ ์ˆœ์„œ, ๋ฐ์ดํ„ฐ์˜ ํ‘œํ˜„๋ฒ•, ์˜ค๋ฅ˜ ๊ฒ€์ถœ๋ฒ• ๋”ฐ์œ„๊ฐ€ ์žˆ๋‹ค.
  • ์›น์—์„œ ์ด๋ฃจ์–ด์ง€๋Š” ๋ฐ์ดํ„ฐ ํ†ต์‹  ๋ฐฉ์‹
  • ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์ด ์žˆ์„ ๋•Œ ์„œ๋ฒ„๊ฐ€ ์‘๋‹ตํ•˜๊ณ  ์ „์†ก ํ›„ ์—ฐ๊ฒฐ์„ ์ข…๋ฃŒํ•˜๋Š” ๋‹จ๋ฐฉํ–ฅ ํ†ต์‹ 
  • ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์ด ๋ฐ˜๋“œ์‹œ ์„ ํ–‰๋˜์–ด์•ผ ํ•œ๋‹ค.
  • ๋‹จ๋ฐฉํ–ฅ ํ†ต์‹ ์ด๋ฏ€๋กœ ์ •๋ณด๋ฅผ ์ฃผ๊ณ  ๋‚˜๋ฉด ๋ฐ”๋กœ ์—ฐ๊ฒฐ์ด ์ข…๋ฃŒ๋œ๋‹ค. ๋ณด๊ธฐ์—๋Š” ์„œ๋ฒ„๊ฐ€ ์—ฐ๊ฒฐ๋˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ ์—ฐ๊ฒฐ์€ ์ข…๋ฃŒ๋˜๊ณ , ์šฐ๋ฆฌ๋Š” ๋กœ์ปฌ์—์„œ ๋ณด๊ณ  ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

http, https

  • http
    -> hyper text transfer protocol์˜ ์•ฝ์ž์ด๋‹ค.
    -> ๊ธฐ๋ณธ ํฌํŠธ : 80
    -> ์ธํ„ฐ๋„ท์—์„œ ์ •๋ณด๋ฅผ ์ฃผ๊ณ  ๋ฐ›๊ธฐ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ
    -> ์•”ํ˜ธํ™”๊ฐ€ ๋˜์ง€ ์•Š์•„์„œ ๋ณด์•ˆ์— ์ทจ์•ฝํ•˜๋‹ค๋Š” ํŠน์ง•์ด ์žˆ๋‹ค.
  • https
    -> hyper text transfer proocol secure์˜ ์•ฝ์ž์ด๋‹ค.
    -> ๊ธฐ๋ณธ ํฌํŠธ : 443
    -> HTTP + SSL
    -> ๋„คํŠธ์›Œํฌ์—์„œ ์ œ 3์ž๊ฐ€ ๋ณผ ์ˆ˜ ์—†๋„๋ก ๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™”๋ฅผ ์ง€์›ํ•œ๋‹ค.
    -> SSL ๋””์ง€ํ„ธ ์ธ์ฆ์„œ : ๊ณต์ธ๋œ ์ œ 3์ž ์—…์ฒด๊ฐ€ ๋ณด์ฆํ•ด์ฃผ๋Š” ์ „์ž ๋ฌธ์„œ. ์ œ 3์ž ์—…์ฒด์—์„œ ๊ตฌ๋งคํ•ด ์„ค์ •์„ ํ•ด์•ผ์ง€๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

apache, iis, tomcat, nginx

  • apache
    -> HTTP ์›น ์„œ๋ฒ„์šฉ ์†Œํ”„ํŠธ์›จ์–ด์ด๋‹ค.
    -> ์„ธ๊ณ„์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ๋Š” ์›น ์„œ๋ฒ„ ์ค‘ ํ•˜๋‚˜์ด๋‹ค.
    -> ๊ตฌ์ถ•์ด ์‰ฝ์ง€๋งŒ ๋ฌด๊ฒ๋‹ค๋Š” ํŠน์ง•์ด ์žˆ๋‹ค.
    -> ํด๋ผ์ด์–ธํŠธ์—์„œ ์š”์ฒญํ•˜๋Š” HTTP์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์›น์„œ๋ฒ„
  • iis
    -> IIS๋Š” Internet Information Sevices ์˜ ์•ฝ์ž
    -> ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ์›๋„์šฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋ฒ„๋“ค์„ ์œ„ํ•œ ์ธํ„ฐ๋„ท ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค๋“ค์˜ ๋ชจ์ž„
    -> ์•„ํŒŒ์น˜ ์›น์„œ๋ฒ„์— ์ด์–ด ์„ธ๊ณ„์—์„œ ๋‘๋ฒˆ์งธ๋กœ ๊ฐ€์žฅ ์ž˜ ์•Œ๋ ค์ง„ ์›น์„œ๋ฒ„
    -> ASP ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
    -> ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์—์„œ ์ œ๊ณตํ•˜๋Š” ์œˆ๋„์šฐ OS์—์„œ๋งŒ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • tomcat
    -> ํ†ฐ์บฃ WAS(web application server) (์ปจํ…Œ์ด๋„ˆ, ์›น ์ปจํ…Œ์ด๋„ˆ, ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ๋กœ๋„ ๋ถˆ๋ฆผ)
    -> JAVA EE ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์กŒ๋‹ค.
    -> JSP์™€ Servlet์„ ๊ตฌ๋™ํ•˜๊ธฐ ์œ„ํ•œ ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ ์—ญํ• ์„ ์ˆ˜ํ–‰
    -> ์•„ํŒŒ์น˜์„œ๋ฒ„์™€๋Š” ๋‹ค๋ฅด๊ฒŒ DB์—ฐ๊ฒฐ, ๋‹ค๋ฅธ ์‘์šฉํ”„๋กœ๊ทธ๋žจ๊ณผ ์ƒํ˜ธ ์ž‘์šฉ ๋“ฑ ๋™์ ์ธ ๊ธฐ๋Šฅ๋“ค์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
    -> DB์ฒ˜๋ฆฌ์™€ ๊ฐ™์€ ๋™์ ์ธ ๊ธฐ๋Šฅ๋“ค์„ ๊ฐ€๊ณตํ•˜์—ฌ HTMLํŒŒ์ผ๋กœ ๋งŒ๋“ค์–ด ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ œ๊ณต
    -> ๊ธฐ๋ณธ ํฌํŠธ : 8080
  • nginx
    -> ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ์š”์ฒญ์„ ๋ฐ›์•˜์„ ๋•Œ ์š”์ฒญ์— ๋งž๋Š” ์ •์  ํŒŒ์ผ์„ ์‘๋‹ตํ•ด์ฃผ๋Š” HTTP Web Server๋กœ ํ™œ์šฉ๋˜๊ธฐ๋„ ํ•œ๋‹ค.
    -> Reverse Proxy Server๋กœ ํ™œ์šฉํ•˜์—ฌ WAS ์„œ๋ฒ„์˜ ๋ถ€ํ•˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋Š” ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋กœ ํ™œ์šฉ๋˜๊ธฐ๋„ ํ•œ๋‹ค.
    -> ํ•œ ๊ฐœ ๋˜๋Š” ๊ณ ์ •๋œ ํ”„๋กœ์„ธ์Šค๋งŒ ์ƒ์„ฑํ•˜์—ฌ ์‚ฌ์šฉํ•˜๊ณ , ๋น„๋™๊ธฐ ๋ฐฉ์‹์œผ๋กœ ์š”์ฒญ๋“ค์„ Concurrency ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.
    -> ์ƒˆ๋กœ์šด ์š”์ฒญ์ด ๋“ค์–ด์˜ค๋”๋ผ๋„ ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค์™€ ์“ฐ๋ ˆ๋“œ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ์„ธ์Šค์™€ ์“ฐ๋ ˆ๋“œ ์ƒ์„ฑ ๋น„์šฉ์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค.

mysql, oracle, mariaDB, ms sql server

  • mysql
    -> MySQL์€ ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š” ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(RDBMS: Relational DBMS)์ด๋‹ค.
    -> MySQL์€ ์˜คํ”ˆ ์†Œ์Šค์ด๋ฉฐ, ๋‹ค์ค‘ ์‚ฌ์šฉ์ž์™€ ๋‹ค์ค‘ ์Šค๋ ˆ๋“œ๋ฅผ ์ง€์›ํ•œ๋‹ค.
    -> C์–ธ์–ด, C++, JAVA, PHP ๋“ฑ ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์œ„ํ•œ ๋‹ค์–‘ํ•œ API๋ฅผ ์ œ๊ณตํ•œ๋‹ค.
    -> ์œ ๋‹‰์Šค, ๋ฆฌ๋ˆ…์Šค, ์œˆ๋„์šฐ ๋“ฑ ๋‹ค์–‘ํ•œ ์šด์˜์ฒด์ œ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํŠนํžˆ PHP์™€ ํ•จ๊ป˜ ์›น ๊ฐœ๋ฐœ์— ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค.
    -> ์˜คํ”ˆ ์†Œ์Šค ๋ผ์ด์„ผ์Šค๋ฅผ ๋”ฐ๋ฅด๊ธฐ๋Š” ํ•˜์ง€๋งŒ, ์ƒ์—…์ ์œผ๋กœ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ์ƒ์—…์šฉ ๋ผ์ด์„ผ์Šค๋ฅผ ๊ตฌ์ž…ํ•ด์•ผ๋งŒ ํ•œ๋‹ค.
    -> ์ฐธ๊ณ  : http://www.tcpschool.com/mysql/mysql_intro_intro
  • oracle
    -> Oracle Corporation์ด๋ž€ ๋ฏธ๊ตญ์˜ ๊ธฐ์—…์—์„œ ๋งŒ๋“  ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ
    -> Database ์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ์ด๋ฉฐ, ๊ธฐ๋Šฅ ๋˜ํ•œ ๊ฐ€์žฅ ์ข‹์€ ๊ฒƒ์œผ๋กœ ์•Œ๋ ค์ง„ ์ตœ๊ณ ์˜ Database ์ด๋‹ค.
    -> ์ฐธ๊ณ  : https://opentutorials.org/course/3885
  • mariaDB
    -> MySQL์ฝ”๋“œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐœ๋ฐœ๋œ ์˜คํ”ˆ์†Œ์Šค RDBMS
    -> MySQL๊ณผ ์†Œ์Šค์ฝ”๋“œ๊ฐ€ ๊ฐ™์œผ๋ฏ€๋กœ ๋ช…๋ น์–ด, ์‚ฌ์šฉ๋ฐฉ๋ฒ•๊ณผ ๊ตฌ์กฐ๊ฐ€ MySQL๊ณผ ๋™์ผ
    -> ๋ฆฌ๋ˆ…์Šค(linux)์—์„œ๋Š” MySQL ๋Œ€์‹ ์— MariaDB๋ฅผ ํ‘œ์ค€์œผ๋กœ ์ฑ„ํƒํ•˜๊ณ  ์žˆ๋‹ค.
  • ms sql server
    -> ms๋Š” ๋งˆ์ดํฌ๋กœ ์†Œํ”„ํŠธ์˜ ์•ฝ์ž์ด๋‹ค.
    -> SQL Server๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ €์žฅํ•˜๊ณ  ์žˆ์œผ๋ฉด์„œ ํด๋ผ์ด์–ธํŠธ์˜ ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰ ๋ฐ ์ˆ˜์ • ์‚ญ์ œ์— ๋Œ€ํ•œ ์š”์ฒญ์„ ๋ฐ›์•„ ์ฒ˜๋ฆฌํ•˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ „๋‹ฌ
    -> ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ์š”์ฒญ(์ฟผ๋ฆฌ๋ฌธ)์„ ๋ฐ›์•„ ๊ทธ ๊ฒฐ๊ณผ์„ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ „๋‹ฌํ•ด์ฃผ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ์‹œ์Šคํ…œ(DBMS)์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.
    -> ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ด€๋ฆฌ์‹œ์Šคํ…œ ์ค‘์—์„œ๋„ ๊ด€๊ณ„ํ˜•๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(RDB)๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ด€๊ณ„ํ˜•๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ด€๋ฆฌ์‹œ์Šคํ…œ(RDBMS)์ด๋‹ค.

front-end, back-end, full stack

  • front-end
    ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๋Š” ํŽ˜์ด์ง€๋ฅผ ๊ตฌ์„ฑํ•œ๋‹ค.
  • back-end
    ๋ฐฑ์—”๋“œ๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค์—์„œ ์„œ๋ฒ„ ์ธก ๊ฐœ๋ฐœ ๋ถ„์•ผ. ๋ฐฑ์—”๋“œ์—์„œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋ฉฐ, ์›น์‚ฌ์ดํŠธ์˜ ํด๋ผ์ด์–ธํŠธ ์ธก(Client-side)์—์„œ ๋ชจ๋“  ๊ฒƒ์ด ๋งค๋„๋Ÿฝ๊ฒŒ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค.
  • full stack
    = front-end + back-end

html, css, javascript

  • html
    -> Hyper Text Markup Language์˜ ์•ฝ์–ด์ด๋‹ค.
    -> HyperText(์›น ํŽ˜์ด์ง€์—์„œ ๋‹ค๋ฅธ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ) ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„ ๋ฌธ์„œ๋ฅผ ๋งŒ๋“œ๋Š” ์–ธ์–ด
    -> ์›น ํŽ˜์ด์ง€๋ฅผ ์œ„ํ•œ ๋งˆํฌ์—… ์–ธ์–ด
  • css
    -> Cascading Style Sheets์˜ ์•ฝ์–ด์ด๋‹ค.
    -> ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฌธ์„œ๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ง€์ •ํ•˜๋Š” ์–ธ์–ด
    -> HTML๋กœ ๋ฌธ์„œ์˜ ๋ผˆ๋Œ€๋ฅผ ๋งŒ๋“ค๋ฉด, Css๋Š” ๊ธ€๊ผด์ด๋‚˜, ๊ธ€์ž ์ƒ‰ ๋“ฑ์„ ์ง€์ •ํ•˜์—ฌ ๊พธ๋ฏธ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
  • javascript
    -> HTML๊ณผ CSS๋กœ ๋งŒ๋“ค์–ด์ง„ ์›นํŽ˜์ด์ง€๋ฅผ ๋™์ ์œผ๋กœ ๋ณ€๊ฒฝํ•ด์ฃผ๋Š” ์–ธ์–ด์ด๋‹ค.

ssh, ftp, sftp

  • ssh
    -> ๋„คํŠธ์›Œํฌ ์ƒ์˜ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์— ๋กœ๊ทธ์ธํ•˜๊ฑฐ๋‚˜ ์›๊ฒฉ ์‹œ์Šคํ…œ์—์„œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ณ  ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์œผ๋กœ ํŒŒ์ผ์„ ๋ณต์‚ฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๋˜๋Š” ๊ทธ ํ”„๋กœํ† ์ฝœ์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค.
    -> ์ฆ‰, ๋„คํŠธ์›Œํฌ ํ”„๋กœํ† ์ฝœ ์ค‘ ํ•˜๋‚˜๋กœ ์ปดํ“จํ„ฐ์™€ ์ปดํ“จํ„ฐ๊ฐ€ ์ธํ„ฐ๋„ท๊ณผ ๊ฐ™์€ Public Network๋ฅผ ํ†ตํ•ด์„œ ์„œ๋กœ ํ†ต์‹ ์„ ํ•  ๋•Œ ๋ณด์•ˆ์ ์œผ๋กœ ์•ˆ์ „ํ•˜๊ฒŒ ํ†ต์‹ ์„ ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค.
    -> ํฌํŠธ ๋ฒˆํ˜ธ : 22
  • ftp
    -> ํŒŒ์ผ ์ „์†ก ํ”„๋กœํ† ์ฝœ(File Transfer Protocol)์˜ ์•ฝ์ž์ด๋‹ค.
    -> TCP/IP ๋„คํŠธ์›Œํฌ(์ธํ„ฐ๋„ท)์ƒ์˜ ์žฅ์น˜๊ฐ€ ํŒŒ์ผ์„ ์ „์†กํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ทœ์น™
    -> FTP๋ž€ ํŒŒ์ผ์„ ์ด๋™ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
    -> ํฌํŠธ ๋ฒˆํ˜ธ : 21
  • sftp
    -> ํŒŒ์ผ์„ ๋ณด๋‚ด๊ณ  ๋‹ค์šด ๋ฐ›๊ธฐ ์œ„ํ•œ ์ „์†ก ํ”„๋กœํ† ์ฝœ์ด๋‹ค.
    -> secure FTP
    -> SSH์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ „์†ก์‹œ ์•”ํ˜ธํ™”์‹œ์ผœ์„œ ์ „์†ก์„ ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ๊ทธ ์ค‘์— FTP์™€ ๊ฐ™์ด ํŒŒ์ผ์„ ์ „์†กํ•  ๋•Œ ์•”ํ˜ธํ™” ์‹œ์ผœ์„œ ์ „์†ก
    -> ํฌํŠธ ๋ฒˆํ˜ธ : 22

Ethernet, Router, LAN, WAN

  • Ethernet
    -> ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ ๊ธฐ์ˆ ์˜ ํ•˜๋‚˜๋กœ, ์ „์„ธ๊ณ„์˜ ์‚ฌ๋ฌด์‹ค์ด๋‚˜ ๊ฐ€์ •์—์„œ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” LAN์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ํ™œ์šฉ๋˜๋Š” ๊ธฐ์ˆ  ๊ทœ๊ฒฉ
    -> ์ด๋”๋„ท์€ ๋„คํŠธ์›Œํ‚น์˜ ํ•œ ๋ฐฉ์‹
    -> ๋„คํŠธ์›Œํฌ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.
  • Router
    -> ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ ๊ฐ„์— ๋ฐ์ดํ„ฐ ํŒจํ‚ท์„ ์ „์†กํ•˜๋Š” ๋„คํŠธ์›Œํฌ ์žฅ์น˜๋‹ค.
  • LAN
    -> Local Area Network์˜ ์•ฝ์–ด์ด๋‹ค.
    -> ์–ด๋Š ํ•œ์ •๋œ ๊ณต๊ฐ„์—์„œ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ตฌ์„ฑํ•œ๋‹ค๋Š” ๊ฒƒ
    -> ์ง€์—ญ ๋„คํŠธ์›Œํฌ
  • WAN
    -> Wide Area Network
    -> ์„œ๋กœ ๋ฉ€๋ฆฌ ๋–จ์–ด์ง„ ๊ณณ์„ ๋„คํŠธ์›Œํฌ๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒƒ
    -> ๊ด‘์—ญ ๋„คํŠธ์›Œํฌ

tcp/ip, encapsulation, decapsulation

  • tcp/ip
    -> ์ปดํ“จํ„ฐ ์‚ฌ์ด์˜ ํ†ต์‹  ํ‘œ์ค€ ๋ฐ ๋„คํŠธ์›Œํฌ์˜ ๋ผ์šฐํŒ… ๋ฐ ์ƒํ˜ธ์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๊ทœ์น™์„ ์ง€์ •ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ ์Šค์œ„ํŠธ
    -> ์ธํ„ฐ๋„ท์—์„œ ๊ด‘๋ฒ”์œ„ํ•˜๊ฒŒ ์‚ฌ์šฉ๋˜๋ฉฐ ์ด๋ฅผ ํ†ตํ•ด ํ•™ํšŒ, ๋Œ€ํ•™, ์ •๋ถ€, ๊ธฐ์—…์—์„œ ์„œ๋กœ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • encapsulation
    -> ๊ฐ์ฒด๊ฐ€ ๊ธฐ๋Šฅ์„ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ ํ–ˆ๋Š”์ง€ ์™ธ๋ถ€์— ๊ฐ์ถ”๋Š” ๊ฒƒ
    -> ์™ธ๋ถ€์— ์˜ํ–ฅ ์—†์ด ๊ฐ์ฒด ๋‚ด๋ถ€ ๊ตฌํ˜„ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ
  • decapsulation
    -> ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ์ˆ˜์‹ ์ง€์˜ ๊ณ„์ธต๊นŒ์ง€์˜ ์‘์šฉ ๋ฐ์ดํ„ฐ๋งŒ์„ ๋ณด๋‚ด๋Š” ๊ฒƒ
    ์˜ˆ) ํฌ์žฅ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์„ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ.

ip address, port, socket, DHCP

  • ip address
    ์ธํ„ฐ๋„ท ์ƒ์—์„œ ํ˜ธ์ŠคํŠธ๋ฅผ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ์ˆซ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ์ฃผ์†Œ
  • port
    IP ๋‚ด์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒํ˜ธ ๊ตฌ๋ถ„(ํ”„๋กœ์„ธ์Šค ๊ตฌ๋ถ„)์„ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋ฒˆํ˜ธ
  • socket
    -> ๋„คํŠธ์›Œํฌ์ƒ์—์„œ ๋™์ž‘ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ๊ฐ„ ํ†ต์‹ ์˜ ์ข…์ฐฉ์ (Endpoint)์ด๋‹ค.
    -> ์ฆ‰, ํ”„๋กœ๊ทธ๋žจ์ด ๋„คํŠธ์›Œํฌ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ์—ฐ๊ฒฐ๋ถ€๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • DHCP
    -> ํ˜ธ์ŠคํŠธ์˜ IP์ฃผ์†Œ์™€ ๊ฐ์ข… TCP/IP ํ”„๋กœํ† ์ฝœ์˜ ๊ธฐ๋ณธ ์„ค์ •์„ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ž๋™์ ์œผ๋กœ ์ œ๊ณตํ•ด์ฃผ๋Š” ํ”„๋กœํ† ์ฝœ
    -> ๋„คํŠธ์›Œํฌ ์•ˆ์— ์ปดํ“จํ„ฐ์— ์ž๋™์œผ๋กœ ๋„ค์ž„ ์„œ๋ฒ„ ์ฃผ์†Œ, IP์ฃผ์†Œ, ๊ฒŒ์ดํŠธ์›จ์ด ์ฃผ์†Œ๋ฅผ ํ• ๋‹นํ•ด์ฃผ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.
    -> ํ•ด๋‹น ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ผ์ • ๊ธฐ๊ฐ„ ์ž„๋Œ€๋ฅผ ํ•˜๋Š” ๋™์  ์ฃผ์†Œ ํ• ๋‹น ํ”„๋กœํ† ์ฝœ

domain name, DNS(Domain name system)

  • domain name
    IP Address๋ฅผ ์‚ฌ๋žŒ์ด ๊ธฐ์–ตํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“  ์ฃผ์†Œ. ๋„๋ฉ”์ธ ์ฃผ์†Œ๋ฅผ ์คฌ์„ ๋•Œ IP ์ฃผ์†Œ๋ฅผ ์ฐพ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
  • DNS
    ํ• ๋‹น ๋œ ๋„๋ฉ”์ธ ์˜์—ญ์— ๋Œ€ํ•œ IP ์ฃผ์†Œ์™€ Domain ์ด๋ฆ„์„ ์ €์žฅํ•œ๋‹ค.

network utility : ifconfig, ip, netstat, host, hostname, traceroute

  • ifconfig
    ํ˜„์žฌ ์—ฐ๊ฒฐ ๋˜์–ด ์žˆ๋Š” ๋„คํŠธ์›Œํฌ ์ •๋ณด๋ฅผ ์•Œ๋ ค์ค€๋‹ค.
  • ip
    ์ปดํ“จํ„ฐ ํ†ต์‹ ๋ง์— ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ์‚ฌ๋žŒ์ด๋‚˜ ๊ธฐ์—….
  • netstat
    ์ „์†ก ์ œ์–ด ํ”„๋กœํ† ์ฝœ, ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”, ์ˆ˜ ๋งŽ์€ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค, ๋„คํŠธ์›Œํฌ ํ”„๋กœํ† ์ฝœ ํ†ต๊ณ„๋ฅผ ์œ„ํ•œ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์„ ๋ณด์—ฌ์ฃผ๋Š” ์ค„ ๋„๊ตฌ์ด๋‹ค.
  • host
    ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ์ปดํ“จํ„ฐ๋“ค
  • hostname
    ๋„คํŠธ์›Œํฌ์ƒ์˜ ์žฅ์น˜ (ํ˜ธ์ŠคํŠธ)์— ํ• ๋‹น ๋œ ๋ ˆ์ด๋ธ” (์ด๋ฆ„)์ด๋ฉฐ ํŠน์ • ๋„คํŠธ์›Œํฌ ๋˜๋Š” ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ํ•˜๋‚˜์˜ ์žฅ์น˜๋ฅผ ๋‹ค๋ฅธ ์žฅ์น˜์™€ ๊ตฌ๋ณ„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.
  • traceroute
    ์›๊ฒฉ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ IP ํŒจํ‚ท์˜ ๊ฒฝ๋กœ๋ฅผ ์ถ”์ ํ•œ๋‹ค.
    ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ž˜๋ชป๋œ ๊ฒฝ๋กœ ์ง€์ • ๊ตฌ์„ฑ ๋ฐ ๊ฒฝ๋กœ ์ง€์ • ๊ฒฝ๋กœ ์˜ค๋ฅ˜๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.

domain name : nslookup, ping

  • nslookup
    nslookup ๋ช…๋ น์–ด๋Š” ๋„คํŠธ์›Œํฌ ๋””๋ฒ„๊น…์„ ์œ„ํ•ด ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด๋กœ, DNS ์„œ๋ฒ„์— ์ง์ ‘ DNS ์ฟผ๋ฆฌ๋ฅผ ํ•˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
  • ping
    IP ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ํŠน์ •ํ•œ ํ˜ธ์ŠคํŠธ๊ฐ€ ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š”์ง€์˜ ์—ฌ๋ถ€๋ฅผ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐ ์“ฐ์ด๋Š” ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ ๋„๊ตฌ ์ค‘ ํ•˜๋‚˜์ด๋‹ค.
728x90
๋ฐ˜์‘ํ˜•

+ Recent posts