[TIL-20260211] ์ฝ”ํ…Œ - ๋ณ‘ํ•ฉ ์ •๋ ฌ , Open API 3.0 Swagger ๋ฌธ์„œ ์ž‘์„ฑ

2026. 2. 12. 11:59ยทToday I Learned ๐Ÿง

๐Ÿ€ To Do List

โœ”๏ธ ์ฝ”ํ…Œ ๋ณต์Šต - ๋ณ‘ํ•ฉ ์ •๋ ฌ, ๋ถ„ํ•  ์ •๋ณต

โœ”๏ธ ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ - access token ์œ ํšจ์„ฑ ์ฒดํฌ API , swagger ๋ฌธ์„œ ์ˆ˜์ •

 

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป Today I Learned ...

๋ณ‘ํ•ฉ ์ •๋ ฌ (Merge Sort)

  • ๋ฐฐ์—ด์˜ ์•ž๋ถ€๋ถ„๊ณผ ๋’ท๋ถ€๋ถ„์˜ ๋‘ ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋ˆ„์–ด ๊ฐ๊ฐ ์ •๋ ฌํ•œ ํ›„ ๋ณ‘ํ•ฉํ•˜๋Š” ์ž‘์—…์„ ๋ฐ˜๋ณตํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • ๋‘ ์ •๋ ฌ๋œ ๋ฐฐ์—ด์„ ํ•˜๋‚˜๋กœ ํ•ฉ์นœ๋‹ค.
array_a = [1, 2, 3, 5]
array_b = [4, 6, 7, 8]

def merge(array1, array2):
    i = 0
    j = 0
    result = []

    while i < len(array1) and j < len(array2):
        # print("array1[i]", array1[i]) # 1
        # print("array2[j]", array2[j]) # 4
        if array1[i] < array2[j]:
            result.append(array1[i])
            i += 1
        else:
            result.append(array2[j])
            j += 1

    while i < len(array1):
        result.append(array1[i])
        i += 1

    while j < len(array2):
        result.append(array2[j])
        j += 1

    return result

 

 

 

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋™์ž‘ ๊ณผ์ •

array1 = [1, 2, 3, 5]
array2 = [4, 6, 7, 8]

1๋‹จ๊ณ„: 
โœ…
[1, 2, 3, 5]
โœ…
[4, 6, 7, 8]

1 < 4 → result = [1]


2๋‹จ๊ณ„:
    โœ…
[1, 2, 3, 5]
โœ…
[4, 6, 7, 8]
2 < 4 → result = [1, 2]


3๋‹จ๊ณ„:
       โœ…
[1, 2, 3, 5]
โœ…
[4, 6, 7, 8]
3 < 4 → result = [1, 2, 3]


4๋‹จ๊ณ„:
          โœ…
[1, 2, 3, 5]
โœ…
[4, 6, 7, 8]
5 > 4 → result = [1, 2, 3, 4]


5๋‹จ๊ณ„:
          โœ…
[1, 2, 3, 5]
   โœ…
[4, 6, 7, 8]
5 < 6 → result = [1, 2, 3, 4, 5]

            โœ…
[1, 2, 3, 5]
   โœ…
[4, 6, 7, 8]
6๋‹จ๊ณ„: array1 ๋ → array2 ๋‚˜๋จธ์ง€ ์ถ”๊ฐ€ → result = [1, 2, 3, 4, 5, 6, 7, 8]

 

 

 

๋ถ„ํ•  ์ •๋ณต (divide & conquer)

  • ๋ฌธ์ œ๋ฅผ ์ž‘์€ 2๊ฐœ์˜ ๋ฌธ์ œ๋กœ ๋ถ„๋ฆฌํ•˜๊ณ  ๊ฐ๊ฐ์„ ํ•ด๊ฒฐํ•œ ๋‹ค์Œ, ๊ฒฐ๊ณผ๋ฅผ ๋ชจ์•„์„œ ์›๋ž˜์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ์ „๋žต 
    • ๋ฐฐ์—ด์„ ์ ˆ๋ฐ˜์”ฉ ๋‚˜๋ˆ„๊ณ , ๊ฐ๊ฐ์„ ์ •๋ ฌํ•œ ํ›„ ๋ณ‘ํ•ฉํ•œ๋‹ค. โžก๏ธ ์žฌ๊ท€(`Recursion`) ํ™œ์šฉ
def merge_sort(array):
    if len(array) <= 1:
        return array
    min = len(array) // 2
    left_array = merge_sort(array[:min]) # ์ฒ˜์Œ๋ถ€ํ„ฐ ์ค‘์•™๊ฐ’๊นŒ์ง€
    right_array = merge_sort(array[min:]) # ์ค‘์•™๊ฐ’๋ถ€ํ„ฐ ๋๊นŒ์ง€
    return merge(left_array, right_array) # ์œ„์—์„œ ๊ตฌํ˜„ํ•œ ๋ณ‘ํ•ฉ ์ •๋ ฌ

 

 

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋™์ž‘ ๊ณผ์ •

[5, 3, 2, 1, 6, 8, 7, 4]
         ↓ (๋ถ„ํ• )
[5, 3, 2, 1]    [6, 8, 7, 4]
     ↓               ↓
[5, 3]  [2, 1]  [6, 8]  [7, 4]
  ↓       ↓       ↓       ↓
[5] [3] [2] [1] [6] [8] [7] [4]  ← ์žฌ๊ท€ํ•จ์ˆ˜ ํƒˆ์ถœ ์กฐ๊ฑด (๊ธธ์ด 1)
  ↓       ↓       ↓       ↓
[3, 5]  [1, 2]  [6, 8]  [4, 7]  ← ๋ณ‘ํ•ฉ ์‹œ์ž‘
     ↓               ↓
