๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
BackEnd๐ŸŒฑ/Etc

๋‚ด๊ฐ€ ์“ฐ๋Š” IntelliJ ์œ ์šฉํ•œ ๊ธฐ๋Šฅ๋“ค

by ์•ˆ์ฃผํ˜• 2024. 3. 20.

1. Global Data Sources

์ธํ…”๋ฆฌ์ œ์ด๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ, ๊ฐ ํ”„๋กœ์ ํŠธ๋งˆ๋‹ค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(DB) ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•ด ์ธํ…”๋ฆฌ์ œ์ด ๋‚ด์—์„œ ์ง์ ‘ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๋ชจ๋“  ํ”„๋กœ์ ํŠธ์— ๊ฑธ์ณ ๊ณตํ†ต์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์€ DB ์—ฐ๊ฒฐ์ด ์žˆ๋‹ค๋ฉด, ํ•ด๋‹น ์—ฐ๊ฒฐ์„ Make Global๋กœ ์„ค์ •ํ•จ์œผ๋กœ์จ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ๋ฅผ ์—ด์–ด๋„ ํ•ด๋‹น DB ์—ฐ๊ฒฐ ์„ค์ •์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

2. Shelve

์ž‘์—… ์ค‘์ธ ๋ธŒ๋ Œ์น˜์—์„œ ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜๋กœ ์ „ํ™˜ํ•  ํ•„์š”๊ฐ€ ์žˆ์„ ๋•Œ, ์ผ๋ฐ˜์ ์œผ๋กœ๋Š” git stash๋ฅผ ์‚ฌ์šฉํ•ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ž„์‹œ๋กœ ์ €์žฅํ•œ ํ›„ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ธํ…”๋ฆฌ์ œ์ด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ์ด์™€ ์œ ์‚ฌํ•œ ๊ธฐ๋Šฅ์ธ Shelve๋ฅผ ํ†ตํ•ด ์ปค๋ฐ‹ํ•˜์ง€ ์•Š์€ ์ฝ”๋“œ๋ฅผ ์ž„์‹œ๋กœ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ํ˜„์žฌ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ธํ…”๋ฆฌ์ œ์ด ๋‚ด๋ถ€์— ๋ณด๊ด€ํ•˜๊ณ , ํ•„์š”ํ•  ๋•Œ ์–ธ์ œ๋“ ์ง€ ๋‹ค์‹œ ๊บผ๋‚ด์–ด ์ž‘์—…์„ ์ด์–ด๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (๊ฐœ์ธ์ ์œผ๋กœ ์ €๋Š” Shelve๋ฅผ ์‚ฌ์šฉํ•ด ์™”๊ณ  ๋•๋ถ„์— git stash๋Š” ์‚ฌ์šฉํ•ด ๋ณธ ์ ์ด ์—†์Šต๋‹ˆ๋‹ค.)

์ขŒ์ธก ์ด๋ฏธ์ง€์™€ ๊ฐ™์ด ์ปค๋ฐ‹ ๋‚ด์—ญ์—์„œ ์ž„์‹œ ์ €์žฅํ•˜๊ณ  ์‹ถ์€ ํŒŒ์ผ๋“ค์„ ์„ ํƒํ•œ ํ›„, ์ƒ๋‹จ์— ์œ„์น˜ํ•œ Shelve Sliently๋ฅผ ๋ˆ„๋ฅด๊ฑฐ๋‚˜, ์šฐ์ธก ์ด๋ฏธ์ง€์ฒ˜๋Ÿผ ์šฐํด๋ฆญ ํ›„ Shelve Changes๋ฅผ ๋ˆ„๋ฅด๋ฉด ํ•ด๋‹น ํŒŒ์ผ๋“ค์ด ์ž„์‹œ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

