Notice
Recent Posts
Link
Today
Total
07-07 13:42
๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก์ „์ฒด ๊ธ€ (74)

dingdong coding

Node๋ž€

๋…ธ๋“œ์˜ ์ •์˜ ์„œ๋ฒ„๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋Ÿฐํƒ€์ž„. ์ž๋ฐ”์Šคํฌ๋ฆฝ๋“œ๋กœ ๋งŒ๋“  ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฐ€์ƒ๋จธ์‹ ์œผ๋กœ์„œ ์„œ๋ฒ„์‹คํ–‰์„ ์œ„ํ•ด http/https/http2 ๋ชจ๋“ˆ์ œ๊ณต ๋‹ค๋ฅธ ๋Ÿฐํƒ€์ž„์˜ ์˜ˆ์‹œ๋กœ๋Š” ์›น๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์žˆ๋‹ค. ๋…ธ๋“œ์˜ ํŠน์ง• 1) ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ๋ฏธ๋ฆฌ ์ง€์ •ํ•ด์ค€ ์ง์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ์‹ • ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ : ์ด๋ฒคํŠธ๋ฅผ ๋“ฑ๋กํ•˜๋Š” ํ•จ์ˆ˜ • ์ฝœ๋ฐฑํ•จ์ˆ˜ : ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์‹คํ–‰๋  ํ•จ์ˆ˜ ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜ | Eventarc | Google Cloud ์˜๊ฒฌ ๋ณด๋‚ด๊ธฐ ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜ ์ปฌ๋ ‰์…˜์„ ์‚ฌ์šฉํ•ด ์ •๋ฆฌํ•˜๊ธฐ ๋‚ด ํ™˜๊ฒฝ์„ค์ •์„ ๊ธฐ์ค€์œผ๋กœ ์ฝ˜ํ…์ธ ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ถ„๋ฅ˜ํ•˜์„ธ์š”. ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜๋Š” ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๊ฐ€ ์ด๋ฒคํŠธ๋ผ๊ณ  ํ•˜๋Š” ์ƒํƒœ ๋ณ€ํ™”์— cloud.google.com 2) ๋…ผ๋ธ”๋กœํ‚น I/O ๋…ผ๋ธ”๋กœํ‚น..

๐ŸŒฟNode.js 2023. 1. 22. 19:16
Git ๋ช…๋ น์–ด ๊ฐ„๋‹จ ์ •๋ฆฌ ( feat. Sync ๋งž์ถ”๊ธฐ )

remote branch : ์›๊ฒฉ ์ €์žฅ์†Œ์— ์žˆ๋Š” ๋ธŒ๋žœ์น˜ - ์›๊ฒฉ์ €์žฅ์†Œ๋ฅผ clone ํ•˜๋ฉด ์ž๋™์œผ๋กœ ์›๊ฒฉ ์ €์žฅ์†Œ ์ด๋ฆ„์€ origin - origin์›๊ฒฉ ์ €์žฅ์†Œ์˜ master ๋ธŒ๋žœ์น˜๋Š” origin/master ๋กœ ํ‘œ์‹œ • ์›๊ฒฉ ์ €์žฅ์†Œ(Remote Repository) ํŒŒ์ผ์ด ์›๊ฒฉ ์ €์žฅ์†Œ ์ „์šฉ ์„œ๋ฒ„์—์„œ ๊ด€๋ฆฌ๋˜๋ฉฐ ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ํ•จ๊ป˜ ๊ณต์œ ํ•˜๊ธฐ ์œ„ํ•œ ์ €์žฅ์†Œ • ๋กœ์ปฌ ์ €์žฅ์†Œ(Local Repository) ๋‚ด PC์— ํŒŒ์ผ์ด ์ €์žฅ๋˜๋Š” ๊ฐœ์ธ ์ „์šฉ ์ €์žฅ์†Œ โ€ป ์›๊ฒฉ๊ณผ ์ง€์—ญ ์ €์žฅ์†Œ์˜ ์ปค๋ฐ‹์€ ๋…๋ฆฝ์  git branch –r - ์›๊ฒฉ ๋ธŒ๋žœ์น˜ ์ •๋ณด ํ™•์ธ git branch -a - ๋ชจ๋“  (์›๊ฒฉ/์ง€์—ญ) ๋ธŒ๋žœ์น˜ ์ •๋ณด ํ™•์ธ git fetch, git pull (๋ณดํ†ต fetch ํ•œ ํ›„์— pull ๋ฐ›์Œ) - ์›๊ฒฉ ์ €์žฅ์†Œ์˜ ์ตœ์‹  ๋‚ด์šฉ์„ ๊ฐ€์ ธ์˜ด ..

