선택

자바를 새로 시작하는김에 Eclipse로 시작하였으나 난관이 하나있었습니다. 

jar파일을 하나 만들어서 사용해줘야되는데  gradle 과 Maven 을 쓰지 않으면  Eclipse에서는

jar 파일 생성 -> 생성된 jar파일 에 Dependency jar 다시 merge 하여 jar 다시 생성 의 과정을 거쳐야 합니다.

 

JAVA를 시작한지 일주일도 채 안되었던 상태이기도하고 gradle, maven 형태로 가는거보단 기본적인 jar

생성이라도 간편하게 할수 없을까 찾다보니 Intellij 의 Community 버전의 경우 한번에 Dependency jar도 가능하고 

 

여러가지 편리성도 있고 IDE자체적으로도 많은 차이가 있습니다. (이건 따로 검색해보면 너무많이 나오네요 ㅎㅎ)

 

세팅

https://www.jetbrains.com/idea/ <-- 이 링크에서 인텔리 J Community 

 

IntelliJ IDEA: The Java IDE for Professional Developers by JetBrains

A Capable and Ergonomic Java IDE for Enterprise Java, Scala, Kotlin and much more...

www.jetbrains.com

설치 후 기본 프로젝트 생성

 

Create New Project 

 

자바 버전도 이상하게 나오지만 당황하지 말고 그냥 Next 후 Finish

 

test를 입력후 Shift + F10 ( Run ) 정상적으로 실행됨을 알수 있다. 

 

하지만 제 PC에 설치되어있는 jdk 는 openjdk 1.8을 사용하기 때문에 환경을 변경 해줍니다.

 

Project Structure ( Ctrl + Alt + Shift + S ) 

 

눌러보면 아마 No SDK 로 나타날 것입니다.

JDK 선택 

 

저의 openjdk 의 위치는 위와같습니다.

C:\Program Files\ojdkbuild\java-1.8.0-openjdk-1.8.0.201-1 해당 위치로 선택합니다.

지정후 apply 하게되면

Shift + F10 으로 실행시 jdk 1.8 을 설정함을 확인 하실수 있습니다~

 

단축키

현재까지 확인된 편리한 단축 기능들입니다.

sout

sout = System.out.println  으로 sout을 입력하면 자동완성이 됩니다.

psvm

psvm = public static void main 으로 sout과 마찬가지입니다. ( 함수내에서는 나타나지 않습니다. ) 

 

Ctrl + Shift + F10 or Shift + F10 

Run (Main Class 실행)

Alt + Insert  

클래스를 사용하여 변수들을 관리하게 되는데 이때 getter setter클래스는 변수에 대해 매번 getter setter를 작성해야 하는 불편함이 있습니다. 해당 기능들을 자동완성 시켜주는 단축키입니다.

Ctrl + Shift + F 

프로젝트 전체 검색입니다.

Ctrl + N 

프로젝트의 클래스 전체 검색입니다.

Ctrl + E

최근에 열였던 클래스 검색 (프로젝트가 커지면 쓸모는 없습니다.)

Alt + 1

프로젝트로 이동(navigator) 하게되며 추후 ctrl + shift + 방향키 선택시

해당 네비게이션의 사이즈가 변합니다.

ESC로 다시 프로젝트 이동후 Alt + 방향키 로 탭을 이동하면서 코드를 작성할 수 있습니다.

Ctrl + Alt + L 

중요합니다. 코드 작성후에 계속 써주면 코드를 정리해줍니다.

 

F2

에러가 있는 곳으로 넘겨서 이동합니다. (에러가 없을 경우엔 메서드 단위로 이동합니다.)

혹은 Ctrl + B 는 사용된 함수로 이동합니다.

Alt + 6

Todo List 체크하기가 됩니다.

잘못된 To do 의 예

 

정상 투두 스타일

// TODO 대문자로 적어 주셔야 정상 투두스타일이며 Alt + 6 에 걸립니다 

 

Ctrl + F11

브레이크 포인트 대신 단축 포인트를 지정합니다.

1번으로 지정하게 된 후에 다른 코드에서 작성 하다가 Ctrl + 1 (Ctrl + 북마크 문자)을 하게되면

해당 단축 포인트로 포커싱이 이동됩니다.  생각보다 유용한 단축키입니다.

 

