americasnail
@americasnail
Students
737
Reviews
28
Course Rating
4.5
์ค๋ฆฌ์ฝ๋ฐธ๋ฆฌ ์์กด์ | ๋ฏธ๊ตญ๋ฌํฝ์ด
Global Tech Scene์ ์ต์ ์ ์์ ์์ ๊ฒฝํ๊ณผ ๋ ธํ์ฐ๋ฅผ ๋ฐํ์ผ๋ก, ๋น์ ๊ณต์๊ฐ ๊ธฐ์ ์ฅ๋ฒฝ์ ๋์ด ๋น์ฆ๋์ค์ ์ฃผ์ธ์ด ๋๋ ๊ธธ์ ์ ์ํฉ๋๋ค.
ํ) ์ค๋ฆฌ์ฝ๋ฐธ๋ฆฌ AI ์ฝ๋ฉ ์์ด์ ํธ ์คํํธ์ ์ฐฝ์ ์
์์ฒด ๊ฐ๋ฐ AI ๋๊ตฌ 'Snailer CLI' ์ด์ (11K+ ๋ค์ด๋ก๋)
Google for Startups Program ์ ์
์ ) ๋ฏธ๊ตญ ๋น ํ ํฌ ๋ฐ ์ ๋ง ์คํํธ์ ์์ง๋์ด ์ปค๋ฆฌ์ด
Amazon ์ต์ข ๋จ๊ณ, ์ฐฝ์ ์ํด ํฌ๊ธฐ
์ค๋ฆฌ์ฝ๋ฐธ๋ฆฌ AI ํํ ํฌ ์คํํธ์ ์์ง๋์ด
OpenAI / Meta / Apple / Adobe / Amazon ํ์คํ ํ ๋ก์ฐ์ญ
๊ตญ๋ด ๊ฒ์์์ง ํฌํธ, ํํ ํฌ ๊ฐ๋ฐ
AI ์คํํธ์ AR/B2B/SDK ๊ฐ๋ฐ
๊ฒ์ฆ๋ ๊ต์ก ์ญ๋
์ธ์์ธ 4๋ ์ ์ปดํจํฐ๊ณตํ/๊ฒฝ์ํ ๋ณต์ ์ ๊ณต ๋ฐ ๋ค์์ ์ฐฝ์ ๊ฒฝํ
๋์ ์๊ฐ์ 700๋ช + ๋ฐฐ์ถ, SNS ํ๋ก์ 3.9K+ ๋ณด์ , Substack ๊ต์ก ์ปจํ ์ธ ๊ตฌ๋ ์ 450+
Courses
Reviews
- High-Performance Real-time Distributed System RabbitMQ + Kafka + Redis Practical Project
hankyulkim
ยท
High-Performance Real-time Distributed System RabbitMQ + Kafka + Redis Practical ProjectHigh-Performance Real-time Distributed System RabbitMQ + Kafka + Redis Practical Project- High-Performance Real-time Distributed System RabbitMQ + Kafka + Redis Practical Project
armyso95062341
ยท
High-Performance Real-time Distributed System RabbitMQ + Kafka + Redis Practical ProjectHigh-Performance Real-time Distributed System RabbitMQ + Kafka + Redis Practical Project- High-Performance Real-time Distributed System RabbitMQ + Kafka + Redis Practical Project
Posts
Q&A
Substack 1๋ ์ ๊ณต
ํ๋ก๋ชจ์ ์ค๋ณต ์ ๊ณต ๋๋ ์ ์์ ์ธ ์ด์ฉ์ ์๋ฐฉํ๊ธฐ ์ํด ์๊ฐ์ ์ด๋ฆ๋ฑ์ด ํ์ธ๋์ง ์์ ์ ์ ๊ณต๋์ง ์๊ณ ์์ต๋๋ค.๋ค์ ํ๋ฒ ์์ฒญ ๋ถํ๋๋ฆฝ๋๋ค.https://forms.gle/diKHUhvUe61JwzXF7๊ฐ์ฌํฉ๋๋ค.
- Likes
- 1
- Comments
- 3
- Viewcount
- 21
Q&A
Substack 1๋ ์ ๊ณต
์๋ ํ์ธ์. ๊น์ฑ์ฌ๋,์์ฒญํด์ฃผ์ ๋ถ๋ถ์ ํ์ธํด๋ณด์์ต๋๋ค.ํ์ฌ ์๋ก ์์ฒญ๋ ์ฌํญ์์ ํ์ธ๋๊ณ ์๋์๊ฐ์ ๋๋ค์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. sj9***k*m4*** ์ด์ ๊ฐ์ด ์ธํ๋ฐ ์๊ฐ ์ด๋ฆ์ด ํ์ธ๋์์ผ๋, ํด๋น ์๊ฐ์์ด ์์ด ๋๋ฝ์ฒ๋ฆฌ ๋์ด์๋ ์ํ์ ๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- Likes
- 1
- Comments
- 3
- Viewcount
- 21
Q&A
ํน๋ณ ํ์ต ์๋ฃ ํ๋ก๋ชจ์ 1๋ ๋ฉค๋ฒ์ญ ๋ฌด๋ฃ ์ ๊ณต ๋ฌธ์๋๋ฆฝ๋๋ค
์๋ ํ์ธ์. ํ๊ฒฝ๋ ์๊ฐ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.์บ๋ฆฌํฌ๋์ ์๋ถ์ ์๋ค๋ณด๋ ์กฐ๊ธ ์๋ต ์ง์ฐ์ด ์์ต๋๋ค.Substack 1๋ ๋ฌด๋ฃ ์ ๊ณต ์๋ฃ๋์์ต๋๋ค. ์ด๋ฉ์ผ์ ํ์ธํด์ฃผ์ธ์!๊ฐ์ฌํฉ๋๋ค.
- Likes
- 0
- Comments
- 2
- Viewcount
- 27
Q&A
ํน๋ณ ํ์ต ์๋ฃ ํ๋ก๋ชจ์ 1๋ ๋ฉค๋ฒ์ญ ์ ๊ณต ๊ด๋ จ ๋ฌธ์ ๋๋ฆฝ๋๋ค.
์๋ ํ์ธ์. ํ์ฌ ์ ์ถํด์ฃผ์ ์ ๋ณด๋ฅผ ํ์ธํ์์ผ๋ substack ๊ณ์ ๋ฌด๋ฃ ๊ตฌ๋ ์ํ์ธ ํด๋น ์ด๋ฉ์ผ ์ฌ์ฉ์๋ถ์ ํ์ธ ๋์ง ์๊ณ ์์ต๋๋คhttps://open.substack.com/pub/1234373801ํด๋น ๊ณ์ ์ ๋ฌด๋ฃ ๊ตฌ๋ ๋จผ์ ํด์ฃผ์๋ ๊ฒ์ ๋ถํ๋๋ฆฝ๋๋ค
- Likes
- 0
- Comments
- 2
- Viewcount
- 70
Q&A
simcached๋ฅผ ๊ฒ์์ ํ์๋ ํด๋น ์๋ฃ๊ฐ ๋์ค์ง ์๋๋ฐ ํน์ MemcachedGPU ๋ผ๊ณ ๋ถ๋ฆฌ๋ ๊ธฐ์ ์ ๋ง์ํ์๋๊ฑด๊ฐ์?
์๋ ํ์ธ์. BBB AAA ๋,๊ฐ์ฌํฉ๋๋ค. ์ข์ ์ง๋ฌธ ํด์ฃผ์ จ์ต๋๋ค. โSim cachedโ๋ผ๋ ํํ์ ์ฃผ๋ก ์์คํ ๋์์ธ ์ธํฐ๋ทฐ๋ ์ํคํ ์ฒ ํ ๋ก ์์ ๋์ค๋ ์ฌ๋ญ/์ฝ์ด ์ ๋๋ค.์ ๊ฐ ์ธ๋๊ณ, ๋ฏธ๊ตญ ๋น ํ ํฌ ๊ตฌ๊ธ, ๋ฉํ, OpenAI, ์ด๋๋น ๋ฑ์ ์์ง๋์ด ๋ถ๋ค๊ณผ ์ง์ ํ ๋ก ํ๋ฉฐ, ๋ฐฐ์ ์๋๋ฐ ๊ทธ๋ฌ๋ค๋ณด๋, ์ ๋ ๋ชจ๋ฅด๊ฒ ์ฌ๋ญ/์ฝ์ด๋ฅผ ์ฌ์ฉํ๊ฒ ๋์์ต๋๋ค.์ค์ Memcached, Redis, ElastiCache ๊ฐ์ ๋ถ์ฐ ์บ์(distributed cache)๋ฅผ ์ฐ์ง ์๊ณ โ ๊ทธ๋ฅ ํ ์๋ฒ(ํ ํ๋ก์ธ์ค) ์์์ HashMap, dict, LRU Cache ๋ฑ์ผ๋ก ํ๋ด ๋ด์ ๊ตฌํํ ์บ์๋ฅผ ์๋ฏธํฉ๋๋ค. ๊ฐ์ฌํฉ๋๋ค. ์ข์ ํ๋ฃจ ๋์ธ์!
- Likes
- 0
- Comments
- 1
- Viewcount
- 62
Q&A
์ ํ๋ธ ์์ ์์ ํ๋ฆ ๊ด๋ จ ์ง๋ฌธ์์ต๋๋ค
์๋ ํ์ธ์. ๊ณ ๋ณ์ฐฌ๋. ์ง๋ฌธ์ ๋ฆ๊ฒ ํด๊ฒฐํ๊ฒ ๋์ด ๋งค์ฐ ์ฃ์กํ ๋ง์ ๋๋ฆฌ๋ฉฐ, ๋ค์ ๋ถํฐ๋ ๋ฆ๋ ์ผ์ด ์๋๋ก ํ๊ฒ ์ต๋๋ค. ์ํด๋ฅผ ๊ตฌํ๋ฉฐ ๋ต์ ์์ฑํฉ๋๋ค. ์ข์ ์ง๋ฌธ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ์์ ์คํธ๋ฆฌ๋ฐ ์์ฒญ์ ์ผ๋ฐ์ ์ผ๋ก API Gateway๋ฅผ ๊ฑฐ์น์ง ์๊ณ , CNAME์ผ๋ก ๋งคํ๋ CDN Edge๋ก ๋ฐ๋ก ์ ๋ฌ๋ฉ๋๋ค. API Gateway๋ ๋ฉํ๋ฐ์ดํฐ ์กฐํ, ๊ถํ ๊ฒ์ฆ, ์ถ์ฒ API์ ๊ฐ์ ์ ์ด ์์ฒญ๋ง ์ฒ๋ฆฌํ๊ณ , ์ค์ ๋์ฉ๋ ๋น๋์ค ๋ฐ์ดํฐ๋ ์ฑ๋ฅ๊ณผ ํ์ฅ์ฑ์ ์ํด CDN์ด ์ง์ ์๋นํฉ๋๋ค.๋ฐ๋ผ์,์คํธ๋ฆฌ๋ฐ ์๋น์ค์์๋ ๋ฉํ๋ฐ์ดํฐ ์์ฒญ๊ณผ ์ค์ ๋น๋์ค ๋ฐ์ดํฐ ์์ฒญ์ด ๋ถ๋ฆฌ๋์ด ์ฒ๋ฆฌ๋ฉ๋๋ค.๋ฉํ๋ฐ์ดํฐ๋ ๊ถํ ํ์ธ ๊ฐ์ ์ ์ด ์์ฒญ์ API Gateway๋ฅผ ํตํด ์ฒ๋ฆฌ๋๊ณ ,์ค์ ๋์ฉ๋ ๋น๋์ค ์คํธ๋ฆผ(์ ์ํ ์คํธ๋ฆฌ๋ฐ ๋งค๋ํ์คํธ ๋ฐ ์กฐ๊ฐ)์ CDN์ผ๋ก ์ง์ ์๋น๋ฉ๋๋ค.CDN ๋๋ฉ์ธ์ CNAME์ผ๋ก ๋งคํ๋์ด ์์ด ํด๋ผ์ด์ธํธ๊ฐ ์ง์ ์์ฒญํ๋ฉฐ,cache hit ์ edge์์ ๋ฐ๋ก ์๋ต๋๊ณ miss ์์๋ origin blob storage์์ ์ฝ์ด์ต๋๋ค.๊ฒฝ์ฐ์ ๋ฐ๋ผ ๊ถํ ์ฒดํฌ๋ signed URL ๋ฐ๊ธ์ด ํ์ํ๋ฉด API Gateway๋ฅผ ํตํด ํ ํฐ/URL์ ๋ฐ์ ๋ค,ํด๋ผ์ด์ธํธ๊ฐ ํด๋น URL๋ก CDN์ ์ง์ ์คํธ๋ฆฌ๋ฐ ์์ฒญ์ ๋ณด๋ด๋ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค. ๊ฐ์ฌํฉ๋๋ค. ๋ค์ ํ ๋ฒ ๋ฆ์ด์ ์ฃ์กํ๋ค๋ ๋ง์ ๋๋ฆฝ๋๋ค.์ข์ ํ๋ฃจ ๋์ธ์!
- Likes
- 0
- Comments
- 2
- Viewcount
- 53
Q&A
Spotify ์๋น์ค ์ค๊ณ์์ transcoder service์ ๋ํด ๋ฌธ์ ๋๋ฆฝ๋๋ค.
์๋ ํ์ธ์. ๋ฐ์ ์ผ ๋๋ฌธ์ ๋ฆ์ด์ง ์ง๋ฌธ์ด ์๋์ง ํ์ ํ์ง ๋ชปํ์ต๋๋ค. ์ฃ์กํ ๋ง์ ๋๋ฆฝ๋๋ค. ๋ค ์ดํดํ์ ๊ฒ ๋ง์ต๋๋ค. Transcoder๋ ์ ๋ก๋๋ ์๋ณธ ์์ ํ์ผ์ ์ฌ๋ฌ ๋นํธ๋ ์ดํธ ๋ฐ ์คํธ๋ฆฌ๋ฐ ํฌ๋งท์ผ๋ก ๋ณํํ ๋ค, ๊ทธ ๊ฒฐ๊ณผ ํ์ผ์ object storage์ ์ ์ฅํ๋ ์ญํ ์ ๋๋ค. ํน๋ณํ ๋ค๋ฅธ ์๋ฏธ๋ผ๊ธฐ๋ณด๋ค๋, ์คํธ๋ฆฌ๋ฐ ์ต์ ํ๋ฅผ ์ํ ์ธ์ฝ๋ฉ/๋ณํ ์๋น์ค๋ก ๋ณด์๋ฉด ๋ฉ๋๋ค. ๊ทธ๋ถ๋ถ์ ๊ตฌ๋๋ก ์ค๋ช ํ๊ฑฐ๋ ์๋ต์ ํด๋ ๋ฌด๋ฐฉํ๋ค๊ณ ๊ณ ๋ ค๋์์ผ๋, ์ถํ์ ๋ค์ ์ ๋ฐ์ดํธ๊ฐ ํ์ํ ๋ถ๋ถ์ธ ๊ฒ ๊ฐ์ต๋๋ค.๊ฐ์ฌํฉ๋๋ค.
- Likes
- 0
- Comments
- 1
- Viewcount
- 78
Q&A
[์์น ์ด๋ฆ ๊ธฐ๋ฐ์ผ๋ก ํธํ ์ ์กฐํํ๋ ๋ฉ์๋] ์ฝ๋ ์ง๋ฌธ ๋๋ฆฝ๋๋ค.
์๋ ํ์ธ์ :) ์ง๋ฌธ ์ ๋ง ์ข์ต๋๋ค.1) Hotel โ Location ์๋ก ์ฐธ์กฐ ๊ด๊ณ์ ๋ํด๊ฒฐ๋ก ๋ถํฐ ๋ง์๋๋ฆฌ๋ฉด ๋ ๋ค ๊ฐ๋ฅํ์ง๋ง, ์ค๋ฌด์์๋ ๋ณดํต โ๋จ๋ฐฉํฅโ์ ๋ ๋ง์ด ์ ํํฉ๋๋ค.Location์ด โํธํ ์ ์ํด ๋ง๋ค์ด์ง ์ข ์ ๋ชจ๋ธโ์ด๋ผ๋ฉด๋ง์ํ์ ๊ฒ์ฒ๋ผ Location โ Hotel ๋จ๋ฐฉํฅ๋ ๋ ผ๋ฆฌ์ ์ผ๋ก ๋ง์ด ๋ฉ๋๋ค.๋ค๋ง Booking ๊ฐ์ ๋๋ฉ์ธ์์๋ Location์ด ํน์ Hotel๋ง์ ์ํด ์กด์ฌํ๋ค๊ธฐ๋ณด๋ค๋โ์ฃผ์/๋์/์ง์ญโ ๊ฐ์ ๊ณตํต ๊ฐ๋ (๊ฐ ๊ฐ์ฒด/๋ณ๋ ์ํฐํฐ) ๋ก ๋ณด๋ ๊ฒฝ์ฐ๊ฐ ๋ง์์,๋ณดํต์ Hotel์ด locationId(๋๋ Location)๋ฅผ ์ฐธ์กฐํ๋ ๋จ๋ฐฉํฅ์ด ๋ ํํฉ๋๋ค.๊ฐ์์์ ์์ชฝ ์ฐธ์กฐ์ฒ๋ผ ๋ณด์ด๊ฒ ๋ ๊ฑด, ๊ด๊ณ๋ฅผ ์ง๊ด์ ์ผ๋ก ๋ณด์ฌ์ฃผ๊ธฐ ์ํ ๊ต์ก์ฉ ํํ์ด์๊ณ ,์ค๋ฌด์์๋ ํ์ชฝ๋ง ์ฐธ์กฐ + ์กฐํ๋ ๋ณ๋ ๊ณ์ธต์์ ์ฒ๋ฆฌํ๋ ์ชฝ์ด ์ ์ง๋ณด์์ฑ์ด ์ข์ต๋๋ค.2) ์์น ๊ธฐ๋ฐ ํธํ ์กฐํ ๋ฉ์๋๋ ์ด๋์ ์์ด์ผ ํ๋?์ด ๋ถ๋ถ๋ ์์ฃผ ์ข์ ์ง๋ฌธ์ด์์.findHotelsByLocationName() ๊ฐ์ ๊ธฐ๋ฅ์Location โ์๊ธฐ ์์ โ์ ํ์๋ผ๊ธฐ๋ณด๋ค๋ ๋ฐ์ดํฐ ์กฐํ(Query) ์ฑ๊ฒฉ์ด ๊ฐํฉ๋๋ค.๊ทธ๋์ OOD ๊ด์ ์์๋ ๋ณดํตLocation ์ํฐํฐ ์์ ๋ฃ๊ธฐ๋ณด๋ค๋HotelRepository / SearchService / AvailabilityService ๊ฐ์ ์กฐํ ์ ์ฉ ๊ณ์ธต์ ๋๋ ๊ฒ ๋ ์์ฐ์ค๋ฝ์ต๋๋ค.์ด์ ๋ ๊ฐ๋จํฉ๋๋ค.์กฐํ ๋ก์ง์๋ ๋ณดํต ์ธ๋ฑ์ค/DB ์กฐ์ธ/์บ์/๊ฒ์์์ง ๊ฐ์ ์ธํ๋ผ ์ต์ ํ๊ฐ ๋ถ๊ณ ,๊ทธ๊ฑธ Location ์ํฐํฐ์ ๋ฃ์ผ๋ฉด ์คํ๋ ค ์ํฐํฐ๊ฐ โ๋๋ฉ์ธ ๋ชจ๋ธโ์ด ์๋๋ผ โDB ์ ๊ทผ ๊ฐ์ฒดโ์ฒ๋ผ ๋ณํด๋ฒ๋ฆฌ๋ ๋ฌธ์ ๊ฐ ์๊น๋๋ค.์ฆ,Location: ๊ฐ/์ ๋ณด ๋ชจ๋ธ๋ก ๋จ์ํ๊ฒ ์ ์ง์กฐํ: Service/Repository์์ ์ฒ๋ฆฌ์ด ๊ตฌ์กฐ๊ฐ ๊ฐ์ฅ ๊น๋ํ๋ค๊ณ ํ ์ ์์ต๋๋ค.3) bruteforce ํ์์ ์๋๋ baseline ์์์ ๋๋ค๋ค, ์ง๋ฌธํ์ ๊ฒ์ฒ๋ผ ๊ฐ์์ ์ ์ฒด ํ์ ๋ก์ง์ ์ผ๋จ ๋์ํ๋ baseline(๊ฐ๋ ๊ฒ์ฆ์ฉ) ์ ๋๋ค.์ข์ ํผ๋๋ฐฑ์ด์์. Object Oriented Design ์ค๊ณ ๊ฐ์ ์ด๊ธฐ ๋๋ฌธ์ ์ด ๊ฐ์ ๋จ๊ณ์์๋์ฝ์ด ๋ก์ง์ ๋ํ ์ต์ ํ๋ ํฌํจ๋์ง ์์์ต๋๋ค. ํ์ฌ ์คํ์์ค ๊ฐ์ ๊ฐ์ ์์ ์ค์ด๊ธฐ ๋๋ฌธ์์ด ์์ ์ด ์๋ฃ๋๋ฉด OOD ๊ฐ์ ๋ํ ์ฃผ์ ํผ๋๋ฐฑ์ ๋ฐ์ํด์ ์ ๋ฐ์ดํธ ๋ ์์ ์ ๋๋ค.ํผ๋๋ฐฑ ๊ฐ์ฌํฉ๋๋ค.4) ์ต์ ํ ๋ฐฉํฅ์ต์ ํ ๋ฐฉ๋ฒ๋ค์ ๋ค์ ์์คํ ๋์์ธ ๊ฐ์ ์น์ ์์ ๋ฐฐ์ฐ์ค ์ ์์ต๋๋ค.์ง๋ฌธ ์ฃผ์ โ์กฐ์ธ/์ธ๋ฑ์ฑ/2-step ์กฐํโ๊ฐ ์ค๋ฌด์์ ๊ฐ์ฅ ํํ ๋ฐฉ์์ ๋๋ค.๋ํ์ ์ธ ์ต์ ํ๋ ์๋์ฒ๋ผ ๋จ๊ณ์ ์ผ๋ก ๊ฐ๋๋ค.๊ฐ์ฅ ์ ์: DB ์ธ๋ฑ์ค + ์กฐ์ธLocation(name) ์ธ๋ฑ์คHotel(location_id) ์ธ๋ฑ์คWHERE location.name = ? ๋ก ์กฐ์ธํด์ ๋ฐ๋ก ์กฐํ2-step ์กฐํlocationName -> locationIdlocationId -> hotels ์กฐํHigh Availability - ์บ์/์ญ์ธ๋ฑ์คRedis์ locationName -> hotelIds ์ ์ฅ์์ธ๋ hotelId๋ก ์กฐํ๊ฒ์ ์๊ตฌ๊ฐ ์ปค์ง๋ฉด Search ๋ถ๋ฆฌ์๋์์ฑ/์คํ/๋์์ด/ํํฐ๊น์ง ๋ถ์ผ๋ฉดOpenSearch/Elasticsearch๋ก ๋ถ๋ฆฌํ๋ ๊ฒ ์ผ๋ฐ์ ์ ๋๋ค.์ง๋ฌธ ๊ฐ์ฌํฉ๋๋ค. ๋ค๋ฅธ ์ง๋ฌธ ์์ผ์๋ฉด ์ธ์ ๋ ์ง ๋จ๊ฒจ์ฃผ์ธ์!์ข์ ํ๋ฃจ ๋์ธ์!
- Likes
- 0
- Comments
- 2
- Viewcount
- 52
Q&A
ํน๋ณ ํ์ต ์๋ฃ ํ๋ก๋ชจ์ 1๋ ๋ฉค๋ฒ์ญ ๋ฌด๋ฃ ์ ๊ณต ์ง์ ํ์ธ ๋ฐฉ๋ฒ
https://forms.gle/diKHUhvUe61JwzXF7์ด ๊ตฌ๊ธ ํผ์ ํตํด ์๊ฐ ๋๋ค์๊ณผ substack ๊ณ์ ์ด๋ฆ ๋๋ ์ด๋ฉ์ผ์ ์ ๋ ฅํด์ฃผ์๋ฉด ๊ตฌ๋งค์ ๊ฒํ ํ์ ๋ฃ ๋ฉค๋ฒ์ญ์ 1๋ ๊ฐ ๋ฌด๋ฃ๋ก ์ ๊ณตํด๋๋ฆฝ๋๋ค ๊ฐ์ฌํฉ๋๋ค
- Likes
- 0
- Comments
- 2
- Viewcount
- 102
Q&A
14๊ฐ. ์ํ DVD ๋์ฌ ์์คํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง ์ค๊ณ์์ Inventory ํ ์ด๋ธ ์ง๋ฌธ์์ต๋๋ค.
์๋ ํ์ธ์. 3831568๋,์ฝ์ง ์์ ์๊ฐ๊ณผ ์ฌ๊ณ ๋ก ์ง๋ฌธํด์ฃผ์ ๋ถ๋ถ ๋๋จํ์ ๊ฒ ๊ฐ์ต๋๋ค.๋๋ฌด ์ข์ ์ง๋ฌธ ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.์ ๊ฐ ๋ฐฉ๊ธ ์บ๋๋ค ๋ฒค์ฟ ๋ฒ์์ ์ค๋ ๋ฐ๋์ ๋ฆ๊ฒ ๋ต์ ํ๊ฒ ๋์์ต๋๋ค.๋จผ์ ๋ถ๋ฆฌํ๋ ๊ฒ ์ข๋ค๊ณ ๋ง ๋ง์๋๋ฆฐ ๋ถ๋ถ ์ค๋ช ๋ถ์กฑ์ ๋ํด ๋์ํ๋ฉด์ ๊ฐ์ ํ ๋ถ๋ถ์ผ๋ก๋ฉ๋ชจ๋ฅผ ํด๋๊ฒ ์ต๋๋ค. ํผ๋๋ฐฑ ๊ฐ์ฌํฉ๋๋ค.์ง๋ฌธํด์ฃผ์ ๋ถ๋ถ์ ๋ํด ์๊ฒฌ์ ๋๋ ค๋ณด์๋ฉด, Inventory ํ ์ด๋ธ๋ก ๋ถ๋ฆฌํ๋ ๊ฒ์ ๋๋ค. DVD ๊ฐ ํ ํ์ดํ์ ์ฌ๊ณ ๊ฐ 10๋ง๊ฑด์ด๋ , 10๊ฑด์ด๋ , Items ํ ์ด๋ธ์ ๊ทธ ํ์ดํ ํ๋๋น ๋ฑ ํ ํ์ ๋๋ค.์ฌ๊ณ ๊ฐ ์ด๋น ์๋ฐฑ๋ฒ ์ฐจ๊ฐ๋๊ฑฐ๋ ๋ณต๊ตฌ๋๋ค๋ฉด ๊ทธ ํ ํ์ WRITE lock ์ด ๊ณ์ ๊ฑธ๋ฆฌ๊ณ ๋์์ ๊ด๋ฆฌ์๊ฐ์ด ์ํ ์ค๋ช ์ข ์์ ํ๊ธฐ๋ฅผ ์ํ๋ค๋ฉด, ๊ทธ ํ์ ๊ธฐ๋ค๋ ค์ผ ํฉ๋๋ค. ๊ทธ๋์ ์ ์ ๋ฉํ๋ฐ์ดํฐ ํ ์ด๋ธ Movies, Books, Games ๋ฑ๊ณผ ๊ฐ์ด ๊ตฌ์ฑ๋๊ณ Inventory ํ ์ด๋ธ์ movie_id (FK)store_id / location_id (์ต์ )status (โavailableโ, โrentedโ, โlostโ ๋ฑ)available_copies (๋๋ ๊ฐ๋ณ copy๋ฅผ ํ ํ์ฉ ๊ด๋ฆฌ)์ด๋ ๊ฒ ํ๋ฉด์ฌ๊ณ ์ฐจ๊ฐ โ Inventory ํ๋ง UPDATE (ํซ์คํ์ ์ฌ์ ํ ์์ง๋ง ๋ฉํ๋ฐ์ดํฐ ํ์ ์ ๊ฑด๋๋ฆผ)๊ด๋ฆฌ์๊ฐ ์ํ ์ค๋ช ์์ โ Movies ํ๋ง UPDATE (์ฌ๊ณ ํธ๋ํฝ๊ณผ ์์ ๋ถ๋ฆฌ)๋ฐ๋ผ์, ๋ถ๋ฆฌํ๋ ๊ฒ์ ๊ถ์ฅ๋๋ฆฝ๋๋ค.๋๋ฒ์งธ๋์ ํ๋ณ ์ฌ๊ณ ๊ด๋ฆฌ ์ ์ฑ ์ธ๋ฐ ์ด๊ธฐ์๋ ๋ชจ๋ ์์ดํ ์ด ๊ทธ๋ฅ ์๋๋ง ์๋ค๋ฉด OK ๋ ์ ์์ต๋๋ค.์๋ฅผ ๋ค์ด, Inventory { item_id, available_count } ์ด๋ ๊ฒ ๊ตฌ์ฑ๋๋ ๊ฒ์ ๋๋ค.ํ์ง๋ง ๋์ค์ ์๊ตฌ์ฌํญ์ด ์๊ธฐ๊ฒ ๋๋ฉด ํ์ฅ์ด ํ์ํฉ๋๋ค.์ ํ๋ณ๋ก ์๊ตฌ์ฌํญ์ ์๋์ ๊ฐ์ ๊ฒ ์ ๋๋ค.DVD/๋ธ๋ฃจ๋ ์ด โ ๋ง๋ฃ์ผ ์์์ํ โ ์ ํต๊ธฐํ ํ์์ฝ์ํธ ํฐ์ผ โ ์ข์ ๋ฒํธ, ๊ตฌ์ญ ํ์์ ์์ฑ โ ๋ง๋ฃ์ผ + ๋์ ๋์ฌ ์ ์ ํ ํ์NFT ๋ ํ โ ์์ ๊ถ ์ด์ ๋ก์ง ํ์๋ค์ํ ์ ํ๊ณผ ํ์ฅ์ด ํ์ํ ๊ฒ์ ๋๋ค.๊ทธ๋์ ์๋์ ๊ฐ์ด 1๋ฒ ์ด๊ธฐ๋ถํฐ 3๋ฒ์ผ๋ก ์ ์ ์ ๊ทธ๋ ์ด๋ ํ๋ ๊ฒ์ ๊ถ์ฅ๋๋ฆด ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค.JSONB / JSON ์ปฌ๋ผ์ผ๋ก ์ ์ฐ ์์ฑ ๋ณด๊ด (PostgreSQL, DynamoDB ๋ฑ) โ ์ด์ค๋ฐ์ ์ ์ผ ๋ง์ด ์์์ง ๋ถํ (Vertical Partitioning)๊ณตํต: InventoryCommonDVD์ฉ: InventoryDVD (expires_at ๋ฑ)Food์ฉ: InventoryFood (expiry_date, batch_no) โ JOIN์ ๊ท์ฐฎ์ง๋ง ํ์ ์์ ์ฑ ์ต๊ณ ์ํ ๋ถํ + Polymorphic Association (์ ๊ฐ ์ ์ผ ์ถ์ฒํ๋ ์ต์ข ์งํํ) Inventory { id, item_id, item_type, available_count, reserved_count, โฆ }๋ณ๋ ํ์ฅ ํ ์ด๋ธ๋ค โ item_type์ด โdvdโ๋ฉด InventoryDVD ํ ์ด๋ธ ์กฐ์ธ โ item_type์ด โticketโ๋ฉด InventoryTicket ํ ์ด๋ธ ์กฐ์ธ (Uber๋ ๊ฒฐ์ ์๋จ, Netflix๋ ์ฝํ ์ธ ๋ณ ๊ถํ ์ด๋ ๊ฒ ์ฌ์ฉ๋ ์ ์์ต๋๋ค.)์ด๊ธฐ์ JSONB๋ก ํ ๋ค์, ํน์ ์์ดํ ์ ํ์ด ๋๋ฌด ๋ณต์กํด์ง๋ฉด ๊ทธ๋ 3๋ฒ์ผ๋ก ๋ถ๋ฆฌํฉ๋๋ค.๊ทธ๋ฆฌ๊ณ ๋ง์ํ์ ํธ๋ํฝ์ด ์ ๋ง ๋ง์์ง๋ฉด available_count ์ฐจ๊ฐ์ ๊ฒฐ๊ตญ Redis / DynamoDB ๊ฐ์ ๋ถ์ฐ ์นด์ดํฐ๋ก ์ฎ๊ธฐ๊ณ , DB๋ ์ด๋ฒคํธ ์์ฑ์ด๋ ์ฌ๊ฐ ํจํด์ผ๋ก ์ต์ข ์ผ๊ด์ฑ๋ง ๋ง์ถฅ๋๋ค. (๋ทํ๋ฆญ์ค DVD ์ฌ๊ณ , ์๋ง์กด ์ฌ๊ณ ๋ชจ๋ ์ด๋ ๊ฒ ๊ตฌ์ฑ๋ ์ ์์ต๋๋ค.)๊ฐ์ฌํฉ๋๋ค.์ข์ ํ๋ฃจ ๋์ธ์!
- Likes
- 0
- Comments
- 2
- Viewcount
- 86





