programming/용어정리 썸네일형 리스트형 [SQL] 1.3. 데이터 모델링 > 엔티티 (Entity) 1. 엔티티 (Entity, 엔터티 라고도 부름) 업무에서 관리해야 하는 데이터의 집합 저장되고 관리되어야 하는 데이터 개념, 사건, 장소 등 인물별 정의 Peter chen : 변별할 수 있는 사물 James Martin : 정보를 저장할 수 있는 어떤 것 Thomas bruce : 장소, 사람, 사건, 개념, 물건 등 2. Entity 도출 고객의 업무 프로세스에서 관리가 필요한 정보를 추출 3. Entity 특징 식별자 유일한 식별자가 있다 인스턴스 집합 2개 이상의 인스턴스가 있다 (2개 이상의 row) 속성 반드시 속성(Attribute)을 갖는다 관계 다른 엔티티와 최소 한 개 이상의 관계가 있어야 한다 업무 업무에서 관리되어야 할 대상 집합이다 4. Entity 종류 유형과 무형에 따른 분류.. 더보기 [SQL] 1.2. 데이터 모델링 > 3층 스키마 (3-level schema) 3층 스키마 (3-level schema) 관점에 따라 분류, 관계를 정의한다. 여기에서 관점은 데이터베이스에 접근하는 유저인데, 분류는 아래와 같다 사용자 설계자 개발자 ANSI 표준이다 데이터 독립성을 확보하기 위해 사용한다 논리적 독립성 개념 스키마가 변경되어도 외부 스키마에 영향이 없다. 역도 참 물리적 독립성 내부 스키마가 변경되어도 개념 스키마에 영향이 없다. 역도 참 3층 스키마 구조 외부 단계 사용자 관점 업무 프로세스와 관련이 있는 데이터 접근 응용 프로그램이 접근하는 데이터 베이스를 정의 개념 단계 설계자 관점 사용자 전체 집단의 데이터 베이스 구조 통합 데이터 베이스 구조 내부 단계 개발자 관점 물리적 저장 구조 저장 구조, 레코드 주소, 필드 정의, 인덱스 등을 의미 * 외부 스키마.. 더보기 [REST/API] REST REST 는 네트워크 구조 원리의 모음으로, 아래 내용들에 대한 조건들을 의미 리소스를 정의하는 방법 자원에 대한 주소를 지정하는 방법 2000년도 로이필딩에 의해 제시된 REST (Representataional State Transter) 라고 명한 웹 구조 스타일 클라이언트와 서버 둘은 독립적으로 구현되어야 한다 균일한 인터페이스 자원 식별, 표현을 통한 자원 처리, 메시지 등 같은 인터페이스 제약에 따라 일관성 있게 운영되어야 한다 계층 시스템 웹의 일관된 인터페이스를 사용해서 프록시 또는 게이트웨이 같은 네트워크 기반 중간매체를 사용할 수 있다 캐시 처리 웹 서버는 응답 데이터마다 캐시 여부를 선언할 수 있다 무상태 웹 서버는 클라이언트의 상태를 관리할 필요가 없어야 한다 주문형 코드 [선택사항.. 더보기 [SQL] 1.1. 데이터 모델링의 이해 데이터 모델링 현실 세계의 대상을 데이터베이스로 표현하기 위해 추상화한다 고객과의 의사소통을 통해 고객의 업무 프로세스를 이해해야 한다 데이터 모델링 표기법을 통해 모델링을 수행한다 고객도 쉽게 이해할 수 있도록 복잡하지 않도록 설계한다 고객의 업무 프로세스를 추상화하고 SW가 분석/설계하면서 점차 상세해진다 데이터 모델링의 특징 추상화 현실세계를 간략하게 표현한다 단순화 누구나 쉽게 이해할 수 있도록 표현한다 명확성 명확하게 해석되어야 하며 하나의 의미를 가져야 한다 데이터 모델링 단계 개념적 모델링 전사적 관점에서 기업의 데이터를 모델링 한다 추상화 수준이 가장 높은 모델링이다 기술적 용어는 가급적 사용하지 않는다 entity, attribute 를 도출하고 개념적 ERD를 작성한다 논리적 모델링 식.. 더보기 Compression VS Encoding 일전에 허프만 압축 방법을 소개했다. 오늘은 압축과 인코딩을 간단하게 소개하고자 한다. 1. Compression VS Encoding 먼저 많은 사람들이 헷갈려 하는 부분이다. 포맷과 압축을 혼용하는 사람들도 많다. Compression과 Encoding의 차이부터 짚고 넘어가야 할 듯 하다. 1) Compression 일반적으로 Compression 이란 작업전 크기보다 작업후 크기가 줄어드는 것을 의미한다. 굳이 컴퓨터에서는~ 이라는 어려운 해석을 가미할 가치가 없다. Compression은 그냥 압축이다. 이사를 가려고 짐을 싸거나 물건을 나르기 불편한 모양새거나 너무 커서 부피를 좀 줄일 필요가 있을 수 있다. 사과 500 개를 나를때나, 쌀을 100kg 나를때, 사람보다 2-3배 더 큰 곰인형.. 더보기 [용어 정리] 일괄 처리 VS 실시간 처리 어떠한 사건이 발생해야 할 시점이 있다면 언제가 좋을까? 길을 걷다가 막연히 무언가가 하고 싶을 때가 있다면 이런 사건들은 프로그래밍으로 개발할 수는 없을 것이다. 그러나 늘상 해오던 일들이 있을 것이다. 일주일에 한번 우편함을 확인해야 하는 것, 한 달에 한번 고지서를 납부해야 하는 것 등 반드시 이뤄져야 하며 기한 역시 존재한다. 반면에 친구의 생일파티나 동생이 새 식구를 얻게 되는 경우, 우리의 행동은 그에 맞춰 반응하게 된다. 오늘은 프로그래밍에서 어떠한 기능, 또는 사건을 시작하는 시점을 기준으로 몇가지 구분을 들고자 한다. 1. 일괄 처리 프로그래밍 - 당장 필요하지 않은 처리, 정해진 시각에 알아서 되길 원하는 처리 흔히들 배치 처리라고 이야기 한다. 해당 프로그램의 로직은 정해진 시각에 맞.. 더보기 Big O notation, 점근표기법과 시간복잡도 시간 복잡도, 공간 복잡도를 이야기하기에 앞서 표현되는 수식에 대한 이해가 필요하다. 가장 기본적으로 컴퓨터 과학(CS)이라는 분야는 다른 과학들처럼 수학을 기본으로 하고 있다는 것을 유념해야 한다. 1. 점근 표기법 결과를 쉽게 계산하기 어려운 두 함수가 있다고 하자. 두 함수는 같을수도 있고 다를수도 있다. 함수 간의 해석은 다양한 방법으로 이루어지는데, Big O notation 은 증감양상을 기준으로 관계를 파악한다. 중요한 것은 증감 양상이다. 위와 같은 식이 있다고 하자. 함수 f 에 0이 오든, 100 이 오든 결과는 늘 상수값을 갖는다. g 역시 마찬가지다. 이들을 우리는 상수함수라고 한다. 상수함수는 미분하면 기울기를 갖지 않으므로 유의미한 결과를 가질수는 없다. 마찬가지로 복잡도라는 개.. 더보기 허프만과 인코딩-디코딩 (Huffman Tree, Huffman-Compressor) 이번에 한 학생에게 허프만 알고리즘을 설명하면서 관련된 짧은 개념을 정리하고자 한다. 누군가에게는 소중한 읽을거리가 되기를 바란다. 허프만 부호화 코드는 널리 알려진 가변길이 무손실 압축 방법중 하나이다. 굳이 엔트로피 이야기라던지 멀리 갈 필요는 없다. (알면 정말 좋지만 오늘은 아껴두겠다.) 정말 간단한 논리로 움직인다. 1. 가변길이 VS 고정길이 허프만 코드는 가변길이(variable length)라고 한다. 사실 비트열을 나열하였을때 분석이 용이한 것은 고정길이(fix length)일 것이다. 혹시나 이해가 쉽지 않은 이들을 위해 해당 단락을 준비했다. AABAAAB 위와 같은 내용이 있다고 하자. 데이터열은 위와같이 문자가 될 수도 있고, 그림이나 신호들의 기호화된 모습으로 나타날 수 있다. .. 더보기 이전 1 2 다음