//
Search
🕹️

송용호 0719

<코드리뷰>
리뷰
ByteArrayOutputStream output = new ByteArrayOutputStream();
입출력 특히 입력이 엄청 불친절한 자바
바이트스트림을 익혀놓자
<JAVA>
인터페이스
인터페이스를 쓰는 이유는?
인터페이스는 객체에 다형성 부여
홍길동은 사람은 동물이고, 동물은 생물이다.
홍길동은 그와 동시에 변호사이자, 음식싱겁게먹기모임에 일원이다.
if문 개수를 줄여준다.
규약을 정의하는데 용이하다. 결국에 결합성을 낮춰줍니다.
자동차가 특정 타이어와 규약없이 묶여있다면, 다른 타이어로 교체하기 힘듭니다. 다만 자동차가 특정 타이어를 모르고 타이어 규약만을 상대한다면 자동차에 표준규격을 따르는 모든 타이어를 교체해서 쓸 수 있습니다.
호환성이 확보되어 상황에 따른 유연한 대처가 가능
인터페이스의 의미
JAVA언어만의 인터페이스 → 클래스와 대비되는 인터페이스
객체지향 책에서의 인터페이스 → 상위타입, 껍데기
예외처리
프로그램에선 여러가지 예외가 발생할 수 있고, 지켜보고 알맞게 처리해줘야 한다.
예외 발생시킨 메소드에서 직접 처리할 수도 있고, 위로(선임에게) 넘겨주어 간접적으로 처리할 수도 있다.
혹은 알아서 넘겨받으니 방치할 수도 있음
예외처리 키워드와 모양
소스코드
try ~ catch
직접 예외처리
소스코드
try : 예외가 발생할 수 있는 구문을 감싸는 블럭
catch (ExceptionType e) : 해당 예외가 발생했을때 넘어가서 실행할 구문
finally : 예외 발생 여부 상관없이 try 블럭 다음에 실행될 구문
throws
간접 예외처리 → 개조심 팻말
소스코드
throws : 해당 함수는 ~ 에러를 밖으로 던질 수 있다는 표시 개조심
커스텀 예외 만들기
조금더 디테일한 보고가 필요하다면, 예외 클래스를 만들어서 throws 할 수도 있다.
if(~~) throws new ExeptionName();
접근제어자
private
클래스 내에서만 접근할 수 있다.
값에 대한 접근을 컨트롤 해야할 때가 있다.
직접 접근을 막고, 메소드를 통해서만 접근하길 원할 때 주로 사용
테스트 오답노트
BigInteger 클래스
숫자이지만 마치 문자열같이 사용해야 해서 사용법이 생소하다.
코딩테스트 등등 가끔 등장하니 손에 익혀 둘 것.
<JAVA - 서블릿>
목표
서블릿으로 서비스 구현
유사 스프링 구현하기
유사 MyBatis 구현하기
실제 서비스를 하기 위한 구현
도메인 연결
도커
도커, nginx
마리아 DB
톰캣
톰캣을 이용한 무중단 배포
TDD
프론트도 화려하진 않지만 깔끔하게
개발환경 세팅
톰캣 설치
버전 10.0.22
C:/work 아래에 압축 풀어놓기
인텔리제이 한글깨짐 해결하기
help editcustom VM options
-Dfile.encoding=UTF-8 추가하기
스마트 톰캣 설치
파일 설정 플러그인
smart tomcat
lombok 혹시 없으면 설치
src 안에 webapp 폴더 만들기
index.html 만들기
edit configuration → + → smart tomcat\
config - tomcat server → + 톰캣설치경로
deployment dir → webapp 폴더경로
서블릿 테스트
톰캣이란
웹앱을 처음부터 개발하는건 라면 끓이겠다고 가스레인지를 만드는 것과 같다.
톰캣은 통신 기능 등등을 가지고 이미 완성된 프로그램
우리가 만든 프로그램을 꽂아서 쓸 수 있다.
httpsServlet은 톰캣에서 제공됨.
<scope>provided</scope> 는 일단 컴파일할땐 내가 만드는데, 나중엔 톰캣걸 가져다 쓰겠다는 이야기