์ „์ฒด ์นดํ…Œ๊ณ ๋ฆฌ 82

[R] MAC์— R์–ธ์–ด ์„ค์น˜ ๋ฐฉ๋ฒ•

MAC์— R์–ธ์–ด ์„ค์น˜ ๋ฐฉ๋ฒ•1. R์–ธ์–ด2. MAC์— R์–ธ์–ด ์„ค์น˜ ๋ฐฉ๋ฒ•1. R์–ธ์–ดR์€ ํ†ต๊ณ„ํ•™์„ ํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ž…๋‹ˆ๋‹ค.์ด๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ณต์žกํ•œ ํ†ต๊ณ„ ๊ธฐ๋ฒ•์„ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 2. MAC์— R์–ธ์–ด ์„ค์น˜ ๋ฐฉ๋ฒ•1. homebrew๋กœ ์„ค์น˜ํ•˜๊ธฐ$ brew install --cask R ํ„ฐ๋ฏธ๋„์—์„œ ์œ„์˜ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด R์–ธ์–ด๋ฅผ ์„ค์น˜ํ•ด์ค๋‹ˆ๋‹ค. 2. R์–ธ์–ด ์‹œ์ž‘ํ•˜๊ธฐ$ R   R์„ ์ž…๋ ฅํ–ˆ์„ ๋•Œ, ์œ„์™€ ๊ฐ™์ด ํ™”๋ฉด์ด ๋œจ๋ฉด ์„ค์น˜ ์„ฑ๊ณต์ž…๋‹ˆ๋‹ค. 3. R์–ธ์–ด ์‚ฌ์šฉํ•˜๊ธฐ R์–ธ์–ด ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ช…๋ น์–ด ์ž…๋ ฅ ํ›„์— ๊ฒฐ๊ณผ๊ฐ’์„ ํ™•์ธํ•ด์ค๋‹ˆ๋‹ค.์‚ฌ์šฉ์„ ๋‹ค ํ–ˆ์œผ๋ฉด q()๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์ €์žฅ ์—ฌ๋ถ€๋ฅผ ์ž…๋ ฅํ•œ ํ›„ ์ข…๋ฃŒํ•ด์ค๋‹ˆ๋‹ค. 4. R Studio ์„ค์น˜ํ•˜๊ธฐ$ brew install --cask rstudio R์–ธ์–ด ์ „์šฉ IDE์ธ R Studio๋ฅผ ์„ค์น˜ํ•ด..

[HTML] HTML ํƒœ๊ทธ ์•Œ์•„๋ณด๊ธฐ

HTML ํƒœ๊ทธ ์•Œ์•„๋ณด๊ธฐ1. ๊ตฌ์กฐ์  ํƒœ๊ทธ2. ๋ชฉ๋ก ๊ด€๋ จ ํƒœ๊ทธ3. ํ‘œ ๊ด€๋ จ ํƒœ๊ทธ4. ํ…์ŠคํŠธ ๊ด€๋ จ ํƒœ๊ทธ5. ์ด๋ฏธ์ง€ ๋ฐ ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ๊ด€๋ จ ํƒœ๊ทธ6. ํผ ๊ด€๋ จ ํƒœ๊ทธ 1. ๊ตฌ์กฐ์  ํƒœ๊ทธ: HTML ๋ฌธ์„œ์˜ ๋ฃจํŠธ ์š”์†Œ: ๋ฌธ์„œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ, ์Šคํƒ€์ผ, ์Šคํฌ๋ฆฝํŠธ ๋“ฑ์„ ํฌํ•จ: ์›น ํŽ˜์ด์ง€์˜ ๋ณธ๋ฌธ, ์‹ค์ œ ์ฝ˜ํ…์ธ ๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ๋ถ€๋ถ„: ๋ฌธ์„œ๋‚˜ ์„น์…˜์˜ ๋จธ๋ฆฌ๋ง, ํ—ค๋” ์ฝ˜ํ…์ธ ๋ฅผ ๋‹ด๋Š” ์˜์—ญ: ๋ฌธ์„œ๋‚˜ ์„น์…˜์˜ ๋ฐ”๋‹ฅ๊ธ€: ๋ฌธ์„œ ๋‚ด์—์„œ ๊ตฌ๋ถ„๋˜๋Š” ์„น์…˜: ๋…๋ฆฝ์ ์ธ ์ฝ˜ํ…์ธ : ๋‚ด๋น„๊ฒŒ์ด์…˜ ๋งํฌ๋“ค์„ ํฌํ•จํ•˜๋Š” ์˜์—ญ: ๋ณธ๋ฌธ๊ณผ ๊ฐ„์ ‘์ ์œผ๋กœ ๊ด€๋ จ๋œ ์ฝ˜ํ…์ธ  2. ๋ชฉ๋ก ๊ด€๋ จ ํƒœ๊ทธ: ์ˆœ์„œ ์—†๋Š” ๋ชฉ๋ก (Unordered List): ์ˆœ์„œ ์žˆ๋Š” ๋ชฉ๋ก (Ordered List): ๋ชฉ๋ก ํ•ญ๋ชฉ (List Item) – ๋˜๋Š” ๋‚ด๋ถ€์— ๋“ค์–ด๊ฐ: ์ •์˜ ๋ชฉ๋ก (Definition List): ์ •์˜..

