본문 바로가기

Tools77

[IntelliJ] CheckStyle-IDEA 플러그인 설치 및 사용법 소프트웨어 개발 프로젝트를 팀 단위로하게 되면 공통의 코드를 여러 사람이 개발하게 된다. 여러 개발자가 동일한 코드를 다룰 때, 코딩 컨벤션을 맞춰야한다. 코딩 컨벤션은 코딩 스타일에 대한 규약으로 소스코드를 일관된 스타일로 유지시켜 코드의 가독성을 높이기 위해 필요하다. 만약 코딩 컨벤션이 없다면 코드를 작성하는 프로그래머는 각자 자신의 스타일대로 코드를 작성하게 된다. 이럴 경우 소스코드의 부분마다 서로 다른 스타일의 코드가 모여있게 되고, 코드에 일관성이 없어져 가독성이 크게 저하된다. 이렇게 떨어진 가독성은 프로그램의 흐름을 이해하는데 어려움을 만들어내고 결국에는 버그가 생기기도 한다. 따라서 개발 팀원들은 코딩 스타일에 대한 합의를 하고 코딩 컨벤션에 대한 문서나 IDE의 코딩 스타일로 등록해둘.. 2023. 4. 22.
[IntelliJ] Return Highlighter 플러그인 설치 및 사용법 소스코드를 분석하다보면 프로그램의 실행 흐름이 갑자기 return 문으로 종료되는 경우가 있다. 메소드나 함수의 바디 부분에서 특정 조건이 만족되면 바로 리턴하도록 작성된 코드가 그런 예다. 그런 코드들을 분석할 때, return 구문을 놓치게 되는 경우가 많다. 인텔리제이의 ‘Return Highlighter’ 플러그인은 자바 소스코드에서 return 문이 있는 곳에 표시를 해주는 플러그인이다. 가독성이 낮은 코드를 분석해야하는 경우 약간의 도움이 될 수 있다. Return Highlighter 플러그인 'Return Highlighter' 플러그인은 인텔리제이의 Plugins 메뉴의 Marketplace에서 조회 및 설치할 수 있다. 인텔리제이 화면 상단의 IntelliJ IDEA > Settings.. 2023. 4. 21.
[IntelliJ] Randomness 플러그인 설치 및 사용방법 프로젝트를 진행하면서 유닛 테스트를 작성해야하는 경우가 많다. 함수나 클래스의 기능을 테스트하기 위해 임의의 데이터를 사용하게 되는데, 임의의 데이터를 생성하는 작업은 귀찮다. 인텔리제이의 Randomness 플러그인은 코딩을하면서 자주 사용하는 Number, Strings, UUID 같은 랜덤 데이터 혹은 이 데이터들의 배열을 생성해준다. 코딩을 하면서 키보드 단축키를 이용해 랜덤 데이터를 쉽게 생성할 수 있어, 유닛 테스트를 쉽고 빠르게 작성할 수 있다. Randomness 플러그인 설치 'Randomness' 플러그인은 인텔리제이의 Plugins의 Marketplace에서 조회 및 설치할 수 있다. 인텔리제이 화면 상단의 IntelliJ IDEA > Settings > Plugins 화면으로 들어간.. 2023. 4. 20.
[IntelliJ] RoboPOJOGenerator 플러그인 설치 및 사용방법 Spring Boot에서 컨트롤러를 개발하는 경우 JSON 포맷으로 값을 받아 POJO(Plain Old Java Object) 객체에 저장하거나 Java 객체에 있는 값을 JSON 포맷으로 변환해서 응답으로 내어주는 경우가 많다. 이 때문에 값을 표현하는 JSON 포맷과 POJO 클래스 사이에 강한 연관성이 생기게 되는데, 필드의 추가, 제거, 변경이 있을 때마다 POJO 객체를 수정해야 한다. 문제는 설계된 JSON 포맷을 보고 POJO 클래스를 손으로 만드는 경우 매우 귀찮다는 것이다. 귀찮고 번거로운 단순반복 작업은 종종 휴먼 에러를 발생시키고, 소프트웨어에 버그를 만들기도 한다. 따라서 이런 작업은 되도록 자동화하는게 좋다. 인텔리제이의 플러그인 중에 RoboPOJOGenerator라는 플러그인.. 2023. 4. 19.
[IntelliJ] Indent Rainbow 플러그인 설치 및 사용법 파이썬 같은 언어는 인덴트(들여쓰기)가 프로그래밍 언어의 문법에 핵심적인 역할을 한다. 따라서 현재 작성중인 라인이 어느 레벨의 인덴트인지를 정확히 아는 것이 중요하다. 인덴트 레벨이 다르면 전혀 다른 동작을 하는 프로그램이 되어 버리기 때문이다. 인텔리제이나 파이참 같은 IDEA에서 이런 들여쓰기를 잘 관리해주긴하지만 한눈에 잘 안들어온다고 생각된다면 Indent Rainbow 플러그인을 써보자. Indent Rainbow 플러그인 설치 'Indent Rainbow' 플러그인은 인텔리제이의 Plugins 메뉴의 Marketplace에서 조회 및 설치할 수 있다. 인텔리제이 화면 상단의 IntelliJ IDEA > Settings > Plugins 화면으로 들어가자. 검색 창에 Indent Rainbow.. 2023. 4. 18.
[IntelliJ] Rainbow CSV 플러그인 설치 및 사용법 컴퓨터는 쉽게 알아볼 수 있지만 사람은 눈빠지는 포맷 중 하나가 CSV, TSV 같은 것들이다. 빽빽하게 연결되어 있는 데이터들이 콤마나 탭 문자같은 구분자(Delimiter)로 연결되어 있다. CSV, TSV 같은 포맷을 사람이 보기 좋은 형태로 표현해주는 플러그인이 있다. 여러 Rainbow 시리즈 중에 'Rainbow CSV'라는 플러그인이다. Rainbow CSV 플러그인 설치 'Rainbow CSV' 플러그인은 인텔리제이의 Plugins 메뉴의 Marketplace에서 조회 및 설치할 수 있다. 인텔리제이 화면 상단의 IntelliJ IDEA > Settings > Plugins 화면으로 들어가자. 검색 창에 Rainbow CSV를 입력하면 플러그인을 검색할 수 있다. Install 버튼을 눌러.. 2023. 4. 18.
[IntelliJ] Presentation Assistant 플러그인 설치 및 사용방법 코드를 작성하는 동안 개발자의 손은 대부분 키보드 위에 있다. 단축키가 없다면 코드를 입력하다가 IDE의 특정 기능을 실행하고 싶은 경우, 마우스로 손을 옮긴 후 마우스 포인터를 이동해 클릭을 해야한다. 별거 아닌 동작이지만 손을 움직여야하기 때문에 약간의 시간적 손실과 의식의 흐름이 방해를 받을 수 있다. 이 때문에 많은 IDE 들이 개발자들의 생산성 향상을 위해서 단축키를 제공한다. 인텔리제이도 마찬가지다. 다만 수 많은 기능과 그 기능에 매핑되어 있는 단축키들을 모두 외울 수는 없다. 이럴 때 사용하면 좋은게 'Presentation Assistant'라는 인텔리제이 플러그인이다. Presentation Assistant 플러그인은 인텔리제이의 기능이 실행될때마다 동일한 기능을 실행하기 위한 단축키.. 2023. 4. 15.
[IntelliJ] Rainbow Brackets 플러그인 설치 및 사용법 자바 언어는 코드 블럭을 구분하거나 연산자 우선순위를 조정하기 위해 괄호를 사용한다. 문제는 괄호가 굉장히 많이 사용되거나 코드 블럭이 페이지를 넘어가는 등의 상황이 오면 가독성이 매우 떨어진다는 점이다. 다음 코드를 보자. public class Main { public static void main(String[] args) { float result = (((1 + 2) / 3.0f) + 1 + (3.0f / (2 + 1))); long value = ((((((1+1)*2)+3)*4)+5)*6); System.out.println(result); System.out.println(value); } } 의도적으로 지저분한 수식을 만들어봤다. 이를 기본 IntelliJ 에디터로보면 이렇게 보인다. 이.. 2023. 4. 14.
Podman 설치 및 사용법 - Docker desktop의 대체재 맥과 윈도우에서 쉽게 도커 플랫폼을 사용할 수 있게 도와주는 Docker Desktop이 유료화된지 시간이 꽤 지났다. 개인 사용자는 여전히 제한없이 무료로 사용할 수 있지만 250명이 넘는 규모있는 회사에서 Docker Desktop을 사용할 경우 비용을 지불해야한다. (링크 : docker 유료화 공지) 다만 Docker 자체가 유료화되는 것은 아니다. Docker CLI, Docker Engine 등은 오슨소스 라이센스로 개발되고 있기 때문에 기존과 동일하게 사용할 수 있다. 다만 리눅스에서 구동되는 Docker Engine을 맥과 윈도우에서 구동시키기 위해 VM을 생성하고, Docker를 설치하는 등의 처리를 해주는 Docker Desktop만 유료화된 것이다. 따라서 업무용으로 이것저것 테스트하.. 2023. 3. 31.