[Java] switch 문이 if-else 보다 효율적인 이유

Intro 코드를 작성하다 보면 switch 문으로 작성할지, 혹은 if-else 를 사용할 지 고민될때가 자주 있습니다. 개인적으로는 보통 elseif 가 두개이상 붙게되는 시점부터는 보통 코드의 가독성이나 문맥에 따라 switch 문을 사용 하려 하고 있습니다. if.java void function(String args) { if ("a".equals(args)) { // A logic } else if ("b".equals(args)) { // B logic } else { // C logic } } switch.java void function(String args) { switch (args) { case "a": // A logic break; case "b": // B logic break..

Programming/Java 2022.07.09
[JAVA] zxing 활용해 QR코드 생성하기

Intro COVID 19 이후로 정말 많은것이 달라졌습니다. 하나하나 나열하기도 힘든 만큼 일상 생활 속에서 달라진 것 들이 많지만 그 중 하나의 기술을 뽑자면 QR 코드가 아닐까 싶습니다. 아주 오래전부터 있었지만 별다른 주목을 받지 못했고 그렇게 잊혀지는가 했는데 코로나로 인한 방문 기록, 전자문진표 등 조금씩 많이 쓰이는가 싶더니 카카오페이를 비롯한 여러가지 간편결제 서비스가 많아지면서 없어서는 안 될 기술이 되었습니다. 어플리케이션을 만들 때에도 곳곳에 QR코드를 활용 할 일이 많아졌는데요, QR코드 생성 한다면 크게 두가지 방법이 있습니다. 구글의 QR Codes API 에 요청 QR 코드를 작성하는 OpenSource를 활용해 로컬에서 생성 얼핏 보면 외부 API를 활용 하는게 간단해 보이는..

Programming/Java 2022.06.30
[Spring Boot] git 정보 확인하는 endpoint 작성하기

Intro 서버에 현재 배포되어 있는 어플리케이션의 버전 정보를 표시 할 수 있는 방법이 있을까 고민을 해 보았습니다. 하나의 프로젝트가 여러개의 서버에서 각기 다르게 서비스 되고 있다 보니 해당 정보를 관리자 페이지에서 확인 할 수 있게끔 하면 좋겠다는 생각이 들었는데요. 방법이 있었습니다. git-commit-id-plugin 이라는 메이븐 플러그인을 활용하면 어렵지 않게 구현 할 수 있습니다. 아래는 Spring Boot 공식 매뉴얼에 작성된 관련 내용 입니다. https://docs.spring.io/spring-boot/docs/2.1.7.RELEASE/reference/html/howto-build.html#howto-git-info 설정 Maven Dependencies pom.xml org..

Programming/JPA ⁄ Spring 2022.06.24
[Maven 에러] java.lang.IllegalStateException: Unable to load cache item

[Maven 에러] java.lang.IllegalStateException: Unable to load cache item 문제 Linux 운영체제에 maven 을 설치 하고, mvn 명령어를 실행 하던 중 아래와 같이 오류가 발생 했습니다. [ERROR] Error executing Maven. [ERROR] java.lang.IllegalStateException: Unable to load cache item [ERROR] Caused by: Unable to load cache item [ERROR] Caused by: Could not initialize class com.google.inject.internal.cglib.core.$MethodWrapper원인 사용중인 메이븐 버전이 설치되어..

Development/Daily Error 2022.06.24
The getKey method should only be used when a single key is returned

Intro JDBC의 KeyHolder를 사용 하던 중 위와 같은 에러를 만났습니다. 에러 전문은 아래와 같습니다. org.springframework.dao.InvalidDataAccessApiUsageException: The getKey method should only be used when a single key is returned. The current key entry contains multiple keys: [{id=13, item_name=M2Air, price=1690000, quantity=12}] keyHolder.getKey() 를 했을때 하나의 키가 반환 되어야 하지만 여러개의 키가 반환 되어 발생한 에러라고 메시지에 쓰여 있습니다. 상황 NamedParameterJdbcTe..

Development/Daily Error 2022.06.16