๐Ÿ–ค GIT 2022. 8. 23. 15:11
2022 ์ทจ์ค€ ๋ฐ ์ž…์‚ฌ ๋Š๋‚€์ 

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

โœ๏ธRetrospect/ETC 2022. 8. 21. 20:58
[ JAVA ] Reflection

Reflection์˜ ๊ฐœ๋…์„ ์ดํ•ดํ•˜๋Š” ๋ชฉ์ ์œผ๋กœ ํฌ์ŠคํŒ…์„ ์ž‘์„ฑํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. Reflection : ๊ตฌ์ฒด์ ์ธ ํด๋ž˜์Šค ํƒ€์ž…์„ ์•Œ์ง€ ๋ชปํ•ด๋„, ๊ทธ ํด๋ž˜์Šค์˜ ๋ฉ”์†Œ๋“œ, ํƒ€์ž…, ๋ณ€์ˆ˜๋“ค์„ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” Java API : ์ปดํŒŒ์ผ ์‹œ๊ฐ„์ด ์•„๋‹Œ ์‹คํ–‰ ์‹œ๊ฐ„์— ๋™์ ์œผ๋กœ ํŠน์ • ํด๋ž˜์Šค ์ •๋ณด๋ฅผ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ฒ• Framework, IDE์—์„œ ๋™์ ๋ฐ”์ธ๋”ฉ ๊ธฐ๋Šฅ ์ œ๊ณต(ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘ ๋™์ ์œผ๋กœ ํด๋ž˜์Šค ์ •๋ณด ๊ฐ€์ ธ์™€์„œ ์‚ฌ์šฉ) ex) IntelliJ ์ž๋™์™„์„ฑ, Spring Framework Annotation ๋“ฑ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ์–ด๋–ค ํƒ€์ž…์˜ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ• ์ง€ ๋ชจ๋ฅด๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ์ด๋Ÿด ๋•Œ ๋ฆฌํ”Œ๋ ‰์…˜์„ ์‚ฌ์šฉํ•˜๊ณ  ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด ๋Ÿฐํƒ€์ž„์— ํ˜„์žฌ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ํด๋ž˜์Šค๋ฅผ ๊ฐ€์ ธ์™€์„œ ์‹คํ–‰ํ•ด์•ผ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰, ๋ฆฌํ”Œ๋ ‰์…˜์€ ๊ฐ์ฒด๋ฅผ ํ†ต..

๐ŸฐJAVA/Basic 2022. 7. 24. 16:33
[ Web, Network ] ๊ด€๋ จ ์šฉ์–ด ์ •๋ฆฌ ( ๊ฐœ์ธ ํ•™์Šต์šฉ )

