profile
๐ŸŒˆ ์ฆ๊ฒจ๋ณด์ž๊ณ  ๐Ÿ™Œ๐Ÿป
post-thumbnail

TCP ์™€ UDP ๊ธฐ๋ฐ˜์˜ server/client ๊ตฌํ˜„ํ•˜๊ธฐ

Transport ๊ณ„์ธต์€ ์ถœ๋ฐœ์ง€์™€ ์ตœ์ข… ๋ชฉ์ ์ง€๊นŒ์ง€์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์†ก์ˆ˜์‹ ํ•˜๋Š” ๊ณ„์ธต์ด๋ฉฐ TCP์™€ UDP ๋ฐฉ์‹์ด ์žˆ๋‹ค. TCP (Transmission Control Protocol) ๋ถ„์‹ค, ์ค‘๋ณต, ์ˆœ์„œ ๋“ฑ ๋ฐ์ดํ„ฐ์˜ ์ „์†ก์„ ๋ณด์žฅํ•˜๋Š” ์‹ ๋ขฐ์„ฑ์žˆ๋Š” ํ”„๋กœํ† ์ฝœ ๋ฐ์ดํ„ฐ์˜ ์ „์†ก์„ ๋ณด

2022๋…„ 6์›” 17์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

inet_addr ๋กœ IP ์ฃผ์†Œ ํ• ๋‹นํ•˜๊ธฐ

์ธํ„ฐ๋„ท ์ฃผ์†Œ๋ฅผ ํ• ๋‹นํ•˜๊ธฐ ์œ„ํ•ด์„  ๋น… ์—”๋””์•ˆ๊ณผ ๋ฆฌํ‹€ ์—”๋””์•ˆ์ด๋ผ๋Š” ๊ฐœ๋…์„ ์•Œ์•„์•ผ ํ•œ๋‹ค. CPU์˜ ๋ฐ์ดํ„ฐ ์ €์žฅ๋ฐฉ์‹์ด ๋น… ์—”๋””์•ˆ๊ณผ ๋ฆฌํ‹€ ์—”๋””์•ˆ์— ๋”ฐ๋ผ ํ˜ธ์ŠคํŠธ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•˜๊ณ  ํ•ด์„ํ•˜๋Š” ๋ฐฉ์‹์ด ๋ชจ๋‘ ๋‹ค๋ฆ„ Network ๋ฐ”์ดํŠธ ์ˆœ์„œ๋Š” ๋น… ์—”๋””์•ˆ์ด ๊ธฐ์ค€ Big Endian &

2022๋…„ 6์›” 17์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

IPv4 ๊ธฐ๋ฐ˜์˜ ์ฃผ์†Œํ‘œํ˜„์„ ์œ„ํ•œ sockaddr_in ๊ตฌ์กฐ์ฒด

ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•ด ์†Œ์ผ“์„ ์ƒ์„ฑํ•˜๊ณ  IP ์ฃผ์†Œ์™€ port ๋ฒˆํ˜ธ๊นŒ์ง€ ํ• ๋‹นํ•ด์•ผ ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹ ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ๊ฐ€ ๋œ๋‹ค. IPv4, IPv6, UNIX ํ”„๋กœํ† ์ฝœ ๋“ฑ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ์‹๋“ค์ด ๋‹ค์–‘ํ•œ๋ฐ ์ด๋ฅผ ๋ชจ๋‘ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅํ•œ ๊ตฌ์กฐ์ฒด๊ฐ€ sockaddr ์ด๋‹ค.sockaddr

2022๋…„ 6์›” 17์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

[ React ] Infinite Scroll ๊ตฌํ˜„ํ•˜๊ณ  ๋ฐœ์ƒํ•œ ๋ฌธ์ œ

React Hook์ธ ์™€ ๋ฅผ ์‚ฌ์šฉํ•ด Infinite Scroll์„ ๊ตฌํ˜„ํ–ˆ๋‹ค. Infinite Scroll ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์ „์—๋Š” Cursor-based Pagination์œผ๋กœ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ–ˆ๋Š”๋ฐ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•˜๋ฉด ๋œ๋‹ค. > Cursor-based

2022๋…„ 6์›” 16์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

Cursor-based Pagination ์œผ๋กœ ๋‹ค์Œ ํŽ˜์ด์ง€ ์š”์ฒญํ•˜๊ธฐ

๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ๋ฒˆ์— ๊ฐ€์ ธ์˜ค์ง€ ์•Š๊ณ  ํ•„์š”ํ•œ ๋งŒํผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์„ Pagination ์ด๋ผ๊ณ  ํ•œ๋‹ค. Pagination๋Š” 2๊ฐ€์ง€ ๊ธฐ๋ฐ˜์ด ์žˆ๋‹ค. Offset-based Pagination : ๋ช‡๋ฒˆ์งธ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ค๊ธฐ Cursor-based Paginatio

