์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- OOP
- 2024-08-20
- Android Studio
- swagger
- ๊ฐ์ฒด์งํฅํ๋ก๊ทธ๋๋ฐ
- http method
- ํ๋ IT&E
- datepicker
- Kotlin
- ์ด๋ ธํ ์ด์
- Python
- udp
- ์ฑ์ฉํ์ ํ
- URN
- ๊ธฐ์ด100์
- di
- OpenAPI
- IOC
- url
- uri
- ์ฝ๋์
- Dialog
- fontstyle
- menutab
- FACTORY
- 2024-08-21
- Factory Method Pattern
- tcp
- AndroidStudio
- reflection
๋ชฉ๋ก์ ์ฒด ๊ธ (74)
dingdong coding
• ์ต๋จ๊ฒฝ๋ก ์๊ณ ๋ฆฌ์ฆ : ๊ฐ์ฅ ์งง์ ๊ฒฝ๋ก๋ฅผ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ • ๋ค์ํ ๋ฌธ์ ์ํฉ • ํ ์ง์ ์์ ๋ค๋ฅธ ํ ์ง์ ๊น์ง์ ์ต๋จ๊ฒฝ๋ก • ํ ์ง์ ์์ ๋ค๋ฅธ ๋ชจ๋ ์ง์ ๊น์ง์ ์ต๋จ๊ฒฝ๋ก • ๋ชจ๋ ์ง์ ์์ ๋ค๋ฅธ ๋ชจ๋ ์ง์ ๊น์ง์ ์ต๋จ๊ฒฝ๋ก • ๊ฐ ์ง์ ์ ๊ทธ๋ํ์์ ๋ ธ๋๋ก ํํ • ์ง์ ๊ฐ ์ฐ๊ฒฐ๋ ๋๋ก๋ ๊ทธ๋ํ์์ ๊ฐ์ ์ผ๋ก ํํ ๋ค์ต์คํธ๋ผ ์ต๋จ ๊ฒฝ๋ก ์๊ณ ๋ฆฌ์ฆ • ํน์ ํ ๋ ธ๋์์ ์ถ๋ฐํ์ฌ ๋ค๋ฅธ ๋ชจ๋ ๋ ธ๋๋ก ๊ฐ๋ ์ต๋จ๊ฒฝ๋ก๋ฅผ ๊ณ์ฐํฉ๋๋ค. • ๋ค์ต์คํธ๋ผ ์ต๋จ ๊ฒฝ๋ก ์๊ณ ๋ฆฌ์ฆ์ ์์ ๊ฐ์ ์ด ์์ ๋ ์ ์์ ์ผ๋ก ๋์ํฉ๋๋ค. • ํ์ค ์ธ๊ณ์ ๋๋ก(๊ฐ์ )์ ์์ ๊ฐ์ ์ผ๋ก ํํ๋์ง ์์ต๋๋ค. • ๋ค์ต์คํธ๋ผ ์ต๋จ ๊ฒฝ๋ก ์๊ณ ๋ฆฌ์ฆ์ ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๋ถ๋ฅ๋ฉ๋๋ค. • ๋งค ์ํฉ์์ ๊ฐ์ฅ ๋น์ฉ์ด ์ ์ ๋ ธ๋๋ฅผ ์ ํํด ์์์ ๊ณผ์ ์ ๋ฐ๋ณตํฉ๋๋ค. • ์๊ณ ๋ฆฌ์ฆ์..
• ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ : ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ์ ํ ์ฌ์ฉ์ฌ์ฌ ์ํ ์๊ฐ์ ๋น์ฝ์ ์ผ๋ก ์ฆ๊ฐ์ํค๋ ๋ฐฉ๋ฒ • ์ด๋ฏธ ๊ณ์ฐ๋ ๊ฒฐ๊ณผ(์์ ๋ฌธ์ )๋ ๋ณ๋์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์ ์ฅํ์ฌ ๋ค์ ๊ณ์ฐํ์ง ์๋๋ก ํ๋ค. • ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ์ ๊ตฌํ์ ์ผ๋ฐ์ ์ผ๋ก ๋ ๊ฐ์ง ๋ฐฉ์(ํ๋ค์ด, ๋ณดํ ์ )์ผ๋ก ๊ตฌ์ฑ๋๋ค. ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ์ ๋์ ๊ณํ๋ฒ์ด๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค. ์ผ๋ฐ์ ์ธ ํ๋ก๊ทธ๋๋ฐ ๋ถ์ผ์์ ๋์ (Dynamic)์ด๋ : ์๋ฃ๊ตฌ์กฐ์์ ๋์ ํ ๋น(Dynamic Allocation)์ 'ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ ๋์ค์ ์คํ์ ํ์ํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๋ ๊ธฐ๋ฒ' ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ์์ '๋ค์ด๋๋ฏน'์ ๋ณ๋ค๋ฅธ ์๋ฏธ์์ด ์ฌ์ฉ๋ ๋จ์ด ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ์ ๋ค์ ์กฐ๊ฑด์ ๋ง์กฑํ ๋ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค. 1. ์ต์ ๋ถ๋ถ ๊ตฌ์กฐ (Optimal Substructure) : ํฐ ๋ฌธ..
HTTP ๋ฉ์๋๋ฅผ ์์๋ณด๊ธฐ ์ HTTP API์ ๋ํด ์๊ณ ๋์ด๊ฐ์๋ค. HTTP API HTTP๋ฅผ ์ฌ์ฉํด์ ์๋ก ์ ํด๋ ์คํ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ผ๋ฉฐ ํต์ ํ๋ ๊ฒ์ผ๋ก ์ดํดํ๋ฉด ๋ฉ๋๋ค. ๋ฐ๋ผ์ ์๋นํ ๋์ ์๋ฏธ๋ก ์ฌ์ฉ๋ฉ๋๋ค. HTTP API vs REST API REST API๋ HTTP API์ ์ฌ๋ฌ๊ฐ์ง ์ ์ฝ์กฐ๊ฑด์ด ์ถ๊ฐ๋๋ ๊ฒ • ์ง์์ ์๋ณ • ๋ฉ์์ง๋ฅผ ํตํ ๋ฆฌ์์ค ์กฐ์ • ์๊ธฐ์์ ์ ๋ฉ์์ง • ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ์ ๋ํ ์์ง์ผ๋ก์ ํ์ดํผ๋ฏธ๋์ด ์ฌ๋ฌ๊ฐ์ง๊ฐ ์์ง๋ง ๋ํ์ ์ผ๋ก ๊ตฌํํ๊ธฐ ์ด๋ ค์ด ๋ถ๋ถ์ด ๋ง์ง๋ง์ ์๋ ๋ถ๋ถ์ผ๋ก ์ด๊ฒ์ HTML์ฒ๋ผ ํ์ดํผ๋งํฌ๊ฐ ์ถ๊ฐ๋์ด์ ๋ค์์ ์ด๋ค API๋ฅผ ํธ์ถํด์ผ ํ๋์ง๋ฅผ ํด๋น ๋งํฌ๋ฅผ ํตํด์ ๋ฐ์ ์ ์์ด์ผํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฐ ๋ถ๋ถ์ ์๋ฒฝํ๊ฒ ์งํค๋ฉด์ ๊ฐ๋ฐํ๋ ๊ฒ์ RESTf..
• HTTP (HyperText Transfer Protocol) : HTTP๋ HyperText Transfer Protocol์ ์ฝ์๋ก ํ์ดํผํ ์คํธ๋ฅผ ์ ์กํ๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต ํ๋กํ ์ฝ HTTP๋ HTML๋ฟ์ด ์๋๋ผ TEXT, IMAGE, JSON, XML ๋ฑ ๋ค์ํ ํํ์ ๋ฐ์ดํฐ ์ ์ก์ด ๊ฐ๋ฅํ๋ฉฐ ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญ์ ์์ฑํ๊ธฐ ์ํ ์ฐ๊ฒฐ์ ์ฐ๋ค์ ์๋ต์ ๋ฐ์๋ ๊น์ง ๋๊ธฐํ๋ ์ ํต์ ์ธ ํด๋ผ์ด์ธํธ-์๋ฒ ๋ชจ๋ธ์ ๋ฐ๋ฆ ๋๋ค. HTTP๋ ๋ฌด์ํ ํ๋กํ ์ฝ์ด๋ฉฐ, ์ด๋ ์๋ฒ๊ฐ ๋ ์์ฒญ๊ฐ์ ์ด๋ ํ ๋ฐ์ดํฐ(์ํ)๋ ์ ์งํ์ง ์์์ ์๋ฏธํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์์ ์ ์ธ ์ ์ก๋ ์ด์ด๋ก UDP์ ๋ฌ๋ฆฌ ๋ฉ์ธ์ง๋ฅผ ์์ง ์๋ ํ๋กํ ์ฝ์ธ TCP/IP ๋ ์ด์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ฉํฉ๋๋ค. โฃ ํ์ดํผํ ์คํธ (HyperText) : ํ์ดํผ๋งํฌ(Hyper..
โฃ ์์ฐจํ์(Sequential Search) : ๋ฆฌ์คํธ ์์ ์๋ ํน์ ํ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๊ธฐ ์ํด ์์์ ๋ฐ์ดํฐ๋ฅผ ํ๋์ฉ ํ์ธํ๋ ๋ฐฉ๋ฒ # ์์ฐจ ํ์ ์์ค์ฝ๋ ๊ตฌํ def sequential_search(n, target, array): # ๊ฐ ์์๋ฅผ ํ๋์ฉ ํ์ธํ๋ฉฐ for i in range(n): # ํ์ฌ์ ์์๊ฐ ์ฐพ๊ณ ์ ํ๋ ์์์ ๋์ผํ ๊ฒฝ์ฐ if array[i] == target: return i + 1# ํ์ฌ์ ์์น ๋ฐํ(์ธ๋ฑ์ค๋ 0๋ถํฐ ์์ํ๋ฏ์ค 1๋ํ๊ธฐ) print("์์ฑํ ์์ ๊ฐ์๋ฅผ ์ ๋ ฅํ ๋ค์ ํ ์นธ ๋๊ณ ์ฐพ์ ๋ฌธ์์ด์ ์ ๋ ฅํ์ธ์.") input_data = input().split() n = int(input_data[0]) # ์์์ ๊ฐ์ target = input_data[1] # ..
์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ โฃ ์ ๋ ฌ(Sorting) : ๋ฐ์ดํฐ๋ฅผ ํน์ ํ ๊ธฐ์ค์ ๋ฐ๋ผ ์์๋๋ก ๋์ดํ๋ ๊ฒ โฃ ์ ํ์ ๋ ฌ(Selection Sort) : ์ฒ๋ฆฌ๋์ง ์์ ๋ฐ์ดํฐ ์ค์์ ๊ฐ์ฅ ์์ ๋ฐ์ดํฐ๋ฅผ ์ ํํด ๋งจ ์์ ์๋ ๋ฐ์ดํฐ์ ๋ฐ๊พธ๋ ๊ฒ์ ๋ฐ๋ณต # ์ ํ์ ๋ ฌ ์์ค์ฝ๋ array = [7, 5, 9, 0, 3, 1, 6, 2, 4, 8] for i in range(len(array)): min_index = i # ๊ฐ์ฅ ์์ ์์์ ์ธ๋ฑ์ค for j in range(i + 1, len(array)): if array[min_index] > array[j]: min_index = j array[i], array[min_index] = array[min_index], array[i] #์ค์ํ print(array) ์ ํ ..
๊ทธ๋ํ ํ์ ์๊ณ ๋ฆฌ์ฆ DFS/BFS โฃ ํ์ : ๋ง์ ์์ ๋ฐ์ดํฐ ์ค์์ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๋ ๊ณผ์ โฃ ์คํ : FILO (First In Last Out) ์ ๊ตฌ = ์ถ๊ตฌ ( Python์ List append, pop ) print(stack [ : : -1]) # ์ต์๋จ ์์๋ถํฐ ์ถ๋ ฅ print(stack) # ์ตํ๋จ ์์๋ถํฐ ์ถ๋ ฅ โฃ ํ : FIFO (First In First Out) ์ ๊ตฌ ≠ ์ถ๊ตฌ ( Python์ deque ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ append, popleft ) from collections import deque queue = deque() ### print(queue) # ๋จผ์ ๋ค์ด์จ ์์๋๋ก ์ถ๋ ฅ queue.reverse() print(queue) # ๋์ค์ ๋ค์ด์จ ์์๋ถํฐ ์ถ๋ ฅ..
What is a URL? ( Uniform Resource Locator ) : ์ง์ญํ๋ฉด ์ผ๊ด๋ ์์์ ์์นํ์ง๊ธฐ๋ก ์น์์ ์ด๋ค ๋์์ ๊ตฌ๋ถํ๋ ์ฃผ์๋ฅผ ์๋ฏธ : ์น์์ ์์์ ์์น์ ๋ณด๋ฅผ ๋ํ๋ด๋ฉฐ ์์์ ๊ตฌ๋ณํ๋ ์๋ณ์ ์ฆ, ์ธํฐ๋ท์์ ํน์ ์น ํ์ด์ง๋ฅผ ์ฐพ๋๋ฐ ์ฌ์ฉ๋๋ ์น ์ฃผ์๋ก ์น ๋ธ๋ผ์ฐ์ ์ ์น ์๋ฒ ์ฃผ์ URL์ ์ ๋ ฅํ๋ฉด ์น ๋ธ๋ผ์ฐ์ ์์๋ ์ ๋ ฅํ URL์ ํด๋นํ๋ ์น ํ์ด์ง๋ฅผ ์ ๊ณตํด์ค๋๋ค. ์น ๋์ 1) Client์์ ์น ๋ธ๋ผ์ฐ์ ์ URL ์ฃผ์๋ฅผ ์ ๋ ฅ 2) ์น ๋ธ๋ผ์ฐ์ ๊ฐ HTTP ์์ฒญ ๋ฉ์ธ์ง ์์ฑ 3) ์น ์๋ฒ์ ์์ฒญ ํจํท ์ ๋ฌ ๋ฐ ๋์ฐฉ 4) ์น ๋ธ๋ผ์ฐ์ ์๋ต ํจํท ์ ๋ฌ ๋ฐ ๋์ฐฉ 5) ์น ๋ธ๋ผ์ฐ์ HTML ๋ ๋๋ง • URI (Uniform Resource Identifier) ํตํฉ ์์ ์๋ณ์ : ..
• TCP Transmission Control Protocol = ์ ์ก ์ ์ด ํ๋กํ ์ฝ • UDP User Datagram Protocol = ์ฌ์ฉ์ ๋ฐ์ดํฐ๊ทธ๋จ ํ๋กํ ์ฝ ๋จผ์ TCP, UDP๋ฅผ ๋ง ๊ทธ๋๋ก ํด์ํด๋ณด์์ต๋๋ค. ๋ณธ๊ฒฉ์ ์ผ๋ก TCP, UDP์ ๋ํด ์์๋ณด๊ธฐ ์ ์ดํด๋ฅผ ๋๊ธฐ ์ํด Protocol์ ๋ํด ์์๋ด ์๋ค. ์ธํฐ๋ท ํต์ ์ ์ํด์๋ ํธ์คํธ, ๋ผ์ฐํฐ, ์ธํฐ๋ท์ ํต์ ์ด ํ์ํ๋ฐ ์ด๋๋ฐ๋ผ์ผ ํ๋ ์ ์ฐจ์ ๋ฐฉ๋ฒ. ์ฆ, ์ธํฐ๋ท์ ํต์ ๊ท์ฝ์ ํ๋กํ ์ฝ(Protocol)์ด๋ผ ๋ถ๋ฆ ๋๋ค. ์ธํฐ๋ท์์ ์ฌ์ฉํ๋ ํต์ฌ ํ๋กํ ์ฝ์ด ๋ฐ๋ก TCP/IP๋ก ์๋๋ TCP/IP ํ๋กํ ์ฝ์ ๊ณ์ธต์ ๋๋ค. ๋คํธ์ํฌ ์ธํฐํ์ด์ค ๊ณ์ธต ๋ฌผ๋ฆฌ์ ๋คํธ์ํฌ๋ฅผ ํตํ ์ค์ ์ก์์ ๋ด๋น. ์ฅ์น ๋๋ผ์ด๋ฒ, ๋คํธ์ํฌ ํ๋์จ์ด ์ธํฐ๋ท ๊ณ์ธต ๋คํธ์ํฌ ๊ณ์ธต์..
๊ตฌํ (Implementation) : ํ์ด๋ฅผ ๋ ์ฌ๋ฆฌ๋ ๊ฒ์ ์ฝ์ง๋ง ์์ค์ฝ๋๋ก ์ฎ๊ธฐ๊ธฐ ์ด๋ ค์ด ๋ฌธ์ - ์ผ๋ฐ์ ์ผ๋ก ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ์์์ 2์ฐจ์ ๊ณต๊ฐ์ ํ๋ ฌ(Matrix)์ ์๋ฏธ๋ก ์ฌ์ฉ → ์ด(Column) ↓ ํ(Row) 1. ์ํ์ข์ฐ (์์ ) 2. ์๊ฐ (์์ ) 3, ๋ฌธ์์ด ์ฌ์ ๋ ฌ (์์ Youtube ๊ฐ์) 4. ์์ค์ ๋์ดํธ (์ค์ ๋ฌธ์ ) 5. ๊ฒ์๊ฐ๋ฐ (์ค์ ๋ฌธ์ ) [ ์์ ] ์ํ์ข์ฐ โป ๋ฌธ์ ์ฌํ๊ฐ A๋ N × N ํฌ๊ธฐ์ ์ ์ฌ๊ฐํ ๊ณต๊ฐ ์์ ์ ์๋ค. ์ด ๊ณต๊ฐ์ 1 × 1 ํฌ๊ธฐ์ ์ ์ฌ๊ฐํ์ผ๋ก ๋๋์ด์ ธ ์๋ค. ๊ฐ์ฅ ์ผ์ชฝ ์ ์ขํ๋ (1, 1)์ด๋ฉฐ, ๊ฐ์ฅ ์ค๋ฅธ์ชฝ ์๋ ์ขํ๋ (N, N)์ ํด๋นํ๋ค. ์ฌํ๊ฐ A๋ ์, ํ, ์ข, ์ฐ ๋ฐฉํฅ์ผ๋ก ์ด๋ํ ์ ์์ผ๋ฉฐ, ์์ ์ขํ๋ ํญ์ (1, 1)์ด๋ค. ์ฐ๋ฆฌ ์์..