[Web] ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„, ํ”„๋กœํ† ์ฝœ, TCP/IP ํ†ต์‹ , ์†Œ์ผ“ & ์›น ์†Œ์ผ“ & HTTP, OSI 7๊ณ„์ธต

ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„, ํ”„๋กœํ† ์ฝœ, TCP/IP ํ†ต์‹ , ์†Œ์ผ“ & ์›น ์†Œ์ผ“ & HTTP, OSI 7๊ณ„์ธต1. ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„2. ํ”„๋กœํ† ์ฝœ3. TCP/IP ํ†ต์‹ 4. ์†Œ์ผ“ & ์›น ์†Œ์ผ“ & HTTP5. OSI 7๊ณ„์ธต1. ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•˜๋Š” ์ปดํ“จํ„ฐ๋‚˜ ํ”„๋กœ๊ทธ๋žจ์„ ํด๋ผ์ด์–ธํŠธ, ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ์„œ๋ฒ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. 2. ํ”„๋กœํ† ์ฝœํ”„๋กœํ† ์ฝœ์€ ์ปดํ“จํ„ฐ ๋˜๋Š” ์‹œ์Šคํ…œ ๊ฐ„์˜ ํ†ต์‹ ํ•  ๋•Œ ์ง€์ผœ์•ผ ํ•  ํ‘œ์ค€ํ™”๋œ ๊ทœ์น™(์•ฝ์†)์ž…๋‹ˆ๋‹ค. 3. TCP/IP ํ†ต์‹ ํŒจํ‚ท ํ†ต์‹  ๋ฐฉ์‹์˜ ์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ์ธ IP, ์ „์†ก ์กฐ์ ˆ ํ”„๋กœํ† ์ฝœ์ธ TCP๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ์Šต๋‹ˆ๋‹ค.IP๋Š” ํŒจํ‚ค์‹œ ์ „๋‹ฌ ์—ฌ๋ถ€๋ฅผ ๋ณด์ฆํ•˜์ง€ ์•Š๊ณ , ํŒจํ‚ท์„ ๋ณด๋‚ธ ์ˆœ์„œ์™€ ๋ฐ›๋Š” ์ˆœ์„œ๊ฐ€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.TCP๋Š” IP ์œ„์—์„œ ๋™์ž‘ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ๋กœ ๋ฐ์ดํ„ฐ์˜ ์ „๋‹ฌ์„ ๋ณด์ฆํ•˜๊ณ  ๋ณด๋‚ธ ์ˆœ์„œ..

๐Ÿ“— CS 2025.01.20

[Scheduler] Springboot Scheduler ์‚ฌ์šฉํ•˜๊ธฐ