2022๋…„ 6์›” 14์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

[ JavaScript ] ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋ฅผ ์•Œ์•„์•ผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ๋ฌธ์ œ

์‚ฌ์šฉ์ž๊ฐ€ ๋น„๊ณต๊ฐœ๋กœ ์ด๋ฏธ์ง€๋ฅผ ์˜ฌ๋ฆฐ๋‹ค๋ฉด ์œ„์™€ ๊ฐ™์ด ๋น„๊ณต๊ฐœ ์ด๋ฏธ์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ํ™”๋ฉด์—์„œ ์ •์ƒ์ ์œผ๋กœ ์ถœ๋ ฅ๋˜์–ด์•ผ ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ๊ณต๊ฐœ ์ด๋ฏธ์ง€์™€ ๋น„๊ณต๊ฐœ ์ด๋ฏธ์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ํ™”๋ฉด์„ ๋ถ„๋ฆฌํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ตฌ์กฐ๋ฅผ ๋ณ€๊ฒฝํ•œ ์‹œ์ ๋ถ€ํ„ฐ ๋น„๊ณต๊ฐœ ์ด๋ฏธ์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜ค์ง€ ๋ชปํ•˜๋Š”

2022๋…„ 6์›” 14์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

AWS S3 & Pre-signed Url ์‚ฌ์šฉ ํ›„ ๋ฐœ์ƒํ•œ ๋ฌธ์ œ๋“ค

์ด๋ฏธ์ง€๋ฅผ GET ๋˜๋Š” POST ํ• ๋•Œ ๋น ๋ฅธ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด Server๋ฅผ ๊ฑฐ์น˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ AWS S3์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ํ–ˆ๋‹ค. ์‚ฌ์šฉ์ž ๊ฐ„์˜ URL์„ ๊ณต์œ ํ•˜๋ฉด์„œ ํ•ด๋‹น ์„œ๋น„์Šค์— ํšŒ์›์ด ์•„๋‹Œ ์‚ฌ๋žŒ๋„ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก AWS S3 ํŠน์ • ํด๋”์— GET ์ ‘๊ทผ์„ ํ—ˆ์šฉํ–ˆ๋‹ค. ํ•˜์ง€

2022๋…„ 6์›” 12์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

[Synchronization] Semaphore

๋™๊ธฐํ™”(synchronization)๋ž€ ์ƒํ˜ธ ๋ฐฐ์ œ์™€ ์ˆœ์„œ ๊ด€๊ณ„๋ฅผ ๊ณ ๋ คํ•œ๋‹ค. ์ž์‹ Thread๊ฐ€ ๋จผ์ € ์‹คํ–‰ํ•œ ๋‹ค์Œ ๋ถ€๋ชจ Thread๊ฐ€ ์‹คํ–‰ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ํ•˜์ง€๋งŒ Thread๊ฐ€ ์ฒ˜๋ฆฌ๋˜๋Š” ์ˆœ์„œ๋ฅผ ์˜ˆ์ธกํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์กฐ๊ฑด์ด ํ•„์š”ํ•˜๋‹ค. ํŠน์ •

2022๋…„ 5์›” 11์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

JDK Dynamic Proxy & CGLIB

์ ‘๊ทผ ์ œ์–ด๋ฅผ ์œ„ํ•œ Proxy pattern, ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€๋ฅผ ์œ„ํ•œ Decorator pattern์€ ๋‘˜๋‹ค Proxy๋ฅผ ์‚ฌ์šฉํ•ด ํ•ต์‹ฌ ๊ธฐ๋Šฅ๊ณผ ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ์„ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ํ”„๋ก์‹œ๋ฅผ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ ์šฉํ•  ๋Œ€์ƒ๋งŒํผ์˜ ํ”„๋ก์‹œ ๊ฐ์ฒด ์ƒ์„ฑ

2022๋…„ 5์›” 9์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

[Spring AOP] @Aspect

