๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป Dev 27

[API ํ†ต์‹ ] RestTemplate๊ณผ WebClient

RestTemplate๊ณผ WebClient1. API ํ†ต์‹ 2. RestTemplate๊ณผ WebClient1. API ํ†ต์‹ ํด๋ผ์ด์–ธํŠธ์—์„œ ํšŒ์›๊ฐ€์ž…์„ ํ•  ๋•Œ, ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์„œ๋ฒ„์™€์˜ ํ†ต์‹ ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ง์ ‘ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ฐ๊ฒฐํ•˜๊ฒŒ ๋˜๋ฉด, ๋ณด์•ˆ์— ๋งค์šฐ ์ทจ์•ฝํ•ด์ง€๋ฉฐ ํ•ดํ‚น ๋“ฑ์˜ ์œ„ํ—˜์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ํด๋ผ์ด์–ธํŠธ๋Š” ๋ฐฑ์—”๋“œ ์„œ๋ฒ„(ํ”„๋ก ํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„ API)๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๊ฐ„์ ‘์ ์œผ๋กœ ํ†ต์‹ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.์ด๋•Œ ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ HTTP ๊ธฐ๋ฐ˜์˜ API ํ†ต์‹ ์ด๊ณ , ์„œ๋ฒ„ ๋‚ด๋ถ€์—์„œ ์™ธ๋ถ€ ์‹œ์Šคํ…œ์ด๋‚˜ ๋‹ค๋ฅธ ์„œ๋น„์Šค์™€ ํ†ต์‹ ํ•  ๋•Œ๋Š” RestTemplate์ด๋‚˜ WebClient ๊ฐ™์€ HTTP ํด๋ผ์ด์–ธํŠธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. 2. RestTemplate๊ณผ WebClientRest..

[Monitor] Prometheus, Grafana

Prometheus, Grafana1. ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ2. Prometheus3. Grafana1. ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ์„œ๋น„์Šค์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์•Œ๋ฆผ์„ ํ†ตํ•ด ์•Œ๋ ค์ฃผ๋Š” ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค.๋งŒ์•ฝ์— ์ด์ƒํ•œ ๋กœ๊ทธ์ธ ์‹œ๋„๋‚˜ ์„œ๋ฒ„ ๋ถ€ํ•˜ ๋“ฑ์ด ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ์„ ํ†ตํ•ด ์ด์ƒ์„ ๊ฐ์ง€ํ•˜๊ณ  ์•Œ๋ฆผ์„ ๋ณด๋‚ด ์ด์— ๋Œ€ํ•œ ์กฐ์น˜๋ฅผ ์ทจํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 2. Prometheus์„œ๋ฒ„, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, ์ปจํ…Œ์ด๋„ˆ ๋“ฑ์˜ ๋ฉ”ํŠธ๋ฆญ์„ ์ˆ˜์ง‘ํ•˜๊ณ  ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.prometheus๋งŒ ์‚ฌ์šฉํ•˜๋ฉด ์ฝ˜์†” ๊ธฐ๋ฐ˜์œผ๋กœ ํ™•์ธํ•ด์•ผ ํ•ด์„œ ๋ถˆํŽธํ•˜๊ธฐ ๋•Œ๋ฌธ์— grafana์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. 3. Grafana๋ฐ์ดํ„ฐ๋ฅผ ์‹œ๊ฐํ™”ํ•˜๋Š” ๋Œ€์‹œ๋ณด๋“œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.์ด๋ฉ”์ผ, Slack ๋“ฑ์œผ๋กœ ์•Œ๋žŒ์„ ์ „์†กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Slack์œผ๋กœ ์•Œ๋žŒ์ด ์˜ค๊ฒŒ๋” ์„ค์ •์„ ํ•˜๋ฉด ์œ„์™€ ๊ฐ™์ด ์•Œ๋žŒ์ด ์˜ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ..

[IntelliJ] Code with me ์‚ฌ์šฉํ•˜๊ธฐ

