본문 바로가기

프로그래밍

TortoiseSVN를 이용한 프로젝트 업로드(eclipse의 share) tortoise 설치 후 탐색기에서 대상 디렉터리선택 후 context menu 호출 여기서 TotoiseSVN > Import 선택 원하는 svn 저장소 위치 입력 후 그 하위에 새로 만들 디렉터리 명까지 직접입력하거나 ...버튼을 눌러 repos explorer에서 신규 디렉터리 생성 후 해당 위치 지정 더보기
IIS 서버 호출시 기본 디렉터리 탐색현상 처리 ftp stream 서버로 로컬에서 파일 접근 시 404에러발생과 내가 지정하지 않은 실제 경로를 가리키는 현상을 확인했다. IIS 탐색자에서 처리할 수 있다. 바인딩에서 IP로 만 접근을 허용하도록 되어 있었다. 테스트 할 때는 localhost로 접근하고 있는데 그렇게 되면 접근 IP가 내 사설 IP로 인식되지 않는다. localhost만 따로 설정하자 정상적으로 접근된다 더보기
Spring boot mongo DB replica set 설정하기, xml에서 java config로 전환 application.yml을 통해서 spring.data.mongodb.uri 값을 지정하여 입력하였는데, 이를 인식하지 못하는 것인지 starter에서 host와 port를 내놓으라고 한다. yml 내용 spring: data: mongodb: uri: mongodb://192.168.0.12:27017,mongodb://192.168.0.13:27017 database: test-replica repositories: type: auto 아래 내용을 보면서 했는데 이해를 못하겠다. https://docs.spring.io/spring-boot/docs/2.0.8.RELEASE/reference/htmlsingle/#boot-features-connecting-to-mongodb 원래는 xml로 세팅.. 더보기
Spring boot starter data MongoDB interface repository 를 인식하지 못할 때 spring boot로 처음 프로젝트를 진행하면서 생각지도 못한 난관을 만났다. mongodb를 spring data 를 이용해 접근하려고하는데 spring boot starter data를 이용해서 application.yml을 이용해서 서버 정보를 입력해주고 interface를 매핑하려니 매핑이되지 않는다. 매핑은 아래와 같이 했다. @Configuration @ComponentScan({"com.test"}) @MapperScan(“com.test") @PropertySource({ "classpath:properties/database-${spring.profiles.active}.properties" , "classpath:properties/broker-${spring.profiles.acti.. 더보기
[maven] maven-resources-plugin을 이용한 properties.xml 별도 배포 여러 상황에 맞는 프로퍼티 내용을 배포 후에도 수정하고 바로 적용 시키는 걸 위해서 기존에 jar에 담아 배포하던 properties 관련 xml파일을 분리 배포하는 방법을 찾았었다.ㅏ jar 에 포함되면 propertie조금 바꿨다고 다시 배포본을 말고, 그걸 다시 배포하고 하는 쓸데 없는 일이 자꾸 벌어진다.. 배포하는 용도에 따라서 분리해서 배포해내고도 싶었다. 그래서 이용하게 된 것이 maven-resources-plugin이다. 배포본 생성 시에 파라미터를 통해 어떤 것을 분리해서 복사할 지를 정하게도 했다. pom.xml에 아래 처럼 maven-resources-plugin의 설정 정보를 입력했다. org.apache.maven.plugins maven-resources-plugin copy-.. 더보기
maven clean install 후 runnable jar 배포설정 Maven내에서 컴파일시 배포를 함께 처리하도록 플러그인을 설정한다. 핵심내용 Maven-jar-plugin(MANIFEST파일 커스텀), maven-dependency-plugin(종속된 라이브러리를 지정 디렉터리에 복사에서 제공) 를 이용하도록 추가했다 Maven-jar-plugin 은 하위에 , , 지정 maven-dependency-plugin은 하위에 , , , 등을 지정 상기항목 모두 하위 예제와 같은 형태이다. 4.0.0 Scheduler Scheduler 0.5 Scheduler src maven-compiler-plugin 3.7.0 1.8 1.8 org.apache.maven.plugins maven-jar-plugin true lib/ com.test.quartzMain org.apa.. 더보기
AOP 사용하지 않던 프로젝트에 AOP 추가 시 발생한 문제 Eclipse에서 개발 중에 일부 Pointcut이 정상적으로 선택이 안되는 문제가 발생했었다. Spring AOP를 이용한 것이 아닌 순수 AspectJ로 Pointcut을 컨트롤 하려고 하였다. 일부는 예상했던데로 잘 Aspect에 할당한 Pointcut에 잡히게 되었다. Advice : before advice, after returning advice, around advice, after throwing advice 등의 특정 동작에 대한 어떤 시점에 잡을 것인지를 정의한다. Pointcut : 특정 제한자 / 특정 클래스 하위의 / 특정 반환기본형을 가진 / 특정 함수가 / 특정 매개변수를 이용하는 것을 말한다. wild card 나 논리 연산자를 통해 유연하게 잡아낼 수 있다. 정리하면 특정.. 더보기
AspectJ 수동 추가 후 일부 Pointcut이 정상적으로 동작하지 않을 때 해결하기 일부 pointcut은 잡히지만 안잡히는 Aspect의 pointcut이 있었다. 잡으려는 Point가 protected void 함수였는데, 단순하게 protected 타입때문 혹은 Abastract Method가 이유라고 생각했다 -> 직접적으로 선언하거나 pointcut 설정 기술인 SuperClass+ 표기로 해도 되지 않았다. CGLIB가 이를 해결하리라 믿고 추가하였음에도 불구하고 정상동작하지 못했다. 그래서 그냥 뭐든 해보자라는 마음으로 프로젝트 설정을 바꿔 보았다. Convert to AspectJ Project 소스 수정화면 좌측명에 Aspect별 위치도 출력이 안되었다가 설정된 두에 출력되었다. 선택 후 Explorer을 다시 로드하고 다시 프로그램을 실행해뵌 바로 Aspect 및 Po.. 더보기