[1, 2, 3, 5]    [4, 6, 7, 8]
         ↓ (์ตœ์ข… ๋ณ‘ํ•ฉ)
[1, 2, 3, 4, 5, 6, 7, 8]

 

 

์ฐธ๊ณ  >

์ธํ”„๋Ÿฐ ๊ฐ•์˜ - 2025 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ•„์ˆ˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜

 

 

 

 

Open API 3.0 Swagger ์–ด๋…ธํ…Œ์ด์…˜ 

์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ ์ค‘, FE์—์„œ ์–ด๋–ค API์ธ์ง€ ๋‚ด์šฉ ์„ค๋ช…์ด ์žˆ์œผ๋ฉด ์ข‹๊ฒ ๋‹ค๋Š” ํ”ผ๋“œ๋ฐฑ์ด ์žˆ์–ด์„œ ์•„๋ž˜ ์–ด๋…ธํ…Œ์ด์…˜๋“ค์„ ์‚ฌ์šฉํ•ด๋ดค๋‹ค.

 

 

@Tag

์–ด๋–ค `Controller`/`API` ๋ชฉ๋ก๋“ค์ธ์ง€ ๋‚˜ํƒ€๋‚ผ ๋•Œ ํ•ด๋‹น ์–ด๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ–ˆ๋‹ค.

 

 

 

@Operation

ํ•ด๋‹น API๊ฐ€ ์–ด๋–ค ์—ญํ• ์„ ํ•˜๋Š”์ง€ ๋‚˜ํƒ€๋‚ผ ๋•Œ ํ•ด๋‹น ์–ด๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ–ˆ๋‹ค.

 

์ฐธ๊ณ  >

 

[Spring] OpenApI 3.0 Swagger ๋ฌธ์„œ ์ž‘์„ฑ ๋ฐ ์„ค์ • ๋ฐฉ๋ฒ•

๋“ค์–ด๊ฐ€๋ฉฐSwagger ๋Š” RestDocs ์— ๋น„ํ•ด ๋‹จ์ˆœ ์ ์šฉ์€ ๊ฐ„ํŽธํ•˜์ง€๋งŒ ๊ธฐ๋ณธ์ ์ธ ์„ค์ •๋งŒ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ์—๋Š” ์•„์‰ฌ์šด ๋ถ€๋ถ„์ด ์žˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Open API 3.0 Swagger ๋ฅผ ์ ์šฉํ• ๋•Œ ํ•„์š”ํ•œ ๊ฐœ๋…๊ณผ ์กฐ๊ธˆ ๋” ๋‚˜์€ ๋ฌธ์„œ

ywoosang.tistory.com

 

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Today I Learned ๐Ÿง' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[TIL-20260213] Swagger์—์„œ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ํ…Œ์ŠคํŠธ  (0) 2026.02.14
[TIL-20260212] ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ๋ณต์Šต - ํƒ‘(Tower) ๋ฌธ์ œ  (0) 2026.02.14
[TIL-20260208] Instant๋กœ ํ† ํฐ ๋งŒ๋ฃŒ ์ž„๋ฐ• ์—ฌ๋ถ€ ์ฒดํฌ  (0) 2026.02.08
[TIL-20260206] Duration์œผ๋กœ ํ† ํฐ ๋งŒ๋ฃŒ ์ž„๋ฐ• ์—ฌ๋ถ€ ์ฒดํฌ  (0) 2026.02.07
[TIL-20260205] Access Token ์žฌ๋ฐœ๊ธ‰ ๊ตฌํ˜„  (0) 2026.02.05
'Today I Learned ๐Ÿง' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [TIL-20260213] Swagger์—์„œ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ํ…Œ์ŠคํŠธ
  • [TIL-20260212] ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ๋ณต์Šต - ํƒ‘(Tower) ๋ฌธ์ œ
  • [TIL-20260208] Instant๋กœ ํ† ํฐ ๋งŒ๋ฃŒ ์ž„๋ฐ• ์—ฌ๋ถ€ ์ฒดํฌ
  • [TIL-20260206] Duration์œผ๋กœ ํ† ํฐ ๋งŒ๋ฃŒ ์ž„๋ฐ• ์—ฌ๋ถ€ ์ฒดํฌ
ํ•ด๋‹ˆ ๐ŸŒฑ
ํ•ด๋‹ˆ ๐ŸŒฑ
๊ธฐ๋ก์ด ์ž์‚ฐ์ด๋‹ค ( •ฬ€แด—•ฬ )ูˆโœ๏ธ
  • ํ•ด๋‹ˆ ๐ŸŒฑ
    haeni.dev
    ํ•ด๋‹ˆ ๐ŸŒฑ
  • ๋งํฌ

    • github
    • velog
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (25)
      • ์šฐ์‚ฌ๊ธฐ ๊ฐœ๋ฐœ์ผ์ง€ ๐Ÿฐ (4)
      • Today I Learned ๐Ÿง (19)
      • ๋ถ„๋…ธ์˜ ํƒ€์ดํ•‘ ๋กœ๊ทธ ๐Ÿ”ฅ (2)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    AWS
    til
    springboot
    ์ฝ”๋”ฉํ…Œ์ŠคํŠธ
    ๊ฐœ๋ฐœ์ž
    ๋ฐฑ์—”๋“œ
    ๊ฐœ๋ฐœ
    ci/cd
    IT
    ์ฝ”ํ…Œ
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.5
ํ•ด๋‹ˆ ๐ŸŒฑ
[TIL-20260211] ์ฝ”ํ…Œ - ๋ณ‘ํ•ฉ ์ •๋ ฌ , Open API 3.0 Swagger ๋ฌธ์„œ ์ž‘์„ฑ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”