Code with me ์‚ฌ์šฉํ•˜๊ธฐํŒ€ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•  ๋•Œ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ๊ณผ์ •์—์„œ ํŒ€์›๋“ค๊ณผ ํ•จ๊ป˜ ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜๊ณ  ์˜ค๋ฅ˜๋ฅผ ๊ณ ์น˜๋ฉด์„œ Code with me๋ฅผ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.์˜จ๋ผ์ธ์œผ๋กœ ์ง„ํ–‰ํ•˜์—ฌ zep์˜ ํ™”๋ฉด ๊ณต์œ  ๊ธฐ๋Šฅ์œผ๋กœ ํ™•์ธํ•˜๋˜ ๊ฒƒ๊ณผ ๋‹ฌ๋ฆฌ ์ง์ ‘ ์ฝ”๋“œ, ํ„ฐ๋ฏธ๋„ ๋“ฑ์— ์ ‘๊ทผํ•˜์—ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์—์„œ ์œ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.  ์ธํ…”๋ฆฌ์ œ์ด์˜ ์ƒ๋‹จ ์šฐ์ธก์— ์‚ฌ๋žŒ ๋ชจ์–‘์„ ํด๋ฆญํ•˜์—ฌ ์„ธ์…˜ ์‹œ์ž‘์„ ๋ˆ„๋ฅด๋ฉด ์ž์‹ ์˜ ํ™˜๊ฒฝ์— ๋‹ค๋ฅธ ์‚ฌ๋žŒ์„ ์ดˆ๋Œ€ํ•  ์ˆ˜ ์žˆ๊ณ , ์„ธ์…˜ ์ฐธ์—ฌ๋ฅผ ํด๋ฆญํ•˜๋ฉด ์ฐธ์—ฌ ๋งํฌ๋ฅผ ์ž…๋ ฅํ•œ ํ›„ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ™˜๊ฒฝ์—์„œ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.  ๋‹ค๋ฅธ ์‚ฌ๋žŒ์„ ์ดˆ๋Œ€ํ•  ๋•Œ  ์ฝ”๋“œ๋งŒ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ํ„ฐ๋ฏธ๋„๋„ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๊ถŒํ•œ์„ ์„ค์ •ํ•˜์—ฌ ์„ธ์…˜์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.ํ˜ผ์ž ํ•ด๊ฒฐํ•˜๊ธฐ ์–ด๋ ค์šด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๊ณผ ํ•จ๊ป˜ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ์— ๋„์›€์ด ๋˜..

[API] Springboot์™€ Gemini API ์—ฐ๋™ํ•˜๊ธฐ (์ˆ˜์ •์ค‘)

Springboot์™€ Gemini API ์—ฐ๋™ํ•˜๊ธฐ   ์ฐธ๊ณ  ์‚ฌ์ดํŠธ Gemini API  |  Google AI for DevelopersGemini Developer API ๋ฌธ์„œ ๋ฐ API ์ฐธ์กฐai.google.dev ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉด ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š” !ํ”ผ๋“œ๋ฐฑ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค

[API] Springboot์™€ Slack API ์—ฐ๋™ํ•˜๊ธฐ (์ˆ˜์ •์ค‘)

Springboot์™€ Slack API ์—ฐ๋™ํ•˜๊ธฐ  ์ฐธ๊ณ  ์‚ฌ์ดํŠธ Slack platform overview | SlackThe Slack platform offers many tools to aid you in enhancing your workspaces. At a high level, they can be viewed through the lens of workflow automations and non-workflow Slack apps. Workflow automations These comprise both workflow apps and Workflow Builapi.slack.com ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉด ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š” !ํ”ผ๋“œ๋ฐฑ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค

[DB] ๋…ผ๋ฆฌ ์‚ญ์ œ(Soft Delete)์™€ ๋ฌผ๋ฆฌ ์‚ญ์ œ(Hard Delete)

๋…ผ๋ฆฌ ์‚ญ์ œ(Soft Delete)์™€ ๋ฌผ๋ฆฌ ์‚ญ์ œ(Hard Delete)0. ๊ณต๋ถ€ํ•˜๊ฒŒ ๋œ ๊ณ„๊ธฐ1. ๋…ผ๋ฆฌ ์‚ญ์ œ(Soft Delete)2. ๋ฌผ๋ฆฌ ์‚ญ์ œ(Hard Delete)0. ๊ณต๋ถ€ํ•˜๊ฒŒ ๋œ ๊ณ„๊ธฐ์ง€๊ธˆ๊นŒ์ง€ ํ”„๋กœ์ ํŠธ์—์„œ ๋ฌผ๋ฆฌ ์‚ญ์ œ(Hard Delete)๋งŒ์„ ์‚ฌ์šฉํ•ด์™”์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ตœ๊ทผ ์‚ฌ์šฉ์ž ํƒˆํ‡ด์™€ ๊ฐ™์€ ์ƒํ™ฉ์—์„œ ์‚ญ์ œ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•  ํ•„์š”๊ฐ€ ์ƒ๊ฒผ๊ณ , ์ด๋•Œ ๋…ผ๋ฆฌ ์‚ญ์ œ(Soft Delete)์˜ ๊ฐœ๋…์„ ์ฒ˜์Œ ์ ‘ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์ •๋ณด๋Š” ์‚ญ์ œ๋˜์ง€๋งŒ, ์กฐํšŒ๋‚˜ ๋ณต๊ตฌ๊ฐ€ ๊ฐ€๋Šฅํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ๋…ผ๋ฆฌ ์‚ญ์ œ์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 1. ๋…ผ๋ฆฌ ์‚ญ์ œ(Soft Delete)๋ฐ์ดํ„ฐ๋ฅผ ์‹ค์ œ๋กœ ์‚ญ์ œํ•˜์ง€ ์•Š๊ณ  ์‚ญ์ œ๋œ ๊ฒƒ์œผ๋กœ ํ‘œ์‹œ๋งŒ ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.is_deleted์™€ ๊ฐ™์€ boolean ํƒ€์ž… ์ปฌ๋Ÿผ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋…ผ๋ฆฌ์ ..

