[DEV] 기록 165

[VirtualBox] 윈도우에서 VirtualBox putty로 접속하는 방법

개요 내부망에서만 접속 가능한 CentOS7 서버에 MariaDB를 설치하기 위해 아래 블로그를 참고하며 진행했습니다. https://dohee-studyroom.tistory.com/entry/LinuxCentOS79%EC%97%90-%EC%98%A4%ED%94%84%EB%9D%BC%EC%9D%B8%EC%9C%BC%EB%A1%9C-MariaDB-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0 [Linux]CentOS7.9에 오프라인으로 MariaDB 설치하기 안녕하세요! 아이티공부하는도히 입니다! 오늘은 Linux, 그 중에도 CentOS7.9 버전에서의 마리아DB를 오프라인으로 설치해보겠습니다! CentOS7.x 버전이라면 이 가이드만 보셔도 문제 없으실 거예요!:D dohee-st..

[DEV] 기록 2023.05.19

[k8s] kubeadm init 명령어 사용 시 발생하는 에러

개요 쿠버네티스 마스터 노드 초기화하는 단계에서 sudo kubeadm init 명령어를 실행했더니 아래와 같은 에러가 발생했습니다. [init] Using Kubernetes version: v1.27.1 [preflight] Running pre-flight checks error execution phase preflight: [preflight] Some fatal errors occurred: [ERROR CRI]: container runtime is not running: output: E0502 15:26:44.163693 9987 remote_runtime.go:616] "Status from runtime service failed" err="rpc error: code = Unavai..

[DEV] 기록 2023.05.03

[Intellij] error: invalid source release

개요 프로젝트 실행 시 아래와 같은 에러 메시지가 나타났습니다. error: invalid source release: 16 해결 방법 아래 설정들을 모두 maven/gradle에서 설정한 JDK 버전과 맞추면 해결이 됩니다. File > Project Structure > Project > Project SDK, Project Language Level File > Project Structure > Module > Sources > Language level File > Project Structure > Module > Dependencies > Language level File > Settings > Build, Execution, Deployment > Compiler > Java Compil..

[DEV] 기록 2023.04.21

MSA를 도입할 때 고려해야 하는 사항

개요 많은 빅테크 회사들이 애플리케이션을 구축할 때 마이크로서비스 아키텍처를 도입하지만 MSA 패턴이 장점만 갖는 것이 아니기 때문에 반드시 모든 서비스가 마이크로서비스 애플리케이션일 필요는 없습니다. 따라서 이번 게시글에서는 MSA를 도입할 때 고려해야 하는 사항 및 사용하지 말아야 하는 환경 혹은 케이스에 대해 간략하게 정리해 보겠습니다. MSA에 중요한 역할 MSA를 도입할 때 중요한 역할은 아래와 같이 세 가지가 있으며 이 세 팀의 관점을 통합해야 성공적으로 개발 및 운영을 할 수 있습니다. 아키텍트 개발자 DevOps 엔지니어 아키텍트 아키텍트는 애플리케이션의 각 부분이 잘 상호작용할 수 있도록 개발자가 작성할 코드에 대한 스캐폴드를 제공하며 세 가지 핵심 업무에 집중해야 합니다. 비즈니스 문제..

[DEV] 기록 2023.03.16

The Twelve Factors App (12 팩터 앱)

개요 12 팩터 앱 방법론은 Heroku에서 제시한 모범 사례 지침이며 클라우드 네이티브 마이크로 서비스를 구축할 때 동적인 확장과 기본 사항에 관한 개발 및 설계 지침의 모음입니다. 해당 방법론은 클라우드 네이티브 앱을 구축하면서 흔히 발생할 수 있는 문제에 대해 용어를 제공할 뿐만 아니라 이러한 문제들에 대한 해결책도 제공합니다. 곧 Spring Cloud MSA가 적용된 프로젝트를 진행할 예정이기 때문에 12 팩터 앱 방법론을 간략하게 정리해 보겠습니다. 클라우드 네이티브 애플리케이션 12 팩터 앱에 대해 정리하기 전에 우선 클라우드 네이트브 앱에 대한 개념 정리가 필요합니다. 클라우드 네이티브 애플리케이션은 클라우드 컴퓨팅 아키텍처의 장점과 서비스를 활용할 수 있도록 특별히 설계된 앱입니다. 기존..

[DEV] 기록 2023.02.25

[Java] zip 파일 내 구성 확인하는 코드

개요 클라이언트에서 올린 zip 파일이 유효한지 확인하기 위해 zip 파일 내 구성을 확인해야 했습니다. 저 같은 경우에는 엑셀 파일과 함께 wav 파일로만 이루어진 zip 파일을 감싼 zip 파일을 받아야 했습니다. __MACOSX? 코드 소개에 앞서 __MACOSX 폴더의 존재에 대해 알 필요가 있습니다. 윈도우 환경에서 zip 파일을 만들 때는 사용자가 지정한 파일들로만 zip을 구성하지만 Mac의 경우 zip 파일을 만들 때 파일의 확장 정보를 기록하는 리소스 포크가 저장된 폴더인 __MACOSX 폴더를 zip 파일 내 같이 저장됩니다. 따라서, 코드에서 위 폴더를 확인하지 않도록 분기 처리를 해줘야 합니다. 코드 위 코드를 간단히 설명하자면 아래와 같습니다. 클라이언트로부터 MultipartFi..

[DEV] 기록 2023.02.14

[SpringBoot] Apache poi 버전에 따른 오류들

개요 프로젝트를 진행하면서 Apache Poi 라이브러리 버전이 맞지 않아 아래와 같은 오류가 발생했습니다. java.lang.NoSuchMethodError: org.apache.poi.ss.usermodel.Cell.getCellType() Found interface org.apache.poi.util.POILogger, but class was expected error 원인 maven 혹은 gradle 내 Apache Poi 버전이 맞지 않아 발생하는 문제였습니다. 해결 방법 두 문제 모두 아래와 같이 버전을 맞춰주면 해결됩니다. org.apache.poi poi 4.1.2 org.apache.poi poi-ooxml 3.15 결국에는 fastexcel로 바꾸긴 했지만 정보 공유 차원에서 게시물..

[DEV] 기록 2023.02.03

[Maven] java.lang.IllegalAccessError: class lombok.javac.apt.LombokProcessor (in unnamed module @0x2fbb01ba) cannot access class com.sun.tools.javac.processing.JavacProcessingEnvironment (in module jdk.compiler)

개요 SpringBoot 프로젝트를 실행하는데 아래와 같은 에러가 발생했습니다. java.lang.IllegalAccessError: class lombok.javac.apt.LombokProcessor (in unnamed module @0x2fbb01ba) cannot access class com.sun.tools.javac.processing.JavacProcessingEnvironment (in module jdk.compiler) 원인 pom.xml에 명시된 Java 버전과 lombok 버전 호환성이 맞지 않아 발생하는 문제였습니다. 해결 방법 저 같은 경우 Java 11 버전을 사용하고 있었고 lombok은 별도 version 명시 없이 사용하고 있었는데 Java 11과 호환성이 맞는 버전인..

[DEV] 기록 2023.01.27