๊ฐœ๋ฐœ์„ ํ•˜๋‹ค๊ฐ€ ๋ถˆํ•„์š”ํ•œ ์ฟผ๋ฆฌ๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด ์ฝ˜์†”์ฐฝ์— ๋œจ๋Š” ๋กœ๊ทธ๋ฅผ ํ™•์ธํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋กœ๊ทธ๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์•„ ์–ด๋–ค ๊ณผ์ •์˜ ์–ด๋–ค ๋ฉ”์„œ๋“œ์—์„œ ๋ฐœ์ƒํ–ˆ๋Š”์ง€ ์ œ๋Œ€๋กœ ํŒŒ์•…ํ•˜๊ธฐ ์–ด๋ ค์›Œ ๋ถˆํŽธ์„ ๊ฒช์—ˆ๊ณ  ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์š”์ฒญ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๊ณผ์ •์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ฉ”์„œ๋“œ๋ช…์„ ์ถœ๋ ฅํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค๊ธฐ๋กœ ๊ฒฐ

2022๋…„ 4์›” 26์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

Proxy pattern, Decorator pattern

proxy pattern ๊ณผ decorator patter ์€ ๋‘˜๋‹ค proxy ์‚ฌ์šฉํ•˜์ง€๋งŒ ๋‘ ํŒจํ„ด์€ ์˜๋„ (intent) ๊ฐ€ ๋‹ค๋ฅด๋‹ค. ํ”„๋ก์‹œ ํŒจํ„ด์€ ์ ‘๊ทผ ์ œ์–ด๊ฐ€ ๋ชฉ์ ์ด๊ณ , ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ ํŒจํ„ด์€ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€๊ฐ€ ๋ชฉ์ ์ด๋‹ค. , ์— ํ”„๋ก์‹œ๋ฅผ ์ ์šฉํ•œ๋‹ค. interface

2022๋…„ 3์›” 15์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

์ธ์Šคํƒ€๊ทธ๋žจ ํŒ”๋กœ์šฐ ๊ด€๊ณ„๋Š” ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌ๋ ๊นŒ?

์ธ์Šคํƒ€๊ทธ๋žจ์˜ ํŒ”๋กœ์šฐ, ๋„ค์ด๋ฒ„ ๋ธ”๋กœ๊ทธ์˜ ์ด์›ƒ์ถ”๊ฐ€ ๋“ฑ ์„œ๋กœ์˜ ๊ด€๊ณ„ ์ •๋ณด๋ฅผ ์‹ค์ œ DB ์—์„œ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๊ถ๊ธˆํ•ด์กŒ๋‹ค. Spring boot ๋กœ ์ธ์Šคํƒ€๊ทธ๋žจ ํด๋ก  ์ฝ”๋”ฉ์„ ์ง„ํ–‰ํ•˜๋ฉฐ ํŒ”๋กœ์šฐ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ๋˜ ๊ณผ์ •์„ ๊ธฐ๋กํ•œ๋‹ค. ์ข‹์€ ๋ฐฉ๋ฒ•์„ ์ฐพ์„

2022๋…„ 3์›” 8์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

๊ธฐ๋ณธ ํ‚ค(Primary-key) ๋งคํ•‘

Entity ์˜ ํŠน์ • ํ•„๋“œ๋ฅผ Database ์˜ PK๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ๋ณธํ‚ค(primary key) mapping annotation ์„ ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค. PK ๋Š” null ์ด ๋  ์ˆ˜ ์—†๊ณ  ๋ณ€ํ•˜๋ฉด ์•ˆ๋œ๋‹ค. PK ๋ฅผ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ํ• ๋‹นํ•˜๋Š” ๋ฐฉ์‹๊ณผ DB ๊ฐ€ ์ž๋™์œผ๋กœ ํ• ๋‹นํ•˜

2022๋…„ 3์›” 7์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

[Concurrency] Lock

๋‚˜์˜ ๋ชจ๋“  ํ†ต์žฅ ์ž”๊ณ ๋ฅผ ์ถœ๊ธˆํ•˜๋ ค๊ณ  ํ•˜๋Š” ์ˆœ๊ฐ„ ์นด๋“œ์‚ฌ์—์„œ ์นด๋“œ ๊ฒฐ์ œ๋ฅผ ์œ„ํ•ด ๋ชจ๋“  ์ž”๊ณ ๋ฅผ ๊ฐ€์ ธ๊ฐ„๋‹ค๋ฉด ๋‚˜๋Š” ์ž”๊ณ ๋ฅผ ์ถœ๊ธˆํ•  ์ˆ˜ ์—†๋Š” ์ƒํƒœ๊ฐ€ ๋œ๋‹ค. ์ด๋Ÿฐ ์ƒํ™ฉ์€ ๋ณ‘ํ–‰ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (concurrent programming) ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ ์ค‘ ํ•˜๋‚˜๋กœ interrupt ๋‚˜ mu

2022๋…„ 2์›” 22์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

Template callback pattern

