본문 바로가기

분류 전체보기

스프링MVC 요청 매핑 요청 매핑 기본 Controller : 반환값이 String 이면 뷰 이름으로 인식됨 RestController : 반환값으로 뷰를 찾지 않고 Http 메시지 바디에 바로 입력한다. @RequestMapping({"/hi", "/hello"}) public String myController() {} RequestMapping은 배열을 통해 여러 url 처리가 가능하게 설정할 수도 있다. http 메서드 지정은 @GetMapping 등으로 쉽게 할 수 있다. Path Variable Path Variable은 리소스에 식별자를 넣는 경우, 경로를 변수로 받아올 때 사용한다. @GetMapping("/path-variable/{user}") public String path(@PathVariable("us.. 더보기
스프링MVC의 Handler, View Resolver https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., 원 www.inflearn.com 위 강의를 들으며 정리한 글입니다. https://mvmvm.tistory.com/98 프론트 컨트롤러 패턴 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의 웹.. 더보기
백준 11559 [bfs] answer = 0 arr = [input() for _ in range(12)] for i in range(12) : arr[i] = list(arr[i]) def bfs(i, j, visited) : target = arr[i][j] q = [[i,j]] dirs = [[1,0],[-1,0],[0,1],[0,-1]] ret = [[i,j]] while q : y ,x = q.pop(0) for dir in dirs: nextY, nextX = y+dir[0], x+dir[1] if nextX >=0 and nextX =0 and nextY < 12 and arr[nextY][nextX] == target and not visited[nextY][nextX]: visited[.. 더보기
프론트 컨트롤러 패턴 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., 원 www.inflearn.com 위 강의를 들으며 정리한 글입니다. 프론트 컨트롤러 패턴 모든 요청을 받는 컨트롤러를 하나 둬서 이 컨트롤러가 각 컨트롤러에게 요청을 전달하도록하는 패턴이다. 기존 패턴은 서블릿 매핑으로 각 컨트롤러가 직접 호출됐지만 프론트 컨트롤러를 사용하면 모든 사용자의 요청들은 프론트 컨트롤러를 거쳐가게 된다.. 더보기
Http Request 데이터 형식 정리 웹상에서는 거의 모든 메시지들이 http 프로토콜을 따라 http 메시지로 전달된다. httpServletRequest 객체와 http ServletResponse 객체는 개발자들이 이러한 http 메시지들을 편하게 이용할 수 있도록 도와준다. Http Request http 에서 요청데이터 형식은 3가지중 하나이다. 1. GET - 쿼리 파라미터 Url에 다음과 같이 파라미터가 포함되는 방식이다. 물음표 뒤에 붙는건 전부 파라미터들이고 &로 구분한다. http://www.tistory.com?name=abc&age=100 @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletExcep.. 더보기
정규 표현식 기초활용 - 전화번호, 금액 찾기 1. 금액 찾기 \d{1,3}(,\d{3})* 금액은 보통 , 를 구분자로 해서 12,345,678 이런식의 형태를 갖는다. 숫자를 찾을거니까 \d를 한 뒤에 첫번째에 나오는 숫자는 1~3자리니까 {1,3} 으로 해두면 \d{1,3}은 1~3자리의 숫자를 찾을 것이다. 이후에는 ,333,333,333 이런식의 패턴이 반복될 것이다. 그러므로 뒤에 값이 있다면 컴마와 숫자 3개가 나올것임이 보장되어있으므로 ,\d{3} 을 하고 이들을 소괄호로 감싸서 반복자를 붙일 수 있게 해준다. 반복자는 *를 붙인다. 없을 수도 있으니 0개 이상을 의미하는 *를 붙인다. (+는 1개 이상을 의미) 2. 전화번호 찾기 전화번호는 좀 더 쉽다. 000-0000-0000의 형식이라고 가정했을때 \d{3}으로 맨앞에 숫자 3개.. 더보기
웹팩 서버 정리 웹팩 서버 웹팩 서버는 프론트엔드 개발환경에서 개발용 서버를 제공해준다. 웹팩을 통해 빌드한 파일들을 정적인 형태로 제공해주는 서버인 것이다. 사용법은 아래와 같다. 우선 웹팩 서버를 설치한다. npm i webpack-dev-server 설치한 뒤에 npx webpack serve 명령어를 입력하여 서버를 띄울 수 있다. 포트 기본값은 8080인듯하다. 8080포트에 서버를 열면서 설정에 따라서 해당 폴더 내에 있는 정적 파일들이 올라간다. 그럼 이제 해당 웹팩 설정에 포함되는 코드를 변경하면 바로바로 반영하여 브라우저에 보여준다. contentBase는 파일을 올릴 대상의 폴더이름이다. dist라고 설정이 되어있으니 dist 폴더 내의 파일들이 올라갈 것이다. overlay를 true로 설정하면 에러.. 더보기
8월 3주차 계획 보호되어 있는 글입니다. 더보기
VSCode 터미널 오류 - 이 시스템에서 스크립트를 실행할 수 없으므로 권한이 없어서 발생하는 문제이다. 1. power shell 관리자 모드로 실행 2. get-help Set-ExecutionPolicy 명령어를 입력 이렇게하면 모듈에 대한 최신 도움말을 받는다고 한다. 받는데 대략 3분 걸렸다.(아마 생략해도 되지 않나 싶다) 3. Set-ExecutionPolicy RemoteSigned 하고 Y 입력 해결! 더보기
바벨, 린트 간단 정리 바벨 ES 2015+에서 작성한 코드에 더해서 타입스크립트, JSX 코드들도 모든 브라우저에서 동작하도록 도와주는 도구이다. 바벨은 이러한 것을 어떻게 해주는 것일까? 바벨의 동작과정은 다음과 같다. 입력받은 코드를 파싱 🤜 변환 🤜 결과물 출력 바벨은 코드를 입력받아 변환시킨 코드를 반환해주는 친구이다. 코드를 변환해주는 작업은 사실 플러그인이 담당한다. 플러그인을 설치하고 바벨을 사용해보자 const a = a => console.log(a); const 가 var 로 바뀌었다. block-scoping 플러그인이 동작한 결과이다. 블록 스코핑을 따르는 변수 const let 등을 var로 바꿔주는 플러그인이다. 매번 이렇게 하기엔 귀찮으므로 webpack.config.js 처럼 바벨도 config .. 더보기