โœ๏ธ ์ฃผ๊ฐ„ ๊ณต๋ถ€ ๋‚ด์šฉ ์š”์•ฝ

์งง์€ SQL ์‹œ๊ฐ„์„ ๋๋‚ด๊ณ , ์‹ค์Šต ํ•œ ๋ฒˆ ํ•ด๋ณด๊ณ  ์„œ๋ฒ„ ์ˆ˜์—…์œผ๋กœ ๋“ค์–ด๊ฐ„ ๋“ฏ ํ•˜๋‹ค. WAS ์—ญํ• ์„ ํ•ด์ฃผ๋Š”  Tomcat ์„œ๋ฒ„์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ–ˆ๊ณ , java๋กœ htmlํŒŒ์ผ์„ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์› ๋‹ค. 


[1.15.์›”์š”์ผ]
- ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง 

 

[1.16.ํ™”์š”์ผ]
- ํ”„๋กœ์ ํŠธ์—์„œ JDBC ์ž‘์—…(์‹ค์ œ๋กœ DBMS์™€ ํ†ต์‹ ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์—ญํ•  ๋‹ด๋‹น)

- DAO (์‹ค์ œ๋กœ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•˜๋Š” ๊ฐ์ฒด)

- lombok ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ
- Properties ๊ฐ์ฒด, Connection ๊ฐ์ฒด

 

[1.17.์ˆ˜์š”์ผ]

- JDBC ํ”„๋กœ์ ํŠธ ์ง„ํ–‰

 

[1.18.๋ชฉ์š”์ผ]

- ์„œ๋ฒ„ ๊ฐœ๋ฐœ ์‹œ์ž‘

- Servlet
- Tomcat ์›น ์„œ๋ฒ„
- Web Server, WAS ์ฐจ์ด

 

[1.19.๊ธˆ์š”์ผ]
- ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด
- Servlet ์‹ค์Šต

- ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ ์ฑ…

 

๐Ÿง  Web Server / WAS

์ •์ ์ธ ์š”์ฒญ์€ Web ์„œ๋ฒ„, ๋™์ ์ธ ์š”์ฒญ์€ WAS

 

๐Ÿง Servlet

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์–ด๋–ค ์š”์ฒญ์„ ํ•˜๋ฉด ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์‹œ ์ „์†กํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„์—์„œ ๋™์ž‘ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ๊ตฌํ˜„์‹œ ์‚ฌ์šฉํ•˜๋ฉฐ, Servlet์€ ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์— ๋”ฐ๋ผ ์„œ๋ฒ„๊ฐ€ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ์ž๋ฐ” ํŒŒ์ผ์ด๋‹ค. Servlet API๋ฅผ ํ†ตํ•ด ์ œ๊ณต๋ฐ›์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ตฌํ˜„์„ ์œ„ํ•ด์„œ๋Š” HttpServlet์„ ์ƒ์† ๋ฐ›์œผ๋ฉด ๋œ๋‹ค. 

 

 

Servlet

์ž๋ฐ”ํŒŒ์ผ์—์„œ javax.servlet.Servlet ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•ด์„œ ์ž‘์„ฑ spring์ด servlet stack๊ธฐ๋ฐ˜ ๊ธฐ์ˆ ์ด๋‹ค. ๊ทธ๋ž˜์„œ ์ž˜ ์•Œ์•„๋†“์•„์•ผํ•œ๋‹ค. servlet ์ŠคํŽ™์„ ๊ตฌํ˜„ํ•œ Tomcat ์›น ์„œ๋ฒ„๋ฅผ ์„ค์น˜ํ•˜์—ฌ ํ™œ์šฉ ๊ฐ€๋Šฅ Servlet์ด๋ž€ ํด

jieum.tistory.com

 

๐Ÿง Apache Tomcat

JavaEE & Jakarta EE platform์ด ์š”๊ตฌํ•˜๋Š” ์ŠคํŽ™์„ ๊ตฌํ˜„ํ•œ ๊ตฌํ˜„์ฒด

tomcat์€ ๋‚ด์žฅ๊ธฐ๋Šฅ์œผ๋กœ web server, was ๋‚ด์žฅ

 

 

Tomcat

