본문 바로가기

프로그래밍

(6)
M1용 visual studio code (vscode) 정식 버전이 나왔네요. 맥 버전 아래에 apple silicon 용 빌드를 다운받을 수 있는 링크가 추가되었습니다. 그동안 insiders 버전을 쓰느라 약간의 찝찝함이 있었는데 좋군요! M1 맥북에서 아래처럼 커맨드라인에서 입력하면 간단하게 설치됩니다. brew install --cask visual-studio-code
가비지 콜렉션에 대해 알아보았습니다. REST API 서버에서 가비지 콜렉션 때문에 속도가 저하되거나, 다운될 때가 있어 해결하느라 고민이 많았었습니다. 겸사겸사 가비지 콜렉션에 대해 자료도 좀 찾아보고, 정리를 해보려고 합니다. 가비지 콜렉션은 요즘 골치 아픈 것으로 개발자들에게 인식되고 있습니다만, 원래 시작은 개발자들의 고민을 덜어주기 위한 것이었습니다. C 언어 시절에는 프로그래머가 할당한 메모리를 스스로 해제해주지 않으면 메모리가 계속 쌓여서 언젠가는 crash 가 났거든요. 10년 전만 해도 DB 커넥션을 열고 닫고의 횟수를 맞춰주지 않으면 Connection full 이 났어서, find 를 이용해서 열고 닫고의 갯수를 체크하기도 했었네요. 생각해보면 가비지 콜렉터에 대해 고마운 느낌이 듭니다. 하지만 가비지 콜렉션에 대해 이해..
맥용 전자정부 개발환경에 lombok 설치가 안되는 문제 해결. lombok은 jar 파일을 실행해서 IDE가 설치된 곳을 지정하면 설치되는 형태입니다. 그런데 전자정부 개발툴의 경우, IDE를 지정해주어도 이 IDE는 지정하지 않는다는 얘기를 합니다. (어쩌면 제가 맥을 쓰고 있어서 그럴 수도 있습니다.) 그래서 직접 찾아봤습니다. 이걸 누르면 이런 것이 나옵니다. 설치 프로그램이 하는 일이 별게 없었어요. jar 파일 복사하고 eclipse.ini 파일 수정하는 정도였습니다. 그런데! jar 파일을 복사하라는 곳이 복사한 후, -javaagent 어쩌고를 eclipse.ini에 넣었습니다만, 생각대로 동작하지 않았습니다! 한참의 검색과 삽질 끝에, 절대 경로로 넣어야 한다는 걸 알게 되었습니다. 커스텀 eclipse의 경우에만 그렇다고 하네요. 결국 eclipse..
이클립스 톰캣 실행시 Unknown version of Tomcat was specified. 맥에서 brew install tomcat 으로 tomcat 9를 설치했습니다. 이 때 Unknown verison of Tomcat was specified 라고 나오면서 더 이상 진행이 되지 않았습니다. 검색해보니, brewf로 톰캣을 설치한 경우, tomcat 하위에 있는 libexec를 이클립스에서 설치 디렉토리로 지정해야 한다고 합니다. 그렇게 지정해보았더니 잘 진행됩니다.
맥 카탈리나 업그레이드 후 git 에서 xcrun: error: invalid active developer path 문제 해결 방법 어제 사용중이던 맥북에서 OS를 업그레이드하라고 하길래 업그레이드했더니 갑자기 잘 되던 git이 동작하지 않았습니다. xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun 그래서 찾아봤더니, xcode-select --install 을 실행하면 된다고 하는군요. xcode-select --install 은 개발 관련한 커맨드라인 도구들을 설치하는 명령어입니다. OS를 업그레이드하고 나서, 왜 기존에 있던 개발 커맨드라인 도구들을 삭제했는지 알수가 없네요. 여튼 이후에 git은 잘 동작합니다.
전자정부 프레임웍에서 java.lang.NoClassDefFoundError: Lorg/springframework/beans/factory/access/BeanFactoryReference 전자정부 프레임웍 사용시 java.lang.NoClassDefFoundError: Lorg/springframework/beans/factory/access/BeanFactoryReference 가 뜰 때가 있다. spring 프레임웍과 연관된 jar 를 pom.xml에 넣을 때, 전자정부 해당 버전의 spring framework version과 맞지 않으면 이런 현상이 발생한다. 나는 spring-test 를 가져올때 최신버전을 가져왔더니 이런 현상이 발생했다. 전자정부프레임웍의 각 버전별로 포함되어있는 RTE(실행환경)의 모듈들과, 버전은 여기에 적혀있다. https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rtea3.9_overview egov..