์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ๋ฐฐ์ด
- ๋
- ์
- ํ๋ฐฉ์ฟผ๋ฆฌ
- ๋ฐฑ์ค9093
- StringBuilder
- ๋ฐฑ์ค11053 #ํ์ด์ฌ #python
- ์๋ฐ
- ์ฐ
- ์ฐ์ฐ์
- StringBuffer
- ์คํ์์ด
- ์ฟ ํกERD
- ์คํธ๋ฆผ
- ๋ฌธ์์ด
- ์ฟ ํกDB
- stream
- ์คํ
- ๋ฐฑ์ค9012
- ๋ฐ์ดํฐํ์
- ๋ฐฑ์ค1874
- java
- Today
- Total
๋ชฉ๋กTIL (19)
Tech Log ๐ ๏ธ
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/zJwQV/btslaIrYXtG/3mzf7egu0Jb3nnFgbN5sf0/img.png)
0. ์คํ๋ง ์ปจํ ์ด๋๋? or IOC Container - DI ์ ์ด์ฉํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ฑํ๋ ์ฌ๋ฌ ๋น(Bean)๋ค์ ์๋ช ์ฃผ๊ธฐ(Lifecycle)์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋น์ค ์คํ ๋ฑ์ ๊ด๋ฆฌํ๋ฉฐ ์์ฑ๋ ์ธ์คํด์ค๋ค์๊ฒ ๊ธฐ๋ฅ์ ์ ๊ณต - Bean ์์ฑ, ๊ด๋ฆฌ, ์ ๊ฑฐ ๋ฑ์ ์ญํ ์ ๋ด๋น - BeanFactory์ ApplicationContext๋ผ๋ 2๊ฐ์ ์ปจํ ์ด๋๋ก ์ ์ดํ๊ณ ๊ด๋ฆฌํ๋ค. 1. Bean Factory๋? Bean Factory๋ ์คํ๋ง ์ปจํ ์ด๋์ ์ต์์ ์ธํฐํ์ด์ค์ด๋ฉฐ ๋น์ ๊ด๋ฆฌํ๊ณ ์กฐํํ๋ค. getBean ๋ฉ์๋๋ฅผ ํตํด์ ๋น์ ์ธ์คํด์คํ ํ ์ ์๋ค. ์คํ๋ง์์ ๋น์ ๊ด๋ฆฌํ๊ธฐ ์ํ ๊ธฐ๋ณธ ์ปจํ ์ด๋์ด๋ค. - ์คํ๋ง ์ปจํ ์ด๋์ ์ต์์ ์ธํฐํ์ด์ค๋ค. - ์คํ๋ง ๋น์ ๊ด๋ฆฌํ๊ณ ์กฐํํ๋ ์ญํ ์ ๋ด๋นํ๋ค. - ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/ciRPhN/btsjcqlG9yP/MiByWCtLeuAkbY9nJQjVb1/img.png)
์ถ์ ํฉํ ๋ฆฌ ํจํด์ด๋? ๊ตฌ์ฒด์ ์ธ ํด๋์ค์ ์์กดํ์ง ์๊ณ ๋ ์๋ก ์ฐ๊ด ๋ ๊ฐ์ฒด๋ค์ ์กฐํฉ์ ๋ง๋ค์ด์ฃผ๋ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ ํจํด์ด๋ค. ์๋ฅผ ๋ค์ด์, ์ด๋ค GUI ํ๊ฒฝ์์ ํด๋ฆญ๊ณผ ์คํฌ๋กค ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค๊ณ ์๊ฐํด๋ณด์ ์ด์์ฒด์ ๋ ํฌ๊ฒ 3๊ฐ์ง๊ฐ ์๋ค (์๋์ฐ , ๋งฅ , ๋ฆฌ๋ ์ค) ๊ทธ๋ฆฌ๊ณ ์ด์์ฒด์ ์ ์ข ๋ฅ์ ์๊ด ์์ด ๊ฐ๊ฐ์ ๊ธฐ๋ฅ์ ๋์ผํ ์ญํ ์ ํ๋ค ์ถ์ ํฉํ ๋ฆฌ๋ ๋์ผํ OS์ ๋ํด ์ผ๊ด๋ ๊ฐ์ฒด๋ฅผ ์์ฑํ์ฌ ์ค๋ค. ์ถ์ ํฉํ ๋ฆฌ์ ์์๋ค์ ๊ฐ๊ฐ ๋ค์๊ณผ ๊ฐ์ ์ญํ ์ ํ๋ค. AbstractFactory - ์ค์ ํฉํ ๋ฆฌ ํด๋์ค์ ๊ณตํต ์ธํฐํ์ด์ค - GUI๋ก ์น๋ฉด ๋ชจ๋ OS ๋ฒ์ ์ ๋ด๋ ์ธํฐํ์ด์ค์ด๋ค. ConcreteFactory - ๊ตฌ์ฒด์ ์ธ ํฉํ ๋ฆฌ ํด๋์ค๋ก AbstractFactory ํด๋์ค์ ์ถ์ ๋ฉ์๋๋ฅผ ์ค๋ฒ๋ผ์ด๋ํจ์ผ๋ก์จ ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bkOSnP/btsiwjtZvFY/Fd3hiqRkGRS2l6BT4bR7O1/img.png)
๋ฌธ์์ด์ ์ถ๊ฐํ ๋ ํํ StringBuilder ์ StringBuffer ๋ฅผ ์ฃผ๋ก ์ฌ์ฉํ๋ค. ๊ทธ ๋์์ ๋ฉํฐ ์ฐ๋ ๋์ ์ฐจ์ด๋ผ๊ณ ๋ง ์๊ณ ์์๋๋ฐ ์ด๋ฒ์ ๊ตฌ์ฒด์ ์ผ๋ก ์ด๋ป๊ฒ ๋ค๋ฅธ ์ง ์ฝ๋๋ฅผ ํตํด ์ดํด๋ณด์๋ค. StringBuilder VS StringBuffer ๊ธฐ๋ณธ์ ์ผ๋ก ์คํธ๋ง ๋ฒํผ์ ์คํธ๋ง ๋น๋ ๋ชจ๋ AbstractStringBuilder ๋ผ๋ ์ถ์ํด๋์ค๋ฅผ ์์๋ฐ๋๋ค. ๋ํ์ ์ผ๋ก ์ฌ์ฉํ๋ append ํจ์์ ๊ตฌํ ์ฝ๋๋ฅผ ๋ณด๋ฉด ๋๋ค super() ๋ฉ์๋๋ฅผ ํตํด AbstractStringBuilder ์ ํจ์๋ฅผ ํธ์ถํ๋ค. ๊ทผ๋ฐ ์คํธ๋ง ๋ฒํผ์๋ง ์๋ ๊ฒ๋ค์ด ๋ช๊ฐ์ง ์๋ค. 1. synchronize 2. toStringCache ๊ฐ๊ฐ์ด ์ด๋ค ์ญํ ์ ํ๋ ์ง ์์๋ณด์ synchronize - ์ด ํค์๋๋ ๋ฉํฐ ์ค..
์ธ์ฆ๊ณผ ์ธ๊ฐ ์ธ์ฆ : ์ ์ ํ์ธ ์ ์ฐจ ex) ๋ก๊ทธ์ธ , ํ์๊ฐ์ ์ธ๊ฐ : ํด๋น ์ ์ ๊ฐ ์ ์ ํ ๊ถํ์ ๊ฐ์ง๊ณ ์๋ ์ง ํ์ธ ex) ๊ธ ์์ , ์ญ์ ๋ฑ ๊ถํ์ด ํ์ํ ์์ ๋ค HTTP์ ํน์ฑ HTTP๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ํ๋ฅผ ์ ์ฅํ์ง ์๋ stateless ํน์ฑ์ ๊ฐ์ง๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ ์ ์ ๋ก๊ทธ์ธ ์ ๋ณด ๋ํ ๊ธฐ์ตํ ์ ์๋ค. ์ด๋ ๊ฒ ๋๋ฉด ๋งค๋ฒ ์์ฒญ๋ง๋ค ๋ก๊ทธ์ธ์ ์๊ตฌํด์ผํ๋๋ฐ ์ด๋ ๋นํจ์จ ์ ์ด๋ค. ์ด๋ฅผ ๋ณด์ํ๊ธฐ ์ํด์ ์ ์ ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ๋ฐฉ์์ผ๋ก ์ธ์ ์ธ์ฆ๊ณผ ํ ํฐ ์ธ์ฆ์ด ์๋ค. ์ธ์ ์ธ์ฆ ์ ์ ๊ฐ ๋ก๊ทธ์ธ์ ํ๋ฉด ์๋ฒ์์ ์ธ์ ์ ์์ฑํด ํด๋น ์ธ์ ์ ๋ง๋ ์ธ์ ID๋ฅผ ์ ์ ์ ์ฟ ํค๋ก ์ ์ฅํ๋ค. ๋ค์ ์์ฒญ์ด ๋ค์ด์ค๋ฉด ์ ์ ์ ์ธ์ ID์ ์๋ฒ์ ์ธ์ ID๋ฅผ ๋น๊ตํด์ ๊ถํ์ ํ์ธํ๊ณ ์ธ๊ฐํ๋ค. ์ฅ์ 1. ์๋ฒ์ ์ธ์ ์ ..
์ ๋ค๋ฆญ์ด๋? ์ด๋ค ํด๋์ค์ ์์ง ํํ๊ฐ ์ ํด์ง์ง ์์ ํ๋๋ฅผ ์ ์ธํ๋ค๊ณ ๊ฐ์ ํด๋ณด์์ด ํ๋๋ฅผ ์ด๋ป๊ฒ ์ ์ธํด์ค์ผํ ๊น? ์ฝ๊ฒ ์๊ฐํด๋ณด๋ฉด ๋ชจ๋ ํด๋์ค์ ์ต์์ ๋ถ๋ชจ ํด๋์ค์ธ Object ๋ก ์ ์ธํ ์ ์๋ค.ํ์ง๋ง ์ด๋ด ๊ฒฝ์ฐ ํ์ ์ ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ ํ๋๊ฐ์ ์ป์ ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค. instanceof ์ฐ์ฐ์๋ก ํ์ ์ ์กฐ์ฌํ ์๋ ์์ง๋ง ๋ชจ๋ ์ข ๋ฅ์ ํด๋์ค๋ฅผ ๋์์ผ๋ก ์กฐ์ฌํ ์๋ ์๋ค. ๋ฐ๋ผ์ ์ด๋ฐ ๊ฒฝ์ฐ์๋ ์์ง ํ์ ์ด ์ ํด์ง์ง์์ ํ๋๋ฅผ ์ ์ธํ ์ ์๋ ๊ธฐ๋ฅ์ด ํ์ํ๋ค. ์ด๊ฒ์ด "์ ๋ค๋ฆญ"์ด๋ค. ์ ๋ค๋ฆญ์ด๋ ๊ฒฐ์ ๋์ง ์์ ํ์ ์ ํ๋ผ๋ฏธํฐ๋ก ์ฒ๋ฆฌํ๊ณ ์ค์ ์ฌ์ฉํ ๋ ํ๋ผ๋ฏธํฐ๋ฅผ ๊ตฌ์ฒด์ ์ธ ํ์ ์ผ๋ก ๋์ฒด์ํค๋ ๊ธฐ๋ฅ ์ฝ๊ฒ ์๊ฐํ๋ฉด ์ผ๋จ ํ์ ์ ์ ์ธํ ํ์ ๊ตฌ์ฒด์ ์ธ ํ์ ์ ๋์ค์ ์ค์ ํ๋ ๊ฑฐ๋ผ๊ณ ์ดํดํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค. publ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bmXZUP/btr1lvqXxNX/8kkNGZ4sviXtT44NPJpT7K/img.png)
์๋ฐ8 ๋ถํฐ ์ปฌ๋ ์ ๋ฐ ๋ฐฐ์ด์ ์์ ๋ฐ ๋ฐ๋ณต ์ฒ๋ฆฌ๋ฅผ ์ํด ์คํธ๋ฆผ์ ์ฌ์ฉํ ์ ์๋ค. ์คํธ๋ฆผ์ด๋ ? ์คํธ๋ฆผ์ ์์๋ค์ด ํ๋์ฉ ํ๋ฌ๊ฐ๋ฉด์ ์ฒ๋ฆฌ๋๋ค๋ ์๋ฏธ๋ฅผ ๋ด์ฅ ์คํธ๋ฆผ ์์ด ์ปฌ๋ ์ ๋ฐ ๋ฐฐ์ด์ ์ ์ฅ๋ ์์๋ฅผ ๋ฐ๋ณต ์ฒ๋ฆฌํ๊ธฐ ์ํด์๋ for ๋ฌธ์ด๋ iterator๋ฅผ ์ด์ฉํ์ด์ผํ๋ค. ํ์ง๋ง ์คํธ๋ฆผ์ ๋ฑ์ฅ์ผ๋ก ๋งค๋ฌด ๋น ๋ฅด๊ณ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๊ฒ ๋์๋ค. ์คํธ๋ฆผ ์์ด ์ฒ๋ฆฌํ๋ ๊ฒฝ์ฐ List list = ...; for(int i=0;i //item์ฒ๋ฆฌ); ์คํธ๋ฆผ์ ์ฌ์ฉํ๋ฉด ๋ญ๊ฐ ์ข์๊น? 1. ๋ด๋ถ๋ฐ๋ณต์์ด๋ฏ๋ก ๋น ๋ฅด๊ณ ํจ์จ์ ์ด๋ค. 2. ๋๋ค์์ผ๋ก ๋ค์ํ ์์ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์๋ค. 3. ์ค๊ฐ ์ฒ๋ฆฌ์ ์ต์ข ์ฒ๋ฆฌ๋ฅผ ์ํํ๋๋ก ํ์ดํ ๋ผ์ธ์ ํ์ฑํ ์ ์๋ค. ๋ด๋ถ๋ฐ๋ณต์ ์คํธ๋ฆผ์ ์ฅ์ 1๋ฒ์์ ๋ด๋ถ๋ฐ๋ณต์์ด๋ฏ๋ก ๋น ๋ฅด๊ณ ํจ์จ์ ์ด๋ผ..
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ด๋, ํจ์๋ฅผ ์ ์ํ๊ณ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ถ๋ก ๋ณด๋ด ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ธฐ๋ฒ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ์ํด ์๋ฐ8๋ถํฐ ๋๋ค์์ ์ง์ํ๋ค. ๋๋ค์ :(๋งค๊ฐ๋ณ์, ...) -> {์ฒ๋ฆฌ๋ด์ฉ} ์๋ฐ๋ ๋๋ค์์ ์ต๋ช ๊ตฌํ ๊ฐ์ฒด๋ก ๋ณํํ๋ค. ์ถ์ ๋ฉ์๋๊ฐ ํ๋์ด๊ณ ๋๊ฐ์ ๋งค๊ฐ๋ณ์๋ฅผ ๊ฐ์ง๋ ๋๋ค์์ ๋ค์๊ณผ ๊ฐ๋ค. (x,y) -> { ์ฒ๋ฆฌ๋ด์ฉ }; x,y : ๋งค๊ฐ๋ณ์ -> { ์ฒ๋ฆฌ๋ด์ฉ } : ์ถ์ ๋ฉ์๋์ ์คํ ๋ธ๋ก ๋๋ค์์ ์ธํฐํ์ด์ค์ ์ต๋ช ๊ตฌํ ๊ฐ์ฒด์ด๋ฏ๋ก ์ธํฐํ์ด์ค ํ์ ์ ๋งค๊ฐ๋ณ์์ ๋์ ๋ ์ ์๋ค. public class Main { public static void main(String[] args) { action((x, y) -> { int result = x+y; System.out.println("re..
๊ณผ๊ฑฐ์ ์ค์ฒฉ ์ ์ธ์ ๋ํด ์ ๋ฆฌํ ์ ์ด ์์ง๋ง ๋๋ค์์ ๊ณต๋ถํ๋ค๊ฐ ๊ฐ๋ ์ด ํท๊ฐ๋ ค์ ์ต๋ช ๊ฐ์ฒด์ ํจ๊ป ๋ณต์ต์ ์งํํจ https://cb036133.tistory.com/56 ์ค์ฒฉ ํด๋์ค - ํด๋์ค ๋ด๋ถ์ ์ ์ธํ ํด๋์ค - ํด๋์ค์ ๋ฉค๋ฒ๋ฅผ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๊ณ ์ฝ๋์ ๋ณต์ก์ฑ์ ์ค์ผ ์ ์๋ค. - ํน์ ํด๋์คํ๊ณ ๋ง ๊ด๊ณ๋ฅผ ๋งบ์ ๊ฒฝ์ฐ ์ค์ฒฉ ํด๋์ค๋ก ์ ์ธํ๋ ๊ฒ์ด ์ ์ง๋ณด์์ ์ฉ์ด ๋ฉค๋ฒ ํด๋์ค - ํด๋ ์ค์ ๋ฉค๋ฒ๋ก์ ์ ์ธ๋๋ ์ค์ฒฉ ํด๋์ค 1. ์ธ์คํด์ค ๋ฉค๋ฒ ํด๋์ค 2. ์ ์ ๋ฉค๋ฒ ํด๋์ค ๋ก์ปฌ ํด๋์ค 3. ๋ฉ์๋๊ฐ ์คํํ ๋๋ง B๊ฐ์ฒด๋ฅผ ์์ฑํ ์ ์์ 1. ์ธ์คํด์ค ๋ฉค๋ฒ ํด๋์ค - ํด๋์ค ๋ด๋ถ์์ ์ฌ์ฉ๋๋ฏ๋ก private์ ๊ทผ ์ ํ์ ๊ฐ๋ ๊ฒ์ด ์ผ๋ฐ์ - ์ธ์คํด์ค ํ๋๊ฐ , ์์ฑ์ , ์ธ์คํด์ค ๋ฉ์๋์์ ์์ฑํ ์ ์๋ค ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cZSYnr/btrVecYa95L/OePNT0jGE06larELgCBo71/img.png)
์ปฌ๋ ์ ํ๋ ์์ํฌ - ์๋ฃ๊ตฌ์กฐ๋ฅผ ๋ฐํ์ผ๋ก ๊ฐ์ฒด๋ค์ ํจ์จ์ ์ผ๋ก ์ถ๊ฐ,์ญ์ ,๊ฒ์ํ ์ ์๋ ์ธํฐํ์ด์ค , ํด๋์ค - ๋ํ์ ์ผ๋ก List, Map , Set ์ด ์๋ค. * List ์ Map์ Collection ์ธํฐํ์ด์ค๋ก ์์ , Map ์ ์ฌ์ฉ ๋ฐฉ๋ฒ์ด ์ด ๋๊ณผ๋ ๋ค๋ฅป๋ค. ๋ถ๋ฅ ํน์ง Collection List - ์์ ์ ์ง - ์ค๋ณต ๊ฐ๋ฅ Set - ์์ x - ์ค๋ณต x Map -ํค์ ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋ ์ํธ๋ฆฌ ์ ์ฅ - ํค๋ ์ค๋ณต ์ ์ฅ x List ์ปฌ๋ ์ - ๊ฐ์ฒด๋ฅผ ์ธ๋ฑ์ค๋ก ๊ด๋ฆฌํ๋ค. - ArrayList , Vector , LinkedList ๋ฑ์ด ์ฌ์ฉ๋๋ค. - ๋ฉ์๋๋ฅผ ํตํด ๊ฐ์ฒด์ถ๊ฐ , ๊ฐ์ฒด ๊ฒ์ , ์ญ์ ๋ฅผ ํ ์ ์๋ค. ex) add(), contatains() , clear() ArrayList - ์ผ๋ฐ..
์ค์ฒฉํด๋์ค - ํด๋์ค ๋ด๋ถ์ ์ ์ธํ ํด๋์ค - ํน์ ํด๋์คํ๊ณ ๋ง ๊ด๊ณ๋ฅผ ๋งบ์ ๊ฒฝ์ฐ ์ฌ์ฉ - ์์ฑํ ๊ฒฝ์ฐ ๋ฐ์ดํธ์ฝ๋ ํ์ผ ์์ฑ ๋ฉค๋ฒ ํด๋์ค ๋ก์ปฌ ํด๋์ค ์ธ์คํด์ค ๋ฉค๋ฒ ํด๋์ค ์ ์ ๋ฉค๋ฒ ํด๋์ค ๋ก์ปฌ ํด๋์ค ๋ฐ๊นฅ ๊ฐ์ฒด๋ฅผ ์์ฑํด์ผ๋ง ์ค์ฒฉํด๋์ค ์์ฑ ๊ฐ๋ฅ ๋ฐ๊นฅ ๊ฐ์ฒด๋ฅผ ์์ฑํ์ง ์์๋ ์ค์ฒฉํด๋์ค ์์ฑ ๊ฐ๋ฅ ๋ฉ์๋๋ฅผ ์คํํ ๋๋ง ์ค์ฒฉํด๋์ค ์์ฑ ๊ฐ๋ฅ ์ธ์คํด์ค ๋ฉค๋ฒ ํด๋์ค - ์ฃผ๋ก ํด๋์ค ๋ด๋ถ์์ ์ฌ์ฉ๋๋ฏ๋ก private ์ ๊ทผ ์ ํ์ ๊ฐ์ง - ์ธ์คํด์ค ํ๋๊ฐ, ์์ฑ์ , ์ธ์คํด์ค ๋ฉ์๋์์ ์์ฑ๊ฐ๋ฅ - ์ธ๋ถ์์ ์ฌ์ฉํ๋ ค๋ฉด ๋ฐ๊นฅ ํด๋์ค๋ฅผ ์์ฑํด์ผ ํจ - ์ค์ฒฉ ํด๋์ค ๋ด๋ถ์๋ ํ๋,์์ฑ์,๋ฉ์๋ ์ ์ธ์ด ๊ฐ๋ฅํ๋ค. (์๋ฐ17๋ถํด ์ ์ ํ๋, ์ ์ ๋ฉ์๋ ์ ์ธ ๊ฐ๋ฅ) ์ ์ ๋ฉค๋ฒ ํด๋์ค - static ํค์๋๋ก ์ ์ธ๋ ์ค์ฒฉ ํด๋..