์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- Kotlin
- http method
- reflection
- ์ฑ์ฉํ์ ํ
- OpenAPI
- tcp
- udp
- FACTORY
- Factory Method Pattern
- 2024-08-21
- ๊ฐ์ฒด์งํฅํ๋ก๊ทธ๋๋ฐ
- Dialog
- 2024-08-20
- swagger
- URN
- AndroidStudio
- ํ๋ IT&E
- di
- ์ด๋ ธํ ์ด์
- ๊ธฐ์ด100์
- menutab
- Android Studio
- url
- datepicker
- ์ฝ๋์
- Python
- fontstyle
- OOP
- IOC
- uri
๋ชฉ๋ก๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ (77)
dingdong coding
Spring Boot๋ก ๊ฐ๋ฐํ๋ ์ค ์์ฃผ์ฌ์ฉํ๊ฒ ๋๋ ๋๋ค์ ๋ํด ํ ๋ฒ ํ์ตํ๊ณ ๋์ด๊ฐ๊ณ ์ ์ ๋ฆฌํ๊ฒ ๋์๋ค. Lambda? Anonymous function ์ฆ, ์ด๋ฆ์ด ์๋ ์ต๋ช ํจ์๋ฅผ ๋ปํฉ๋๋ค. ๋ณดํต ๋ฉ์๋๊ฐ ์๋ ํจ์๋ก ์ข ์์ ์ด์ง ์๋ค๋ ํน์ง์ ๊ฐ์ง๊ณ ์์ต๋๋ค. 1. ๋๋ค์ ์ด์ for (int i = 0; i System.out.println(value)); ์ด๋ ๋ฏ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ธ ์ต๋ช ํจ์๋ ์ผ๊ธ๊ฐ์ฒด(first-class-citizen)๋ผ๋ ํน์ง์ ๊ฐ์ง๊ณ ์์ต๋๋ค. first-class-citizen ๋ณ์๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ์์ ํจ์..
'ํค์ ๋ํ ํด์ ๊ฐ์ ์ฌ์ฉํ์ฌ ๊ฐ์ ์ ์ฅํ๊ณ ์กฐํํ๋ฉฐ, ํค-๊ฐ ์์ ๊ฐ์์ ๋ฐ๋ผ ๋์ ์ผ๋ก ํฌ๊ธฐ๊ฐ ์ฆ๊ฐํ๋ associate array' associate array : Map, Dictionary, Symbol Table ๋ฑ HashMap์ ์์๋ณด๊ธฐ ์ Map์ ๋ํด ์์๋ณด์ Map ์ด๋? Map์ Key-Value์ Mapping์ด๋ค. ์ฆ, ๋ชจ๋ Key๊ฐ ์ ํํ ํ๋์ Value์ Mapping๋๊ณ Key๋ฅผ ์ฌ์ฉํ์ฌ Map์์ ํด๋น Value๋ฅผ ๊ฒ์ํ ์ ์์ต๋๋ค. ๋ํ Key์ Value๋ ๋ชจ๋ ๊ฐ์ฒด๋ก Value๋ ์ค๋ณต์ ์ฅ๋ ์ ์์ง๋ง Key๋ ์ค๋ณต์ ์ฅ์ด ๋ถ๊ฐํฉ๋๋ค. ๋จ์ํ List์ ๊ฐ์ ์ถ๊ฐ ํ์ง ์๋ ์ด์ , HashMap์ด ํ์ํ ์ด์ ๋ ๋ฌด์์ผ๊น? ๊ฐ๋จํ ์ด์ ๋ ์ฑ๋ฅ๋๋ฌธ์ ๋๋ค. List์์ ํน..
Java Language ํน์ง • ํ๋ซํผ ๋ ๋ฆฝ์ฑ : Java Application์ ํด๋์ค ํ์ผ์ ์ ์ฅ๋๊ณ JVM์ ๋ก๋๋๋ ๋ฐ์ดํธ ์ฝ๋๋ก ์ปดํ์ผ : Application์ JVM์์ ์คํ๋๊ธฐ ๋๋ฌธ์ ๋ค์ํ ์ด์์ฒด์ ์ ์ฅ์น์์ ์คํ๊ฐ๋ฅ • ๊ฐ์ฒด ์งํฅ : C ๋ฐ C++์ ๋ง์ ๊ธฐ๋ฅ์ ์ทจํ๊ณ ์ด๋ฅผ ๊ฐ์ ํ ๊ฐ์ฒด์งํฅ ์ธ์ด ์ ๋๋ค. : ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ด๋ ํ์ค ์ธ๊ณ๋ฅผ ํ๋ก๊ทธ๋๋ฐ์ผ๋ก ์ฎ๊ฒจ์ ํ์ค ์ธ๊ณ์ ์ฌ๋ฌผ๋ค์ ๊ฐ์ฒด๋ก ๋ณด๊ณ ๊ทธ ๊ฐ์ฒด๋ก๋ถํฐ ๊ฐ๋ฐํ๊ณ ์ ํ๋ ํน์ง๊ณผ ๊ธฐ๋ฅ์ ๋ฝ์์ ํ๋ก๊ทธ๋๋ฐํ๋ ๊ฒ • ์๋ Garbage ์์ง : ์๋์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น ๋ฐ ํ ๋น ํด์ ํ๋ฉฐ ํ๋ก๊ทธ๋จ์ด ํด๋น ์์ ์ ๋ถ๋ด์ ๊ฐ์ง ์๋๋ก ํ๋ค. • ํ๋ถํ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ : ์ /์ถ๋ ฅ, ๋คํธ์ํน ๋ฐ ๋ ์ง ์กฐ์๊ณผ ๊ฐ์ ์์ ์ ์ํํ๋๋ฐ ์ฌ์ฉํ ..
• ์ต๋จ๊ฒฝ๋ก ์๊ณ ๋ฆฌ์ฆ : ๊ฐ์ฅ ์งง์ ๊ฒฝ๋ก๋ฅผ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ • ๋ค์ํ ๋ฌธ์ ์ํฉ • ํ ์ง์ ์์ ๋ค๋ฅธ ํ ์ง์ ๊น์ง์ ์ต๋จ๊ฒฝ๋ก • ํ ์ง์ ์์ ๋ค๋ฅธ ๋ชจ๋ ์ง์ ๊น์ง์ ์ต๋จ๊ฒฝ๋ก • ๋ชจ๋ ์ง์ ์์ ๋ค๋ฅธ ๋ชจ๋ ์ง์ ๊น์ง์ ์ต๋จ๊ฒฝ๋ก • ๊ฐ ์ง์ ์ ๊ทธ๋ํ์์ ๋ ธ๋๋ก ํํ • ์ง์ ๊ฐ ์ฐ๊ฒฐ๋ ๋๋ก๋ ๊ทธ๋ํ์์ ๊ฐ์ ์ผ๋ก ํํ ๋ค์ต์คํธ๋ผ ์ต๋จ ๊ฒฝ๋ก ์๊ณ ๋ฆฌ์ฆ • ํน์ ํ ๋ ธ๋์์ ์ถ๋ฐํ์ฌ ๋ค๋ฅธ ๋ชจ๋ ๋ ธ๋๋ก ๊ฐ๋ ์ต๋จ๊ฒฝ๋ก๋ฅผ ๊ณ์ฐํฉ๋๋ค. • ๋ค์ต์คํธ๋ผ ์ต๋จ ๊ฒฝ๋ก ์๊ณ ๋ฆฌ์ฆ์ ์์ ๊ฐ์ ์ด ์์ ๋ ์ ์์ ์ผ๋ก ๋์ํฉ๋๋ค. • ํ์ค ์ธ๊ณ์ ๋๋ก(๊ฐ์ )์ ์์ ๊ฐ์ ์ผ๋ก ํํ๋์ง ์์ต๋๋ค. • ๋ค์ต์คํธ๋ผ ์ต๋จ ๊ฒฝ๋ก ์๊ณ ๋ฆฌ์ฆ์ ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๋ถ๋ฅ๋ฉ๋๋ค. • ๋งค ์ํฉ์์ ๊ฐ์ฅ ๋น์ฉ์ด ์ ์ ๋ ธ๋๋ฅผ ์ ํํด ์์์ ๊ณผ์ ์ ๋ฐ๋ณตํฉ๋๋ค. • ์๊ณ ๋ฆฌ์ฆ์..
• ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ : ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ์ ํ ์ฌ์ฉ์ฌ์ฌ ์ํ ์๊ฐ์ ๋น์ฝ์ ์ผ๋ก ์ฆ๊ฐ์ํค๋ ๋ฐฉ๋ฒ • ์ด๋ฏธ ๊ณ์ฐ๋ ๊ฒฐ๊ณผ(์์ ๋ฌธ์ )๋ ๋ณ๋์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์ ์ฅํ์ฌ ๋ค์ ๊ณ์ฐํ์ง ์๋๋ก ํ๋ค. • ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ์ ๊ตฌํ์ ์ผ๋ฐ์ ์ผ๋ก ๋ ๊ฐ์ง ๋ฐฉ์(ํ๋ค์ด, ๋ณดํ ์ )์ผ๋ก ๊ตฌ์ฑ๋๋ค. ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ์ ๋์ ๊ณํ๋ฒ์ด๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค. ์ผ๋ฐ์ ์ธ ํ๋ก๊ทธ๋๋ฐ ๋ถ์ผ์์ ๋์ (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) # ๋์ค์ ๋ค์ด์จ ์์๋ถํฐ ์ถ๋ ฅ..