back end/java 48

[java] List를 문자열로 Join하는 방법

Java 1.8 부터 String.join() method를 사용하여 손쉽게 List를 String으로 Join할 수 있습니다. 즉, String.join()의 첫번째 param은 문자열을 이어 붙일 구분자(delimiter)이고, 두번째 param은 List 객체 입니다. 다음 코드의 결과는 hong,kim,lee,park 입니다. public static void main(String[] args) { List arr = new ArrayList(); arr.add("hong"); arr.add("kim"); arr.add("lee"); arr.add("park"); System.out.println(String.join(",", arr)); }

back end/java 2022.10.17

spring pageable를 이용한 페이징 처리

Database 준비 먼저, 다음과 같이 데이터를 미리 등록해 놓습니다. JPA class 생성 User entity class 생성 import lombok.Getter; import lombok.Setter; import lombok.ToString; import javax.persistence.*; @Entity @ToString @Getter @Setter @Table(name = "t_user") public class User { @Id private String userId; private String userName; } User Repository 생성 import org.springframework.data.jpa.repository.JpaRepository; public interfa..

back end/java 2022.10.13

[Spring boot] Restful API 쉽게 호출하는 방법 by using RestTemplate

RestTemplate란? Spring 3.0부터 지원하는 라이브러리로 간편하게 Rest 방식 API를 호출할 수 있습니다. Restful API 서비스를 요청 후 응답받을 수 있도록 설계되었습니다. Spring 5부터는 WebFlux 스택과 함께 WebClient라는 새로운 HTTP 클라이언트를 도입하여 기존의 동기식 API를 제공할 뿐만 아니라 효율적인 비차단 및 비동기 접근 방식을 지원하여 RestTemplate는 deprecated 되었습니다. 따라서 WebClient 사용을 지향합니다. RestTemplate Method Method Operation Action delete() DELETE 지정된 URL의 리소스에 대해 HTTP DELETE 요청을 수행합니다. getForEntity() GET..

back end/java 2022.10.11

spring boot jpa에서 SQLite 사용하는 방법

1. SQLite란? 공식 사이트 : https://sqlite.org/index.html SQLite는 클라이언트 응용 프로그램에 임베디드 되어 동작하는 DBMS 소프트웨어로서 퍼블릭 도메인 오픈 소스 소프트웨어로 android, iOS, macOS에 기본적으로 포함되어 있습니다. 그래서 SQL에서 하는 기능이 SQLite에선 '경량화'의 이유로 제한되는 경우가 많습니다. 예를 들자면, 프로토콜 조작을 통해 네트워크에 접근할 수는 있지만, 동시 접근은 제한됩니다. 또한 복잡하거나 큰 데이터를 보관하는 데에는 적절하지 않습니다. 또한 데이터베이스 이름 그대로 'lite'이기 때문에 성능은 기대를 하지 않는 것이 좋고, 한 번에 한 명의 사용자만이 데이터베이스를 사용할 수 있어서 멀티 유저를 지원하려면 p..

back end/java 2022.10.08

Java Bean Validation 사용방법 - ControllerAdvice

개요 Validation은 개발 실무에서 가장 중요한 것 중 하나입니다. 클라이언트에서 잘못된 값이 전달되어 장애가 발생하는 것은 흔한 일입니다. Validation을 사전에 하지 않는다면 잘못된 인자 값으로 작업을 수행하다 오류가 발생할 수도 있고 심지어 오류가 발생하지 않고 잘못된 값이 데이터베이스에 저장되기도 합니다. 따라서 서버 API에서 parameter를 받자마자 validation을 해야 하지만 이것을 일일히 코딩하기에는 번거롭습니다. Java에서는 Jakarta Bean Validation을 이용할 수 있는데요. Annotation을 이용하여 Validation을 처리할 수 있는 방법입니다. Dependency implementation 'org.hibernate.validator:hibe..

back end/java 2022.10.03

java에서 천단위 쉼표, 소수점 반올림 하는 방법

java에서 천 단위 쉼표와 소수점 반올림을 동시에 하는 방법은 다음과 같습니다. public class Test { public static void main(String[] args) { double v = 1234567890000.12345; System.out.println(String.format("%1$,.2f", v)); System.out.println(String.format("%,.2f", v)); } } 두 가지 모두 결과는 동일하며, .2f는 소수점 셋째 자리에서 반올림하여 소수점 2자리까지 표시하는 것을 의미합니다. 다른 몇가지 방법이 더 있는데, 다른 방법은 코드가 길어서 간단한 방법만 가져왔습니다. 출처: https://stackoverflow.com/questions/4885..

back end/java 2022.09.05

Mac OS에서 Openjdk 11 설치하는 방법(adoptopenjdk11)

CentOS에 yum이 있는 것처럼, Mac OS에는 Homebrew가 있습니다. 이것을 사용하면 정말 간단하게 openjdk를 설치할 수 있습니다. Homebrew는 여기에서 설치할 수 있습니다. 1. cask를 설치합니다. $ brew install cask 2. openjdk 11을 설치합니다. $ brew tap AdoptOpenJDK/openjdk $ brew install --cask adoptopenjdk8 중요! brew tap 명령어 없이 바로 두 번째 줄의 명령어를 실행하면 다음과 같은 에러가 발생합니다. Error: Cask 'adoptopenjdk11' is unavailable: No Cask with this name exists. 3. 설치 여부 확인 $ java -version

back end/java 2022.08.13

java의 최대 thread 수

운영체제 및 하드웨어 구성에 따라 다음과 같은 기본 제한이 있습니다. Oracle 32bit JVM은 스레드당 320kb 스택 크기로 설정됩니다. 메모리가 2GB인 경우 최대 6.5k 스레드를 생성할 수 있습니다. Oracle 64비트 JVM은 기본적으로 스레드당 1M 스택 크기로 설정됩니다. 메모리가 1GB인 경우 1024개의 스레드를 생성할 수 있습니다. Linux의 경우 ulimit -a 명령어로 프로세스 및 메모리에 대해 구성된 제한을 제공합니다. 출처: https://stackoverflow.com/questions/7726871/maximum-number-of-threads-in-a-jvm

back end/java 2022.08.02
728x90
loading