Protocol ์–ด๋–ค ์‹œ์Šคํ…œ์ด ๋‹ค๋ฅธ ์‹œ์Šคํ…œ๊ณผ ํ†ต์‹ ์„ ์›ํ™œํ•˜๊ฒŒ ์ˆ˜์šฉํ•˜๋„๋ก ํ•ด์ฃผ๋Š” ํ†ต์‹  ๊ทœ์•ฝ, ์•ฝ์† IP ์ „ ์„ธ๊ณ„ ์ปดํ“จํ„ฐ์— ๋ถ€์—ฌ๋œ ๊ณ ์œ ์˜ ์‹๋ณ„ ์ฃผ์†Œ Port ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ˜ธ์ŠคํŠธ ๋‚ด๋ถ€์ ์œผ๋กœ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ• ๋‹น๋ฐ›์•„์•ผ ํ•˜๋Š” ๊ณ ์œ ํ•œ ์ˆซ์ž. ํ•œ ํ˜ธ์ŠคํŠธ ๋‚ด์—์„œ ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์„ ํ•˜๊ณ  ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๊ฐ’์ด๋ฏ€๋กœ, ๊ฐ™์€ ํ˜ธ์ŠคํŠธ ๋‚ด์—์„œ ์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ฐ™์€ ํฌํŠธ ๋„˜๋ฒ„๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์—†๋‹ค. ์ฆ‰, ๊ฐ™์€ ์ปดํ“จํ„ฐ ๋‚ด์—์„œ ํ”„๋กœ๊ทธ๋žจ์„ ์‹๋ณ„ํ•˜๋Š” ๋ฒˆํ˜ธ. Socket • ์†Œ์ผ“ ์€ ๋„คํŠธ์›Œํฌ์—์„œ ์‹คํ–‰๋˜๋Š” ๋‘ ํ”„๋กœ๊ทธ๋žจ ๊ฐ„์˜ ์–‘๋ฐฉํ–ฅ ํ†ต์‹  ๋งํฌ์˜ ํ•œ ๋์ ์ž…๋‹ˆ๋‹ค. ํฌํŠธ ๋ฒˆํ˜ธ์— ๋ฐ”์ธ๋”ฉ๋˜์–ด TCP ๊ณ„์ธต์ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ( ํ”„๋กœํ† ์ฝœ, IP์ฃผ์†Œ, ํฌํŠธ ๋„˜๋ฒ„๋กœ ์ •์˜ ๋จ ) • ๋–จ์–ด์ ธ ..

๐ŸŒˆWeb & Network 2022. 7. 13. 18:32
[ Linux ] Linux, ๊ธฐ๋ณธ ๋ช…๋ น์–ด ์ •๋ฆฌ

Linux • 1991๋…„ Linus Torvals๊ฐ€ ๊ฐœ๋ฐœํ•œ ์˜คํ”ˆ์†Œ์Šค ์šด์˜์ฒด์ œ(Operating System, OS) • Unix ์šด์˜์ฒด์ œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ์šด์˜์ฒด์ œ๋กœ ์œ ๋‹‰์Šค ํด๋ก  ์šด์˜์ฒด์ œ • ํฌ๊ฒŒ ์ปค๋„, ์…ธ, ๋””๋ ‰ํ† ๋ฆฌ๋กœ 3๊ฐ€์ง€๋กœ ๊ตฌ์„ฑ ** OS, Operating System ** CPU, Memory, ์Šคํ† ๋ฆฌ์ง€์ฒ˜๋Ÿผ ์‹œ์Šคํ…œ์˜ ํ•˜๋“œ์›จ์–ด์™€ ๋ฆฌ์†Œ์Šค๋ฅผ ์ง์ ‘ ๊ด€๋ฆฌํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ํ•˜๋“œ์›จ์–ด ์‚ฌ์ด์—์„œ ๋ชจ๋“  ์†Œํ”„ํŠธ์›จ์–ด์™€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฌผ๋ฆฌ์ ์ธ ๋ฆฌ์†Œ์Šค๋ฅผ ์—ฐ๊ฒฐ 1 ) ์ปค๋„ kernel ์šด์˜์ฒด์ œ์˜ ์ฃผ์š” ๊ตฌ์„ฑ์š”์†Œ๋กœ์จ ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด์™€ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ด์–ด์ฃผ๋Š” ํ•ต์‹ฌ ์ธํ„ฐํŽ˜์ด์Šค ์ž…๋‹ˆ๋‹ค. ์ฃผ๋กœ ๋ฉ”๋ชจ๋ฆฌ๊ด€๋ฆฌ, ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ, ์žฅ์น˜ ๋“œ๋ผ์ด๋ฒ„ ๊ด€๋ฆฌ, ์‹œ์Šคํ…œ ํ˜ธ์ถœ ๋ฐ ๋ณด์•ˆ ๋“ฑ ์ปดํ“จํ„ฐ์˜ ๋ชจ๋“  ์ž์›์„ ์ดˆ๊ธฐํ™”ํ•˜๊ณ  ์ œ์–ดํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ˆ˜..

๐ŸงLinux 2022. 7. 13. 14:40
[ OS ] ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ Process, Thread

