본문 바로가기

Java74

@Import 애노테이션의 쓰임 예전에 문득 'XXXConfig.class 파일들이 굉장히 많아지면 관리가 힘들겠다' 라는 생각을 한 적이 있었습니다. 그런데 오늘 Spring 공식 문서를 살펴보다가 @Import 애노테이션이라는 것을 보았고, 이전에 의문을 가졌던 부분을 해당 애노테이션으로 어느 정도 보완이 된다는 것을 알게 되었습니다. 아래 예시는 공식 문서에 나온 예시입니다. @Configuration public class ConfigA { @Bean public A a() { return new A(); } } @Configuration @Import(ConfigA.class) //이 부분! public class ConfigB { @Bean public B b() { return new B(); } } 보면 ConfigB에.. 2022. 9. 11.
@Nullable 사용 시 warning 발생 없애기 문제 프로젝트를 run 할 때 어느 순간부터 아래와 같은 warning이 발생해서 원인이 무엇인지 알아보았습니다. Warning:java: unknown enum constant javax.annotation.meta.When.MAYBE reason: class file for javax.annotation.meta.When not found 원인 @Nullable 애노테이션을 사용하면서 생기는 경고였는데, javax.annotation.meta.When 이라는 enum이 내 프로젝트 runtime에서 발견되지 않아서 나오는 경고였습니다. org.springframework.lang.Nullable이 해당 enum을 참조하는데 자동으로 그 enum이 생기지 않아서라고 하더라구요. 해결 build.grad.. 2022. 9. 9.
.gitignore 파일에 등록된 파일이 이미 commit되어 있는 경우 프로젝트를 진행하다가 배포 시점이 되면서 .gitignore를 만들어 몇몇 파일들은 배포되지 않도록 지정해주었습니다. 그 후에 commit을 하려니 아래와 같이 unmerged files 때문에 commit이 되지 않는다는 에러가 발생했습니다. add . 를 하고 commit 시도를 다시해도 안되길래, 혹시나 하고 다른 브랜치로 checkout을 해보려고 했더니 역시 안되었습니다 ㅎㅎ .gitignore에 설정된 directory 중에 .idea가 있었는데, 먼저 기존에 commit 되어 있는 .idea 파일들을 내려주어야 한다고 해서 # Quit the merge git merge --abort # remove the whole folder from the repo git rm -rf --cached .. 2022. 9. 5.
Spring 사용 시 DB를 H2에서 MySQL로 변경하기(JPA사용) In-memory DB인 h2를 사용하며 프로젝트를 구현하고 있었고 최종 배포의 시점이 다가오기 전에 미리 MySQL로 변경하게 되었습니다. 추가할 설정이나 변경사항이 많을까 싶었는데 다행히 상당히 쉬웠습니다! 사용한 Version 정보 Gradle 7.5 JDK 11 1. mysql에 접속해서 사용할 database 만들어놓기 정보를 저장할 DB를 설정해 줄 것이기 때문에 미리 사용할 database를 만들어 놓습니다. 2. build.gradle dependency 추가 원래 jpa를 사용하고 있었기 때문에 jpa dependency는 들어가 있었고, mysql dependency만 추가로 넣어주었습니다. dependencies { /* jpa */ implementation 'org.springfr.. 2022. 8. 31.
LAN & WAN & TCP/IP & MAC에 대해 알아보기 왠지 모르게 네트워크 관련 부분은 들어도 헷갈리고 자꾸만 까먹게 되길래 기록해두기로 했습니다! 아무래도 눈에 확연히 보이는 것이 아니다 보니 더욱 그런 것 같습니다 😵‍💫 알기 쉽도록 제가 이해한 대로 풀어 설명해보도록 하겠습니다. (혹시 잘못된 내용이 있다면 알려주시면 감사하겠습니다.) 1. LAN (Local Area Network) LAN은 '지역 네트워크' 라는 의미로 작은 네트워크를 지칭합니다. 작은 네트워크라고 함은 보통 하나의 학교, 연구소나 캠퍼스 등과 같은 범위에 한정됩니다. LAN 안에서 컴퓨터 자원들(컴퓨터, 프린터, 서버, 라우터 등)이 서로 연결되어 있습니다. 케이블로 연결하는 것이 성능 상 좋지만 무선으로 연결도 가능합니다. LAN 내의 기기들은 switch에 Ethernet 케.. 2022. 8. 23.
char 배열과 String class 간 변환 String을 char로 변환하는 경우는 알고리즘 문제를 풀 때 입력으로 String이 주어지고 String의 문자열 하나하나를 연산 해야할 때 주로 사용해왔습니다. 예를 들어서, 입력으로 12345가 주어지고 각 자리수에 10을 곱하여 출력해야 하는 경우가 있습니다. 그럴 때 for loop과 charAt() method를 적절히 사용해서 연산을 하고는 합니다. 사실 알고리즘을 풀 때는 위와 같은 방법으로 주로 하긴 하지만, 이번에 String을 char[]로 변환하는 메서드가 있다는 것을 알게되었고 나중에 필요할 일이 있을 것 같아 남겨두려고 합니다. String str = "12345"; char[] charArr = str.toCharArray(); //[1, 2, 3, 4, 5] 이렇게 toCh.. 2022. 8. 13.
반응형