본문 바로가기

Java 웹 개발

21.08.12 - 웹 개발 입문 2일차

014. 멜론 음원사이트 개체 분석

- 가수와 음원의 관계

   - 가수가 노래를 부른다

   - 한 가수가 여러개의 노래를 부를 수 있습니까?

   - 여러 가수가 한 노래를 부를 수 있습니까?

- 회원과 가수의 관계

   - 회원이 가수를 추천한다

   - 회원이 가수를 비추천한다

   - 회원이 가수를 찜한다

   - 회원이 가수를 응원(리뷰)한다

- 회원과 음원의 관계

   - 회원이 음원을 스트리밍 한다

   - 회원이 음원을 플레이리스트에 추가 한다

   - 회원이 음원을 다운로드 한다

   - 회원이 음원을 찜 한다

   - 회원이 음원을 좋아요 한다

   - 회원이 음원에 리뷰를 남긴다

015. 글자의 체계 및 크기 계산

- 컴퓨터 - 미국인 - 영어

- 컴퓨터는 반드시 미국인이 하는 말을 알아들어야 한다

- 미국인이 쓰는 글자는 몇개인가?

   - 알파벳 26개 * 2 = 52개 , 숫자 10개, 특수키(ESC, CTRL, F1~F12 등) = 128개

- 컴퓨터는 숫자로 모든 것을 이해한다. 특히 2진수 ( 0과 1로 표현 되는 숫자 - 한자리에 2종류 표현가능 )
- 한 자리는 2가지 값을 표현 할 수 있다

- 두 자리는 4가지 값을 표현 할 수 있다

- 세 자리 8가지, 네 자리 16가지, 다섯 자리 32가지, 여섯 자리 64가지, 일곱 자리는 128가지

- 한개는 여분 및 오류 검증용으로 총 8자리 사용

- 1byte = 8bit = 256가지 = ASCII 코드- hello는 5byte로 표현 가능하다 

 

- 컴퓨터는 미국에서 유럽으로 전파된다

- 유럽에는 영어에 없는 글자가 있다

- 유럽은 지역별로 글자가 아주 많이 차이가 난다 ( 북유럽, 남유럽, 동유럽 등)

- 총 16개로 확장해서 글자 체계를 개편 = 확장 ASCII 코드

 

- 컴퓨터가 유럽에서 전세계로 전파된다

- 지역별로 글자가 아주 많이 차이난다

- 글자 춘주전국 시대

- 1바이트로 표현 불가능

- 2바이트로 확장하여 표현하기 시작

- 2바이트 = 16bit = 256*256 = 65536 = 유니코드

 

- 한글같은 경우는 가부터 힣까지 순서대로 번호를 부여

- 11,172자 = 완성형 한글 (MS949, CP949)- 완성형 한글은 한 글자에 2byte의 크기를 가진다

- MS949 에서 "안녕하세요"는 10byte의 크기를 가진다

- MS949 에서 "안녕1234"는 8byte의 크기를 가진다

- 지역마다 번호에 연결된 글자가 달라서 모든 지역 고려 못한다

- 가변형 유니코드 (UTBF-8, UTF-16)

- 아스키 코드를 쓰면 1byte- 유니코드를 쓰면 2~4byte 사이에서 알아서 설정

- 한글은 초성/중성/종성으로 구분하여 처리

- 안 = ㅇ ㅏ ㄴ = 3byte

- 가 = ㄱ ㅏ (X) = 3byte

- 안녕하세요1234 = 19byte

 

 

016. 데이터베이스 물리 설계

- 오라클 DBMS에서 데이터를 구분하는 방법

   - 숫자   사칙 연산이 가능한 값

              number(자리수)

    - 글자   사칙 연산이 불가능한 값

              char        고정(정적) 문자열 - 크기가 확정인 경우 사용

              varchar2   가변(동적) 문자열

   - byte로 크기를 표시

ex) 이름 varchar(21), 주민번호 char(14), 아이디 varchar2(20), 비밀번호 varchar2(16)

 

 

017. 유튜브 개체분석

- 개체 : 회원, 영상, 채널

         - 속성 : 회원 - 이메일, 비밀번호, 전화번호, 영상 - ???, 채널 - ???

