์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- reflection
- ์ด๋ ธํ ์ด์
- url
- 2024-08-21
- swagger
- ํ๋ IT&E
- OOP
- http method
- ์ฝ๋์
- OpenAPI
- datepicker
- AndroidStudio
- Factory Method Pattern
- FACTORY
- Android Studio
- uri
- Dialog
- menutab
- ์ฑ์ฉํ์ ํ
- tcp
- IOC
- udp
- Python
- di
- Kotlin
- 2024-08-20
- ๊ธฐ์ด100์
- URN
- fontstyle
- ๊ฐ์ฒด์งํฅํ๋ก๊ทธ๋๋ฐ
๋ชฉ๋ก๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ (74)
dingdong coding
ํ์์ฑ ๋จผ์ Factory Method Pattern ํจํด์ ์ ์ฌ์ฉํด์ผํ๋์ง์ ๋ํด ์์๋ด ์๋ค. ํ๋ก๊ทธ๋จ์ด ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ ์ํฉ์ ๋ฐ๋ผ ๋ณ๊ฒฝ๋ ์ ์์ต๋๋ค. ๋ํ ๊ธฐ๋ฅ์ ๊ตฌํ์ ๊ฐ๋ณ ํด๋์ค๋ฅผ ํตํด ์ ๊ณตํ๋ ๊ฒ์ด ๋ฐ๋์งํฉ๋๋ค. ๋๋ฌธ์ ๊ธฐ๋ฅ์ ๋ณ๊ฒฝ์ด๋ ์ํฉ์ ๋ฐ๋ฅธ ๊ธฐ๋ฅ ์ ํ์ ํด๋น ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ์ฝ๋์ ๋ณ๊ฒฝ์ ์ด๋ํฉ๋๋ค. ๋ํ ์ ์ ํ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ์ฝ๋๋ ์์ฃผ ์ค๋ณต๋ ์๋ ์์ต๋๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ์ฝ๋๋ฅผ ์ถ์ํํด ํ ๊ณณ์์ ๊ด๋ฆฌํ์ง ์์ผ๋ฉด ๋ณํ๊ฐ ๋ฐ์ ํ์ ์ ํด๋น ํด๋ผ์ด์ธํธ์ ์ฝ๋๋ฅผ ์ ๋ถ ์์ ํด์ฃผ์ด์ผํ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์ ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด๋ด๋ ๊ณต์ฅ์ด ํ์ํ ๊น์? Factory Pattern Factory์ ๋ป์ ๊ณต์ฅ์ผ๋ก ์ฌ๊ธฐ์๋ ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด๋ด๋ ๊ณต์ฅ(๋ชจ๋)์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ..
1. ํธ๋ํฝ์ด ๋ง์์ง๋ฉด ์ด๋ป๊ฒ ๋๋์ง, ์ด๋ป๊ฒ ๋์ฒํด์ผ ํ๋์ง ์ค๋ช ํด์ฃผ์ธ์ ( ์์ธก๋๋ ํ์ ๋ฐ ํด๊ฒฐ ๋ฐฉํฅ) ๋์ฉ๋ ํธ๋ํฝ์ด ๋ฐ์ํ๋ฉด ์๋ฒ๊ฐ ๋ ์ด ๊ฑธ๋ฆด์๋ ์๊ณ ๋ง์ฝ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ค๋ฒ๊ฐ ๋๋ค๋ฉด out of memory๋ฑ์ ์๋ฌ๋ฅผ ๋ด๋ฑ์ผ๋ฉด์ ์๋ฒ๊ฐ ๋ป๊ฒ ๋ ์๋ ์์ต๋๋ค. ๋๋ฌธ์ ๋ ๋ง์ ์ฌ์ฉ์๋ฅผ ์์ฉํ๊ธฐ ์ํด์๋ ์๋ฒ ๋ฆฌ์์ค๋ฅผ ๋๋ ค์ผ ํฉ๋๋ค. 1) scale-up (์์ง ํ์ฅ) ๊ธฐ์กด ํ ๋์ ์๋ฒ ์ฑ๋ฅ์ ๋์ด๋ ๋ฐฉ๋ฒ์ผ๋ก ์ด ๋ฐฉ๋ฒ์ ์ผ์์ ์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ง๋ง ๋ ๋ง์ด ์ฌ์ฉ์๋ค์ด ์๊ธด๋ค๋ฉด ์ถ๊ฐ ๋ ๋ฆฌ์์ค ๋ํ ๊ณ ๊ฐ๋ฉ๋๋ค. ๊ฒฐ๊ตญ ํ ๋์ ์๋ฒ์ฑ๋ฅ์ ๋์ด๋ ๋ฐฉ์์ ๋ฆฌ์์ค ํ๊ณ, ์ฑ๋ฅ ํ์ฅ์ ํ๊ณ๊ฐ ์์ต๋๋ค. ๋ํ ๋จ์ผ ์ฅ์ ์ง์ ์ ๊ฐ๊ฒ ๋ฉ๋๋ค. ํ ๋์ ์๋ฒ๊ฐ ๋ค์ด ๋๋ ๊ฒฝ์ฐ ๋ ์ด์ ์๋ฒ๋ฅผ ์ ๊ณตํ ์ ์..
1. ํ๋ ์์ํฌ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฐจ์ด์ ๋ํด ์ค๋ช ํ๊ณ , ๋ณธ์ธ์ด ์ฌ์ฉํด ๋ณธ ๊ฒ๋ค์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์ ํ๋ ์์ํฌ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฐจ์ด๋ ์ ์ด ํ๋ฆ์ ๋ํ ์ฃผ๋์ฑ์ด ๋๊ตฌ์๊ฒ/์ด๋์ ์๋๊ฐ ์ ๋๋ค. ์ฆ, ์ดํ๋ฆฌ์ผ์ด์ ์ ํ๋ฆ์ ๋๊ฐ ์ฅ๊ณ ์๋๋์ ๋ฐ๋ผ ๋ฌ๋ ค ์์ต๋๋ค. ํ๋ ์์ํฌ๋ ์ ์ฒด์ ์ธ ํ๋ฆ์ ์ค์ค๋ก๊ฐ ์ฅ๊ณ ์์ผ๋ฉฐ ์ฌ์ฉ์๋ ๊ทธ ์์์ ํ์ํ ์ฝ๋๋ฅผ ๊ฐ๋ฐํฉ๋๋ค. ๋ฐ๋ฉด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ฌ์ฉ์๊ฐ ์ ์ฒด์ ์ธ ํ๋ฆ์ ๋ง๋ค์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ฐ์ ธ๋ค ์ฐ๋ ๊ฒ์ด๋ผ๊ณ ํ ์ ์์ต๋๋ค. ์ฆ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ฐ์ ธ๋ค๊ฐ ์ฌ์ฉํ๊ณ ํธ์ถํ๋ ์ธก์ ์ ์ ์ผ๋ก ์ฃผ๋์ฑ์ด ์์ผ๋ฉฐ ํ๋ ์์ํฌ๋ ๊ทธ ํ ์์ ์ด๋ฏธ ์ ์ด ํ๋ฆ์ ๋ํ ์ฃผ๋์ฑ์ด ๋ด์ฌ๋์ด ์์ต๋๋ค. ํ๋ ์์ํฌ๋ ๊ฐ์ ธ๋ค ์ฌ์ฉํ๋ค๊ธฐ ๋ณด๋ค๋ ๊ฑฐ๊ธฐ์ ๋ค์ด๊ฐ์ ์ฌ์ฉํ๋ค๋ ๊ด์ ์ผ๋ก ์ ๊ทผํ ์ ์์ต๋๋ค...
1. ๊ฐ๋น์ง ์ปฌ๋ ์ ์๊ณ ๋ฆฌ์ฆ์ ์ข ๋ฅ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์ ๊ฐ๋น์ง ์ปฌ๋ ์ ์๊ณ ๋ฆฌ์ฆ์๋ Serial, Parallel, Parallel Old, CMS(Concurrent Mark Sweep), G1(Garbage First GC) ๊ฐ ์์ต๋๋ค. • ๋ ๊ตฌ์ฒด์ ์ธ ์ค๋ช [ JAVA ] Garbage Collection 2. try-with-resources์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์ ์์๋ฐ๋ฉ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค. try(...)์์ ์ ์ธ๋ ๊ฐ์ฒด(์์ํ ๋น)๋ค์ ๋ํด์ ์ข ๋ฃ๋ ๋ ์๋์ผ๋ก ์์์ ํด์ ํด์ฃผ๋ ๊ธฐ๋ฅ์ ๋๋ค. ์ฆ try์์ ์ ์ธ๋ ๊ฐ์ฒด๊ฐ AutoCloseable์ ๊ตฌํํ์๋ค๋ฉด Java๋ try๊ตฌ๋ฌธ์ด ์ข ๋ฃ๋ ๋ ๊ฐ์ฒด์ close()๋ฉ์๋๋ฅผ ํธ์ถํด ์ค๋๋ค. • ์์ ๋ฐ๋ฉ ๋ฌธ์ ๋? try-catch-finall..
GC ( Garbage Collection ) GC๋ Heap ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌํ์ฉํ๊ธฐ ์ํด Root Set์์ ์ฐธ์กฐ๋์ง ์๋ ๊ฐ์ฒด๋ค์ ํด์ ํด ๊ฐ์ฉ๊ฐ๋ฅํ ๊ณต๊ฐ์ ๋ง๋๋ ์์ ์ ๋๋ค. * ์ฐธ์กฐ๋ ๊ฐ์ฒด : ํ๋ก๊ทธ๋จ์ ์ผ๋ถ๊ฐ ์ฌ์ ํ ํด๋น ๊ฐ์ฒด์ ๋ํ ํฌ์ธํฐ๋ฅผ ์ ์งํ๊ณ ์์์ ์๋ฏธ * ์ฐธ์กฐ๋์ง ์์ ๊ฐ์ฒด : ํ๋ก๊ทธ๋จ์ ์ด๋ค ๋ถ๋ถ์์๋ ๋ ์ด์ ์ฐธ์กฐ๋์ง ์์ ๋ฐ๋ผ์ ํด๋น ๊ฐ์ฒด๊ฐ ์ฌ์ฉํ๋ ๋ฉ๋ชจ๋ฆฌ ํ์ ์๋ฐ์์๋ ์ด๋ฌํ ๋ฉ๋ชจ๋ฆฌ ํด์ ์์ ์ Garbage Colletor๊ฐ ๋ด๋นํ๋ฉฐ, ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํด์ ํ๋ ์์ ์ Garbage Collection์ด๋ผ ํฉ๋๋ค. ์ฆ null, System.gc() ๋ฉ์๋๋ฅผ ํธ์ถํ๋ ๋ฑ๊ณผ ๊ฐ์ด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ช ์์ ์ผ๋ก ์ง์ ํด ํด์ ํ๋ ์์ ์ ํ์ง ์์๋ ๋๋ค. null๋ก ์ง์ ํ๋ ๊ฒ์ ํฐ ๋ฌธ์ ๊ฐ ๋์ง ์์ง๋ง..
2022.02.18 ์กธ์ ๊ณผ ํจ๊ป ๋ํ์์ ์ ๋ถ์์ ๋ฒ์ด๋ ๊ฐ์ ๋ฐฑ์๊ฐ ๋๋ค. ๋ํ์๋๋ง ํด๋ ๊ณ์ 1ํ๋ ์ผ ์ค ์์์ง... ์ ์ ์์ด 4๋ ์ด๋ผ๋ ์๊ฐ์ด ํ๋ฌ๋ฒ๋ ธ๋ค. ๐ ๋ค์ ์ฐจ๊ทผ์ฐจ๊ทผ ์๋ 12์๋ถํฐ ์๊ฐํด๋ณด์. 12์์ ์ธํด์ด ๋๋๋ ์๊ธฐ๋ก ํฌ๋ฆฌ์ค๋ง์ค ์ด๋ฒคํธ ๋ ์ฐ์ ์ฌ์ง ํ ์ฅ์ด ์ ๋ถ๋ค ํ์ฌ ์ํ ์ค ๋๋ฆ ์์ํ ์ํํ ใ ใ ์๋ฌดํผ 12์ ์ธํด์ด ๋๋๊ณ ํ๊ต๋ ์๋ ~~ + ์์์๋ ํด๋ฐฉ๊ฐ ์ด ๋๊ฐ์ง ์๊ฐ์ 1์๊น์ง ์ด์ฌํ ๋ ธ๋๋ฐ ์ง์คํ๋ค. ์ ๋ง ์ฌ๊ธฐ์ ๊ธฐ ๋ค๋๋ฉฐ ๋์๋๋ฐ ํ ๋ฐ์์ ๋ฒ์คํ๊ณ ์ํ๊น์ง ๊ฐ ์ ๋ ์๋ค. ์๋ฌดํผ ๊ทธ๋์ ๋ฐ๋น ์ ๋ชป๋ดค๋ ์น๊ตฌ๋ค๋ ๋ง๋๊ณ , ๊ฐ์กฑ์ด๋ ๋ง์๋ ๊ฒ๋ ๋จน์ผ๋ฌ ๋ค๋๊ณ ์ด๋๋ ๋ค๋๊ณ ๊ทธ๋์ ์ฆ๊ธฐ์ง ๋ชปํ๋ ๋ด ๋ผ์ดํ์ ๋ ์ ๊ฒฝ์ผ๋ค. ( = ๊ทธ๋ฅ ๋๊ธฐ๋ง ํ๋ค๋ ๋ป ) ๊ทธ๋ ๊ฒ 1์์ด ..
SET INTERFACE • ์ ์ฅ ์์๊ฐ ์๋ ๋ฐ์ดํฐ์ ์งํฉ์ผ๋ก, ๋ฐ์ดํฐ์ ์ค๋ณต์ ํ์ฉํ์ง ์์ต๋๋ค. ex) HashSet, LinkedHashSet( Hash Set์ ํ์ ํด๋์ค ), TreeSet 1. HashSet • Hash๊ธฐ๋ฅ๊ณผ Set ์ปฌ๋ ์ ์ด ํฉ์ณ์ง ๊ฒ์ ๋๋ค. • Hash Algorithm ์ ์ํด ๋ฐ์ดํฐ์ ์์น๋ฅผ ํน์ ์์ผ ํด๋น ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ๊ฒ์ํ ์ ์๊ฒ ๋ง๋ ๊ฒ์ ๋๋ค. • ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ Set ์ปฌ๋ ์ ์ ํด๋์ค๋ก ์ ๋ ฅ์์์ ์๊ด์์ด ์ ์ฅ๋์ด ์ ๋ ฌํด์ฃผ์ง ์๊ณ ์ค๋ณต๋ ๊ฐ์ ์ ์ฅํ์ง ์์ต๋๋ค. • ๋ง์ฝ ์์์ ์ ์ฅ์์๋ฅผ ์ ์งํด์ผ ํ๋ค๋ฉด LinkedHashSet ํด๋์ค๋ฅผ ์ฌ์ฉํด์ผํฉ๋๋ค. • Null ์์๋ ํ์ฉํฉ๋๋ค. Hash Algorithm : ํด์ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ํด์ ํ ์ด๋ธ์ ..
Monolithic Architecture, Micro Service Architecture (MSA) ์ ๋ํด ์์๋ณด๊ธฐ ์ ๋จผ์ ๋ ์ํคํ ์ณ๋ฅผ ๋น๊ตํ๋ ๊ทธ๋ฆผ์ ์ดํด๋ด ์๋ค. ** ์ผ์ชฝ์ ๋ชจ๋๋ฆฌ์(Monolithic), **์ค๋ฅธ์ชฝ์ ๋ง์ดํฌ๋ก ์๋น์ค(Micro Service) ๋ณด๋ค์ถ์ด Monolithic์ ํ๋์ Project๋ก ํตํฉ๋์ด ๊ฐ๋ฐ๋๋, MSA๋ ๋ชจ๋๋ณ๋ก ๊ฐ๋ฐํ๋ค๋ ๊ฒ์ ์ ์ ์์ต๋๋ค. ์ด์ ๋ณธ๊ฒฉ์ ์ผ๋ก ๋ ์ํคํ ์ณ์ ํน์ง๊ณผ ์ฅ๋จ์ ์ ์์๋ด ์๋ค. Monolithic Architecture ๊ธฐ์กด์ ์ฌ์ฉํ๋ ์ ํต์ ๊ฐ๋ฐ ๋ฐฉ๋ฒ์ผ๋ก ๋ชจ๋ ์์คํ , ์ํํธ์จ์ด์ ๊ตฌ์ฑ์์๊ฐ ํ ํ๋ก์ ํธ์ ํตํฉ๋์ด ์๋ ๊ตฌ์กฐ์ ๋๋ค. 1 Project : 1 Application์ผ๋ก ๊ตฌ์ฑ๋์ด ๋ณดํต ๋์ผํ ๊ฐ๋ฐ ํด์ ์ด์ฉํด ๊ฐ๋ฐํ..
Bean Scope ๋ ๋ง๊ทธ๋๋ก ๋น์ด ์กด์ฌํ๋ ๋ฒ์๋ฅผ ๋ปํฉ๋๋ค. Bean Life Cycle ์์ ์ดํด๋ดค๋ฏ์ด ๋น์ ์ปจํ ์ด๋์ ์์๊ณผ ํจ๊ป ์์ฑ๋์ด์ Container๊ฐ ์ข ๋ฃ๋ ๋๊น์ง ์ ์ง๋ฉ๋๋ค. ๋ํ Spring Container๋ ๋น์ ๋ฑ๋กํ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ์ฒด ์ธ์คํด์ค(Bean)๋ฅผ ์ฑ๊ธํค์ผ๋ก ๋ฑ๋กํ๊ณ ์ฑ๊ธํค ์ค์ฝํ๋ก ์์ฑ๋ฉ๋๋ค. ( ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ๋น์ ์ค์ฝํ๊ฐ ๋ช ์์ ์ผ๋ก ์ง์ ๋์ง ์์ผ๋ฉด ์ฑ๊ธํค์ด๋ค ) ๋์ ํด๋์ค์ @Scope( ) ์ด๋ ธํ ์ด์ ์ ํตํด ์ค์ฝํ ์ง์ //์ปดํฌ๋ํธ ์ค์บ ์๋ ๋ฑ๋ก @Scope("prototype") // @Scope(”singletone”) @Component public class HelloBean {} //์๋๋ฑ๋ก @Scope("prototype") // @Scope(..
Spring Container๋ ์๋ฐ ๊ฐ์ฒด(Bean)์ ์์ฑ๊ณผ ์๋ฉธ ๊ฐ์ ์๋ช ์ฃผ๊ธฐ(Life Cycle)๋ฅผ ๊ด๋ฆฌํ๋ฉฐ, ์์ฑ๋ ์๋ฐ ๊ฐ์ฒด๋ค์๊ฒ ์ถ๊ฐ์ ์ธ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์ญํ ์ ํฉ๋๋ค. Bean Life Cycle • Spring์ Bean์ Java ๋๋ XML bean ์ ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ปจํ ์ด๋๊ฐ ์์๋ ๋ ์ธ์คํด์คํ ๋์ด์ผ ํฉ๋๋ค. • Bean์ ์ฌ์ฉ ๊ฐ๋ฅํ ์ํ๋ก ๋ง๋ค๊ธฐ ์ํด ์ฌ์ , ์ฌํ ์ด๊ธฐํ ๋จ๊ณ๋ฅผ ์ํํด์ผํ ์๋ ์์ต๋๋ค. • ๊ทธ ํ Bean์ด ๋ ์ด์ ํ์ํ์ง ์์ผ๋ฉด Ioc Container์์ ์ ๊ฑฐ๋ฉ๋๋ค. • ๋ค๋ฅธ ์์คํ ๋ฆฌ์์ค๋ฅผ ํด์ ํ๊ธฐ ์ํด ์ฌ์ ๋ฐ ์ฌํ ์๋ฉธ ๋จ๊ณ๋ฅผ ์ํํด์ผํ ์๋ ์์ต๋๋ค. ์ฆ, Bean์ Life Cycle์ด๋ ํด๋น ๊ฐ์ฒด๊ฐ ์ธ์ , ์ด๋ป๊ฒ ์์ฑ๋์ด ์๋ฉธ๋๊ธฐ ์ ๊น์ง ์ด๋ค ์..