설치한 것들, 설정 정리

  1. web App는 was에서 실행됨
was의 종류
  • tomcat
  • jboss
  • webLogic
  • webSphere
  • JEUS(관공서 시스템의 대부분이 돌아감)
  1. was는 java를 기반으로 만들어졌기에 jvm이 필요함

  2. 때문에 open JDK(JRE가 포함되어 있음)를 설치

  3. 자바 EE라는 기술 명세가 있는데 이에 맞춰 구현될 수 있도록 하는 게 Java EE Implement라는 구현체

    타 was와 달리 톰캣은 java EE와 관련된 기술 중 서블릿, jsp, jstl, el 등 웹 관련한 것만 지원

    즉 서블릿, jsp는 모든 was에서 돌아가지만 ejb는 톰캣에서 돌아가지 않는다.

    만약 ejb를 처리할 일이 있다면 스프링 프레임워크를 사용해 pojo로 처리하면 된다.

  4. html, css, java script를 기본으로 제이쿼리, 부트스트랩, 앵귤러, 뷰, 리액트, 엠버 등 응용 라이브러리 이용

  5. 응용 라이브러리를 쉽게 다운 받기 위해서 npm 이용
  6. 때문에 node 사용(npm을 이용해 라이브러리를 관리)

기술

  • 서블릿
  • jsp
  • sql
  • jdbc - 대용으로 orl 사용
  • jstl, el
  • 스프링 프레임워크 - IOC 컨테이너, 웹 mvc, aop
  • 라이브러리 관리를 위한 Gradle 사용
  • 마리아 db 이용
  • git
  • IDE는 이클립스 사용
  • 비주얼 스튜디오 코드 사용
  • 패키지 매니저 역할로 scoop 사용

설치

open jdk

설치 경로-11버전-

설정

  1. java_home 환경 변수 설정

    시스템 설정 - 고급 시스템 설정 - 시스템 속성 - 환경변수로 java_home 생성 - JDK까지만 경로 알려주기

  2. path 환경 변수 설정
    PATH 경로 맨 앞에 bin까지의 경로 복사, 세미콜론이나 콜론 찍어주기

설정 확인

cmd에서

1
2
3
4
5
echo %java_home%
// 결과로 jdk 경로가 출력되어야 정상
javac -version
java -version
// 결과로 버전이 출력되어야 정상

비주얼 스튜디오 코드

설치 경로

git client

설치 경로, cmd

설정 확인

cmd 창에서

1
2
git --version
// 버전이 뜨면 정상

이클립스

공식 홈페이지에서 인스톨러를 다운 받고, update 진행

설정

  • 워크스페이스 디렉토리 선택
  • preferences - General - Workspace - Text file endcodeing을 utf-8로 설정
  • preferences - General - Editors - Text Editors에서 tab width를 2로 하고
    tabs 대신 스페이스를 넣게끔 설정
    show print margin 선택-칼럼은 100
    show whitespace characters 체크
    show line numbers 체크(기본으로 체크되어 있음)
  • java 11 버전을 지원하는 플러그인을 설치 (이클립스 마켓플레이스 이용)
    java - installed JREs에서 확인할 수 있음
  • JAVA - Code Style - Formatter에서 구글 스타일 xml import
    구글의 코드 스타일 가이드
  • java - compiler에서 level을 맞춰준다
  • web에서 css, html, jsp 인코딩을 utf-8로 맞춰준다

자바는 모든 것을 2byte-utf-8이 아닌 그의 원형인 유니코드를 쓴다-로 저장하므로, 외부로 내보낼 땐 utf-8-3byte-로 매번 변환시키는 작업이 필요하다.

톰캣

공식홈페이지에서 다운로드

  • preferences - server - runtime Environment에서 다운로드 받은 톰캣 add

Scoop 패키지 관리자 설치

맥의 경우 homebrew

scoop을 이용하기 위해서는 파워쉘이 일정 버전 이상(3 이상)이어야 하기에 윈도우 파워쉘(Windows PowrShell)의 버전을 확인​

1
Get-Host | Select-Object Version

파워쉘 업데이트

1
scoop install curl

net framework

배우다가 스쿱 다운로드 실패로 중단

gradle

