내가 필요해서 내가 적는 블로그

JAVA 백엔드 개발자의 기록들

반응형

JAVA 8

java.util.NoSuchElementException: No value present

java.util.NoSuchElementException: No value present at java.util.Optional.get(Optional.java:135) at ~~~.service.AbstractEntityService.findById_aroundBody30(AbstractEntityService.java:95) No value... 벌써부터 값이 없다는 느낌이 든다. 다음줄에 Optional.get 을 확인할 수 있고, 그 아래엔 findById를 볼 수 있다. 예시 Group group = findById(member.getGroupId()); * member가 가지고 있는 GroupId로 group을 조회할 시 위와 같은 에러가 발생하였다. 해결 @Transactional(read..

JAVA 2022.01.18

onClick , onkeydown 마우스클릭 / 엔터 이벤트 처리

와.. 이거 때문에 한참을 헤맸다... [Enter 입력시] 위 코드중 onkeydown="~~~" 부분을 추가해주면 된다. event.keyCode 중 13이 Enter 키 입력에 해당된다. 그러면 query라는 input text box에서 Enter 입력이 발생시 searchNew(); JavaScript 함수로 이동되게 된다. [마우스 클릭시] 마우스 클릭시 onClick 이벤트가 발생하면, JavaScript 함수로 이동한다. 그런데 두개를 설정해두고 JavaScript에서 Event를 넘겨 받을때 처리를 하지 못하여 한참 헤매었다. function searchNew() { var objEv = formQuery.query; alert("~~"); document.formQuery.page.va..

JAVA 2022.01.14

Log4j 취약점 (긴급조치)

비상!!!!! 비상!!!!! 전세계 Log4j 취약점이 터졌다. 아파치소프트웨어재단에서 보안위협단계 1~10단계중 10단계에 해당하는 긴급조치가 필요한 취약점이라고 발표가 나왔다. 13억개 이상의 Java로 된 어플리케이션이 돌아가고 있고, 현실적으로 이미 배포된 폐쇄망, 버려진 오래된 소스 등 버전업을 하여 재배포하기란 쉽지 않다. 어쩔수 없다면, 아래와 같이 보안취약점에 해당하는 class 파일을 제거하는 방법을 고려해보자. 일단 내 로컬에 log4j-1.2.x 대 버전을 두고 zip -d log4j-1.2.12.jar org/apache/log4j/net/JMSAppender.class 혹은 zip -d log4j-1.2.*.jar org/apache/log4j/net/JMSAppender.clas..

JAVA 2021.12.21

[JAVA] java cron expression

Quartz에서 사용하는 crontab 표현식을 알아보자(feat. Java Spring) Support for specifying both a day-of-week AND a day-of-month parameter is not implemented. (ERROR CASE 내용 포함) Quartz에서 사용하는 표현식은 아래와 같다. //매일 새벽1시에 수행 @Scheduled(cron="0 0 1 * * ?") * * * * * * * 6자리 혹은 7자리(year은 생략 가능) 초 분 시 일 월 요일 연도(생략가능) [특수문자 표현] * 아스테리스크 : ALL 모든값을 의미 ? 물음표 : 특정값 없음 - 하이픈 : 값의 범위 지정 , 콤마 : 여러개의 값을 지정 / 슬러시 : 초기값과 증가치를 지정 1..

JAVA 2021.10.29

[JAVA] contains 함수의 재밌는 원리

앞서 포스팅 한 것처럼 contains를 활용하여 변수 및 리스트에 객체가 포함되어 있는지 확인이 가능하다. String str = "contains TEST"; System.out.println(str.contains("contains")); // true List list = new ArrayList(); list.add("금요일"); System.out.println(list.contains("금요일")); // true 그럼 이 contains 가 어떻게 비교하는지 아라보자~! contain... 포함, 함유, 일부 라는 뜻이다. 이 함수를 사용하여 내가 확인하고 싶은 값이 있는지, 없는지 확인이 가능한데, contains 함수는 모든클래스가 상속하고 있는 Object Class 내부의 equal..

JAVA 2021.10.28

[JAVA] Json key값 존재 여부 확인 .has()

클라이언트에서 서버로 넘어오는 헤더 데이터에 email을 추가하였다 에러로그를 찍어놓진 못했지만, email key값을 찾을 수 없다는 에러였던 걸로 기억난다. JSONObject reqJson = JSONObject.fromObject(header.getData()); String loginId = reqJson.getString("loginId"); String email = reqJson.getString("email"); 위와 같이 코드를 구성하였을때, getString email을 서버에는 적용해두었지만, 클라이언트에서 email 의 value를 서버로 던지지 않았기 때문에 에러가 발생하였다. String email = ""; if(reqJson.has("email")){ email = reqJ..

JAVA 2021.10.26

[Maven] 프로젝트에 Json lib 추가하기, Exception in thread "main" java.lang.NoClassDefFoundError:

MVN 프로젝트에 Json 간단 테스트를 진행 하려고 했다. 그런데 !! 벌써 부터 어질어질하네.. 나의 경우엔 (Eclipse) 프로젝트 우클릭 → Build Path → Configure Build Path... → Libraries → Add External Jars... 로 기존에 사용하던 Jar 파일을 .m2 repository에서 찾아 꺼내어 재활용하고자 했었다. 위의 과정으로 json.jar를 추가시, json 내부에서 다른 라이브러리를 참조하여 사용하기 때문에 해당 클래스를 찾을 수 없는 ClassNotFoundException이 발생한다. 구글링 하면, 아래의 Json 관련 라이브러리를 추가 하여야 한다고 나온다. commons-beanutils commons-collections com..

JAVA 2021.10.26

[JAVA] 특정 문자 포함 확인 .contains (String, List )

★ 특정 문자열에 특정 문자열이 포함되어 있는지 확인 public class App { public static void main( String[] args ) { String str = "contains TEST"; System.out.println(str.contains("contains")); // true System.out.println(str.contains("test")); // false * contains가 str 객체에 포함 되어 있으므로, boolean true를 반환함. * 대소문자를 구분한다. ★ 특정 List 에 특정 문자열이 포함되어 있는지 확인 List list = new ArrayList(); list.add("월요일"); list.add("화요일"); list.add("수..

JAVA 2021.10.15
반응형