Web Server ํด๋ผ์ด์–ธํŠธ๊ฐ€ GET, POST ๋“ฑ์˜ ๋ฉ”์†Œ๋“œ๋ฅผ ์ด์šฉํ•ด ์ „์†กํ•œ ์š”์ฒญ์„ ๋ฐ›์•„ HTML์ด๋‚˜ ์˜ค๋ธŒ์ ํŠธ๋ฅผ HTTP ํ”„๋กœํ† ์ฝœ์„ ์ด์šฉํ•ด ์ „์†กํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. ์›น ์„œ๋ฒ„๋Š” ์›นํŽ˜์ด์ง€, ์ด๋ฏธ์ง€ ๋“ฑ ์ •์ ์ธ ์ปจํ…์ธ ๋งŒ ์ œ

jieum.tistory.com

 

๐Ÿ“์ด๋ฒˆ์ฃผ ํšŒ๊ณ ์™€ ๋‹ค์Œ์ฃผ ๊ณ„ํš

์ด๋ฒˆ์ฃผ๋Š” ํ† ์ต ์ธ๊ฐ•์„ ๋“ฃ๊ธฐ ์‹œ์ž‘ํ•ด์„œ, ์ง‘๊ฐ€๋ฉด ๋ฌด์กฐ๊ฑด ํ† ์ต์ด์—ˆ๋‹ค. ์ถ”๊ฐ€๋กœ ์ž๋ฐ”๋ž‘ ์Šคํ”„๋ง ๊ณต๋ถ€ ๋” ํ•˜๊ณ ์‹ถ์€๋ฐ ์ถ”๊ฐ€์ ์ธ ์‹œ๊ฐ„ ๋‚ด๊ธฐ๊ฐ€ ์–ด๋ ค์› ๋‹ค. ์šด๋™ ์ฃผ 2ํšŒ, ๋งค์ผ ์˜์–ด ๊ณต๋ถ€, ์ฝ”ํ…Œ.. ๋‹ค์Œ์ฃผ๋Š” ์ž ์„ ์ข€ ์ค„์–ด์•ผ๊ฒ ๋‹ค.

โœ๏ธ ์ฃผ๊ฐ„ ๊ณต๋ถ€ ๋‚ด์šฉ ์š”์•ฝ

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

 

[1.9.์›”์š”์ผ]
- ์ €๋ฒˆ์ฃผ์ฐจ ์ฝ˜์†” ์•ฑ ๊ตฌํ˜„ ํ”„๋กœ์ ํŠธ ๋ฆฌํŒฉํ† ๋งํ•˜๊ณ  ์ด์Šˆ๋‚จ๊ธฐ๊ธฐ
- ์ž๋ฐ” ๋žŒ๋‹ค์‹, ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค, ์ œ๋„ˆ๋ฆญ, ์ปฌ๋ ‰์…˜, JUnit
 
[1.10.ํ™”์š”์ผ]
- java logger api ์‚ฌ์šฉ ์‹ค์Šต
- ๋””์ž์ธ ํŒจํ„ด(Facade)
- ์ดํด๋ฆฝ์Šค build path classpath๋กœ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€ ๋ฐ ์ œ๊ฑฐ
 
[1.10.์ˆ˜์š”์ผ]
- logger ํ”„๋ ˆ์ž„ ์›Œํฌ SLF4J ์‹ค์Šต
- ๋””์ž์ธ ํŒจํ„ด(Builder)
- ์ง์ ‘ builder ํŒจํ„ด์œผ๋กœ ๊ตฌํ˜„
 
[1.11.๋ชฉ์š”์ผ]
- SQL ์‹œ์ž‘
- MYSQL ์„ค์น˜ ๋ฐ ์‹ค์Šต ์‹œ์ž‘
- ์ˆ˜์—…์— ์‚ฌ์šฉํ•˜๋Š” ์ฑ… <๋Ÿฌ๋‹SQL>
 
[1.12.๊ธˆ์š”์ผ]
- SQL๋ฌธ ์ž‘์„ฑ
- DML SELECT๋ฌธ WHERE์ ˆ, ์„œ๋ธŒ์ฟผ๋ฆฌ ํ™œ์šฉ
- DDL ์ž‘์„ฑ
 
 

๐Ÿง Logging

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

 

Logging | SLF4J

Logging ๋กœ๊น…์ด๋ž€ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘์— ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜์— ๋Œ€ํ•ด ๋””๋ฒ„๊น…ํ•˜๊ฑฐ๋‚˜ ์šด์˜ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์„ ๋ชจ๋‹ˆํ„ฐ๋ง ํ•˜๊ธฐ ์œ„ํ•ด ๋กœ๊ทธ๋ฅผ ๊ธฐ๋กํ•˜๋Š” ๊ฒƒ. ์ฝ˜์†”์— ์ถœ๋ ฅํ•˜๊ฑฐ๋‚˜ ํŒŒ์ผ ๋“ฑ์— ์ „๋‹ฌํ•˜์—ฌ ์ €์žฅํ•˜๋Š” ํ–‰์œ„ S

