본문 바로가기

개발11

간단 Spring 동작 원리 IOC(Inversion of Control) "내가 쓸 놈은 내가 만들어 쓸께...." 일반적으로 의존성에 대한 제어권이 역전되는 것을 뜻하게 됩니다. class OwnerController{ private OwnerRepository repo; public OwnerController(OwnerRepository repo){ this.repo=repo;//누군가가 주입한 repo를 사용하게 됩니다. } //이후에 repo사용 } IOC 컨테이너 Spring에서 IOC컨테이너는 ApplicationContext(BeanFactory)를 뜻하게 됩니다. 이 ApplicationContext는 bean을 만들고 엮어주며 제공하게 됩니다. 기존에 Spring에서는 web.xml을 통해 내가 만들 IOC컨테이.. 2020. 7. 8.
intellij 유용한 단축키 윈도우 환경에서 intellij 사용시 유용한 단축키를 정리한 것입니다. Shift+Shift : 전체 검색. 특히 Tab을 한번더 눌려서 Class검색할 때 편함 Ctrl+Alt+V: 변수를 빼내서 새로 할당할 때 사용 Ctrl+Alt+M: 메소드를 빼내서 새로 할당할 때 사용 Ctrl+Shift+F10: 현재 커서에서의 메서드 테스트 실행 Shift+F10: 마지막으로 실행한 테스트 실행 psvm: public static void main 함수 자동 완성 Ctrl+Shift+Enter: if나 for문 자동완성 Alt+Enter: 잡다한 수정 및 생성 다 해주는 만능키(특히 없는 메서드 만들어 놓고 단축키 사용시 메서드 자동 생성해줌) Alt+Insert: Generate창 Open sout: Sy.. 2020. 7. 4.
테스트 주도 개발 3~9장 테스트가 다른 테스트에 영향을 주는지 판단하자 abstract class Money { protected int amount; protected String currency; public boolean equals(Object object){ // 같은지 확인 Money money=(Money) object; return amount==money.amount &&getClass().equals(money.getClass()); } abstract Money times(int multiplier); // 곱하기 함수 } 이러한 Money 추상 클래스가 있다고 합시다. 만약 times함수에 대한 테스트를 assertEquals를 통해 하게 된다면 equals함수를 통해 검사를 하게 됩니다. equals함수의.. 2020. 6. 15.
테스트 주도 개발 - 1~2장 TDD의 주기 테스트를 작성한다. 올바른 답을 얻기 위해 필요한 모든 요소를 포함하여야한다! 실행 가능하게 만든다. 빨리 초록 막대를 보는 것이 핵심이다. 깔끔하고 단순한 해법이 명백히 보인다면 바로 구현하는 것도 괜찮다. 하지만 구현에 몇분이상 걸린다면 최대한 짧고 나쁘게(?) 구현한다. 올바르게 만든다.(리팩토링) 저질렀던 죄악을 수습한다. 소프트웨어 정의에 따라 구현한다. 이러한 주기를 짧게 가져갈 수 록 좋다. 테스트도 작은 테스트 단위로 추가하고 코드를 조금 수정 후, 바로 리팩토링을 한다. TDD의 목표는 무엇일까? 작동하는 깔끔한 코드를 얻는 것이 목적이다. 두려움을 관리할 수 있다. 두려움을 테스트로 극복하는 것이다. TDD는 로직이 복잡할 때 빛을 발한다. 간단한 경우에는 아무렇게나 작성.. 2020. 5. 24.