[ํ˜‘์—…] 1์ฐจ ํ”„๋กœ์ ํŠธ ํŒ€์› ํ‰๊ฐ€ ๋ฐ ํšŒ๊ณ 

1์ฐจ ํ”„๋กœ์ ํŠธ ํŒ€์› ํ‰๊ฐ€ ๋ฐ ํšŒ๊ณ 1. ํŒ€์› ํ‰๊ฐ€2. ํšŒ๊ณ 1. ํŒ€์› ํ‰๊ฐ€ 2. ํšŒ๊ณ ์ง„์งœ ์‹ค๋ ฅ๋„ ์ค‘์š”ํ•˜์ง€๋งŒ ์ œ๊ฐ€ ์ค‘์š”์‹œํ•˜๊ฒŒ ์ƒ๊ฐํ–ˆ๋˜๊ฒŒ ์†Œํ†ต๊ณผ ํ˜‘์—… ๊ทธ๋ฆฌ๊ณ  ์ฑ…์ž„๊ฐ ์ด์—ˆ๋Š”๋ฐ ์ž˜ ๋ฐ˜์˜๋˜์—ˆ๋˜ ๊ฑฐ ๊ฐ™์•„์„œ ๋ฟŒ๋“ฏํ•ฉ๋‹ˆ๋‹ค.์ด์ œ ์‹ค๋ ฅ๋งŒ ์˜ฌ๋ฆฌ๋ฉด ๋จ!!!!!!!!!!!!!!!!!!!! ๋Ÿญํ‚ค๋น„ํ‚ค๋‹ˆ๐Ÿ‘™~!!!!!!!!!!!!!!!!!!๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉด ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š” !ํ”ผ๋“œ๋ฐฑ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค

[Spring] Spring ๊ด€๋ จ ๊ณต๋ถ€ํ•œ ๊ธฐ์ˆ  ๊ฐœ๋… ์š”์•ฝ ์ •๋ฆฌ

Spring ๊ด€๋ จ ๊ณต๋ถ€ํ•œ ๊ธฐ์ˆ  ๊ฐœ๋… ์š”์•ฝ ์ •๋ฆฌ Spring์—์„œ ๊ณ„์ธตํ˜• ์•„ํ‚คํ…์ฒ˜(Layered Architecture)์˜ ๊ฐ ๋ ˆ์ด์–ด(Controller, Service, Repository)์˜ ์—ญํ• ์„ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋‹ค.Controller: ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ๋ฐ›์•„์„œ ์ ์ ˆํ•œ ์„œ๋น„์Šค๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ์—ญํ• .Service: ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ ˆ์ด์–ด. Controller์—์„œ ์š”์ฒญ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜์—ฌ Repository์™€ ์ƒํ˜ธ์ž‘์šฉ.Repository: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ CRUDํ•˜๋Š” ์—ญํ• . JPA์—์„œ 1:1, 1:N, N:M ๋“ฑ์˜ ์—ฐ๊ด€๊ด€๊ณ„๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์„ค์ •ํ•˜๊ณ  ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.1:1: ๋‘ ์—”ํ‹ฐํ‹ฐ ๊ฐ„ 1:1 ๊ด€๊ณ„ (์˜ˆ: Person๊ณผ Passport).1:N: ํ•˜๋‚˜์˜ ์—”ํ‹ฐํ‹ฐ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์˜..

[Javascript] var, let, const ์ฐจ์ด์ ๊ณผ ํ˜ธ์ด์ŠคํŒ…

