전체 글 83

SQLD - 데이터 모델링의 이해(관계)

관계의 종류존재적 관계한 엔티티의 존재가 다른 엔터티의 존재에 영향을 미치는 관계엔터티 간의 연관된 상태를 의미ex) 부서 엔터티가 삭제되면 사원 엔터티의 존재에 영향을 미침행위적 관계엔터티 간의 어떤 행위가 있는 것을 의미ex) 고객 엔터티의 행동에 의해 주문 엔터티가 발생※ ERD에서는 존재 관계와 행위 관계를 구분하지 않는다.  관계의 구성관계명차수(Cardinality)선택성(Optionality) 관계의 차수(Cardinality)한 엔터티의 레코드(인스턴스)가 다른 엔터티의 레코드(인스턴스)와 어떻게 연결되는지를 나타내는 표현주로 1:1, 1:N, N:M 등으로 표현1대 1 관계완전 1대 1 관계하나의 엔터티에 관계되는 엔터티가 반드시 하나로 존재하는 경우ex) 사원은 반드시 소속 부서가 있어..

SQL 2024.11.15

SQLD - 데이터 모델링의 이해(속성)

속성의(Attribute)의 개념속성은 업무에서 필요로 하는 고유한 성질, 특징을 의미(관찰 대상) -> 컬럼으로 표현할 수 있는 단위업무상 인스턴스로 관리하고자 하는 더 이상 분리되지 않는 최소의 데이터 단위인스턴스의 구성 요소ex) 학생 엔터티에 이름, 학번, 학과번호 등이 속성이 될 수 있음 엔터티, 인스턴스, 속성, 속성 값의 관계한 개의 엔터티는 2개 이상의 인스턴스의 집합이어야 한다.(하나의 테이블은 2개 이상의 행을 가짐)한 개의 엔터티는 2개 이상의 속성을 갖는다. (하나의 테이블은 2개 이상의 컬럼으로 구성)한 개의 속성은 1개의 속성값을 갖는다.(각 컬럼의 값은 하나씩만 삽입 가능)속성은 엔터티에 속한 엔터티에 대한 자세하고, 구체적인 정보를 나타냄, 각 속성은 값을 가짐 속성의 특징반..

SQL 2024.11.15

SQLD - 데이터 모델링의 이해 (엔터티)

엔터티엔터티(Entity)의 개념현실 세계에서 독립적으로 식별 가능한 객체나 사물을 나타냄엔터티는 업무상 분석해야 하는 대상(Instatnce)들로 이루어진 집합인스턴스는 엔터티의 특정한 속성 값들로 구성되며, 엔터티의 개념을 현실에서 구체적으로 나타낸 것예) 엔터티와 속성, 인스턴스 등의 관계엔터티의(Entity)의 특징유일한 식별자에 의해 식별 가능인스턴스가 식별자에 의해 한 개씩만 존재하는지 검증 필요유일한 식별자는 그 엔터티의 인스턴스만의 고유 이름ex) 이름은 동명이인이 있을 수 있으므로 사번, 학번 등이 고유 식별자해당 업무에 필요하고, 관리하고자 하는 정보설계하는 업무의 시스템 구축에 필요한 정보여야 함ex) 학교 시스템 구축 시 학생 정보 필요, 다른 업무엔 학생 정보 불필요인스턴스들의 집..

SQL 2024.11.15

SQLD - 데이터 모델링의 이해 (데이터 모델의 이해)

데이터 모델의 이해모델링의 개념현실 세계의 비즈니스 프로세스와 데이터 요구 사항을 추상적이고, 구조화된 형태로 표현하는 과정데이터베이스의 구조와 관계를 정의하며, 이를 통해 데이터의 저장, 조작, 관리 방법을 명확하게 정의 모델링의 특징단순화(Simplication)현실을 단순화하여 핵심 요소에 집중하고, 불필요한 세부 사항을 제거단순화를 통해 복잡한 현실 세계를 이해하고, 표현하기 쉬워짐추상화(Abstraction)현실 세계를 일정한 형식에 맞추어 간략하게 대략적으로 표현하는 과정다양한 현상을 일정한 양식인 표기법에 따라 표현명확화(Clarity)대상에 대한 애매모호함을 최대한 제거하고, 정확하게 현상을 기술하는 과정명확화를 통해 모델을 이해하는 이들의 의사소통을 원활히 함 데이터 모델링 3가지 관점데..

SQL 2024.11.15

UML 모델링 언어

UML (Unified Modeling Language)다이어그램을 표현하기 위한 기본 모델 요소(심볼과 심볼의 의미)를 표준적으로 정의 소프트웨어 개발 생명주기 단계별 다이어그램분석 단계 유스 케이스 다이어그램(사용 사례 다이어그램)클래스 다이어그램순차 다이어그램프로파일 다이어그램오브젝트 다이어그램액티비티 다이어그램인터액션 오버뷰 다이어그램상태 기계 다이어그램설계 단계패키지 다이어그램타이밍 다이어그램순차 다이어그램(메소드 명세)배치 다이어그램 기능 모델링 소프트웨어 분석을 위한 첫 번째 활동사용자로부터 도출한 요구 사항을 입력받아 소프트웨어 시스템이 해야 할 기능이 무엇인지를 식별해가는 과정UML의 유스 케이스 다이어그램을 이용하여 분석 결과를 표현요구 사항에 대한 충분한 이해가 부족하거나 도메인 지식..