원래 FE개발을 좋아하기에 아래와 같은 겉멋 로딩 창 문자열 생성기 주소도 넣어봤습니다

 

겉멋 로딩 창 문자열 생성기
http://patorjk.com/software/taag/#p=display&f=Slant&t=App%20Start

불러오는 중입니다...

마지막 으로 저는 Material Theme를 사용하는 데요 

 

Material Theme 변경 시 

 

Ctrl + Shift + A   > plguins 입력 후 Material theme 검색해서 설치

Ctrl + Shift + A > settings 입력시 세팅창 

 

변경된 Material Theme

Material Oceanic Theme

즐거운 JAVA 되세요~

'개발일지(Language) > Java 일지' 카테고리의 다른 글

JAVA 기본기 - 변수  (0) 2019.12.02
JAVA ? 프로그래밍 언어? JAVA 시작하기 (QA)  (0) 2019.11.20
낙서장  (0) 2016.06.15

자바! 자바! 이클립스라는 IDE자체에 별 생각이 없었기에 자바를 굳이 시작하진 않았습니다. 

 

(Node.js 로 웬만한건 다 구현이 됐었고 심지어 자동화도 *Node.js에서 *selenium도 메이저 버전이고 아주 급격하게 성장하고있는 퍼펫티어도 Node.js기반입니다.)

 

새로운 프레임워크 (Integrated Automation Framework) - Fitnesse

 

이번에 새로 들어온 회사에서 통합 테스트 프레임워크인 Fitnesse 라는것을 만나게 되었는데

 

정말 자동화에 대한 아이디어가 샘솟는 프레임워크 였습니다.

 

