Notice
Recent Posts
Link
Today
Total
07-07 14:18
๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก์ „์ฒด ๊ธ€ (77)

dingdong coding

Swagger๋กœ ๊ฐ„๋‹จํ•œ REST API ๋ช…์„ธ

Swagger ์Šค์›จ๊ฑฐ(Swagger)๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ REST ์›น์„œ๋น„์Šค๋ฅผ ์„ค๊ณ„, ๋นŒ๋“œ, ๋ฌธ์„œํ™”, ์†Œ๋น„ํ•˜๋Š” ์ผ์„ ๋„์™€์ฃผ๋Š” ๋Œ€ํ˜• ๋„๊ตฌ ์ƒํƒœ๊ณ„์˜ ์ง€์›์„ ๋ฐ›๋Š” ์˜คํ”ˆ์†Œ์Šค ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋ ˆ์ž„์›Œํฌ์ด๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ์šฉ์ž๋“ค์€ ์Šค์›จ๊ฑฐ UI ๋„๊ตฌ๋ฅผ ํ†ตํ•ด ์Šค์›จ๊ฑฐ๋ฅผ ์‹๋ณ„ํ•˜๋ฉฐ ์Šค์›จ๊ฑฐ ํˆด์…‹์—๋Š” ์ž๋™ํ™”๋œ ๋ฌธ์„œํ™”, ์ฝ”๋“œ ์ƒ์„ฑ, ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ƒ์„ฑ ์ง€์›์ด ํฌํ•จ๋œ๋‹ค. - ์œ„ํ‚ค - ์ฆ‰, ์Šค์›จ๊ฑฐ๋Š” ๋Œ€ํ‘œ์ ์ธ API ๊ด€๋ฆฌ ๋„๊ตฌ๋กœ ๊ฐœ๋ฐœํ•œ RESP API ๋„๊ตฌ๋ฅผ ํŽธ๋ฆฌํ•˜๊ฒŒ ๋ฌธ์„œํ™”ํ•ด์ฃผ๋ฉฐ ํŽธ๋ฆฌํ•˜๊ฒŒ API๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. • OpenAPI๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ • API๋“ค์ด ๊ฐ–๊ณ  ์žˆ๋Š” ๋ช…์„ธ์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋Š” Tool • API ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉ์ž์—๊ฒŒ ์•Œ๋ ค์ฃผ๋Š” ๋ฌธ์„œ ๊ณต์‹ ์‚ฌ์ดํŠธ : https://swagger.io/ Swagger ๊ธฐ๋Šฅ ..

๐Ÿ“‘API/SwaggerHub 2022. 7. 11. 21:08
[ MySQL ] ๊ธฐ๋ณธ ์ฟผ๋ฆฌ๋ฌธ ์ •๋ฆฌ

SQL (Structured Query Language) • SQL์€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ๋”ฐ๋ฅด๋Š” DBMS์˜ ํ‘œ์ค€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์–ธ์–ด • ๊ด€๊ณ„ ๋Œ€์ˆ˜๋ฅผ ๊ธฐ์ดˆ๋กœ ๋งŒ๋“œ๋Ÿฌ์ง„ DB๊ด€๋ จ ๋ช…๋ น์–ด ํ˜•์‹ SQL ๋ช…๋ น์–ด ๋ถ„๋ฅ˜ 1 ) ๋ฐ์ดํ„ฐ ์ •์˜์–ด DDL, Data Definition Language - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋‚˜ ํ…Œ์ด๋ธ” ๋“ฑ์„ ์ƒ์„ฑ, ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ๊ทธ ๊ตฌ์กฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ธฐ ์œ„ํ•œ ๋ช…๋ น์–ด - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ •์˜ํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ • - ๋ช…๋ น์–ด ์ˆ˜ํ–‰์‹œ ์ด์ „ ์ƒํƒœ๋กœ ๋ณต๊ท€ ๋ถˆ๊ฐ€ ๊ตฌ๋ถ„ DDL ๋ช…๋ น์–ด ๋‚ด์šฉ ์ƒ์„ฑ CREATE ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์˜ค๋ธŒ์ ํŠธ ์ƒ์„ฑ ๋ณ€๊ฒฝ ALTER ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์˜ค๋ธŒ์ ํŠธ ๋ณ€๊ฒฝ ์‚ญ์ œ DROP ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์˜ค๋ธŒ์ ํŠธ ์‚ญ์ œ TRUNCATE ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์˜ค๋ธŒ์ ํŠธ์˜ ๋‚ด์šฉ ์‚ญ์ œ 2 ) ๋ฐ์ดํ„ฐ ์กฐ์ž‘์–ด DML, Data Manipulation Langu..

