본문 바로가기
반응형

분류 전체보기99

[Eclipse] import 에러 : No projects are found to import 프로젝트 파일 내부에 .project, .classpath와 같은 파일이 없으면 eclipse 혹은 sts에서 프로젝트로 인식하지 못해서 import할 때 'No projects are found to import' 에러가 발생한다. 이럴 경우 File>Import가 아닌 File>Open Projects from File System 을 통해 프로젝트를 불러와야 한다. Directory 버튼을 눌러 프로젝트를 선택한 뒤 Finish 버튼을 누르면 프로젝트가 불러와진 것을 확인할 수 있다. 2022. 2. 8.
[JAVA] Priority Queue(우선순위 큐) 우선순위 조건 변경하기 Priority Queue FIFO(First In First Out)인 일반적인 Queue와 다르게 Priority Queue는 우선순위가 높은 데이터가 먼저 Out된다. 기본적으로 오름차순 정렬을 하게 되는데 정렬 기준을 바꾸고 싶다면 람다식을 이용하거나 Comparator, Comparable를 이용해야 한다. Integer는 Collections.reverseOrder()를 통해 간단하게 내림차순 정렬을 할 수 있다. PriorityQueue pq = new PriorityQueue(Collections.reverseOrder()); pq.add(5); pq.add(7); pq.add(10); pq.add(3); System.out.println(pq.poll()); // 10 출력 add가 아닌.. 2022. 2. 7.
[Spring] Bean 등록 방법 : @Bean vs @Component 차이 Spring이 객체를 제어하기 위해서는 객체들이 Bean으로 등록되어 있어야 한다. 기존엔 xml을 통해 bean으로 등록했는데 Spring MVC에서는 @Controller, @Service, @Repository 등의 어노테이션을 통해 Spring Container에 Bean으로 등록할 수 있다. 그리고 Configuration 관련 객체는 @Bean과 @Component 어노테이션을 통해 Bean으로 등록할 수 있다. 여기서 @Bean과 @Component의 차이는 무엇일까? @Bean 직접 컨트롤할 수 없는 외부 라이브러리를 Bean으로 등록하고 싶은 경우에 사용한다. @Target({ElementType.METHOD, ElementType.ANNOTATION_TYPE}) @Retention(Re.. 2022. 2. 3.
[Maven] 메이븐 repository에 없는 라이브러리 추가하기 필요한 라이브러리를 build.gradle이나 pom.xml의 dependency에 명시에 주기만 하면 maven repository에서 알아서 가져와준다. 하지만 회사의 내부라이브러리와 같은 maven repository에 없는 라이브러리가 있다면 어떻게 해야할까? 방법1 pom.xml에 먼저 명시했을 경우 maven repository에 해당 라이브러리가 존재하지 않아 에러가 발생한다. 로컬의 maven repository 에 가보면 디렉토리가 생성되어 있다. 여기에 test-1.0.0.jar 파일을 추가해주면 pom.xml의 에러가 사라진다. 방법2 mvn install:install-file -Dfile=D:\test-1.0.0.jar -DgroupId=com.test.ynzu -Dartifact.. 2022. 2. 3.
[JAVA] 대칭키 암호화 알고리즘 키 제한 오류 해결 : Illegal key size 개발 중 대칭키로 암호화해야할 상황이 생겼는데(DESede/CBC, DES/CBC, AES/CBC 등의 알고리즘 이용), 192 혹은 256 bit의 대칭키를 이용하여 암호화를 할 경우 에러가 발생했다. java.security.InvalidKeyException: Illegal key size 원인을 찾아보니 Java는 기본적으로 JCE 정책을 제공하는데 이 정책은 미국의 정책에 따라 128 bit로 키 길이가 제한되어 있어서 이를 초과하는 경우엔 에러가 발생하는 것 이다. 이 정책은 /jre/lib/security/local_policy.jar의 default_local.policy 파일에서 확인할 수 있으며, 정책 내용은 아래와 같다. // Some countries have import limit.. 2022. 1. 26.
[JAVA] class file for javax.interceptor.InterceptorBinding not found SBA(Spring Boot Admin)을 사용하기 위해 모니터링하고자 하는 프로젝트에 'spring-boot-admin-starter-client' 라이브러리를 추가 했다. java: cannot access javax.interceptor.InterceptorBinding class file for javax.interceptor.InterceptorBinding not found Consult the following stack trace for details. com.sun.tools.javac.code.Symbol$CompletionFailure: class file for javax.interceptor.InterceptorBinding not found 그 전에 build가 잘 됐는데 갑자기.. 2022. 1. 26.
[Spring] Spring Boot Admin 사용하기 - Log, Login 적용 1. 기본 세팅 1.1 Admin Server maven 혹은 gradle에 spring-boot-admin-starter-server 라이브러리 추가 de.codecentric spring-boot-admin-starter-server 2.6.2 // https://mvnrepository.com/artifact/de.codecentric/spring-boot-admin-starter-server implementation 'de.codecentric:spring-boot-admin-starter-server:2.6.2' @EnableAdminServer 추가 @SpringBootApplication @EnableAdminServer public class AdminApplication { public.. 2022. 1. 25.
[JavaScript] var, let, const 비교 - var is used instead of let or const 인텔리제이를 작년에 처음 사용해봤는데 자바스크립트를 개발할 때 평소처럼 var을 사용했더니'var is used instead of let or const' 라는 메시지가 보여졌다. 메시지를 번역해보면 'var'대신 'let'이나 'const'를 사용하라는 것이다. sts를 사용할 땐 저런 메시지가 나오지 않았는데 왜 'var'대신 'let'이나 'const'를 사용하라는건지 서치해보았다! es6부터는 var대신 새로운 변수 선언 방식을 사용할 수 있다. 물론 var사용을 못하는 건 아니지만 인텔리제이에서 새로운 표준에 맞게 개발하라는 경고 메시지를 띄어주는 것이다. 그리고 최근의 많은 자바스크립트 강좌에서도 가급적 var 대신에 let이나 const 키워드를 사용하여 변수를 선언하라고 가이드하고 있다고.. 2022. 1. 24.
728x90
반응형