본문 바로가기

프로그래밍46

java8 stream List를 Map으로 변환 java8 stream List를 Map으로 변환 자바 Stream이란? 자바 스트림 이란 자바8에 추가된 기능으로 컬렉션과배열 등 데이터를 처리하는데 아주 유용한 기능이다. 비유를 하자면 물이 스트림을 타고 흐르는것 처럼 데이터가 스트림을 타고 흐르는것이라고 생각하면 편하다. 스트림을 사용하면 데이터를 여러단계로 나누어 처리할수 있는데, 스트림을 이용해서 데이터를 필터링하고 정렬 그룹핑하는 등 여러가지 작업을 다양하고 간편하게 처리할수 있다. 스트림은 처리과정의 중간 결과를 저장하지 않기 떄문에 메모리 사용량도 적어서 데이터 처리할때는 매우 유용하다고 할수 있다. 병렬 처리도 지원하기 때문에 빠른 처리도 가능하다. 자바8 스트림을 요약하면, 자바 8 부터 추가된 데이터 기능 컬렉션 배열 데이터 처리하는.. 2023. 2. 14.
JSP에서 DB 쿼리 실행기 작성 초간단 샘플 JSP에서 DB 쿼리 실행기 작성 초간단 샘플 프로젝트 수행시 급하게 쿼리를 수행할 일이 생겨서 정리한다. 운영서버의 DB 경우 현업담당자는 권한이없고, DB 관리자 또한 어플리케이션 코드를 통해 처리하라고 가이드했다. 현업과 DB 관리자에게 의견을 구하고 아래와 같이 쿼리 작성 페이지를 만들어서 쿼리를 수행하기로했다. 1. query.JSP 파일 작성 DB excute -1) { query = query.replaceAll("EXEC", "call"); query = query.replaceAll("exec", "call"); query = "{? = " + query + "}"; out.println(query); CallableStatement cs = con.prepareCall(query); c.. 2022. 12. 22.
RestTemplate GET POST 호출 예제 RestTemplate GET POST 호출 예제 RestTemplate GET,POST 호출에 대해 코드라인을 남겨 놓는다. RestTemplate Spring 3.0부터 지원되었고, REST API 호출 이후 응답을 받을때까지 기다리는 방식이다. RestTemplate 객체에서는 아래와 같은 메서드를 지원한다. 사용하기 앞서 Resttemplate객체를 사용하기 위해서 아래 의존성이 필요하다. maven 프로젝트를 사용한다면 아래 dependency를 참고하여 추가하도록 하자. org.springframework spring-web 1. GET 호출 아주 단순하게 header나 파라미터값이 없지 GET방식으로 호출하는 케이스다. 아래를 통해 예제를 자세히 확인 바랍니다. @Test public voi.. 2022. 12. 16.
Spring boot 에서 logback 적용, 로그 남기기 Spring boot 에서 logback 적용, 로그 남기기 구성환경은 다음과 같다. spring boot : 2.2.2 java JDK 8 빌드툴 : maven 환경 1. 먼저 pom.xml에 dependency를 추가한다. ch.qos.logback logback-classic 1.2.3 2. logback.xml 파일을 생성하자 %d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%-5level) %magenta(%-4relative) --- [ %thread{10} ] %cyan(%logger{20}) : %msg%n webapp.%d{yyyy-MM-dd}.log 30 %d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %-4relative --- [ %thread.. 2022. 12. 12.
linux 서버 포트가 열려있는지 확인 방법 총정리 linux 서버 포트가 열려있는지 확인 방법 총정리 프로젝트 진행시 실전에서 아주 자주쓰는 기능중에 하나이다. 지금 이런 명령어를 호출해본다는 의미는 뭔가 대상서버로의 호출이 정상적이지 않기 떄문일거라고 생각된다. 실제 서비스가 떠있는지에 대한 확인을 하기도 하고, 금융권 같은곳에서 프로젝트를 하는경우에 방화벽이 오픈이 되어있는지 확인하는데 쓰이기도 한다. 1. telent {serverip} {port} 포트가 정상적으로 열려있는 경우 [ynkim@test ~]$ telnet 10.123.123.123 8080 Trying 10.123.123.123... Connected to 10.123.123.123. Escape character is '^]'. 포트가 정상적으로 열려 있지 않은 경우 [ynkim.. 2022. 12. 2.
sonarQube - Public constants and fields initialized at declaration should be "static final" rather than merely "final" sonarQube - Public constants and fields initialized at declaration should be "static final" rather than merely "final" Making a public constant just final as opposed to static final leads to duplicating its value for every instance of the class, uselessly increasing the amount of memory required to execute the application. Further, when a non-public, final field isn’t also static, it implies tha.. 2022. 7. 22.