๐ŸฌDB 2022. 7. 7. 02:39
Strategy Pattern

ํ•„์š”์„ฑ ๋จผ์ € Strategy Pattern์„ ์™œ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š”์ง€์— ๋Œ€ํ•ด ์˜ˆ๋ฅผ ๋“ค์–ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋กœ๋ด‡(Robot) ์„ค๊ณ„๋„์— ๋”ฐ๋ผ ์•„ํ†ฐ(Atom)๊ณผ ํƒœ๊ถŒ๋ธŒ์ด(TaekwonV)๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ํƒœ๊ถŒ๋ธŒ์ด์™€ ์•„ํ†ฐ์€ ๊ณตํ†ต์ ์œผ๋กœ ๊ณต๊ฒฉ๊ณผ ์ด๋™ ๊ธฐ๋Šฅ์ด ์žˆ์ง€๋งŒ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๋กœ๋ด‡ ํด๋ž˜์Šค์—์„œ attack์™€ move๋ฉ”์„œ๋“œ๋ฅผ ์ถ”์ƒ๋ฉ”์„œ๋“œ๋กœ ์„ค์ •ํ•ด ์ž์‹ ํด๋ž˜์Šค์—์„œ ์ •์˜ํ•˜๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ณต๊ฒฉ ์ด๋™ ํƒœ๊ถŒ๋ธŒ์ด ๋ฏธ์‚ฌ์ผ ๊ณต๊ฒฉ ๊ฑท๊ธฐ ์•„ํ†ฐ ์ฃผ๋จน ๊ณต๊ฒฉ ํ•˜๋Š˜ ๋‚ ์•„๋‹ค๋‹ˆ๊ธฐ ๊ทธ๋Ÿฌ๋‹ค ํ•˜๋Š˜๋กœ ๋‚ ์•„๋‹ค๋‹ˆ๋˜ ์•„ํ†ฐ์ด ๊ฐ‘์ž๊ธฐ ๊ฑท๊ธฐ๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์•„ํ†ฐ์˜ move() ๋ฉ”์„œ๋“œ๋ฅผ ์ˆ˜์ •ํ•ด์ฃผ๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๋ฌธ์ œ์ ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ง์ ‘ move( )๋ฉ”์„œ๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ์ž‘์—…์€ OCP (Open/Close Principle)์— ์œ„๋ฐฐ๋˜๋Š” ์ž‘์—…๋‹ˆ๋‹ค. ..

๐ŸฐJAVA/Design Pattern 2022. 7. 6. 02:09
Factory Method Pattern

ํ•„์š”์„ฑ ๋จผ์ € Factory Method Pattern ํŒจํ„ด์„ ์™œ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š”์ง€์— ๋Œ€ํ•ด ์•Œ์•„๋ด…์‹œ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์ด ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์€ ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ธฐ๋Šฅ์˜ ๊ตฌํ˜„์€ ๊ฐœ๋ณ„ ํด๋ž˜์Šค๋ฅผ ํ†ตํ•ด ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•ฉ๋‹ˆ๋‹ค. ๋•Œ๋ฌธ์— ๊ธฐ๋Šฅ์˜ ๋ณ€๊ฒฝ์ด๋‚˜ ์ƒํ™ฉ์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ ์„ ํƒ์€ ํ•ด๋‹น ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์ฝ”๋“œ์˜ ๋ณ€๊ฒฝ์„ ์ดˆ๋ž˜ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ ์ ˆํ•œ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์ฝ”๋“œ๋Š” ์ž์ฃผ ์ค‘๋ณต๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ถ”์ƒํ™”ํ•ด ํ•œ ๊ณณ์—์„œ ๊ด€๋ฆฌํ•˜์ง€ ์•Š์œผ๋ฉด ๋ณ€ํ™”๊ฐ€ ๋ฐœ์ƒ ํ–ˆ์„ ์‹œ ํ•ด๋‹น ํด๋ผ์ด์–ธํŠธ์˜ ์ฝ”๋“œ๋ฅผ ์ „๋ถ€ ์ˆ˜์ •ํ•ด์ฃผ์–ด์•ผํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์™œ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด๋‚ด๋Š” ๊ณต์žฅ์ด ํ•„์š”ํ• ๊นŒ์š”? Factory Pattern Factory์˜ ๋œป์€ ๊ณต์žฅ์œผ๋กœ ์—ฌ๊ธฐ์„œ๋Š” ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด๋‚ด๋Š” ๊ณต์žฅ(๋ชจ๋“ˆ)์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ..

