java/intelliJ

    [Intellij] 파일이 있는데, No such file or directory 에러

    [Intellij] 파일이 있는데, No such file or directory 에러

    인텔리제이에서 FileInputStream같은 파일입출력을 수행하던 도중 분명히 소스코드와 파일이 같은 디렉토리에 있는데 읽어올 수 없는 경우가 있다. 다음 예시를 보자. class FileViewer { public static void main(String[] args) throws IOException { FileInputStream fis = new FileInputStream("data.txt"); int data = 0; while ((data = fis.read()) != -1) { char c = (char) data; System.out.print(c); } } } Exception in thread "main" java.io.FileNotFoundException: data.txt (N..

    [Intellij] 환경 변수 등록

    [Intellij] 환경 변수 등록

    인텔리제이에서 시스템 환경 변수를 사용하고 싶어서 export PASSWORD=1234 이렇게 로컬에 환경 변수를 지정하고 System.getenv("PASSWORD") 이렇게 환경 변수를 꺼내서 사용하면 된다는데... 나의 경우는 되지 않았다. 방법이 없나 찾아보니, 인텔리제이 자체에서 환경 변수를 제공하는 것을 알게 되었다. 인텔리제이 터미널을 키고 "env"를 입력해보자. env PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin __CFBundleIdentifier=com.jetbrains.intellij SHELL=/bin/zsh SECURITYSESSIONID=186b7 TERM=xterm-256color ... 이렇게 무슨무슨 jetbrains.intel..

    [Intellij] 디버그

    [Intellij] 디버그

    Intellij에서 유용한 디버그 기능에 대해 알아보겠다. 다음 디버그 방식을 알아두면 Intellij 뿐만 아니라 Jetbrain사의 여러 IDE 혹은 그 밖의 IDE에서 유용하게 활용할 수 있을 것이다. 디버그는 기본적으로 "break point"라는 고정점을 사용한다. 이렇게 고정점을 추가하면(해당 라인을 클릭하면 된다), 디버그 시 고정점에 해당하는 라인 바로 직전까지 실행된 상황을 아래와 같이 보여주게 된다. 1. 왼쪽 블록은 고정점 직전까지의 콜 스택 상황을 파악할 수 있고, 2. 오른쪽 블록은 고정점 직전 까지의 변수와 그에 대한 값을 확인할 수 있다. 앞서 설명한 두 뷰가 오류를 찾아내거나 코드 구조를 파악하기 위한 디버그의 메인 기능이다. 따라서 디버그는 나의 코드 뿐만 아니라 다른 사람..

    [Intellij] import문 자동 정리하기

    [Intellij] import문 자동 정리하기

    intellij에서 코딩을 하다 보면 위처럼 사용하지 않는 import문들이 남아 있는 것을 볼 수 있다. 이 때, 단축키를 활용해서 사용하지 않는 import문을 정리할 수 있다. 맥: command(⌘) + option(⌥) + O 윈도우: Ctrl + Alt + O 그러나 이 방식은 파일마다 일일이 단축키를 눌러줘야 한다는 단점이 있다. 따라서 다음 방법을 사용하면 전체 파일의 import문을 관리할 수 있다. Action 검색(command(⌘) + shift(⇧) + A) -> "auto import" 입력 "Optimize imports on the fly 체크" 이제 전체 코드들에 대해 사용하지 않은 import문은 자동으로 삭제된다.

    [Intellij] JUnit5 Stateful Test

    다음 테스트는 각 테스트(메서드)마다 새롭게 number 멤버 변수가 생성되기 때문에 두 테스트 모두 0이 출력된다. class NonStatefulTest { private int number; @Test void test1() { System.out.println(number++); } @Test void test2() { System.out.println(number++); } } 0 //test1 0 //test2 이를 Stateful하게 테스트를 작성하고 싶다면 다음과 같이 애노테이션을 설정하면 된다. //default: @TestInstance(TestInstance.Lifecycle.PER_METHOD) @TestInstance(TestInstance.Lifecycle.PER_CLASS) c..

    [Intellij] 인텔리제이 단축키, 템플릿 정리 - Mac

    [Intellij] 인텔리제이 단축키, 템플릿 정리 - Mac

    IntelliJ를 사용하면서 알아두면 좋은 단축키, 템플릿을 알아보자. 이 정도만 알아도 작업 속도에 많은 영향을 끼칠 것이다. 단축키 코드 Edit 프로젝트 목록으로 이동 맥: command(⌘) + 1 윈도우: 디렉토리, 패키지, 클래스 등 생성 목록 보기 맥: command(⌘) + N 윈도우: Alt + Insert 현재 실행환경 실행 맥: control(^) + shift(⇧) + R 윈도우: Ctrl + Shift + F10 이전 실행 맥: control(^) + R 윈도우: Shift + F10 -> 우측 상단 Run/Debug configurations 상자에 이전 실행 정보가 담겨 있다. 라인 복사하기 맥: command(⌘) + D 윈도우: Ctrl + D 라인 삭제하기 맥: comma..

    IntelliJ에서 Gradle 사용시 자바 직접 실행

    IntelliJ에서 Gradle 사용시 자바 직접 실행

    IntelliJ에서 Gradle 프로젝트 사용시 Gradle 대신에 자바 직접 실행 방법 최근 IntelliJ 버전은 Gradle로 실행을 하는 것이 기본 설정이다. 이렇게 하면 실행속도가 느리다. 다음과 같이 변경하면 자바로 바로 실행해서 실행속도가 더 빠르다. Settings -> Build, Execution, Deployment ->Build Tools -> Gradle Build and run using: Gradle -> IntelliJ IDEA Run tests using: Gradle -> IntelliJ IDEA

    IntelliJ에서 Live Template 추가하기

    IntelliJ에서 Live Template 추가하기

    Intellij에서는 sout, iter와 같은 여러 편리한 Live Template를 제공한다. 여기서는 사용자 Live Template를 생성하는 법을 알아보자. ex) JUnit Test jUnit을 활용한 테스트 진행 시 매 테스트마다 비슷한 구조를 계속 입력해야 한다. 이를 아얘 나만의 템플릿으로 만들어 사용하면 보다 편리하게 테스트를 진행할 수 있다. 인텔리제이 Settings(윈도우 단축키 ctrl+alt+s)에 들어가서 "template"를 검색한 후 "Live Template"을 클릭한다. 이 곳에서 여러 iter == for문 생성과 같은 여러 템플릿을 볼 수가 있다. 우측에 '+' 아이콘을 눌러 새로운 템플릿 역시 만들 수 있다. 나는 "custom" 이라는 Template Group..