빌드 도구가 하는 역할

  • compile
  • test (report도 만든다)
  • 아카이브 (.jar, .war, .zip)
  • deployment

기존에 많이 쓰던 ant의 경우

  • build.xml에 빌드 정보 설정

외부 라이브러리 자동 다운로드를 위해 메이븐 등장

  • build.xml이 pom.xml가 된다.

빌드 명령을 정교하게 작성하고 싶어짐

스크립트 언어로 자바 호환 언어인 groovy 이용

그레이드 등장, 그레이드의 경우

  • build.gradle에 빌드 정보 설정

그레이드는 메이븐과 호환이 된다.

그레이드 공홈에서 binary-only를 다운로드

  • 환경변수 설정 필요
  • path 맨 앞에 bin까지의 경로 넣어주고, 세미콜론 찍으며 확인

cmd에서 확인 가능

1
2
gradle --version
// 버전이 제대로 떠야 정상

마리아 db

공홈에서 다운로드

  • default instance properties 설정 시 utf-8로 설정해줘야 함

  • 서비스에서 mysql에 maria db가 있는지 확인하고, 상태가 시작됨인지 확인

  • 마리아 db bin 경로를 path 환경변수에 설정

  • cmd에서 확인

    1
    2
    3
    4
    5
    6
    mysql -u root -p
    // 패스워드 입력하는 창 나오고, 입력하면
    // welcom 마리아 db 문구가 나오며 maria db 명령이 실행 준비됨

    show databases;
    // 가지고 있는 database를 보여준다

깃허브에 repo 준비

  1. 원격에 repo를 만든 뒤 로컬에 클론을 한다.

    1
    git clone ~url~
  2. 새로운 프로젝트를 만든다.

    1
    2
    gradle init --type java-application
    // 강의는 groovy로 진행되기에 1, junit을 쓸 예정이므로 1 입력함

​ jsp를 만들 때 <% %> 사이에 자바를 넣듯, 특정 영역에 집어넣는 언어를 dsl(Domain-specific language)이라 한다.

완성된 폴더에는 샘플 소스도 들어가 있다.

1
gradle build

컴파일을 자동으로 실행하며, 필요한 라이브러리를 알아서 다운로드한다. build라는 폴더가 생성된다.

1
gradle run

왜인지 내가 했더니 에러가 났다…

그래서 다시 지우고 하니까 또 된다. 왜 에러가 났을까?

이클립스에서는 제대로 된 폴더 구조를 보여주지 않는다. 이를 해결하기 위해 이클립스에선 window에서 show view - navigator로 확인한다.

  • 프로젝트는 그레이드로 만든다!

  • 이후에 import를 이용해 existing projects into workspace로 불러온다.

    이 때 파일은 옮겨지는 게 아니라, 그대로 있고 이클립스에서 만질 수 있도록만 만드는 것

  • 이클립스의 파일들

    • .settings
    • .classpath
    • .project

    이것들이 없으면 project를 찾을 수 없다고 뜬다.

    때문에 그레이드에 자동으로 생성할 수 있는 기능을 이용한다.

  • build.gradle

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
plugins {
id 'java'
id 'application'
id 'eclipse'
// 이클립스가 읽을 수 있도록 플러그인을 장착
}

repositories {
jcenter()
}

dependencies {
implementation 'com.google.guava:guava:26.0-jre'
testImplementation 'junit:junit:4.12'
}

mainClassName = 'bitcamp.newdeal.lms.App'

이후에 cmd에서 명령어 실행

1
2
gradle eclipse
// 이클립스 설정 파일을 만들기 시작
  1. 저장/변경/삭제 명단을 작성(stageing-area에 올린다)
    명단에 작성할 것이 있는가

    1
    2
    git add .
    // git 폴더의 하위 모든 요소를 검사해 스테이지에 올린다
  2. 로컬 저장소에 저장(snapshot)
    이 순간 로컬의 .git에 저장된다.
    저장하는 행위를 커밋이라 한다.​

    1
    git commit -m "커밋 메시지"
  3. 서버에 업로드, 푸시​

    1
    git push

깃허브 임시 비밀번호 만들기

settings - Developer settings - personal access tokens에서 New personal access token 생성 후 보이는 토큰을 잘 보관하기

마치며

오늘 만든 프로젝트(?)