Study: Software(SW)
[Error Fix] JAVA 재설치 후 링킹 문제 (feat. JAVA 버전 변경)
💡 본 문서는 'JAVA version 변경'에 대해 정리해놓은 글입니다. 신규 프로젝트를 위해 JDK 11버전이 필요하여 새로 설치하였으나 변경이 뜻대로 이루어지지 않아 고생한 경험이 있어 정리하였으니 참고하시기 바랍니다. # 문제 상황 설치는 잘 진행됐지만, 여전히 로컬에 설치되어 있던 17 버전을 사용 중이었습니다. % java -version 17.0.2 그래서 현재 링킹되어있는 java의 위치를 확인해보니 설치한 OpenJdk가 아니었습니다. % which java /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java # 해결 방안 그래서 현재 설치가 되어있는 모든 jdk 버전 정보 및 설치 경로를 확인해보았습니다. ..
[JAVA] JVM vs JDK vs JRE? (java와 javac의 버전 및 설치경로 알아보기)
💡 본 문서는 'JVM, JDK, JRE 는? (java와 javac 까지 알아보기)'에 대해 정리해놓은 글입니다. JAVA를 처음 공부할때 햇갈리는 정보인 JVM, JDK, JRE의 차이와 java와 javac의 차이에 대해 정리하였으니 참고하시기 바랍니다. 1. JVM vs JRE vs JDK 1.1 JVM(Java Virtual Machine) JVM은 자바 소스코드로 부터 만들어지는 자바 바이너리 파일(.class)을 실행할 수 있습니다. 리눅스의 JVM과 윈도우의 JVM은 다른데, 컴파일된 바이너리 코드는 어떤 JVM에서도 동작 시킬 수 있습니다. 따라서 JVM의 역할은 다음과 같습니다. 바이너리 코드를 '읽고' '검증'하고 '실행'하며, 실행환경(Runtime Environment)의 규격을 ..
[C++] C++ #include 헤더파일 순서
💡 본 문서는 'C++ #include 헤더파일 순서'에 대해 정리해놓은 글입니다. C++ #include 헤더파일 순서 관련 문서를 찾아보다보니 구글의 가이드는 제가 이전에 하던 방식과는 정반대였습니다. 정답은 없지만 관련 내용에 대해 정리하였으니 참고하시기 바랍니다. 1. Google Styleguide For example, the includes in google-awesome-project/src/foo/internal/fooserver.cc might look like this #include "foo/server/fooserver.h" #include #include #include #include #include "base/basictypes.h" #include "foo/server/ba..
[Error fix] 'no matching manifest for linux/arm64/v8 in the manifest list entries' 오류 해결 (feat. Docker AppleSilicon/M1)
# 문제 상황 % docker-compose up -d Pulling elasticsearch (elasticsearch:7.5.0)... 7.5.0: Pulling from library/elasticsearch ERROR: no matching manifest for linux/arm64/v8 in the manifest list entries docker-compose로 elastic-search를 띄우는 과정에서, 위와 같이 linux/arm64/v8 에 해당하는 manifest가 없다는 ERROR 메시지가 발생하였다. # 해결 방안 아래와 같이 'platform: linux/x86_64' 를 명시하여 해결할 수 있습니다. version: '3.3' services: elasticsearch: p..
[Error fix] 'fatal: refusing to merge unrelated histories' git 오류 해결
# 문제 상황 로컬 저장소에 있는 프로젝트를 깃허브 사이트를 통해 만든 저장소로 push 하는 경우에 다음과 같은 메시지가 떴다. % git pull origin master From https://github.com/DrawingProcess/docker-compose * branch master -> FETCH_HEAD fatal: refusing to merge unrelated histories # 해결 방안 push 전에 먼저 pull을 해서 프로젝트를 병합해 주어야 한다. refusing to merge unrelated histories 그런데 pull을 실행시켰는데, 위와 같은 오류와 함께 진행되지 않는다면? 다음의 명령어를 실행시켜준다. % git pull origin --allow-un..