๐ŸฐJAVA/Design Pattern 2022. 7. 5. 01:16
SERVER_NETWORK

1. ํŠธ๋ž˜ํ”ฝ์ด ๋งŽ์•„์ง€๋ฉด ์–ด๋–ป๊ฒŒ ๋˜๋Š”์ง€, ์–ด๋–ป๊ฒŒ ๋Œ€์ฒ˜ํ•ด์•ผ ํ•˜๋Š”์ง€ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š” ( ์˜ˆ์ธก๋˜๋Š” ํ˜„์ƒ ๋ฐ ํ•ด๊ฒฐ ๋ฐฉํ–ฅ) ๋Œ€์šฉ๋Ÿ‰ ํŠธ๋ž˜ํ”ฝ์ด ๋ฐœ์ƒํ•˜๋ฉด ์„œ๋ฒ„๊ฐ€ ๋ ‰์ด ๊ฑธ๋ฆด์ˆ˜๋„ ์žˆ๊ณ  ๋งŒ์•ฝ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์˜ค๋ฒ„๊ฐ€ ๋œ๋‹ค๋ฉด out of memory๋“ฑ์˜ ์—๋Ÿฌ๋ฅผ ๋‚ด๋ฑ‰์œผ๋ฉด์„œ ์„œ๋ฒ„๊ฐ€ ๋ป—๊ฒŒ ๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋•Œ๋ฌธ์— ๋” ๋งŽ์€ ์‚ฌ์šฉ์ž๋ฅผ ์ˆ˜์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์„œ๋ฒ„ ๋ฆฌ์†Œ์Šค๋ฅผ ๋Š˜๋ ค์•ผ ํ•ฉ๋‹ˆ๋‹ค. 1) scale-up (์ˆ˜์ง ํ™•์žฅ) ๊ธฐ์กด ํ•œ ๋Œ€์˜ ์„œ๋ฒ„ ์„ฑ๋Šฅ์„ ๋†’์ด๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์ด ๋ฐฉ๋ฒ•์€ ์ผ์‹œ์ ์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋” ๋งŽ์ด ์‚ฌ์šฉ์ž๋“ค์ด ์ƒ๊ธด๋‹ค๋ฉด ์ถ”๊ฐ€ ๋œ ๋ฆฌ์†Œ์Šค ๋˜ํ•œ ๊ณ ๊ฐˆ๋ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ ํ•œ ๋Œ€์˜ ์„œ๋ฒ„์„ฑ๋Šฅ์„ ๋†’์ด๋Š” ๋ฐฉ์‹์€ ๋ฆฌ์†Œ์Šค ํ•œ๊ณ„, ์„ฑ๋Šฅ ํ™•์žฅ์— ํ•œ๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋‹จ์ผ ์žฅ์•  ์ง€์ ์„ ๊ฐ–๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ํ•œ ๋Œ€์˜ ์„œ๋ฒ„๊ฐ€ ๋‹ค์šด ๋˜๋Š” ๊ฒฝ์šฐ ๋” ์ด์ƒ ์„œ๋ฒ„๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์—†..

๐ŸŽˆ์ทจ์ค€ 2022. 7. 3. 16:21
PROGRAMMING

1. ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ฐจ์ด์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๊ณ , ๋ณธ์ธ์ด ์‚ฌ์šฉํ•ด ๋ณธ ๊ฒƒ๋“ค์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š” ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ฐจ์ด๋Š” ์ œ์–ด ํ๋ฆ„์— ๋Œ€ํ•œ ์ฃผ๋„์„ฑ์ด ๋ˆ„๊ตฌ์—๊ฒŒ/์–ด๋””์— ์žˆ๋Š”๊ฐ€ ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ๋ฆ„์„ ๋ˆ„๊ฐ€ ์ฅ๊ณ  ์žˆ๋А๋ƒ์— ๋”ฐ๋ผ ๋‹ฌ๋ ค ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์ „์ฒด์ ์ธ ํ๋ฆ„์„ ์Šค์Šค๋กœ๊ฐ€ ์ฅ๊ณ  ์žˆ์œผ๋ฉฐ ์‚ฌ์šฉ์ž๋Š” ๊ทธ ์•ˆ์—์„œ ํ•„์š”ํ•œ ์ฝ”๋“œ๋ฅผ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ „์ฒด์ ์ธ ํ๋ฆ„์„ ๋งŒ๋“ค์—ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฐ€์ ธ๋‹ค ์“ฐ๋Š” ๊ฒƒ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฐ€์ ธ๋‹ค๊ฐ€ ์‚ฌ์šฉํ•˜๊ณ  ํ˜ธ์ถœํ•˜๋Š” ์ธก์— ์ „์ ์œผ๋กœ ์ฃผ๋„์„ฑ์ด ์žˆ์œผ๋ฉฐ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๊ทธ ํ‹€ ์•ˆ์— ์ด๋ฏธ ์ œ์–ด ํ๋ฆ„์— ๋Œ€ํ•œ ์ฃผ๋„์„ฑ์ด ๋‚ด์žฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๊ฐ€์ ธ๋‹ค ์‚ฌ์šฉํ•œ๋‹ค๊ธฐ ๋ณด๋‹ค๋Š” ๊ฑฐ๊ธฐ์— ๋“ค์–ด๊ฐ€์„œ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ด€์ ์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค...

