목록Programing (36)
꾸준한 개발일기
회원가입 후 주문 시 회원등급(VIP, BASIC)에 따라 할인을 받는 기능을 구현하였다. 현재 DB가 정해져 있지 않고, 할인도 정해진 액수로 할인이 들어갈지, 아니면 정률 할인이 적용할지 정해지지 않았다는 설정이다. 필요 기능을 구현하고 고객의 요구에 맞춰 할인 정책을 바꿔낄 수 있도록 구현하는데 여기서 제어의 역전과 의존관계 주입에 대해 이해해보고자 한다. AppConfig 먼저, 프로젝트 코드이다. 전체 코드는 맨 아래 깃헙 주소를 올려 놓겠다. package hello.core; import hello.core.discount.DiscountPolicy; import hello.core.discount.FixDiscountPolicy; import hello.core.discount.RateDi..
자바 개발자들의 필수 라이브러리인 롬복을 빌드 해주려는데 오류가 발생했다. 문제확인: build.gradle의 dependencies에 아래 코드를 추가해준 후 implementation('org.projectlombok:lombok') Gradle 새로고침을 하였는데 아래의 에러메세지가 떴다. 오류 메세지: Could not find method compile() for arguments [org.projectlombok:lombok] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler. 그리고 현재 프로젝트의 설정은 Gradle 버전 7이다. 해결방법: 해결방법은 간단했다. Gradle..
데이터를 연계해서 가져오는데 도메인 host를 사용하고 있었다. 서버에선 도메인을 등록해주지 않았기 때문에 갑자기 문제가 발생하였다. 그래서 도메인 명으로 호스트를 찾는 법을 정리하려 한다. 리눅스나 윈도우에서 터미널을 열어준다. 리눅스에서는 ssh, 윈도우에서는 cmd를 사용하면 된다. ping 도메인명 터미널에서 ping을 날려준다. C:\Users\OOO>ping OOO.OOO.or.kr Ping OOO.OOO.or.kr [OO.O.OOO.OOO] 32바이트 데이터 사용: 요청 시간이 만료되었습니다. 요청 시간이 만료되었습니다. 요청 시간이 만료되었습니다. 요청 시간이 만료되었습니다. OO.O.OOO.OOO에 대한 Ping 통계: 패킷: 보냄 = 4, 받음 = 0, 손실 = 4 (100% 손실), ..
인텔리제이를 사용하여 스프링 프로젝트를 진행해보기로 했다. 먼저 인텔리제이를 설치했고 프로젝트를 만드는 방법을 정리해보려한다. 인텔리제이는 이클립스의 워크스페이스 같은 개념이 없고 프로젝트와 모듈의 개념만 있다. 그렇기 때문에 한 화면에서는 하나의 프로젝트만 열리고 모든 프로젝트를 한 번에 불러올 수 없다. 이점을 주의하여야 한다. New-Project 새로운 프로젝트를 생성한다. Gradle-Java 프로젝트는 그레이들로 생성해준다. Next 클릭 프로젝트명과 위치 지정 프로젝트명과 위치를 지정해주었다. 그레이들 프로젝트를 스프링 부트 프로젝트로 변경하기 buildscript { ext { springBootVersion = '2.1.7.RELEASE' } repositories { mavenCentr..
서비스단 파일을 수정 후 저장을 했는데 컴파일이 되지 않는 오류가 발생했다. 그리고 수정하지도 않는 설정 xml 파일에서 빨간 X가 떴다. 컴파일 폴더 컴파일 폴더를 확인하면 현재 12일인데 어제 4시쯤부터 컴파일이 되지 않았다. Project Clean 검색 후 프로젝트를 클린해주었다. 여기서 클린은 파일을 전부 삭제하는 것이 아니라 컴파일된 파일을 삭제 후 다시 컴파일 해주는 것이기 때문에 걱정할 필요가 없다. 1. Proejct - Clean 클린 후 결과 당황스럽게도 컴파일이 전혀 되어있지 않았다. Build Automatically 설정 1. Build Automatically 체크를 풀어준다. 2. ctrl + b (Build All) 3. 톰캣 재시작 그래도 컴파일이 되지 않는다. 다시 검색..