Querydsl์ ๊ธฐ์ด๋ถํฐ ์ค๋ฌด ํ์ฉ๊น์ง, ํ๋ฒ์ ํด๊ฒฐํด๋ณด์ธ์!
๊น์ํ์ ์ค์ ์๋ฐ - ๊ณ ๊ธ 1ํธ, ๋ฉํฐ์ค๋ ๋์ ๋์์ฑ ์คํ ์ผ์ ํ์
์๋
ํ์ธ์. ์ฌ๋ฌ๋ถ
๊น์ํ์ ์ค์ ์๋ฐ - ๊ณ ๊ธ 1ํธ, ๋ฉํฐ์ค๋ ๋์ ๋์์ฑ
์คํ ์ผ์ ์ด 7์ 15์ผ(์)๋ก ํ์ ๋์์ต๋๋ค.
๊น์ํ์ ์ค์ ์๋ฐ - ๊ณ ๊ธ 1ํธ, ๋ฉํฐ์ค๋ ๋์ ๋์์ฑ
* ๊ฐ์ ์๊ฐ: 20์๊ฐ 48๋ถ
* ๊ฐ์ ์: 118๊ฐ
* ๊ฐ์ PDF ์๋ฃ: ์ฝ 500์ฅ
* ๊ทธ๋ฆผ: 270์ฅ
๊ณ ๊ธ1ํธ์ ๋ฉํฐ์ค๋ ๋์ ๋์์ฑ์ CS ๊ธฐ๋ณธ๊ธฐ๋ถํฐ ์ค๋ฌด์ ํ์ํ ํ์ฉ ๊ธฐ์ ๊น์ง ์์ ํ ๋ง์คํฐํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ณต์กํ ๋ฉํฐ์ค๋ ๋๋ฅผ ์ต๋ํ ์ฝ๊ฒ ์ค๋ช ํ๊ธฐ ์ํด ๋ฌด๋ ค 270์ฅ์ ๊ทธ๋ฆผ์ด ๋ค์ด๊ฐ๋๋ค!
[์์ผ๋ก์ ๊ณํ]
๊ณ ๊ธํธ์ 1,2,3ํธ์ผ๋ก ๋๋์ด ์ถ์๋ ์์ ์
๋๋ค.
* ๊ณ ๊ธ 1ํธ: ๋ฉํฐ์ค๋ ๋์ ๋์์ฑ (7/15)
* ๊ณ ๊ธ 2ํธ: I/O, ๋คํธ์ํฌ, ๋ฆฌํ๋ ์
, ์ ๋
ธํ
์ด์
(10์ ์ค ์์ )
* ๊ณ ๊ธ 3ํธ: ๋๋ค, ์คํธ๋ฆผ, ๋ชจ๋ ์๋ฐ (12์ ์ค ์์ )
[๊ฐ์ ์๊ฐ]
๊น์ํ์ ์ค์ ์๋ฐ - ๊ณ ๊ธ 1ํธ, ๋ฉํฐ์ค๋ ๋์ ๋์์ฑ
๊ฐ์ ๋ชฉํ
๋จ์ํ ์ค๋ ๋์ ๊ธฐ์ด๋ฅผ ์๋ ๊ฒ์ ๋์ด์, ์ค๋ฌด์ ํ์ํ ์๋ฐ ๋ฉํฐ์ค๋ ๋ ๊ธฐ์ ๊ณผ ๋์์ฑ ๋ฌธ์ ๋ฅผ ์ ๋ง ๊น์ด์๊ฒ ์ ๋๋ก ์ดํดํ๊ณ , ๋ ์ค๋ฌด์์ ์ ๋๋ก ํ์ฉํ ์ ์๊ฒ ๊ฐ๋ฅด์ณ ๋๋ฆฌ๊ฒ ์ต๋๋ค.
๊ฐ์ ๋ด์ฉ
๊ธฐ๋ฐ์ ๋ค์ง๋ CS ์ด๋ก ํ์ต
* ํ๋ก์ธ์ค์ ์ค๋ ๋
* ๋ฉํฐํ์คํน
* ์ค์ผ์ค๋ง2
์ค๋ ๋์ ๊ธฐ๋ณธ๊ธฐ
* ์ค๋ ๋ ์ ์ด
* ์ค๋ ๋ ์๋ช
์ฃผ๊ธฐ
* ๋ฉ๋ชจ๋ฆฌ ๊ฐ์์ฑ, volatile
* synchronized ๋๊ธฐํ
* ReentrantLock - ๊ณ ๊ธ ๋๊ธฐํ
* ์ค๋ ๋ ์ ์ด - ๋ค์ํ ์์
์ค๋ ๋์ ๊ณ ๊ธ ๊ธฐ์ ๋ค
* ์์ฐ์ ์๋น์ ๋ฌธ์
* CAS
* ๋๊ธฐํ ์ปฌ๋ ์
์ค๋ฌด์์ ์ฌ์ฉํ๋ ๋ฉํฐ์ค๋ ๋ ์ค์ ๊ธฐ์ ๋ค
* Future์ ์๋ ์๋ฆฌ
* ์ค๋ ๋ ํ๊ณผ Executor ํ๋ ์์ํฌ - ์๋ฆฌ
* ์ค๋ ๋ ํ๊ณผ Executor ํ๋ ์์ํฌ - ์ค์ ํ์ฉ
[๊ฐ์ ์ ์ฒด ๋ชฉ์ฐจ]
1. ํ๋ก์ธ์ค์ ์ค๋ ๋ ์๊ฐ
* ๋ฉํฐํ์คํน๊ณผ ๋ฉํฐํ๋ก์ธ์ฑ
* ํ๋ก์ธ์ค์ ์ค๋ ๋
* ์ค๋ ๋์ ์ค์ผ์ค๋ง
* ์ปจํ
์คํธ ์ค์์นญ
2. ์ค๋ ๋ ์์ฑ๊ณผ ์คํ
* ํ๋ก์ ํธ ํ๊ฒฝ ๊ตฌ์ฑ
* ์ค๋ ๋ ์์1
* ์ค๋ ๋ ์์2
* ๋ฐ๋ชฌ ์ค๋ ๋
* ์ค๋ ๋ ์์ฑ - Runnable
* ๋ก๊ฑฐ ๋ง๋ค๊ธฐ
* ์ฌ๋ฌ ์ค๋ ๋ ๋ง๋ค๊ธฐ
* Runnable์ ๋ง๋๋ ๋ค์ํ ๋ฐฉ๋ฒ
* ๋ฌธ์ ์ ํ์ด
* ์ ๋ฆฌ
3. ์ค๋ ๋ ์ ์ด์ ์๋ช
์ฃผ๊ธฐ1
* ์ค๋ ๋ ๊ธฐ๋ณธ ์ ๋ณด
* ์ค๋ ๋์ ์๋ช
์ฃผ๊ธฐ - ์ค๋ช
* ์ค๋ ๋์ ์๋ช
์ฃผ๊ธฐ - ์ฝ๋
* ์ฒดํฌ ์์ธ ์ฌ์ ์
* join - ์์
* join - ํ์ํ ์ํฉ
* join - sleep ์ฌ์ฉ
* join - join ์ฌ์ฉ
* join - ํน์ ์๊ฐ ๋งํผ๋ง ๋๊ธฐ
* ๋ฌธ์ ์ ํ์ด
4. ์ค๋ ๋ ์ ์ด์ ์๋ช
์ฃผ๊ธฐ2
* ์ธํฐ๋ฝํธ - ์์1
* ์ธํฐ๋ฝํธ - ์์2
* ์ธํฐ๋ฝํธ - ์์3
* ์ธํฐ๋ฝํธ - ์์4
* ํ๋ฆฐํฐ ์์ 1 - ์์
* ํ๋ฆฐํฐ ์์ 2 - ์ธํฐ๋ฝํธ ๋์
* ํ๋ฆฐํฐ ์์ 3 - ์ธํฐ๋ฝํธ ์ฝ๋ ๊ฐ์
* yield - ์๋ณดํ๊ธฐ
* ํ๋ฆฐํฐ ์์ 4 - yield ๋์
* ์ ๋ฆฌ
5. ๋ฉ๋ชจ๋ฆฌ ๊ฐ์์ฑ
* volatile, ๋ฉ๋ชจ๋ฆฌ ๊ฐ์์ฑ1
* volatile, ๋ฉ๋ชจ๋ฆฌ ๊ฐ์์ฑ2
* volatile, ๋ฉ๋ชจ๋ฆฌ ๊ฐ์์ฑ3
* volatile, ๋ฉ๋ชจ๋ฆฌ ๊ฐ์์ฑ4
* ์๋ฐ ๋ฉ๋ชจ๋ฆฌ ๋ชจ๋ธ(Java Memory Model)
* ์ ๋ฆฌ
6. ๋๊ธฐํ - synchronized
* ์ถ๊ธ ์์ - ์์
* ๋์์ฑ ๋ฌธ์
* ์๊ณ ์์ญ
* synchronized ๋ฉ์๋
* synchronized ์ฝ๋ ๋ธ๋ญ
* ๋ฌธ์ ์ ํ์ด
* ์ ๋ฆฌ
7. ๊ณ ๊ธ ๋๊ธฐํ - concurrent.Lock
* LockSupport1
* LockSupport2
* ReentrantLock - ์ด๋ก
* ReentrantLock - ํ์ฉ
* ReentrantLock - ๋๊ธฐ ์ค๋จ
* ์ ๋ฆฌ
8. ์์ฐ์ ์๋น์ ๋ฌธ์ 1
* ์์ฐ์ ์๋น์ ๋ฌธ์ - ์๊ฐ
* ์์ฐ์ ์๋น์ ๋ฌธ์ - ์์ 1 ์ฝ๋
* ์์ฐ์ ์๋น์ ๋ฌธ์ - ์์ 1 ๋ถ์ - ์์ฐ์ ์ฐ์
* ์์ฐ์ ์๋น์ ๋ฌธ์ - ์์ 1 ๋ถ์ - ์๋น์ ์ฐ์
* ์์ฐ์ ์๋น์ ๋ฌธ์ - ์์ 2 ์ฝ๋
* ์์ฐ์ ์๋น์ ๋ฌธ์ - ์์ 2 ๋ถ์
* Object - wait, notify - ์์ 3 ์ฝ๋
* Object - wait, notify - ์์ 3 ๋ถ์ - ์์ฐ์ ์ฐ์
* Object - wait, notify - ์์ 3 ๋ถ์ - ์๋น์ ์ฐ์
* Object - wait, notify - ํ๊ณ
* ์ ๋ฆฌ
9. ์์ฐ์ ์๋น์ ๋ฌธ์ 2
* Lock Condition - ์์ 4
* ์์ฐ์ ์๋น์ ๋๊ธฐ ๊ณต๊ฐ ๋ถ๋ฆฌ - ์์ 5 ์ฝ๋
* ์์ฐ์ ์๋น์ ๋๊ธฐ ๊ณต๊ฐ ๋ถ๋ฆฌ - ์์ 5 ๋ถ์
* ์ค๋ ๋์ ๋๊ธฐ
* ์ค๊ฐ ์ ๋ฆฌ - ์์ฐ์ ์๋น์ ๋ฌธ์
* BlockingQueue - ์์ 6
* BlockingQueue - ๊ธฐ๋ฅ ์ค๋ช
* BlockingQueue - ๊ธฐ๋ฅ ํ์ธ
* ์ ๋ฆฌ
10. CAS - ๋๊ธฐํ์ ์์์ ์ฐ์ฐ
* ์์์ ์ฐ์ฐ - ์๊ฐ
* ์์์ ์ฐ์ฐ - ์์
* ์์์ ์ฐ์ฐ - volatile, synchronized
* ์์์ ์ฐ์ฐ - AtomicInteger
* ์์์ ์ฐ์ฐ - ์ฑ๋ฅ ํ
์คํธ
* CAS ์ฐ์ฐ1
* CAS ์ฐ์ฐ2
* CAS ์ฐ์ฐ3
* CAS ๋ฝ ๊ตฌํ1
* CAS ๋ฝ ๊ตฌํ2
* ์ ๋ฆฌ
11. ๋์์ฑ ์ปฌ๋ ์
* ๋์์ฑ ์ปฌ๋ ์
์ด ํ์ํ ์ด์ 1 - ์์
* ๋์์ฑ ์ปฌ๋ ์
์ด ํ์ํ ์ด์ 2 - ๋์์ฑ ๋ฌธ์
* ๋์์ฑ ์ปฌ๋ ์
์ด ํ์ํ ์ด์ 3 - ๋๊ธฐํ
* ๋์์ฑ ์ปฌ๋ ์
์ด ํ์ํ ์ด์ 4 - ํ๋ก์ ๋์
* ์๋ฐ ๋์์ฑ ์ปฌ๋ ์
1 - synchronized
* ์๋ฐ ๋์์ฑ ์ปฌ๋ ์
2 - ๋์์ฑ ์ปฌ๋ ์
* ์ ๋ฆฌ
12. ์ค๋ ๋ ํ๊ณผ Executor ํ๋ ์์ํฌ1
* ์ค๋ ๋๋ฅผ ์ง์ ์ฌ์ฉํ ๋์ ๋ฌธ์ ์
* Executor ํ๋ ์์ํฌ ์๊ฐ
* ExecutorService ์ฝ๋๋ก ์์ํ๊ธฐ
* Runnable์ ๋ถํธํจ
* Future1 - ์๊ฐ
* Future2 - ๋ถ์
* Future3 - ํ์ฉ
* Future4 - ์ด์
* Future5 - ์ ๋ฆฌ
* Future6 - ์ทจ์
* Future7 - ์์ธ
* ExecutorService - ์์
์ปฌ๋ ์
์ฒ๋ฆฌ
* ๋ฌธ์ ์ ํ์ด
* ์ ๋ฆฌ
13. ์ค๋ ๋ ํ๊ณผ Executor ํ๋ ์์ํฌ2
* ExecutorService ์ฐ์ํ ์ข
๋ฃ - ์๊ฐ
* ExecutorService ์ฐ์ํ ์ข
๋ฃ - ๊ตฌํ
* Executor ์ค๋ ๋ ํ ๊ด๋ฆฌ - ์ฝ๋
* Executor ์ค๋ ๋ ํ ๊ด๋ฆฌ - ๋ถ์
* Executor ์ ๋ต - ๊ณ ์ ํ ์ ๋ต
* Executor ์ ๋ต - ์บ์ ํ ์ ๋ต
* Executor ์ ๋ต - ์ฌ์ฉ์ ์ ์ ํ ์ ๋ต
* Executor ์์ธ ์ ์ฑ
* ์ ๋ฆฌ
๊ฐ์ฌํฉ๋๋ค.