1 ) ํ”„๋กœ์„ธ์Šค Process In computing, a process is the instance of a computer program that is being executed by one or many threads. ์ปดํ“จํ„ฐ ๋ถ„์•ผ์—์„œ ํ”„๋กœ์„ธ์Šค๋Š” ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋žจ์˜ ์ธ์Šคํ„ด์Šค๋กœ, ํ•˜๋‚˜ ์ด์ƒ์˜ ์Šค๋ ˆ๋“œ๋ฅผ ํ†ตํ•ด ์‹คํ–‰๋œ๋‹ค. - ์œ„ํ‚ค - ํ”„๋กœ์„ธ์Šค๋ฅผ ํ•œ๋งˆ๋””๋กœ ์ •์˜ํ•˜๋ฉด ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ (A program in execution) ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ํ”„๋กœ๊ทธ๋žจ์ด ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์™€ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ๋Šฅ๋™์ ์ธ ์กด์žฌ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์ •์ƒ์ ์ธ ์‹คํ–‰์„ ์œ„ํ•ด ์šด์˜์ฒด์ œ๋กœ๋ถ€ํ„ฐ CPU(์‹œ์Šคํ…œ ์ž์›)๋ฅผ ํ• ๋‹น๋ฐ›์•„ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ: ์–ด๋–ค ์ž‘์—…์„ ํ•˜๊ธฐ ์œ„ํ•ด ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํŒŒ์ผ ๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ (์ •์ ์ธ ์ƒํƒœ) ํ”„๋กœ์„ธ์Šค: ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋˜๊ณ  CPU ์ž..

๐ŸŒˆWeb & Network 2022. 7. 12. 01:56
Swagger๋กœ ๊ฐ„๋‹จํ•œ REST API ๋ช…์„ธ

Swagger ์Šค์›จ๊ฑฐ(Swagger)๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ REST ์›น์„œ๋น„์Šค๋ฅผ ์„ค๊ณ„, ๋นŒ๋“œ, ๋ฌธ์„œํ™”, ์†Œ๋น„ํ•˜๋Š” ์ผ์„ ๋„์™€์ฃผ๋Š” ๋Œ€ํ˜• ๋„๊ตฌ ์ƒํƒœ๊ณ„์˜ ์ง€์›์„ ๋ฐ›๋Š” ์˜คํ”ˆ์†Œ์Šค ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋ ˆ์ž„์›Œํฌ์ด๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ์šฉ์ž๋“ค์€ ์Šค์›จ๊ฑฐ UI ๋„๊ตฌ๋ฅผ ํ†ตํ•ด ์Šค์›จ๊ฑฐ๋ฅผ ์‹๋ณ„ํ•˜๋ฉฐ ์Šค์›จ๊ฑฐ ํˆด์…‹์—๋Š” ์ž๋™ํ™”๋œ ๋ฌธ์„œํ™”, ์ฝ”๋“œ ์ƒ์„ฑ, ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ƒ์„ฑ ์ง€์›์ด ํฌํ•จ๋œ๋‹ค. - ์œ„ํ‚ค - ์ฆ‰, ์Šค์›จ๊ฑฐ๋Š” ๋Œ€ํ‘œ์ ์ธ API ๊ด€๋ฆฌ ๋„๊ตฌ๋กœ ๊ฐœ๋ฐœํ•œ RESP API ๋„๊ตฌ๋ฅผ ํŽธ๋ฆฌํ•˜๊ฒŒ ๋ฌธ์„œํ™”ํ•ด์ฃผ๋ฉฐ ํŽธ๋ฆฌํ•˜๊ฒŒ API๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  ํ…Œ์ŠคํŠธ ํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. • OpenAPI๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ • API๋“ค์ด ๊ฐ–๊ณ  ์žˆ๋Š” ๋ช…์„ธ์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋Š” Tool • API ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉ์ž์—๊ฒŒ ์•Œ๋ ค์ฃผ๋Š” ๋ฌธ์„œ ๊ณต์‹ ์‚ฌ์ดํŠธ : https://swagger.io/ Swagger ๊ธฐ๋Šฅ ..

๐Ÿ“‘API/SwaggerHub 2022. 7. 11. 21:08
[ MySQL ] ๊ธฐ๋ณธ ์ฟผ๋ฆฌ๋ฌธ ์ •๋ฆฌ

