본문 바로가기

생각해보기10

[boostcourse] 4. 웹 앱 개발 예약 서비스 생각해보기 #1 ~ #4 #1 Spring MVC 1) Front Controller는 모든 요청을 받아 들여 공통적인 작업을 처리해 줍니다. 이를 통해 얻을 수 있는 장점엔 어떤 것이 있을 수 있을 까요? Front Controller Pattern - 모든 Resource 요청을 처리해주는 하나의 컨트롤러를 두는 패턴이다. - MVC 패턴과 함께 사용하는 패턴이다. Front Controller Pattern의 장점 - 모든 Request를 하나의 컨트롤러를 통해 한 곳에서 작업을 수행할 수 있다. - 추적(Tracking)이나 보안(Security)를 적용할 때 하나의 컨트롤러에서 하기 때문에 편하다. - 파일 구조가 바뀌어도 URL을 유지할 수 있다. 즉 DispatcherServlet(Front Controller)이 .. 2021. 8. 2.
[boostcourse] 3. 웹 앱 개발 예약 서비스 생각해보기 #1 #1 Spring Core 1) 스프링은 프레임워크입니다. 프레임워크와 라이브러리는 어떤 차이가 있을까요? Framework 프레임워크는 뼈대나 기반구조를 뜻한다. 개발할 때 필수적인 코드, 알고리즘 등과 같이 어느 정도의 구조를 제공해주기 때문에 프레임워크를 사용하는 개발자는 프레임워크의 뼈대 위에서 코드를 작성하여 프로그램을 개발하면 된다. 즉, 프레임워크는 완성된 제품이 아닌 완성된 제품을 만들기 위해 개발자를 도와주는 역할을 한다. 이를 소프트웨어적으로 정의하면 소프트웨어의 특정 문제를 해결하기 위해 상호 협력하는 클래스와 인터페이스의 집합인 것이다. Library 라이브러리는 특정 기능에 대한 도구 또는 함수들의 집합이다. 개발자가 어떤 기능을 수행하기 위해서 필요한 기능을 제공해주는 역할을 한.. 2021. 7. 30.
[boostcourse] 2. 웹 백엔드 프로그래밍 기초 생각해보기 #6 #6 JSTL & EL 1) 표현식으로 값을 출력하는 것과 EL을 이용해서 값을 출력하는 것 중 어떤 게 편해 보이나요? 자바가 익숙한 사람에게는 표현식을 이용하는 것이 편리할 것 같고 프론트 개발자에게는 EL이 더 편하지 않을까 생각합니다. 2) JSTL의 태그는 XML태그 문법을 사용합니다. 그래서 반드시 태그가 닫히거나 '/>'로 끝나야 합니다. JSP가 제공하는 문법 중 사용자 정의 태그라는 것을 통해 만들어졌기 때문입니다. 이번 시간엔 JSTL의 core태그에 대해서 살펴봤는데요. 그 외의 태그들에는 어떤 게 있는지 찾아보고, 왜 그러한 태그가 필요한지 생각해보세요. JSTL 태그들은 JSP 문법을 편하게 사용하기 위해 만들어 졌으므로 JSTL 태그를 사용하더라도 자바 코드를 사용하는 JSP와 .. 2021. 7. 21.
[boostcourse] 2. 웹 백엔드 프로그래밍 기초 생각해보기 #5 #5 scope 1) 회사 관리 프로그램을 만듭니다. 회사 전체적으로 사용되는 특정 정보가 약 1메가 정도 있습니다. 이 정보는 자주 바뀌지 않고, 모든 사원들이 공통적으로 사용하는 코드입니다. 이러한 정보는 어떤 scope로 사용하는 것이 좋을까요? 자주 바뀌지 않고, 공통적으로 사용하기 때문에 애플리케이션 범위 내의 매개변수/속성을 모든 요청 및 세션에서 사용할 수 있는 Application Scope가 적당하다고 생각한다. 4가지 Scope ▶ Application : 웹 어플리케이션이 시작되고 종료될 때까지 변수가 유지되는 경우 사용 ▶ Session : 웹 브라우저 별로 변수가 관리되는 경우 사용 ▶ Request : http요청을 WAS가 받아서 웹 브라우저에게 응답할 때까지 변수가 유지되는 .. 2021. 7. 21.
[boostcourse] 2. 웹 백엔드 프로그래밍 기초 생각해보기 #3 ~ #4 #3 Servlet 1) 동적인 페이지가 필요한 경우는 어떤 것일까요? 동적인 페이지가 필요한 경우는 많지만 입출력이 이루어질때마다 페이지의 구성요소를 다르게 보여줘야하는 경우에 더욱 필요하다고 생각한다. 2) HelloServlet 클래스 파일을 작성할 때 HttpServlet을 상속하지 않았다면 어떻게 동작할까요? package examples; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.ht.. 2021. 7. 21.