웹개발생존기/JAVA_개발공부

JAVA 생초보 필기 - 개발 환경 구축편(window)

개발하는 나비 2022. 7. 11. 19:11

개발 환경 구축이란 무엇일까?

그리고 왜 이런 과정이 필요할까?

 

컴퓨터를 새로 샀고, 윈도우만 설치되어 있는 상황이라면

컴퓨터는 자바라는 언어를 자연스레 알고 있을까?

(응애 나 애기 컴퓨터.. 아무것도 몰라요.)

 

컴퓨터에게도, JAVA라는 언어가 무엇인지 알려줘야 한다.

-> 'JDK' = 자바 디밸롭먼트 키트

 

출처:openJDK사이트

 

 

자바는 컴 파일 언어라고 했듯이

[컴 파일 + er = 컴파일러]

설치해준다음에 IDE라는 편집기를 함께 설치해준다.

 

JDKfor 컴퓨터에게 자바를 알려주려고 하는 것

IDE(편집기= 통합 개발 환경) for , 개발자를 위해..


 

1. JDK를 먼저 설치한다 (컴퓨터에게 알려줘야해서)

 

JDK 종류

오라클 회사 (유료)

- 오픈JDK (무료)

메뉴 중 JDK 18, 19, 20이 있는데

우리는 16버젼을 사용한다.

(참고로, 상위 버전은 아래 버전들의 기능을 다 가지고 있음)

 

출처: openJDK 사이트

 

 

16.0.2 zip 파일 다운로드

(위의 주소 직접 입력)

참고로, 개발자에게 유용한건

윈도우가 아니라 리눅스에서 개발을 하는게 더 편하다.

 

(여담이지만, 알기 쉽게 정리해보자면

윈도우는 사용자, 맥북은 운영자, 리눅스는 개발자다(라는 말이 있다고 한다.)

 

윈도우에는 설치과정에서 환경변화를 다 적어줘야 하지만

리눅스는 개발에 특화되어있다.)

 

2. 시스템변수에서 새로 만들기 누르기

위 파일의 경로를 Ctrl+C , Ctrl+V 할 것

-> 설치하고 압축 풀 때 program files바로 풀기

위와 같이 경로 똑같이 할 것

/<-이거랑 반대방향으로 생긴 거는 백스페이스 옆에 \

명령프롬프트 -> javac -version 입력

(띄어쓰기 주의)

[system]내 컴터가 자바를() 이해했다! -> intellij idea 다운받기

 


 

2. IDEA를 설치한다.

* 인텔리제이는 무료가 아니다.

이클립스는 컴 파일 언어의 특징,

컴 파일 하고 빌드를 하는 과정에서

이클립스는 빌드 뻑이 많이 남

 

(예를 들어, 우리가 건물짓는데, 깨끗한 바닥에 지어야 할 때

이클립스는 예전 건물 잔재까지 자꾸 쓰레기로 남아서

건물이 깨끗하게 지어지지 않는 것과 같다.) 

 

1- C:드라이브에 workspace라는 새폴더(=디렉토리)를 만든다.

2- 들어가서 java라는 새폴더 생성

3- flutter도 생성

 

* 한글 없게끔 경로를 만든 이유가 있음

전세계 사람들이 같이 하는 것이다.

다른 나라에 한글이 있을까?

한글을 사용할 경우 안열리게 됨

즉, 규칙이 무조건 경로에는 한글이나 특수문자가 포함되면 안된다.

띄어쓰기도 특수문자라 인식한다.

 

= 영문자 띄어쓰기 없게끔 만드는 이유


앞으로 코딩 하면서 자주 쓰이게 될 명칭 규칙

 

*명칭*

팟홀케이스: school_diary (팟홀=맨홀뚜껑-> 언더 바가 맨홀처럼 구멍이 됨)
파스칼케이스 : SchoolDiary (파스칼이란 사람이 만든 규칙, 앞에도 대문자, 뒤에도 대문자 단어 첫글자가 항상 대문자)
카멜케이스 : schoolDiary (카멜=낙타, 낙타 등처럼 뒤에 혹시 싹 올라가는거처럼 뒤에 단어만 대문자임)

 