Springboot Scheduler ์‚ฌ์šฉํ•˜๊ธฐ1. Scheduler2. Cron3. Springboot Scheduler ์‚ฌ์šฉํ•˜๊ธฐ1. SchedulerํŠน์ • ์ž‘์—…์„ ๋ฏธ๋ฆฌ ์ •์˜๋œ ์‹œ๊ฐ„์— ์‹คํ–‰ํ•˜๋„๋ก ์˜ˆ์•ฝํ•˜๋Š” ์‹œ์Šคํ…œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. 2. Cron์Šค์ผ€์ค„๋ง ์ž‘์—…์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์‹œ๊ฐ„ ์„ค์ • ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.@Scheduled ์–ด๋…ธํ…Œ์ด์…˜์˜ cron ์†์„ฑ์ด ๋ฐ”๋กœ ์ž‘์—…์˜ ์‹คํ–‰ ์ฃผ๊ธฐ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. 3. Springboot Scheduler ์‚ฌ์šฉํ•˜๊ธฐ ์œ„์™€ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ , ์‹คํ–‰ ์‹œํ‚ค๋ฉด ๊ฐ ๋ถ„์˜ 10์ดˆ๋งˆ๋‹ค ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.์ฐธ๊ณ  ์‚ฌ์ดํŠธ ํฌ๋ก  ํ‘œํ˜„์‹(Cron Expressions)ํฌ๋ก  ์Šค์ผ€์ฅด๋Ÿฌ(Cron Scheduler)์— ์‚ฌ์šฉํ•˜๋Š” ํฌ๋ก  ํ‘œํ˜„์‹(Cron Expressions์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์žmadplay.github.io  [Sprin..

[Crawling] WebDriverException: Message: unknown error: cannot find Chrome binary

WebDriverException: Message: unknown error: cannot find Chrome binary1. ์›์ธ2. ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•1. ์›์ธ colab์—์„œ ํฌ๋กค๋ง์„ ํ•˜๋˜ ์ค‘, chrome์„ ์ผœ๋Š” ๊ณผ์ •์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ์ฝ”๋žฉ์€ ๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ์—์„œ ๋Œ์•„๊ฐ€๋Š”๋ฐ ํฌ๋กฌ/ํฌ๋กฌ ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. 2. ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•jupyter notebook์—์„œ ํฌ๋กค๋ง์„ ์‹œ๋„ํ•˜์˜€์Šต๋‹ˆ๋‹ค.์ฐธ๊ณ  ์‚ฌ์ดํŠธ ์ฅฌํ”ผํ„ฐ๋Š” ๋˜๊ณ , ์ฝ”๋žฉ์—์„œ๋Š” ์•ˆ๋˜๋Š” ์ด์œ ?-ํฌ๋กฌ ๋ธŒ๋ผ์šฐ์ €๋ž‘ ํฌ๋กฌ๋“œ๋ผ์ด๋ฒ„๋Š” ํ˜ธํ™˜๋˜๋Š” ์ƒํƒœ์ž…๋‹ˆ๋‹ค!-selenium๋„ ์ตœ์‹ ๋ฒ„์ „์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ ํ–ˆ์Šต๋‹ˆ๋‹ค!from selenium import webdriver import timedriver = webdriver.Chrome()driver.get(..

[Crawling] Anaconda, Jupyter Notebook

Anaconda, Jupyter Notebook1. Anaconda2. Jupyter Notebook1. AnacondaNumpy, Pandas, Jupyter Notebook ๋“ฑ ํŒจํ‚ค์ง€๋ฅผ ๋ชจ์•„๋†“์€ ํŒŒ์ด์ฌ ๋ฐฐํฌํŒ์ž…๋‹ˆ๋‹ค.์ผ์ผํžˆ ์„ค์น˜ํ•˜์ง€ ์•Š๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 2. Jupyter Notebook์›น์—์„œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์˜คํ”ˆ์†Œ์Šค ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค.์ฐธ๊ณ  ์‚ฌ์ดํŠธ 01-01 ์•„๋‚˜์ฝ˜๋‹ค์™€(Anaconda)์™€ ์ฅฌํ”ผํ„ฐ ๋…ธํŠธ๋ถ(Jupyter Notebook)Plotly Tutorial ์œ„ํ•ด์„œ๋Š” ๋ช‡๊ฐ€์ง€ ํŒจํ‚ค์ง€๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์ผ์ผํžˆ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค๋Š” ํ•„์š”ํ•œ ํŒจํ‚ค์ง€๋“ค์„ ๋ชจ์•„๋†“์€ ํŒŒ์ด์ฌ ๋ฐฐํฌํŒ '์•„๋‚˜์ฝ˜๋‹ค'๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.…wikidocs.net ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉด ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š” !ํ”ผ๋“œ๋ฐฑ์€ ์–ธ์ œ๋‚˜..

[Crawling] ํฌ๋กค๋ง ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋น„๊ต

ํฌ๋กค๋ง ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋น„๊ต1. ํฌ๋กค๋ง2. ํฌ๋กค๋ง ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋น„๊ต1. ํฌ๋กค๋งํฌ๋กค๋ง(Crawling)์€ ์›น ํŽ˜์ด์ง€์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์ž‘์—…์ž…๋‹ˆ๋‹ค.๊ฐ€์ ธ์˜จ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•˜๋Š” ๊ฒƒ์„ ์Šคํฌ๋ž˜ํ•‘(Scraping)์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. 2. ํฌ๋กค๋ง ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋น„๊ต1. Beautiful Soup์ •์ ์ธ ์›น ํŽ˜์ด์ง€์˜ ๋ฐ์ดํ„ฐ ์ถ”์ถœ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.์ฃผ๋กœ Requests์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. 2. Requests์›น ํŽ˜์ด์ง€์˜ HTML ์†Œ์Šค๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค.Beautiful Soup๊ณผ ์กฐํ•ฉํ•˜์—ฌ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. 3. MechanicalSoupBeautiful Soup์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค.๊ฐ€๋ฒผ์šด ์ž๋™ํ™” ๋ฐ ํผ ์ œ์ถœ ์ž‘์—…์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.  4. Scrapy๋Œ€๊ทœ๋ชจ์˜ ํฌ๋กค๋ง ์ž‘์—…์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.๋™์  ์ฝ˜ํ…์ธ  ํฌ๋กค๋ง์—๋Š” ์ถ”๊ฐ€์ ์ธ ์„ค์ •์ด๋‚˜ S..

[Desigin Pattern] MVC, MVP, MVVM ํŒจํ„ด

MVC, MVP, MVVM ํŒจํ„ด1. MVC ํŒจํ„ด2. MVP ํŒจํ„ด3. MVVM ํŒจํ„ด1. MVC ํŒจํ„ดMVC(Model-View-Controller)๋Š” Model, View, Controller๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ์„ค๊ณ„ํ•˜๋Š” ํŒจํ„ด์ž…๋‹ˆ๋‹ค. - ๊ตฌ์„ฑ ์š”์†Œ์™€ ์—ญํ• 1. Controller์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์„ ๋ฐ›๊ณ  ์ฒ˜๋ฆฌํ•˜๋Š” ๋กœ์ง์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.์š”์ฒญ์„ ์ ์ ˆํ•œ Service ๋˜๋Š” Model๋กœ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.Model๊ณผ View ์‚ฌ์ด์˜ ์ค‘๊ฐœ์ž ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ex) API ๋ผ์šฐํŒ…, ์„œ๋น„์Šค ํ˜ธ์ถœ ๋“ฑ 2. Model์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐ์ดํ„ฐ์™€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€๊ณตํ•˜์—ฌ Controller ๋˜๋Š” View์— ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ex) ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ชจ๋ธ, ORM(Entity) ๋“ฑ 3. View์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ง€๋Š” UI๋ฅผ ..

๐Ÿ“— CS 2025.01.17

[Desigin Pattern] CQRS ํŒจํ„ด

CQRS ํŒจํ„ด1. CQRS ํŒจํ„ด1. CQRS ํŒจํ„ด๋ช…๋ น(Command)๊ณผ ์งˆ์˜(Query)๋กœ ๊ฐ๊ฐ์˜ ์ฑ…์ž„์„ ๋ช…ํ™•ํžˆ ํ•˜๋Š” ํŒจํ„ด์ž…๋‹ˆ๋‹ค.๋ช…๋ น(Command)์€ ์‹œ์Šคํ…œ์˜ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ์ž‘์—…, ์งˆ์˜(Query)๋Š” ์‹œ์Šคํ…œ์˜ ์ƒํƒœ๋ฅผ ์กฐํšŒํ•˜๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ฑ…์ž„์˜ ๋ถ„๋ฆฌ๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ์ด ๋†’์•„์ง€๊ณ , ์ฝ๊ธฐ์™€ ์“ฐ๊ธฐ ์ž‘์—…์— ๊ฐ๊ฐ ์ตœ์ ํ™”๋œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ์ฝ๊ธฐ์™€ ์“ฐ๊ธฐ ์ž‘์—…์„ ๋…๋ฆฝ์ ์œผ๋กœ ํ™•์žฅํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹จ์ˆœ CRUD ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” ํ•„์š” ์ด์ƒ์œผ๋กœ ๋ณต์žกํ•ด์งˆ ์ˆ˜ ์žˆ๊ณ , ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.์ฐธ๊ณ  ์‚ฌ์ดํŠธ CQRS ํŒจํ„ด์ด๋ž€?๊ฐœ์š”CQRS ํŒจํ„ด์ด๋ž€? ์™œ CQRS๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€? CQRS์˜ ๊ตฌํ˜„๋ฐฉ๋ฒ• CQRS์™€ Event Driven Arch..

๐Ÿ“— CS 2025.01.17

[OOP] ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€?

๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€?1. ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ2. ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ฐ ํŠน์ง•1. ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ฐ์ฒด๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ์„ค๊ณ„ํ•˜๊ณ  ๊ฐœ๋ฐœํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„์ž…๋‹ˆ๋‹ค.๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์ข…๋ฅ˜์—๋Š” Java, C++, C#, Javascript, Python ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. class Person { private String name; public Person(String name) { this.name = name; } public void introduce() { System.out.println("์•ˆ๋…•ํ•˜์„ธ์š”, ์ €๋Š” " + this.name + "์ž…๋‹ˆ๋‹ค."); }}public class Main { public static void main(S..

๐Ÿ“— CS 2025.01.15