SQL (Structured Query Language) • SQL์€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ๋”ฐ๋ฅด๋Š” DBMS์˜ ํ‘œ์ค€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์–ธ์–ด • ๊ด€๊ณ„ ๋Œ€์ˆ˜๋ฅผ ๊ธฐ์ดˆ๋กœ ๋งŒ๋“œ๋Ÿฌ์ง„ DB๊ด€๋ จ ๋ช…๋ น์–ด ํ˜•์‹ SQL ๋ช…๋ น์–ด ๋ถ„๋ฅ˜ 1 ) ๋ฐ์ดํ„ฐ ์ •์˜์–ด DDL, Data Definition Language - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋‚˜ ํ…Œ์ด๋ธ” ๋“ฑ์„ ์ƒ์„ฑ, ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ๊ทธ ๊ตฌ์กฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ธฐ ์œ„ํ•œ ๋ช…๋ น์–ด - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ •์˜ํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ • - ๋ช…๋ น์–ด ์ˆ˜ํ–‰์‹œ ์ด์ „ ์ƒํƒœ๋กœ ๋ณต๊ท€ ๋ถˆ๊ฐ€ ๊ตฌ๋ถ„ DDL ๋ช…๋ น์–ด ๋‚ด์šฉ ์ƒ์„ฑ CREATE ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์˜ค๋ธŒ์ ํŠธ ์ƒ์„ฑ ๋ณ€๊ฒฝ ALTER ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์˜ค๋ธŒ์ ํŠธ ๋ณ€๊ฒฝ ์‚ญ์ œ DROP ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์˜ค๋ธŒ์ ํŠธ ์‚ญ์ œ TRUNCATE ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์˜ค๋ธŒ์ ํŠธ์˜ ๋‚ด์šฉ ์‚ญ์ œ 2 ) ๋ฐ์ดํ„ฐ ์กฐ์ž‘์–ด DML, Data Manipulation Langu..

๐ŸฌDB 2022. 7. 7. 02:39
Strategy Pattern

ํ•„์š”์„ฑ ๋จผ์ € Strategy Pattern์„ ์™œ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š”์ง€์— ๋Œ€ํ•ด ์˜ˆ๋ฅผ ๋“ค์–ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋กœ๋ด‡(Robot) ์„ค๊ณ„๋„์— ๋”ฐ๋ผ ์•„ํ†ฐ(Atom)๊ณผ ํƒœ๊ถŒ๋ธŒ์ด(TaekwonV)๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ํƒœ๊ถŒ๋ธŒ์ด์™€ ์•„ํ†ฐ์€ ๊ณตํ†ต์ ์œผ๋กœ ๊ณต๊ฒฉ๊ณผ ์ด๋™ ๊ธฐ๋Šฅ์ด ์žˆ์ง€๋งŒ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๋กœ๋ด‡ ํด๋ž˜์Šค์—์„œ attack์™€ move๋ฉ”์„œ๋“œ๋ฅผ ์ถ”์ƒ๋ฉ”์„œ๋“œ๋กœ ์„ค์ •ํ•ด ์ž์‹ ํด๋ž˜์Šค์—์„œ ์ •์˜ํ•˜๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ณต๊ฒฉ ์ด๋™ ํƒœ๊ถŒ๋ธŒ์ด ๋ฏธ์‚ฌ์ผ ๊ณต๊ฒฉ ๊ฑท๊ธฐ ์•„ํ†ฐ ์ฃผ๋จน ๊ณต๊ฒฉ ํ•˜๋Š˜ ๋‚ ์•„๋‹ค๋‹ˆ๊ธฐ ๊ทธ๋Ÿฌ๋‹ค ํ•˜๋Š˜๋กœ ๋‚ ์•„๋‹ค๋‹ˆ๋˜ ์•„ํ†ฐ์ด ๊ฐ‘์ž๊ธฐ ๊ฑท๊ธฐ๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์•„ํ†ฐ์˜ move() ๋ฉ”์„œ๋“œ๋ฅผ ์ˆ˜์ •ํ•ด์ฃผ๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๋ฌธ์ œ์ ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ง์ ‘ move( )๋ฉ”์„œ๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ์ž‘์—…์€ OCP (Open/Close Principle)์— ์œ„๋ฐฐ๋˜๋Š” ์ž‘์—…๋‹ˆ๋‹ค. ..

๐ŸฐJAVA/Design Pattern 2022. 7. 6. 02:09