var, let, const ์ฐจ์ด์ ๊ณผ ํ˜ธ์ด์ŠคํŒ…1. var, let, const ์ฐจ์ด์ 2. ํ˜ธ์ด์ŠคํŒ…1. var, let, const ์ฐจ์ด์ var์€ ES6 ์ด์ „์— ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋˜ ๋ณ€์ˆ˜ ์„ ์–ธ ํ‚ค์›Œ๋“œ๋กœ ํ•จ์ˆ˜ ์Šค์ฝ”ํ”„๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค.var๋กœ ์„ ์–ธ๋œ ๋ณ€์ˆ˜๊ฐ€ ํ•จ์ˆ˜ ๋‚ด์—์„œ๋งŒ ์ง€์—ญ ๋ณ€์ˆ˜๋กœ ์ž‘๋™ํ•˜๊ณ , ํ•จ์ˆ˜ ์™ธ๋ถ€์—์„œ๋Š” ์ „์—ญ ๋ณ€์ˆ˜๋กœ ์ž‘๋™ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. let, const๋Š” ES6์—์„œ ๋„์ž…๋œ ๋ณ€์ˆ˜ ์„ ์–ธ ํ‚ค์›Œ๋“œ๋กœ ๋ธ”๋ก ์Šค์ฝ”ํ”„๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค.let๊ณผ const๋กœ ์„ ์–ธ๋œ ๋ณ€์ˆ˜๊ฐ€ ์ค‘๊ด„ํ˜ธ๋กœ ๋‘˜๋Ÿฌ์‹ธ์ธ ๋ธ”๋ก ๋‚ด์—์„œ๋งŒ ์œ ํšจํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. 2. ํ˜ธ์ด์ŠคํŒ…๋ณ€์ˆ˜๋‚˜ ํ•จ์ˆ˜ ์„ ์–ธ์„ ์ฝ”๋“œ์˜ ์ตœ์ƒ๋‹จ์œผ๋กœ ๋Œ์–ด์˜ฌ๋ฆฌ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋™์ž‘ํ•˜๋Š” ํŠน์„ฑ์ž…๋‹ˆ๋‹ค.var๋กœ ์„ ์–ธ๋œ ๋ณ€์ˆ˜๋Š” ํ˜ธ์ด์ŠคํŒ…๋˜์–ด undefined๋กœ ์ดˆ๊ธฐํ™” ๋˜๊ณ , let๊ณผ const๋Š” ํ˜ธ์ด์ŠคํŒ…์ด ๋˜์–ด๋„ ์ดˆ..

[Java] ์ •์ˆ˜ํ˜• ๋น„ํŠธ ์—ฐ์‚ฐ

์ •์ˆ˜ํ˜• ๋น„ํŠธ ์—ฐ์‚ฐ ๋น„ํŠธ ์—ฐ์‚ฐ์„ ์ž˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋‹ค๋ณด๋‹ˆ ๊ธฐ์–ต์ด ๋‚˜์ง€ ์•Š๋Š” ์ด์Šˆ๋กœ ์ธํ•ด ์ •๋ฆฌํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค,,a๊ฐ€ 13์ด๊ณ , b๊ฐ€ 4์ผ ๋•Œ ์ •์ˆ˜ํ˜• ๋น„ํŠธ ์—ฐ์‚ฐ์„ ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. System.out.println(a & b) a๋Š” ์ด์ง„์ˆ˜๋กœ ํ‘œํ˜„ํ•˜๋ฉด 1101, b๋Š” ์ด์ง„์ˆ˜๋กœ ํ‘œํ˜„ํ•˜๋ฉด 0100 ์ž…๋‹ˆ๋‹ค.a์™€ b์˜ ์ด์ง„์ˆ˜๋ฅผ ๋น„๊ตํ•˜์—ฌ ๋‘ ๋น„ํŠธ๊ฐ€ ๋ชจ๋‘ 1์ผ ๋•Œ๋งŒ 1์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.์ด๋•Œ, 0100 ๊ฒฐ๊ณผ๊ฐ’์„ ๋„์ถœํ•  ์ˆ˜ ์žˆ๊ณ  ์ด๋Š” 10์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜๋ฉด 4๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. System.out.println(a | b) a์™€ b์˜ ์ด์ง„์ˆ˜๋ฅผ ๋น„๊ตํ•˜์—ฌ ํ•œ ๋น„ํŠธ๋ผ๋„ 1์ด๋ฉด 1์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.์ด๋•Œ, 1101 ๊ฒฐ๊ณผ๊ฐ’์„ ๋„์ถœํ•  ์ˆ˜ ์žˆ๊ณ  ์ด๋Š” 10์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜๋ฉด 13์ด ๋ฉ๋‹ˆ๋‹ค. System.out.println(a ^ b) XOR ์—ฐ์‚ฐ์œผ๋กœ a์™€ b์˜ ์ด์ง„์ˆ˜..