profile
๐Ÿท

java Async

Java ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ• @Async annotation ์œผ๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ. ํด๋ž˜์Šค์— @EnableAsnyc๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , ๋น„๋™๊ธฐ๋กœ ์ œ๊ณตํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฉ”์†Œ๋“œ์— @Async ์–ด๋…ธํ…Œ์ด์…˜์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ฐ€๋Šฅํ•จ. @Async์˜ ๊ธฐ๋ณธ ์„ค์ •์€ SimpleAsyncTaskExecutor ์ด๊ธฐ ๋•Œ๋ฌธ์— thread ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด์„œ๋Š” ๋ณ„๋„๋กœ ๊ตฌ์„ฑํ•ด์ฃผ์–ด์•ผ ํ•จ Asyn...

2024๋…„ 5์›” 3์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

java syncronized

๊ธฐ๋Šฅ ๊ฐœ๋ฐœ ์ค‘ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฆฌ์ŠคํŠธ์— ๋„ฃ๊ธฐ ๋ฆฌ์ŠคํŠธ์˜ ๊ธธ์ด๋ฅผ ๊ณ„์‚ฐํ•˜๊ธฐ ๋‘ ๊ฐ€์ง€ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ๊ตฌํ˜„ํ–ˆ๋‹ค. ์ด ๋ฉ”์†Œ๋“œ๊ฐ€ ์‹คํ–‰๋  ๋•Œ 2๋ฒˆ ์ž‘์—…์—์„œ ๋ฆฌ์ŠคํŠธ์˜ ๊ธธ์ด๋Š” ์ •ํ™•ํžˆ 1๋ฒˆ ์ž‘์—…์„ ๋งˆ์นœ ์งํ›„์˜ ๊ธธ์ด์—ฌ์•ผ ํ–ˆ๋Š”๋ฐ, ์—ฌ๋Ÿฌ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ด ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด์„œ 1๋ฒˆ ์ž‘์—…๊ณผ 2๋ฒˆ ์ž‘์—…์˜ ์‚ฌ์ด์— ๋‹ค๋ฅธ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ˜ธ์ถœํ•œ ๋ฉ”์†Œ๋“œ์˜ 1๋ฒˆ ์ž‘์—…์ด ์‹คํ–‰๋˜์–ด ๋ฆฌ์ŠคํŠธ์˜ ๊ธธ์ด๋ฅผ ์ •ํ™•...

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

Portainer

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

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

[Spring Boot] DynamoDB์—์„œ ๋ฐ์ดํ„ฐ ์ฝ์–ด์˜ค๊ธฐ

AWS ์‹œํฌ๋ฆฟ ๋งค๋‹ˆ์ € ํŒŒํŠธ ๋ณ„๋กœ ๋”ฐ๋กœ ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ๋˜ ํ‚ค ๊ฐ’์„ ํ•œ ๋ฒˆ์— ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด AWS Secret Manager๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค. ๋จผ์ € AWS ์‹œํฌ๋ฆฟ๋งค๋‹ˆ์ €์— ๋ณด์•ˆ ์•”ํ˜ธ ๋“ฑ๋ก์„ ํ•˜๊ณ  AWS CLI ์„ค์น˜์™€ ๊ถŒํ•œ ์„ค์ •์„ ํ–ˆ๋‹ค. AWS ์‹œํฌ๋ฆฟ ๋งค๋‹ˆ์ € ๋ณด์•ˆ ์•”ํ˜ธ ๋“ฑ๋ก ๋ณด์•ˆ ์•”ํ˜ธ๋ฅผ ๋“ฑ๋กํ•˜๋ฉด ์ด๋ ‡๊ฒŒ ์ƒ˜ํ”Œ ์ฝ”๋“œ๋ฅผ ์ค€๋‹ค. AWS CLI ์„ค์น˜์™€ ๊ถŒํ•œ ์„ค์ • ์„ค์น˜ ๊ถŒํ•œ ์„ค...

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

Spring Boot Websocket ์„œ๋ฒ„ ์‹คํ–‰๊ณผ ํ…Œ์ŠคํŠธ

์ €๋ฒˆ ์ฃผ์— ์ด์–ด์„œ ์ด๋ฒˆ ์ฃผ๋„ ์›น์†Œ์ผ“ ๊ณต๋ถ€๋ฅผ ํ–ˆ๋‹ค. ์›น ๊ธฐ์ดˆ ์ง€์‹์ด ์—†์–ด์„œ ์„œ๋น„์Šค ํ๋ฆ„์„ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋„ˆ๋ฌด ์˜ค๋ž˜ ๊ฑธ๋ ธ๋‹ค. ์†Œ์ผ“ ์—ฐ๊ฒฐ์€ ํด๋ผ์ด์–ธํŠธ์—์„œ ์ˆ˜ํ–‰ํ•˜๊ณ  ์„œ๋ฒ„์—์„œ๋Š” ์ „์†ก๋œ ๋ฉ”์„ธ์ง€๋ฅผ ์–ด๋””์— ๋ฐฐํฌํ• ์ง€๋ฅผ ์ •์˜ํ•˜๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉด ๋œ๋‹ค๊ณ  ์ดํ•ดํ–ˆ๋‹ค. WebSocketConfig ์›น์†Œ์ผ“ ๊ด€๋ จ ์„ค์ • ํŒŒ์ผ Endpoint(/ws)์œผ๋กœ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์›น ์†Œ์ผ“ ์—ฐ๊ฒฐ ์š”...

2024๋…„ 3์›” 22์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

Spring Boot RestClient

Spring Boot์—์„œ ์™ธ๋ถ€ API๋ฅผ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ๋˜ ์ค‘, ๊ธฐ์กด์— ๋งŽ์ด ์“ฐ์ด๋˜ ๋ฐฉ๋ฒ•์ธ RestTemplate๊ณผ WebClient๋ฅผ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. RestTemplate RestTemplate์€ ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์ œ๊ณตํ•˜๋Š” HTTP ํด๋ผ์ด์–ธํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, RESTful API๋ฅผ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค. RestTemplate์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋™๊ธฐ์ ์ธ...

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

๋ฐฑ์ค€ 7586

2023๋…„ 9์›” 20์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

C++ ์ž…์ถœ๋ ฅ ๋ฐฉ๋ฒ•

2023๋…„ 9์›” 18์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

ํŒŒ์ด์ฌ ๋ฆฌ์ŠคํŠธ ํ•จ์ˆ˜

2023๋…„ 9์›” 18์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

ํŒŒ์ด์ฌ join ํ•จ์ˆ˜ / ์‚ผํ•ญ ์—ฐ์‚ฐ์ž

2023๋…„ 9์›” 18์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

23.09.18 C++ Tutorial

2023๋…„ 9์›” 17์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

23.09.17 C++ Tutorial

2023๋…„ 9์›” 17์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

ํŒŒ์ด์ฌ ๋ฌธ์ž์—ด ์ถœ๋ ฅ

2023๋…„ 7์›” 9์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท

23.01.17 C++ Tutorial

2023๋…„ 1์›” 17์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท