| 니앙팽이 - IoC Container | 1 | 의존 역전 원칙 (Dependency Inversion Principle)
·
CS/SW 공학
♽ 0. Dependency Inversion 📄 1. 용어 1). Dependency : 의존성이란? 한 클래스가 다른 클래스를 참조할때 의존성이 있다고 말할 수 있다. A는 B에 의존적이다 Diagram A가 B를 멤버로 가지고 있거나A메소드에서 B를 패러미터로 이용하거나 리턴한다던지.B의 메소드를 사용한다던지어쨌든 A에서 B를 사용하면~ 2). DIP (Dependency Inverse Principle) 좌 : DIP없이 의존한 관계, 우 : DIP를 적용해 추상적인 개념에 의존함 ⓐ 의존 역전 원칙 이란? 구체적인 타입에 직접 참조(의존)를 하는것이 아닌 추상적인 타입을 참조(의존)하자라는 것. (Depend upon abstractions, Do not depend on concrete) 즉,..
| 니앙팽이 - DB | 9 | SQL - DCL(데이터 제어어)
·
CS/DB
9 DCL 데이터 제어어 # SecuIntegrecover 병 🤣 데이터의 보안,무결성,회복, 병렬 제어를 정의하는데 사용하는 언어다. 1. GRANT / REVOKE /****************************************************** * 기본형 ******************************************************/ GRANT {ALL, SELECT, INSERT, DELETE, UPDATE, ALTER} ON _TABLE_ TO _USER_ID_ [WITH GRANT OPTION]; REVOKE {ALL, SELECT, INSERT, DELETE, UPDATE, ALTER} ON _TABLE_ FROM _USER_ID_ [CASCADE]; /..
| 니앙팽이 - DB | 8 | SQL - DML(데이터 조작어)
·
CS/DB
8. DML 데이터 조작어 1. INSERT 1. 단일 행튜레 삽입 /****************************************************** * 기본형 ******************************************************/ INSERT INTO _TABLE_(COFIATT1, COFIATT2, COFIATT3, ...) VALUES (VAL1, VAL2, VAL3, ...) /****************************************************** * 모든 속성 사용시 ******************************************************/ INSERT INTO _TABLE VALUES(VAL1, ..
| 니앙팽이 - DB | 7 | SQL - DDL(데이터 정의어)
·
CS/DB
7. DDL 데이터 정의어 1. CREATE CREATE [SCHEMA, DOMAIN, TABLE, VIEW, INDEX] 1. SCHEMA /****************************************************** * 기본형 ******************************************************/ CREATE SCHEMA _SCHEMA_NAME_ AUTHORIZATION _USERID_; /****************************************************** * DBADM 권한을 갖는 사용자로서, * 사용자 "김민수"을 소유자로 갖는 * "인벤토리" 라는 스키마를 작성하고, * "파츠" 라는 테이블을 만들고 (PARTNO ..
| 니앙팽이 - DB | 6 | 조인 (내부, 외부)
·
CS/DB
관계형 DBMS 1. JOIN 관계 대수 테이블(릴레이션) R, S 두개를 가지고 양쪽 테이블(릴레이션)의 어떤 CoFiAtt을 기준으로 조인을 하여 새로운 테이블(릴레이션) 만들기 1. 내부 조인 두 테이블(릴레이션)에 동일한 도메인의 CoFiAtt을 기준으로 ① 세타 조인 : {= (동등), (NOT), } ② 동등 조인 : {=} ③ 자연 조인 : 세타와 동등을 실행할 시, 양쪽의 CoFiAtt이 남게된다. 따라서 둘중 하나의 CoFiAtt을 지운다. 2. 외부 조인 두 테이블(릴레이션)에 대응되는 CoFiAtt을 갖지 못하는 행튜레끼리 조인해 결합이 된다, 다만 그 행튜레는 널값을 갖는 튜플도 포함하게 된다. 혹은 조인된 테이블(릴레이션)에 NULL값이 들어 있는것을 핸들링하기 위해 ① 왼..
| 니앙팽이 - DB | 5 | 관계형 DBMS & 데이터 무결성
·
CS/DB
관계형 DBMS 1. 관계형 DBMS DB를 테이블(릴레이션) 형태로 표현 가능하다. 테이블(릴레이션)을 통해서 다양한 테이블(릴레이션)을 Key, Foreign Key를 통해서 연결이 가능하다. 2. DBMS 언어 # 정조제 🤣 1. DDL 정의어 DB 스키마를 정의한다 (DB 구조를 정의한다.) 스키마에 대한 명세는 DB 시스템 카탈로그에 저장된다.CREATE TABLE # 구조 생성 ALTER TABLE # 구조 변경 DROP TABLE # 구조 삭제 2. DML 조작어 DB내의 데이터를 검색, 수정, 삽입, 삭제 하는데 사용한다. SUM, COUNT, AVG같은 내장 함수를 갖고 있다.SELECT # 검색 UPDATE # 수정 INSERT # 삽입 DELETE # 삭제 3. DCL 제어어 # Se..
| 니앙팽이 - DB | 4 | DB 시스템 개요
·
CS/DB
DB시스템 개요 1. Storage VS DB VS DBMS 1. 스토리지 뭔가(파일, 글자, 사진, 이미지)을 저장하는곳 HDD, SSD같은 하드웨어 nas, san 란 기술로 다른 장비에 저장공간을 제공하는 방법이 있다. 관계형 DB도 스토리지의 한 종류다 2. DB 응용 시스템들이 공유해서 사용하는 "Operational data"들이 구조적으로 통합된 모임이다, 그냥 데이터 집합체 자체를 의미한다. DBMS를 통해 관리된다. 관계형 DB 엑셀 테이블(테이블(릴레이션))처럼 데이터를 정형화 해서 저장되는데 DB 스토리지의 한 종류다 특징 모든 데이터가 중복을 최소화 하면서 통합되는것을 목표 프로그램과 데이터간의 독립성이 제공된다. 쿼리를 통한 효율적인 접근이 가능하다. 데이터베이스와 시스템카탈로그로..
| 니앙팽이 - DB | 2 | DB 정규화 Normalization
·
CS/DB
DB 정규화 1. 데이터 베이스 이상현상 1. 이상 종류 # D.비이상 삽살개 🤣 ① 삽입 이상 데이터 삽입, 의도, 다른 값 삽입 ② 삭제 이상 데이터 삭제, 의도, 연쇄 삭제 ③ 갱신 이상 CoFiAtt값 갱신시 일부 행튜레만 갱신되 모순 발생 2. 테이블(테이블(릴레이션))의 스키마 설계가 잘못되면 생기는 일.. ① 중복된 데이터의 문제 저장 공간 낭비 실수로 인한 데이터 불일치 가능성 존재 따라서 가능하면 데이터 중복을 없도록 하는게 좋다. ② 빈번한 NULL값 사용 가능하면 NULL을 최대한 적게 사용하도록 하자. ③ 가짜 튜플 (Spurious Tuple) 조인 수행시 다른결과가 나오는 현상이 나면.. 올바르게 나오토록 설계한다. -쉬운코드- : DB 테이블(테이블(릴레이션)) 설계 잘못하면 ..
| 니앙팽이 - 객체지향(OOP) | 4-9 | 유용한 패턴들 - Subclass Sandbox, Event queue, Object Pool
·
CS/SW 공학
📕 4. 객체지향 디자인 패턴유니티에서 사용하면 좋을 디자인 패턴만 명시한다.📄 6. 그밖에 Unity에 유용한 패턴1). ✨ Subclass Sandbox ✨ : Behavioral Patterns상위 클래스가 제공하는 기능들을 통해서 하위 클래스에서 행동을 정의한다.ⓐ 특징# abstract & override #protected #subclass실제 구현부, 메인이 되는 객체가 파생클래스다.그럼 상위클래스가 제공하는것은 뭔가?상위 클래스는 하위 클래스가 필요로 하는 기능을 전부 제공할 수 있다.상위 클래스는 하위 클래스용 메소드인 Sandbox 메소드를 제공한다.sandbox 가 의미하는것.추상 원시 메소드.protected로 만들어져 하위 클래스용이라는 걸 분명히 한다.하위 클래스에서 구현할때 아..
| 니앙팽이 - 객체지향(OOP) | 4-8 | 행동패턴 - State pattern
·
CS/SW 공학
📕 4. 객체지향 디자인 패턴유니티에서 사용하면 좋을 디자인 패턴만 명시한다.📄 5. 행동 패턴클래스와 객체간 서로 상호작용하는 방법이나 책임 분배 방법을 정의 하나의 객체로 수행할 수 없는작업을 여러 객체로 분해하면서 결합도를 낮출수 있음3). State Pattern ⓐ 특징"상태"를 객체화한 패턴이다. 이 상태라는것도 참조가능하다.상태에 따라 객체의 행위 내용을 변경해주는 패턴메인 캐릭터가 가질만한 상태를 생각해보자. jump, walk, run 등등.. 이러한 상태를 손쉽게 switcing 하고 싶을떄. 제안하는 패턴이다.오토마타의 state machine와 관련이 깊다.FSM 유한상태기계의 기초 & 유니티 설계 이론.ⓑ 왜 쓰는가?if 조건절이 많을때 사용하면 유용하다.객체의 상태에 따라 동일한..