백엔드132 리팩토링 맛보기 1탄 리팩토링의 정의 리팩토링( refactoring) 이란 외부에서 보는 프로그램 동작은 바꾸지 않고, 프로그램 내부 구조를 개선하는것이다 리팩토링을 해도 외부에서 보는 프로그램 동작은 변하지 않는다 리팩토링하면 프로그램의 내부 구조가 개선된다. 리팩토링의 목적 버그 수정과 기능 추가는 리팩토링이 아니다. 버그를 발견하기 쉽게 만든다. 버그 수정자체는 리팩토링이 아니다. 하지만 리팩토링을 하면 프로그램이 정리되어 숨은 버그를 찾기 쉬워진다. 기능을 추가하기 쉽게 만든다. 리팩토링을 하면 망가지고 더러운 코드를 다시 정비해서 깨끗하게 만들수 있다. 리뷰하기 쉽게 만든다. 리팩토링으로 깔끔해진 코드는 읽기 쉽고 이해하기 좋다. 리팩토링의 한계 리팩토링이 불가능할때도 있다. 프로그램이 아직 동작하지 않을때 리팩토.. 2019. 8. 11. 톰캣에서 애플리케이션 두번 디플로이 되는 현상 중복(두번) 디플로이가 되어 스케줄러가 두번 구동되거나, 로그가 중복으로 찍히는 현상 또는 애플리케이션이 두번 구동되는 현상의 원인 1. web.xml 의 ContextContextLoaderListener 과 DispatcherServlet 에서 같은 설정 파일(*.xml) 을 로딩되도록 설정되어 있을때 2. Tomcat server.xml 파일 내용중 Host 의 appBase 와 Context 의 docbase 의 경로가 동일하거나, appBase 경로에 docBase 경로가 포함될때 참고 : https://tomcat.apache.org/tomcat-8.5-doc/config/host.html Automatic Application Deployment ...... When using automat.. 2019. 7. 29. JUnit 4.5 에러 에러코드 java.lang.NoClassDefFoundError: org/junit/Assume$AssumptionViolatedException java.lang.NoSuchMethodError: org.junit.runner.notification.RunNotifier.testAborted(Lorg/junit/runner/Description;Ljava/lang/Throwable;)V 원 인 : Spring 2.5.x 에서 JUnit 4.5 사용시 에러 발생. 해결법 : 3.8 or 4.4 버전을 사용하면 해결됨. 2019. 3. 13. Apache + Tomcat 연동 맛보기 Apache 2.2 + Tomcat 5.5 연동 (정/동적 파일 분리 중심 연동) Apache 와 Tomcat 을 연동시 아파치에서는 정적인파일 (이미지, js, html 등등) 을 처리하게 하고 톰캣에서는 동적인 파일들을 처리하도록 하는것이 가장 중요한 포인트입니다. 대용량 트래픽을 유발하는 서비스의 경우는 이미지 파일 이나, js 파일 등을 아래와 같이 서브 도메인으로 만들어서 물리적으로 다른서버에 두게 하는경우가 일반적인 적용 가능한 경우입니다. 예) 이미지, js 파일 등등 : img.onjava.co.kr (일반적으로 이미지 서버 또는 파일서버) 동적인 파일 : www.onjava.co.kr (웹서버) www.onjava.co.kr 내의 html 에서 img 를 호출시 와 같은 형태로 하지만, .. 2019. 3. 12. Spring @Autowired 사용시 주의점 @Autowired 사용시 동일한 타입의 Bean 객체를 2개 이상일때 Injection of autowired dependencies failed 에러 발생하게 됩니다. 원인 : expected single matching bean but found 2: 해결방법 : @Autowired 사용시에는 동일한 타입을 Bean 객체를 2개사용하지 말것. (@Autowired 로 명시해준 클래스의 동일한 클래스를 XML 설정파일에 bean 으로 설정하지 말것.) 만약, 동일한 클래스를 2개 이상 설정해줘야 한다면, 예) bean id가 main 일 경우 @Qualifier("main") 를 함께 사용하여 이름을 지정하거나, @Resource(name = "main") 를 이용하여 이름을 지정한다. 참고 URL .. 2019. 3. 11. 이전 1 ··· 15 16 17 18 19 20 21 ··· 27 다음 728x90