jieum.tistory.com

 

๐Ÿง ๋””์ž์ธํŒจํ„ด

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

๐Ÿง Facade ํŒจํ„ด

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

 

Java logging facades and bridges

Making sense of seemingly complicated java logging dependencies

deepakvadgama.com

 

๐Ÿง Builer ํŒจํ„ด

- ๊ฐ์ฒด์˜ ์ƒ์„ฑ์— ๋Œ€ํ•œ ํŒจํ„ด
- ์ƒ์„ฑ์‹œ ์ง€์ •ํ•ด์•ผํ•  ์ธ์ž๊ฐ€ ๋งŽ์„ ๋•Œ ์‚ฌ์šฉ(๋ณต์žกํ•œ ๊ตฌ์„ฑ์˜ ๊ฐ์ฒด๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์ƒ์„ฑํ•˜๋Š” ํŒจํ„ด)
- ๊ฐ์ฒด ์ƒ์„ฑ ์‹œ ์—ฌ๋Ÿฌ ๋‹จ๊ฒŒ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ๊ฑฐ์น  ๋•Œ, ์ด ๋‹จ๊ณ„์˜ ์ˆœ์„œ๋ฅผ ๊ฒฐ์ •ํ•ด๋‘๊ณ  ๊ฐ ๋‹จ๊ณ„๋ฅผ ๋‹ค์–‘ํ•˜๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

public class Person {
	new Person() // ๊ธฐ๋ณธ ์ƒ์„ฑ์ž
	new Person(6, "yoo") // ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์žˆ๋Š” ์ƒ์„ฑ์ž   
    	new Person(6, "yoo", "010-1234-1234")
    ...
}

// ์ ์ธต์  ์ƒ์„ฑ์ž ํŒจํ„ด

 (์ „) ์–ด๋–ค ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋„˜๊ธฐ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๊ณ , ๋ณต์žกํ•ด๋ณด์ธ๋‹ค.

public class Person {
	Person person = new PersonBuiler.name('Yoo')
                        .age(20)
                        .number('010-1234-5678')
                        .build()
    ...
}

(ํ›„) ๋ช…์‹œ์ ์œผ๋กœ ์ž‘์„ฑํ•ด์„œ ๊ฐ€๋…์„ฑ์ด ์ข‹์•„์กŒ๋‹ค.
 
 
 

๐Ÿง java ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ

์ดํด๋ฆฝ์Šค์—์„œ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๋‚ด์šฉ์„ ํ’€ ๋ฐ›์œผ๋ฉด ์ž๋ฐ” ํŒŒ์ผ์ด ๊ณ„์† ์‹คํ–‰ ๋˜์ง€์•Š๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค. ์ด๋•Œ ์ œ๋Œ€๋กœ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฒ„์ „์„ ์ฝ์ง€ ๋ชปํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ Java Build Path๋ฅผ ๊ณ„์† ๋“ค์–ด๊ฐ€์„œ Add Library์—์„œ ๊ณ„์† ๋ฒ„์ „์ด ๋งž๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ์–ด์•ผํ–ˆ๋‹ค. ์ข€ ๋” ์ดํ•ด๊ฐ€ ํ•„์š”ํ•œ ๋ถ€๋ถ„์ด๋‹ค.

  

 

Java๊ฐ€ ํŒŒ์ผ์„ ์ฝ๋„๋ก ํ•˜๋Š” ๋ฒ•

Maven Repository์—์„œ ํ•„์š”ํ•œ ๋ชจ๋“ˆ์„ ๊ฐ€์ ธ์™€์„œ ์จ์•ผํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ฒผ๋‹ค. ์ž๋ฐ”์—์„œ๋Š” ํ”„๋กœ์ ํŠธ์— ์–ด๋–ป๊ฒŒ ๋„ฃ์–ด์ค˜์•ผํ• ๊นŒ Build Path ์ž๋ฐ” ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๋ชจ๋“  ๋ฆฌ์†Œ์Šค ํŒŒ์ผ๋“ค์ด ๋ชจ์—ฌ์žˆ๋Š”

jieum.tistory.com

 

๐Ÿง SQL ์‹ค์Šต

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

mysql -uroot -p

show DATABASES;

CREATE DATABASE testDB;

use testDB;

CREATE TABLE person(
	id INT,
    nicname VARCHAR(20)
);

