스프링/스프링 기본

스프링/스프링 기본

좋은 객체 지향 설계의 5가지 원칙

클린 코드로 유명한 로버트 마틴이 좋은 객체 지향 설계의 5가지 원칙을 정의 SOLID SRP : 단일 책임 원칙 OCP : 개방 폐쇄 원칙 LSP : 리스코프 치환 원칙 ISP : 인터페이스 분리 원칙 DIP 의존관계 역전 원칙 SRP 단일 책임 원칙 한 클래스는 하나의 책임만 가져야 한다. 하지만 이는 모호하다 왜냐하면 클래스마다, 책임의 크기가 다르고, 문맥과 상황에 따라 다르다. 중요한 기준은 변경이다. 변경이 있을 때 파급 효과가 적으면 SRP를 잘 준수한 것. ex) UI 변경, 객체의 생성과 사용을 분리 OCP 개방-폐쇄 원칙 (중요 1) 소포트웨어 요소는 확장에는 열려 있으나, 변경에는 닫혀 있어야 한다. 다형성을 활용하여, 인터페이스를 구현한 새로운 클래스를 하나 만들어서 새로운 기능을 ..

스프링/스프링 기본

Web server failed to start. Port 8080 was already in use

Solution 스프링을 하면서, "Web server failed to start. Port 8080 was already in use"와 같은 에러가 발생할 때가 있다. 이 에러의 원인은, 이전에 해당 포트(8080)를 사용하는 다른 프로그램이 이미 실행 중이기 때문이다. 더 자세하게 말하지 않고, 맥 운영체제에서 해결할 수 있는 방법을 공유하겠다. 1. 터미널에 sudo lsof -i :8080 2. sudo kill {PID} 2번의 PID는 정말 PID를 치라는게 아니라, 1번의 코드를 입력하면, 해당 포트를 점유하는 프로세스와 PID 번호가 있을 것이다. 대치하여 입력하면 된다.

스프링/스프링 기본

스프링 finished with non-zero exit value 1 <TaskExecution>

스프링 프로젝트를 처음 시작함과 동시에, finished with non-zero exit value 1 이 떠서 다음 작업을 진행할 수 없었다. 이 경우엔 TaskExecution 예외가 발생하였는데, 다음과 같이 해결하였다. 필자가 사용중인 IDE는 IntelliJ 이다. 1. IntelliJ IDEA 탭에서 Settings로 들어간다. 2. Gradle을 검색하여, Build and run using, Run tests using을 Gradle > IntellJ IDEA로 변경한다. 3. 마지막으로 현재 스프링 부트 버전과 사용중인 JVM 버전이 호환이 되는지 확인한다.

Berkleeboston
'스프링/스프링 기본' 카테고리의 글 목록 (2 Page)