basicJAVA/0. 개발환경 구축

201005

unemo 2020. 10. 6. 08:58
반응형

초급java 오라클 중프(일주) 고급자바 스크립트(제이쿼리) (네트워크도) 중프(이주) 스프링 파이썬 최프(한달반
구축완료보고서 (ppt) -목까지


컴퓨터이름 영문으로

 

b_util에 22jdk열거임

 

인터넷
oracle.com
밑에 jdkdownloads.
맨밑 자바아카이브


우리는 7버전 사용할거임
자바 1.7 과 7버전은 같은데 민간기업에서 사용하는것과 같은게 이 버전

 

자바는 JDK와 JRE로 나뉨
자바를 개발하기위함이 JDK (development)
개발했으니 실행해봐야하니까
자바를 실행하기위함은 JRuntimeE (우리가 쓸일은 거의없음)
내운영체제에 맞는것을 골라야함 (윈도우버전
x86은 32bit
x64는 64bit

 

어케앎? 내pc에서 우클릭-속성
그걸받은게 22jdk에 있는것

7u80의 u는 update

 

보통 프로그램깔면 윈도우 안에서 윈도우가프로그램을 돌려줌
근데 자바는 좀특이함
자바는 이식성이 좋다. 윈도우가 직접적으로 자바를 돌려주는게아님
윈도우위에 JVM이라는 가상기계를 만들어줌 얘가 자바를 돌림
즉 JVM이 돌려주니가 운영체제에 상관없이 쓸수있는게자바

 

이제설치할거임
jdk-7u80어쩌구 실행
어디다가 자바설치할거야? change 클릭
D:\B_Util\2.Java
새폴더 JDK1.7 (대소문자구분)
이제 jre를 깔거냐
jdk에는 jre가 포함되어있으므로 설치할필요없음 x누르면됨
D:\B_Util\2.Java\JDK1.7에 설치완ㅇ료

 

jdk를 d드라이브에 설치했으므로 윈도우가 못알아들음
환경변수등록으로 윈도우가 자바를 알아들을수있도록 ..

아까 컴터64bit확인했던 컴터우클릭속성에서
고급시스템설정-환경변수
이이름이면 이경로로 가라. 이름붙여줄거임
새로만들기 (밑에거)
변수이름:JAVA_HOME
변수값:D:\B_Util\2.Java\JDK1.7
이름ㅁ만만들고 윈도우에겐아직안알려줌

p눌러서 path찾고
path 편집
새로만들기
%JAVA_HOME%\bin
java여기가면있어 하고 알려주는것
위로이동으로 맨위로올려서 우선순위

 

CMD창열기 (윈도우R에서 cMD)
우리가보는건 G래픽UI
이건 CLI command line interface

java -version으로 자바확인
java 1.7어저구 나오면됨

 

자바는 컴파일이라는 과정이있음
자바는 JVM이 실행시키는데
우리가 코딩한건 JVM이 못알아들음(지언어가아니니가)
그 언어로 변환시키는게 컴파일


자바를 컴파일해주는건 java c

javac -version을 CMD에 쳐봤을때 1.7버전으로 되어있음(자바버전과 일치)

자바가깔린거확인한것

이제코딩간단하게할거임

 



메모장열어서
public class Hello{
public static void main(String[] args){
System.out.println("Hello Java");
}
그대로치고 다른이름으로저장
바탕화면에 Hello.java
대소문자구별!

바탕화면에 생긴 java파일 (우클릭속성에서 파일형식이 JAVA파일이 되어야함)

바탕와면에서 shift누르고 우클릭
여기서 파워쉘 열기

 

jdk가 실행해주는게 java
jdk가 알아듣는언어로.. 컴파일은 javac가 해줌

 

javac Hello.java 했을때 class파일이 생겨야정상
에러남 왜? 중괄호 가 안맞음

public class Hello{
public static void main(String[] args){
System.out.println("Hello Java");
}
}

에러내용을 읽으면 알수있다.

이제 JVM이 알아들을수잇음컴파일했으므로 (class파일생김)
바탕ㅇ화면에 .class파일이 생겼으므로

이제 java Hello치면
Hello java가 생김

 

매번 코딩-컴파일-실행 순서임
이걸 쉽게해줄수잇는 tool이 있음
이게 eclips

 

D:\B_Util\1.설치 및 압축파일\그외
여기세 반디집있음 (알집안됨 알집은 유료라)

설치하자 지금적용

D:\B_Util\1.설치 및 압축파일[04]Notepad++
에디터임
메모장보다더좋음
웬만한파일다 열어줌
코딩할때 부수적으로 도와주는것


설치하기

이제 이클립스
금요일마다 영타장문 300타 이상나와야함+이클립스 단축키 반정도

http://www.eclipse.org/
http://www.eclipse.org/downloads/

자바가 발전하면서 같이 발전함(행성이름)
우리자바 7버전과 어울리는놈이 두가지
루나와 캐플러
IDE and tools (맨아래)
누르고 이크립스 로고누름
otherpakage (jdk7번전과 어울리는ㄴ놈찾을거니까)
우측에 more에서 older version
우리는 루나
sr2 pakages

java만 가지고 코딩할거면 1번
우리는 웹도 필요하므로 두번재에 EE
64bit 누르면 되는데

D:\B_Util\1.설치 및 압축파일[26]Eclipse
여기 다운받아져있음 이름만 mrs이고 luna임
이놈은 인스톨버전이아닌 압축만풀면 실행가능한 버전임
복사해서
D:\B_Util\3.Eclipse여기에 붙여넣기
우클릭 반디집으로 압축풀기

압축파일삭제
풀린파일드어가서 이클립스 아이콘있는 실행파일은 우클릭해서 작업표시줄고정해주고
유형이 구성설정인파일은 옵션설정파일 (.ini)
컴터가 16g니까 이클립스에게 몇기가할당해주면 프로그램사용하다가 꺼질일이없어짐

ini파일우클릭 아까설치한 edit with notepad++
맨밑에숫자를 두개다 2048로 바꿔주고 save

이클립스열기
workspace 지정 (작업경로설정)
d드라이브에 a.티칭어쩌구에 1.basicjava에 workspace로 설정
D:\A_TeachingMaterial\1.BasicJava\workspace

오른쪽위에 javaEE라고 되어잇음 이건 JSP할때쓸거임
그왼쪽에 +에서 java클릭하면 java개발모드로 바뀜
우측에 tasklist와 outline없애도 상관없음
이제 기본모양

이클립스에서워크스페이스만들면 꼭해야하는게잇음

저장할때 인코딩..<<
영문은 어떤걸로써도 상관없는데
한글같은건 인코딩맞춰야함
협업을 위해서도 인코딩설정을 똑같이 맞춰줘야함

인코딩을 맞추는 작업할거임

window-preferences (설정이 여기임)
왼쪽창에 encoding치면
인코딩처리해야할것들 뜻
java아카이브누르고 UTF-8 업데이트
4개 다 해줌
txt는 하위폴더다열어서 다해줘야함

워크스페이스는 txt file encoding에서 other에서 바꿔줌

나머지 다 맨위의 utf-8로 바꿔주고 apply해줌

 

이클립스한테 자바를 연결시켜줘야함
이 여러가지 버전 자바중에 자바 이용해 하고 지정해줘야함

window-preferences
자바-인ㅇ슽톨드 JRES
현재컴터에 하나밖에안깔려잇어서 자동지정되어있음
add-standardvms-directory
D:\B_Util\2.Java\JDK1.7
하면 이미사용하고잇는 녀석이라고 뜸 (이미 지정되어있으니가)

이클립스기본설정이끝남


pakageexllore에 폴더구성이됨
오른쪽에 그 txt가 나오고 코딩은여기다

가장큰단위가 프로젝트
새프젝만들어야함
ctrl n (new)

java project
이름 basic_java (대소문자구별)
밑에있는건 자바몇버전사용할거냐
JRE에서 맨밑에꺼 (기본설정)클릭

basicjava bin 이거 기억잘해두기
src가 소스폴더임 내가 프로그래밍한게 저기안에들어감

 

bin = binary 약자

이클립에서 컴파일된 파일은 bin 파일에 저장된다 >> .class 확장자 파일

 

src = source 약자

우리가 작성한 코드는 src 파일에 저장된다 >> .java 확장자 파일


JRE어쩌구는 내가 사용할 JDK1.7으 ㅣ뭔가를 활용할거다라는 으미

src클릭 ctrl n
pakage
이름 a_variable
내 소스코드들을 보관하는 녀석임

paekage에서 ctrl n
class
이름 Hello

class를 만들었는데 (java의 일반적인 단우ㅣ)

window-preferences-제너럴-어피어런스-컬러-베이직-텍스트폰트

줄맞춤신경써야함
중괄호가 열리면 영역이만들어짐
hello{여기서 엔터치면 알아서 들여서진다.

package a_variable;

public class Hello {
public static void main(String[] args) {
System.out.println("Hello java");
}

}

저장하는순간 컴파일된거임

아까 만들때 디폴트아웃은 bin이라는 녀석이었음
D:\A_TeachingMaterial\1.BasicJava\workspace에 가면 우리가만든 프로젝드 베이직자바가있음 여기에 빈이있음
여기에 hello.class
저장하는순간 이클립스가 알아서 이렇게 컴파일해주는거임

 

ctrl f11누르면 밑에 콘솔생기면서 실행이됨

자바jdk7버전 설치-환경변수설정(윈도우한테 자밧맇애할땐 여기꺼써하고)-확인(cmd열어서)javac compiler java버전 확인-
프로그래밍해봣음-JVM이알아듣게컴팡리-.class로바뀐거 실행(java까지만쓰고확장자안씀)-이걸똑같이이클립에서해본것

 

이제 DB(오라클)
설치는쉬운데 삭제가안됨
잘깔아야함
애는한글경로로하면 깨져버림

 

오라클설치
https://www.oracle.com/index.html
devlopers
database


여기에 데이터베이스가 여러개있음(언어가 c언어 자바 등등 여러개잇는것처럼)
언어는 하나만배우면 다른거습득하기가쉬워짐
데이터베이스는
우리는 오라클데베를 배ㅐ울것 인데 다른데베도 나중에 쉽게배울수있음


오라클데베클릭
Oracle Database 11g Release 2를쓸거임 (자바7버전과잘맞는)
D:\B_Util\1.설치 및 압축파일[45]Oracle 여기에있음

 

oracle~이 서버버전
win32은 클라이언트버전

 

1컴이 서버버전접속하면
나머지컴이 클라이언트버전으로 1컴에 다 접속가능

 

서버먼저 깔기 setup
동의까지
어다설치? d-b유틸에 4.오라클
패스워드
이건까먹으면암됨
서버버전이니가 관리자용 비밀번호임
id는정해져잇으나 비번은 설정해야함
java로 해줌
요약해줌 install해줌

D:\B_Util\4.Oracle에 app생김
그옆에 appClient도 만들어주기

클라이언트도 설치해줌
예누르면됨
맨위에거체크
위치-찾아보기
D:\B_Util\4.Oracle\appClient (아까만든 appclient)
다음

D:\B_Util\4.Oracle에 app생김
그옆에 appClient도 만들어주기

윈도우r-services.msc
여기서 이름아무거나누르고 o ㅜㄴ르면 oracle에관련된것들이 뜸
그냥 있다는것만 알아두기

얘도 cmd열어서 확인해줘야겟지만 편하게 tool이있음 sqldeveloper
얘도 설치파일이아님 실행만하면됨
D:\B_Util\1.설치 및 압축파일[27]SqlDevelper
sqldeveloper 찾아서 작업표시줄고정

열어보면 JDK를 달라고함
애가원하는 JDK는 8버전이상임
캔슬하고 8버전깔아야함

D:\B_Util\1.설치 및 압축파일[22]JDK
에 8u가 있음
경로 change
D:\B_Util\2.Java\JDK1.8\해주면 됨 (JDK1.8은 새폴더눌러서 새로만든것)
어저구변경? x close

1.8설치완료

디벨로퍼열고 브라우저
d드라이브 자바에서 방금깐 jdk1.8찾아서 오케이

왼쪽위 녹색십자가
접속계정설정
접속이름 맘대로
사용자이름 system (고정)
비번 java

호스트이름: ip인데 local 호스트는 내컴퓨터라는 뜻
내컴퓨터라고 표현하는방식이 세가지있음
1.ipv4는 ... 임 4자리 192.168.00.2
2.localhost
3.127.0.0.1

포트
ip를 쌤피티주소를 썼을때 문이여러개. 그중 1521번 문을 열어줬다면 그문통해서 쌤의 오라클에들어갈수있는것

테스트누르면 상태:성공이뜸
성고을 확인하고 접속

실행은 ctrl enter
오라클은 데이터관리 하는것

6장객체지향

오후

DB 하재관쌤

1.db모델링 : 무에서 뼈대를 만드는것 >어려움 DB구조를 만들어나가는 .. 초프부터 DB와 연동하기때문에필요
크게세가지 개/논/물리적모델링
물리적>table이
table을 논리에선 릴레이션이라함
개념에선 entity라고함
step이다르면 용어가달라짐
제일뒤에서할거임
나중에 따로더할수잇음


2.oracleSQL :

1.우선 디벨로퍼사용시 설정해줘야할부분
내가만든계정은 전체db관리할수잇는 관리자계정
내가안만든테이블들..이 시스템이움직이기위해필요한정보들을저장하고잇는테이블들 > matadata
내 테이블과 섞이면힘듦 > 내계정만들어야...
우선 사용자생성, 사용자권한부여해야함
AESEUL_SYSTEM누르면 많은 오라클객체들중 user라는 객체만 빼고 다 나와잇는것
SQL은 구조화된언어기때문에 변수가없고, 분기문if문이 없고 반복문, 배열잉벗다. (일반개발언어의특징들이많이업ㅅ음)
그래서 확장된 SQL언어가 PLSQL 그게 펑션,트리거.. 이것들이 PLSQL객체들임
우선 계정하나식만들자
사용자도 하나의 객체이기때문에 오라클에서 객체만들땐 딱하나임 CREATE (<>DROP은 객체를 없앨때) delete는 테이블에서
하나의 뭔가를 없앨때
CREATE USER 계정명 IDENTIFIED BY 암호; <<<명령문의 끝은 세미콜론으로
명령문 입력 후 실행은? 초록화살표 혹은 실행하고자하는 줄에 커서두고 CTRL+ENTER
여러명령문은 범위잡고 CTRL+ENTER 혹은 범위하고 녹색화살표
창은 왼쪽은 여러객체표현해주는 익스플로러 오른쪽은 워크시트
CTRL ENTER치면 밑에 CRIPT출력창 (결과창)이 나옴
워크시트 생성시엔 위에 SQL사람모양클릭하면됨
계정생성
CREATE USER CAS IDENTIFIED BY java; ctrl enter치면
user cas 생성되었습니다.
권한부여를 안했으므로 슬모없음
권한부여 >> GRANT
+DBA(관리자에준하는권한0 등..
GRANT CONNECT,RESOURCE,DBA TO CAS;
GRANT를 성공했습니다.
내가만든계정을 접속에 등록
녹색+버튼
접속이름,사용자이름 CAS 비번 java (소문자!) 입력
호스트이름: 로컬호스트(가상서버.내컴)
포트 : 승인된 포트번호. 부여된 번호. (
인터넷할대 사용되는 포트번호는 8080)
SID는 우리가지금 설치한 오라클서버가 xe(express버전)이다.
테스트눌러서 성공나오면접속
왼편에 게정이 만들어진게 보인다.
테이블눌러도 아무것도없음.
여기서 테이블만들면 아까 시스템계정의 메타데이터에 정보가 저장됨
여기다가 샘플스키마(샘플데베)를...
파일0열기-d드라이브-b유틸-설치및압축파일-45오라클-basetable.sql

        환경설정부터 도구-환경설정-데이터베이스+-NLS
            날짜형식을 R이나 Y나 네글자로 YYYY/MM/DD
        코드편집기에서 구문색상 - 주석색바꿈 (오라클주석은 --로 시작하면됨.프로그램가독성을위해주석이필요하다)
        행여백에 행번호표시체크 (줄번호가나옴)

2.샘플데베안만들어놔서 샘플데베만들고

basetable.sql에서
783줄까지 블록해서 실행버튼 > CAS로 실행하면됨
왼쪽 접속있는데에 새로고침버튼누르면 6개 테이블이 만들어짐 이게 샘플스키마임.

다음교시
공유폴더 붙이기..
expall을 d:에 붙이기
cmd창열어서
d:
하면 d:\로 바뀜
imp 계정명/암호 file=expall.dmp ignore=y grants=y rows=y indexes=y full=y
어쩌구저쩌구나옴 임포팅 테이블 엄청됨

이건 hr?계정에 있는 테이블들임..???

이제 CAS 리로드를 하면 (새로고침) 아까보다 테이블이 늘어나있음
하나는 인사관리테이블들
하나는 쇼핑몰관련테이블들
export되어진 파일을 import 했음

sql문을 그대로 가져오려면 sql문을 복사해서 붙여넣기하든디
export해서 import해야만 가능하다.

워드처럼 파일을 복붙해도 열리는게아님

우리의 목표는 CRUD 하고자함
create retribe?(추출하다)>>이게 select update delete

*developer끄면 자동커밋이될수있음
<>rollback 비연결지향이기때문에 한번날려도 롤백하면 가장최근에커밋한값으로 돌려짐

가장중요한것이 테이블
테이븓들사이의 관계> 그 형태가 관계형데이터베이스 RDBMS : relation database management system
db를 어떻게 구축할것이냐.. >> 모델링
구축된걸 어떻게 쓸것이냐.. >>물리적모델링이 끝난 db가지고 원하는 자료를 뽑아내는것 >>우리가배우는SQL
테이블,속성(컬럼),테이블사이의관계(릴레이션십) 이 3요소가 가장 중요한 요소. 이 3개로 구성된게 관계형 DB
관계형 DB가 있어야 나중에 배울 join 연산도 발생될수잇다.

DDL 정의어 (create....) DCL(commit rollback) DML조작어(insert merge..)
관계형db에서 가장많이 사용되는 명령언ㄴ select임.. 필요한걸 꺼내오는것

<<관계형DB>>
-1970 Dr.e.f codd에 의하여 관계모델이 제시됨
-개념요소
-object(왼쪽에 나오는 테이블,인덱스 등등) 나 relation의 집합
-relation에 작용할 operation의 집합
-중복을 최소화하려고함. (자료의 중복이발생되면 이상이 발생됨(삽입,삭제,갱신이상) (*이 중복을 없애주는게정규화임)
>> 데이터의 정확성과 일관성을 위하여 완전성요구

-구성요소
-2차원 table구조가 가장 기본 유닛 (행과열의갯수는 제한없음)
테이블이되기위해 필요한 최소한의 행의갯수는 0개 열은 1개이상. (행은 데이터입력아직안한거일수도잇음)
도메인: 한열이 가질수잇는 값의 범위
ex)gender라는 컬럼에선 도메인이 2가지 (남/여)
-하나의 테이블에는 반드시 1개 이상의 열(column)과 0개 이상의 행(row)로 구성
-한 컬럼안에 저장된 자료는 동일 데이터타입이어야함

*변수와 행위를 뭉쳐놓은게 class임 class도 어찌보면 하나의 변수임

자바는 객체지향언어
객체지향의속성>상속지원, 다형성지원,정보의은닉성 이세가지중 어느하나라도 미흡하면객체지향이라할수없음
객체지향언어가 가진 가장 큰 목적은? REUSE (재사용)
자바에서 재사용이 가장 큰 목표인것처럼
관계형DB에선 일관성이 가장 큰 목적. 일관성을 이루기위해 중복을 피해야함

  1. SQL (Structure Query Language)
    -데이터베이스에 저장된 자료에 대하여 요구된 사항(요구사항)에 맞는 자료룰 추출하거나 삽입,변경하기 위한 언어
    -1973년 SQUARE로 시작
    -1986: SQL-86 표준안 제정 > 지금도 통용되고있음
    -1989,92,99년 : SQL-1,SQL-2,SQL-3 표준안 제정
    -사용하는 데이터베이스객체
     -table(가장중요) ,view(select * from lprod;를 하면 결과가 밑에 나옴.. 그게 뷰임. 이름이 안붙어잇음.테이블과 구조가같음
     그다음에 seelct * from job 이런걸 하면 그전에한거는 날라감. 이름도없음. 즉 다시부를수가없다는말 이름을 붙일수가있음. 뷰도 객체임
     객체를 만드려면 create라는 명령이 필요함. create view v1 as select * from jobs; 라고하면 view V1이 생성되었습니다. 라고뜸 *원본데이터가 변하면 뷰도변한다)
     ,stored procedure, triger 등..
    1)SQL 명령의 종류
     (1) Query : select 가장 기본
     (2) DDL(Data Definition Language) : create, alter(개체속성변경), drop 등...
     (3) DML(Data Manipulation Language )  : insert update, delete, merge
     (4) DCL(Data Control Language) : grant revoke commit rollback

update v1
set min_salary=35000
where job_id='AD_PRES';

*null : 길이를 갖지않는 정보 > "" white space라고함 이건 java식 null
'' <이건 오라클식 null

ASCII code : 정보를 코드로 변경하기 위한 코드표
오라클에서 사용하는 영문자 하나는 1byte 한글은 3byte

제약사항 : 테이블에 붙여지는 제약사항과 컬럼에 붙여지는 제약사항이 있음 >> 가장대표적인 제약사항 : nullable, default값도 제약사항임
PK, FK (기본키와 외래키) 맺는방법은 identifify 와 nonidentifify..

구조변경할때도, 이런 테이블의 제약조건 변경시에도 alter
drop : 삭제할때씀
ex) drop table cart;
이러면 cart 테이블이 삭제됨

dml 가장많이사용되어짐
merge는 자료가없으면 insert 없으면 update기능하게 해주는 것
dcl은 제어어


데이터베이스정의어 DDL : data_definition language)

1) Create
- 오라클 객체(object>table view trigger directory 등등이 다 오브젝트)를 생성할 때 사용
- 테이블 생성에 사용

(사용형식)
CREATE 객체유형 이름

-사용형식표기형식
    1. [ ] 는 생략 가능
    2. 한글이나 이테릭체 : 사용자가 부여해야할 단어
    3. | 는 a|b : a또는 b중 하나는 반드시 기술
    4. ,.... : 앞의 형식이나 구분이 반복해서 나올 수 있다.
    ex ) 컬럼명1, 컬럼명2,....  
        << 이런것들이 여러개나올수있다

2) 테이블 생성
(사용형식)
CREATE TABLE 테이블명(
컬럼명1 데이터타입[크기] [NOT NULL] [DEFAULT 값|식],
:
컬럼명1 데이터타입[크기] [NOT NULL] [DEFAULT 값|식] [,] <<왜 [,]? 뒤에 제약사항을 안쓰면 ,가 필요없으니께
*여기서부턴 대괄호로 묶임 >>필요없으면안해도됨
[CONSTRAINT KEY 기본키설정명 PRIMARY KEY(컬럼명1[,컬럼명2,...]),]
[CONSTRAINT KEY 외래키설정명 FOREIGN KEY(컬럼명1[,컬럼명2,...])
REFERENCES 테이블명(컬럼명1[컬럼명2,...],]
[CONSTRAINT KEY 외래키설정명2 FOREIGN KEY(컬럼명1[,컬럼명2,...])
REFERENCES 테이블명(컬럼명1[컬럼명2,...],]
:
);

반응형