- 관계 : 000이 000을 000한다

          회원이 영상을 시청한다(N:M)

          회원이 영상을 즐겨찾기한다(N:M)

          회원이 영상에 댓글을 남긴다(N:M)

          회원이 영상에 좋아요를 남긴다(N:M)

          회원이 영상에 싫어요를 남긴다(N:M)

 

          회원이 채널을 생성한다(1:1)

          채널에 영상을 보관한다(1:N)

          회원이 영상을 등록한다(1:N)

 

 

ex) 회원번호 = user no

 1. 카멜케이스 방식 - userNo  (대소문자를 구분 O)

 2. 언더스코어 방식 - user_no (대소문자를 구분 X)

 

 

- ERD 표현

 

 

018. 네트워크 개론(1)

- 네트워크 정의

   - 원하는 정보를 원하는 수신자 또는 기기에 정확하게 전송하기 위한 기반 인프라

 

-  네트워크 종류

    - WAN (광대역 네트워크)

       - LAN에 비해 전송 거리가 넓음. 라우팅 알고르즘이 필요함

       - LAN 대비 에러율이 높고 전송 지연이 큼

    - LAN (근거리 네트워크)

       - 한 건물 또는 작은 지역을 커버하는 네트워크임 

 

-  OSI 7 Layer

 

 

 

- OSI 7 Layer 방식 설명

 

 

- 네트워크 주요 장비

   - 허브 / 리피터, 브리지 / 스위치, 라우터

 

 

019. 네트워크 개론(2)

- 네트워크 용어

   - IP(Internet Protocol Address)

     - 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 특수한 번호

   - IPv4(IP version 4)

     - 오늘날 일반적으로 사용하는 IP 주소 형식, 총 12자리의 숫자로 주소를 표현

     - ex 172.16.254.1

   - IPv4 클래스

     - 주소를 보다 효율적으로 이용하기 위하여 체계를 나눈 것

   - IPv4 Header

     - IPv4 패킷의 앞부분에서 주소 등 각종 제어정보를 담고 있는 부분

   - IPv6(IP version 6)

     - IPv4 주소 부족에 따라 주소 길이를 128비트(16byte)로 늘려 더 많은 주소를 사용하도록 구현된 체계

   - IP 주소 확인

      - Windows

         - cmd에서 ipconfig 입력

      - Linux

         - terminal에서 ipconfig 입력

   - Port

     - 특정 네트워크 서비스나 특정 프로세스를 식별하는 논리 단위 (0 ~ 65535)

   - Port 분류

     - 0 ~ 1023          - 알려진 포트 (well-known prots)

     - 1024 ~ 49151    - 등록된 포트 (registered ports)

     - 49152 ~ 65535  - 동적/사설 포트 (dynamic and/or private ports)

   - Port 확인

     - Windows

        - cmd에서 netstat -an (전체) / netstat -an | findstr 8888 (일부)

      - Linux

        - terminal에서 netstat -tnlp 또는 lsof 또는 nmap

 

- 통신 프로토콜

   - TCP(Transmission Control Protocol)

     - 전송 제어 프로토콜. IP 프로토콜 위에서 연결을 기반으로 한 신뢰성 높은 전이중 통신방식

     - 전이중(Full-Duplex) 통신 방식 : 두 대의 단말기가 동시에 데이터를 송수신하는 통신방식 (ex : 전화)

   - TCP CRC(Cyclic Redundancy Check, 순환 중복 검사)

     - 데이터를 전송할 때 전송된 데이터에 오류 유무를 확인하기 위한 체크값을 결정하는 방식

   - UDP(User Datagram Protocol)

     - IP를 사용하는 네트워크 내에서 컴퓨터들 간에 제한적 서비스만을 제공하는 통신 프로토콜

 

 

020. 네트워크 개론(3)

- 네트워크 용어

   - MAC Address(Media Access Control Address)

      - 데이터 링크 계층에서 통신을 위한 네트워크 인터페이스에 할당된 고유 식별 주소

   - MAC Address 확인

      - Windows

         - cmd에서 ipconfig/all 또는 getmac/v 입력

      - Linux

         - terminal에서 ipconfig -a | grep eth 입력