WAS(톰캣)가 Web.xml 파일을 통해서 서블릿을 찾듯이DispatcherServlet도 /WEB-INF/”서블릿이름”-servlet.xml 파일을 통해서파일에 설정된 친구들과 함께 요청을 처리하게 된다. 우선 톰캣이 서블릿을 찾고, DispatcherServlet한테 처리해달라고 하면DispatcherServlet은 이러쿵저러쿵 잘 해서 사용자한테 응답화면을 보여준다는건데...과연 이게 어떻게 이루어질까? 궁금해졌다. ▶ /WEB-INF/”서블릿이름”-servlet.xml 파일서블릿이 가지고있는 설정 파일이다. "서블릿이름"부분은 Web.xml에 작성해주면 된다. ▶Controller스프링이 지원해주는 혜택을 받기위해서는 내가 만든 클래스들을 Bean으로 등록해야한다.빈은 빈태그를 ..
전체 글
저번 포스팅에서 Servlet의 문제점으로각 Servlet의 service() 메서드에서 중복되는 부분이 많다.Servlet에 종속적인 구조를 가진다.이후, 각 컨트롤러에서 공통으로 처리해야하는 로직이 생기면 중복이 발생한다.이렇게 3가지의 문제점이 있다고 말했다. 어떻게 이 문제점을 해결할 수 있을까? 그전에 Front Controller패턴에 대해서 알아 볼 필요가 있다. ▶Front Controller란?클라이언트 요청을 받는 최앞단에 모든 요청을 받을 수 있도록 컨트롤러를 하나 만들고이곳에서 각 요청별로 처리하는 로직을 찾아서 이를 전달해 요청을 수행하도록 하는 방법이다. Front Controller 패턴을 활용한 구조를 통해서매 요청마다 각각의 서블릿을 사용하는 것이 아닌하나의 서블릿을 통해..
▶ Servlet이 나온이유초기 웹 서비스는 정적데이터만 전달 할 수 있었다.사용자(요청)에 따라 다른 처리를 해줄 수 없었다.동적인 처리를 해주는 웹 애플리케이션이 없었다. ▷ 그래서 나온것이 CGI(Common Gateway Interface)CGI는 동적데이터를 처리해준다.Web Server와 프로그램사이의 규약이다.점점 CGI사용자가 증가하기 시작했다.근데 CGI에는 몇가지 비효율적요인이 있었다. ▷CGI의 비효율성1. Request를 받을 때 마다 Process를 만든다.같은 요청에도 프로세스를 생성해서 처리하는 구조는 상당한 비효율성을 낳았다.요청이 엄청나게 들어오면 프로세스가 순식간에 늘어나고 서버가 죽어버리게 된다.코드와 공유 데이터 정적인 영역은 공유하고, 스택과 힙 공간과 같이 ..
▶멋쟁이사자처럼이란? 멋쟁이 사자처럼은 웹서비스 구현을 목표로하는 전국 연합 동아리이다. 팀프로젝트 경험을 쌓을 수 있고, 해커톤 대회도 참가 할 수 있다. 전공자,비전공자 모두 들어갈 수 있는 동아리이다. 부서로는 프론트엔드, 기획/디자인, 백엔드(스프링), 백엔드(장고) 가 있었다. ▶멋쟁이사자처럼에 들어가고 싶었던 이유 그동안 혼자 공부해보면서 기본적인 CRUD는 해보았으나.... 백엔드 기능만 구현하고 프론트엔드는 뼈대만 입힌 구현이었어서 "우와..기능구현이 제대로다..!!" 만 느낄 수 있었다. 한번 프론트엔드, 기획자분들과 함께 자그마한 프로젝트라고 해보고 싶다!!!!!! 라는 갈증이 심해졌고,... 마치 운명처럼 에타에 "멋쟁이사자처럼 12기 모.집" 공고가 떴다... 멋쟁이사라처럼이라는 동..
▶GitHub Action이란? GitHub Actions는 빌드, 테스트 및 배포 파이프라인을 자동화 할 수 있는 CI/CD 플랫폼이다. GitHub Repository가 있다면 GitHub Action을 사용하여 workflow를 구성할 수 있다. GitHub Actions는 단순한 DevOps를 넘어 Repository에서 다른 event가 발생할 때 workflow를 실행할 수 있도록 한다. ▶ GitHub Action 구성요소 ▷ Workflows Workflows는 GitHub Actions의 기본 구성 단위이다. 일반적으로 “.github/workflows/[이름].yml” 파일에 정의된다. Workflows는 하나 이상의 작업을 포함할 수 있으며 Repository에서는 push 또는 pu..
▶ Branch 전략이란? 여러명의 개발자가 1개의 저장소를 사용하는 환경에서 효과적으로 사용하기 위해 나온 개념. 거의 모든 기업들이 자신들의 상황에 맞는 전략을 사용하고 있음. 대표적인 전략 GitHub flow Git flow GitLab flow 등등.... ▶브랜치 전략이 왜 필요할까? git을 개인프로젝트를 저장하는 공간으로 혼자 사용한다면 브랜치 전략은 필요하지 않을 수도 있다. 하지만 다수의 사람들이 함께 진행하는 프로젝트에서는 정해진 브랜치 규칙이 없이 다수의 사람들이 무분별하게 자신의 브랜치를 만들고 개발하는 중에 새롭게 분기하고 다 사용한 브랜치를 삭제하지 않을 경우 많은 불편함과 문제점이 발생한다. 그래서 브랜치 전략이 필요하다. ▶ GitHub flow란? GitHub flow은 ..