Java 웹 개발

21.08.11 - 웹 개발 입문 1일차

개발이란 2021. 8. 12. 18:15

****0일차 운영체제 마무리****

- 운영체제 핵심 기능

    - 메모리관리

       - 프로그램의 실행이 종료될 때까지 메모리를 가용한 상태로 유지및 관리한다.

    - 프로세스 관리

       - 실행 중인 프로그램을 프로세스라고 한다.

 

- 가상화, 클라우드

    - 가상화

       - 정의

           -  물리적인 리소스들을 사용자에게 하나로 보이게 하거나 반대로 하나의 물리적인 리소스를

              여러 개로 보이게 하는 것

       - 종류

           - 플랫폼 가상화, 리소스 가상화

    - 클라우드

      - 정의

          - 인터넷 기반에서 구동되는 컴퓨팅 기술

      - 종류

          - laaS, PaaS, SaaS

 

 

004. 환경변수 설정(1)

 - 즐겨찾기라고 생각하면 편함

 - 내 PC -> 우클릭 -> 속성(R) -> 고급 시스템 설정 -> 고급 -> 환경 변수(N) -> 시스템 변수 

 

005. 환경변수 설정(2)

 - 시스템 변수 Path에 불러오기 - 변수명 앞뒤에 & 붙인다. (대소문자 구분)

   ex) %DESKTOP%

 

 

006. 자바 다운로드 및 설치

- 자바 - 프로그램을 만드는 도구(언어)

   - 도구 설치 

       - JDK   Java Development Kit

                 개발자를 위한 도구 및 실행 환경까지 제공

                JRE가 내장되어 있음

       - JRE   Java Runtime Environment

                사용자를 위한 실행 환경만 제공

- 운영체제에 맞는 자바 JDK 설치

 

 

007. 자바 환경변수 설정

- 시스템 변수에서 새로 만들기 클릭후 변수 이름 JAVA_HOME, 변수값 자바 설치 경로로 입력

- Path로 들어가서 %JAVA_HOME%\bin 추가

- 등록 확인을 위해 cmd 실행후 javac.exe 입력후 확인

 

 

008. 자바 샘플 코드 작성

 - 메모장 실행 후 샘플 코드 입력

 

 

- 메모장 제목을 "HelloWorld.java"로 저장 ( 제목 앞뒤에 " 안쓰면 .java로 저장 안됨 )

- cmd 실행

- HelloWorld.java 저장된 곳으로 경로 변경

   ex) cd desktop (바탕화면일 경우)

- 경로 변경 후 dir 입력 후 리스트에 보이면 성공

- 다음 javac.exe HelloWorld.java 입력

- 아무런 메시지없이 다음으로 넘어가면 성공

- java HelloWorld 입력 후 Hello World! 나오면 성공

- javac.exe

  - 컴파일러 (영어코드 -> 기계어 번역)

- java.exe

  - 실행

 

 

009. 데이터베이스 개요

 - 정의

    - 다수의 인원, 시스템 또는 프로그램이 사용할 목적으로 통합하여 관리되는 데이터의 집합

 

프로그램의 목적은 계산이다. 계산을 하기 위해서는 이 필요하며, 추상적인 값보다 구체적인 값이 필요하다.

다음은 추상적인 값들의 예시이다.

  • 맛있다
  • 기분이 좋다
  • 비가 올 것 같다
  • 공기가 깨끗하다
  • 분위기 있다

추상적인 값들은 프로그래밍에서 계산할 수 없다. 사람마다 느끼는 정도가 다르며, 수치로 나타낼 수 없기 때문이다.

다음은 구체적인 값들의 예시이다.

  • 음식의 가격이 10000원이다
  • 강수량이 25mm이다
  • 미세먼지 농도가 20㎛이다
  • 몸무게가 50kg이다
  • 키가 180cm이다

이처럼 수치화가 가능하며, 측정이 가능한 값들을 자료(Data)라고 한다. 

 

ex) 데이터가 몇개인가? 

 

- 파란색 칸 - 일반적으로 의미 부여 할시 생각하는 값 - 4개 ( X )

- 빨간색 칸 - 실제 데이터 값 9개 ( O )

 

 

- 종류

   - 파일 시스템, 계층형, 망형, 관계형, NoSQL

010. Entity 설계 및 용어

- E(개체), R(관계) 설명

학생(E)이 과목(E)을 수강신청(R)한다

학생이 과목을 즐겨찾기한다

.... 처럼 정할 수 있다.

 

 

011. ERD cloud 사용법

- 구글에 ERD cloud 검색 후 접속하기

- 회원가입후 나의 ERD 생성하기

- Entity 추가하기 누르기 

- information 눌러서 논리이름(가짜), 물리이름(진짜) 정하기

- 기본키(반장) 정하기

 

 

012. N대M관계의 ERD 표현

- ERD 표현

- 한명에 회원이 몇 개를 구매 할 수 있나? 없거나 여러번 가능

- 한 상품은 몇 번 구매 할 수 있나? 없거나 여러번 가능

- 한명에 회원이 여러 상품의 리뷰를 남길 수 있나? 없거나 여러번 가능

- 여러명에 회원이 하나의 상품의 리뷰를 남길 수 있나? 없거나 여러번 가능

- 이런식으로 관계를 정한다

 

 

 013. 1대N관계의 ERD 표현

- 예를 들어 주소가 하나라면 괜찮지만, 여러개라면 ?

- 문제점

   - 주소지가 3개 까지만 저장 된다.

   - 빈칸(null) 발생으로 데이터 낭비

- 최대한 빈칸없이 설계하는것이 효율적 - 테이블 분할

 

- ERD 표현

2일차 과제 - ERD 구현하기

멜론이라는 음원 사이트의 핵심 개체가 다음과 같다고 가정

- 회원(Member)

- 가수(Artist)

- 음악(Music)

 

각각의 Entity를 ERD Cloud에 설계하시고 파생될 수 있는 기능을 고려하여 하위 Entity를 설계하여 스크린샷을 올리세요

 

- 과제 결과