(1) 단위 테스트 꿀팁 : given - when - then 패턴 given 테스트를 위해 준비하는 과정 테스트에 사용하는 값을 정의한다. when 테스트하고자 하는 기능을 실행시킨다. then 기능을 실행한 후 결과를 검증한다. 예시 //given int count = 10; Car car = new Car(); //when (기능 작동) car.move(count); int distance = car.getPosition(); //then (기능 작동 후 검증) assertThat(distance).isEqualTo(count); (2) @ParameterizedTest 대략적인 예시 @ParameterizedTest 사용해서 여러 값을 테스트해보기! 사용하는 방법 @ParameterizedTes..
이번에는 사내 서버 교육 중에 언급했던 multipart에 대해 알아보려고 한다. mutipart를 알아보기 전에, 우선 실제로 multipart/form-data를 사용하는 HTML에서 태그의 enctype 속성에 대해 살펴보고자 한다. enctype(인코딩 타입) HTML form을 post 방식으로 전송할 때는 전송하는 데이터를 인코딩하기 위해 인코딩 타입에 대한 명시가 필요한데 해당 속성이 enctype이다. enctype(인코딩 타입) 속성은 form에서 데이터를 전송할 때(post) 전송되는 리소스(파일, 텍스트 등)를 인코딩하기 위한 속성으로, 인코딩 된 리소스는 MIME Type으로 해당 리소스가 어떤 타입(이미지, 파일 등) 식별할 수 있게 해준다. (MIME - 인터넷에서 전송되는 파일..
MVC 구조와 서블릿/JSP 서블릿 코드의 경우 자바 코드를 그대로 이용할 수 있고, 상속이나 인터페이스의 처리도 가능하지만, HTTP로 전달된 메시지를 구성하는 HTML을 처리할 때는 상당한 양의 코드를 작성해야 한다. JSP의 경우 반대로 HTML 코드를 바로 사용할 수 있으므로 HTTP 메시지 작성에는 적합하지만, 그 안에서 자바 코드를 재사용하는 문제나 자바 코드와 HTML이 호재하는 것과 같은 여러 문제가 존재한다. 이를 절충해서 다음과 같은 구조를 이용하게 된다. (1) 브라우저의 요청은 해당 주소를 처리하는 서블릿에 전달되고 서블릿 내부에서는 응답에 필요한 재료 데이터를 준비한다. (2) 서블릿은 준비한 데이터를 JSP로 전달하고 JSP에서는 EL을 이용해서 최종적인 결과 데이터를 생성한다...
웹 프로젝트의 기본 구조 브라우저 혹은 클라이언트 프로그램 - 서버에서 전송할 결과를 화면에 보여주고 (렌더링(rendering)) 사용자의 화면 조작을 이용해서 서버에 원하는 데이터를 보내고 (요청 - request) 받는 (응답 - response) 프로그램 웹 서버 (Web Server) 혹은 WAS (Web Application Server) - (웹 서버)이미지와 같은 정적인 데이터를 제공 하거나 동적으로 매번 새로운 데이터를 만들어 낼 수 있는 WAS (실제 운영 환경에서는 보통 웹 서버와 WAS를 분리해서 운영하지만, 대부분 WAS는 웹 서버 기능도 겸하고 있으므로 실습 시에는 WAS만으로 구성 가능하다) - 관련 기술: 서블릿/JSP, 각종 플레임워크와 언어들 데이터베이스 - 영구적으로 데..
HTML과 CSS는 선언형 프로그래밍이다. 따라서 가장 효율적인 선언(알고리즘)을 사용해서 코딩을 구현해야 한다. CSS는 2가지 형태로 화면을 렌더링한다. 1. geometry Geometry는 쉽게 말해 좌표를 지정하는 것으로 생각하면 된다. 2. fragment Fragment는 지정한 좌표의 공간을 채우는 작업이다. Geometry는 상황에 따라 달라질 수 있지만 거의 대부분 Fragment보다 빠르게 작업이 완료된다. 하지만 주의할 점은 Geometry의 변화는 곧 연관된 Fragment의 작업을 요구하기 때문에 최대한 Geometry를 변경하지 않는 방식의 코드를 구현하는 것이 중요하다! CSS 배경지식 CSS를 배우기 전 알아야 하는 배경지식들부터 설명 Graphics System 그래픽스 ..
IntelliJ사용하면서 좋은 설정이면 계속 작성하도록 할 예정입니다. 1. 마우스로 글꼴 크기를 변경 시킬수 있는 설정 2. 파일 클릭하면 프로젝트 구조에서 해당 파일을 선택해주는 옵션