(출처 : http://www.nextree.co.kr/p2613/)  여기서 QA(저희)는 QA담당자와 개발자 둘다 포함하고 있습니다.

 

나중에는 도커로 묶던 어플리케이션 형태로 만들어서 쓰면 될거 같기도 하고

- 테스트코드에 대해서 백엔드에 작업을 해놓고 프론트 앤드 화면에선 파라미터 값을 입력 하면

  백엔드에서는 set이라는 모듈을 통해 파라미터에 따른 함수 실행을 하는 형태 

(하나의 test set 에 이용자가 정하는 여러가지 케이스에 대해 테스트를 하고 History 까지 남길수 있습니다.)

 

Node.js와 연동에 대해서 조금 찾아 보았으나 해당 fitnesse에 대한 자료도 많진 않았고 연동자료들이 있긴하였으나

 

조금 억지스러운 연동들이 많았습니다. ( fitxutre를 파싱하여 쓰는 형태다보니 node에서도 어거지로 맞추면 돌아는 가는형태이지만 이걸 억지로 하는건 기존 저희 팀에 개발된 프로젝트와도 삐걱댈수 있기 때문에 정말 필요한 형태가 아니라면 지양 하고자 했습니다.)

 

그리고 IT인으로 살아가는데 잘하는 언어가 html css, js ts(js수퍼셋) 이라면 뭔가 아쉬울거 같았습니다. (물론 저는 js를 좋아합니다.)

 

학부생을 나오면서 C , C++ , pyhton 맛은 봤지만 어디가서 뭐 이거로 뭐 할수 있습니다. 수준은 아니였기 때문에 한가지를 더 하고 싶었던 생각이 있었습니다. 업무에 적용해서 하면 훨씬 빠르게 성장할수 있었기 때문입니다.

 

그래고 매년 코테를 재미삼아 C,C++ 로 했었는데 이제는 이것도 그만하려고 합니다. 심지어 작년엔 nhn 에도 붙었었지만 지원이력만 남는게 썩 좋지는 않은거같아서  추가적인 언어에 대한 갈망이 있던 찰나에 Fitnesse를 만났고

 

JAVA를 선택하게 되었습니다. 

 

Fitnesse의 메인 언어는 자바입니다.  자바와는 거리가 먼 커리어였기에 이번에 자바의 정석을 통하여

 

기본기를 좀 다지고  멋진 Fitnesse 적용기가 되려고 합니다. 

 

우선 자바의 히스토리 뭐 이런건 책에 있으니 넘어가고 JDK 를 일단 설치 하여야 합니다.

 

오라클 JDK는 유료화 선언이 되었기에 openJDK 를 설치 하도록 합시다.

 

단순히 openjdk 라고 검색하게되면 리눅스 계열 설치는 많이 나오기 때문에 저는 윈도우즈에서 openjdk 를 설치하고

 

진행 해보려고합니다.( 나중에 꼭 MAC을 사서 MAC에서 하는 그날을... )

 

http://jdk.java.net/archive/

 

Archived OpenJDK GA Releases

Archived OpenJDK General-Availability Releases This page is an archive of previously released builds of the JDK licensed under the GNU General Public License, version 2, with Classpath Exception. WARNING: These older versions of the JDK are provided to hel

jdk.java.net

openjdk 링크입니다.

 

* 참고로 LTS버전(안정화 버전)은 1.8버전이고 그다음 LTS버전은 18.9버전입니다. 

JAVA 8 - LTS 

JAVA 18 - LTS ( 예정 )

 

저는 공부용이니 JAVA 10 을 쓰겠지만 프로덕션은 8이 맞습니다.

 

GA Date : Oracle 자바의 출시일을 뜻합니다.

 

저는 10.0.2 (build 10.0.2+13) 로 설치 하도록 하겠습니다.

 

해당 압축을 푼 후 jdk-10.0.2 폴더를 이동 하도록 하겠습니다.

 

 

해당 위치에 openjdk 라는 폴더를 만든 후 위에 압축을 풀어 이동합니다.

 

내 컴퓨터 우클릭 - 속성 - 고급 시스템 설정 - 고급 탭 - 환경 변수 

 

 

앞에서 지정하였던 폴더 경로를 복사후 

 

새 시스템 변수로 등록 합니다.

확인 후에 

 

Path 선택 후 편집 을 이동하여 아까 지정한 JAVA_HOME 변수를 사용한다.

아래와같이 %JAVA_HOME%\bin 을 입력 후 확인 

 

 

후 종료

 

윈도우 로고 + R => cmd 입력 

 

 

java --version 과

 

javac --version 을 입력합니다.

 

 

정상적으로 openjdk 설치를 확인하였습니다.

 

여기서 마지막으로 java와 javac를 입력 하였는데요

 

기본적인 설명만 적어놓고 다음 시간으로 넘어 가도록 하겠습니다.

 

javac  - 자바 컴파일러 로 자바 소스코드 (.java) 를 바이트코드로 컴파일합니다. (.class)

    -> javac Hello.java

java - 자바 인터 프리터 로 컴파일러가 생성한 바이트코드 (.class)를 해석하고 실행합니다.

    -> java Hello 

javap - 자바 역 어셈블러로 컴파일된 클래스파일(.class)을 원래의 소스로 변환합니다. (java) 

    -> javap Hello > Hello.java

 

만약에 같은 프로젝트에 쉘로  build.sh 를 만들어서 빌드한다고 하면 (IDE 없이)

 

#!/bin/sh

javac Hello.java 
# javac Hello.java -encoding=UTF-8    Encoding Settings
java Hello

 

이런 형태가 될것 같습니다.

 

만약에 작성된 에디터와 인코딩이 맞지 않는 다면 빌드시에 -encoding을 사용하여서 맞춰줄수 있습니다. 

 

javadoc - 자동문서 생성기로 소스파일에 있는 주석 /** */을 이용하여 JAVA API 문서와 같은 형식의 문서를 자동으로 생성합니다.

 

jar - 압축 프로그램 클래스 파일과 프로그램의 실행에 관련된 파일을 하나의 jar 파일(.jar)로 압축하거나 압축해제합니다.

 

JDK ( Java Development Kit ) 자바 개발도구

JRE  ( Java Runtime Environment ) 자바 프로그램이 실행하기 위한 최소환경

 

JRE는 JDK 안에 포함되어 있으며 JDK 가 더 큰 영역입니다. 

javac는 JDK 안에 있습니다.

 

여기까지 자바를 시작하기 위한 기본 준비가 되었습니다. 얼른 자바에 기본을 다지고 통합 테스트 자동화까지

 

해보도록 합시다.

'개발일지(Language) > Java 일지' 카테고리의 다른 글

Intellij IDEA ( JAVA IDE ) Community 버전  (0) 2019.12.10
JAVA 기본기 - 변수  (0) 2019.12.02
낙서장  (0) 2016.06.15

+ Recent posts