본문 바로가기

Spring13

[Spring] Contrainerless 스프링부트는 Contrainerless다. Contrainerless라는 말을 이해하기에 앞서서 Serverless라는 말을 한 번 들여다볼 필요가 있다. 트렌디한 단어인 Serverless는 개발자라면 누구나 한 번쯤 들어봤을 것이다. 이제는 백엔드를 넘어서 프론트엔드에도 Serverless 바람이 불고 있는 추세다. 일부는 Serverless라는 말이 '서버가 없다'라는 말로 직역하곤 한다. 정확히는 틀린 말이다. Serverless여도 실제로 서버는 존재한다. 애초에 서버가 없이 코드가 돌아갈 수 있을리가 만무하다. 다만, 사용자의 입장에서는 마치 서버가 없는 것처럼 동작하기에 Serverless인 것 뿐이다. 따라서 "관리할 필요가 없다"라고 해석하는 것이 더 옳다. 예를 들어, AWS Lambd.. 2023. 10. 25.
[Spring] 어플리케이션 실행 시 메모리 할당 java -Xms2g -Xmx4g -jar sample.jar Xms와 Xmx는 자바 어플리케이션이 시작될 때 JVM에서 사용할 수 있는 최소, 최대 힙 할당량이다. 즉, 위의 예시에서는 -Xms2g -Xmx4g이므로 최소 2GB ~ 최대 4GB의 메모리를 사용할 수 있음을 나타낸다. 예를 하나 더 들면, -Xms256m -Xmx512m이라면 최소 256MB ~ 최대 512MB의 메모리를 할당하겠다는 것이다. 아래는 도커파일 예시이다. FROM openjdk:11 WORKDIR /app COPY sample.jar . ENTRYPOINT ["java", "-Xms2g", "-Xmx4g", "-jar", "sample.jar"] 2023. 5. 15.
[Java] Enum valueOfOrDefault() String을 Enum으로 변경해줄 때 Enum의 valueOf를 쓰고 try-catch문을 덮는게 일반적이다(없을 시 IllegalArgumentException 던짐).근데 코드에 try-catch가 들어가게 하지 않기 위해 만들었다. 그리고 Enum을 넣어도 null check를 하게 해서 String이나 Enum(null일 경우 대비)을 모두 첫 번째 인자로 넣고, 두 번째 인자로 return 받고 싶은 default 값을 null safe하게 넣게끔 했다. public static > T valueOfOrDefault(String value, T defaultValue) { try { return Enum.valueOf(defaultValue.getDeclaringClass().. 2023. 2. 28.