ํด์๋ผ๋ ๋จ์ด๋ ์ํธํ ๊ด๋ จ ์ ๋ณด๋ฅผ ์์๋ณผ ๋ ์ฃผ๋ก ๋ค์๋ ๋จ์ด ๊ฐ๋ค.์ค๋์ ํด์์ ๊ด๋ จํ ๊ฐ๋
์ ๋ํด ์ด ์ ๋ฆฌ๋ฅผ ํด๋ด์ผ๊ฒ ๋ค.Java์์๋ HashTable ๊ณผ HashMap ๋๋ค ์๋๋ฐ, ์ด ํฌ์คํ
์์๋ ๋์ ๊ตฌ๋ถ ์ง์ง๋ ์๊ณ , HashMap ๊ธฐ๋ฐ์ผ๋ก ํ ์ค๋ช
์์ ์๋ ค๋๋ฆฌ๋ ๋ฐ์ด๋ค. ๐ ํด์ ํ
์ด๋ธ ์๋ฃ๊ตฌ์กฐ๋ ๋ฌด์์ธ๊ฐ?ํด์(Hash) ๋จ์ด ์์ฒด๋ ์ด๋ค ๊ฐ์ ์ผ์ ๊ธธ์ด๋ก ๋ณํํ๋ ๊ธฐ๋ฒ์ด๊ณ , ํด์ ํ
์ด๋ธ์ ๊ทธ ํด์ ๊ธฐ๋ฒ์ ์ ์ฉํ ์๋ฃ๊ตฌ์กฐ๋ผ๊ณ ํ ์ ์๋ค.๊ฐ๋จํ๊ฒ key-value ๊ตฌ์กฐ๋ก ๋น ๋ฅด๊ฒ ๊ฒ์์ ํ ์ ์๋ค๋ ๊ฒ์ด ํน์ง์ด๋ค๋์ฒด ํด์ ํ
์ด๋ธ์ด ๋ญ๊ธธ๋ ๋น ๋ฅด๊ฒ ๊ฒ์์ ํ ์ ์๋ ๊ฑธ๊น?์ ์ฐ๋ฆฌ๊ฐ ์น๊ตฌ์ ์ ํ๋ฒํธ๋ฅผ ๊ฒ์ํ ์ ์๋ ์ฌ์ดํธ๋ฅผ ๋ง๋ค์๋ค๊ณ ์น์.๊ฒ์์ฐฝ์ ์น๊ตฌ์ ์ด๋ฆ์ ์น๋ฉด ์ ํ๋ฒํธ๊ฐ ๋์ฌ ๊ฒ์ด๋ค..
๐ป Computer Science
๐ ์๋ฃ ๊ตฌ์กฐ๋ ์ ๊ณต๋ถํด์ผํ๋ 1. ์๋ฃ ๊ตฌ์กฐ๊ฐ ๋ฌด์์ธ๊ฐ์๋ฃ ๊ตฌ์กฐ = Data + Structure = ์๋ฃ๋ค์ ์งํฉ์ฆ, ์๋ฃ๊ฐ ๋ญ์ณ์๋ ์๊น์๋ฅผ ๋งํ๋ค.์๋ฃ ๊ตฌ์กฐ๋ ๋ฐ์ดํฐ๋ค์ ๊ด๊ณ๊ฐ ๋
ผ๋ฆฌ์ ์ผ๋ก ์ ์๋ ์ผ์ ํ ๊ท์น์ ์ํด ๋์ด๋๋ค.์๋ฃ์ ๋ํ ์ฒ๋ฆฌ๋ฅผ ํจ์จ์ ์ผ๋ก ์ํํ ์ ์๋๋ก ์๋ฃ๋ฅผ ์กฐ์ง์ , ์ฒด๊ณ์ ์ผ๋ก ๊ตฌ๋ถํด์ ํํํ๊ฑฐ๋ค.์ด๋ฐ ์์ผ๋ก ๋ฑ๋ฑ ๊ตฌ๋ถ์ง์ด์ ์์๊ฒ ๋์ ๊ฑฐ๋ ๋ง์ด๋ค. 2. ์๋ฃ ๊ตฌ์กฐ์ ๋ชฉ์ ์๋ฃ๊ตฌ์กฐ์ ๋ชฉ์ ์ ํฌ๊ฒ 3๊ฐ์ง์ด๋ค.1. ํจ์จ์ ์ธ ๋ฐ์ดํฐ ์ ์ฅ ๋ฐ ์ ๊ทผ2. ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ์ต์ ํ3. ๋ฌธ์ ํด๊ฒฐ ๋ฐ ์๊ณ ๋ฆฌ์ฆ ์ค๊ณ ์ง์๊ฐ๊ฐ ๋ค๋ฅธ ์ฑ
์ฅ์ด ์กด์ฌํ๋ค๊ณ ๊ฐ์ ํ์.1๋ฒ ์ฑ
์ฅ์ ์ฑ
์ด ๋ฌด์์๋ก ๊ฝํ ์๊ธฐ ๋๋ฌธ์ ๋์ค์ ์ํ๋ ์ฑ
์ ์ฐพ๊ธฐ๊ฐ ์ด๋ ค์ธ ์ ์๋ค.2๋ฒ ์ฑ
์ฅ์ ์นธ๋ง๋ค ๊ฐ์ ์์์ ์ฑ
์ ์ง์ดํ๋ค. ..
[์๊ณ ๋ฆฌ์ฆ ํจ์จ์ฑ] ์๊ฐ ๋ณต์ก๋์ ๊ณต๊ฐ ๋ณต์ก๋ ๊ทธ๋ฆฌ๊ณ ์ ๊ทผ์ ํ๊ธฐ๋ฒ ์ด์ ๋ฆฌ
์๊ณ ๋ฆฌ์ฆ ํจ์จ์ฑ ์ฒดํฌ์์ ์ฐ์ด๋ ์๊ฐ ๋ณต์ก๋์ ๊ณต๊ฐ ๋ณต์ก๋, ๊ทธ๋ฆฌ๊ณ Big-O ํ๊ธฐ๋ฒ์ ๋ํด ์ ๋ฆฌํ๊ณ ๋์ด๊ฐ๊ณ ์ ํ๋ค.์ฝํ
์์ ์ด๋์ ๋ ๊ตฌํ์ ํ๋ค๋ณด๋ฉด ์๊ฐ ์ด๊ณผ ํน์ ๋ฉ๋ชจ๋ฆฌ ์ด๊ณผ๋ฅผ ๊ฒช๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.๊ทธ ๋ ์ด๋ค ๊ณณ์ ์ต์ ํํ๋ฉด ์ข์์ง ์๊ณ ์ ๊ฒธ์ฌ๊ฒธ์ฌ ์ ๋ฆฌํ๊ณ ๋์ด๊ฐ๊ธฐ๋ก ํ๋ค.์ ๋์ ๋ชจ๋ฅผ ๋์ ์ฝ๋ ๊ตฌํ์ ์ ๋ง ๋ฌ๋ผ์ง ๊ฒ์ด๋ค. ๐ ๋ณต์ก๋ & ์ ๊ทผ์ ํ๊ธฐ๋ฒ ๋ณต์ก๋, ๊ทธ๊ฒ์ด ๋ฌด์์ธ๊ฐ ๐ง์ปดํจํฐ ๊ณผํ์์ ์๊ณ ๋ฆฌ์ฆ์ ๊ณ์ฐ ๋ณต์ก๋(Computational Complexity) ํน์ ๋ณต์ก๋(Complexity)๋ผ๋ ๊ฒ์ ์๊ณ ๋ฆฌ์ฆ์ ์คํํ๋ ๋ฐ ํ์ํ ์์์ ์์ ๋ปํ๋ค.์ด๋ ๊ณณ ์๊ณ ๋ฆฌ์ฆ์ ์ฑ๋ฅ์ ์ธก์ ํ๋ ๋ฐ ์ฌ์ฉ๋๊ณ , ๋ณต์ก๋๊ฐ ์์ผ๋ฉด ์์ ์๋ก ํด๋น ์๊ณ ๋ฆฌ์ฆ์ด ํจ์จ์ ์ด๋ผ๊ณ ํ๋จํ๋ค.์ฌ๋ฌ ๋ณต์ก๋๊ฐ ์์ง๋ง ๋ํ์ ์ธ..
flyweight pattern 1. Flyweight Fly(๊ฐ๋ฒผ์ด) + Weight(๋ฌด๊ฒ)๋ฅผ ๋ปํ๋ฉฐ, ๋ณต์ฑ์ ์ฒด๊ธ์์ ์ ๋๋์๋ค. ๋ชจ๋ ๊ฐ์ฒด๋ฅผ ์ผ์ผํ ์ธ์คํด์คํ ํ์ง์๊ณ ์ฌ์ฌ์ฉํ ์ ์๋ ๊ฐ์ฒด๋ ์ฌ์ฌ์ฉํจ์ผ๋ก์จ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ฐ๋ณ๊ฒ ๋ง๋ ๋ค๋ ์๋ฏธ๋ก์ ์ฐ์ธ๋ค๊ณ ๋ณด๋ฉด ๋๋ค. ⇒ ๊ฐ๋ณ๊ฒ ๋ง๋ ๋ค! ๊ณต์ ๋ ์์๊ณผ ๊ทธ๋ ์ง ์์ ์์์ ์ฌ์ฉ๋ ์ฐจ์ด 2. Flyweight ํจํด ๊ตฌ์กฐ Flyweight : ๊ฒฝ๋ ๊ฐ์ฒด๋ฅผ ๋ฌถ๋ ์ธํฐํ์ด์ค ConcreteFlyweight : ๊ณต์ ๊ฐ๋ฅํ์ฌ ์ฌ์ฌ์ฉ๋๋ ๊ฐ์ฒด(intrinsic state) UnsahredConcreteFlyweight: ๊ณต์ ๋ถ๊ฐ๋ฅํ ๊ฐ์ฒด (extrinsic state) FlyweightFactory : ๊ฒฝ๋ ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ๊ณต์ฅ ์ญํ ๊ณผ ์บ์ ์ญํ ์ ๊ฒธ๋นํ๋ Flywei..
1. ํ (Queue)ํ๋ ์ด๋ ๊ฒ ์ ์
์ ์ถ(FIFO) ๊ตฌ์กฐ์ด๋ค.์ฐ์ฐ ๊ณผ์ ์๋- enqueue : ํ์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๋ ์์
- dequeue : ํ์์ ๋ฐ์ดํฐ๋ฅผ ๊บผ๋ด๋ ์์
- front : ๋ฐ์ดํฐ๋ฅผ ๊บผ๋ด๋ ๋ถ๋ถ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐํ- rear : ๋ฐ์ดํฐ๋ฅผ ๋ฃ๋ ๋ถ๋ถ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐํ์ด๋ฐ ๊ฐ๋
๋ค์ด ๋ฑ์ฅ ํ๋ค. 1. ์ฝ๊ฒ ์ดํด๋ฅผ ์ํด ์์ ๋ฅผ ์ดํด ๋ณด๊ฒ ๋ค.์ฐ๋ฆฌ๊ฐ ์ค ์์๋ ๋๊ธฐ์ด์ ์๊ฐํ๋ฉด ์ฝ๋ค.ํฐ์ผ ๋งคํ์์ ์ด๋ ๊ฒ ์ค์ ์ ์๋ค๊ณ ๊ฐ์ ํด๋ณด์.์ค์ ์ ์ผ ๋จผ์ ์ A๊ฐ ๋จผ์ ํ๋ฅผ ์ฌ๊ณ , ์ ์ผ ๋์ค์ ์ E๊น์ง ๋ชจ๋ ์์๋๋ก ํ๋ฅผ ์ด ์ ์์ ๊ฒ์ด๋ค.์ด๋ ๊ฒ ๊ทผ๋ฐ ์ฌ๊ธฐ์ F๊ฐ ๋ฑ์ฅํด์ ์ค์ ์ ๋ค.๊ทธ๋ผ ์ด๋ rear๋ ์๋ก ์ถ๊ฐ๋ ๋งจ ๋ค์ F๋ก ๋๋ค.์ด F๋ฅผ ์ถ๊ฐํ๋ ์์
์ enqueue ๋ผ๊ณ ํ๊ณ , F ์ถ๊ฐํ ์์น๋ฅผ ๋ํ๋ด๋..
Singleton Singleton ํจํด? ⇒ ์ธ์คํด์ค๊ฐ ํ๋๋ง ์กด์ฌํ๋ ๊ฒ์ ๋ณด์ฆํ๋ ํจํด ์ฅ์ ์ธ์คํด์ค๊ฐ ํ๋๋ง ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๋ฅผ ๋ฐฉ์งํ ์ ์์ ์ ์ญ ์ธ์คํด์ค์ด๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ํด๋์ค์ ์ธ์คํด์ค๋ค์ด ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๊ธฐ ์ฌ์, ๋ฐ์ดํฐ ์ผ๊ด์ฑ ๋ณด์ฅ ์ดํ๋ฆฌ์ผ์ด์
์ ์ธํ
๊ฐ( ๋ฐฐ๊ฒฝ์ ), DBCP, ๋ก๊ทธ ๊ธฐ๋ก ๊ฐ์ฒด DBCP! ํ ๋ง์์! db์ ์๋ฒ๊ฐ ์ฐ๊ฒฐํ๋ connection ์์
์ ๋น์ฉ์ด ํผ ⇒ ๋ค์์ ์ฌ์ฉ์ ๋์๋ค๋ฐ์ ์ผ๋ก ์ฌ์ฉ์ ์๋ฒ ๋ค์ด์ฌ๋ฌ ์ปค๋ฅ์
๋ค์ ๋ฏธ๋ฆฌ ๋ด์๋๊ณ ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญํ ๋๋ง๋ค ํ๋์ฉ ๊บผ๋ด์ ๋น๋ ค์ค ์ปค๋ฅ์
์ด ๋ค ๋จ์ด์ง๋ฉด ๋ค๋ฅธ ํด๋ผ์ด์ธํธ๊ฐ ๋ฐํํ ๋๊น์ง ๋๊ธฐ์ํ๋ก ์ ํ ๋ค์ด์ด๊ทธ๋จ ๊ธฐ๋ณธ ๊ณจ๊ฒฉ : Eager Initialization (์ด๋ฅธ ์ด๊ธฐํ) public class Singl..
--[Quiz]์ต๊ทผ 12๊ฐ์๋์์ ๋ ์ง(yyyymm)์ถ๋ ฅํ๊ธฐ SELECT TO_CHAR(ADD_MONTHS(TO_DATE('201501','YYYYMM'), LEVEL-1),'YYYYMM') months FROM DUAL CONNECT BY LEVEL
๋ฌธ์ ์ค๋ช
๋ค์์ ์ด๋ ์๋ฅ ์ผํ๋ชฐ์ ์จ๋ผ์ธ ์ํ ํ๋งค ์ ๋ณด๋ฅผ ๋ด์ ONLINE_SALE ํ
์ด๋ธ๊ณผ ์คํ๋ผ์ธ ์ํ ํ๋งค ์ ๋ณด๋ฅผ ๋ด์ OFFLINE_SALE ํ
์ด๋ธ ์
๋๋ค. ONLINE_SALE ํ
์ด๋ธ์ ์๋์ ๊ฐ์ ๊ตฌ์กฐ๋ก ๋์ด์์ผ๋ฉฐ ONLINE_SALE_ID, USER_ID, PRODUCT_ID, SALES_AMOUNT, SALES_DATE๋ ๊ฐ๊ฐ ์จ๋ผ์ธ ์ํ ํ๋งค ID, ํ์ ID, ์ํ ID, ํ๋งค๋, ํ๋งค์ผ์ ๋ํ๋
๋๋ค. Column name Type Nullable ONLINE_SALE_ID INTEGER FALSE USER_ID INTEGER FALSE PRODUCT_ID INTEGER FALSE SALES_AMOUNT INTEGER FALSE SALES_DATE DATE FALSE ๋์ผํ ๋ ์ง,..
**ํ๋ก๊ทธ๋จ ์คํ ์์์ ๋ฐ๋ฅธ ํ๋ฆ 1. ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ A. ์ฝ๋ ์์ญ - ์ฐ๋ฆฌ๊ฐ ์์ฑํ ์์ค์ฝ๋๊ฐ ๋ค์ด ๊ฐ๋ ๋ถ๋ถ. ์ฆ, ์คํํ ํ๋ก๊ทธ๋จ์ ์ฝ๋๊ฐ ์ ์ฅ๋๋ ์์ญ์ผ๋ก ํ
์คํธ(text)์์ญ์ด๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค. - ์ฝ๋์์ญ์ ์คํ ํ์ผ์ ๊ตฌ์ฑํ๋ ๋ช
๋ น์ด๋ค์ด ์ฌ๋ผ๊ฐ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ผ๋ก ํจ์, ์ ์ด๋ฌธ, ์์ ๋ฑ์ด ์ฌ๊ธฐ์ ์ง์ ๋๋ค. B. ๋ฐ์ดํฐ ์์ญ - ์ ์ญ๋ณ์์ static๋ณ์๊ฐ ํ ๋น๋๋ ์์ญ - ํ๋ก๊ทธ๋จ์ ์์๊ณผ ๋์์ ํ ๋น๋๊ณ , ํ๋ก๊ทธ๋จ์ด ์ข
๋ฃ๋์ด์ผ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์๋ฉธ๋๋ ์์ญ - BSS ์์ญ์๋ ์ด๊ธฐ๊ฐ์ด ์๋ ํน์ ์ด๊ธฐํ๋์ง ์์ ์ ์ญ๋ณ์, DATA ์์ญ์๋ ์ด๊ธฐ๊ฐ์ด ์๋ ์ ์ญ๋ณ์๊ฐ ํ ๋น๋๋ ๋ฑ ๋๊ฐ์ง ์์ญ์ผ๋ก ๋๋๋ค. C. ํ ์์ญ - ํ๋ก๊ทธ๋๋จธ๊ฐ ํ ๋น/ํด์ ํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด๋ค. - Java์์๋ ๊ฐ๋น์ง ์ปฌ๋ ํฐ๊ฐ ์..
SELECT CONCAT(EXTRACT(YEAR_MONTH FROM (CURRENT_DATE() - interval 1 MONTH)),'01'); SELECT REPLACE(LAST_DAY(CURRENT_DATE() - interval 1 MONTH),'-',''); ์ ์ 1์ผ์ ์ ๋ฌ ๋
์๊น์ง๋ง ์ถ๋ ฅ ( 202211)ํ๊ณ 01์ concat ํด์ค ์ ์ ๋ง์ง๋ง์ผ์ LAST_DAY ํจ์๋ฅผ ํ์ฉํด์ ๊ตฌํ๋ค์์ '-' ์ด๊ฑฐ ๋นผ์ค LAST_DAY๋ก ์ถ๋ ฅํ๋ฉด (2022-11-30) ์ด๋ฐ ํํ๋ก ์ถ๋ ฅ๋๊ธฐ ๋๋ฌธ ํ์ฉํด์ where ์ ์ ์ฐ๋ฉด ๋๊ฒ ๋ค.