👩🏻‍💻 Programming/Etc 6

IntelliJ에서 Gradle Build가 실패할 때 해결책

가끔 Gradle 프로젝트를 IntelliJ로 불러올 때 Gradle이 정상작동하지 않을 때가 있다.build에 실패한 로그라도 남으면 좋을텐데, 저렇게 밑도 끝도 없이 failed만 나올 때가 있다.향로님의 IntelliJ에서 Gradle 프로젝트가 작동안될때에 언급된 해결책을 시도했으나, 잘 해결되지 않았다.그러다가 발견하게된 해결책을 공유한다.먼저 좌측 패키지 구조에서 보이는 .idea 디렉토리를 제거하자.직접 패키지 위치를 찾지 않고 아래와 같이 터미널에서 명령어를 통해서도 제거가 가능하다.// 프로젝트의 루트 디렉토리에서 명령어를 입력하자rm -rf ./.idea그런 다음 File > Project Structure에 들어가보자.좌측의 Module로 들어간 다음, 만약 현재 프로젝트가 그대로 잔..

Kafka - Classpath is empty 이슈

로컬에서 Kafka를 돌렸는데 아래와 같은 로그가 출력됐다. Classpath is empty. Please build the project first e.g. by running './gradlew jar -PscalaVersion=2.11.12' 해결책은 크게 2가지가 있는데, 나는 2번의 방법으로 해결할 수 있었다.참고로 사용중인 운영체제는 Mac OS이다.1. Kafka Source 파일이 아닌 Binary 파일을 다운 받기  Kafka 공식 다운로드 사이트에서 Source 파일이 아닌 Binary 파일을 다운받아 실행하자.  2. 파일 경로에 특수 문자 또는 공백이 없는지 확인 내 경우엔 아래와 같이 kafka가 설치된 경로에 공백이 포함되어 있었다./DM/Desktop/work/dev util..

OOM과 Garbage Collector, 그리고 Dump

목차 OOM (Out of Memory) (1) OOM의 발생 원인 OOM과 Garbage Collector의 관계 Dump를 뜨다 MAT 사용법 참고 자료 0. OOM (Out of Memory) 업무를 보다보면 팀 메신저 방에 이따금씩 OOM에 관련된 내용이 공유된다. 메모리가 부족한 에러이니 덤프를 떠서 메모리 누수의 원인을 분석 후 해결방안을 찾으면 되지만, 제대로 이해하고 있다는 느낌이 들지 않았다. 또한 덤프를 뜨는게 해결 방안의 전부인것 같지는 않았다. 이 기회에 관련 용어 및 해결 방안을 정리해보고자 한다. (1) OOM의 발생 원인 공식문서의 언급에 따르면 OOM은 Java의 Heap 메모리가 부족하여 더 이상 가용한 메모리가 없을 경우 발생한다. 대표적으로 아래 2가지 사례로 발생한다...

Docker compose 명령어

분류 명령어 설명 실행 docker-compose up - docker-compose.yml에 정의된 서비스들을 시작하거나 이미 동작중이었다면 재시작 - 단, 이미 돌아가고있던 서비스에 대해서 docker-compose.yml에서 변경된 사항이 없다면 재시작하지 않고 별 다른 변화를 주지 않음 docker-compose run - 새로운 컨테이너를 생성하여 시작 - 때문에 '일회성' 또는 '특별' 작업을 위해 실행하는 것을 권장. - 추가로 실행하고자 하는 특정 서비스 이름이 요구됨. docker-compose start - 중단됐던 컨테이너를 시작 (새로운 컨테이너 생성 X) - 이미 동작되고 있던 컨테이너라면 영향 없음 docker-compose restart - 중단됐던, 또는 이미 동작되고 있던 ..

Curl 개념 및 사용법

Curl 이란? CURL = Client URL 서버와 통신할 수 있는 커맨드 명령이 툴로, 웹개발에 많이 사용되는 무료 오픈소스다. Curl을 사용함으로써 패킷 / 메세지를 네트워크로 전송이 가능하며, HTTP/S로 GET,POST등으로 데이터를 전송할 수 있다. Curl 설치 방법 우분투 Command 설치 : apt-get install curl 플랫폼 별 바이너리 다운로드 경로 ( Linux, Window, MacOS 등) : https://curl.haxx.se/download.html curl - Download curl.se Curl 활용- 예시 예를 들어 JUnit으로 테스트를 할때, 아래와 같이 한글이 깨져서 발생하는 경우가 있다. 이때 (macOS기준) terminal, (window기..

Git blame 사용법

Git blame 이란? Intellij 내부의 Git > Current File > Annotate with Git Blame을 클릭하면 사용할 수 있다. Git blame을 통해 Git에 Commit이 되어 수정된 파일들의 내역을 볼 수 있다. 팀원들과 협력하여 다른 사람의 코드를 읽다보면 가끔 예전 파일의 기록이 필요할때도 있는데, 그럴때 Git Blame을 잘 활용하면 된다. 사용 예시 git blame을 클릭하면 해당 파일에서 모든 줄마다 변경된 이력들이 나온다. 변경된 이력을 클릭해서 보면 해당 commit이 이루어진 파일과 현재의 변경된 코드를 비교해서 보여준다. 그렇게 변경된 파일의 비교사항을 보면, 위쪽에 위와같이 랜덤 난수로 선언된 코드를 볼 수 있다. 해당 난수 코드를 팀원들과 협력하..