๐ŸŽˆ์ทจ์ค€ 2022. 7. 3. 15:06
[ JAVA ] Garbage Collection

GC ( Garbage Collection ) GC๋ž€ Heap ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์žฌํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด Root Set์—์„œ ์ฐธ์กฐ๋˜์ง€ ์•Š๋Š” ๊ฐ์ฒด๋“ค์„ ํ•ด์ œํ•ด ๊ฐ€์šฉ๊ฐ€๋Šฅํ•œ ๊ณต๊ฐ„์„ ๋งŒ๋“œ๋Š” ์ž‘์—…์ž…๋‹ˆ๋‹ค. * ์ฐธ์กฐ๋œ ๊ฐœ์ฒด : ํ”„๋กœ๊ทธ๋žจ์˜ ์ผ๋ถ€๊ฐ€ ์—ฌ์ „ํžˆ ํ•ด๋‹น ๊ฐœ์ฒด์— ๋Œ€ํ•œ ํฌ์ธํ„ฐ๋ฅผ ์œ ์ง€ํ•˜๊ณ  ์žˆ์Œ์„ ์˜๋ฏธ * ์ฐธ์กฐ๋˜์ง€ ์•Š์€ ๊ฐœ์ฒด : ํ”„๋กœ๊ทธ๋žจ์˜ ์–ด๋–ค ๋ถ€๋ถ„์—์„œ๋„ ๋” ์ด์ƒ ์ฐธ์กฐ๋˜์ง€ ์•Š์Œ ๋”ฐ๋ผ์„œ ํ•ด๋‹น ๊ฐœ์ฒด๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ํšŒ์ˆ˜ ์ž๋ฐ”์—์„œ๋Š” ์ด๋Ÿฌํ•œ ๋ฉ”๋ชจ๋ฆฌ ํ•ด์ œ ์ž‘์—…์„ Garbage Colletor๊ฐ€ ๋‹ด๋‹นํ•˜๋ฉฐ, ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ•ด์ œํ•˜๋Š” ์ž‘์—…์€ Garbage Collection์ด๋ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰ null, System.gc() ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋“ฑ๊ณผ ๊ฐ™์ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•ด ํ•ด์ œํ•˜๋Š” ์ž‘์—…์€ ํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค. null๋กœ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์€ ํฐ ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š์ง€๋งŒ..

๐ŸฐJAVA/Basic 2022. 7. 1. 15:47
2022 ์ƒ๋ฐ˜๊ธฐ ๋งˆ๋ฌด๋ฆฌ