INSERT INTO person (id, nicname) VALUES (1, "Jone");


 


๐Ÿฝ๏ธ ์ฃผ๊ฐ„์‹์‚ฌ

๋ญ˜ ๋จน์–ด๋„ ์ž˜ ๋จน์ง€๋งŒ, ์นœ๊ตฌ๋“ค ๋”ฐ๋ผ๋‹ค๋‹ˆ๋ฉด์„œ ๋” ๋ง›์žˆ๋Š” ์ ์‹ฌ์„ ๋จน๊ณ  ์žˆ๋‹ค.
์ด๋ฒˆ์ฃผ ์ƒ์•”์—์„œ ๋ง›์žˆ๊ฒŒ ๋จน์—ˆ๋˜ ์‹์‚ฌ ๊ธฐ๋ก

 
์˜จ๋ˆ๋ถ€๋ฆฌ ๋ถ€ํƒ€๋™. ์ƒ์•” ํ‘ธ๋ฅด์ง€์˜ค์‹œํ‹ฐ 2์ธต ์žˆ๊ณ  ๊ฐ€๊ฒฉ์€ 11000์›
์‚ฌ์ผ€๋™์ง‘์ด๋ผ๊ณ  ํ•ด์„œ ๊ฐ”๋Š”๋ฐ ๋‹ค๋ฅธ ๋ฉ”๋‰ด๋ฅผ ์‹œ์ผœ๋ณด์•˜๋‹ค.
์ผ๋ฐ˜์ ์ธ ๋ถ€ํƒ€๋™์ด๋ž‘ ๊ณ ๊ธฐ ๋ชจ์–‘์ด ๋‹ค๋ฅด๊ธธ๋ž˜ ๊ถ๊ธˆํ–ˆ๋‹ค.
๋จน์–ด๋ณด๋‹ˆ ์•ฝ๊ฐ„ ๋งค์ฝคํ•ด์„œ ๋” ๋ง›์žˆ์—ˆ๋‹ค.


 
์„ ํ–ฅ์ • 1์ธ ์ƒค๋ธŒ์ƒค๋ธŒ ๋ง‘์€ํƒ•. ๋ˆ„๋ฆฌ๊ฟˆ์Šคํ€˜์–ด ์ง€ํ•˜1์ธต์— ์žˆ๋Š” 1์ธ ์ƒค๋ธŒ์ƒค๋ธŒ์ง‘
์ธ๋‹น 12000์›์— ์นผ๊ตญ์ˆ˜ ๋ณถ์Œ๋ฐฅ๊นŒ์ง€ ๋จน์„ ์ˆ˜ ์žˆ๋‹ค. ๋‹ค๋“ค ๋งŒ์กฑํ–ˆ๋˜ ๊ณณ.
 
 
 

๐Ÿ“์ด๋ฒˆ์ฃผ ํšŒ๊ณ ์™€ ๋‹ค์Œ์ฃผ ๊ณ„ํš

์ด๋ฒˆ์ฃผ ๊ฐ๊ธฐ๋ชธ์‚ด ์ด์Šˆ๋กœ ์ž ์„ ๋งŽ์ด ์ž๊ณ  ํœด์‹๊ธฐ๋ฅผ ๊ฐ€์กŒ๋‹ค. ๋น„ํƒ€๋ฏผ์„ ์ข…๋ฅ˜๋ณ„๋กœ ๋”ฐ๋กœ ๋จน๋Š”๊ฒŒ ๋ฌธ์ œ ๊ฐ™์•„์„œ ๋ณด์™„ํ•˜๊ณ ์ž ์ข…ํ•ฉ ๋น„ํƒ€๋ฏผ์œผ๋กœ ๋ฐ”๊ฟจ๋‹ค. ๊ทธ๋ž˜์„œ ๊ณต๋ถ€๋ฅผ ๋งŽ์ด ํ•˜์ง€๋Š” ๋ชปํ–ˆ๋‹ค. ๋‹ค์Œ์ฃผ ๋ชฉํ‘œ๋Š” ์ˆ˜์—… ์ž˜ ๋”ฐ๋ผ๊ฐ€๋ฉด์„œ ์ถ”๊ฐ€ ํ•™์Šต ์ž˜ํ•˜๊ณ , ์ฝ”ํ…Œ 1์ผ1์ž”๋”” ์‹ค์ฒœํ•˜๊ธฐ. ๊ฒฝํ—˜์ •๋ฆฌ ๋๋‚ด๊ธฐ)

+ Recent posts