본문 바로가기

BackEnd/Spring

스프링 프로젝트 구조
sockets 참고자료 위키 : https://ko.wikipedia.org/wiki/%EC%9B%B9%EC%86%8C%EC%BC%93웹소켓으로 개발전 알아야 할것들 : https://adrenal.tistory.com/20기본적인 내용들 : https://victorydntmd.tistory.com/250https://developer.mozilla.org/ko/docs/WebSockets/Writing_WebSocket_servers https://engineering.huiseoul.com/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%8A%94-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%9E%91%EB%8F%99%ED%95%98%EB%8A%..
유닛 테스트 앞으로 유닛 테스트를 하기 위한 전략 및 설계 1. 기능 테스트 : 사용자 관점에서의 application 외부 테스트 2. 단위 테스트 : 개발자 관점에서의 내부 테스트 유닛 function 메소드 유닛들 각각을 테스트 할수 있다 4.12전에는 랜덤순이였다가. 4.12부터 정해진 순서가 있음 메소드 이름의 해시코드로 순서를 정하는게 기본 ordering함 그래서 정해진 순서가 있음 이게 기본값 그런데 메소드 이름으로 정렬 junit 5 부터는 또 없어짐.. 권장되지않음 TestMethodOrder - 테스트 실행 순서 지정 5.4버전부터 테스트의 순서를 지정할 수 있는 @TestMethodOrder 어노테이션이 제공됩니다. 일반적으로 테스트는 순서에 의존하지 않도록 작성하는 것이 유지보수 측면에서 바람..
한 서버에 프로젝트 2개배포 path가 같으면 실행이 안된다..한서버에 프로젝트의 path는 같게 못하는것인가 위처럼하면 아래와 같은 오류가 나와서 Service Unavailable The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later. Apache/2.4.29 (Ubuntu) Server at dokky.ga Port 443 아래처럼 설정하면 https://dokky.ga/superAdmin/superLogin -접속됨 https://dokky.ga/superLogin - 접속안됨
스프링 mvc 프로젝트의 기본구성 스프링 MVC를 이용하는 프로젝트의 구성을 이해하는 것은 전체 데이터의 흐름을 보기 위해서 브라우저에서 전송한 데이터를 스프링 MVC의 어떤 단계를 거쳐서 실행되는지를 이해한다면 문제가 발 생했을 때 빠른 대처와 대안을 찾을수 있다. 일반적으로 웹 프로젝트는 3-tier(티어) 방식으로 구성한다. 1) Presentation Tier(화면 계층) Presentation Tier(화면 계층)는 화면에 보여주는 기술을 사용하는 영역. Servlet/JSP나 스프링 MVC가 담당하는 영역. Presentation Tier는 프로젝트의 성격에 맞춰 앱으로 제작하거나,CS(Client-Server)로 구성되는 경우도있다. 스프링 MVC와 JSP를 이용한 화면 구성이 이에 속함. 2) Business Tier(비즈..
http 에러코드 400 Bad Request, 요청 실패 - 문법상 오류가 있어서 서버가 요청 사항을 이해하지 못함. 500 : Internal Server Error, 서버 내부 오류 - 이 에러는 웹 서버가 요청사항을 수행할 수 없을 경우에 발생함 404 : Not Found, 문서를 찾을 수 없음 - 이 에러는 클라이언트가 요청한 문서를 찾지 못한 경우에 발생함. URL을 다시 잘 보고 주소가 올바로 입력되었는지를 확인함.
Controller 작성시 예외 상황 Controller를 작성할 때 예외 상황을 고려하면 처리해야 하는 작업이 엄청나게 늘어날 수 밖에 없다. 154p 스프링 MVC에서는 이러한 작업을 다음과 같은 방식으로 처리할 수 있다. 1) @ControllerAdvice와 @ExceptionHandler를 이용한 처리 @ControllerAdvice를 선언하면 웹어플리케이션의 특정 익셉션들을 공통적으로 핸들링 할 수 있다. @ControllerAdvice는 뒤에서 배우게 되는 AOP(Aspect-Oriented-Prograinming)를 이 용하는 방식이다. AOP에 대해서는 별도의 파트에서 설명하겠지만, 간단히 언급하자면 핵심적인 로직은 아니지만 프로그램에서 필요한 '공통적인 관심사(cross-concern)는 분 리’하자는 개념이다. Contr..
컨트롤러의 리턴타입 Controller의 리턴 타입 스프링 MVC의 구조가 기존의 상속과 인터페이스에서 어노테이션을 사용하는 방식으로변한 이후에 가장 큰 변화 중 하나는 리턴 타입이 자유로워 졌다는 점입니다.Controller의 메서드가 사용할 수 있는 리턴 타입은 주로 다음과 같습니다. • String: jsp를 이용하는 경우에는 jsp 파일의 경로와 파일이름을 나타내기 위해서 사용합니다.• void: 호출하는 URL과 동일한 이름의 jsp를 의미합니다.• VO, DTO 타입 : 주로 JSON 타입의 데이터를 만들어서 반환하는 용도로 사용합니다.• ResponseEntity 타입 : response 할 때 Http 헤더 정보와 내용을 가공하는 용도로 사용합니다.• Model, ModelAndView: Model로 데이터를..