[build error/Spring Boot] 🌱 MacOS terminal에서 jar 파일 실행 오류, Web server failed to start. Port 8080 was already in use.
·
Spring Boot
MacOS 환경에서 jar 파일 실행 오류***************************APPLICATION FAILED TO START***************************Description:Web server failed to start. Port 8080 was already in use.Action:Identify and stop the process that's listening on port 8080 or configure this application to listen on another port.📌 문제 원인: Gradle build 후에 [control + z] 단축키로 이전 명령을 취소한 뒤에 다시 [java -jar ...] 명령어로 jar 파일 실행.MacOS 환경에..
[Gradle/Spring Boot] 🌱 Gradle build error 'Permission Denied' 처리하기
·
Spring Boot
Gradle 빌드 시 'Permission Denied' 처리하기📌 문제 원인: ./gradlew build 명령어 입력 시 gradlew: permission denied 오류 발생💡 해결 방법: 권한 설정 필요.1.chmod명령어 입력.-- chmod 명령어: chmod +x ./gradlew    --> chmod: 파일 권한 변경 명령어    --> +x: 실행 권한 추가 옵션    --> ./gradlew: Gradle 실행 파일-- chmod +x ./gradlew 명령어를 입력하여 gradlew 파일에 실행 권한을 부여한다.2.iTerm (터미널) 다시 실행.저는 MacOS 환경에서 iTerm으로 명령어를 실행하였는데, chmod 명령어를 입력하고 다시 빌드를 해도 동일한 Permissi..
[Git] 🔔 RPC failed; HTTP 400 curl 22 The requested URL returned error: 400 send-pack: unexpected disconnect while reading sideband packet
·
Git
개인 github의 TIL 레퍼지토리에 공부한 docs를 Push 하다가 발생한 Git Push Error에 대해 포스팅 해본다. 위 error는 찾아보니, 너무 많은 이미지 혹은 동영상을 Commit하게 되면 전송 타이밍에 가능한 packet용량을 초과한 것으로 보인다. 상황은 이렇다.(1) docs에 필요한 각 692KB, 401KB 크기의 png파일을 commit하고,(2) md 파일에 90 라인을 추가하고 commit한 것을 push 하였다. 아마도 png 파일 두 개의 용량으로 인한 git push error일 것으로 보인다. 참조 [1]번의 git config http.postBuffer 524288000 를 통해서 buffer size를 늘려준 뒤, 소스트리에서 다시 push를 하니 정상적으..
[DDD/도메인 주도 설계] 🏛️ chap2. 아키텍처 개요 - DIP
·
DDD
CHAPTER 2. 아키텍처 개요2. DIP| Dependency Inversion Principle, 의존 역전 원칙 고수준 모듈이 제대로 동작하려면 저수준 모듈을 사용해야 한다. 그런데, 고수준 모듈이 저수준 모듈을 사용하면 앞서 계층 구조 아키텍처에서 언급했던 두 가지 문제(구현 변경과 테스트가 어려움)가 발생한다. DIP는 이 문제를 해결하기 위해 저수준 모듈이 고수준 모듈에 의존하도록 바꾼다. 고수준 모듈을 구현하려면 저수준 모듈을 사용해야 하는데, 반대로 저수준 모듈이 고수준 모듈에 의존하도록 하려면 추상화한 인터페이스를 사용해야 한다. CalculateDiscountService 입장에서 룰 적용을 Drools로 구현했는지, Java로 직접 구현했는지는 중요하지 않다.단지, '고객 정보와 구..
[DDD/도메인 주도 설계] 🏛️ chap 2. 아키텍처 개요 - 아키텍처
·
DDD
CHAPTER 2. 아키텍처 개요1. 아키텍처🏛️ 네 개의 영역아키텍처의 전형적인 영역, '표현', '응용', '도메인', '인프라스트럭처'의 네 영역이다.웹 애플리케이션에서 표현 영역은 HTTP 요청을 응용 영역이 필요로 하는 형식으로 변환해서 전달하고, 응용 영역의 응답을 HTTP 응답으로 변환해서 전송한다.예를 들어, 표현 영역은 웹 브라우저가 HTTP 요청 파라미터로 전송한 데이터를 응용 서비스가 요구하는 형식의 객체 타입으로 변환해서 전달하고, 응용 서비스가 리턴한 결과를 JSON 형식으로 변환해서 HTTP 응답으로 웹 브라우저에 전송한다.표현 영역을 통해 사용자의 요청을 전달받는 응용 영역은 시스템이 사용자에게 제공해야 할 기능을 구현한다. 주문 취소 기능을 제공하는 응용 서비스를 예로 들면..
[JAVA] 객체지향 프로그래밍 - 클래스 기초
·
JAVA
(이 포스팅은 제대로 파는 자바 강의를 수강하고 공부한 내용을 올립니다.)1. 클래스 기초객체 object / 인스턴스 instance : 속성(프로퍼티)들과 기능(메소드)들의 묶음자바에서는 객체와 인스턴스를 같은 것으로 이해해도 됨인스턴스는 클래스에서 정의한 방식으로 양산됨 💡클래스 & 인스턴스 -> 프랜차이즈 본사 & 매장ex02☕️YalcoChicken.java// 본사의 코드public class YalcoChicken { // 인스턴스가 가질 필드(field)들 int no; String name; // 인스턴스가 가질 메소드 - 💡 static을 붙이지 않음 String intro () { // no와 name 앞에 this를 붙인 것과 같음 return ..
[DDD/도메인 주도 설계] 🏛️ chap 1. 도메인 모델 시작 - 도메인 용어
·
DDD
이 포스팅은 [DDD START! 도메인 주도 설계 구현과 핵심 개념 익히기 - 최범균]를 읽고 난 후에 이에 대한 내용을 정리하여 기록을 남기려고 합니다._Chapter 1. 도메인 모델 시작이번 포스팅은 chap 1. 의 마지막으로 도메인 용어에 대해 정리해보았습니다.도메인 용어코드를 작성할 때 도메인에서 사용하는 용어는 아주 중요하다. 도메인에서 사용하는 용어를 코드에 반영하지 않는다면 그 코드는 개발자에게 코드의 의미를 해석해야 하는 부담을 준다.ex) OrderState를 다음과 같이 구현했다고 가정해보자.public OrderState { STEP1, STEP2, STEP3, STEP4, STEP5, STEP6}실제주문상태는 '결제 대기중', '상품 준비중', '출고 완료됨', '배송중'..
[DDD/도메인 주도 설계] 🏛️ chap 1. 도메인 모델 시작 - 엔티티와 밸류
·
DDD
이 포스팅은 [DDD START! 도메인 주도 설계 구현과 핵심 개념 익히기 - 최범균]를 읽고 난 후에 이에 대한 내용을 정리하여 기록을 남기려고 합니다._Chapter 1. 도메인 모델 시작이번 포스팅은 chapter 1. 의도메인 모델엔티티와 밸류도메인 용어중에서 두 번째 엔티티와 밸류에 대해 정리해봤습니다.엔티티와 밸류엔티티엔티티의 식별자 생성밸류 타입엔티티 식별자와 밸류 타입도메인 모델에 set 메서드 넣지 않기엔티티와 밸류도출한 모델은 크게 엔티티(Entity)와 밸류(value)로 구분할 수 있다. 엔티티와 밸류를 제대로 구분해야 도메인을 올바르게 설계하고 구현할 수 있다. 그래서 이 둘의 차이를 명확하게 이해하는 것이 도메인을 구현하는데 있어 중요하다.엔티티엔티티의 가장 큰 특징은 식별자를..
[DDD/도메인 주도 설계] 🏛️ chap 1. 도메인 모델 시작 - 도메인 모델
·
DDD
이 포스팅은 [DDD START! 도메인 주도 설계 구현과 핵심 개념 익히기 - 최범균]를 읽고 난 후에 이에 대한 내용을 정리하여 기록을 남기려고 합니다._ Chapter 1. 도메인 모델 시작이번 chapter를 통해서 아래의 내용을 알아보았습니다. 도메인 모델엔티티와 벨류 도메인 용어이번 포스팅에서는 도메인 모델에 대해 정리해봤습니다. 도메인도메인 모델도메인 모델 패턴도메인 모델 도출도메인저는 저자분과 같이 책을 구매할 때 온라인 서점을 자주 이용한다. 개발자 입장에서 온라인 서점은 구현해야 할 소프트웨어의 대상이 된다. 온라인 서점 소프트웨어는 온라인으로 책을 판매하는 데 필요한 구매, 결제, 배송추적 등의 기능을 제공해야 한다.이 때, [온라인 서점]은 소프트웨어로 해결하고자 하는 문제 영역, ..
[Java] 📚 문자열 형변환 Object to String : Casting, valueOf, toString
·
JAVA
valueOf(Object obj) Returns the string representation of the Object argument. (Java docs) : 파라미터에 들어가는 Object (int, double ...)를 String 문자열 표현으로 바꿔서 반환한다. if the argument is null, then a string equal to "null"; otherwise, the value of obj.toString() is returned. (Java docs) : 파라미터가 null 이라면, String 문자열로 "null"이 반환되며, null 이 아니라면 toString() 함수값을 반환한다. Object.toString() In general, the toString me..