티스토리 뷰

 

알고리즘 문제 풀이 파일을 관리하고 싶은데..

 알고리즘 문제를 풀고 그냥 소스코드를 날리는 것이 아니라 코드를 문제별로 잘 정리한 뒤에 깃허브에 저장해서 사용하고 싶다. 문제는 intellij에 아무런 설정을 안 하면 아래와 같이 자바 파일을 만들 때 굉장히 번거롭다. 파일을 만들 때 하나하나 .java 확장자를 붙여줘야 되고 만든 파일 내에 같은 이름의 클래스가 자동 생성되는 것이 아니라 빈 파일만 덩그러니 나온다. 문제 하나 풀 때마다 같은 작업을 계속 반복해서 해야 하는데, 이게 너무너무 귀찮다.

 

 또 다른 문제는 컴파일과 실행이다. 매번 터미널을 이용해 자바 파일을 컴파일한 뒤 클래스 파일을 실행해야 된다. 이전 문제와는 비교도 되지 않을 정도로 귀찮다. 문제 잘못 풀면 매번 컴파일하고 실행해야 되는데, 이게 정말 지옥 같다. 거기에 같은 폴더 내에 class 파일이 남아서 하나하나 지워주는 것도 만만치 않은 공수가 들어간다.

 

설정 없이 자바 파일 만들 때

 

 

반복 작업을 줄이기 위한 Intellij 설정

프로젝트 설정

프로젝트 폴더 우클릭 후 Open Module Setting으로 들어간 뒤 왼쪽 메뉴에서 Project를 선택하면 다음과 같은 창이 나온다. 아래에서 원하는 SDK, Language level을 선택하면 된다. Compiler ouput에 나와있는 path는 파일을 컴파일 했을 때 그 결과물이 저장되는 곳이다.

 

프로젝트 설정창

 

Module 설정

 다음으로 Modules 탭으로 넘어간다. Language level은 project default로 두면 default 값을 따라간다. 여기서 원하는 폴더를 선택한 뒤에 Mark as Sources를 하면 해당 폴더가 파란색으로 변하면서 프로젝트에서 설정한 언어 소스 폴더로 변한다.

 

 

 이렇게 설정한 뒤 폴더를 우클릭하면 아래와 같이 변한 모습을 볼 수 있다. 스프링 프로젝트 할 때처럼 바로 자바 클래스를 만들 수 있다. 클래스를 만든 뒤 만들어진 클래스를 확인해보면 파일 이름과 같은 클래스가 자동으로 만들어져 있다.

 

파일 생성창이 변한 모습
자동 생성된 코드

 

 이제 클래스 내에 main 메소드를 만든 뒤에 파일을 우클릭하면 Run이 뜨는 것을 볼 수 있다. 여기 말고도 파일 내 main 메소드 왼쪽에 재생 버튼이 생긴 것을 볼 수 있다. 원하는 방식으로 파일을 실행하면 된다.

 

실행 버튼이 생긴 모습

 

.gitignore 파일 설정

 이제 마지막으로 .gitignore 파일을 설정해주면 된다. 파일을 실행하면 class 파일이 만들어지는데, 이 파일은 프로젝트 설정의  Compiler ouput에 명시한 path에 만들어진다. 이 path에 해당하는 폴더를 .gitignore에 설정해 제외한다. 그리고 .idea는 intellij ide를 위한 설정 모음이다. 필요없으니 제외해준다. 그 외에 제외하고 싶은 파일이나 폴더를 제외하면 된다.

 

내 .gitignore 설정

 

 

코드도 반복된다

 위에서 언급한 작업들만 반복되는 것이 아니다. 알고리즘 문제 풀 때마다 매번 작성해야 하는 코드들이 있다. 대표적으로 main 메소드와 입출력과 관련된 코드들이다.

 

Live Template 기능 활용하기

 맥의 경우 Command + ,(comma), 윈도우의 경우 Ctrl + Alt + s를 누르면 세팅창을 열 수 있다. 여기서 Editor - Live Templates으로 들어가면 자동완성 키워드를 볼 수 있다. 여기에 키워드와 코드를 등록하면 해당 키워드로 코드 자동 생성이 가능해진다. 

 

Live Templates

 

 코드를 등록한 뒤에 자동 생성을 시도해보면 아래와 같이 작동한다.

 

코드 생성 추천
자동 생성된 코드

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함