명칭을 알아야하는 이유?

: 팟홀케이스는 프로젝트명을 쓸 때

: 파스칼케이스는 클래스명을 지정할 때

: 카멜케이스는 변수을 지정할 때 필요함

 

왜 구분지었을까?

소스를 짜다보면 소스가 많아지는데,

이게 다 통일 되면...(!!!)

뭐가 뭔지 파일을 다 열어봐야하는 상황이 되어버림

미리 알아볼 수 있는 규칙을 정해놨으니 그 소스가 뭔지 이동해서 보지 않아도 되니까

 

5) 실행해보자

 

'intellij 설치법' 검색해서 체크해야되는거 체크해서 하면 됨

 

로그인 후 앞에 가리는거 없이 되면 됨

 

스프링 쓸거임 (프레임워크)

프레임

워크 일하는거

프레임워크 일하는 틀

자바 기반으로 된 프레임워크가 스프링임

가끔 채용공고보면 SPRING 이란걸 발견할 수 있는데

위를 가리키는 말이다.

 

 

그룹 도메인 닷컴 거꾸로쓰기

아키텍 유물 유일하다. (디아X로 게임 생각해보기)

타입은 Gradle 로 두기 (캡쳐화면에는 다른걸로되어있음)

 

 

(체크항목 참고)

밑에 하얀색 바 다 될 때까지 기다린다.

하얀색 바는 무엇인가?

- 패키지를 다운받는 것

비슷한 것에 대해 묶어 놓았다.

롱북이랑 웹을 선택했는데, 웹에 대한 패키지, 롱북에 대한 패아키텍 유물 유일하다.

 

타입은 Gradle 로 두기 (캡쳐화면에는 다른걸로되어있음)

 

이 소스 누가 관리하는가?

-> 해외쪽.. 해외쪽 인터넷이 느려서 ;;; 오래걸리는 것.

스프링 부트를 공부하는거임 스프링이 아님

우리가 컴퓨터를 켜면 전원버튼을 누른다. 전원버튼을 눌러서 부팅시킨다

스프링 설정이 원래 복잡한데 스프링 부트를 쓰면 기본설정들을 스프링 부트에서 자동으로 해줌

 

src = 소스이다

빌드 그래들을 눌러보자

기능들을 어디선가 한다라는걸 알려줘야하니..

그것들은 빌드 그래들에 적는 것


 

여긴 시작점이다.

 

서빙 하는사람(=서버)은 클라이언트(손님)이 달라고 하면, 갖다 주는 역할이다.

음식 영업점 시간이 끝난다음에 서빙을 요청하면? =안온다.

그러니 데이터를 가져다 준다라는 거에서 특별한점은

고객이 언제 올지 모르니 24시간 켜져있는거다.

게임하다보면 정기적으로 서버점검을 하겠습니다 몇시~몇시까지

접속이 안되는건 서버가 꺼졌다.라는 표현이다.

게임도 뒤에 웹서버가 돌아가고 있는 것이란 뜻.

 

앱에서도 서버가 필요할까? 당연하다 왜냐하면..

혼자 쓰는거면 상관없지만, 서버의 기준은

만약, 내가 햄버거 재고를 2개 가지고 있는데

누군가한테 1개를 팔았으면 내껀 1개 재고인 상태이다.

 

다른 고객이 왔는데 2개달라하면 줄 수 없다.

이렇듯, 뒤에서 재고관리가 되고 있는 것이 곧 서버가 필요한 이유이다.

수강신청 앱을 만든다? 신청안한 누군가는 다른 데이터를 봐야하지 않을까?

그래서 서버가 필요한 것임

 

클래스명 앞뒤대문자~~~

 

public 공공의

private 프라이버시 지켜줘~

protactse? 보호됐어요~

상속 받은 객체 안에서만 불러올 수 있다~

그래서 퍼블릭 많이 쓴다고 한다.