Shelve ํ›„์—๋Š” Shelf ํƒญ์—์„œ ์ž„์‹œ์ €์žฅํ•œ ๋‚ด์—ญ๋“ค์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, Unshelve๋ฅผ ํ†ตํ•ด ๋‹ค์‹œ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ Unshelve๋ฅผ ํ†ตํ•ด ์ž‘์—… ๋‚ด์šฉ์„ ๋ถˆ๋Ÿฌ์˜ค๋”๋ผ๋„ Shelf์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋“ค์€ ์ž๋™์œผ๋กœ ์ง€์›Œ์ง€์ง€ ์•Š๋Š”๋ฐ, ์ง€์šฐ๊ณ  ์‹ถ๋‹ค๋ฉด Delete๋ฅผ ํ†ตํ•ด ์ง์ ‘ ์ง€์›Œ์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

 

3. JIRA ์—ฐ๋™

์—ฐ๋™ ๋ถ€๋ถ„์€ IntelliJ๋ฅผ JIRA์™€ ์—ฐ๋™ํ•ด์„œ ์‚ฌ์šฉํ•˜๊ธฐ๋ฅผ ์ฐธ๊ณ  ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

JIRA์™€ ์—ฐ๋™์ด ์™„๋ฃŒ๋˜๋ฉด, JIRA์—์„œ ์ด์Šˆ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ธํ…”๋ฆฌ์ œ์ด์—์„œ ์œˆ๋„์šฐ์—์„œ๋Š” Alt + Shift + N, Mac์—์„œ๋Š” Option + Shift + N์„ ๋ˆŒ๋Ÿฌ ์œ„ ์ขŒ์ธก ์ด๋ฏธ์ง€์™€ ๊ฐ™์ด ๋‚˜์—๊ฒŒ ํ• ๋‹น๋œ ์ƒ์„ฑ๋œ ์ด์Šˆ ๋ชฉ๋ก์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์›ํ•˜๋Š” ์ด์Šˆ๋ฅผ ํด๋ฆญํ•˜๋ฉด ์šฐ์ธก ์ด๋ฏธ์ง€์ฒ˜๋Ÿผ ํ•ด๋‹น ์ด์Šˆ์˜ ์ œ๋ชฉ์„ ์ด๋ฆ„์œผ๋กœ ํ•˜๋Š” ๋ธŒ๋žœ์น˜๋ฅผ ํŽธํ•˜๊ฒŒ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

JIRA ์—ฐ๋™ํ•˜๊ณ  Shelve๋ฅผ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ปค๋ฐ‹ ํ—ค๋”์™€ Shelf ์ œ๋ชฉ์ด JIRA ์ด์Šˆ ๋ฒˆํ˜ธ๋ฅผ ํฌํ•จํ•˜์—ฌ ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜์–ด ์‚ฌ์šฉ์„ฑ๊ณผ ๊ฐ€๋…์„ฑ์ด ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

 

 

4. ์ฝ”ํŒŒ์ผ๋Ÿฟ

GitHub Copilot์€ 2021๋…„์— GitHub์—์„œ ์ถœ์‹œํ•œ ์„œ๋น„์Šค๋กœ, ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ AI๊ฐ€ ๋ถ„์„ํ•˜์—ฌ ๋‹ค์Œ์— ์ž‘์„ฑํ•  ์ฝ”๋“œ๋ฅผ ์ž๋™์œผ๋กœ ์™„์„ฑํ•ด ์ œ์•ˆํ•ด ์ฃผ๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ํŠนํžˆ ๋‹จ์ˆœ DTO ๋ณ€ํ™˜์„ ์œ„ํ•œ ๋ฐ˜๋ณต์ ์ธ ํŒฉํ† ๋ฆฌ ๋กœ์ง ์ž‘์„ฑ์ด๋‚˜, ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ, ๋ณ€์ˆ˜๋ช… ๋“ฑ์œผ๋กœ ๊ณ ๋ฏผํ•˜๊ณ  ์žˆ์„ ๋•Œ ๋จผ์ € ์ œ์•ˆํ•ด ์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์ด์ „์— ๋น„ํ•ด ์ฝ”๋“œ ์ƒ์‚ฐ์„ฑ์ด ํฌ๊ฒŒ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋น„๋ก ์œ ๋ฃŒ์ด๊ธด ํ•˜์ง€๋งŒ ๊ณ„์ •๋‹น 60์ผ ๋™์•ˆ ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ˆ ํ•œ๋ฒˆ ์‚ฌ์šฉํ•ด ๋ณด๊ณ  ๊ฐ€์น˜๋ฅผ ์ง์ ‘ ํŒ๋‹จํ•ด ๋ณด์‹œ๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.(์ €๋Š” ํšŒ์‚ฌ์—์„œ ์ง€์›ํ•ด์ฃผ๊ธด ํ•˜์ง€๋งŒ, ์ง€์›์ด ๋Š๊ธฐ๋‹ค๋ฉด ๊ฐœ์ธ์ ์œผ๋กœ ๊ฒฐ์ œํ•˜์—ฌ ์‚ฌ์šฉํ•  ์˜ํ–ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.)