callback ์„ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ anonymous inner class (์ต๋ช… ๋‚ด๋ถ€ ํด๋ž˜์Šค) ๋‚˜ lambda ๋ฅผ ์ฃผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. ํŠน์ • callback ์„ ์—ฌ๋Ÿฌ ๊ณณ์—์„œ ์žฌ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ class ๋กœ ๋งŒ๋“ค์–ด๋„ ๋œ๋‹ค.

2022๋…„ 2์›” 22์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

Strategy pattern

์ „๋žต ํŒจํ„ด (Strategy pattern) ์€ ๋ณ€ํ•˜์ง€ ์•Š์€ ํ…œํ”Œ๋ฆฟ ์ฝ”๋“œ๋ฅผ Context class ์— ์ •์˜ํ•˜๊ณ  ๋ณ€ํ•˜๋Š” ๋ถ€๋ถ„์„ Strategy Interface ์— ์ •์˜ํ•œ๋‹ค. ๋ฌธ๋งฅ (Context) ๋Š” ํฌ๊ฒŒ ๋ณ€ํ•˜์ง€ ์•Š์ง€๋งŒ, ๋ฌธ๋งฅ์†์—์„œ ์ผ๋ถ€ ์ „๋žต์ด ๋ณ€ํ•˜๋Š” ๊ฒƒ์ด ์ „๋žต ํŒจํ„ด

2022๋…„ 2์›” 22์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

Template method pattern

๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š” ๋ถ€๋ถ„์€ ๋ถ€๋ชจ ํด๋ž˜์Šค์— ๊ตฌํ˜„ํ•˜๊ณ  ๋ณ€๊ฒฝ๋˜๋Š” ๋ถ€๋ถ„์€ ์ƒ์†์„ ํ†ตํ•ด ์˜ค๋ฒ„๋ผ์ด๋”ฉ์œผ๋กœ ์ž์‹ ํด๋ž˜์Šค์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์„ ํ…œํ”Œ๋ฆฟ ๋ฉ”์„œ๋“œ ํŒจํ„ด์ด๋ผ๊ณ  ํ•œ๋‹ค.

2022๋…„ 2์›” 21์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

ThreadLocal

ThreadLocal ์€ ๋™์‹œ์„ฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ํด๋ž˜์Šค๋กœ ๊ฐ thread ์—๊ฒŒ ๋…๋ฆฝ์ ์ธ ๊ณต๊ฐ„์„ ์ œ๊ณตํ•œ๋‹ค. ๊ฐ thread ๋Š” ์ž์‹ ์—๊ฒŒ ํ• ๋‹น๋œ ๊ณต๊ฐ„์— get(), set() ์œผ๋กœ ๊ฐ’์„ ์กฐํšŒ, ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.

2022๋…„ 2์›” 18์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

[Concurrency] Thread

ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ์ž‘์—… ๋‹จ์œ„๋กœ ์‹œ์Šคํ…œ์˜ ์—ฌ๋Ÿฌ ์ž์›์„ ํ• ๋‹น๋ฐ›์•„ ์‹คํ–‰ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ๋‹จ์œ„๋ฅผ thread ๋ผ๊ณ  ํ•œ๋‹ค.ํ”„๋กœ์„ธ์Šค A ๋Š” 1๋ถ€ํ„ฐ 100 ๊นŒ์ง€ ๋”ํ•˜๋Š” ์—ฐ์‚ฐ์„ ์ฒ˜๋ฆฌํ•ด์•ผํ•œ๋‹ค. ํ•˜์ง€๋งŒ 10๊ฐœ๋ฅผ ๋”ํ• ๋•Œ๋งˆ๋‹ค I/O ๊ฐ€ ๋ฐœ์ƒํ•ด context switching ์ด ์ผ์–ด๋‚œ๋‹ค๋ฉด ํ”„๋กœ์„ธ

2022๋…„ 2์›” 18์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
post-thumbnail

[Hash-table, Bitset] boj 7453: ํ•ฉ์ด 0์ธ ๋„ค ์ •์ˆ˜

๋ฐฐ์—ด A, B, C, D ์—์„œ ๊ฐ 1๊ฐœ์”ฉ ๊ณจ๋ผ 4๊ฐœ์˜ ํ•ฉ์ด 0 ์ด ๋˜๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ๋ฐฐ์—ด์˜ ์ตœ๋Œ€ ํฌ๊ธฐ๋Š” 4,000 ์ด๊ณ  ๋ฐฐ์—ด์— ๋“ค์–ด์žˆ๋Š” ์ •์ˆ˜์˜ ์ ˆ๋Œ€๊ฐ’์€ ์ตœ๋Œ€ 2^28

2022๋…„ 2์›” 12์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€