사용자 요구 사항

요구 사항 개요요구 사항의 특징요구 사항 : 소프트웨어 시스템이 수행해야 할 것과 소프트웨어 시스템에 있어야 할 특성을 기술한 문장특성 전체 소프트웨어 개발 수명주기에서 가장 중요한 요소, 소프트웨어 개발의 기준다양한 스테이크홀더로부터 도출, 소프트웨어가 무엇을 해야 하는가를 표현초기 시스템 요청보다 상세한 요구사항 목록으로 구체화기능적인 요구사항, 비기능적 요구사항소프트웨어에 대한 품질 요소 포함 가능고객과 개발자 간 의사소통의 수단, 분석 과정과 설계 과정을 거치며 지속적으로 변화요구사항의 문제점을 늦은 단계에서 발견하면 이를 수정하기 위한 많은 비용 발생프로젝트 실패의 가장 중요한 이유 : 명확하지 못한 요구사항 정의 요구사항의 분류기능적 요구사항사용자의 업무 처리와 직접 관련되어 소프트웨어 시스템..

소프트웨어 개발 프로세스 모델

전통적인 소프트웨어 프로세스 모델 폭포수 모델점진적 모델프로토타입 모델나선형 모델V 모델변환 모델 전통적인 소프트웨어 개발 과정 실현 가능성 분석사용자의 요구사항에 따라 소프트웨어 시스템을 개발하고자 할 때, 비용, 일정, 기술적 수준 등이 충분히 가능한가를 살펴보는 것따라서 개발 비용, 이득, 대안을 평가   개발 비용▪ 개발 인건비뿐만 아니라 백업용 하드웨어 비용, 개발 및 운영 소 프트웨어 도구 비용, 유지보수 비용, 문서화 소요 비용, 개발자 교 육비, 시스템 교체 비 용 등 모든 비용이득▪  새로운 시스템이 제공 하는 비즈니스 프로세 스의 개선된 영역은?▪  운영의 효율성과 정확 성은 증진되는가?▪  의사결정을 위한 정보 제공을 적시에 제공받 을 수 있는가?대안▪ 비용과 이득 산정 시 다양한 측..

WriteBytes의 한글 깨짐 해결 방법

소켓 프로그래밍을 하던 중, 브라우저에 한글이 깨져 나왔다. 해결 방법1. 응답 헤더에 인코딩 방식 정의outToClient.writeBytes("Content-Type: text/html; charset=UTF-8\r\n");   2. HTML 파일에 인코딩 방식 정의  3. IDE 기본 인코딩 방식을 UTF-8로 변경  4.프로젝트 SDK를 17버전으로 다운그레이드(18버전 이상부터 한글 깨짐 오류가 있다는 글을 확인함)  5. getBytes(StandardCharsets.UTF_8)로 명시적 정의outToClient.write(outputdata.toString().getBytes(StandardCharsets.UTF_8)); 5번까지 해서 한글이 깨지지 않고, 나왔다.찾아보니 writeBytes..

Java 2024.10.19

컴퓨터 네트워킹 하향식 접근 - Chapter 2, 6장 비디오 스트리밍과 콘텐츠 배포 네트워크

비디오 스트리밍과 CDN : 상황비디오 트래픽 : 인터넷 대역폭의 주요 소비자넷플릭스, 유튜브 : 가정용 ISP 트래픽의 각각 37%, 16% 차지약 10억 명의 유튜브 사용자, 약 7500만 명의 넷플릭스 사용자도전 과제 : 규모 - 약 10억 명의 사용자에 어떻게 도달할 것인가?단일 대형 비디오 서버는 효과가 없다. (이유는?)도전 과제 : 이종성각 사용자는 서로 다른 능력을 가지고 있음 (예 : 유선 vs 모바일, 대역폭이 풍부한 환경 vs 부족한 환경)해결책 : 분산된 애플리케이션 레벨 인프라  멀티미디어 : 비디오비디오 : 일정한 속도로 표시되는 이미지 시퀀스예 : 1초에 24장의 이미지디지털 이미지 : 픽셀 배열각 픽셀은 비트로 표현됨코딩 : 이미지 내외의 중복성을 이용하여 이미지를 인코딩하는..

Network 2024.10.12

컴퓨터 네트워킹 하향식 접근 - Chapter 2, 5장 P2P 파일 공유

순수 P2P 아키텍처항상 켜져 있는 서버가 없음임의의 종단 시스템끼리 직접 통신함피어들은 간헐적으로 연결되고 IP 주소가 변경됨자체 확장성 : 새로운 피어가 새로운 서비스 용량을 제공하고, 동시에 새로운 서비스 수요를 가져옴복잡한 관리 필요예시P2P 파일 공유 (예 : BitTorrent)스트리밍 (예 : KanKan)VoIP (예 : Skype) 파일 배포 : 서버-클라이언트 vs P2PQ : 파일 크기가 F인 파일을 하나의 서버에서 N명의 피어에게 배포하는 데 걸리는 시간은 얼마나 될까? 서버 - 클라이언트 모델서버가 N명의 클라이언트에게 파일 크기 F를 배포하는데 걸리는 시간은 다음과 같이 계산된다.서버 전송 시간서버는 N명의 클라이언트에게 연속적으로 파일을 전송해야 함서버가 파일 한 개를 전송하는..

Network 2024.10.12