2022.02.18 ์กธ์—…๊ณผ ํ•จ๊ป˜ ๋Œ€ํ•™์ƒ์˜ ์‹ ๋ถ„์—์„œ ๋ฒ—์–ด๋‚˜ ๊ฐ•์ œ ๋ฐฑ์ˆ˜๊ฐ€ ๋๋‹ค. ๋Œ€ํ•™์ƒ๋•Œ๋งŒ ํ•ด๋„ ๊ณ„์† 1ํ•™๋…„์ผ ์ค„ ์•Œ์•˜์ง€... ์ •์‹ ์—†์ด 4๋…„์ด๋ผ๋Š” ์‹œ๊ฐ„์ด ํ˜๋Ÿฌ๋ฒ„๋ ธ๋‹ค. ๐Ÿ˜‚ ๋‹ค์‹œ ์ฐจ๊ทผ์ฐจ๊ทผ ์ž‘๋…„ 12์›”๋ถ€ํ„ฐ ์ƒ๊ฐํ•ด๋ณด์ž. 12์›”์€ ์ธํ„ด์ด ๋๋‚˜๋Š” ์‹œ๊ธฐ๋กœ ํฌ๋ฆฌ์Šค๋งˆ์Šค ์ด๋ฒคํŠธ ๋•Œ ์ฐ์€ ์‚ฌ์ง„ ํ•œ ์žฅ์ด ์ „๋ถ€๋‹ค ํšŒ์‚ฌ ์ƒํ™œ ์ค‘ ๋‚˜๋ฆ„ ์€์€ํ•œ ์†Œํ™•ํ–‰ ใ…‹ใ…‹ ์•„๋ฌดํŠผ 12์›” ์ธํ„ด์ด ๋๋‚˜๊ณ  ํ•™๊ต๋ž‘ ์•ˆ๋…•~~ + ์•Œ์ˆ˜์—†๋Š” ํ•ด๋ฐฉ๊ฐ ์ด ๋‘๊ฐ€์ง€ ์ƒ๊ฐ์— 1์›”๊นŒ์ง€ ์—ด์‹ฌํžˆ ๋…ธ๋Š”๋ฐ ์ง‘์ค‘ํ–ˆ๋‹ค. ์ •๋ง ์—ฌ๊ธฐ์ €๊ธฐ ๋‹ค๋‹ˆ๋ฉฐ ๋†€์•˜๋Š”๋ฐ ํ•„ ๋ฐ›์•„์„œ ๋ฒ„์Šคํƒ€๊ณ  ์–‘ํ‰๊นŒ์ง€ ๊ฐ„ ์ ๋„ ์žˆ๋‹ค. ์•„๋ฌดํŠผ ๊ทธ๋™์•ˆ ๋ฐ”๋น ์„œ ๋ชป๋ดค๋˜ ์นœ๊ตฌ๋“ค๋„ ๋งŒ๋‚˜๊ณ , ๊ฐ€์กฑ์ด๋ž‘ ๋ง›์žˆ๋Š” ๊ฒƒ๋„ ๋จน์œผ๋Ÿฌ ๋‹ค๋‹ˆ๊ณ  ์šด๋™๋„ ๋‹ค๋‹ˆ๊ณ  ๊ทธ๋™์•ˆ ์ฆ๊ธฐ์ง€ ๋ชปํ–ˆ๋˜ ๋‚ด ๋ผ์ดํ”„์— ๋” ์‹ ๊ฒฝ์ผ๋‹ค. ( = ๊ทธ๋ƒฅ ๋†€๊ธฐ๋งŒ ํ–ˆ๋‹ค๋Š” ๋œป ) ๊ทธ๋ ‡๊ฒŒ 1์›”์ด ..

โœ๏ธRetrospect/ETC 2022. 6. 29. 22:09
[JAVA ] Set Interface

SET INTERFACE • ์ €์žฅ ์ˆœ์„œ๊ฐ€ ์—†๋Š” ๋ฐ์ดํ„ฐ์˜ ์ง‘ํ•ฉ์œผ๋กœ, ๋ฐ์ดํ„ฐ์˜ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ex) HashSet, LinkedHashSet( Hash Set์˜ ํ•˜์œ„ ํด๋ž˜์Šค ), TreeSet 1. HashSet • Hash๊ธฐ๋Šฅ๊ณผ Set ์ปฌ๋ ‰์…˜์ด ํ•ฉ์ณ์ง„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. • Hash Algorithm ์— ์˜ํ•ด ๋ฐ์ดํ„ฐ์˜ ์œ„์น˜๋ฅผ ํŠน์ •์‹œ์ผœ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“  ๊ฒƒ์ž…๋‹ˆ๋‹ค. • ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ Set ์ปฌ๋ ‰์…˜์˜ ํด๋ž˜์Šค๋กœ ์ž…๋ ฅ์ˆœ์„œ์— ์ƒ๊ด€์—†์ด ์ €์žฅ๋˜์–ด ์ •๋ ฌํ•ด์ฃผ์ง€ ์•Š๊ณ  ์ค‘๋ณต๋œ ๊ฐ’์€ ์ €์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. • ๋งŒ์•ฝ ์š”์†Œ์˜ ์ €์žฅ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•ด์•ผ ํ•œ๋‹ค๋ฉด LinkedHashSet ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. • Null ์š”์†Œ๋„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. Hash Algorithm : ํ•ด์‹œ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ํ•ด์‹œ ํ…Œ์ด๋ธ”์— ..

๐ŸฐJAVA/Basic 2022. 6. 28. 14:08