๐ปBackend
[Java Web] 1. WAS (Web Application Server)
Java๋ก Servlet๊ธฐ๋ฐ Web Server๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ํ ๊ธ์ด๋ค.๋ก๊ทธ์ธ ์๋น์ค ์ ๊ณต ์๋ฒ ์ ์์ ๋ชฉํ๋ก ์์ฑํจ Spring framework๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋๋ฐ ์ ๊ตณ์ด ์ฐ์ง๋ ์๋ Servlet์ ์ฌ์ฉํด์ผํ๋์ง ์๋ฌธ์ด ๋ค ์ ์๋ค. ํ์ง๋ง Spring framework๋ Servlet์ ๊ธฐ๋ฐ์ผ๋ก ํ(frame)์ ์ ๊ณตํด์ค๋ฟ์ด๊ธฐ ๋๋ฌธ์ ๊ณต๋ถํ๋ค๋ณด๋ฉด ์ธ์ ๊ฐ Servlet์ด๋ผ๋ ๊ฐ๋ ์ ๋ง์ฃผํ๊ฒ ๋ ๊ฒ์ด๋ค. ๋ค์ ๋์์ ๊ณต๋ถํ๊ธฐ ๋ณด๋ค ํผํผํ ๊ธฐ์ด๋ฅผ ์๊ณ framework๋ฅผ ๊ณต๋ถํ์. ํ๋ก์ ํธ ํ๊ฒฝ๋ณธ๊ฒฉ์ ์ผ๋ก ํ๋ก์ ํธ๋ฅผ ์์ฑํ๊ธฐ ์์ ๊ฐ๋ฐ ํ๊ฒฝ๊ณผ ์ธํ ๊ฐ, ํจํค์ง ๊ตฌ์กฐ์ ๋ํด์ ์ดํด๋ณด์.ํ๋ก์ ํธ ์ค์ ์ด ์ต์ํ์ง ์๋ค๋ฉด ๋ค์ํ ๋ธ๋ก๊ทธ๋ฅผ ์ฐธ๊ณ ํ๋ฉด์ ๋์ผํ ํ๊ฒฝ ์ํ๋ฅผ ์ค์ ํด๋๋ ๊ฒ์ด ์ข๋ค.https:/..
[Java Web] Servlet Binding | Local/ Session Storage
ServerJava Servlet์์ ๊ด๋ฆฌํ๋ ์ ์ฅ ๊ณต๊ฐ์ Servlet context, reqeust, Page context, Session์ด ์๋ค.๋ฐ์ธ๋ฉ ์์น์ฌ์ฉ ๊ฐ๋ฅ ๋ฒ์์ฌ์ฉ ์์ServletContext๋ชจ๋ ์์ฒญ์กฐํ์session๋ธ๋ผ์ฐ์ ๋ก๊ทธ์ธ ์ ๋ณดrequest๊ฐ ์์ฒญJSP ๋์ ํ ๋นPageContextpage BindTestServlet.java@WebServlet("/jsp/bind1.go")public class BindingTestServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws Se..
[SSAFY] ์์ธ 10๊ธฐ Java ์ ๊ณต๋ฐ ์๋ฃ ํ๊ธฐ
์ด์ (24.06.26) ์ธํผ 10๊ธฐ๋ฅผ ์๋ฃํ๊ฒ ๋์์ต๋๋ค..!์ ํ์ ์ํด์ ์ ๋ฆฌ ๊ธ์ ์ผ๋๊ฒ ์๊ทธ์ ๊ฐ์๋ฐ ๋ฒ์จ ์๋ฃ์์ ์ํ ๋ง๋ฌด๋ฆฌ ๊ธ์ด๋ผ๋.. ๋ฏฟ๊ธฐ์ง ์์ต๋๋ค. ๊ธ ์์ฑ์ ์ํด์ ์ฌ์ง ์ ๋ฆฌ๋ ํ๋๋ฐ ์ ๋ ๋ชจ๋ฅด๊ฒ ์ธ์ปฅํ๊ฒ ๋๋ค์๋์ฝ ๋ฐ ์ ์์ด 1๋ ์ด ์ง๋ฌ๋ค๊ณ ์๊ฐํ๋๋ฐ, ์๊ฐ์๊ฐ์ ๋ค์ฌ๋ค๋ณด๋ ์ฐธ ์์คํ ์๊ฐ์ด์์ต๋๋ค. ์ ํ์ ์ํ ์ค๋น ๊ธ์ด ๊ถ๊ธํ์ ๋ถ์ ์๋ ๊ธ์ ์ฐธ๊ณ ํด์ฃผ์ธ์!2023.06.22 - [๐ปBackend/SSAFY | ์ธํผ] - [SSAFY] 10๊ธฐ ์ ๊ณต์ ํฉ๊ฒฉ ํ๊ธฐ | ์์ธ์ด | ์ฝ๋ฉํ ์คํธ | ์ธํฐ๋ทฐ [SSAFY] 10๊ธฐ ์ ๊ณต์ ํฉ๊ฒฉ ํ๊ธฐ | ์์ธ์ด | ์ฝ๋ฉํ ์คํธ | ์ธํฐ๋ทฐ~๋ชฉ์ฐจ~ ์ง์๋๊ธฐ ์์ธ์ด ์ฝ๋ฉ ํ ์คํธ ์ธํฐ๋ทฐ ๋ฉด์ ์คํฐ๋ PT ๋ฉด์ ์ธ์ฑ/๊ธฐ์ ๋ฉด์ ํ๊ธฐ ๊ธ์ ๋ง์น๋ฉฐ ์ง์์ ์ ..
[SSAFY] 10๊ธฐ ์ ๊ณต์ ํฉ๊ฒฉ ํ๊ธฐ | ์์ธ์ด | ์ฝ๋ฉํ ์คํธ | ์ธํฐ๋ทฐ
~๋ชฉ์ฐจ~ ์ง์๋๊ธฐ ์์ธ์ด ์ฝ๋ฉ ํ ์คํธ ์ธํฐ๋ทฐ ๋ฉด์ ์คํฐ๋ PT ๋ฉด์ ์ธ์ฑ/๊ธฐ์ ๋ฉด์ ํ๊ธฐ ๊ธ์ ๋ง์น๋ฉฐ ์ง์์ ์ ์ ์์ธ์ด ์ ์ถ SW ์ ์ฑ์ง๋จ ์ธํฐ๋ทฐ ์ ๊ณผ ๋ฐ ๊ต์ก 4/24(์) ~ 5/8(์) 5/9(ํ) ~ 5/20(ํ ) SW ๋น์ ๊ณต : 5/13(ํ ) SW ์ ๊ณต : 5/21(์ผ) 6/7(์) ~ 6/13(ํ) 23๋ 7์ ~ ์ง์๋๊ธฐ SW ๋ง์์คํธ๋ก๋ฅผ ์ค๋นํ๋ ์ ๊ฐ ํจ๋ฐฐ์ ์ด๋ง์ ๋ณด๊ณ SSAFY๋ฅผ ์ค๋นํ๊ฒ ๋์์ต๋๋ค. ์กธ์ ๊ณผ ๋์์ ๋ง๋งํ ์ทจ์ ์์ฅ์์ ์ฌ์ ์ ๋์์ ๋ฐ์ผ๋ฉฐ ๊ณต๋ถํ ์ ์๋ ์ข์ ๊ธฐํ๋ผ๊ณ ํ๋จ์ด ๋์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์์ธ์ด ๋ค์์ ์ธํผ์์ ์ ๊ณตํ ์์ธ์ด ์ง๋ฌธ์ ๋๋ค. ์์ธ์ด ์์ฑ์์ ์๊ตฌํ๋ ๋๋ก ์ด๋ค ๊ฐ๋ฐ์๊ฐ ๋๊ณ ์ถ์์ง, ์ด๋ค ํ๋๋ค์ ํ๋์ง, ์ ์ง์ํ๋์ง ์ ๋ถ๋ฐฐํ์ฌ ์์ฑํ์๋ฉด ๋ฉ๋๋ค. ..
[๋ผ์ด์ง์บ ํ] 4์ฃผ์ฐจ ํ์ต ์ ๋ฆฌ 2 | SpringBoot Tamplate
Web Server - ์น ์๋ฒ(Web server)๋ HTTP ๋๋ HTTPS๋ฅผ ํตํด ์น ๋ธ๋ผ์ฐ์ ์์ ์์ฒญํ๋ HTML ๋ฌธ์๋ ์ค๋ธ์ ํธ(์ด๋ฏธ์ง ํ์ผ ๋ฑ)์ ์ ์กํด์ฃผ๋ ์๋น์ค ํ๋ก๊ทธ๋จ์ ๋งํ๋ค. - 1์ฃผ์ฐจ ํ์ต์์ ์ ๋ฆฌํ ๊ทธ๋ฆผ ํํ์ผ๋ก๋ B.L(Backend Language) ๊ตฌ๊ฐ์ด๋ค - ์ข ๋ฅ๋ก๋ Spring, Spring-boot, node.js, php ๋ฑ์ด ์๋ค. - ๋ผ์ด์ง ์บ ํ์์ 4์ฃผ์ฐจ์ node.js ๋ SpringBoot ์ค์ ์ ํํ๊ฒ ๋๋ค - ํ์๋ ๊ตญ๋ด์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ค๊ณ ์๋ ค์ง JAVA ๊ธฐ๋ฐ SpringBoot ๋ฅผ ์ ํํ๊ธฐ ๋๋ฌธ์ ํด๋น ํฌํ๋ฆฟ ์ค๋ช ๊ธ์ด ๋ ๊ฒ์ด๋ค. SpringBoot Tamplate - ํด๋น ๊ธ PRACTICE์ Github Springboot ํ ํ๋ฆฟ README..
[๋ผ์ด์ง์บ ํ] 3์ฃผ์ฐจ ํ์ต ์ ๋ฆฌ 2 | ERD ์ค๊ณ | RDS
ERD ์ค๊ณ [ํฌ์ธํธ] 1. ์ค๊ณํ ํ๋ฉด์ ์ฐธ๊ณ ํ๋ฉด์ 2. ์ค๋ณต์ ๊ฑฐ : ์ ๊ทํ 3. ๋ฆฌ์์ค ๋จ์๋ก ์ค๊ณ ํ์ ์์๋ ์ค๋ณต์ ํ์ฉํ๋๋ผ๋ ์ ์ฐํ๊ฒ ์์ฑํ ํ์๊ฐ ์์ [๋จ๊ณ] ์์คํ ๋ถ์ -> ๋ ผ๋ฆฌ -> ๋ฌผ๋ฆฌ [Example] Instagram ์์ ๋ก ์ธ์คํ๊ทธ๋จ์ ERD๋ฅผ ์ค๊ณํด๋ณด๊ธฐ! ์์คํ ๋ถ์ ์์ฑํ๊ฒ ๋ ํ๋ฉด์์ ํ์ํ ๋ชจ๋ ์ ๋ณด๋ฅผ ์์ฑํ๋ฉด์ ์ ์ ๊ตฌ์กฐ๋ฅผ ์ก์๋ณด๋ ๋จ๊ณ์ ๋๋ค. ํฌ๊ฒ ์ ์ ์ ๋ณด, ๊ฒ์๋ฌผ, ๋๊ธ ํ๋ฉด์์ ํ์ํ ์ ๋ณด๋ฅผ ์ถ์ถํด๋ณด๊ฒ ์ต๋๋ค. ์ ์ ์ ๋ณด : id, ์ด๋ฆ, ํ๋กํ์ฌ์ง, ๊ฒ์๋ฌผ ์, ํ๋ก์ฐ ์, ํ๋ก์ ์, ์๊ฐ ๊ธ, Web site ๋งํฌ, ๊ฒ์๋ฌผ, ๊ฒ์๋ฌผ ์ฌ์ง, ์ฌ๋ฆฐ ์๊ฐ ๊ฒ์๋ฌผ : id, ๊ฒ์๋ฌผ ์ฌ์ง, ์ข์์ ์ ๋ณด, ๊ฒ์๋ฌผ ๊ธ, ํ๋กํ ์ฌ์ง, ์ฌ๋ฆฐ ์๊ฐ ๋๊ธ : id, ๋๊ธ, ๋๋..
[๋ผ์ด์ง์บ ํ] 4์ฃผ์ฐจ ํ์ต ์ ๋ฆฌ 1 | Backend Language | HTTP | REST API | Query String/ Path Variable
ํ์ต ๊ณผ์ : ์๋ฒ(1, 2์ฃผ์ฐจ) โก๏ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค(3์ฃผ์ฐจ) โก๏ธ Backend Language(4์ฃผ์ฐจ, ํ์ฌ) ๋ชฉ์ฐจ HTTP REST API Query String vs Path Variable RESTful GET vs POST PATCH vs PUT PRACTICE HTTP - 2์ฃผ์ฐจ ์๋ฒ์์ ์ธ๊ธํ๋ HTTP๊ธฐ์ต ๋์๋์? - HTTP๋ ์ปดํจํฐ๊ฐ ๋คํธ์ํฌ ํต์ ์ ์ํ ํ๋กํ ์ฝ(๊ท์ )์ ๋๋ค. - ์ ์ก ๋จ์๋ ํจํท์ผ๋ก Header ์ Body๋ก ๋๋ ์ง๋๋ค. - Header๋ ์์ ์์ IP ์ ๋ณด๋ฅผ, Body๋ ์ ์กํ๋ ค๋ ๋ฐ์ดํฐ๋ฅผ ๋ด๊ณ ์์ต๋๋ค. - ๋ํ์ ๋ฉ์๋๋ GET/ POST/ PATCH/ PUT/ DELETE ๋ก CRUD ๊ธฐ๋ฐ์ด๋ผ๊ณ ํ ์ ์๋ค. REST API - REST(Representat..
[๋ผ์ด์ง์บ ํ] 3์ฃผ์ฐจ ํ์ต ์ ๋ฆฌ 1 | DATABASE | SQL
DataBase - 1, 2์ฃผ์ฐจ์ ์ด์ด์ ์๋น์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ดํดํด๋ณด์ - ์๋(Client) ↔๏ธ ์ข ์ ์(Server) ์๋ฆฌ์ฌ(BackEnd Language) ๋์ฅ๊ณ (DataBase) - ์์๊ฐ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ํด๋ผ์ด์ธํธ์๊ฒ ์๋ฆฌ ์์ฒญ์ ์๋ตํ๊ธฐ ์ํด ํ์ํ ์ฌ๋ฃ ์์๋ผ๊ณ ์ดํดํ๋ฉด ๋๊ฒ ๋ค. Query/ SQL - ์ด ๋ BackEnd Language(B.L)๊ฐ DataBase(DB)์๊ฒ ๋ฐ์ดํฐ๋ฅผ ๋ฌ๋ผ๊ณ ์์ฒญํ๋ ๋จ์๋ Query์ด๋ค - ์ด Query๋ฅผ ์ํ ์ธ์ด๊ฐ SQL, Structured Query Language ์ด๋ค. - ์ฆ ์๋ฆฌ์ฌ๋ SQL์ ์ฌ์ฉํ์ฌ ๋์ฅ๊ณ ์์ ์ํ๋ ์ฌ๋ฃ๋ฅผ ๊บผ๋ผ ์ ์๋ค. - SQL ใด DDL (Data Definition Language) : ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ฒด๋ฅผ ๊ด๋ฆฌํ..
[๋ผ์ด์ง์บ ํ] 2์ฃผ์ฐจ ํ์ต ์ ๋ฆฌ | Server ์ฌํ | ํ๋กํ ์ฝ(Protocol) | HTTP(S) | IP/Domain/Port | ํฌํธํฌ์๋ฉ(Portfowarding)
์ง๋ ๊ธ Server ๊ฐ์์ ์ด์ด์ Server ์ฌํํ์ต ๋ด์ฉ์ ๋๋ค ํ๋กํ ์ฝ (Protocol) - ์ปดํจํฐ ๋๋ ๊ธฐ๊ธฐ๊ฐ ํต์ ์ ์ํ ๋ฐ์ดํฐ ์ ์ก ๋ฐฉ์ ๊ท์ฝ - HTTP, HTTPS, MySQL, SSH, FTP ๋ฑ์ ํ๋กํ ์ฝ์ด ์กด์ฌํ๋ค. * HTTP(S) : ์น ํต์ ์ ์ํ ํ๋กํ ์ฝ (HTTP + TLS ์ ์ฉ = HTTPS), HTTP : 80/ HTTPS : 443 * MySQL : DB ํต์ ์ ์ํ ํ๋กํ ์ฝ * SSH : ๊ด๋ฆฌ์์ฉ ํ๋กํ ์ฝ * (S)FTP : ํ์ผ ์ ์ก์ฉ ํ๋กํ ์ฝ - ์น ํ์ด์ง์ url์ ๋ณด๋ฉด https:// ๊ฐ ์์ ๋ถ์ด ์์ ๊ฒ์ด๋ค. ์ด๋ https ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ํต์ ํ๊ฒ ๋ค๋ ์๋ฏธ๋ฅผ ํฌํจํ๊ณ ์๋ค. HTTP/ HTTPS - ์ธํฐ๋ท ํต์ ์ ์ํ ํ๋กํ ์ฝ - OSI 7๊ณ์ธต ์ค 3..