https://plugins.jetbrains.com/plugin/17718-github-copilot

 

 

5. AWS Toolkit

AWS Toolkit์„ ์‚ฌ์šฉํ•˜๋ฉด ์ธํ…”๋ฆฌ์ œ์ด์—์„œ ์ž๊ฒฉ ์ฆ๋ช… ํŒŒ์ผ(credential file)์„ ์ด์šฉํ•˜์—ฌ AWS ๊ด€๋ จ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ Lambda๋‚˜ S3 ๊ฐ™์€ ์„œ๋น„์Šค์— ์ธํ…”๋ฆฌ์ œ์ด ๋‚ด์—์„œ ์ง์ ‘ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜์—ฌ ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ์ด ํฌ๊ฒŒ ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค.

์—ฐ๊ฒฐ ๋ถ€๋ถ„์€ IntelliJ IDEA์—์„œ AWS ํ™œ์šฉํ•˜๊ธฐ์— ์ž์„ธํ•˜๊ฒŒ ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

6. ๊ธฐํƒ€ ํ”Œ๋Ÿฌ๊ทธ์ธ๋“ค

Rainbow Brackets

depth๋ณ„๋กœ ๊ด„ํ˜ธ์— ๋‹ค์–‘ํ•œ ์ƒ‰๊น”์„ ๋ถ€์—ฌํ•จ์œผ๋กœ์จ ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ์ด ํฌ๊ฒŒ ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค.

 

CodeGlance

์ฝ”๋“œ ํŒŒ์ผ์˜ ์ „์ฒด์ ์ธ ๊ตฌ์กฐ๋ฅผ ํ•œ๋ˆˆ์— ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ฏธ๋‹ˆ๋งต์„ ์ƒ์„ฑํ•ด ์ค๋‹ˆ๋‹ค. ํŒŒ์ผ์˜ ์ฝ”๋“œ ๊ธธ์ด๊ฐ€ ๊ธด ๊ฒฝ์šฐ, ์Šคํฌ๋กค์ด ๊ธธ์–ด์ง€๋Š” ๋ฒˆ๊ฑฐ๋กœ์›€์„ ํ•ด์†Œํ•˜๊ณ  ์›ํ•˜๋Š” ๋ถ€๋ถ„์œผ๋กœ ์†์‰ฝ๊ฒŒ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

https://www.oliverspryn.com/blog/5-intellij-plugins-for-pros

 

Atom Material Icons

ํŒจํ‚ค์ง€์™€ ํŒŒ์ผ๋“ค์— ์šฉ๋„๋ณ„๋กœ ๋‹ค์–‘ํ•œ ์•„์ด์ฝ˜ ์ด๋ฏธ์ง€๋ฅผ ๋ถ€์—ฌํ•˜์—ฌ ํŒŒ์ผ๊ณผ ํŒจํ‚ค์ง€์˜ ์—ญํ• ์„ ์‹œ๊ฐ์ ์œผ๋กœ ๋” ์‰ฝ๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ขŒ์ธก์ด ์ ์šฉ๋œ ์ด๋ฏธ์ง€

 

GitToolbox

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

๋Œ“๊ธ€